summaryrefslogtreecommitdiff
path: root/vl.c
diff options
context:
space:
mode:
authorPaul Durrant <paul.durrant@citrix.com>2017-03-22 09:39:15 +0000
committerStefano Stabellini <sstabellini@kernel.org>2017-04-21 12:40:14 -0700
commit1c599472b02783ee80691bfdaa465af9fbf25c8a (patch)
tree10afa631ab372f500ae8af5793684ae6f17b0512 /vl.c
parentf1167ee684279bffabe7bb3ab23eff87577fe427 (diff)
downloadqemu-1c599472b02783ee80691bfdaa465af9fbf25c8a.tar.gz
xen: use libxendevice model to restrict operations
This patch adds a command-line option (-xen-domid-restrict) which will use the new libxendevicemodel API to restrict devicemodel [1] operations to the specified domid. (Such operations are not applicable to the xenpv machine type). This patch also adds a tracepoint to allow successful enabling of the restriction to be monitored. [1] I.e. operations issued by libxendevicemodel. Operation issued by other xen libraries (e.g. libxenforeignmemory) are currently still unrestricted but this will be rectified by subsequent patches. Signed-off-by: Paul Durrant <paul.durrant@citrix.com> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Diffstat (limited to 'vl.c')
-rw-r--r--vl.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/vl.c b/vl.c
index 0b4ed5241c..f46e070e0d 100644
--- a/vl.c
+++ b/vl.c
@@ -205,6 +205,7 @@ static NotifierList machine_init_done_notifiers =
bool xen_allowed;
uint32_t xen_domid;
enum xen_mode xen_mode = XEN_EMULATE;
+bool xen_domid_restrict;
static int has_defaults = 1;
static int default_serial = 1;
@@ -3933,6 +3934,13 @@ int main(int argc, char **argv, char **envp)
}
xen_mode = XEN_ATTACH;
break;
+ case QEMU_OPTION_xen_domid_restrict:
+ if (!(xen_available())) {
+ error_report("Option not supported for this target");
+ exit(1);
+ }
+ xen_domid_restrict = true;
+ break;
case QEMU_OPTION_trace:
g_free(trace_file);
trace_file = trace_opt_parse(optarg);