Message ID | 667059a3bc6ed9a8b993f64f2b1176a2a131f41e.1662462034.git.rahul.singh@arm.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | xen/evtchn: implement static event channel signaling | expand |
On Tue, 6 Sep 2022, Rahul Singh wrote: > Introduce a new "xen,enhanced" dom0less property value "no-xenstore" to > disable xenstore interface for dom0less guests. > > Signed-off-by: Rahul Singh <rahul.singh@arm.com> > --- > Changes in v4: > - Implement defines for dom0less features > Changes in v3: > - new patch in this version > --- > docs/misc/arm/device-tree/booting.txt | 4 ++++ > xen/arch/arm/domain_build.c | 10 ++++++---- > xen/arch/arm/include/asm/kernel.h | 23 +++++++++++++++++++++-- > 3 files changed, 31 insertions(+), 6 deletions(-) > > diff --git a/docs/misc/arm/device-tree/booting.txt b/docs/misc/arm/device-tree/booting.txt > index 98253414b8..1b0dca1454 100644 > --- a/docs/misc/arm/device-tree/booting.txt > +++ b/docs/misc/arm/device-tree/booting.txt > @@ -204,6 +204,10 @@ with the following properties: > - "disabled" > Xen PV interfaces are disabled. > > + - no-xenstore > + Xen PV interfaces, including grant-table will be enabled but xenstore > + will be disabled for the VM. Please use "" for consistency: - "no-xenstore" > If the xen,enhanced property is present with no value, it defaults > to "enabled". If the xen,enhanced property is not present, PV > interfaces are disabled. > diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c > index 707e247f6a..0b164ef595 100644 > --- a/xen/arch/arm/domain_build.c > +++ b/xen/arch/arm/domain_build.c > @@ -2891,7 +2891,7 @@ static int __init prepare_dtb_domU(struct domain *d, struct kernel_info *kinfo) > goto err; > } > > - if ( kinfo->dom0less_enhanced ) > + if ( kinfo->dom0less_feature & DOM0LESS_ENHANCED_NO_XS ) > { > ret = make_hypervisor_node(d, kinfo, addrcells, sizecells); > if ( ret ) > @@ -3209,10 +3209,12 @@ static int __init construct_domU(struct domain *d, > (rc == 0 && !strcmp(dom0less_enhanced, "enabled")) ) > { > if ( hardware_domain ) > - kinfo.dom0less_enhanced = true; > + kinfo.dom0less_feature = DOM0LESS_ENHANCED; > else > - panic("Tried to use xen,enhanced without dom0\n"); > + panic("At the moment, Xenstore support requires dom0 to be present\n"); > } > + else if ( rc == 0 && !strcmp(dom0less_enhanced, "no-xenstore") ) > + kinfo.dom0less_feature = DOM0LESS_ENHANCED_NO_XS; > > if ( vcpu_create(d, 0) == NULL ) > return -ENOMEM; > @@ -3252,7 +3254,7 @@ static int __init construct_domU(struct domain *d, > if ( rc < 0 ) > return rc; > > - if ( kinfo.dom0less_enhanced ) > + if ( kinfo.dom0less_feature & DOM0LESS_XENSTORE ) > { > ASSERT(hardware_domain); > rc = alloc_xenstore_evtchn(d); > diff --git a/xen/arch/arm/include/asm/kernel.h b/xen/arch/arm/include/asm/kernel.h > index c4dc039b54..ad240494ea 100644 > --- a/xen/arch/arm/include/asm/kernel.h > +++ b/xen/arch/arm/include/asm/kernel.h > @@ -9,6 +9,25 @@ > #include <xen/device_tree.h> > #include <asm/setup.h> > > +/* > + * List of possible features for dom0less domUs > + * > + * DOM0LESS_ENHANCED_NO_XS: Notify the OS it is running on top of Xen. All the > + * default features (excluding Xenstore) will be > + * available. Note that an OS *must* not rely on the > + * availability of Xen features if this is not set. > + * DOM0LESS_XENSTORE: Xenstore will be enabled for the VM. This feature > + * can't be enabled without the > + * DOM0LESS_ENHANCED_NO_XS. > + * DOM0LESS_ENHANCED: Notify the OS it is running on top of Xen. All the > + * default features (including Xenstore) will be > + * available. Note that an OS *must* not rely on the > + * availability of Xen features if this is not set. > + */ > +#define DOM0LESS_ENHANCED_NO_XS BIT(0, U) > +#define DOM0LESS_XENSTORE BIT(1, U) > +#define DOM0LESS_ENHANCED (DOM0LESS_ENHANCED_NO_XS | DOM0LESS_XENSTORE) > + > struct kernel_info { > #ifdef CONFIG_ARM_64 > enum domain_type type; > @@ -36,8 +55,8 @@ struct kernel_info { > /* Enable pl011 emulation */ > bool vpl011; > > - /* Enable PV drivers */ > - bool dom0less_enhanced; > + /* Enable/Disable PV drivers interface,grant table, evtchn or xenstore */ missing a whitespace > + uint32_t dom0less_feature; Given that we only really need 2 bits today, and given that uint8_t and uint16_t are free but uint32_t increases the size of the struct, could we just use uint16_t dom0less_feature ? Everything else looks good, these are just minor things. > /* GIC phandle */ > uint32_t phandle_gic; > -- > 2.25.1 >
Hi Stefano, > On 6 Sep 2022, at 11:12 pm, Stefano Stabellini <sstabellini@kernel.org> wrote: > > On Tue, 6 Sep 2022, Rahul Singh wrote: >> Introduce a new "xen,enhanced" dom0less property value "no-xenstore" to >> disable xenstore interface for dom0less guests. >> >> Signed-off-by: Rahul Singh <rahul.singh@arm.com> >> --- >> Changes in v4: >> - Implement defines for dom0less features >> Changes in v3: >> - new patch in this version >> --- >> docs/misc/arm/device-tree/booting.txt | 4 ++++ >> xen/arch/arm/domain_build.c | 10 ++++++---- >> xen/arch/arm/include/asm/kernel.h | 23 +++++++++++++++++++++-- >> 3 files changed, 31 insertions(+), 6 deletions(-) >> >> diff --git a/docs/misc/arm/device-tree/booting.txt b/docs/misc/arm/device-tree/booting.txt >> index 98253414b8..1b0dca1454 100644 >> --- a/docs/misc/arm/device-tree/booting.txt >> +++ b/docs/misc/arm/device-tree/booting.txt >> @@ -204,6 +204,10 @@ with the following properties: >> - "disabled" >> Xen PV interfaces are disabled. >> >> + - no-xenstore >> + Xen PV interfaces, including grant-table will be enabled but xenstore >> + will be disabled for the VM. > > Please use "" for consistency: > > - "no-xenstore" > Ack. > >> If the xen,enhanced property is present with no value, it defaults >> to "enabled". If the xen,enhanced property is not present, PV >> interfaces are disabled. >> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c >> index 707e247f6a..0b164ef595 100644 >> --- a/xen/arch/arm/domain_build.c >> +++ b/xen/arch/arm/domain_build.c >> @@ -2891,7 +2891,7 @@ static int __init prepare_dtb_domU(struct domain *d, struct kernel_info *kinfo) >> goto err; >> } >> >> - if ( kinfo->dom0less_enhanced ) >> + if ( kinfo->dom0less_feature & DOM0LESS_ENHANCED_NO_XS ) >> { >> ret = make_hypervisor_node(d, kinfo, addrcells, sizecells); >> if ( ret ) >> @@ -3209,10 +3209,12 @@ static int __init construct_domU(struct domain *d, >> (rc == 0 && !strcmp(dom0less_enhanced, "enabled")) ) >> { >> if ( hardware_domain ) >> - kinfo.dom0less_enhanced = true; >> + kinfo.dom0less_feature = DOM0LESS_ENHANCED; >> else >> - panic("Tried to use xen,enhanced without dom0\n"); >> + panic("At the moment, Xenstore support requires dom0 to be present\n"); >> } >> + else if ( rc == 0 && !strcmp(dom0less_enhanced, "no-xenstore") ) >> + kinfo.dom0less_feature = DOM0LESS_ENHANCED_NO_XS; >> >> if ( vcpu_create(d, 0) == NULL ) >> return -ENOMEM; >> @@ -3252,7 +3254,7 @@ static int __init construct_domU(struct domain *d, >> if ( rc < 0 ) >> return rc; >> >> - if ( kinfo.dom0less_enhanced ) >> + if ( kinfo.dom0less_feature & DOM0LESS_XENSTORE ) >> { >> ASSERT(hardware_domain); >> rc = alloc_xenstore_evtchn(d); >> diff --git a/xen/arch/arm/include/asm/kernel.h b/xen/arch/arm/include/asm/kernel.h >> index c4dc039b54..ad240494ea 100644 >> --- a/xen/arch/arm/include/asm/kernel.h >> +++ b/xen/arch/arm/include/asm/kernel.h >> @@ -9,6 +9,25 @@ >> #include <xen/device_tree.h> >> #include <asm/setup.h> >> >> +/* >> + * List of possible features for dom0less domUs >> + * >> + * DOM0LESS_ENHANCED_NO_XS: Notify the OS it is running on top of Xen. All the >> + * default features (excluding Xenstore) will be >> + * available. Note that an OS *must* not rely on the >> + * availability of Xen features if this is not set. >> + * DOM0LESS_XENSTORE: Xenstore will be enabled for the VM. This feature >> + * can't be enabled without the >> + * DOM0LESS_ENHANCED_NO_XS. >> + * DOM0LESS_ENHANCED: Notify the OS it is running on top of Xen. All the >> + * default features (including Xenstore) will be >> + * available. Note that an OS *must* not rely on the >> + * availability of Xen features if this is not set. >> + */ >> +#define DOM0LESS_ENHANCED_NO_XS BIT(0, U) >> +#define DOM0LESS_XENSTORE BIT(1, U) >> +#define DOM0LESS_ENHANCED (DOM0LESS_ENHANCED_NO_XS | DOM0LESS_XENSTORE) >> + >> struct kernel_info { >> #ifdef CONFIG_ARM_64 >> enum domain_type type; >> @@ -36,8 +55,8 @@ struct kernel_info { >> /* Enable pl011 emulation */ >> bool vpl011; >> >> - /* Enable PV drivers */ >> - bool dom0less_enhanced; >> + /* Enable/Disable PV drivers interface,grant table, evtchn or xenstore */ > > missing a whitespace Ack. > > >> + uint32_t dom0less_feature; > > Given that we only really need 2 bits today, and given that uint8_t and > uint16_t are free but uint32_t increases the size of the struct, could > we just use uint16_t dom0less_feature ? Yes, I will change to uint16_t in next version. Regards, Rahul
Hi Rahul On 06/09/2022 14:40, Rahul Singh wrote: > Introduce a new "xen,enhanced" dom0less property value "no-xenstore" to > disable xenstore interface for dom0less guests. > > Signed-off-by: Rahul Singh <rahul.singh@arm.com> > --- > Changes in v4: > - Implement defines for dom0less features > Changes in v3: > - new patch in this version > --- > docs/misc/arm/device-tree/booting.txt | 4 ++++ > xen/arch/arm/domain_build.c | 10 ++++++---- > xen/arch/arm/include/asm/kernel.h | 23 +++++++++++++++++++++-- > 3 files changed, 31 insertions(+), 6 deletions(-) > > diff --git a/docs/misc/arm/device-tree/booting.txt b/docs/misc/arm/device-tree/booting.txt > index 98253414b8..1b0dca1454 100644 > --- a/docs/misc/arm/device-tree/booting.txt > +++ b/docs/misc/arm/device-tree/booting.txt > @@ -204,6 +204,10 @@ with the following properties: > - "disabled" > Xen PV interfaces are disabled. > > + - no-xenstore > + Xen PV interfaces, including grant-table will be enabled but xenstore Please use "All default" in front. So it is clear that everything is enabled but xenstore. > + will be disabled for the VM. > + > If the xen,enhanced property is present with no value, it defaults > to "enabled". If the xen,enhanced property is not present, PV > interfaces are disabled. > diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c > index 707e247f6a..0b164ef595 100644 > --- a/xen/arch/arm/domain_build.c > +++ b/xen/arch/arm/domain_build.c > @@ -2891,7 +2891,7 @@ static int __init prepare_dtb_domU(struct domain *d, struct kernel_info *kinfo) > goto err; > } > > - if ( kinfo->dom0less_enhanced ) > + if ( kinfo->dom0less_feature & DOM0LESS_ENHANCED_NO_XS ) > { > ret = make_hypervisor_node(d, kinfo, addrcells, sizecells); > if ( ret ) > @@ -3209,10 +3209,12 @@ static int __init construct_domU(struct domain *d, > (rc == 0 && !strcmp(dom0less_enhanced, "enabled")) ) > { > if ( hardware_domain ) > - kinfo.dom0less_enhanced = true; > + kinfo.dom0less_feature = DOM0LESS_ENHANCED; > else > - panic("Tried to use xen,enhanced without dom0\n"); > + panic("At the moment, Xenstore support requires dom0 to be present\n"); > } > + else if ( rc == 0 && !strcmp(dom0less_enhanced, "no-xenstore") ) > + kinfo.dom0less_feature = DOM0LESS_ENHANCED_NO_XS; > > if ( vcpu_create(d, 0) == NULL ) > return -ENOMEM; > @@ -3252,7 +3254,7 @@ static int __init construct_domU(struct domain *d, > if ( rc < 0 ) > return rc; > > - if ( kinfo.dom0less_enhanced ) > + if ( kinfo.dom0less_feature & DOM0LESS_XENSTORE ) > { > ASSERT(hardware_domain); > rc = alloc_xenstore_evtchn(d); > diff --git a/xen/arch/arm/include/asm/kernel.h b/xen/arch/arm/include/asm/kernel.h > index c4dc039b54..ad240494ea 100644 > --- a/xen/arch/arm/include/asm/kernel.h > +++ b/xen/arch/arm/include/asm/kernel.h > @@ -9,6 +9,25 @@ > #include <xen/device_tree.h> > #include <asm/setup.h> > > +/* > + * List of possible features for dom0less domUs > + * > + * DOM0LESS_ENHANCED_NO_XS: Notify the OS it is running on top of Xen. All the > + * default features (excluding Xenstore) will be > + * available. Note that an OS *must* not rely on the > + * availability of Xen features if this is not set. > + * DOM0LESS_XENSTORE: Xenstore will be enabled for the VM. This feature > + * can't be enabled without the > + * DOM0LESS_ENHANCED_NO_XS. > + * DOM0LESS_ENHANCED: Notify the OS it is running on top of Xen. All the > + * default features (including Xenstore) will be > + * available. Note that an OS *must* not rely on the > + * availability of Xen features if this is not set. > + */ > +#define DOM0LESS_ENHANCED_NO_XS BIT(0, U) > +#define DOM0LESS_XENSTORE BIT(1, U) > +#define DOM0LESS_ENHANCED (DOM0LESS_ENHANCED_NO_XS | DOM0LESS_XENSTORE) > + > struct kernel_info { > #ifdef CONFIG_ARM_64 > enum domain_type type; > @@ -36,8 +55,8 @@ struct kernel_info { > /* Enable pl011 emulation */ > bool vpl011; > > - /* Enable PV drivers */ > - bool dom0less_enhanced; > + /* Enable/Disable PV drivers interface,grant table, evtchn or xenstore */ The part after "," is technically wrong because it also affects other interfaces. But I would drop it to avoid any stale comment (we may add new one in the futures). Cheers,
Hi Julien, > On 7 Sep 2022, at 2:09 pm, Julien Grall <julien@xen.org> wrote: > > Hi Rahul > > On 06/09/2022 14:40, Rahul Singh wrote: >> Introduce a new "xen,enhanced" dom0less property value "no-xenstore" to >> disable xenstore interface for dom0less guests. >> Signed-off-by: Rahul Singh <rahul.singh@arm.com> >> --- >> Changes in v4: >> - Implement defines for dom0less features >> Changes in v3: >> - new patch in this version >> --- >> docs/misc/arm/device-tree/booting.txt | 4 ++++ >> xen/arch/arm/domain_build.c | 10 ++++++---- >> xen/arch/arm/include/asm/kernel.h | 23 +++++++++++++++++++++-- >> 3 files changed, 31 insertions(+), 6 deletions(-) >> diff --git a/docs/misc/arm/device-tree/booting.txt b/docs/misc/arm/device-tree/booting.txt >> index 98253414b8..1b0dca1454 100644 >> --- a/docs/misc/arm/device-tree/booting.txt >> +++ b/docs/misc/arm/device-tree/booting.txt >> @@ -204,6 +204,10 @@ with the following properties: >> - "disabled" >> Xen PV interfaces are disabled. >> + - no-xenstore >> + Xen PV interfaces, including grant-table will be enabled but xenstore > > Please use "All default" in front. So it is clear that everything is enabled but xenstore. Ack. > >> + will be disabled for the VM. >> + >> If the xen,enhanced property is present with no value, it defaults >> to "enabled". If the xen,enhanced property is not present, PV >> interfaces are disabled. >> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c >> index 707e247f6a..0b164ef595 100644 >> --- a/xen/arch/arm/domain_build.c >> +++ b/xen/arch/arm/domain_build.c >> @@ -2891,7 +2891,7 @@ static int __init prepare_dtb_domU(struct domain *d, struct kernel_info *kinfo) >> goto err; >> } >> - if ( kinfo->dom0less_enhanced ) >> + if ( kinfo->dom0less_feature & DOM0LESS_ENHANCED_NO_XS ) >> { >> ret = make_hypervisor_node(d, kinfo, addrcells, sizecells); >> if ( ret ) >> @@ -3209,10 +3209,12 @@ static int __init construct_domU(struct domain *d, >> (rc == 0 && !strcmp(dom0less_enhanced, "enabled")) ) >> { >> if ( hardware_domain ) >> - kinfo.dom0less_enhanced = true; >> + kinfo.dom0less_feature = DOM0LESS_ENHANCED; >> else >> - panic("Tried to use xen,enhanced without dom0\n"); >> + panic("At the moment, Xenstore support requires dom0 to be present\n"); >> } >> + else if ( rc == 0 && !strcmp(dom0less_enhanced, "no-xenstore") ) >> + kinfo.dom0less_feature = DOM0LESS_ENHANCED_NO_XS; >> if ( vcpu_create(d, 0) == NULL ) >> return -ENOMEM; >> @@ -3252,7 +3254,7 @@ static int __init construct_domU(struct domain *d, >> if ( rc < 0 ) >> return rc; >> - if ( kinfo.dom0less_enhanced ) >> + if ( kinfo.dom0less_feature & DOM0LESS_XENSTORE ) >> { >> ASSERT(hardware_domain); >> rc = alloc_xenstore_evtchn(d); >> diff --git a/xen/arch/arm/include/asm/kernel.h b/xen/arch/arm/include/asm/kernel.h >> index c4dc039b54..ad240494ea 100644 >> --- a/xen/arch/arm/include/asm/kernel.h >> +++ b/xen/arch/arm/include/asm/kernel.h >> @@ -9,6 +9,25 @@ >> #include <xen/device_tree.h> >> #include <asm/setup.h> >> +/* >> + * List of possible features for dom0less domUs >> + * >> + * DOM0LESS_ENHANCED_NO_XS: Notify the OS it is running on top of Xen. All the >> + * default features (excluding Xenstore) will be >> + * available. Note that an OS *must* not rely on the >> + * availability of Xen features if this is not set. >> + * DOM0LESS_XENSTORE: Xenstore will be enabled for the VM. This feature >> + * can't be enabled without the >> + * DOM0LESS_ENHANCED_NO_XS. >> + * DOM0LESS_ENHANCED: Notify the OS it is running on top of Xen. All the >> + * default features (including Xenstore) will be >> + * available. Note that an OS *must* not rely on the >> + * availability of Xen features if this is not set. >> + */ >> +#define DOM0LESS_ENHANCED_NO_XS BIT(0, U) >> +#define DOM0LESS_XENSTORE BIT(1, U) >> +#define DOM0LESS_ENHANCED (DOM0LESS_ENHANCED_NO_XS | DOM0LESS_XENSTORE) >> + >> struct kernel_info { >> #ifdef CONFIG_ARM_64 >> enum domain_type type; >> @@ -36,8 +55,8 @@ struct kernel_info { >> /* Enable pl011 emulation */ >> bool vpl011; >> - /* Enable PV drivers */ >> - bool dom0less_enhanced; >> + /* Enable/Disable PV drivers interface,grant table, evtchn or xenstore */ > > The part after "," is technically wrong because it also affects other interfaces. But I would drop it to avoid any stale comment (we may add new one in the futures). Ok . I will remove and will comment like this: /* Enable/Disable PV drivers interfaces */ Regards, Rahul
diff --git a/docs/misc/arm/device-tree/booting.txt b/docs/misc/arm/device-tree/booting.txt index 98253414b8..1b0dca1454 100644 --- a/docs/misc/arm/device-tree/booting.txt +++ b/docs/misc/arm/device-tree/booting.txt @@ -204,6 +204,10 @@ with the following properties: - "disabled" Xen PV interfaces are disabled. + - no-xenstore + Xen PV interfaces, including grant-table will be enabled but xenstore + will be disabled for the VM. + If the xen,enhanced property is present with no value, it defaults to "enabled". If the xen,enhanced property is not present, PV interfaces are disabled. diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c index 707e247f6a..0b164ef595 100644 --- a/xen/arch/arm/domain_build.c +++ b/xen/arch/arm/domain_build.c @@ -2891,7 +2891,7 @@ static int __init prepare_dtb_domU(struct domain *d, struct kernel_info *kinfo) goto err; } - if ( kinfo->dom0less_enhanced ) + if ( kinfo->dom0less_feature & DOM0LESS_ENHANCED_NO_XS ) { ret = make_hypervisor_node(d, kinfo, addrcells, sizecells); if ( ret ) @@ -3209,10 +3209,12 @@ static int __init construct_domU(struct domain *d, (rc == 0 && !strcmp(dom0less_enhanced, "enabled")) ) { if ( hardware_domain ) - kinfo.dom0less_enhanced = true; + kinfo.dom0less_feature = DOM0LESS_ENHANCED; else - panic("Tried to use xen,enhanced without dom0\n"); + panic("At the moment, Xenstore support requires dom0 to be present\n"); } + else if ( rc == 0 && !strcmp(dom0less_enhanced, "no-xenstore") ) + kinfo.dom0less_feature = DOM0LESS_ENHANCED_NO_XS; if ( vcpu_create(d, 0) == NULL ) return -ENOMEM; @@ -3252,7 +3254,7 @@ static int __init construct_domU(struct domain *d, if ( rc < 0 ) return rc; - if ( kinfo.dom0less_enhanced ) + if ( kinfo.dom0less_feature & DOM0LESS_XENSTORE ) { ASSERT(hardware_domain); rc = alloc_xenstore_evtchn(d); diff --git a/xen/arch/arm/include/asm/kernel.h b/xen/arch/arm/include/asm/kernel.h index c4dc039b54..ad240494ea 100644 --- a/xen/arch/arm/include/asm/kernel.h +++ b/xen/arch/arm/include/asm/kernel.h @@ -9,6 +9,25 @@ #include <xen/device_tree.h> #include <asm/setup.h> +/* + * List of possible features for dom0less domUs + * + * DOM0LESS_ENHANCED_NO_XS: Notify the OS it is running on top of Xen. All the + * default features (excluding Xenstore) will be + * available. Note that an OS *must* not rely on the + * availability of Xen features if this is not set. + * DOM0LESS_XENSTORE: Xenstore will be enabled for the VM. This feature + * can't be enabled without the + * DOM0LESS_ENHANCED_NO_XS. + * DOM0LESS_ENHANCED: Notify the OS it is running on top of Xen. All the + * default features (including Xenstore) will be + * available. Note that an OS *must* not rely on the + * availability of Xen features if this is not set. + */ +#define DOM0LESS_ENHANCED_NO_XS BIT(0, U) +#define DOM0LESS_XENSTORE BIT(1, U) +#define DOM0LESS_ENHANCED (DOM0LESS_ENHANCED_NO_XS | DOM0LESS_XENSTORE) + struct kernel_info { #ifdef CONFIG_ARM_64 enum domain_type type; @@ -36,8 +55,8 @@ struct kernel_info { /* Enable pl011 emulation */ bool vpl011; - /* Enable PV drivers */ - bool dom0less_enhanced; + /* Enable/Disable PV drivers interface,grant table, evtchn or xenstore */ + uint32_t dom0less_feature; /* GIC phandle */ uint32_t phandle_gic;
Introduce a new "xen,enhanced" dom0less property value "no-xenstore" to disable xenstore interface for dom0less guests. Signed-off-by: Rahul Singh <rahul.singh@arm.com> --- Changes in v4: - Implement defines for dom0less features Changes in v3: - new patch in this version --- docs/misc/arm/device-tree/booting.txt | 4 ++++ xen/arch/arm/domain_build.c | 10 ++++++---- xen/arch/arm/include/asm/kernel.h | 23 +++++++++++++++++++++-- 3 files changed, 31 insertions(+), 6 deletions(-)