Thread (99 messages) 99 messages, 9 authors, 2012-08-06

[PATCH 13/24] xen/arm: get privilege status

From: Stefano Stabellini <hidden>
Date: 2012-08-01 16:21:20
Also in: lkml, xen-devel

On Wed, 1 Aug 2012, Konrad Rzeszutek Wilk wrote:
On Fri, Jul 27, 2012 at 03:33:50PM +0100, Ian Campbell wrote:
quoted
On Fri, 2012-07-27 at 15:25 +0100, Stefano Stabellini wrote:
quoted
On Fri, 27 Jul 2012, Ian Campbell wrote:
quoted
On Thu, 2012-07-26 at 16:33 +0100, Stefano Stabellini wrote:
quoted
Use Xen features to figure out if we are privileged.

XENFEAT_dom0 was introduced by 23735 in xen-unstable.hg.

Signed-off-by: Stefano Stabellini <redacted>
---
 arch/arm/xen/enlighten.c         |    7 +++++++
 include/xen/interface/features.h |    3 +++
 2 files changed, 10 insertions(+), 0 deletions(-)
diff --git a/arch/arm/xen/enlighten.c b/arch/arm/xen/enlighten.c
index dc68074..2e013cf 100644
--- a/arch/arm/xen/enlighten.c
+++ b/arch/arm/xen/enlighten.c
@@ -2,6 +2,7 @@
 #include <xen/interface/xen.h>
 #include <xen/interface/memory.h>
 #include <xen/platform_pci.h>
+#include <xen/features.h>
 #include <asm/xen/hypervisor.h>
 #include <asm/xen/hypercall.h>
 #include <linux/module.h>
@@ -58,6 +59,12 @@ int __init xen_guest_init(void)
 	}
 	xen_domain_type = XEN_HVM_DOMAIN;
 
+	xen_setup_features();
+	if (xen_feature(XENFEAT_dom0))
+		xen_start_info->flags |= SIF_INITDOMAIN|SIF_PRIVILEGED;
+	else
+		xen_start_info->flags &= ~(SIF_INITDOMAIN|SIF_PRIVILEGED);
What happens here on platforms prior to hypervisor changeset 23735?
It wouldn't work.
Considering that we are certainly not going to backport ARM support to
Xen 4.1, and that both ARM and XENFEAT_dom0 will be present in Xen 4.2,
do we really need to support the Xen unstable changesets between ARM was
introduced and XENFEAT_dom0 appeared?
So should it just panic and say "AAAAAAH"?
I could panic if I find out that XENFEAT_dom0 is unimplemented but
actually I only get to know if it is available...
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help