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

Re: [Minios-devel] [UNIKRAFT PATCHv2 1/3] build: Split gic-v2 from kvm plat to independent library


  • To: Sharan Santhanam <sharan.santhanam@xxxxxxxxx>, "minios-devel@xxxxxxxxxxxxxxxxxxxx" <minios-devel@xxxxxxxxxxxxxxxxxxxx>
  • From: "Justin He (Arm Technology China)" <Justin.He@xxxxxxx>
  • Date: Wed, 28 Aug 2019 06:03:46 +0000
  • Accept-language: en-US, zh-CN
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Amvf586toYmM78m85Hon+fZnaOSgBvmixq7Z+zs0p+s=; b=coAgGV/VrRahOABp0fzEOYDNeSGgJply/nDmyuWOegH0lD8FNTuP8d7SvqW1sStybJI3FAt/NepwBEcEu1dnh0jw3F/S2F8fX+shMHC//Oi++6SOgkbLGgf+/qjGJUwNCV3lEJacVqikpRUdZHQGGgKJznTgSVmmtM072uIvJ2EuYs/yDFhrtoLGCP7ZwRZYwFA33iNQSVX1ldqY6dpRn0r5MDNNeQgga8zXsuxpzJMkEU99+8r9r2A4H+1wgbY3mLLcN32CCBaap5pHRdBxbCdm5zQYOG3jX5McOjSMx9KEK04X6za2epZGC/OUWKl+kExdKsbRQY6hkDR0uAPKSw==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=cni4hqpcEG3XVzHhoKJ7L4IgmK9N0oN8jpGfQz1lVSRzPHWvSdUGP9SXmKJir7yUxDDS3gbYIapFQNuD6k/SbXxKlGPqauAaxaMSHfLG30psI5ujAfhna7eRXcC+s0m2h7vDX9DKMb+yoGZOi+w2xxBfXP2AmqNUuyrwiIWA60WwqpPUKr3/rfxJHNS5PuL5sY3Nihu1PS0KXts9ubxGG/Sbq5gd6aYmaSuvTRRTWwM4YgxC2z+OOdfTrNW/21r4Y8qRxv5K4ZwvHo0fiA8daBupWCTyZ41xjg9CvZFQaoqQFUbrtxaYNUDXUO8XtFP6gJ2XwCG1M5IKq4miVynMWw==
  • Authentication-results: spf=temperror (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; lists.xenproject.org; dmarc=temperror action=none header.from=arm.com;
  • Authentication-results-original: spf=none (sender IP is ) smtp.mailfrom=Justin.He@xxxxxxx;
  • Cc: Felipe Huici <felipe.huici@xxxxxxxxx>, "Kaly Xin \(Arm Technology China\)" <Kaly.Xin@xxxxxxx>, Simon Kuenzer <simon.kuenzer@xxxxxxxxx>
  • Delivery-date: Wed, 28 Aug 2019 06:04:07 +0000
  • List-id: Mini-os development list <minios-devel.lists.xenproject.org>
  • Original-authentication-results: spf=none (sender IP is ) smtp.mailfrom=Justin.He@xxxxxxx;
  • Thread-index: AQHVUzl+mWBQLbOPm0yEUQ8G1kTdhKcEMXOAgAv0eFA=
  • Thread-topic: [UNIKRAFT PATCHv2 1/3] build: Split gic-v2 from kvm plat to independent library


> -----Original Message-----
> From: Sharan Santhanam <sharan.santhanam@xxxxxxxxx>
> Sent: 2019年8月20日 23:29
> To: Justin He (Arm Technology China) <Justin.He@xxxxxxx>; minios-
> devel@xxxxxxxxxxxxxxxxxxxx
> Cc: Simon Kuenzer <simon.kuenzer@xxxxxxxxx>; Felipe Huici
> <felipe.huici@xxxxxxxxx>; Kaly Xin (Arm Technology China)
> <Kaly.Xin@xxxxxxx>
> Subject: Re: [UNIKRAFT PATCHv2 1/3] build: Split gic-v2 from kvm plat to
> independent library
>
> Hello Justin,
>
> please find the review comment inline.
>
> Thanks & Regards
>
> Sharan
>
> On 8/15/19 9:16 AM, Jia He wrote:
> > This patch splits the arm gic-v2 interrupt controller as a separate library
> > from the kvm platform library. This is similar to what we do for virtio or
> > pci drivers.
> >
> > Signed-off-by: Jia He <justin.he@xxxxxxx>
> > Suggested-by: Sharan Santhanam <sharan.santhanam@xxxxxxxxx>
> > ---
> >   plat/kvm/Config.uk   |  9 ++++++++-
> >   plat/kvm/Makefile.uk | 12 +++++++++++-
> >   2 files changed, 19 insertions(+), 2 deletions(-)
> >
> > diff --git a/plat/kvm/Config.uk b/plat/kvm/Config.uk
> > index 5a6dfc1..39da143 100644
> > --- a/plat/kvm/Config.uk
> > +++ b/plat/kvm/Config.uk
> > @@ -6,7 +6,7 @@ menuconfig PLAT_KVM
> >          select LIBUKALLOC
> >          select LIBUKTIMECONV
> >          select LIBNOLIBC if !HAVE_LIBC
> > -       select LIBFDT if ARCH_ARM_64
>
> Unfortunately this is still necessary as pl011 needs it.
>
> /plat/common/arm/pl011.c:21:20: fatal error: libfdt.h: No such file or
> directory
>
> We can split the pl011 similar to gic as another patch series and remove
> it from the platform. What do you think?
Ok, let's do it in the future 😉

>
> > +       select LIBGICV2 if ARCH_ARM_64
> >          help
> >                   Create a Unikraft image that runs as a KVM guest
> >
> > @@ -80,4 +80,11 @@ config VIRTIO_NET
> >          help
> >                 Virtual network driver.
> >   endmenu
> > +
> > +config LIBGICV2
> > +       bool "Arm GIC (generic interrupt controller) v2 library support"
> > +       default n
> > +       select LIBOFW
> LIBOFW is still not available. We should add it once we introduce the
> library.

Yes, indeed.

--
Cheers,
Justin (Jia He)


> > +       depends on ARCH_ARM_64
> > +
> >   endif
> > diff --git a/plat/kvm/Makefile.uk b/plat/kvm/Makefile.uk
> > index 7d0c696..b1fd50b 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,libkvmgicv2,$(CONFIG_LIBGICV2)))
> >
> >   ##
> >   ## Platform library definitions
> > @@ -67,7 +68,6 @@ LIBKVMPLAT_SRCS-$(CONFIG_ARCH_ARM_64) +=
> $(UK_PLAT_COMMON_BASE)/arm/psci_arm64.S
> >   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
> >   LIBKVMPLAT_SRCS-$(CONFIG_ARCH_ARM_64) +=
> $(LIBKVMPLAT_BASE)/arm/pagetable64.S
> > @@ -118,3 +118,13 @@ LIBKVMVIRTIONET_ASINCLUDES-y   += -
> I$(UK_PLAT_DRIVERS_BASE)/include
> >   LIBKVMVIRTIONET_CINCLUDES-y    += -
> I$(UK_PLAT_DRIVERS_BASE)/include
> >   LIBKVMVIRTIONET_SRCS-y +=\
> >                     $(UK_PLAT_DRIVERS_BASE)/virtio/virtio_net.c
> > +
> > +##
> > +## GICv2 library definitions
> > +##
> > +LIBKVMGICV2_CINCLUDES-y         += -I$(LIBKVMPLAT_BASE)/include
> > +LIBKVMGICV2_CINCLUDES-y         += -
> I$(UK_PLAT_COMMON_BASE)/include
> > +LIBKVMGICV2_CINCLUDES-y         += -
> I$(UK_PLAT_DRIVERS_BASE)/include
> > +
> > +LIBKVMGICV2_SRCS-$(CONFIG_LIBGICV2) += \
> Is having CONFIG_LIBGICV2 necessary as we are adding for this library?
> > +                                   $(UK_PLAT_DRIVERS_BASE)/gic/gic-
> v2.c
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

 


Rackspace

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