[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [RFC PATCH v3 3/5] xen: add option to disable legacy backends
On Fri, 2023-11-24 at 23:24 +0000, Volodymyr Babchuk wrote: > This patch makes legacy backends optional. As was discussed at [1] > this is a solution to a problem when we can't run QEMU as a device > model in a non-privileged domain. This is because legacy backends > assume that they are always running in domain with ID = 0. Actually, > this may prevent running QEMU in a privileged domain with ID not equal > to zero. > > To be able to disable legacy backends we need to alter couple of > source files that unintentionally depend on them. For example > xen-all.c used xen_pv_printf to report errors, while not providing any > additional like xendev pointer. Also, we need to move xenstore > structure from xen-legacy-backend.c, because it is apparently used in > xen-all.c. > > With this patch it is possible to provide > "--disable-xen-legacy-backends" configure option to get QEMU binary > that can run in a driver domain. With price of not be able to use > legacy backends of course. > > [1] > https://lists.gnu.org/archive/html/qemu-devel/2023-11/msg05022.html > > Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@xxxxxxxx> > > --- > > I am not sure if I made correct changes to the build system, thus this > patch is tagged as RFC. Hm, I was imagining a new CONFIG_LEGACY_XEN_BACKENDS option which would look a lot like CONFIG_XEN_BUS (which would now be only for the new XenBus code). This looks weird to me: > --- a/hw/display/meson.build > +++ b/hw/display/meson.build > @@ -14,7 +14,9 @@ system_ss.add(when: 'CONFIG_PL110', if_true: > files('pl110.c')) > system_ss.add(when: 'CONFIG_SII9022', if_true: files('sii9022.c')) > system_ss.add(when: 'CONFIG_SSD0303', if_true: files('ssd0303.c')) > system_ss.add(when: 'CONFIG_SSD0323', if_true: files('ssd0323.c')) > -system_ss.add(when: 'CONFIG_XEN_BUS', if_true: files('xenfb.c')) > +if have_xen_legacy_backends > + system_ss.add(when: 'CONFIG_XEN_BUS', if_true: files('xenfb.c')) > +endif > > system_ss.add(when: 'CONFIG_VGA_PCI', if_true: files('vga-pci.c')) > system_ss.add(when: 'CONFIG_VGA_ISA', if_true: files('vga-isa.c')) I'd prefer to see just: -system_ss.add(when: 'CONFIG_XEN_BUS', if_true: files('xenfb.c')) +system_ss.add(when: 'CONFIG_XEN_LEGACY_BACKENDS', if_true: files('xenfb.c')) Probably also better to split out the bits in accel/xen/xen-all.c and hw/xen/xen-legacy-backend.c to a separate preparatory commit. Attachment:
smime.p7s Amazon Development Centre (London) Ltd.Registered in England and Wales with registration number 04543232 with its registered office at 1 Principal Place, Worship Street, London EC2A 2FA, United Kingdom.
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |