[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Minios-devel] [UNIKRAFT PATCHv7 2/8] drivers/ofw: Enable build support for internal fdt interfaces
Hello Justin, Seems good Thanks & Regards Sharan On 7/3/19 6:14 PM, Justin He (Arm Technology China) wrote: Hi Sharan-----Original Message----- From: Sharan Santhanam <sharan.santhanam@xxxxxxxxx> Sent: 2019年7月3日 23:42 To: Justin He (Arm Technology China) <Justin.He@xxxxxxx>; minios- devel@xxxxxxxxxxxxxxxxxxxx; Simon Kuenzer <simon.kuenzer@xxxxxxxxx> Cc: Florian Schmidt <florian.schmidt@xxxxxxxxx>; Felipe Huici <felipe.huici@xxxxxxxxx>; Julien Grall <Julien.Grall@xxxxxxx>; yuri.volchkov@xxxxxxxxx; Kaly Xin (Arm Technology China) <Kaly.Xin@xxxxxxx> Subject: Re: [UNIKRAFT PATCHv7 2/8] drivers/ofw: Enable build support for internal fdt interfaces Hello Jia He, On 7/3/19 5:09 PM, Justin He (Arm Technology China) wrote:Hi Sharan-----Original Message----- From: Sharan Santhanam <sharan.santhanam@xxxxxxxxx> Sent: 2019年7月3日 17:25 To: Justin He (Arm Technology China) <Justin.He@xxxxxxx>; minios- devel@xxxxxxxxxxxxxxxxxxxx; Simon Kuenzer <simon.kuenzer@xxxxxxxxx> Cc: Florian Schmidt <florian.schmidt@xxxxxxxxx>; Felipe Huici <felipe.huici@xxxxxxxxx>; Julien Grall <Julien.Grall@xxxxxxx>; yuri.volchkov@xxxxxxxxx; Kaly Xin (Arm Technology China) <Kaly.Xin@xxxxxxx> Subject: Re: [UNIKRAFT PATCHv7 2/8] drivers/ofw: Enable build supportforinternal fdt interfaces Hello Justin, One more suggestion, I would prefer if we split the device tree driver as a separate library from the kvm platform library. This is similar to what we do virtio or pci drivers in 'plat/kvm/Makefile.uk'.Ok with me to split the libofw (is this lib name ok with you?) Since the libofw is not dedicated to kvm plat, do you think it would bebetter movebelow directories to ./lib/ofw and ./lib/ofw/include ? ./plat/drivers/include/ofw ./plat/drivers/ofwI would still keep it within the plat/drivers and follow the naming convention we have adopted so far which in this case is "libkvmofw". The prefixing the "kvm" is to make sure these libraries platform specific and each platform enable the driver it needs.Ok.Of course as a next step we can make it independent, but then we might have to extend the build system further to process the driver Makefiles separately. So I avoid it for this patch set.Ok, I tried it just now, not so much changes as follows, I can make it in the future (not his patch series if it is ok with you): 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 + 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 3c3c006..3aeab2c 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) += $(LIBKVMPLAT_BASE)/arm/entry64.S LIBKVMPLAT_SRCS-$(CONFIG_ARCH_ARM_64) += $(LIBKVMPLAT_BASE)/arm/exceptions.S LIBKVMPLAT_SRCS-$(CONFIG_ARCH_ARM_64) += $(LIBKVMPLAT_BASE)/arm/pagetable64.S @@ -82,6 +82,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 +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 ##Thanks & Regards SharanThanks for the clarification -- Cheers, Justin (Jia He)We can do it as a part of this series or take it up as a subsequent patch. This would help us with maintaining the modularity of the library. Please find the other comment inline. Thanks & Regards Sharan Santhanam On 7/2/19 3:35 AM, Justin He (Arm Technology China) wrote:Hi Sharan-----Original Message----- From: Sharan Santhanam <sharan.santhanam@xxxxxxxxx> Sent: 2019年7月1日 22:54 To: Justin He (Arm Technology China) <Justin.He@xxxxxxx>; minios- devel@xxxxxxxxxxxxxxxxxxxx; Simon Kuenzer <simon.kuenzer@xxxxxxxxx> Cc: Florian Schmidt <florian.schmidt@xxxxxxxxx>; Felipe Huici <felipe.huici@xxxxxxxxx>; Julien Grall <Julien.Grall@xxxxxxx>; yuri.volchkov@xxxxxxxxx; Kaly Xin (Arm Technology China)<Kaly.Xin@xxxxxxx>Subject: Re: [UNIKRAFT PATCHv7 2/8] drivers/ofw: Enable build supportforinternal fdt interfaces Hello Jia He, This patch seems fine. My suggestion would be in the next version of the patch series we can combine this patch with the previous one where we include thefunction.Thanks, ok I will merge it into previous oneThanks & Regards Sharan Santhanam On 6/27/19 10:55 AM, Jia He wrote:This enable the build support for unikraft internal fdt interfaces Signed-off-by: Jia He <justin.he@xxxxxxx> --- plat/kvm/Makefile.uk | 1 + 1 file changed, 1 insertion(+) diff --git a/plat/kvm/Makefile.uk b/plat/kvm/Makefile.uk index 71c4c41..18eaca4 100644 --- a/plat/kvm/Makefile.uk +++ b/plat/kvm/Makefile.uk @@ -65,6 +65,7 @@ LIBKVMPLAT_SRCS-$(CONFIG_ARCH_ARM_64) +=$(UK_PLAT_COMMON_BASE)/arm/cache64.S|coLIBKVMPLAT_SRCS-$(CONFIG_ARCH_ARM_64) +=$(UK_PLAT_COMMON_BASE)/arm/psci_arm64.S|commonLIBKVMPLAT_SRCS-$(CONFIG_ARCH_ARM_64) +=$(UK_PLAT_COMMON_BASE)/arm/time.c|commonLIBKVMPLAT_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 Unfortunately, adding this to files causes compilation error. This was related to the previous patch where we include print.h instead of assert.h .I will check itWe are also missing the include path for the ofw/fdt.h header/I have fixed it in patch v8 [1] [1] https://lists.xenproject.org/archives/html/minios-devel/2019-07/msg00035.html -- Cheers, Justin (Jia He) IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you. _______________________________________________ Minios-devel mailing list Minios-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/minios-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |