[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Minios-devel] [UNIKRAFT PATCH 1/3] build: Split ofw from kvm plat to independent library



Hello Jia He,

Please find the comments inline:

Thanks & Regards
Sharan

On 7/29/19 1:26 PM, Jia He wrote:
This patch splits the device tree driver as a separate library from the kvm
platform library. This is similar to what we do for virtio or pci drivers

The discussion is at [1].
[1] 
https://lists.xenproject.org/archives/html/minios-devel/2019-07/msg00046.html

Signed-off-by: Jia He <justin.he@xxxxxxx>
Suggested-by: Sharan Santhanam <sharan.santhanam@xxxxxxxxx>
---
  plat/kvm/Config.uk   |  6 ++++++
  plat/kvm/Makefile.uk | 14 +++++++++++++-
  2 files changed, 19 insertions(+), 1 deletion(-)

diff --git a/plat/kvm/Config.uk b/plat/kvm/Config.uk
index 5a6dfc1..096beb1 100644
--- a/plat/kvm/Config.uk
+++ b/plat/kvm/Config.uk
@@ -7,6 +7,7 @@ menuconfig PLAT_KVM
         select LIBUKTIMECONV
         select LIBNOLIBC if !HAVE_LIBC
         select LIBFDT if ARCH_ARM_64
We can remove this dependency from the PLAT_KVM library.
+       select LIBOFW if ARCH_ARM_64
         help
                  Create a Unikraft image that runs as a KVM guest
@@ -80,4 +81,9 @@ config VIRTIO_NET
         help
                Virtual network driver.
  endmenu
+
+config LIBOFW
+       bool "Open Firmware library support"
+       default n
+       select LIBFDT
  endif
diff --git a/plat/kvm/Makefile.uk b/plat/kvm/Makefile.uk
index 7d0c696..c2ec45b 100644
--- a/plat/kvm/Makefile.uk
+++ b/plat/kvm/Makefile.uk
@@ -10,6 +10,7 @@ $(eval $(call addplatlib,kvm,libkvmplat))
  $(eval $(call addplatlib_s,kvm,libkvmpci,$(CONFIG_KVM_PCI)))
  $(eval $(call addplatlib_s,kvm,libkvmvirtio,$(CONFIG_VIRTIO_BUS)))
  $(eval $(call addplatlib_s,kvm,libkvmvirtionet,$(CONFIG_VIRTIO_NET)))
+$(eval $(call addplatlib_s,kvm,libkvmofw,$(CONFIG_LIBOFW)))
##
  ## Platform library definitions
@@ -66,7 +67,6 @@ LIBKVMPLAT_SRCS-$(CONFIG_ARCH_ARM_64) += 
$(UK_PLAT_COMMON_BASE)/arm/cache64.S|co
  LIBKVMPLAT_SRCS-$(CONFIG_ARCH_ARM_64) += 
$(UK_PLAT_COMMON_BASE)/arm/psci_arm64.S|common
  LIBKVMPLAT_SRCS-$(CONFIG_ARCH_ARM_64) += 
$(UK_PLAT_COMMON_BASE)/arm/time.c|common
  LIBKVMPLAT_SRCS-$(CONFIG_ARCH_ARM_64) += 
$(UK_PLAT_COMMON_BASE)/arm/traps.c|common
-LIBKVMPLAT_SRCS-$(CONFIG_ARCH_ARM_64) += 
$(UK_PLAT_DRIVERS_BASE)/ofw/fdt.c|common
  LIBKVMPLAT_SRCS-$(CONFIG_ARCH_ARM_64) += 
$(UK_PLAT_DRIVERS_BASE)/gic/gic-v2.c|common
  LIBKVMPLAT_SRCS-$(CONFIG_ARCH_ARM_64) += $(LIBKVMPLAT_BASE)/arm/entry64.S
  LIBKVMPLAT_SRCS-$(CONFIG_ARCH_ARM_64) += $(LIBKVMPLAT_BASE)/arm/exceptions.S
@@ -83,6 +83,18 @@ LIBKVMPLAT_SRCS-y              += 
$(UK_PLAT_COMMON_BASE)/lcpu.c|common
  LIBKVMPLAT_SRCS-y              += $(UK_PLAT_COMMON_BASE)/memory.c|common
  LIBKVMPLAT_SRCS-y              += $(KVM_LDSCRIPT_SRC-y)
+##
+## OFW library definitions
+##
+LIBKVMOFW_ASINCLUDES-y        += -I$(LIBKVMPLAT_BASE)/include
+LIBKVMOFW_ASINCLUDES-y        += -I$(UK_PLAT_COMMON_BASE)/include
Is there a dependency on the common directory for the libofw?
+LIBKVMOFW_CINCLUDES-y         += -I$(LIBKVMPLAT_BASE)/include
+LIBKVMOFW_CINCLUDES-y         += -I$(UK_PLAT_COMMON_BASE)/include
+LIBKVMOFW_CINCLUDES-y         += -I$(UK_PLAT_DRIVERS_BASE)/include
+
+LIBKVMOFW_SRCS-$(CONFIG_ARCH_ARM_64) += \
+                                 $(UK_PLAT_DRIVERS_BASE)/ofw/fdt.c
+
  ##
  ## PCI library definitions
  ##

_______________________________________________
Minios-devel mailing list
Minios-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/minios-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.