All of lore.kernel.org
 help / color / mirror / Atom feed
From: Olivier Martin <olivier.martin@arm.com>
To: Ard Biesheuvel <ard.biesheuvel@linaro.org>,
	"edk2-devel@lists.sourceforge.net"
	<edk2-devel@lists.sourceforge.net>,
	"lersek@redhat.com" <lersek@redhat.com>,
	"roy.franz@linaro.org" <roy.franz@linaro.org>,
	"leif.lindholm@linaro.org" <leif.lindholm@linaro.org>,
	"stefano.stabellini@eu.citrix.com"
	<stefano.stabellini@eu.citrix.com>,
	"Ian.Campbell@citrix.com" <Ian.Campbell@citrix.com>,
	"anthony.perard@citrix.com" <anthony.perard@citrix.com>,
	"christoffer.dall@linaro.org" <christoffer.dall@linaro.org>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	"ilias.biris@linaro.org" <ilias.biris@linaro.org>,
	"julien.grall@linaro.org" <julien.grall@linaro.org>
Subject: Re: [PATCH v3 26/27] ArmVirtualizationPkg/VirtFdtDxe: wire up XenBusDxe to "xen, xen" DT node
Date: Wed, 11 Feb 2015 06:46:53 +0000	[thread overview]
Message-ID: <54DAFADD.3080702__14279.1057275192$1423637330$gmane$org@arm.com> (raw)
In-Reply-To: <1422991212-9257-27-git-send-email-ard.biesheuvel@linaro.org>

Reviewed-By: Olivier Martin <olivier.martin@arm.com>

On 03/02/15 19:20, Ard Biesheuvel wrote:
> This patchs adds support to VirtFdtDxe for the Xen DT node which
> contains the base address of the Grant Table. This data is communicated
> to XenBusDxe using a XENIO_PROTOCOL instance.
>
> Contributed-under: TianoCore Contribution Agreement 1.0
> Reviewed-by: Laszlo Ersek <lersek@redhat.com>
> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
> ---
>   .../ArmVirtualizationPkg/ArmVirtualization.dsc.inc |  2 ++
>   .../ArmVirtualizationPkg/VirtFdtDxe/VirtFdtDxe.c   | 23 ++++++++++++++++++++++
>   .../ArmVirtualizationPkg/VirtFdtDxe/VirtFdtDxe.inf |  1 +
>   3 files changed, 26 insertions(+)
>
> diff --git a/ArmPlatformPkg/ArmVirtualizationPkg/ArmVirtualization.dsc.inc b/ArmPlatformPkg/ArmVirtualizationPkg/ArmVirtualization.dsc.inc
> index f17cd2f5d876..e7a03cd13d3a 100644
> --- a/ArmPlatformPkg/ArmVirtualizationPkg/ArmVirtualization.dsc.inc
> +++ b/ArmPlatformPkg/ArmVirtualizationPkg/ArmVirtualization.dsc.inc
> @@ -100,6 +100,8 @@
>     BdsLib|ArmPkg/Library/BdsLib/BdsLib.inf
>     FdtLib|EmbeddedPkg/Library/FdtLib/FdtLib.inf
>
> +  XenIoMmioLib|OvmfPkg/Library/XenIoMmioLib/XenIoMmioLib.inf
> +
>   [LibraryClasses.common.SEC]
>     PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
>     ArmPlatformSecExtraActionLib|ArmPlatformPkg/Library/DebugSecExtraActionLib/DebugSecExtraActionLib.inf
> diff --git a/ArmPlatformPkg/ArmVirtualizationPkg/VirtFdtDxe/VirtFdtDxe.c b/ArmPlatformPkg/ArmVirtualizationPkg/VirtFdtDxe/VirtFdtDxe.c
> index 3e8ca8da627e..0064b5e50171 100644
> --- a/ArmPlatformPkg/ArmVirtualizationPkg/VirtFdtDxe/VirtFdtDxe.c
> +++ b/ArmPlatformPkg/ArmVirtualizationPkg/VirtFdtDxe/VirtFdtDxe.c
> @@ -26,6 +26,7 @@
>   #include <Library/DxeServicesLib.h>
>   #include <Library/HobLib.h>
>   #include <libfdt.h>
> +#include <Library/XenIoMmioLib.h>
>
>   #include <Guid/Fdt.h>
>   #include <Guid/VirtioMmioTransport.h>
> @@ -49,6 +50,7 @@ typedef enum {
>     PropertyTypePsci,
>     PropertyTypeFwCfg,
>     PropertyTypeGicV3,
> +  PropertyTypeXen,
>   } PROPERTY_TYPE;
>
>   typedef struct {
> @@ -66,6 +68,7 @@ STATIC CONST PROPERTY CompatibleProperties[] = {
>     { PropertyTypePsci,    "arm,psci-0.2"        },
>     { PropertyTypeFwCfg,   "qemu,fw-cfg-mmio"    },
>     { PropertyTypeGicV3,   "arm,gic-v3"          },
> +  { PropertyTypeXen,     "xen,xen"             },
>     { PropertyTypeUnknown, ""                    }
>   };
>
> @@ -342,6 +345,26 @@ InitializeVirtFdtDxe (
>         }
>         break;
>
> +    case PropertyTypeXen:
> +      ASSERT (Len == 16);
> +
> +      //
> +      // Retrieve the reg base from this node and wire it up to the
> +      // MMIO flavor of the XenBus root device I/O protocol
> +      //
> +      RegBase = fdt64_to_cpu (((UINT64 *)RegProp)[0]);
> +      Handle = NULL;
> +      Status = XenIoMmioInstall (&Handle, RegBase);
> +      if (EFI_ERROR (Status)) {
> +        DEBUG ((EFI_D_ERROR, "%a: XenIoMmioInstall () failed on a new handle "
> +          "(Status == %r)\n", __FUNCTION__, Status));
> +        break;
> +      }
> +
> +      DEBUG ((EFI_D_INFO, "Found Xen node with Grant table @ 0x%Lx\n", RegBase));
> +
> +      break;
> +
>       default:
>         break;
>       }
> diff --git a/ArmPlatformPkg/ArmVirtualizationPkg/VirtFdtDxe/VirtFdtDxe.inf b/ArmPlatformPkg/ArmVirtualizationPkg/VirtFdtDxe/VirtFdtDxe.inf
> index 2768d7be8093..65eaef693d63 100644
> --- a/ArmPlatformPkg/ArmVirtualizationPkg/VirtFdtDxe/VirtFdtDxe.inf
> +++ b/ArmPlatformPkg/ArmVirtualizationPkg/VirtFdtDxe/VirtFdtDxe.inf
> @@ -41,6 +41,7 @@
>     FdtLib
>     VirtioMmioDeviceLib
>     HobLib
> +  XenIoMmioLib
>
>   [Guids]
>     gFdtTableGuid


-- 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.

ARM Limited, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No:  2557590
ARM Holdings plc, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No:  2548782

  parent reply	other threads:[~2015-02-11  6:46 UTC|newest]

Thread overview: 47+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-02-03 19:19 [PATCH v3 00/27] Xen/ARM guest support Ard Biesheuvel
2015-02-03 19:19 ` [PATCH v3 01/27] ArmPkg: allow HYP timer interrupt to be omitted Ard Biesheuvel
2015-02-03 19:19 ` [PATCH v3 02/27] ArmPkg: allow patchable PCDs for memory, FD and FV addresses Ard Biesheuvel
2015-02-03 19:19 ` [PATCH v3 03/27] ArmPlatformPkg: allow patchable PCD for FD base address Ard Biesheuvel
2015-02-03 19:19 ` [PATCH v3 04/27] ArmVirtualizationPkg: add GICv3 detection to VirtFdtDxe Ard Biesheuvel
2015-02-03 19:19 ` [PATCH v3 05/27] ArmVirtualizationPkg: allow patchable PCD for device tree base address Ard Biesheuvel
2015-02-03 19:19 ` [PATCH v3 06/27] ArmVirtualizationPkg: move early UART discovery to PlatformPeim Ard Biesheuvel
2015-02-03 19:19 ` [PATCH v3 07/27] ArmVirtualizationPkg: use a HOB to store device tree blob Ard Biesheuvel
2015-02-03 19:19 ` [PATCH v3 08/27] ArmVirtualizationPkg: add padding to FDT allocation Ard Biesheuvel
2015-02-03 19:19 ` [PATCH v3 09/27] ArmVirtualizationPkg: add a relocatable version of PrePi Ard Biesheuvel
2015-02-11  6:27   ` Olivier Martin
2015-02-03 19:19 ` [PATCH v3 10/27] ArmVirtualizationPkg: implement custom MemoryInitPeiLib Ard Biesheuvel
2015-02-11  6:40   ` Olivier Martin
2015-02-03 19:19 ` [PATCH v3 11/27] ArmVirtualizationPkg: allow patchable PCD for FV and DT base addresses Ard Biesheuvel
2015-02-03 19:19 ` [PATCH v3 12/27] ArmVirtualizationPkg: Xen/PV relocatable platformlib instance Ard Biesheuvel
2015-02-03 19:19 ` [PATCH v3 13/27] Ovmf/Xen: move Xen interface version to <xen.h> Ard Biesheuvel
2015-02-03 19:19 ` [PATCH v3 14/27] Ovmf/Xen: fix pointer to int cast in XenBusDxe Ard Biesheuvel
2015-02-03 19:20 ` [PATCH v3 15/27] Ovmf/Xen: refactor XenBusDxe hypercall implementation Ard Biesheuvel
2015-02-03 19:20 ` [PATCH v3 16/27] Ovmf/Xen: move XenBusDxe hypercall code to separate library Ard Biesheuvel
2015-02-03 19:20 ` [PATCH v3 17/27] Ovmf/Xen: introduce XENIO_PROTOCOL Ard Biesheuvel
2015-02-03 19:20 ` [PATCH v3 18/27] Ovmf/Xen: add separate driver for Xen PCI device Ard Biesheuvel
2015-02-03 19:20 ` [PATCH v3 19/27] Ovmf/Xen: move XenBusDxe to abstract XENIO_PROTOCOL Ard Biesheuvel
2015-02-03 19:20 ` [PATCH v3 20/27] Ovmf/Xen: implement XenHypercallLib for ARM Ard Biesheuvel
2015-02-03 19:20 ` [PATCH v3 21/27] Ovmf/Xen: add ARM and AArch64 support to XenBusDxe Ard Biesheuvel
2015-02-03 19:20 ` [PATCH v3 22/27] Ovmf/Xen: add Xen PV console SerialPortLib driver Ard Biesheuvel
2015-02-03 19:20 ` [PATCH v3 23/27] Ovmf/Xen: implement dummy RealTimeClockLib for Xen Ard Biesheuvel
2015-02-10 12:50   ` Laszlo Ersek
2015-02-11  6:45   ` Olivier Martin
2015-02-03 19:20 ` [PATCH v3 24/27] Ovfm/Xen: add a Vendor Hardware device path GUID for the XenBus root Ard Biesheuvel
2015-02-03 19:20 ` [PATCH v3 25/27] ArmVirtualizationPkg: add XenIoMmioLib Ard Biesheuvel
2015-02-03 19:20 ` [PATCH v3 26/27] ArmVirtualizationPkg/VirtFdtDxe: wire up XenBusDxe to "xen, xen" DT node Ard Biesheuvel
2015-02-03 19:20 ` [PATCH v3 27/27] ArmVirtualizationPkg: add platform description for Xen guests Ard Biesheuvel
     [not found] ` <1422991212-9257-22-git-send-email-ard.biesheuvel@linaro.org>
