Hi, > I did some tracing for this, and the result differs for q35 machine type and > pc machine type. > > - For q35, the memslot update for isa-bios/pc.rom happens when mc->reset() > that is triggered via > > qdev_machine_creation_done() > -> qemu_system_reset(SHUTDOWN_CASE_NONE); > > It's surely later than TDX's machine_init_done_notify callback which > initializes the part of private memory via KVM_TDX_INIT_MEM_REGION > > - For pc machine type, the memslot update happens in i440fx_init(), which is > earlier than TDX's machine_init_done_notify callback > > I haven't fully understand in what condition will QEMU carry out the memslot > update yet. I will keep learning and try to come up a solution to ensure > TDX's machine_init_done_notify callback executed after all the memslot > settle down. My guess would be the rom shadowing initialization being slightly different in 'pc' and 'q35'. take care, Gerd