From: Jason Andryuk <jandryuk@gmail.com>
To: qemu-devel@nongnu.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
Jason Andryuk <jandryuk@gmail.com>,
marmarek@invisiblethingslab.com,
Paul Durrant <paul.durrant@citrix.com>,
Paolo Bonzini <pbonzini@redhat.com>,
Anthony Perard <anthony.perard@citrix.com>,
xen-devel@lists.xenproject.org
Subject: [PATCH 1/6] xen: Introduce -xen-stubdom option
Date: Mon, 11 Mar 2019 14:02:11 -0400 [thread overview]
Message-ID: <20190311180216.18811-2-jandryuk@gmail.com> (raw)
In-Reply-To: <20190311180216.18811-1-jandryuk@gmail.com>
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.
Signed-off-by: Jason Andryuk <jandryuk@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);
--
2.20.1
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel
WARNING: multiple messages have this Message-ID (diff)
From: Jason Andryuk <jandryuk@gmail.com>
To: qemu-devel@nongnu.org
Cc: xen-devel@lists.xenproject.org, marmarek@invisiblethingslab.com,
Jason Andryuk <jandryuk@gmail.com>,
Stefano Stabellini <sstabellini@kernel.org>,
Anthony Perard <anthony.perard@citrix.com>,
Paul Durrant <paul.durrant@citrix.com>,
Paolo Bonzini <pbonzini@redhat.com>
Subject: [Qemu-devel] [PATCH 1/6] xen: Introduce -xen-stubdom option
Date: Mon, 11 Mar 2019 14:02:11 -0400 [thread overview]
Message-ID: <20190311180216.18811-2-jandryuk@gmail.com> (raw)
In-Reply-To: <20190311180216.18811-1-jandryuk@gmail.com>
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.
Signed-off-by: Jason Andryuk <jandryuk@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);
--
2.20.1
next prev parent reply other threads:[~2019-03-11 18:03 UTC|newest]
Thread overview: 50+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-03-11 18:02 [PATCH 0/6] Xen stubdom support Jason Andryuk
2019-03-11 18:02 ` [Qemu-devel] " Jason Andryuk
2019-03-11 18:02 ` Jason Andryuk [this message]
2019-03-11 18:02 ` [Qemu-devel] [PATCH 1/6] xen: Introduce -xen-stubdom option Jason Andryuk
2019-03-11 18:06 ` Paolo Bonzini
2019-03-11 18:06 ` [Qemu-devel] " Paolo Bonzini
2019-03-11 19:46 ` Jason Andryuk
2019-03-11 19:46 ` [Qemu-devel] " Jason Andryuk
2019-03-11 18:02 ` [PATCH 2/6] xen: Move xenstore initialization to common location Jason Andryuk
2019-03-11 18:02 ` [Qemu-devel] " Jason Andryuk
2019-03-13 15:01 ` Paul Durrant
2019-03-13 18:11 ` Jason Andryuk
2019-03-14 14:00 ` Paul Durrant
2019-03-11 18:02 ` [PATCH 3/6] xen: Skip backend initialization for stubdom Jason Andryuk
2019-03-11 18:02 ` [Qemu-devel] " Jason Andryuk
2019-03-13 15:04 ` Paul Durrant
2019-03-11 18:02 ` [PATCH 4/6] xen: Set HVM_PARAM_DM_DOMAIN for stubdom on older Xen Jason Andryuk
2019-03-11 18:02 ` [Qemu-devel] " Jason Andryuk
2019-03-11 18:02 ` [PATCH 5/6] xen-pt: Hide MSI-X from xen stubdoms Jason Andryuk
2019-03-11 18:02 ` [Qemu-devel] " Jason Andryuk
2019-03-12 12:04 ` Roger Pau Monné
2019-03-12 12:38 ` Marek Marczykowski-Górecki
2019-03-12 13:58 ` Jason Andryuk
2019-03-12 14:13 ` Roger Pau Monné
2019-03-12 15:15 ` Jason Andryuk
2019-03-13 2:15 ` Jason Andryuk
2019-03-12 14:29 ` Marek Marczykowski-Górecki
2019-03-11 18:02 ` [PATCH 6/6] xen-pt: Round pci regions sizes to XEN_PAGE_SIZE Jason Andryuk
2019-03-11 18:02 ` [Qemu-devel] " Jason Andryuk
2019-03-13 15:09 ` Paul Durrant
2019-03-14 18:15 ` Jason Andryuk
2019-03-14 19:22 ` Simon Gaiser
2019-03-14 19:37 ` Andrew Cooper
2019-03-15 9:12 ` Paul Durrant
2019-03-14 20:45 ` Simon Gaiser
2019-03-15 9:17 ` Paul Durrant
2019-03-15 16:28 ` Andrew Cooper
2019-03-20 17:28 ` Jason Andryuk
2019-03-22 3:09 ` Roger Pau Monné
2019-03-22 19:43 ` Jason Andryuk
2020-01-13 19:01 ` [Xen-devel] " Jason Andryuk
2020-01-13 19:01 ` Jason Andryuk
2020-01-14 10:04 ` Roger Pau Monné
2020-01-14 10:04 ` Roger Pau Monné
2020-01-14 14:41 ` Jason Andryuk
2020-01-14 14:41 ` Jason Andryuk
2020-01-14 18:04 ` Roger Pau Monné
2020-01-14 18:04 ` Roger Pau Monné
2020-01-15 8:33 ` Durrant, Paul
2020-01-15 8:33 ` Durrant, Paul
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190311180216.18811-2-jandryuk@gmail.com \
--to=jandryuk@gmail.com \
--cc=anthony.perard@citrix.com \
--cc=marmarek@invisiblethingslab.com \
--cc=paul.durrant@citrix.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=sstabellini@kernel.org \
--cc=xen-devel@lists.xenproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.