Thanks Ard for the contribution, I will try to have a look later this week.

Some quick comments:
- Which version of EDK2 should apply the patchset? I suspect the patchset
will not apply... I saw some KVM comments in the timer patches that were not
part of the patch.
- I will probably need a new patchset with 'Contributed-under: TianoCore
Contribution Agreement 1.0' added to the commit message to make sure you
agree with the Tianocore contribution agreement. See Tianocore contribution
agreement.
- I would be happy to test your patchset. Do you have any instructions?
- I had some FDT comments, But I have just addressed them in my previous
email.

Olivier

> -----Original Message-----
> From: Ard Biesheuvel [mailto:ard.biesheu...@linaro.org]
> Sent: 25 August 2014 20:19
> To: ler...@redhat.com; Olivier Martin; edk2-
> de...@lists.sourceforge.net; peter.mayd...@linaro.org;
> christoffer.d...@linaro.org; drjo...@redhat.com;
> ilias.bi...@linaro.org; leif.lindh...@linaro.org
> Cc: Ard Biesheuvel
> Subject: [PATCH 00/10] add support for AArch64 QEMU/KVM
> 
> This series adds a platform config to support QEMU based virtual
> machines,
> either in TCG or KVM mode. These virtual machines declare their
> platform
> configuration by passing a device tree which needs to be parsed by
> Tianocore
> rather than relying on hardcoded peripherals.
> 
> Currently, the only assumptions made with respect to the platform
> config are:
> - at least 1 MB of DRAM at 0x4000_0000
> - NOR flash at 0x0
> - PL011 UART at 0x900_0000
> 
> Peripherals detected at runtime:
> - GIC interrupt controller
> - timer interrupt line
> - PL031 RTC
> - system memory base and size, although changing the base is not
> currently
>   supported
> - virtio MMIO transports
> 
> There are some dependencies on QEMU and KVM changes that are not yet
> upstream:
> - QEMU: add -bios param and wire it up to NOR flash banks at 0x0 and
> 0x400_0000
> - QEMU: copy DTB to base of DRAM if no -kernel option is passed
> - KVM: add support for CAP_READONLY_MEM
> - KVM: advance PC when resuming guest after a WFI
> 
> Note that most of the patches are minor ones that make certain
> peripherals
> configurable at runtime. The patch 'ArmPlatformPkg: add support for a
> QEMU/mach-virt target' is the primary patch that implements most of the
> QEMU/KVM
> interface logic, most notably parsing of the device tree to set PCDs
> containing
> base addresses etc.
> 
> The code was tested in TCG mode on x64_64 and in TCG and KVM mode on a
> ARMv8
> Foundation Model (software emulator)
> 
> Ard Biesheuvel (9):
>   Add minimal support for passing a device tree image
>   PeiCore: allow FVs residing at physical address 0x0
>   ArmPkg: allow dynamically discovered virtual timer interrupt
>   ArmPkg: allow dynamic GIC base addresses
>   ArmPlatformPkg/PrePeiCore: remove GIC related PCDs from unicore
>   ArmPlatformPkg: allow dynamically discovered PL031 RTC
>   ArmPkg,ArmPlatformPkg: allow dynamic PCDs for memory base and size
>   ArmPlatformPkg: add support for a QEMU/mach-virt target
>   AArch64-KVM: add support for non-volatile variable store
> 
> Michael Casadevall (1):
>   ArmPkg/TimerDxe: allow virtual timer to be selected
> 
>  ArmPkg/ArmPkg.dec                                  |  34 +-
>  ArmPkg/Drivers/ArmGic/ArmGicDxe.c                  |  34 +-
>  ArmPkg/Drivers/ArmGic/ArmGicDxe.inf                |   4 +-
>  ArmPkg/Drivers/TimerDxe/TimerDxe.c                 |  12 +-
>  ArmPkg/Drivers/TimerDxe/TimerDxe.inf               |   3 +
>  ArmPkg/Library/ArmLib/AArch64/AArch64ArchTimer.c   |  66 +++-
>  ArmPkg/Library/ArmLib/AArch64/AArch64Lib.inf       |   2 +
>  ArmPkg/Library/ArmLib/AArch64/AArch64LibPrePi.inf  |   1 +
>  ArmPkg/Library/ArmLib/AArch64/AArch64LibSec.inf    |   1 +
>  ArmPkg/Library/BdsLib/BdsLib.inf                   |   5 +-
>  .../AArch64Virtualization-KVM.dsc                  | 236
> ++++++++++++++
>  .../AArch64Virtualization-KVM.fdf                  | 301
> ++++++++++++++++++
>  .../AArch64Virtualization.dsc.inc                  | 354
> +++++++++++++++++++++
>  .../AArch64VirtualizationPkg/Driver/VirtFdt.inf    |  60 ++++
>  .../AArch64VirtualizationPkg/Driver/VirtFdtDxe.c   | 216 +++++++++++++
>  .../Include/Platform/KVM/ArmPlatform.h             |  38 +++
>  .../AArch64VirtualizationLibKVM/AArch64KVMLib.inf  |  53 +++
>  .../Library/AArch64VirtualizationLibKVM/KVM.c      | 127 ++++++++
>  .../AArch64VirtualizationLibKVM/KVMHelper.S        |  70 ++++
>  .../Library/AArch64VirtualizationLibKVM/KVMMem.c   | 106 ++++++
>  .../AArch64VirtualizationSysConfigLibKVM.c         |  95 ++++++
>  .../AArch64VirtualizationSysConfigLibKVM.inf       |  35 ++
>  .../Library/NorFlashKVM/NorFlashKVM.c              |  63 ++++
>  .../Library/NorFlashKVM/NorFlashKVM.inf            |  35 ++
>  .../Library/ResetSystemLib/ResetSystemLib.c        |  96 ++++++
>  .../Library/ResetSystemLib/ResetSystemLib.inf      |  33 ++
>  ArmPlatformPkg/ArmPlatformPkg.dec                  |   9 +-
>  .../PrePi/PrePiArmPlatformGlobalVariableLib.inf    |   7 +-
>  ArmPlatformPkg/MemoryInitPei/MemoryInitPeiLib.inf  |   6 +-
>  ArmPlatformPkg/MemoryInitPei/MemoryInitPeim.c      |  16 +-
>  ArmPlatformPkg/MemoryInitPei/MemoryInitPeim.inf    |   6 +-
>  ArmPlatformPkg/PrePeiCore/PrePeiCoreUniCore.inf    |   2 -
>  ArmPlatformPkg/PrePi/PeiUniCore.inf                |   6 +-
>  MdeModulePkg/Core/Pei/FwVol/FwVol.c                |   6 +-
>  MdeModulePkg/MdeModulePkg.dec                      |   2 +
>  MdeModulePkg/MdeModulePkg.dsc                      |   2 +
>  .../Universal/Fdt/FdtTableDxe/FdtTableDxe.c        |  33 ++
>  .../Universal/Fdt/FdtTableDxe/FdtTableDxe.inf      |  48 +++
>  MdePkg/Include/Guid/FdtTable.h                     |  26 ++
>  MdePkg/MdePkg.dec                                  |   3 +
>  40 files changed, 2181 insertions(+), 71 deletions(-)
>  create mode 100644
> ArmPlatformPkg/AArch64VirtualizationPkg/AArch64Virtualization-KVM.dsc
>  create mode 100644
> ArmPlatformPkg/AArch64VirtualizationPkg/AArch64Virtualization-KVM.fdf
>  create mode 100644
> ArmPlatformPkg/AArch64VirtualizationPkg/AArch64Virtualization.dsc.inc
>  create mode 100644
> ArmPlatformPkg/AArch64VirtualizationPkg/Driver/VirtFdt.inf
>  create mode 100644
> ArmPlatformPkg/AArch64VirtualizationPkg/Driver/VirtFdtDxe.c
>  create mode 100644
> ArmPlatformPkg/AArch64VirtualizationPkg/Include/Platform/KVM/ArmPlatfor
> m.h
>  create mode 100644
> ArmPlatformPkg/AArch64VirtualizationPkg/Library/AArch64VirtualizationLi
> bKVM/AArch64KVMLib.inf
>  create mode 100644
> ArmPlatformPkg/AArch64VirtualizationPkg/Library/AArch64VirtualizationLi
> bKVM/KVM.c
>  create mode 100644
> ArmPlatformPkg/AArch64VirtualizationPkg/Library/AArch64VirtualizationLi
> bKVM/KVMHelper.S
>  create mode 100644
> ArmPlatformPkg/AArch64VirtualizationPkg/Library/AArch64VirtualizationLi
> bKVM/KVMMem.c
>  create mode 100644
> ArmPlatformPkg/AArch64VirtualizationPkg/Library/AArch64VirtualizationSy
> sConfigLibKVM/AArch64VirtualizationSysConfigLibKVM.c
>  create mode 100644
> ArmPlatformPkg/AArch64VirtualizationPkg/Library/AArch64VirtualizationSy
> sConfigLibKVM/AArch64VirtualizationSysConfigLibKVM.inf
>  create mode 100644
> ArmPlatformPkg/AArch64VirtualizationPkg/Library/NorFlashKVM/NorFlashKVM
> .c
>  create mode 100644
> ArmPlatformPkg/AArch64VirtualizationPkg/Library/NorFlashKVM/NorFlashKVM
> .inf
>  create mode 100644
> ArmPlatformPkg/AArch64VirtualizationPkg/Library/ResetSystemLib/ResetSys
> temLib.c
>  create mode 100644
> ArmPlatformPkg/AArch64VirtualizationPkg/Library/ResetSystemLib/ResetSys
> temLib.inf
>  create mode 100644
> MdeModulePkg/Universal/Fdt/FdtTableDxe/FdtTableDxe.c
>  create mode 100644
> MdeModulePkg/Universal/Fdt/FdtTableDxe/FdtTableDxe.inf
>  create mode 100644 MdePkg/Include/Guid/FdtTable.h
> 
> --
> 1.8.3.2
> 





------------------------------------------------------------------------------
Slashdot TV.  
Video for Nerds.  Stuff that matters.
http://tv.slashdot.org/
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to