[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Minios-devel] [UNIKRAFT PATCH v2] plat/xen: Grant table support as menu option
On 12.02.19, 15:23, "Sharan Santhanam" <Sharan.Santhanam@xxxxxxxxx> wrote: Hello Simon, Please find the comment inline. Thanks & Regards Sharan On 2/11/19 3:48 PM, Simon Kuenzer wrote: > Introduces a menu option to enable or disable grant table support. > The reason is that our grant table implementation depends on > libuklock, libuksched, and libukalloc. A minimal requires these > libraries selected, too. This may be an obstacle when running driver > implementation in higher-level languages. Additionally, some of > these libraries are currenlty not supported on Arm. It is > wiser to give an option for disabling grant table support. > > Signed-off-by: Simon Kuenzer <simon.kuenzer@xxxxxxxxx> > --- > plat/xen/Config.uk | 20 +++++++++++++++----- > plat/xen/Makefile.uk | 5 ++++- > plat/xen/include/common/gnttab.h | 6 ++++++ > plat/xen/memory.c | 2 ++ > 4 files changed, 27 insertions(+), 6 deletions(-) > > diff --git a/plat/xen/Config.uk b/plat/xen/Config.uk > index d0143e95..9cfe90a2 100644 > --- a/plat/xen/Config.uk > +++ b/plat/xen/Config.uk > @@ -3,8 +3,6 @@ menuconfig PLAT_XEN > default n > depends on (ARCH_X86_32 || ARCH_X86_64 || ARCH_ARM_32) > select LIBUKDEBUG > - select LIBUKLOCK > - select LIBUKLOCK_SEMAPHORE > select LIBNOLIBC if !HAVE_LIBC > select LIBFDT if ARCH_ARM_32 > select XEN_DBGEMERGENCY if ARCH_ARM_32 > @@ -21,11 +19,23 @@ if (PLAT_XEN) > option is enabled the hypervisor console is used > for kernel messages only. > > +config XEN_GNTTAB > + bool "Grant table support" > + default y > + depends on (ARCH_X86_64) > + select LIBUKALLOC > + select LIBUKLOCK > + select LIBUKLOCK_SEMAPHORE > + select LIBUKSCHED > + help > + Support grant table operations > + > menuconfig XEN_XENBUS > - bool "Xenbus Driver" > + bool "Xenbus/XenStore driver" > default n > - depends on (ARCH_X86_64) > + depends on XEN_GNTTAB Why do we introduce the dependency on the Grant table. The xenbus seems to have a dependency on the LIBUKALLOC and LIBUKSCHED. Yes you are right. I assumed such a dependency but in fact there isn't one. I will fix this with a v2. > select LIBUKBUS > help > - Register a Xenbus driver as uk_bus > + Registers Xenbus as bus driver to libukbus and provides a > + XenStore communication API for Xen drivers > endif > diff --git a/plat/xen/Makefile.uk b/plat/xen/Makefile.uk > index 38b510ad..3439a0d9 100644 > --- a/plat/xen/Makefile.uk > +++ b/plat/xen/Makefile.uk > @@ -45,7 +45,6 @@ LIBXENPLAT_SRCS-$(CONFIG_ARCH_X86_64) += $(LIBXENPLAT_BASE)/x86/entry64.S > LIBXENPLAT_SRCS-$(CONFIG_ARCH_X86_64) += $(LIBXENPLAT_BASE)/x86/mm.c > LIBXENPLAT_SRCS-$(CONFIG_ARCH_X86_64) += $(LIBXENPLAT_BASE)/x86/arch_events.c > LIBXENPLAT_SRCS-$(CONFIG_ARCH_X86_64) += $(LIBXENPLAT_BASE)/x86/arch_time.c > -LIBXENPLAT_SRCS-$(CONFIG_ARCH_X86_64) += $(LIBXENPLAT_BASE)/x86/gnttab.c|x86 > > ifneq ($(XEN_HVMLITE),y) > LIBXENPLAT_ASFLAGS-y += -DCONFIG_PARAVIRT > @@ -73,7 +72,11 @@ LIBXENPLAT_SRCS-y += $(LIBXENPLAT_BASE)/lcpu.c > LIBXENPLAT_SRCS-y += $(LIBXENPLAT_BASE)/console.c > LIBXENPLAT_SRCS-y += $(LIBXENPLAT_BASE)/shutdown.c > LIBXENPLAT_SRCS-y += $(LIBXENPLAT_BASE)/events.c > + > +ifeq ($(CONFIG_XEN_GNTTAB),y) > LIBXENPLAT_SRCS-y += $(LIBXENPLAT_BASE)/gnttab.c > +LIBXENPLAT_SRCS-$(CONFIG_ARCH_X86_64) += $(LIBXENPLAT_BASE)/x86/gnttab.c|x86 > +endif > > ifeq ($(CONFIG_XEN_XENBUS),y) > LIBXENBUS_EXPORTS = $(LIBXENPLAT_BASE)/xenbus/exportsyms.uk > diff --git a/plat/xen/include/common/gnttab.h b/plat/xen/include/common/gnttab.h > index d4bb4172..f5cde5c5 100644 > --- a/plat/xen/include/common/gnttab.h > +++ b/plat/xen/include/common/gnttab.h > @@ -26,6 +26,10 @@ > #ifndef __GNTTAB_H__ > #define __GNTTAB_H__ > > +#include <uk/config.h> > + > +#ifdef CONFIG_XEN_GNTTAB > + > #include <uk/alloc.h> > #include <xen/grant_table.h> > > @@ -45,4 +49,6 @@ const char *gnttabop_error(__s16 status); > > grant_entry_v1_t *gnttab_arch_init(int nr_grant_frames); > > +#endif /* CONFIG_XEN_GNTTAB */ > + > #endif /* !__GNTTAB_H__ */ > diff --git a/plat/xen/memory.c b/plat/xen/memory.c > index f84dca71..1f55887e 100644 > --- a/plat/xen/memory.c > +++ b/plat/xen/memory.c > @@ -123,6 +123,8 @@ int ukplat_memregion_get(int i, struct ukplat_memregion_desc *m) > > int _ukplat_mem_mappings_init(void) > { > +#ifdef CONFIG_XEN_GNTTAB > gnttab_init(); > +#endif > return 0; > } > _______________________________________________ Minios-devel mailing list Minios-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/minios-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |