On 11/03/19 19:02, Jason Andryuk wrote: > With Xen, QEMU can run isolated in a dedicated service VM - a stubdom. > There are a few differences when running in a stubdom compared to dom0. > Add the -xen-stubdom option to select this mode at runtime. The default > is off.
This should be "-accel xen,stubdom=on". You should find examples for tcg that explain how to add a suboption to -accel. Paolo > Signed-off-by: Jason Andryuk <jandr...@gmail.com> > --- > include/hw/xen/xen.h | 6 ++++++ > qemu-options.hx | 7 +++++++ > vl.c | 8 ++++++++ > 3 files changed, 21 insertions(+) > > diff --git a/include/hw/xen/xen.h b/include/hw/xen/xen.h > index ba039c146d..fed3611623 100644 > --- a/include/hw/xen/xen.h > +++ b/include/hw/xen/xen.h > @@ -21,6 +21,7 @@ enum xen_mode { > extern uint32_t xen_domid; > extern enum xen_mode xen_mode; > extern bool xen_domid_restrict; > +extern bool xen_stubdom; > > extern bool xen_allowed; > > @@ -29,6 +30,11 @@ static inline bool xen_enabled(void) > return xen_allowed; > } > > +static inline bool xen_stubdom_enabled(void) > +{ > + return xen_stubdom; > +} > + > int xen_pci_slot_get_pirq(PCIDevice *pci_dev, int irq_num); > void xen_piix3_set_irq(void *opaque, int irq_num, int level); > void xen_piix_pci_write_config_client(uint32_t address, uint32_t val, int > len); > diff --git a/qemu-options.hx b/qemu-options.hx > index 1cf9aac1fe..ba56c3dd9a 100644 > --- a/qemu-options.hx > +++ b/qemu-options.hx > @@ -3386,6 +3386,10 @@ DEF("xen-domid-restrict", 0, > QEMU_OPTION_xen_domid_restrict, > " to specified domain id. (Does not affect\n" > " xenpv machine type).\n", > QEMU_ARCH_ALL) > +DEF("xen-stubdom", 0, QEMU_OPTION_xen_stubdom, > + "-xen-stubdom specify QEMU is running in a stubdom, so certain\n" > + " behavior changes. (Does not affect xenpv machine > type).\n", > + QEMU_ARCH_ALL) > STEXI > @item -xen-domid @var{id} > @findex -xen-domid > @@ -3396,6 +3400,9 @@ Attach to existing xen domain. > libxl will use this when starting QEMU (XEN only). > @findex -xen-domid-restrict > Restrict set of available xen operations to specified domain id (XEN only). > +@findex -xen-stubdom > +@item -xen-stubdom > +Run qemu in stubdom-mode (XEN only). > ETEXI > > DEF("no-reboot", 0, QEMU_OPTION_no_reboot, \ > diff --git a/vl.c b/vl.c > index 4a350de5cd..0d04319d9b 100644 > --- a/vl.c > +++ b/vl.c > @@ -206,6 +206,7 @@ bool xen_allowed; > uint32_t xen_domid; > enum xen_mode xen_mode = XEN_EMULATE; > bool xen_domid_restrict; > +bool xen_stubdom; > > static int has_defaults = 1; > static int default_serial = 1; > @@ -3796,6 +3797,13 @@ int main(int argc, char **argv, char **envp) > } > xen_domid_restrict = true; > break; > + case QEMU_OPTION_xen_stubdom: > + if (!(xen_available())) { > + error_report("Option not supported for this target"); > + exit(1); > + } > + xen_stubdom = true; > + break; > case QEMU_OPTION_trace: > g_free(trace_file); > trace_file = trace_opt_parse(optarg); > _______________________________________________ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel