[MINI-OS PATCH v2] add config support for each Xen library

Juergen Gross posted 1 patch 2 months, 1 week ago
Failed in applying to current master (apply log)
Config.mk | 11 +++++++++--
Makefile  | 18 +++++++++++++++++-
2 files changed, 26 insertions(+), 3 deletions(-)
[MINI-OS PATCH v2] add config support for each Xen library
Posted by Juergen Gross 2 months, 1 week ago
Instead of adding all or no Xen library (controlled by CONFIG_XC),
support a dedicated config option for each library instead,
defaulting to disabled.

As it is no longer needed now, drop the CONFIG_XC support.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- merge patches of the V1 series (Samuel Thibault)

Note: do not apply to the tree until the related Xen series
"stubdom: prepare more fine grained Xen library usage" has been
applied.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 Config.mk | 11 +++++++++--
 Makefile  | 18 +++++++++++++++++-
 2 files changed, 26 insertions(+), 3 deletions(-)

diff --git a/Config.mk b/Config.mk
index f2d1f0ae..f59a0cf4 100644
--- a/Config.mk
+++ b/Config.mk
@@ -193,6 +193,15 @@ CONFIG-n += CONFIG_9PFRONT
 CONFIG-n += CONFIG_TPM_TIS
 CONFIG-n += CONFIG_TPMBACK
 CONFIG-n += CONFIG_BALLOON
+CONFIG-n += CONFIG_LIBXENCALL
+CONFIG-n += CONFIG_LIBXENCTRL
+CONFIG-n += CONFIG_LIBXENDEVICEMODEL
+CONFIG-n += CONFIG_LIBXENEVTCHN
+CONFIG-n += CONFIG_LIBXENFOREIGNMEMORY
+CONFIG-n += CONFIG_LIBXENGNTTAB
+CONFIG-n += CONFIG_LIBXENGUEST
+CONFIG-n += CONFIG_LIBXENTOOLCORE
+CONFIG-n += CONFIG_LIBXENTOOLLOG
 # Setting CONFIG_USE_XEN_CONSOLE copies all print output to the Xen emergency
 # console apart of standard dom0 handled console.
 CONFIG-n += CONFIG_USE_XEN_CONSOLE
@@ -201,8 +210,6 @@ CONFIG-y += CONFIG_PARAVIRT
 else
 CONFIG-n += CONFIG_PARAVIRT
 endif
-# Support legacy CONFIG_XC value
-CONFIG_XC ?= $(libc)
 
 CONFIG-$(lwip) += CONFIG_LWIP
 
diff --git a/Makefile b/Makefile
index 6c8df8b5..ffa8d1a8 100644
--- a/Makefile
+++ b/Makefile
@@ -123,23 +123,39 @@ endif
 OBJS := $(filter-out $(OBJ_DIR)/lwip%.o $(LWO), $(OBJS))
 
 ifeq ($(libc),y)
-ifeq ($(CONFIG_XC),y)
+ifeq ($(CONFIG_LIBXENTOOLCORE),y)
 APP_LDLIBS += -L$(TOOLCORE_PATH) -whole-archive -lxentoolcore -no-whole-archive
 LIBS += $(TOOLCORE_PATH)/libxentoolcore.a
+endif
+ifeq ($(CONFIG_LIBXENTOOLLOG),y)
 APP_LDLIBS += -L$(TOOLLOG_PATH) -whole-archive -lxentoollog -no-whole-archive
 LIBS += $(TOOLLOG_PATH)/libxentoollog.a
+endif
+ifeq ($(CONFIG_LIBXENEVTCHN),y)
 APP_LDLIBS += -L$(EVTCHN_PATH) -whole-archive -lxenevtchn -no-whole-archive
 LIBS += $(EVTCHN_PATH)/libxenevtchn.a
+endif
+ifeq ($(CONFIG_LIBXENGNTTAB),y)
 APP_LDLIBS += -L$(GNTTAB_PATH) -whole-archive -lxengnttab -no-whole-archive
 LIBS += $(GNTTAB_PATH)/libxengnttab.a
+endif
+ifeq ($(CONFIG_LIBXENCALL),y)
 APP_LDLIBS += -L$(CALL_PATH) -whole-archive -lxencall -no-whole-archive
 LIBS += $(CALL_PATH)/libxencall.a
+endif
+ifeq ($(CONFIG_LIBXENFOREIGNMEMORY),y)
 APP_LDLIBS += -L$(FOREIGNMEMORY_PATH) -whole-archive -lxenforeignmemory -no-whole-archive
 LIBS += $(FOREIGNMEMORY_PATH)/libxenforeignmemory.a
