【QEMU系统分析之实例篇(六)】

系列文章目录

第六章 QEMU系统仿真的机器创建分析实例


文章目录


前言

本文以 QEMU 8.2.2 为例,分析其作为系统仿真工具的工作过程,并为读者展示各种 QEMU 系统仿真的启动配置实例。

本文读者需要具备一定的 QEMU 系统仿真使用经验,并对 C 语言编程有一定了解。


一、QEMU是什么?

QEMU 是一个通用且开源的机器模拟器和虚拟机。

其官方主页是:https://www.qemu.org/


二、QEMU系统仿真的机器创建分析实例

1.系统仿真的命令行参数

QEMU 作为系统仿真工具,其入口代码在 system/main.c 文件中,初始化函数 qemu_init() 的实现在 system/vl.c 文件中。

本文将分析以下命令创建目标系统机器的运行过程,读者需要对 QEMU 系统启动过程的程序代码有所了解,相关内容可以参考《QEMU系统分析之启动篇》系列文章。

bash 复制代码
..\qemu\8.2.2-qkd\qemu-system-x86_64.exe -cpu "Penryn" -M  "q35,accel=whpx" -m "6G" -nodefaults

2.目标机器创建过程

这部分代码在 system/vl.c 文件中,实现如下:

c 复制代码
int qemu_init(int argc, char **argv)
{
...
    qemu_create_machine(machine_opts_dict);
...
}

进入 qemu_create_machine() 后,第一步就是获取目标机器类型,代码如下:

c 复制代码
static void qemu_create_machine(QDict *qdict)
{
    MachineClass *machine_class = select_machine(qdict, &error_fatal);
...
}

根据前文调试我们已经知道,目标机器 "pc-q35-8.2-machine" 的初始化工作工作主要在 /hw/i386/pc.c 文件的 static void pc_machine_initfn() 函数中完成,本文将逐条分析该函数的执行过程。


3.static void pc_machine_initfn(Object *obj)

函数 static void pc_machine_initfn() 在 /hw/i386/pc.c 文件,定义如下:

c 复制代码
static void pc_machine_initfn(Object *obj)
{
    HUEDBG("enter\n");
    PCMachineState *pcms = PC_MACHINE(obj);
    PCMachineClass *pcmc = PC_MACHINE_GET_CLASS(pcms);

#ifdef CONFIG_VMPORT
    pcms->vmport = ON_OFF_AUTO_AUTO;
#else
    pcms->vmport = ON_OFF_AUTO_OFF;
#endif /* CONFIG_VMPORT */
    pcms->max_ram_below_4g = 0; /* use default */
    pcms->smbios_entry_point_type = pcmc->default_smbios_ep_type;
    pcms->south_bridge = pcmc->default_south_bridge;

    /* acpi build is enabled by default if machine supports it */
    pcms->acpi_build_enabled = pcmc->has_acpi_build;
    pcms->smbus_enabled = true;
    pcms->sata_enabled = true;
    pcms->i8042_enabled = true;
    pcms->max_fw_size = 8 * MiB;
#ifdef CONFIG_HPET
    pcms->hpet_enabled = true;
#endif
    pcms->default_bus_bypass_iommu = false;

    pc_system_flash_create(pcms);
    pcms->pcspk = isa_new(TYPE_PC_SPEAKER);
    object_property_add_alias(OBJECT(pcms), "pcspk-audiodev",
                              OBJECT(pcms->pcspk), "audiodev");
    cxl_machine_init(obj, &pcms->cxl_devices_state);
    HUEDBG("return\n");
}

前文我们已经分析了 pcms 和 pcmc 的生成过程,接下来我们进入函数 pc_system_flash_create(pcms) 创建 pflash 设备。

pc_system_flash_create(pcms)

函数 pc_system_flash_create() 在 /hw/i386/pc_sysfw.c 文件中,定义如下:

c 复制代码
void pc_system_flash_create(PCMachineState *pcms)
{
    PCMachineClass *pcmc = PC_MACHINE_GET_CLASS(pcms);

    if (pcmc->pci_enabled) {
        pcms->flash[0] = pc_pflash_create(pcms, "system.flash0",
                                          "pflash0");
        pcms->flash[1] = pc_pflash_create(pcms, "system.flash1",
                                          "pflash1");
    }
}

在 PCI 开启的情况下,将调用函数 pc_pflash_create() 完成 flash 的创建工作。


pc_pflash_create()

函数 pc_pflash_create() 在 /hw/i386/pc_sysfw.c 文件中,定义如下:

c 复制代码
static PFlashCFI01 *pc_pflash_create(PCMachineState *pcms,
                                     const char *name,
                                     const char *alias_prop_name)
{
...
    huedbg_flag = 1;
    HUEDBG("run\n");
    pc_system_flash_create(pcms);
    HUEDBG("run\n");
    huedbg_flag = 0;
...
}

void pc_system_flash_create(PCMachineState *pcms)
{
    HUEDBG("enter\n");
    PCMachineClass *pcmc = PC_MACHINE_GET_CLASS(pcms);

    HUEDBG("pcmc->pci_enabled=[%d]\n", pcmc->pci_enabled);

    if (pcmc->pci_enabled) {
        HUEDBG("run\n");
        pcms->flash[0] = pc_pflash_create(pcms, "system.flash0",
                                          "pflash0");
        huedbg_dump_PFlashCFI01(pcms->flash[0]);
        HUEDBG("run\n");
        pcms->flash[1] = pc_pflash_create(pcms, "system.flash1",
                                          "pflash1");
        huedbg_dump_PFlashCFI01(pcms->flash[1]);
    }
    HUEDBG("return\n");
}

函数 huedbg_dump_PFlashCFI01() 定义如下:

c 复制代码
void huedbg_dump_PFlashCFI01(PFlashCFI01 *pfl)
{
    int i;
#if 0
// from hw/block/plash_cfi01.c
struct PFlashCFI01 {
    /*< private >*/
    SysBusDevice parent_obj;
    /*< public >*/

    BlockBackend *blk;
    uint32_t nb_blocs;
    uint64_t sector_len;
    uint8_t bank_width;
    uint8_t device_width; /* If 0, device width not specified. */
    uint8_t max_device_width;  /* max device width in bytes */
    uint32_t features;
    uint8_t wcycle; /* if 0, the flash is read normally */
    bool ro;
    uint8_t cmd;
    uint8_t status;
    uint16_t ident0;
    uint16_t ident1;
    uint16_t ident2;
    uint16_t ident3;
    uint8_t cfi_table[0x52];
    uint64_t counter;
    uint32_t writeblock_size;
    MemoryRegion mem;
    char *name;
    void *storage;
    VMChangeStateEntry *vmstate;
    bool old_multiple_chip_handling;

    /* block update buffer */
    unsigned char *blk_bytes;
    uint32_t blk_offset;
};
#endif

    HUEDBG("blk=[%p]\n", pfl->blk);
    HUEDBG("sector_len=[%llu]\n", pfl->sector_len);
    HUEDBG("nb_blocks=[%u]\n", pfl->nb_blocs);
    HUEDBG("bank_width=[%u]\n", pfl->bank_width);
    HUEDBG("device_width=[%u]\n", pfl->device_width);
    HUEDBG("max_device_width=[%u]\n", pfl->max_device_width);
    HUEDBG("features=[%u]\n", pfl->features);
    HUEDBG("wcycle=[%u]\n", pfl->wcycle);
    HUEDBG("ro=[%u]\n", pfl->ro);
    HUEDBG("cmd=[%u]\n", pfl->cmd);
    HUEDBG("status=[%u]\n", pfl->status);
    HUEDBG("ident0=[%u]\n", pfl->ident0);
    HUEDBG("ident1=[%u]\n", pfl->ident1);
    HUEDBG("ident2=[%u]\n", pfl->ident2);
    HUEDBG("ident3=[%u]\n", pfl->ident3);
    HUEDBG("cfi_table=[\n");
    for (i = 1; i <= sizeof(pfl->cfi_table); i++) {
        if (((i % 16) == 0) || (i == sizeof(pfl->cfi_table))) {
            HUEDBG_RAW("%02x\n", pfl->cfi_table[i]);
        } else {
            HUEDBG_RAW("%02x ", pfl->cfi_table[i]);
        }
    }
    HUEDBG("]=cfi_table\n");
    HUEDBG("counter=[%llu]\n", pfl->counter);
    HUEDBG("writeblock_size=[%u]\n", pfl->writeblock_size);
    HUEDBG("mem=[%p]\n", &pfl->mem);
    huedbg_dump_MemoryRegion(&pfl->mem);
    HUEDBG("name=[%s]\n", pfl->name);
    HUEDBG("storage=[%p]\n", pfl->storage);
    HUEDBG("vmstate=[%p]\n", pfl->vmstate);
    HUEDBG("old_multiple_chip_handling=[%u]\n", pfl->old_multiple_chip_handling);
    HUEDBG("blk_bytes=[%p]\n", pfl->blk_bytes);
    HUEDBG("blk_offset=[%u]\n", pfl->blk_offset);
}

