From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([209.51.188.92]:48336) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h3PJh-0005IS-EQ for qemu-devel@nongnu.org; Mon, 11 Mar 2019 14:06:26 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1h3PJg-0005iq-Ag for qemu-devel@nongnu.org; Mon, 11 Mar 2019 14:06:25 -0400 Received: from mx1.redhat.com ([209.132.183.28]:39593) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1h3PJf-0005hL-Ti for qemu-devel@nongnu.org; Mon, 11 Mar 2019 14:06:24 -0400 References: <20190311180216.18811-1-jandryuk@gmail.com> <20190311180216.18811-2-jandryuk@gmail.com> From: Paolo Bonzini Message-ID: Date: Mon, 11 Mar 2019 19:06:17 +0100 MIME-Version: 1.0 In-Reply-To: <20190311180216.18811-2-jandryuk@gmail.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 1/6] xen: Introduce -xen-stubdom option List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Jason Andryuk , qemu-devel@nongnu.org Cc: xen-devel@lists.xenproject.org, marmarek@invisiblethingslab.com, Stefano Stabellini , Anthony Perard , Paul Durrant 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 > --- > 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); > From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paolo Bonzini Subject: Re: [PATCH 1/6] xen: Introduce -xen-stubdom option Date: Mon, 11 Mar 2019 19:06:17 +0100 Message-ID: References: <20190311180216.18811-1-jandryuk@gmail.com> <20190311180216.18811-2-jandryuk@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1h3PJg-0002Gi-VB for xen-devel@lists.xenproject.org; Mon, 11 Mar 2019 18:06:24 +0000 In-Reply-To: <20190311180216.18811-2-jandryuk@gmail.com> Content-Language: en-US List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: Jason Andryuk , qemu-devel@nongnu.org Cc: Anthony Perard , xen-devel@lists.xenproject.org, Stefano Stabellini , marmarek@invisiblethingslab.com, Paul Durrant List-Id: xen-devel@lists.xenproject.org T24gMTEvMDMvMTkgMTk6MDIsIEphc29uIEFuZHJ5dWsgd3JvdGU6Cj4gV2l0aCBYZW4sIFFFTVUg Y2FuIHJ1biBpc29sYXRlZCBpbiBhIGRlZGljYXRlZCBzZXJ2aWNlIFZNIC0gYSBzdHViZG9tLgo+ IFRoZXJlIGFyZSBhIGZldyBkaWZmZXJlbmNlcyB3aGVuIHJ1bm5pbmcgaW4gYSBzdHViZG9tIGNv bXBhcmVkIHRvIGRvbTAuCj4gQWRkIHRoZSAteGVuLXN0dWJkb20gb3B0aW9uIHRvIHNlbGVjdCB0 aGlzIG1vZGUgYXQgcnVudGltZS4gIFRoZSBkZWZhdWx0Cj4gaXMgb2ZmLgoKVGhpcyBzaG91bGQg YmUgIi1hY2NlbCB4ZW4sc3R1YmRvbT1vbiIuICBZb3Ugc2hvdWxkIGZpbmQgZXhhbXBsZXMgZm9y CnRjZyB0aGF0IGV4cGxhaW4gaG93IHRvIGFkZCBhIHN1Ym9wdGlvbiB0byAtYWNjZWwuCgpQYW9s bwoKPiBTaWduZWQtb2ZmLWJ5OiBKYXNvbiBBbmRyeXVrIDxqYW5kcnl1a0BnbWFpbC5jb20+Cj4g LS0tCj4gIGluY2x1ZGUvaHcveGVuL3hlbi5oIHwgNiArKysrKysKPiAgcWVtdS1vcHRpb25zLmh4 ICAgICAgfCA3ICsrKysrKysKPiAgdmwuYyAgICAgICAgICAgICAgICAgfCA4ICsrKysrKysrCj4g IDMgZmlsZXMgY2hhbmdlZCwgMjEgaW5zZXJ0aW9ucygrKQo+IAo+IGRpZmYgLS1naXQgYS9pbmNs dWRlL2h3L3hlbi94ZW4uaCBiL2luY2x1ZGUvaHcveGVuL3hlbi5oCj4gaW5kZXggYmEwMzljMTQ2 ZC4uZmVkMzYxMTYyMyAxMDA2NDQKPiAtLS0gYS9pbmNsdWRlL2h3L3hlbi94ZW4uaAo+ICsrKyBi L2luY2x1ZGUvaHcveGVuL3hlbi5oCj4gQEAgLTIxLDYgKzIxLDcgQEAgZW51bSB4ZW5fbW9kZSB7 Cj4gIGV4dGVybiB1aW50MzJfdCB4ZW5fZG9taWQ7Cj4gIGV4dGVybiBlbnVtIHhlbl9tb2RlIHhl bl9tb2RlOwo+ICBleHRlcm4gYm9vbCB4ZW5fZG9taWRfcmVzdHJpY3Q7Cj4gK2V4dGVybiBib29s IHhlbl9zdHViZG9tOwo+ICAKPiAgZXh0ZXJuIGJvb2wgeGVuX2FsbG93ZWQ7Cj4gIAo+IEBAIC0y OSw2ICszMCwxMSBAQCBzdGF0aWMgaW5saW5lIGJvb2wgeGVuX2VuYWJsZWQodm9pZCkKPiAgICAg IHJldHVybiB4ZW5fYWxsb3dlZDsKPiAgfQo+ICAKPiArc3RhdGljIGlubGluZSBib29sIHhlbl9z dHViZG9tX2VuYWJsZWQodm9pZCkKPiArewo+ICsgICAgcmV0dXJuIHhlbl9zdHViZG9tOwo+ICt9 Cj4gKwo+ICBpbnQgeGVuX3BjaV9zbG90X2dldF9waXJxKFBDSURldmljZSAqcGNpX2RldiwgaW50 IGlycV9udW0pOwo+ICB2b2lkIHhlbl9waWl4M19zZXRfaXJxKHZvaWQgKm9wYXF1ZSwgaW50IGly cV9udW0sIGludCBsZXZlbCk7Cj4gIHZvaWQgeGVuX3BpaXhfcGNpX3dyaXRlX2NvbmZpZ19jbGll bnQodWludDMyX3QgYWRkcmVzcywgdWludDMyX3QgdmFsLCBpbnQgbGVuKTsKPiBkaWZmIC0tZ2l0 IGEvcWVtdS1vcHRpb25zLmh4IGIvcWVtdS1vcHRpb25zLmh4Cj4gaW5kZXggMWNmOWFhYzFmZS4u YmE1NmMzZGQ5YSAxMDA2NDQKPiAtLS0gYS9xZW11LW9wdGlvbnMuaHgKPiArKysgYi9xZW11LW9w dGlvbnMuaHgKPiBAQCAtMzM4Niw2ICszMzg2LDEwIEBAIERFRigieGVuLWRvbWlkLXJlc3RyaWN0 IiwgMCwgUUVNVV9PUFRJT05feGVuX2RvbWlkX3Jlc3RyaWN0LAo+ICAgICAgIiAgICAgICAgICAg ICAgICAgICAgICAgIHRvIHNwZWNpZmllZCBkb21haW4gaWQuIChEb2VzIG5vdCBhZmZlY3RcbiIK PiAgICAgICIgICAgICAgICAgICAgICAgICAgICAgICB4ZW5wdiBtYWNoaW5lIHR5cGUpLlxuIiwK PiAgICAgIFFFTVVfQVJDSF9BTEwpCj4gK0RFRigieGVuLXN0dWJkb20iLCAwLCBRRU1VX09QVElP Tl94ZW5fc3R1YmRvbSwKPiArICAgICIteGVuLXN0dWJkb20gICAgc3BlY2lmeSBRRU1VIGlzIHJ1 bm5pbmcgaW4gYSBzdHViZG9tLCBzbyBjZXJ0YWluXG4iCj4gKyAgICAiICAgICAgICAgICAgICAg IGJlaGF2aW9yIGNoYW5nZXMuIChEb2VzIG5vdCBhZmZlY3QgeGVucHYgbWFjaGluZSB0eXBlKS5c biIsCj4gKyAgICBRRU1VX0FSQ0hfQUxMKQo+ICBTVEVYSQo+ICBAaXRlbSAteGVuLWRvbWlkIEB2 YXJ7aWR9Cj4gIEBmaW5kZXggLXhlbi1kb21pZAo+IEBAIC0zMzk2LDYgKzM0MDAsOSBAQCBBdHRh Y2ggdG8gZXhpc3RpbmcgeGVuIGRvbWFpbi4KPiAgbGlieGwgd2lsbCB1c2UgdGhpcyB3aGVuIHN0 YXJ0aW5nIFFFTVUgKFhFTiBvbmx5KS4KPiAgQGZpbmRleCAteGVuLWRvbWlkLXJlc3RyaWN0Cj4g IFJlc3RyaWN0IHNldCBvZiBhdmFpbGFibGUgeGVuIG9wZXJhdGlvbnMgdG8gc3BlY2lmaWVkIGRv bWFpbiBpZCAoWEVOIG9ubHkpLgo+ICtAZmluZGV4IC14ZW4tc3R1YmRvbQo+ICtAaXRlbSAteGVu LXN0dWJkb20KPiArUnVuIHFlbXUgaW4gc3R1YmRvbS1tb2RlIChYRU4gb25seSkuCj4gIEVURVhJ Cj4gIAo+ICBERUYoIm5vLXJlYm9vdCIsIDAsIFFFTVVfT1BUSU9OX25vX3JlYm9vdCwgXAo+IGRp ZmYgLS1naXQgYS92bC5jIGIvdmwuYwo+IGluZGV4IDRhMzUwZGU1Y2QuLjBkMDQzMTlkOWIgMTAw NjQ0Cj4gLS0tIGEvdmwuYwo+ICsrKyBiL3ZsLmMKPiBAQCAtMjA2LDYgKzIwNiw3IEBAIGJvb2wg eGVuX2FsbG93ZWQ7Cj4gIHVpbnQzMl90IHhlbl9kb21pZDsKPiAgZW51bSB4ZW5fbW9kZSB4ZW5f bW9kZSA9IFhFTl9FTVVMQVRFOwo+ICBib29sIHhlbl9kb21pZF9yZXN0cmljdDsKPiArYm9vbCB4 ZW5fc3R1YmRvbTsKPiAgCj4gIHN0YXRpYyBpbnQgaGFzX2RlZmF1bHRzID0gMTsKPiAgc3RhdGlj IGludCBkZWZhdWx0X3NlcmlhbCA9IDE7Cj4gQEAgLTM3OTYsNiArMzc5NywxMyBAQCBpbnQgbWFp bihpbnQgYXJnYywgY2hhciAqKmFyZ3YsIGNoYXIgKiplbnZwKQo+ICAgICAgICAgICAgICAgICAg fQo+ICAgICAgICAgICAgICAgICAgeGVuX2RvbWlkX3Jlc3RyaWN0ID0gdHJ1ZTsKPiAgICAgICAg ICAgICAgICAgIGJyZWFrOwo+ICsgICAgICAgICAgICBjYXNlIFFFTVVfT1BUSU9OX3hlbl9zdHVi ZG9tOgo+ICsgICAgICAgICAgICAgICAgaWYgKCEoeGVuX2F2YWlsYWJsZSgpKSkgewo+ICsgICAg ICAgICAgICAgICAgICAgIGVycm9yX3JlcG9ydCgiT3B0aW9uIG5vdCBzdXBwb3J0ZWQgZm9yIHRo aXMgdGFyZ2V0Iik7Cj4gKyAgICAgICAgICAgICAgICAgICAgZXhpdCgxKTsKPiArICAgICAgICAg ICAgICAgIH0KPiArICAgICAgICAgICAgICAgIHhlbl9zdHViZG9tID0gdHJ1ZTsKPiArICAgICAg ICAgICAgICAgIGJyZWFrOwo+ICAgICAgICAgICAgICBjYXNlIFFFTVVfT1BUSU9OX3RyYWNlOgo+ ICAgICAgICAgICAgICAgICAgZ19mcmVlKHRyYWNlX2ZpbGUpOwo+ICAgICAgICAgICAgICAgICAg dHJhY2VfZmlsZSA9IHRyYWNlX29wdF9wYXJzZShvcHRhcmcpOwo+IAoKCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QK WGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5v cmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=