static void raven_realize(PCIDevice *d, Error **errp)

{

    RavenPCIState *s = RAVEN_PCI_DEVICE(d);

    char *filename;

    int bios_size = -1;



    d->config[0x0C] = 0x08; // cache_line_size

    d->config[0x0D] = 0x10; // latency_timer

    d->config[0x34] = 0x00; // capabilities_pointer



    memory_region_init_ram(&s->bios, OBJECT(s), "bios", BIOS_SIZE,

                           &error_abort);

    memory_region_set_readonly(&s->bios, true);

    memory_region_add_subregion(get_system_memory(), (uint32_t)(-BIOS_SIZE),

                                &s->bios);

    vmstate_register_ram_global(&s->bios);

    if (s->bios_name) {

        filename = qemu_find_file(QEMU_FILE_TYPE_BIOS, s->bios_name);

        if (filename) {

            if (s->elf_machine != EM_NONE) {

                bios_size = load_elf(filename, NULL, NULL, NULL,

                                     NULL, NULL, 1, s->elf_machine, 0);

            }

            if (bios_size < 0) {

                bios_size = get_image_size(filename);

                if (bios_size > 0 && bios_size <= BIOS_SIZE) {

                    hwaddr bios_addr;

                    bios_size = (bios_size + 0xfff) & ~0xfff;

                    bios_addr = (uint32_t)(-BIOS_SIZE);

                    bios_size = load_image_targphys(filename, bios_addr,

                                                    bios_size);

                }

            }

        }

        if (bios_size < 0 || bios_size > BIOS_SIZE) {

            hw_error("qemu: could not load bios image '%s'\n", s->bios_name);

        }

        g_free(filename);

    }

}

static void raven_realize(PCIDevice *d, Error **errp)

{

    RavenPCIState *s = RAVEN_PCI_DEVICE(d);

    char *filename;

    int bios_size = -1;



    d->config[0x0C] = 0x08; 

    d->config[0x0D] = 0x10; 

    d->config[0x34] = 0x00; 



    memory_region_init_ram(&s->bios, OBJECT(s), "bios", BIOS_SIZE,

                           &error_abort);

    memory_region_set_readonly(&s->bios, true);

    memory_region_add_subregion(get_system_memory(), (uint32_t)(-BIOS_SIZE),

                                &s->bios);

    vmstate_register_ram_global(&s->bios);

    if (s->bios_name) {

        filename = qemu_find_file(QEMU_FILE_TYPE_BIOS, s->bios_name);

        if (filename) {

            if (s->elf_machine != EM_NONE) {

                bios_size = load_elf(filename, NULL, NULL, NULL,

                                     NULL, NULL, 1, s->elf_machine, 0);

            }

            if (bios_size < 0) {

                bios_size = get_image_size(filename);

                if (bios_size > 0 && bios_size <= BIOS_SIZE) {

                    hwaddr bios_addr;

                    bios_size = (bios_size + 0xfff) & ~0xfff;

                    bios_addr = (uint32_t)(-BIOS_SIZE);

                    bios_size = load_image_targphys(filename, bios_addr,

                                                    bios_size);

                }

            }

        }

        if (bios_size < 0 || bios_size > BIOS_SIZE) {

            hw_error("qemu: could not load bios image '%s'\n", s->bios_name);

        }

        g_free(filename);

    }

}

                           &error_abort);                            &error_abort);                            &error_abort);                            &error_abort);                            &error_abort);                            &error_abort);                            &error_abort);                            &error_abort);                            &error_abort);                            &error_abort);                            &error_abort);                            &error_abort);                            &error_abort);                            &error_abort);                            &error_abort);                            &error_abort);                            &error_abort);                            &error_abort);                            &error_abort);                            &error_abort);                            &error_abort);                            &error_abort);                            &error_abort);                            &error_abort);                            &error_abort);                            &error_abort);                            &error_abort);                            &error_abort);                            &error_abort);                            &error_abort);                            &error_abort);                            &error_abort);                            &error_abort);                            &error_abort);                            &error_abort);                            &error_abort);                            &error_abort);                            &error_abort);                            &error_abort);                            &error_abort);                            &error_abort);                            &error_abort);                            &error_abort);                            &error_abort);                            &error_abort);                            &error_abort);                            &error_abort);                            &error_abort);                            &error_abort);
static void FUNC_0(PCIDevice *VAR_0, Error **VAR_1)

{

    RavenPCIState *s = RAVEN_PCI_DEVICE(VAR_0);

    char *VAR_2;

    int VAR_3 = -1;



    VAR_0->config[0x0C] = 0x08; 

    VAR_0->config[0x0D] = 0x10; 

    VAR_0->config[0x34] = 0x00; 



    memory_region_init_ram(&s->bios, OBJECT(s), "bios", BIOS_SIZE,

                           &error_abort);

    memory_region_set_readonly(&s->bios, true);

    memory_region_add_subregion(get_system_memory(), (uint32_t)(-BIOS_SIZE),

                                &s->bios);

    vmstate_register_ram_global(&s->bios);

    if (s->bios_name) {

        VAR_2 = qemu_find_file(QEMU_FILE_TYPE_BIOS, s->bios_name);

        if (VAR_2) {

            if (s->elf_machine != EM_NONE) {

                VAR_3 = load_elf(VAR_2, NULL, NULL, NULL,

                                     NULL, NULL, 1, s->elf_machine, 0);

            }

            if (VAR_3 < 0) {

                VAR_3 = get_image_size(VAR_2);

                if (VAR_3 > 0 && VAR_3 <= BIOS_SIZE) {

                    hwaddr bios_addr;

                    VAR_3 = (VAR_3 + 0xfff) & ~0xfff;

                    bios_addr = (uint32_t)(-BIOS_SIZE);

                    VAR_3 = load_image_targphys(VAR_2, bios_addr,

                                                    VAR_3);

                }

            }

        }

        if (VAR_3 < 0 || VAR_3 > BIOS_SIZE) {

            hw_error("qemu: could not load bios image '%s'\n", s->bios_name);

        }

        g_free(VAR_2);

    }

}

static void FUNC_0(PCIDevice *VAR_0, Error **VAR_1)
{ RavenPCIState *s = RAVEN_PCI_DEVICE(VAR_0); char *VAR_2; int VAR_3 = -1; VAR_0->config[0x0C] = 0x08; VAR_0->config[0x0D] = 0x10; VAR_0->config[0x34] = 0x00; memory_region_init_ram(&s->bios, OBJECT(s), "bios", BIOS_SIZE,
&error_abort); memory_region_set_readonly(&s->bios, true); memory_region_add_subregion(get_system_memory(), (uint32_t)(-BIOS_SIZE),
&s->bios); vmstate_register_ram_global(&s->bios); if (s->bios_name) { VAR_2 = qemu_find_file(QEMU_FILE_TYPE_BIOS, s->bios_name); if (VAR_2) { if (s->elf_machine != EM_NONE) { VAR_3 = load_elf(VAR_2, NULL, NULL, NULL,
NULL, NULL, 1, s->elf_machine, 0); } if (VAR_3 < 0) { VAR_3 = get_image_size(VAR_2); if (VAR_3 > 0 && VAR_3 <= BIOS_SIZE) { hwaddr bios_addr; VAR_3 = (VAR_3 + 0xfff) & ~0xfff; bios_addr = (uint32_t)(-BIOS_SIZE); VAR_3 = load_image_targphys(VAR_2, bios_addr,
VAR_3); } } } if (VAR_3 < 0 || VAR_3 > BIOS_SIZE) { hw_error("qemu: could not load bios image '%s'\n", s->bios_name); } g_free(VAR_2); } }