+endif
+ifeq ($(CONFIG_LIBXENDEVICEMODEL),y)
 APP_LDLIBS += -L$(DEVICEMODEL_PATH) -whole-archive -lxendevicemodel -no-whole-archive
 LIBS += $(DEVICEMODEL_PATH)/libxendevicemodel.a
+endif
+ifeq ($(CONFIG_LIBXENGUEST),y)
 APP_LDLIBS += -L$(GUEST_PATH) -whole-archive -lxenguest -no-whole-archive
 LIBS += $(GUEST_PATH)/libxenguest.a
+endif
+ifeq ($(CONFIG_LIBXENCTRL),y)
 APP_LDLIBS += -L$(CTRL_PATH) -whole-archive -lxenctrl -no-whole-archive
 LIBS += $(CTRL_PATH)/libxenctrl.a
 endif
-- 
2.43.0
Re: [MINI-OS PATCH v2] add config support for each Xen library
Posted by Jan Beulich 2 months, 1 week ago
On 09.10.2024 16:05, Juergen Gross wrote:
> Instead of adding all or no Xen library (controlled by CONFIG_XC),
> support a dedicated config option for each library instead,
> defaulting to disabled.
> 
> As it is no longer needed now, drop the CONFIG_XC support.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>
> ---
> V2:
> - merge patches of the V1 series (Samuel Thibault)
> 
> Note: do not apply to the tree until the related Xen series
> "stubdom: prepare more fine grained Xen library usage" has been
> applied.

And at this point it's solely "stubdom: add fine grained library config
items to Mini-OS configs" which is left as a dependency, isn't it?

Jan
Re: [MINI-OS PATCH v2] add config support for each Xen library
Posted by Jürgen Groß 2 months, 1 week ago
On 10.10.24 13:45, Jan Beulich wrote:
> On 09.10.2024 16:05, Juergen Gross wrote:
>> Instead of adding all or no Xen library (controlled by CONFIG_XC),
>> support a dedicated config option for each library instead,
>> defaulting to disabled.
>>
>> As it is no longer needed now, drop the CONFIG_XC support.
>>
>> Signed-off-by: Juergen Gross <jgross@suse.com>
>> ---
>> V2:
>> - merge patches of the V1 series (Samuel Thibault)
>>
>> Note: do not apply to the tree until the related Xen series
>> "stubdom: prepare more fine grained Xen library usage" has been
>> applied.
> 
> And at this point it's solely "stubdom: add fine grained library config
> items to Mini-OS configs" which is left as a dependency, isn't it?

Yes.

In theory the Mini-OS patch could be applied already, as long as Config.mk
on the Xen side isn't updated with the new Mini-OS commit id, but I think
we should wait nevertheless.


Juergen

Re: [MINI-OS PATCH v2] add config support for each Xen library
Posted by Andrew Cooper 2 months, 1 week ago
On 09/10/2024 3:05 pm, Juergen Gross wrote:
> Instead of adding all or no Xen library (controlled by CONFIG_XC),

"libraries".