2015-02-04 16:48   ` [PATCH v3 21/27] Ovmf/Xen: add ARM and AArch64 support to XenBusDxe Stefano Stabellini
2015-02-04 21:10   ` [edk2] " Jordan Justen
     [not found]   ` <20150204211035.11847.54872@jljusten-ivy>
2015-02-05  9:56     ` Ard Biesheuvel
     [not found]     ` <CAKv+Gu-viz4uHj5PxZ1rQz8yc=qtqZGxcC4hgTO2=AdvXbdUgA@mail.gmail.com>
2015-02-07 22:00       ` Jordan Justen
     [not found]       ` <20150207220049.4180.15991@jljusten-ivy>
2015-02-10  3:41         ` Olivier Martin
     [not found] ` <1422991212-9257-8-git-send-email-ard.biesheuvel@linaro.org>
2015-02-09  5:06   ` [PATCH v3 07/27] ArmVirtualizationPkg: use a HOB to store device tree blob Olivier Martin
     [not found] ` <1422991212-9257-9-git-send-email-ard.biesheuvel@linaro.org>
2015-02-09  5:08   ` [PATCH v3 08/27] ArmVirtualizationPkg: add padding to FDT allocation Olivier Martin
     [not found] ` <1422991212-9257-5-git-send-email-ard.biesheuvel@linaro.org>
2015-02-10  4:05   ` [PATCH v3 04/27] ArmVirtualizationPkg: add GICv3 detection to VirtFdtDxe olimar01
     [not found] ` <1422991212-9257-12-git-send-email-ard.biesheuvel@linaro.org>
2015-02-10  9:10   ` [PATCH v3 11/27] ArmVirtualizationPkg: allow patchable PCD for FV and DT base addresses Olivier Martin
     [not found] ` <1422991212-9257-19-git-send-email-ard.biesheuvel@linaro.org>
2015-02-10 11:53   ` [PATCH v3 18/27] Ovmf/Xen: add separate driver for Xen PCI device Laszlo Ersek
     [not found] ` <1422991212-9257-23-git-send-email-ard.biesheuvel@linaro.org>
2015-02-10 12:46   ` [PATCH v3 22/27] Ovmf/Xen: add Xen PV console SerialPortLib driver Laszlo Ersek
     [not found] ` <1422991212-9257-26-git-send-email-ard.biesheuvel@linaro.org>
2015-02-10 13:52   ` [PATCH v3 25/27] ArmVirtualizationPkg: add XenIoMmioLib Laszlo Ersek
     [not found] ` <1422991212-9257-13-git-send-email-ard.biesheuvel@linaro.org>
2015-02-11  3:11   ` [PATCH v3 12/27] ArmVirtualizationPkg: Xen/PV relocatable platformlib instance Olivier Martin
     [not found] ` <1422991212-9257-27-git-send-email-ard.biesheuvel@linaro.org>
2015-02-11  6:46   ` Olivier Martin [this message]
     [not found] ` <1422991212-9257-28-git-send-email-ard.biesheuvel@linaro.org>
2015-02-11  6:50   ` [PATCH v3 27/27] ArmVirtualizationPkg: add platform description for Xen guests Olivier Martin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='54DAFADD.3080702__14279.1057275192$1423637330$gmane$org@arm.com' \
    --to=olivier.martin@arm.com \
    --cc=Ian.Campbell@citrix.com \
    --cc=anthony.perard@citrix.com \
    --cc=ard.biesheuvel@linaro.org \
    --cc=christoffer.dall@linaro.org \
    --cc=edk2-devel@lists.sourceforge.net \
    --cc=ilias.biris@linaro.org \
    --cc=julien.grall@linaro.org \
    --cc=leif.lindholm@linaro.org \
    --cc=lersek@redhat.com \
    --cc=roy.franz@linaro.org \
    --cc=stefano.stabellini@eu.citrix.com \
    --cc=xen-devel@lists.xen.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.