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.