First part stolen from: https://etherpad.opendev.org/p/qemu-emulation-bof%402023-01-24 thanks Phillippe Single QEMU-system binary and Dynamic Machine Models Meeting link: https://meet.jit.si/kvmcallmeeting Just want to dial in on your phone? Dial-in: +1.512.647.1431 PIN: 1518845548# Click this link to see the dial in phone numbers for this meeting https://meet.jit.si/static/dialInInfo.html?room=kvmcallmeeting What needs to be done? TCG How to use different page sizes -> convert to page-vary (already used by ARM/MIPS) ref: https://lore.kernel.org/qemu-devel/20221228171617.059750c3@orange/ HW models / machine How to create/realize 2 QOM objects which depend on each other? what (properties) need to be wired? IRQ, reset lines, MR? Sysbus: Demote it to plain qdev? con: sysbus helpful to remove qdev boilerplace/verbose code sysbus tree does the resets [currently blocking qdev conversion] pro: sysbus IRQ API too abstract, not very helpful, "named gpios" API is clearer sysbus MMIO API also kinda abstract, MRs indexed. No qdev equivalent sysbus IO API: not very used. first we need to get rid of ISA bus singleton Single 32/64 *targets* binary Which 32-bit hosts are still used? OK to deprecate them? Some targets need special care i.e. KVM 32-bit ARM vCPU on 64-bit Aarch64 host Previous notes: https://etherpad.opendev.org/p/qemu-emulation-bof%402022-12-13 https://etherpad.opendev.org/p/qemu-emulation-bof%402022-11-29 Do we care about this? 64 bits guests on 32 bits hosts: OK to deprecate 32 bits hosts: still in (some) use Creating and realizing two objects than need to be linked together. We can't do it with realize, perhaps we need an intermediate state to do the link, and then realize. Can we get Peter or Markus or Paolo for the next call? waiting to get some patches into the list for discussing. Problem for Phillipe is that he has to do changes to the API's and want to be sure that they are agreed before he changes all devices/targets, a multi month task. For removing sysbus, we need to wait for reset rework from Peter? Expose the memory API to external processes. Under what circumstances you should be able to create/destroy a memory region? Later, Juan.