But better grammar would be "Instead of Xen libraries being all or none
(..."

Can fix on commit.

~Andrew
Re: [MINI-OS PATCH v2] add config support for each Xen library
Posted by Samuel Thibault 2 months, 1 week ago
Juergen Gross, le mer. 09 oct. 2024 16:05:54 +0200, a ecrit:
> Instead of adding all or no Xen library (controlled by CONFIG_XC),
> support a dedicated config option for each library instead,
> defaulting to disabled.
> 
> As it is no longer needed now, drop the CONFIG_XC support.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

> ---
> V2:
> - merge patches of the V1 series (Samuel Thibault)
> 
> Note: do not apply to the tree until the related Xen series
> "stubdom: prepare more fine grained Xen library usage" has been
> applied.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>
> ---
>  Config.mk | 11 +++++++++--
>  Makefile  | 18 +++++++++++++++++-
>  2 files changed, 26 insertions(+), 3 deletions(-)
> 
> diff --git a/Config.mk b/Config.mk
> index f2d1f0ae..f59a0cf4 100644
> --- a/Config.mk
> +++ b/Config.mk
> @@ -193,6 +193,15 @@ CONFIG-n += CONFIG_9PFRONT
>  CONFIG-n += CONFIG_TPM_TIS
>  CONFIG-n += CONFIG_TPMBACK
>  CONFIG-n += CONFIG_BALLOON
> +CONFIG-n += CONFIG_LIBXENCALL
> +CONFIG-n += CONFIG_LIBXENCTRL
> +CONFIG-n += CONFIG_LIBXENDEVICEMODEL
> +CONFIG-n += CONFIG_LIBXENEVTCHN
> +CONFIG-n += CONFIG_LIBXENFOREIGNMEMORY
> +CONFIG-n += CONFIG_LIBXENGNTTAB
> +CONFIG-n += CONFIG_LIBXENGUEST
> +CONFIG-n += CONFIG_LIBXENTOOLCORE
> +CONFIG-n += CONFIG_LIBXENTOOLLOG
>  # Setting CONFIG_USE_XEN_CONSOLE copies all print output to the Xen emergency
>  # console apart of standard dom0 handled console.
>  CONFIG-n += CONFIG_USE_XEN_CONSOLE
> @@ -201,8 +210,6 @@ CONFIG-y += CONFIG_PARAVIRT
>  else
>  CONFIG-n += CONFIG_PARAVIRT
>  endif
> -# Support legacy CONFIG_XC value
> -CONFIG_XC ?= $(libc)
>  
>  CONFIG-$(lwip) += CONFIG_LWIP
>  
> diff --git a/Makefile b/Makefile
> index 6c8df8b5..ffa8d1a8 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -123,23 +123,39 @@ endif
>  OBJS := $(filter-out $(OBJ_DIR)/lwip%.o $(LWO), $(OBJS))
>  
>  ifeq ($(libc),y)
> -ifeq ($(CONFIG_XC),y)
> +ifeq ($(CONFIG_LIBXENTOOLCORE),y)
>  APP_LDLIBS += -L$(TOOLCORE_PATH) -whole-archive -lxentoolcore -no-whole-archive
>  LIBS += $(TOOLCORE_PATH)/libxentoolcore.a
> +endif
> +ifeq ($(CONFIG_LIBXENTOOLLOG),y)
>  APP_LDLIBS += -L$(TOOLLOG_PATH) -whole-archive -lxentoollog -no-whole-archive
>  LIBS += $(TOOLLOG_PATH)/libxentoollog.a
> +endif
> +ifeq ($(CONFIG_LIBXENEVTCHN),y)
>  APP_LDLIBS += -L$(EVTCHN_PATH) -whole-archive -lxenevtchn -no-whole-archive
>  LIBS += $(EVTCHN_PATH)/libxenevtchn.a
> +endif
> +ifeq ($(CONFIG_LIBXENGNTTAB),y)
>  APP_LDLIBS += -L$(GNTTAB_PATH) -whole-archive -lxengnttab -no-whole-archive
>  LIBS += $(GNTTAB_PATH)/libxengnttab.a
> +endif
> +ifeq ($(CONFIG_LIBXENCALL),y)
>  APP_LDLIBS += -L$(CALL_PATH) -whole-archive -lxencall -no-whole-archive
>  LIBS += $(CALL_PATH)/libxencall.a
> +endif
> +ifeq ($(CONFIG_LIBXENFOREIGNMEMORY),y)
>  APP_LDLIBS += -L$(FOREIGNMEMORY_PATH) -whole-archive -lxenforeignmemory -no-whole-archive
>  LIBS += $(FOREIGNMEMORY_PATH)/libxenforeignmemory.a
> +endif
> +ifeq ($(CONFIG_LIBXENDEVICEMODEL),y)
>  APP_LDLIBS += -L$(DEVICEMODEL_PATH) -whole-archive -lxendevicemodel -no-whole-archive
>  LIBS += $(DEVICEMODEL_PATH)/libxendevicemodel.a
> +endif
> +ifeq ($(CONFIG_LIBXENGUEST),y)
>  APP_LDLIBS += -L$(GUEST_PATH) -whole-archive -lxenguest -no-whole-archive
>  LIBS += $(GUEST_PATH)/libxenguest.a
> +endif
> +ifeq ($(CONFIG_LIBXENCTRL),y)
>  APP_LDLIBS += -L$(CTRL_PATH) -whole-archive -lxenctrl -no-whole-archive
>  LIBS += $(CTRL_PATH)/libxenctrl.a
>  endif
> -- 
> 2.43.0
> 

-- 
Samuel
<N> un driver qui fait quoi, alors ?
<y> ben pour les bips
<s> pour passer les oops en morse
 -+- #ens-mim - vive les rapports de bug -+-
<s> je la connaissais pas celle la : "make: Entering an unknown directory"
 -+- #ens-mim -+-