sPAPRTCETable *spapr_tce_new_table(DeviceState *owner, uint32_t liobn,

                                   uint64_t bus_offset,

                                   uint32_t page_shift,

                                   uint32_t nb_table,

                                   bool vfio_accel)

{

    sPAPRTCETable *tcet;

    char tmp[64];



    if (spapr_tce_find_by_liobn(liobn)) {

        fprintf(stderr, "Attempted to create TCE table with duplicate"

                " LIOBN 0x%x\n", liobn);

        return NULL;

    }



    if (!nb_table) {

        return NULL;

    }



    tcet = SPAPR_TCE_TABLE(object_new(TYPE_SPAPR_TCE_TABLE));

    tcet->liobn = liobn;

    tcet->bus_offset = bus_offset;

    tcet->page_shift = page_shift;

    tcet->nb_table = nb_table;

    tcet->vfio_accel = vfio_accel;



    snprintf(tmp, sizeof(tmp), "tce-table-%x", liobn);

    object_property_add_child(OBJECT(owner), tmp, OBJECT(tcet), NULL);



    object_property_set_bool(OBJECT(tcet), true, "realized", NULL);



    return tcet;

}

sPAPRTCETable *spapr_tce_new_table(DeviceState *owner, uint32_t liobn,

                                   uint64_t bus_offset,

                                   uint32_t page_shift,

                                   uint32_t nb_table,

                                   bool vfio_accel)

{

    sPAPRTCETable *tcet;

    char tmp[64];



    if (spapr_tce_find_by_liobn(liobn)) {

        fprintf(stderr, "Attempted to create TCE table with duplicate"

                " LIOBN 0x%x\n", liobn);

        return NULL;

    }



    if (!nb_table) {

        return NULL;

    }



    tcet = SPAPR_TCE_TABLE(object_new(TYPE_SPAPR_TCE_TABLE));

    tcet->liobn = liobn;

    tcet->bus_offset = bus_offset;

    tcet->page_shift = page_shift;

    tcet->nb_table = nb_table;

    tcet->vfio_accel = vfio_accel;



    snprintf(tmp, sizeof(tmp), "tce-table-%x", liobn);

    object_property_add_child(OBJECT(owner), tmp, OBJECT(tcet), NULL);



    object_property_set_bool(OBJECT(tcet), true, "realized", NULL);



    return tcet;

}

sPAPRTCETable *FUNC_0(DeviceState *owner, uint32_t liobn,

                                   uint64_t bus_offset,

                                   uint32_t page_shift,

                                   uint32_t nb_table,

                                   bool vfio_accel)

{

    sPAPRTCETable *tcet;

    char VAR_0[64];



    if (spapr_tce_find_by_liobn(liobn)) {

        fprintf(stderr, "Attempted to create TCE table with duplicate"

                " LIOBN 0x%x\n", liobn);

        return NULL;

    }



    if (!nb_table) {

        return NULL;

    }



    tcet = SPAPR_TCE_TABLE(object_new(TYPE_SPAPR_TCE_TABLE));

    tcet->liobn = liobn;

    tcet->bus_offset = bus_offset;

    tcet->page_shift = page_shift;

    tcet->nb_table = nb_table;

    tcet->vfio_accel = vfio_accel;



    snprintf(VAR_0, sizeof(VAR_0), "tce-table-%x", liobn);

    object_property_add_child(OBJECT(owner), VAR_0, OBJECT(tcet), NULL);



    object_property_set_bool(OBJECT(tcet), true, "realized", NULL);



    return tcet;

}

sPAPRTCETable *FUNC_0(DeviceState *owner, uint32_t liobn,
uint64_t bus_offset,
uint32_t page_shift,
uint32_t nb_table,
bool vfio_accel)
{ sPAPRTCETable *tcet; char VAR_0[64]; if (spapr_tce_find_by_liobn(liobn)) { fprintf(stderr, "Attempted to create TCE table with duplicate"
" LIOBN 0x%x\n", liobn); return NULL; } if (!nb_table) { return NULL; } tcet = SPAPR_TCE_TABLE(object_new(TYPE_SPAPR_TCE_TABLE)); tcet->liobn = liobn; tcet->bus_offset = bus_offset; tcet->page_shift = page_shift; tcet->nb_table = nb_table; tcet->vfio_accel = vfio_accel; snprintf(VAR_0, sizeof(VAR_0), "tce-table-%x", liobn); object_property_add_child(OBJECT(owner), VAR_0, OBJECT(tcet), NULL); object_property_set_bool(OBJECT(tcet), true, "realized", NULL); return tcet; }