调试输出

运行后结果如下:

bash 复制代码
D:\qkd-app\vmos>..\qemu\8.2.2-qkd\qemu-system-x86_64.exe -cpu "Penryn" -M  "q35,accel=whpx,smm=off" -m "6G" -audio "sdl,model=hda" -vga "std" -L "data" -nodefaults
[24644]../hw/i386/pc.c/pc_machine_initfn(1756):run
[24644]../hw/i386/pc_sysfw.c/pc_system_flash_create(106):enter
[24644]../qom/object.c/type_table_lookup(103):lookup type(generic-pc-machine) in hash table
[24644]../qom/object.c/type_get_parent(194):parent_type(x86-machine)
[24644]../qom/object.c/type_get_parent(194):parent_type(machine)
[24644]../qom/object.c/type_get_parent(194):parent_type(object)
[24644]../qom/object.c/type_get_parent(196):no parent_type
[24644]../qom/object.c/type_get_parent(194):parent_type(generic-pc-machine)
[24644]../hw/i386/pc_sysfw.c/pc_system_flash_create(109):pcmc->pci_enabled=[1]
[24644]../hw/i386/pc_sysfw.c/pc_system_flash_create(112):run
[24644]../hw/i386/pc_sysfw.c/pc_pflash_create(81):enter
[24644]../qom/object.c/type_table_lookup(103):lookup type(cfi.pflash01) in hash table
[24644]../qom/object.c/type_table_lookup(103):lookup type(cfi.pflash01) in hash table
[24644]../qom/object.c/object_new_with_type(789):try type_initialize(cfi.pflash01)
[24644]../qom/object.c/object_new_with_type(799):obj(cfi.pflash01) alloc
[24644]../qom/object.c/object_new_with_type(808):try object_initialize_with_type(cfi.pflash01)
[24644]../qom/object.c/object_initialize_with_type(568):obj with type(cfi.pflash01) enter
[24644]../qom/object.c/object_initialize_with_type(576):mapping obj(cfi.pflash01).class with type(cfi.pflash01).class
[24644]../qom/object.c/object_initialize_with_type(579):try object_class_property_init_all(cfi.pflash01)
[24644]../qom/object.c/object_class_property_init_all(552):obj(cfi.pflash01) enter
[24644]../qom/object.c/object_class_property_iter_init(1438):objclass{cfi.pflash01} enter
[24644]../qom/object.c/object_class_get_parent(1127):enter
[24644]../qom/object.c/type_get_parent(194):parent_type(sys-bus-device)
[24644]../qom/object.c/object_class_get_parent(1136):objclass(cfi.pflash01) has parent(sys-bus-device)
[24644]../qom/object.c/object_class_get_parent(1139):objclass(cfi.pflash01) return
[24644]../qom/object.c/object_class_property_iter_init(1441):objclass{cfi.pflash01} return
[24644]../qom/object.c/object_class_property_init_all(555):prop name=[id1] type=[uint16] desc=[(null)] init=[00007ff73f4aafb0]
[24644]../qom/object.c/object_class_property_init_all(558):before obj(cfi.pflash01).prop(id1) init()
[24644]../qom/object.c/type_table_lookup(103):lookup type(device) in hash table
[24644]../qom/object.c/type_get_parent(194):parent_type(object)
[24644]../qom/object.c/type_get_parent(196):no parent_type
[24644]../qom/object.c/type_get_parent(194):parent_type(sys-bus-device)
[24644]../qom/object.c/type_get_parent(194):parent_type(device)
[24644]../qom/object.c/object_class_property_init_all(560):after obj(cfi.pflash01).prop(id1) init()
[24644]../qom/object.c/object_class_property_init_all(555):prop name=[id0] type=[uint16] desc=[(null)] init=[00007ff73f4aafb0]
[24644]../qom/object.c/object_class_property_init_all(558):before obj(cfi.pflash01).prop(id0) init()
[24644]../qom/object.c/object_class_property_init_all(560):after obj(cfi.pflash01).prop(id0) init()
[24644]../qom/object.c/object_class_property_init_all(555):prop name=[width] type=[uint8] desc=[(null)] init=[00007ff73f4aafb0]
[24644]../qom/object.c/object_class_property_init_all(558):before obj(cfi.pflash01).prop(width) init()
[24644]../qom/object.c/object_class_property_init_all(560):after obj(cfi.pflash01).prop(width) init()
[24644]../qom/object.c/object_class_property_init_all(555):prop name=[device-width] type=[uint8] desc=[(null)] init=[00007ff73f4aafb0]
[24644]../qom/object.c/object_class_property_init_all(558):before obj(cfi.pflash01).prop(device-width) init()
[24644]../qom/object.c/object_class_property_init_all(560):after obj(cfi.pflash01).prop(device-width) init()
[24644]../qom/object.c/object_class_property_init_all(555):prop name=[sector-length] type=[uint64] desc=[(null)] init=[00007ff73f4aafb0]
[24644]../qom/object.c/object_class_property_init_all(558):before obj(cfi.pflash01).prop(sector-length) init()
[24644]../qom/object.c/object_class_property_init_all(560):after obj(cfi.pflash01).prop(sector-length) init()
[24644]../qom/object.c/object_class_property_init_all(555):prop name=[drive] type=[str] desc=[Node name or ID of a block device to use as a backend] init=[0000000000000000]
[24644]../qom/object.c/object_class_property_init_all(555):prop name=[name] type=[str] desc=[(null)] init=[0000000000000000]
[24644]../qom/object.c/object_class_property_init_all(555):prop name=[old-multiple-chip-handling] type=[bool] desc=[(null)] init=[00007ff73f4aafb0]
[24644]../qom/object.c/object_class_property_init_all(558):before obj(cfi.pflash01).prop(old-multiple-chip-handling) init()
[24644]../qom/object.c/object_class_property_init_all(560):after obj(cfi.pflash01).prop(old-multiple-chip-handling) init()
[24644]../qom/object.c/object_class_property_init_all(555):prop name=[max-device-width] type=[uint8] desc=[(null)] init=[00007ff73f4aafb0]
[24644]../qom/object.c/object_class_property_init_all(558):before obj(cfi.pflash01).prop(max-device-width) init()
[24644]../qom/object.c/object_class_property_init_all(560):after obj(cfi.pflash01).prop(max-device-width) init()
[24644]../qom/object.c/object_class_property_init_all(555):prop name=[num-blocks] type=[uint32] desc=[(null)] init=[00007ff73f4aafb0]
[24644]../qom/object.c/object_class_property_init_all(558):before obj(cfi.pflash01).prop(num-blocks) init()
[24644]../qom/object.c/object_class_property_init_all(560):after obj(cfi.pflash01).prop(num-blocks) init()
[24644]../qom/object.c/object_class_property_init_all(555):prop name=[big-endian] type=[bool] desc=[on/off] init=[00007ff73f4aafb0]
[24644]../qom/object.c/object_class_property_init_all(558):before obj(cfi.pflash01).prop(big-endian) init()
[24644]../qom/object.c/object_class_property_init_all(560):after obj(cfi.pflash01).prop(big-endian) init()
[24644]../qom/object.c/object_class_property_init_all(555):prop name=[secure] type=[bool] desc=[on/off] init=[00007ff73f4aafb0]
[24644]../qom/object.c/object_class_property_init_all(558):before obj(cfi.pflash01).prop(secure) init()
[24644]../qom/object.c/object_class_property_init_all(560):after obj(cfi.pflash01).prop(secure) init()
[24644]../qom/object.c/object_class_property_init_all(555):prop name=[id2] type=[uint16] desc=[(null)] init=[00007ff73f4aafb0]
[24644]../qom/object.c/object_class_property_init_all(558):before obj(cfi.pflash01).prop(id2) init()
[24644]../qom/object.c/object_class_property_init_all(560):after obj(cfi.pflash01).prop(id2) init()
[24644]../qom/object.c/object_class_property_init_all(555):prop name=[id3] type=[uint16] desc=[(null)] init=[00007ff73f4aafb0]
[24644]../qom/object.c/object_class_property_init_all(558):before obj(cfi.pflash01).prop(id3) init()
[24644]../qom/object.c/object_class_property_init_all(560):after obj(cfi.pflash01).prop(id3) init()
[24644]../qom/object.c/object_class_get_parent(1127):enter
[24644]../qom/object.c/type_get_parent(194):parent_type(device)
[24644]../qom/object.c/object_class_get_parent(1136):objclass(sys-bus-device) has parent(device)
[24644]../qom/object.c/object_class_get_parent(1139):objclass(sys-bus-device) return
[24644]../qom/object.c/object_class_get_parent(1127):enter
[24644]../qom/object.c/type_get_parent(194):parent_type(object)
[24644]../qom/object.c/object_class_get_parent(1136):objclass(device) has parent(object)
[24644]../qom/object.c/object_class_get_parent(1139):objclass(device) return
[24644]../qom/object.c/object_class_property_init_all(555):prop name=[hotpluggable] type=[bool] desc=[(null)] init=[0000000000000000]
[24644]../qom/object.c/object_class_property_init_all(555):prop name=[hotplugged] type=[bool] desc=[(null)] init=[0000000000000000]
[24644]../qom/object.c/object_class_property_init_all(555):prop name=[realized] type=[bool] desc=[(null)] init=[0000000000000000]
[24644]../qom/object.c/object_class_property_init_all(555):prop name=[parent_bus] type=[link<bus>] desc=[(null)] init=[0000000000000000]
[24644]../qom/object.c/object_class_get_parent(1127):enter
[24644]../qom/object.c/type_get_parent(196):no parent_type
[24644]../qom/object.c/object_class_get_parent(1132):objclass(object) has no parent return
[24644]../qom/object.c/object_class_property_init_all(555):prop name=[type] type=[string] desc=[(null)] init=[0000000000000000]
[24644]../qom/object.c/object_class_property_init_all(563):obj(cfi.pflash01) return
[24644]../qom/object.c/object_initialize_with_type(583):try object_init_with_type(cfi.pflash01)
[24644]../qom/object.c/object_init_with_type(416):obj->class->type->name=[cfi.pflash01] ti->name=[cfi.pflash01] enter
[24644]../qom/object.c/type_get_parent(194):parent_type(sys-bus-device)
[24644]../qom/object.c/object_init_with_type(416):obj->class->type->name=[cfi.pflash01] ti->name=[sys-bus-device] enter
[24644]../qom/object.c/type_get_parent(194):parent_type(device)
[24644]../qom/object.c/object_init_with_type(416):obj->class->type->name=[cfi.pflash01] ti->name=[device] enter
[24644]../qom/object.c/type_get_parent(194):parent_type(object)
[24644]../qom/object.c/object_init_with_type(416):obj->class->type->name=[cfi.pflash01] ti->name=[object] enter
[24644]../qom/object.c/object_init_with_type(427):obj->class->type->name=[cfi.pflash01] ti->name=[object] return
[24644]../qom/object.c/object_init_with_type(423):name=[device] ti->instance_init() before
[24644]../qom/object.c/type_table_lookup(103):lookup type(device) in hash table
[24644]../qom/object.c/type_get_parent(194):parent_type(object)
[24644]../qom/object.c/type_get_parent(196):no parent_type
[24644]../qom/object.c/type_get_parent(194):parent_type(sys-bus-device)
[24644]../qom/object.c/type_get_parent(194):parent_type(device)
[24644]../qom/object.c/object_init_with_type(425):name=[device] ti->instance_init() after
[24644]../qom/object.c/object_init_with_type(427):obj->class->type->name=[cfi.pflash01] ti->name=[device] return
[24644]../qom/object.c/object_init_with_type(427):obj->class->type->name=[cfi.pflash01] ti->name=[sys-bus-device] return
[24644]../qom/object.c/object_init_with_type(427):obj->class->type->name=[cfi.pflash01] ti->name=[cfi.pflash01] return
[24644]../qom/object.c/object_initialize_with_type(585):try object_post_init_with_type(cfi.pflash01)
[24644]../qom/object.c/object_post_init_with_type(433):obj->class->type->name=[cfi.pflash01] ti->name=[cfi.pflash01] enter
[24644]../qom/object.c/type_get_parent(194):parent_type(sys-bus-device)
[24644]../qom/object.c/object_post_init_with_type(433):obj->class->type->name=[cfi.pflash01] ti->name=[sys-bus-device] enter
[24644]../qom/object.c/type_get_parent(194):parent_type(device)
[24644]../qom/object.c/object_post_init_with_type(433):obj->class->type->name=[cfi.pflash01] ti->name=[device] enter
[24644]../qom/object.c/object_post_init_with_type(436):name=[device] ti->instance_post_init() before
[24644]../qom/object.c/object_post_init_with_type(438):name=[device] ti->instance_post_init() after
[24644]../qom/object.c/type_get_parent(194):parent_type(object)
[24644]../qom/object.c/object_post_init_with_type(433):obj->class->type->name=[cfi.pflash01] ti->name=[object] enter
[24644]../qom/object.c/object_post_init_with_type(444):return
[24644]../qom/object.c/object_post_init_with_type(444):return
[24644]../qom/object.c/object_post_init_with_type(444):return
[24644]../qom/object.c/object_post_init_with_type(444):return
[24644]../qom/object.c/object_initialize_with_type(587):obj(cfi.pflash01) return
[24644]../qom/object.c/object_new_with_type(812):obj(cfi.pflash01) return
[24644]../hw/i386/pc_sysfw.c/pc_pflash_create(84):run
[24644]../hw/core/qdev-properties.c/qdev_prop_set_uint64(841):name=[sector-length], value=[4096]
[24644]../qom/qom-qobject.c/object_property_set_qobject(26):name=[sector-length] enter!
[24644]../qom/object.c/object_property_set(1505):name=[sector-length] enter!
[24644]../qom/object.c/object_property_set(1507):name=[sector-length] run!
[24644]../qom/object.c/object_class_get_parent(1127):enter
[24644]../qom/object.c/type_get_parent(194):parent_type(sys-bus-device)
[24644]../qom/object.c/object_class_get_parent(1136):objclass(cfi.pflash01) has parent(sys-bus-device)
[24644]../qom/object.c/object_class_get_parent(1139):objclass(cfi.pflash01) return
[24644]../qom/object.c/object_class_get_parent(1127):enter
[24644]../qom/object.c/type_get_parent(194):parent_type(device)
[24644]../qom/object.c/object_class_get_parent(1136):objclass(sys-bus-device) has parent(device)
[24644]../qom/object.c/object_class_get_parent(1139):objclass(sys-bus-device) return
[24644]../qom/object.c/object_class_get_parent(1127):enter
[24644]../qom/object.c/type_get_parent(194):parent_type(object)
[24644]../qom/object.c/object_class_get_parent(1136):objclass(device) has parent(object)
[24644]../qom/object.c/object_class_get_parent(1139):objclass(device) return
[24644]../qom/object.c/object_class_get_parent(1127):enter
[24644]../qom/object.c/type_get_parent(196):no parent_type
[24644]../qom/object.c/object_class_get_parent(1132):objclass(object) has no parent return
[24644]../qom/object.c/object_property_set(1509):name=[sector-length] run!
[24644]../qom/object.c/object_property_set(1522):name=[sector-length] run!
[24644]../qom/object.c/object_property_set(1524):name=[sector-length] return!
[24644]../qom/qom-qobject.c/object_property_set_qobject(33):name=[sector-length] return!
[24644]../hw/i386/pc_sysfw.c/pc_pflash_create(86):run
[24644]../hw/core/qdev-properties.c/qdev_prop_set_uint8(817):name=[width], value=[1]
[24644]../qom/qom-qobject.c/object_property_set_qobject(26):name=[width] enter!
[24644]../qom/object.c/object_property_set(1505):name=[width] enter!
[24644]../qom/object.c/object_property_set(1507):name=[width] run!
[24644]../qom/object.c/object_class_get_parent(1127):enter
[24644]../qom/object.c/type_get_parent(194):parent_type(sys-bus-device)
[24644]../qom/object.c/object_class_get_parent(1136):objclass(cfi.pflash01) has parent(sys-bus-device)
[24644]../qom/object.c/object_class_get_parent(1139):objclass(cfi.pflash01) return
[24644]../qom/object.c/object_class_get_parent(1127):enter
[24644]../qom/object.c/type_get_parent(194):parent_type(device)
[24644]../qom/object.c/object_class_get_parent(1136):objclass(sys-bus-device) has parent(device)
[24644]../qom/object.c/object_class_get_parent(1139):objclass(sys-bus-device) return
[24644]../qom/object.c/object_class_get_parent(1127):enter
[24644]../qom/object.c/type_get_parent(194):parent_type(object)
[24644]../qom/object.c/object_class_get_parent(1136):objclass(device) has parent(object)
[24644]../qom/object.c/object_class_get_parent(1139):objclass(device) return
[24644]../qom/object.c/object_class_get_parent(1127):enter
[24644]../qom/object.c/type_get_parent(196):no parent_type
[24644]../qom/object.c/object_class_get_parent(1132):objclass(object) has no parent return
[24644]../qom/object.c/object_property_set(1509):name=[width] run!
[24644]../qom/object.c/object_property_set(1522):name=[width] run!
[24644]../qom/object.c/object_property_set(1524):name=[width] return!
[24644]../qom/qom-qobject.c/object_property_set_qobject(33):name=[width] return!
[24644]../hw/i386/pc_sysfw.c/pc_pflash_create(88):run
[24644]../hw/core/qdev-properties.c/qdev_prop_set_string(847):name=[name], value=[system.flash0]
[24644]../qom/qom-qobject.c/object_property_set_qobject(26):name=[name] enter!
[24644]../qom/object.c/object_property_set(1505):name=[name] enter!
[24644]../qom/object.c/object_property_set(1507):name=[name] run!
[24644]../qom/object.c/object_class_get_parent(1127):enter
[24644]../qom/object.c/type_get_parent(194):parent_type(sys-bus-device)
[24644]../qom/object.c/object_class_get_parent(1136):objclass(cfi.pflash01) has parent(sys-bus-device)
[24644]../qom/object.c/object_class_get_parent(1139):objclass(cfi.pflash01) return
[24644]../qom/object.c/object_class_get_parent(1127):enter
[24644]../qom/object.c/type_get_parent(194):parent_type(device)
[24644]../qom/object.c/object_class_get_parent(1136):objclass(sys-bus-device) has parent(device)
[24644]../qom/object.c/object_class_get_parent(1139):objclass(sys-bus-device) return
[24644]../qom/object.c/object_class_get_parent(1127):enter
[24644]../qom/object.c/type_get_parent(194):parent_type(object)
[24644]../qom/object.c/object_class_get_parent(1136):objclass(device) has parent(object)
[24644]../qom/object.c/object_class_get_parent(1139):objclass(device) return
[24644]../qom/object.c/object_class_get_parent(1127):enter
[24644]../qom/object.c/type_get_parent(196):no parent_type
[24644]../qom/object.c/object_class_get_parent(1132):objclass(object) has no parent return
[24644]../qom/object.c/object_property_set(1509):name=[name] run!
[24644]../qom/object.c/object_property_set(1522):name=[name] run!
[24644]../qom/object.c/object_property_set(1524):name=[name] return!
[24644]../qom/qom-qobject.c/object_property_set_qobject(33):name=[name] return!
[24644]../hw/i386/pc_sysfw.c/pc_pflash_create(90):run
[24644]../qom/object.c/object_property_try_add(1307):name=[system.flash0] enter!
[24644]../qom/object.c/object_class_get_parent(1127):enter
[24644]../qom/object.c/type_get_parent(194):parent_type(generic-pc-machine)
[24644]../qom/object.c/object_class_get_parent(1136):objclass(pc-q35-8.2-machine) has parent(generic-pc-machine)
[24644]../qom/object.c/object_class_get_parent(1139):objclass(pc-q35-8.2-machine) return
[24644]../qom/object.c/object_class_get_parent(1127):enter
[24644]../qom/object.c/type_get_parent(194):parent_type(x86-machine)
[24644]../qom/object.c/object_class_get_parent(1136):objclass(generic-pc-machine) has parent(x86-machine)
[24644]../qom/object.c/object_class_get_parent(1139):objclass(generic-pc-machine) return
[24644]../qom/object.c/object_class_get_parent(1127):enter
[24644]../qom/object.c/type_get_parent(194):parent_type(machine)
[24644]../qom/object.c/object_class_get_parent(1136):objclass(x86-machine) has parent(machine)
[24644]../qom/object.c/object_class_get_parent(1139):objclass(x86-machine) return
[24644]../qom/object.c/object_class_get_parent(1127):enter
[24644]../qom/object.c/type_get_parent(194):parent_type(object)
[24644]../qom/object.c/object_class_get_parent(1136):objclass(machine) has parent(object)
[24644]../qom/object.c/object_class_get_parent(1139):objclass(machine) return
[24644]../qom/object.c/object_class_get_parent(1127):enter
[24644]../qom/object.c/type_get_parent(196):no parent_type
[24644]../qom/object.c/object_class_get_parent(1132):objclass(object) has no parent return
[24644]../qom/object.c/object_property_try_add(1348):name=[system.flash0] return-3!
[24644]../hw/i386/pc_sysfw.c/pc_pflash_create(92):run
[24644]../qom/object.c/object_class_get_parent(1127):enter
[24644]../qom/object.c/type_get_parent(194):parent_type(sys-bus-device)
[24644]../qom/object.c/object_class_get_parent(1136):objclass(cfi.pflash01) has parent(sys-bus-device)
[24644]../qom/object.c/object_class_get_parent(1139):objclass(cfi.pflash01) return
[24644]../qom/object.c/object_class_get_parent(1127):enter
[24644]../qom/object.c/type_get_parent(194):parent_type(device)
[24644]../qom/object.c/object_class_get_parent(1136):objclass(sys-bus-device) has parent(device)
[24644]../qom/object.c/object_class_get_parent(1139):objclass(sys-bus-device) return
[24644]../qom/object.c/object_class_get_parent(1127):enter
[24644]../qom/object.c/type_get_parent(194):parent_type(object)
[24644]../qom/object.c/object_class_get_parent(1136):objclass(device) has parent(object)
[24644]../qom/object.c/object_class_get_parent(1139):objclass(device) return
[24644]../qom/object.c/object_class_get_parent(1127):enter
[24644]../qom/object.c/type_get_parent(196):no parent_type
[24644]../qom/object.c/object_class_get_parent(1132):objclass(object) has no parent return
[24644]../qom/object.c/object_property_try_add(1307):name=[pflash0] enter!
[24644]../qom/object.c/object_class_get_parent(1127):enter
[24644]../qom/object.c/type_get_parent(194):parent_type(generic-pc-machine)
[24644]../qom/object.c/object_class_get_parent(1136):objclass(pc-q35-8.2-machine) has parent(generic-pc-machine)
[24644]../qom/object.c/object_class_get_parent(1139):objclass(pc-q35-8.2-machine) return
[24644]../qom/object.c/object_class_get_parent(1127):enter
[24644]../qom/object.c/type_get_parent(194):parent_type(x86-machine)
[24644]../qom/object.c/object_class_get_parent(1136):objclass(generic-pc-machine) has parent(x86-machine)
[24644]../qom/object.c/object_class_get_parent(1139):objclass(generic-pc-machine) return
[24644]../qom/object.c/object_class_get_parent(1127):enter
[24644]../qom/object.c/type_get_parent(194):parent_type(machine)
[24644]../qom/object.c/object_class_get_parent(1136):objclass(x86-machine) has parent(machine)
[24644]../qom/object.c/object_class_get_parent(1139):objclass(x86-machine) return
[24644]../qom/object.c/object_class_get_parent(1127):enter
[24644]../qom/object.c/type_get_parent(194):parent_type(object)
[24644]../qom/object.c/object_class_get_parent(1136):objclass(machine) has parent(object)
[24644]../qom/object.c/object_class_get_parent(1139):objclass(machine) return
[24644]../qom/object.c/object_class_get_parent(1127):enter
[24644]../qom/object.c/type_get_parent(196):no parent_type
[24644]../qom/object.c/object_class_get_parent(1132):objclass(object) has no parent return
[24644]../qom/object.c/object_property_try_add(1348):name=[pflash0] return-3!
[24644]../qom/object.c/object_class_get_parent(1127):enter
[24644]../qom/object.c/type_get_parent(194):parent_type(generic-pc-machine)
[24644]../qom/object.c/object_class_get_parent(1136):objclass(pc-q35-8.2-machine) has parent(generic-pc-machine)
[24644]../qom/object.c/object_class_get_parent(1139):objclass(pc-q35-8.2-machine) return
[24644]../qom/object.c/object_class_get_parent(1127):enter
[24644]../qom/object.c/type_get_parent(194):parent_type(x86-machine)
[24644]../qom/object.c/object_class_get_parent(1136):objclass(generic-pc-machine) has parent(x86-machine)
[24644]../qom/object.c/object_class_get_parent(1139):objclass(generic-pc-machine) return
[24644]../qom/object.c/object_class_get_parent(1127):enter
[24644]../qom/object.c/type_get_parent(194):parent_type(machine)
[24644]../qom/object.c/object_class_get_parent(1136):objclass(x86-machine) has parent(machine)
[24644]../qom/object.c/object_class_get_parent(1139):objclass(x86-machine) return
[24644]../qom/object.c/object_class_get_parent(1127):enter
[24644]../qom/object.c/type_get_parent(194):parent_type(object)
[24644]../qom/object.c/object_class_get_parent(1136):objclass(machine) has parent(object)
[24644]../qom/object.c/object_class_get_parent(1139):objclass(machine) return
[24644]../qom/object.c/object_class_get_parent(1127):enter
[24644]../qom/object.c/type_get_parent(196):no parent_type
[24644]../qom/object.c/object_class_get_parent(1132):objclass(object) has no parent return
[24644]../hw/i386/pc_sysfw.c/pc_pflash_create(100):return
[24644]../qom/object.c/type_table_lookup(103):lookup type(cfi.pflash01) in hash table
[24644]../qom/object.c/type_get_parent(194):parent_type(sys-bus-device)
[24644]../qom/object.c/type_get_parent(194):parent_type(device)
[24644]../qom/object.c/type_get_parent(194):parent_type(object)
[24644]../qom/object.c/type_get_parent(196):no parent_type
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_PFlashCFI01(145):blk=[0000000000000000]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_PFlashCFI01(146):sector_len=[4096]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_PFlashCFI01(147):nb_blocks=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_PFlashCFI01(148):bank_width=[1]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_PFlashCFI01(149):device_width=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_PFlashCFI01(150):max_device_width=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_PFlashCFI01(151):features=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_PFlashCFI01(152):wcycle=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_PFlashCFI01(153):ro=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_PFlashCFI01(154):cmd=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_PFlashCFI01(155):status=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_PFlashCFI01(156):ident0=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_PFlashCFI01(157):ident1=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_PFlashCFI01(158):ident2=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_PFlashCFI01(159):ident3=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_PFlashCFI01(160):cfi_table=[
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_PFlashCFI01(168):]=cfi_table
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_PFlashCFI01(169):counter=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_PFlashCFI01(170):writeblock_size=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_PFlashCFI01(171):mem=[000001461886ad30]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(67):romd_mode=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(68):ram=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(69):subpage=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(70):readonly=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(71):nonvolatile=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(72):rom_device=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(73):flush_coalesced_mmio=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(74):unmergeable=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(75):dirty_log_mask=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(76):is_iommu=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(77):ram_block=[0000000000000000]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(78):owner=[0000000000000000]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(79):dev=[0000000000000000]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(80):ops=[0000000000000000]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(81):opaque=[0000000000000000]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(82):container=[0000000000000000]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(83):mapped_via_alias=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(84):size=[00000000000000000000000000000000]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(85):addr=[0000000000000000]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(86):destructor=[0000000000000000]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(87):align=[0000000000000000]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(88):terminates=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(89):ram_device=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(90):enabled=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(91):vga_logging_count=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(92):alias=[0000000000000000]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(93):alias_offset=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(94):priority=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(98):name=[(null)]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(99):ioeventfd_nb=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(100):ioeventfds=[0000000000000000]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(101):rdm=[0000000000000000]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(102):disable_reentrancy_guard=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_PFlashCFI01(173):name=[system.flash0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_PFlashCFI01(174):storage=[0000000000000000]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_PFlashCFI01(175):vmstate=[0000000000000000]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_PFlashCFI01(176):old_multiple_chip_handling=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_PFlashCFI01(177):blk_bytes=[0000000000000000]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_PFlashCFI01(178):blk_offset=[0]
[24644]../hw/i386/pc_sysfw.c/pc_system_flash_create(116):run
[24644]../hw/i386/pc_sysfw.c/pc_pflash_create(81):enter
[24644]../qom/object.c/type_table_lookup(103):lookup type(cfi.pflash01) in hash table
[24644]../qom/object.c/type_table_lookup(103):lookup type(cfi.pflash01) in hash table
[24644]../qom/object.c/object_new_with_type(789):try type_initialize(cfi.pflash01)
[24644]../qom/object.c/object_new_with_type(799):obj(cfi.pflash01) alloc
[24644]../qom/object.c/object_new_with_type(808):try object_initialize_with_type(cfi.pflash01)
[24644]../qom/object.c/object_initialize_with_type(568):obj with type(cfi.pflash01) enter
[24644]../qom/object.c/object_initialize_with_type(576):mapping obj(cfi.pflash01).class with type(cfi.pflash01).class
[24644]../qom/object.c/object_initialize_with_type(579):try object_class_property_init_all(cfi.pflash01)
[24644]../qom/object.c/object_class_property_init_all(552):obj(cfi.pflash01) enter
[24644]../qom/object.c/object_class_property_iter_init(1438):objclass{cfi.pflash01} enter
[24644]../qom/object.c/object_class_get_parent(1127):enter
[24644]../qom/object.c/type_get_parent(194):parent_type(sys-bus-device)
[24644]../qom/object.c/object_class_get_parent(1136):objclass(cfi.pflash01) has parent(sys-bus-device)
[24644]../qom/object.c/object_class_get_parent(1139):objclass(cfi.pflash01) return
[24644]../qom/object.c/object_class_property_iter_init(1441):objclass{cfi.pflash01} return
[24644]../qom/object.c/object_class_property_init_all(555):prop name=[id1] type=[uint16] desc=[(null)] init=[00007ff73f4aafb0]
[24644]../qom/object.c/object_class_property_init_all(558):before obj(cfi.pflash01).prop(id1) init()
[24644]../qom/object.c/object_class_property_init_all(560):after obj(cfi.pflash01).prop(id1) init()
[24644]../qom/object.c/object_class_property_init_all(555):prop name=[id0] type=[uint16] desc=[(null)] init=[00007ff73f4aafb0]
[24644]../qom/object.c/object_class_property_init_all(558):before obj(cfi.pflash01).prop(id0) init()
[24644]../qom/object.c/object_class_property_init_all(560):after obj(cfi.pflash01).prop(id0) init()
[24644]../qom/object.c/object_class_property_init_all(555):prop name=[width] type=[uint8] desc=[(null)] init=[00007ff73f4aafb0]
[24644]../qom/object.c/object_class_property_init_all(558):before obj(cfi.pflash01).prop(width) init()
[24644]../qom/object.c/object_class_property_init_all(560):after obj(cfi.pflash01).prop(width) init()
[24644]../qom/object.c/object_class_property_init_all(555):prop name=[device-width] type=[uint8] desc=[(null)] init=[00007ff73f4aafb0]
[24644]../qom/object.c/object_class_property_init_all(558):before obj(cfi.pflash01).prop(device-width) init()
[24644]../qom/object.c/object_class_property_init_all(560):after obj(cfi.pflash01).prop(device-width) init()
[24644]../qom/object.c/object_class_property_init_all(555):prop name=[sector-length] type=[uint64] desc=[(null)] init=[00007ff73f4aafb0]
[24644]../qom/object.c/object_class_property_init_all(558):before obj(cfi.pflash01).prop(sector-length) init()
[24644]../qom/object.c/object_class_property_init_all(560):after obj(cfi.pflash01).prop(sector-length) init()
[24644]../qom/object.c/object_class_property_init_all(555):prop name=[drive] type=[str] desc=[Node name or ID of a block device to use as a backend] init=[0000000000000000]
[24644]../qom/object.c/object_class_property_init_all(555):prop name=[name] type=[str] desc=[(null)] init=[0000000000000000]
[24644]../qom/object.c/object_class_property_init_all(555):prop name=[old-multiple-chip-handling] type=[bool] desc=[(null)] init=[00007ff73f4aafb0]
[24644]../qom/object.c/object_class_property_init_all(558):before obj(cfi.pflash01).prop(old-multiple-chip-handling) init()
[24644]../qom/object.c/object_class_property_init_all(560):after obj(cfi.pflash01).prop(old-multiple-chip-handling) init()
[24644]../qom/object.c/object_class_property_init_all(555):prop name=[max-device-width] type=[uint8] desc=[(null)] init=[00007ff73f4aafb0]
[24644]../qom/object.c/object_class_property_init_all(558):before obj(cfi.pflash01).prop(max-device-width) init()
[24644]../qom/object.c/object_class_property_init_all(560):after obj(cfi.pflash01).prop(max-device-width) init()
[24644]../qom/object.c/object_class_property_init_all(555):prop name=[num-blocks] type=[uint32] desc=[(null)] init=[00007ff73f4aafb0]
[24644]../qom/object.c/object_class_property_init_all(558):before obj(cfi.pflash01).prop(num-blocks) init()
[24644]../qom/object.c/object_class_property_init_all(560):after obj(cfi.pflash01).prop(num-blocks) init()
[24644]../qom/object.c/object_class_property_init_all(555):prop name=[big-endian] type=[bool] desc=[on/off] init=[00007ff73f4aafb0]
[24644]../qom/object.c/object_class_property_init_all(558):before obj(cfi.pflash01).prop(big-endian) init()
[24644]../qom/object.c/object_class_property_init_all(560):after obj(cfi.pflash01).prop(big-endian) init()
[24644]../qom/object.c/object_class_property_init_all(555):prop name=[secure] type=[bool] desc=[on/off] init=[00007ff73f4aafb0]
[24644]../qom/object.c/object_class_property_init_all(558):before obj(cfi.pflash01).prop(secure) init()
[24644]../qom/object.c/object_class_property_init_all(560):after obj(cfi.pflash01).prop(secure) init()
[24644]../qom/object.c/object_class_property_init_all(555):prop name=[id2] type=[uint16] desc=[(null)] init=[00007ff73f4aafb0]
[24644]../qom/object.c/object_class_property_init_all(558):before obj(cfi.pflash01).prop(id2) init()
[24644]../qom/object.c/object_class_property_init_all(560):after obj(cfi.pflash01).prop(id2) init()
[24644]../qom/object.c/object_class_property_init_all(555):prop name=[id3] type=[uint16] desc=[(null)] init=[00007ff73f4aafb0]
[24644]../qom/object.c/object_class_property_init_all(558):before obj(cfi.pflash01).prop(id3) init()
[24644]../qom/object.c/object_class_property_init_all(560):after obj(cfi.pflash01).prop(id3) init()
[24644]../qom/object.c/object_class_get_parent(1127):enter
[24644]../qom/object.c/type_get_parent(194):parent_type(device)
[24644]../qom/object.c/object_class_get_parent(1136):objclass(sys-bus-device) has parent(device)
[24644]../qom/object.c/object_class_get_parent(1139):objclass(sys-bus-device) return
[24644]../qom/object.c/object_class_get_parent(1127):enter
[24644]../qom/object.c/type_get_parent(194):parent_type(object)
[24644]../qom/object.c/object_class_get_parent(1136):objclass(device) has parent(object)
[24644]../qom/object.c/object_class_get_parent(1139):objclass(device) return
[24644]../qom/object.c/object_class_property_init_all(555):prop name=[hotpluggable] type=[bool] desc=[(null)] init=[0000000000000000]
[24644]../qom/object.c/object_class_property_init_all(555):prop name=[hotplugged] type=[bool] desc=[(null)] init=[0000000000000000]
[24644]../qom/object.c/object_class_property_init_all(555):prop name=[realized] type=[bool] desc=[(null)] init=[0000000000000000]
[24644]../qom/object.c/object_class_property_init_all(555):prop name=[parent_bus] type=[link<bus>] desc=[(null)] init=[0000000000000000]
[24644]../qom/object.c/object_class_get_parent(1127):enter
[24644]../qom/object.c/type_get_parent(196):no parent_type
[24644]../qom/object.c/object_class_get_parent(1132):objclass(object) has no parent return
[24644]../qom/object.c/object_class_property_init_all(555):prop name=[type] type=[string] desc=[(null)] init=[0000000000000000]
[24644]../qom/object.c/object_class_property_init_all(563):obj(cfi.pflash01) return
[24644]../qom/object.c/object_initialize_with_type(583):try object_init_with_type(cfi.pflash01)
[24644]../qom/object.c/object_init_with_type(416):obj->class->type->name=[cfi.pflash01] ti->name=[cfi.pflash01] enter
[24644]../qom/object.c/type_get_parent(194):parent_type(sys-bus-device)
[24644]../qom/object.c/object_init_with_type(416):obj->class->type->name=[cfi.pflash01] ti->name=[sys-bus-device] enter
[24644]../qom/object.c/type_get_parent(194):parent_type(device)
[24644]../qom/object.c/object_init_with_type(416):obj->class->type->name=[cfi.pflash01] ti->name=[device] enter
[24644]../qom/object.c/type_get_parent(194):parent_type(object)
[24644]../qom/object.c/object_init_with_type(416):obj->class->type->name=[cfi.pflash01] ti->name=[object] enter
[24644]../qom/object.c/object_init_with_type(427):obj->class->type->name=[cfi.pflash01] ti->name=[object] return
[24644]../qom/object.c/object_init_with_type(423):name=[device] ti->instance_init() before
[24644]../qom/object.c/object_init_with_type(425):name=[device] ti->instance_init() after
[24644]../qom/object.c/object_init_with_type(427):obj->class->type->name=[cfi.pflash01] ti->name=[device] return
[24644]../qom/object.c/object_init_with_type(427):obj->class->type->name=[cfi.pflash01] ti->name=[sys-bus-device] return
[24644]../qom/object.c/object_init_with_type(427):obj->class->type->name=[cfi.pflash01] ti->name=[cfi.pflash01] return
[24644]../qom/object.c/object_initialize_with_type(585):try object_post_init_with_type(cfi.pflash01)
[24644]../qom/object.c/object_post_init_with_type(433):obj->class->type->name=[cfi.pflash01] ti->name=[cfi.pflash01] enter
[24644]../qom/object.c/type_get_parent(194):parent_type(sys-bus-device)
[24644]../qom/object.c/object_post_init_with_type(433):obj->class->type->name=[cfi.pflash01] ti->name=[sys-bus-device] enter
[24644]../qom/object.c/type_get_parent(194):parent_type(device)
[24644]../qom/object.c/object_post_init_with_type(433):obj->class->type->name=[cfi.pflash01] ti->name=[device] enter
[24644]../qom/object.c/object_post_init_with_type(436):name=[device] ti->instance_post_init() before
[24644]../qom/object.c/object_post_init_with_type(438):name=[device] ti->instance_post_init() after
[24644]../qom/object.c/type_get_parent(194):parent_type(object)
[24644]../qom/object.c/object_post_init_with_type(433):obj->class->type->name=[cfi.pflash01] ti->name=[object] enter
[24644]../qom/object.c/object_post_init_with_type(444):return
[24644]../qom/object.c/object_post_init_with_type(444):return
[24644]../qom/object.c/object_post_init_with_type(444):return
[24644]../qom/object.c/object_post_init_with_type(444):return
[24644]../qom/object.c/object_initialize_with_type(587):obj(cfi.pflash01) return
[24644]../qom/object.c/object_new_with_type(812):obj(cfi.pflash01) return
[24644]../hw/i386/pc_sysfw.c/pc_pflash_create(84):run
[24644]../hw/core/qdev-properties.c/qdev_prop_set_uint64(841):name=[sector-length], value=[4096]
[24644]../qom/qom-qobject.c/object_property_set_qobject(26):name=[sector-length] enter!
[24644]../qom/object.c/object_property_set(1505):name=[sector-length] enter!
[24644]../qom/object.c/object_property_set(1507):name=[sector-length] run!
[24644]../qom/object.c/object_class_get_parent(1127):enter
[24644]../qom/object.c/type_get_parent(194):parent_type(sys-bus-device)
[24644]../qom/object.c/object_class_get_parent(1136):objclass(cfi.pflash01) has parent(sys-bus-device)
[24644]../qom/object.c/object_class_get_parent(1139):objclass(cfi.pflash01) return
[24644]../qom/object.c/object_class_get_parent(1127):enter
[24644]../qom/object.c/type_get_parent(194):parent_type(device)
[24644]../qom/object.c/object_class_get_parent(1136):objclass(sys-bus-device) has parent(device)
[24644]../qom/object.c/object_class_get_parent(1139):objclass(sys-bus-device) return
[24644]../qom/object.c/object_class_get_parent(1127):enter
[24644]../qom/object.c/type_get_parent(194):parent_type(object)
[24644]../qom/object.c/object_class_get_parent(1136):objclass(device) has parent(object)
[24644]../qom/object.c/object_class_get_parent(1139):objclass(device) return
[24644]../qom/object.c/object_class_get_parent(1127):enter
[24644]../qom/object.c/type_get_parent(196):no parent_type
[24644]../qom/object.c/object_class_get_parent(1132):objclass(object) has no parent return
[24644]../qom/object.c/object_property_set(1509):name=[sector-length] run!
[24644]../qom/object.c/object_property_set(1522):name=[sector-length] run!
[24644]../qom/object.c/object_property_set(1524):name=[sector-length] return!
[24644]../qom/qom-qobject.c/object_property_set_qobject(33):name=[sector-length] return!
[24644]../hw/i386/pc_sysfw.c/pc_pflash_create(86):run
[24644]../hw/core/qdev-properties.c/qdev_prop_set_uint8(817):name=[width], value=[1]
[24644]../qom/qom-qobject.c/object_property_set_qobject(26):name=[width] enter!
[24644]../qom/object.c/object_property_set(1505):name=[width] enter!
[24644]../qom/object.c/object_property_set(1507):name=[width] run!
[24644]../qom/object.c/object_class_get_parent(1127):enter
[24644]../qom/object.c/type_get_parent(194):parent_type(sys-bus-device)
[24644]../qom/object.c/object_class_get_parent(1136):objclass(cfi.pflash01) has parent(sys-bus-device)
[24644]../qom/object.c/object_class_get_parent(1139):objclass(cfi.pflash01) return
[24644]../qom/object.c/object_class_get_parent(1127):enter
[24644]../qom/object.c/type_get_parent(194):parent_type(device)
[24644]../qom/object.c/object_class_get_parent(1136):objclass(sys-bus-device) has parent(device)
[24644]../qom/object.c/object_class_get_parent(1139):objclass(sys-bus-device) return
[24644]../qom/object.c/object_class_get_parent(1127):enter
[24644]../qom/object.c/type_get_parent(194):parent_type(object)
[24644]../qom/object.c/object_class_get_parent(1136):objclass(device) has parent(object)
[24644]../qom/object.c/object_class_get_parent(1139):objclass(device) return
[24644]../qom/object.c/object_class_get_parent(1127):enter
[24644]../qom/object.c/type_get_parent(196):no parent_type
[24644]../qom/object.c/object_class_get_parent(1132):objclass(object) has no parent return
[24644]../qom/object.c/object_property_set(1509):name=[width] run!
[24644]../qom/object.c/object_property_set(1522):name=[width] run!
[24644]../qom/object.c/object_property_set(1524):name=[width] return!
[24644]../qom/qom-qobject.c/object_property_set_qobject(33):name=[width] return!
[24644]../hw/i386/pc_sysfw.c/pc_pflash_create(88):run
[24644]../hw/core/qdev-properties.c/qdev_prop_set_string(847):name=[name], value=[system.flash1]
[24644]../qom/qom-qobject.c/object_property_set_qobject(26):name=[name] enter!
[24644]../qom/object.c/object_property_set(1505):name=[name] enter!
[24644]../qom/object.c/object_property_set(1507):name=[name] run!
[24644]../qom/object.c/object_class_get_parent(1127):enter
[24644]../qom/object.c/type_get_parent(194):parent_type(sys-bus-device)
[24644]../qom/object.c/object_class_get_parent(1136):objclass(cfi.pflash01) has parent(sys-bus-device)
[24644]../qom/object.c/object_class_get_parent(1139):objclass(cfi.pflash01) return
[24644]../qom/object.c/object_class_get_parent(1127):enter
[24644]../qom/object.c/type_get_parent(194):parent_type(device)
[24644]../qom/object.c/object_class_get_parent(1136):objclass(sys-bus-device) has parent(device)
[24644]../qom/object.c/object_class_get_parent(1139):objclass(sys-bus-device) return
[24644]../qom/object.c/object_class_get_parent(1127):enter
[24644]../qom/object.c/type_get_parent(194):parent_type(object)
[24644]../qom/object.c/object_class_get_parent(1136):objclass(device) has parent(object)
[24644]../qom/object.c/object_class_get_parent(1139):objclass(device) return
[24644]../qom/object.c/object_class_get_parent(1127):enter
[24644]../qom/object.c/type_get_parent(196):no parent_type
[24644]../qom/object.c/object_class_get_parent(1132):objclass(object) has no parent return
[24644]../qom/object.c/object_property_set(1509):name=[name] run!
[24644]../qom/object.c/object_property_set(1522):name=[name] run!
[24644]../qom/object.c/object_property_set(1524):name=[name] return!
[24644]../qom/qom-qobject.c/object_property_set_qobject(33):name=[name] return!
[24644]../hw/i386/pc_sysfw.c/pc_pflash_create(90):run
[24644]../qom/object.c/object_property_try_add(1307):name=[system.flash1] enter!
[24644]../qom/object.c/object_class_get_parent(1127):enter
[24644]../qom/object.c/type_get_parent(194):parent_type(generic-pc-machine)
[24644]../qom/object.c/object_class_get_parent(1136):objclass(pc-q35-8.2-machine) has parent(generic-pc-machine)
[24644]../qom/object.c/object_class_get_parent(1139):objclass(pc-q35-8.2-machine) return
[24644]../qom/object.c/object_class_get_parent(1127):enter
[24644]../qom/object.c/type_get_parent(194):parent_type(x86-machine)
[24644]../qom/object.c/object_class_get_parent(1136):objclass(generic-pc-machine) has parent(x86-machine)
[24644]../qom/object.c/object_class_get_parent(1139):objclass(generic-pc-machine) return
[24644]../qom/object.c/object_class_get_parent(1127):enter
[24644]../qom/object.c/type_get_parent(194):parent_type(machine)
[24644]../qom/object.c/object_class_get_parent(1136):objclass(x86-machine) has parent(machine)
[24644]../qom/object.c/object_class_get_parent(1139):objclass(x86-machine) return
[24644]../qom/object.c/object_class_get_parent(1127):enter
[24644]../qom/object.c/type_get_parent(194):parent_type(object)
[24644]../qom/object.c/object_class_get_parent(1136):objclass(machine) has parent(object)
[24644]../qom/object.c/object_class_get_parent(1139):objclass(machine) return
[24644]../qom/object.c/object_class_get_parent(1127):enter
[24644]../qom/object.c/type_get_parent(196):no parent_type
[24644]../qom/object.c/object_class_get_parent(1132):objclass(object) has no parent return
[24644]../qom/object.c/object_property_try_add(1348):name=[system.flash1] return-3!
[24644]../hw/i386/pc_sysfw.c/pc_pflash_create(92):run
[24644]../qom/object.c/object_class_get_parent(1127):enter
[24644]../qom/object.c/type_get_parent(194):parent_type(sys-bus-device)
[24644]../qom/object.c/object_class_get_parent(1136):objclass(cfi.pflash01) has parent(sys-bus-device)
[24644]../qom/object.c/object_class_get_parent(1139):objclass(cfi.pflash01) return
[24644]../qom/object.c/object_class_get_parent(1127):enter
[24644]../qom/object.c/type_get_parent(194):parent_type(device)
[24644]../qom/object.c/object_class_get_parent(1136):objclass(sys-bus-device) has parent(device)
[24644]../qom/object.c/object_class_get_parent(1139):objclass(sys-bus-device) return
[24644]../qom/object.c/object_class_get_parent(1127):enter
[24644]../qom/object.c/type_get_parent(194):parent_type(object)
[24644]../qom/object.c/object_class_get_parent(1136):objclass(device) has parent(object)
[24644]../qom/object.c/object_class_get_parent(1139):objclass(device) return
[24644]../qom/object.c/object_class_get_parent(1127):enter
[24644]../qom/object.c/type_get_parent(196):no parent_type
[24644]../qom/object.c/object_class_get_parent(1132):objclass(object) has no parent return
[24644]../qom/object.c/object_property_try_add(1307):name=[pflash1] enter!
[24644]../qom/object.c/object_class_get_parent(1127):enter
[24644]../qom/object.c/type_get_parent(194):parent_type(generic-pc-machine)
[24644]../qom/object.c/object_class_get_parent(1136):objclass(pc-q35-8.2-machine) has parent(generic-pc-machine)
[24644]../qom/object.c/object_class_get_parent(1139):objclass(pc-q35-8.2-machine) return
[24644]../qom/object.c/object_class_get_parent(1127):enter
[24644]../qom/object.c/type_get_parent(194):parent_type(x86-machine)
[24644]../qom/object.c/object_class_get_parent(1136):objclass(generic-pc-machine) has parent(x86-machine)
[24644]../qom/object.c/object_class_get_parent(1139):objclass(generic-pc-machine) return
[24644]../qom/object.c/object_class_get_parent(1127):enter
[24644]../qom/object.c/type_get_parent(194):parent_type(machine)
[24644]../qom/object.c/object_class_get_parent(1136):objclass(x86-machine) has parent(machine)
[24644]../qom/object.c/object_class_get_parent(1139):objclass(x86-machine) return
[24644]../qom/object.c/object_class_get_parent(1127):enter
[24644]../qom/object.c/type_get_parent(194):parent_type(object)
[24644]../qom/object.c/object_class_get_parent(1136):objclass(machine) has parent(object)
[24644]../qom/object.c/object_class_get_parent(1139):objclass(machine) return
[24644]../qom/object.c/object_class_get_parent(1127):enter
[24644]../qom/object.c/type_get_parent(196):no parent_type
[24644]../qom/object.c/object_class_get_parent(1132):objclass(object) has no parent return
[24644]../qom/object.c/object_property_try_add(1348):name=[pflash1] return-3!
[24644]../qom/object.c/object_class_get_parent(1127):enter
[24644]../qom/object.c/type_get_parent(194):parent_type(generic-pc-machine)
[24644]../qom/object.c/object_class_get_parent(1136):objclass(pc-q35-8.2-machine) has parent(generic-pc-machine)
[24644]../qom/object.c/object_class_get_parent(1139):objclass(pc-q35-8.2-machine) return
[24644]../qom/object.c/object_class_get_parent(1127):enter
[24644]../qom/object.c/type_get_parent(194):parent_type(x86-machine)
[24644]../qom/object.c/object_class_get_parent(1136):objclass(generic-pc-machine) has parent(x86-machine)
[24644]../qom/object.c/object_class_get_parent(1139):objclass(generic-pc-machine) return
[24644]../qom/object.c/object_class_get_parent(1127):enter
[24644]../qom/object.c/type_get_parent(194):parent_type(machine)
[24644]../qom/object.c/object_class_get_parent(1136):objclass(x86-machine) has parent(machine)
[24644]../qom/object.c/object_class_get_parent(1139):objclass(x86-machine) return
[24644]../qom/object.c/object_class_get_parent(1127):enter
[24644]../qom/object.c/type_get_parent(194):parent_type(object)
[24644]../qom/object.c/object_class_get_parent(1136):objclass(machine) has parent(object)
[24644]../qom/object.c/object_class_get_parent(1139):objclass(machine) return
[24644]../qom/object.c/object_class_get_parent(1127):enter
[24644]../qom/object.c/type_get_parent(196):no parent_type
[24644]../qom/object.c/object_class_get_parent(1132):objclass(object) has no parent return
[24644]../hw/i386/pc_sysfw.c/pc_pflash_create(100):return
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_PFlashCFI01(145):blk=[0000000000000000]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_PFlashCFI01(146):sector_len=[4096]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_PFlashCFI01(147):nb_blocks=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_PFlashCFI01(148):bank_width=[1]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_PFlashCFI01(149):device_width=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_PFlashCFI01(150):max_device_width=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_PFlashCFI01(151):features=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_PFlashCFI01(152):wcycle=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_PFlashCFI01(153):ro=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_PFlashCFI01(154):cmd=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_PFlashCFI01(155):status=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_PFlashCFI01(156):ident0=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_PFlashCFI01(157):ident1=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_PFlashCFI01(158):ident2=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_PFlashCFI01(159):ident3=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_PFlashCFI01(160):cfi_table=[
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_PFlashCFI01(168):]=cfi_table
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_PFlashCFI01(169):counter=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_PFlashCFI01(170):writeblock_size=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_PFlashCFI01(171):mem=[000001461886b240]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(67):romd_mode=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(68):ram=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(69):subpage=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(70):readonly=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(71):nonvolatile=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(72):rom_device=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(73):flush_coalesced_mmio=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(74):unmergeable=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(75):dirty_log_mask=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(76):is_iommu=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(77):ram_block=[0000000000000000]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(78):owner=[0000000000000000]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(79):dev=[0000000000000000]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(80):ops=[0000000000000000]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(81):opaque=[0000000000000000]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(82):container=[0000000000000000]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(83):mapped_via_alias=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(84):size=[00000000000000000000000000000000]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(85):addr=[0000000000000000]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(86):destructor=[0000000000000000]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(87):align=[0000000000000000]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(88):terminates=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(89):ram_device=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(90):enabled=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(91):vga_logging_count=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(92):alias=[0000000000000000]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(93):alias_offset=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(94):priority=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(98):name=[(null)]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(99):ioeventfd_nb=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(100):ioeventfds=[0000000000000000]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(101):rdm=[0000000000000000]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(102):disable_reentrancy_guard=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_PFlashCFI01(173):name=[system.flash1]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_PFlashCFI01(174):storage=[0000000000000000]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_PFlashCFI01(175):vmstate=[0000000000000000]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_PFlashCFI01(176):old_multiple_chip_handling=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_PFlashCFI01(177):blk_bytes=[0000000000000000]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_PFlashCFI01(178):blk_offset=[0]
[24644]../hw/i386/pc_sysfw.c/pc_system_flash_create(121):return
[24644]../hw/i386/pc.c/pc_machine_initfn(1758):run
WHPX: setting APIC emulation mode in the hypervisor
Windows Hypervisor Platform accelerator is operational
whpx: injection failed, MSI (0, 0) delivery: 0, dest_mode: 0, trigger mode: 0, vector: 0, lost (c0350005)

其中,pflash 设备信息如下:

bash 复制代码
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_PFlashCFI01(145):blk=[0000000000000000]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_PFlashCFI01(146):sector_len=[4096]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_PFlashCFI01(147):nb_blocks=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_PFlashCFI01(148):bank_width=[1]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_PFlashCFI01(149):device_width=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_PFlashCFI01(150):max_device_width=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_PFlashCFI01(151):features=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_PFlashCFI01(152):wcycle=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_PFlashCFI01(153):ro=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_PFlashCFI01(154):cmd=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_PFlashCFI01(155):status=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_PFlashCFI01(156):ident0=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_PFlashCFI01(157):ident1=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_PFlashCFI01(158):ident2=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_PFlashCFI01(159):ident3=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_PFlashCFI01(160):cfi_table=[
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_PFlashCFI01(168):]=cfi_table
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_PFlashCFI01(169):counter=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_PFlashCFI01(170):writeblock_size=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_PFlashCFI01(171):mem=[000001461886ad30]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(67):romd_mode=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(68):ram=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(69):subpage=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(70):readonly=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(71):nonvolatile=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(72):rom_device=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(73):flush_coalesced_mmio=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(74):unmergeable=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(75):dirty_log_mask=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(76):is_iommu=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(77):ram_block=[0000000000000000]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(78):owner=[0000000000000000]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(79):dev=[0000000000000000]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(80):ops=[0000000000000000]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(81):opaque=[0000000000000000]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(82):container=[0000000000000000]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(83):mapped_via_alias=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(84):size=[00000000000000000000000000000000]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(85):addr=[0000000000000000]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(86):destructor=[0000000000000000]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(87):align=[0000000000000000]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(88):terminates=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(89):ram_device=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(90):enabled=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(91):vga_logging_count=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(92):alias=[0000000000000000]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(93):alias_offset=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(94):priority=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(98):name=[(null)]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(99):ioeventfd_nb=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(100):ioeventfds=[0000000000000000]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(101):rdm=[0000000000000000]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_MemoryRegion(102):disable_reentrancy_guard=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_PFlashCFI01(173):name=[system.flash0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_PFlashCFI01(174):storage=[0000000000000000]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_PFlashCFI01(175):vmstate=[0000000000000000]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_PFlashCFI01(176):old_multiple_chip_handling=[0]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_PFlashCFI01(177):blk_bytes=[0000000000000000]
[24644]D:/msys64/home/yuhui/gitee/mingw-qemu/util/huedbg-pflash_cfi01.c/huedbg_dump_PFlashCFI01(178):blk_offset=[0]

总结

以上分析了 pflash 设备的创建过程,为后续载入 BIOS 并启动机器做准备。

相关推荐
鸿喵小仙女19 分钟前
C# WPF读写STM32/GD32单片机Flash数据
stm32·单片机·c#·wpf
lucy1530275107933 分钟前
MCU 功耗基准测试
科技·单片机·嵌入式硬件·智能家居·信号处理·工控主板
JasonYin~44 分钟前
HarmonyOS NEXT 实战之元服务:静态案例效果---查看国际航班服务
华为·harmonyos
BUG 4041 小时前
LINUX--shell
linux·运维·服务器
菜鸟小白:长岛icetea1 小时前
Linux零基础速成篇一(理论+实操)
linux·运维·服务器
深海的鲸同学 luvi1 小时前
【HarmonyOS NEXT】hdc环境变量配置
linux·windows·harmonyos
m0_748240911 小时前
OpenMV与STM32通信全面指南
stm32·单片机·嵌入式硬件
dowhileprogramming2 小时前
Python 中的迭代器
linux·数据库·python
过过过呀Glik2 小时前
在 Ubuntu 服务器上添加和删除用户
linux·服务器·ubuntu
Cchengzu3 小时前
阿里巴巴2017实习生笔试题(二)
stm32·单片机·嵌入式硬件