系列文章目录
第六章 QEMU系统仿真的机器创建分析实例
文章目录
- 系列文章目录
-
- [第六章 QEMU系统仿真的机器创建分析实例](#第六章 QEMU系统仿真的机器创建分析实例)
- 前言
- 一、QEMU是什么?
- 二、QEMU系统仿真的机器创建分析实例
-
- 1.系统仿真的命令行参数
- 2.目标机器创建过程
- [3.static void pc_machine_initfn(Object *obj)](#3.static void pc_machine_initfn(Object *obj))
- 调试输出
- 总结
前言
本文以 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 并启动机器做准备。