[edk2-devel] [PATCH v3 00/35] Specific platform to run OVMF in Xen PVH and HVM guests

Anthony PERARD posted 35 patches 4 years, 9 months ago
Failed in applying to current master (apply log)
There is a newer version of this series
OvmfPkg/OvmfPkg.dec                           |   7 +
ArmVirtPkg/ArmVirtXen.dsc                     |   2 +-
OvmfPkg/OvmfPkgIa32.dsc                       |   1 +
OvmfPkg/OvmfPkgIa32X64.dsc                    |   1 +
OvmfPkg/OvmfPkgX64.dsc                        |   1 +
OvmfPkg/{OvmfPkgX64.dsc => OvmfXen.dsc}       | 238 +-------
OvmfPkg/OvmfXen.fdf                           | 539 ++++++++++++++++++
OvmfPkg/AcpiPlatformDxe/AcpiPlatformDxe.inf   |   2 +-
.../PlatformBootManagerLib.inf                |   5 +
.../Library/ResetSystemLib/ResetSystemLib.inf |   1 +
.../XenHypercallLib/XenHypercallLib.inf       |   4 +-
.../Library/XenPlatformLib/XenPlatformLib.inf |  33 ++
.../XenRealTimeClockLib.inf                   |   0
OvmfPkg/XenIoPvhDxe/XenIoPvhDxe.inf           |  34 ++
OvmfPkg/XenPlatformPei/XenPlatformPei.inf     | 100 ++++
OvmfPkg/XenResetVector/XenResetVector.inf     |  41 ++
OvmfPkg/XenTimerDxe/XenTimerDxe.inf           |  42 ++
OvmfPkg/AcpiPlatformDxe/AcpiPlatform.h        |   6 +-
OvmfPkg/Include/Guid/XenInfo.h                |   8 +-
.../Xen/arch-x86/hvm/start_info.h             | 143 +++++
OvmfPkg/Include/IndustryStandard/Xen/memory.h |  23 +
OvmfPkg/Include/Library/XenHypercallLib.h     |  12 +
OvmfPkg/Include/Library/XenPlatformLib.h      |  53 ++
.../PlatformBootManagerLib/BdsPlatform.h      |   1 +
OvmfPkg/XenPlatformPei/Cmos.h                 |  52 ++
OvmfPkg/XenPlatformPei/Platform.h             | 129 +++++
OvmfPkg/XenPlatformPei/Xen.h                  |  39 ++
OvmfPkg/XenTimerDxe/XenTimerDxe.h             | 177 ++++++
OvmfPkg/AcpiPlatformDxe/Xen.c                 |  41 +-
.../PlatformBootManagerLib/BdsPlatform.c      |  42 +-
.../PlatformBootManagerLib/PlatformData.c     |  59 +-
.../Library/ResetSystemLib/ResetSystemLib.c   |   3 +-
.../Library/XenHypercallLib/X86XenHypercall.c |   8 +-
.../Library/XenHypercallLib/XenHypercall.c    |  16 +
.../Library/XenPlatformLib/XenPlatformLib.c   |  81 +++
.../XenRealTimeClockLib/XenRealTimeClockLib.c |   0
OvmfPkg/OvmfXenElfHeaderGenerator.c           | 140 +++++
OvmfPkg/PlatformPei/Xen.c                     |   3 -
OvmfPkg/XenIoPvhDxe/XenIoPvhDxe.c             | 108 ++++
OvmfPkg/XenPlatformPei/AmdSev.c               |  64 +++
OvmfPkg/XenPlatformPei/ClearCache.c           | 112 ++++
OvmfPkg/XenPlatformPei/Cmos.c                 |  60 ++
OvmfPkg/XenPlatformPei/Fv.c                   |  76 +++
OvmfPkg/XenPlatformPei/MemDetect.c            | 492 ++++++++++++++++
OvmfPkg/XenPlatformPei/Platform.c             | 452 +++++++++++++++
OvmfPkg/XenPlatformPei/Xen.c                  | 378 ++++++++++++
OvmfPkg/XenTimerDxe/XenTimerDxe.c             | 355 ++++++++++++
.../XenResetVector/Ia16/Real16ToFlat32.asm    | 137 +++++
.../XenResetVector/Ia16/ResetVectorVtf0.asm   |  81 +++
.../XenResetVector/Ia32/Flat32ToFlat64.asm    |  68 +++
OvmfPkg/XenResetVector/Ia32/PageTables64.asm  | 149 +++++
.../XenResetVector/Ia32/SearchForBfvBase.asm  |  87 +++
OvmfPkg/XenResetVector/Ia32/XenPVHMain.asm    |  84 +++
OvmfPkg/XenResetVector/XenResetVector.nasmb   |  71 +++
54 files changed, 4563 insertions(+), 298 deletions(-)
copy OvmfPkg/{OvmfPkgX64.dsc => OvmfXen.dsc} (76%)
create mode 100644 OvmfPkg/OvmfXen.fdf
create mode 100644 OvmfPkg/Library/XenPlatformLib/XenPlatformLib.inf
rename {ArmVirtPkg => OvmfPkg}/Library/XenRealTimeClockLib/XenRealTimeClockLib.inf (100%)
create mode 100644 OvmfPkg/XenIoPvhDxe/XenIoPvhDxe.inf
create mode 100644 OvmfPkg/XenPlatformPei/XenPlatformPei.inf
create mode 100644 OvmfPkg/XenResetVector/XenResetVector.inf
create mode 100644 OvmfPkg/XenTimerDxe/XenTimerDxe.inf
create mode 100644 OvmfPkg/Include/IndustryStandard/Xen/arch-x86/hvm/start_info.h
create mode 100644 OvmfPkg/Include/Library/XenPlatformLib.h
create mode 100644 OvmfPkg/XenPlatformPei/Cmos.h
create mode 100644 OvmfPkg/XenPlatformPei/Platform.h
create mode 100644 OvmfPkg/XenPlatformPei/Xen.h
create mode 100644 OvmfPkg/XenTimerDxe/XenTimerDxe.h
create mode 100644 OvmfPkg/Library/XenPlatformLib/XenPlatformLib.c
rename {ArmVirtPkg => OvmfPkg}/Library/XenRealTimeClockLib/XenRealTimeClockLib.c (100%)
create mode 100644 OvmfPkg/OvmfXenElfHeaderGenerator.c
create mode 100644 OvmfPkg/XenIoPvhDxe/XenIoPvhDxe.c
create mode 100644 OvmfPkg/XenPlatformPei/AmdSev.c
create mode 100644 OvmfPkg/XenPlatformPei/ClearCache.c
create mode 100644 OvmfPkg/XenPlatformPei/Cmos.c
create mode 100644 OvmfPkg/XenPlatformPei/Fv.c
create mode 100644 OvmfPkg/XenPlatformPei/MemDetect.c
create mode 100644 OvmfPkg/XenPlatformPei/Platform.c
create mode 100644 OvmfPkg/XenPlatformPei/Xen.c
create mode 100644 OvmfPkg/XenTimerDxe/XenTimerDxe.c
create mode 100644 OvmfPkg/XenResetVector/Ia16/Real16ToFlat32.asm
create mode 100644 OvmfPkg/XenResetVector/Ia16/ResetVectorVtf0.asm
create mode 100644 OvmfPkg/XenResetVector/Ia32/Flat32ToFlat64.asm
create mode 100644 OvmfPkg/XenResetVector/Ia32/PageTables64.asm
create mode 100644 OvmfPkg/XenResetVector/Ia32/SearchForBfvBase.asm
create mode 100644 OvmfPkg/XenResetVector/Ia32/XenPVHMain.asm
create mode 100644 OvmfPkg/XenResetVector/XenResetVector.nasmb
[edk2-devel] [PATCH v3 00/35] Specific platform to run OVMF in Xen PVH and HVM guests
Posted by Anthony PERARD 4 years, 9 months ago
Patch series available in this git branch:
https://xenbits.xen.org/git-http/people/aperard/ovmf.git br.platform-xen-pvh-v3

Hi,

I've started to create a Xen specific platform, in OvmfPkg/XenOvmf.dsc
with the goal to make it work on both Xen HVM and Xen PVH.

The first few patches only create the platform and duplicate some code from
OvmfPkg and the later patches makes OVMF boot in a Xen PVH guest and can boot
a Linux guest.

After this patch series, I'd like to wait a bit before removing Xen support
from the OvmfPkg*.dsc, to allow time to switch to the new Xen only platform,
maybe 1 year.

To build and boot:

To build, simply run OvmfPkg/build.sh -p OvmfPkg/OvmfXen.dsc
Then use OVMF.fd as a kernel of a pvh guest config file (with xl/libxl).

Patch series available in this git branch:
https://xenbits.xen.org/git-http/people/aperard/ovmf.git br.platform-xen-pvh-v3

Anthony PERARD (35):
  OvmfPkg/ResetSystemLib: Add missing dependency on PciLib
  OvmfPkg: Create platform OvmfXen
  OvmfPkg: Introduce XenResetVector
  OvmfPkg: Introduce XenPlatformPei
  OvmfPkg/OvmfXen: Creating an ELF header
  OvmfPkg/XenResetVector: Add new entry point for Xen PVH
  OvmfPkg/XenResetVector: Saving start of day pointer for PVH guests
  OvmfPkg/XenResetVector: Allow jumpstart from either hvmloader or PVH
  OvmfPkg/OvmfXen: use a TimerLib instance that depends only on the CPU
  OvmfPkg/XenPlatformPei: Detect OVMF_INFO from hvmloader
  OvmfPkg/XenPlatformPei: Use mXenHvmloaderInfo to get E820
  OvmfPkg/XenPlatformPei: Grab RSDP from PVH guest start of day struct
  OvmfPkg/Library/XenPlatformLib: New library
  OvmfPkg/AcpiPlatformDxe: Use XenPlatformLib
  OvmfPkg/AcpiPlatformDxe: Use Xen PVH RSDP if it exist
  OvmfPkg/XenHypercallLib: Enable it in PEIM
  OvmfPkg/XenPlatformPei: Reinit XenHypercallLib
  OvmfPkg/XenPlatformPei: Introduce XenHvmloaderDetected
  OvmfPkg/XenPlatformPei: Reserve hvmloader's memory only when it has
    run
  OvmfPkg/XenPlatformPei: Setup HyperPages earlier
  OvmfPkg/XenPlatformPei: Introduce XenPvhDetected
  OvmfPkg: Import XENMEM_memory_map hypercall to Xen/memory.h
  OvmfPkg/XenPlatformPei: no hvmloader: get the E820 table via hypercall
  OvmfPkg/XenPlatformPei: Rework memory detection
  OvmfPkg/XenPlatformPei: Reserve VGA memory region, to boot Linux
  OvmfPkg/XenPlatformPei: Ignore missing PCI Host Bridge on Xen PVH
  OvmfPkg/XenPlatformLib: Cache result for XenDetected
  OvmfPkg/PlatformBootManagerLib: Use XenDetected from XenPlatformLib
  OvmfPkg/PlatformBootManagerLib: Handle the absence of PCI bus on Xen
    PVH
  OvmfPkg/OvmfXen: Override PcdFSBClock to Xen vLAPIC timer frequency
  OvmfPkg/OvmfXen: Introduce XenTimerDxe
  OvmfPkg/PlatformBootManagerLib: Use a Xen console for ConOut/ConIn
  OvmfPkg: Introduce XenIoPvhDxe to initialize Grant Tables
  OvmfPkg: Move XenRealTimeClockLib from ArmVirtPkg
  OvmfPkg/OvmfXen: use RealTimeClockRuntimeDxe from EmbeddedPkg

 OvmfPkg/OvmfPkg.dec                           |   7 +
 ArmVirtPkg/ArmVirtXen.dsc                     |   2 +-
 OvmfPkg/OvmfPkgIa32.dsc                       |   1 +
 OvmfPkg/OvmfPkgIa32X64.dsc                    |   1 +
 OvmfPkg/OvmfPkgX64.dsc                        |   1 +
 OvmfPkg/{OvmfPkgX64.dsc => OvmfXen.dsc}       | 238 +-------
 OvmfPkg/OvmfXen.fdf                           | 539 ++++++++++++++++++
 OvmfPkg/AcpiPlatformDxe/AcpiPlatformDxe.inf   |   2 +-
 .../PlatformBootManagerLib.inf                |   5 +
 .../Library/ResetSystemLib/ResetSystemLib.inf |   1 +
 .../XenHypercallLib/XenHypercallLib.inf       |   4 +-
 .../Library/XenPlatformLib/XenPlatformLib.inf |  33 ++
 .../XenRealTimeClockLib.inf                   |   0
 OvmfPkg/XenIoPvhDxe/XenIoPvhDxe.inf           |  34 ++
 OvmfPkg/XenPlatformPei/XenPlatformPei.inf     | 100 ++++
 OvmfPkg/XenResetVector/XenResetVector.inf     |  41 ++
 OvmfPkg/XenTimerDxe/XenTimerDxe.inf           |  42 ++
 OvmfPkg/AcpiPlatformDxe/AcpiPlatform.h        |   6 +-
 OvmfPkg/Include/Guid/XenInfo.h                |   8 +-
 .../Xen/arch-x86/hvm/start_info.h             | 143 +++++
 OvmfPkg/Include/IndustryStandard/Xen/memory.h |  23 +
 OvmfPkg/Include/Library/XenHypercallLib.h     |  12 +
 OvmfPkg/Include/Library/XenPlatformLib.h      |  53 ++
 .../PlatformBootManagerLib/BdsPlatform.h      |   1 +
 OvmfPkg/XenPlatformPei/Cmos.h                 |  52 ++
 OvmfPkg/XenPlatformPei/Platform.h             | 129 +++++
 OvmfPkg/XenPlatformPei/Xen.h                  |  39 ++
 OvmfPkg/XenTimerDxe/XenTimerDxe.h             | 177 ++++++
 OvmfPkg/AcpiPlatformDxe/Xen.c                 |  41 +-
 .../PlatformBootManagerLib/BdsPlatform.c      |  42 +-
 .../PlatformBootManagerLib/PlatformData.c     |  59 +-
 .../Library/ResetSystemLib/ResetSystemLib.c   |   3 +-
 .../Library/XenHypercallLib/X86XenHypercall.c |   8 +-
 .../Library/XenHypercallLib/XenHypercall.c    |  16 +
 .../Library/XenPlatformLib/XenPlatformLib.c   |  81 +++
 .../XenRealTimeClockLib/XenRealTimeClockLib.c |   0
 OvmfPkg/OvmfXenElfHeaderGenerator.c           | 140 +++++
 OvmfPkg/PlatformPei/Xen.c                     |   3 -
 OvmfPkg/XenIoPvhDxe/XenIoPvhDxe.c             | 108 ++++
 OvmfPkg/XenPlatformPei/AmdSev.c               |  64 +++
 OvmfPkg/XenPlatformPei/ClearCache.c           | 112 ++++
 OvmfPkg/XenPlatformPei/Cmos.c                 |  60 ++
 OvmfPkg/XenPlatformPei/Fv.c                   |  76 +++
 OvmfPkg/XenPlatformPei/MemDetect.c            | 492 ++++++++++++++++
 OvmfPkg/XenPlatformPei/Platform.c             | 452 +++++++++++++++
 OvmfPkg/XenPlatformPei/Xen.c                  | 378 ++++++++++++
 OvmfPkg/XenTimerDxe/XenTimerDxe.c             | 355 ++++++++++++
 .../XenResetVector/Ia16/Real16ToFlat32.asm    | 137 +++++
 .../XenResetVector/Ia16/ResetVectorVtf0.asm   |  81 +++
 .../XenResetVector/Ia32/Flat32ToFlat64.asm    |  68 +++
 OvmfPkg/XenResetVector/Ia32/PageTables64.asm  | 149 +++++
 .../XenResetVector/Ia32/SearchForBfvBase.asm  |  87 +++
 OvmfPkg/XenResetVector/Ia32/XenPVHMain.asm    |  84 +++
 OvmfPkg/XenResetVector/XenResetVector.nasmb   |  71 +++
 54 files changed, 4563 insertions(+), 298 deletions(-)
 copy OvmfPkg/{OvmfPkgX64.dsc => OvmfXen.dsc} (76%)
 create mode 100644 OvmfPkg/OvmfXen.fdf
 create mode 100644 OvmfPkg/Library/XenPlatformLib/XenPlatformLib.inf
 rename {ArmVirtPkg => OvmfPkg}/Library/XenRealTimeClockLib/XenRealTimeClockLib.inf (100%)
 create mode 100644 OvmfPkg/XenIoPvhDxe/XenIoPvhDxe.inf
 create mode 100644 OvmfPkg/XenPlatformPei/XenPlatformPei.inf
 create mode 100644 OvmfPkg/XenResetVector/XenResetVector.inf
 create mode 100644 OvmfPkg/XenTimerDxe/XenTimerDxe.inf
 create mode 100644 OvmfPkg/Include/IndustryStandard/Xen/arch-x86/hvm/start_info.h
 create mode 100644 OvmfPkg/Include/Library/XenPlatformLib.h
 create mode 100644 OvmfPkg/XenPlatformPei/Cmos.h
 create mode 100644 OvmfPkg/XenPlatformPei/Platform.h
 create mode 100644 OvmfPkg/XenPlatformPei/Xen.h
 create mode 100644 OvmfPkg/XenTimerDxe/XenTimerDxe.h
 create mode 100644 OvmfPkg/Library/XenPlatformLib/XenPlatformLib.c
 rename {ArmVirtPkg => OvmfPkg}/Library/XenRealTimeClockLib/XenRealTimeClockLib.c (100%)
 create mode 100644 OvmfPkg/OvmfXenElfHeaderGenerator.c
 create mode 100644 OvmfPkg/XenIoPvhDxe/XenIoPvhDxe.c
 create mode 100644 OvmfPkg/XenPlatformPei/AmdSev.c
 create mode 100644 OvmfPkg/XenPlatformPei/ClearCache.c
 create mode 100644 OvmfPkg/XenPlatformPei/Cmos.c
 create mode 100644 OvmfPkg/XenPlatformPei/Fv.c
 create mode 100644 OvmfPkg/XenPlatformPei/MemDetect.c
 create mode 100644 OvmfPkg/XenPlatformPei/Platform.c
 create mode 100644 OvmfPkg/XenPlatformPei/Xen.c
 create mode 100644 OvmfPkg/XenTimerDxe/XenTimerDxe.c
 create mode 100644 OvmfPkg/XenResetVector/Ia16/Real16ToFlat32.asm
 create mode 100644 OvmfPkg/XenResetVector/Ia16/ResetVectorVtf0.asm
 create mode 100644 OvmfPkg/XenResetVector/Ia32/Flat32ToFlat64.asm
 create mode 100644 OvmfPkg/XenResetVector/Ia32/PageTables64.asm
 create mode 100644 OvmfPkg/XenResetVector/Ia32/SearchForBfvBase.asm
 create mode 100644 OvmfPkg/XenResetVector/Ia32/XenPVHMain.asm
 create mode 100644 OvmfPkg/XenResetVector/XenResetVector.nasmb

-- 
Anthony PERARD


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#43279): https://edk2.groups.io/g/devel/message/43279
Mute This Topic: https://groups.io/mt/32308564/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-

Re: [edk2-devel] [PATCH v3 00/35] Specific platform to run OVMF in Xen PVH and HVM guests
Posted by Laszlo Ersek 4 years, 9 months ago
Hi Anthony,

On 07/04/19 16:41, Anthony PERARD wrote:
> Patch series available in this git branch:
> https://xenbits.xen.org/git-http/people/aperard/ovmf.git br.platform-xen-pvh-v3
> 
> Hi,
> 
> I've started to create a Xen specific platform, in OvmfPkg/XenOvmf.dsc
> with the goal to make it work on both Xen HVM and Xen PVH.
> 
> The first few patches only create the platform and duplicate some code from
> OvmfPkg and the later patches makes OVMF boot in a Xen PVH guest and can boot
> a Linux guest.
> 
> After this patch series, I'd like to wait a bit before removing Xen support
> from the OvmfPkg*.dsc, to allow time to switch to the new Xen only platform,
> maybe 1 year.
> 
> To build and boot:
> 
> To build, simply run OvmfPkg/build.sh -p OvmfPkg/OvmfXen.dsc
> Then use OVMF.fd as a kernel of a pvh guest config file (with xl/libxl).
> 
> Patch series available in this git branch:
> https://xenbits.xen.org/git-http/people/aperard/ovmf.git br.platform-xen-pvh-v3

The patches on the list are malformed. They have

Content-Transfer-Encoding: quoted-printable

which is fine, in itself; however, they have CR-CR-LF line terminators.

For example, from the first patch:

diff --git a/OvmfPkg/Library/ResetSystemLib/ResetSystemLib.inf b/OvmfPkg/L=
ibrary/ResetSystemLib/ResetSystemLib.inf
index 7c44f99a5c..2f24dac87f 100644
--- a/OvmfPkg/Library/ResetSystemLib/ResetSystemLib.inf
+++ b/OvmfPkg/Library/ResetSystemLib/ResetSystemLib.inf
@@ -30,4 +30,5 @@ [Packages]
 [LibraryClasses]=0D=0D
   DebugLib=0D=0D
   IoLib=0D=0D
+  PciLib=0D=0D
   TimerLib=0D=0D

Note "=0D=0D".

Your other (recent) patches,

- [edk2-devel] [PATCH v2]
  OvmfPkg/XenBusDxe: Close XenIoProtocol openned by children

- [edk2-devel] [PATCH]
  OvmfPkg/XenBusDxe: Don't call DisconnectController in Stop()

had the same problem; I had to use "--ignore-whitespace" with git-am, to
apply them.

Now, if I try to apply this full set with git-am like that, the first
patch in the series applies, but the second still fails:

> error: corrupt patch at line 23
> Patch failed at 0002 OvmfPkg: Create platform OvmfXen

Based on the email headers, the "iphmx.com" references suggest (via a
google search) "Cisco's Ironport Cloud email service".

I think that email service (MTA) is broken.

I decoded your emails (from quoted-printable to 8-bit plaintext),
removed the "Content-Transfer-Encoding" lines, and replaced '\r\r' with
'\r'. This way, git-am completed (with some "new blank line at EOF"
warnings). Applying the "processed" patches on top of commit
a7c7d21ffa9a, the resultant tree is identical to your tree at
"br.platform-xen-pvh-v3" branch (commit e8795d185875). In addition, I ran

$ git range-diff a7c7d21ffa9a \
      xen_pvh_anthony_v3 \
      xen_pvh_anthony_v3_from_email

and the only differences reported by that command were the "Message-Id"
tags appended to the commit messages by my "git-am" invocation. (I have
"am.messageid" set to to "true".)

I like to perform this sanity check when a patch series doesn't apply
as-is (without local tweaking) from the list, but there is a remote
topic branch to fetch (i.e. when there are two things I can compare). So
in this case, the sanity check passed fine; I can now look at the
patches themselves.

If you could use a different MTA (or get the current one fixed), that
would be helpful. (Yes, yes: if the edk2 project didn't use CRLF line
terminators, that would be *even more* helpful.)

Thanks
Laszlo

-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#43351): https://edk2.groups.io/g/devel/message/43351
Mute This Topic: https://groups.io/mt/32308564/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-

Re: [edk2-devel] [PATCH v3 00/35] Specific platform to run OVMF in Xen PVH and HVM guests
Posted by Anthony PERARD 4 years, 9 months ago
On Fri, Jul 05, 2019 at 02:21:13PM +0200, Laszlo Ersek wrote:
> The patches on the list are malformed. They have
> 
> Content-Transfer-Encoding: quoted-printable
> 
> which is fine, in itself; however, they have CR-CR-LF line terminators.
> 
> For example, from the first patch:
> 
> diff --git a/OvmfPkg/Library/ResetSystemLib/ResetSystemLib.inf b/OvmfPkg/L=
> ibrary/ResetSystemLib/ResetSystemLib.inf
> index 7c44f99a5c..2f24dac87f 100644
> --- a/OvmfPkg/Library/ResetSystemLib/ResetSystemLib.inf
> +++ b/OvmfPkg/Library/ResetSystemLib/ResetSystemLib.inf
> @@ -30,4 +30,5 @@ [Packages]
>  [LibraryClasses]=0D=0D
>    DebugLib=0D=0D
>    IoLib=0D=0D
> +  PciLib=0D=0D
>    TimerLib=0D=0D
> 
> Note "=0D=0D".
> 
> Now, if I try to apply this full set with git-am like that, the first
> patch in the series applies, but the second still fails:
> 
> > error: corrupt patch at line 23
> > Patch failed at 0002 OvmfPkg: Create platform OvmfXen
> 
> Based on the email headers, the "iphmx.com" references suggest (via a
> google search) "Cisco's Ironport Cloud email service".
> 
> I think that email service (MTA) is broken.
> 
> If you could use a different MTA (or get the current one fixed), that
> would be helpful. (Yes, yes: if the edk2 project didn't use CRLF line
> terminators, that would be *even more* helpful.)

I'm not sure that using a different MTA is going to help. I don't think
I can find a patch on the list that I can apply (without using unix2dos).
I did send a patch to my gmail address, and it looks fine (=0D in the
expected places and nowhere else). So maybe when a patch is sent through
a mailing list, some more formating is done?

Anyway, can I try sending patch encoded in base64 instead of
quoted-printable? That would probably work better.

I found <20190704040731.5303-1-glin@suse.com> on the list that is base64
encoded, that I can easily apply and patchew too.

-- 
Anthony PERARD

-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#44055): https://edk2.groups.io/g/devel/message/44055
Mute This Topic: https://groups.io/mt/32308564/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-

Re: [edk2-devel] [PATCH v3 00/35] Specific platform to run OVMF in Xen PVH and HVM guests
Posted by Laszlo Ersek 4 years, 9 months ago
On 07/19/19 18:42, Anthony PERARD wrote:
> On Fri, Jul 05, 2019 at 02:21:13PM +0200, Laszlo Ersek wrote:
>> The patches on the list are malformed. They have
>>
>> Content-Transfer-Encoding: quoted-printable
>>
>> which is fine, in itself; however, they have CR-CR-LF line terminators.
>>
>> For example, from the first patch:
>>
>> diff --git a/OvmfPkg/Library/ResetSystemLib/ResetSystemLib.inf b/OvmfPkg/L=
>> ibrary/ResetSystemLib/ResetSystemLib.inf
>> index 7c44f99a5c..2f24dac87f 100644
>> --- a/OvmfPkg/Library/ResetSystemLib/ResetSystemLib.inf
>> +++ b/OvmfPkg/Library/ResetSystemLib/ResetSystemLib.inf
>> @@ -30,4 +30,5 @@ [Packages]
>>  [LibraryClasses]=0D=0D
>>    DebugLib=0D=0D
>>    IoLib=0D=0D
>> +  PciLib=0D=0D
>>    TimerLib=0D=0D
>>
>> Note "=0D=0D".
>>
>> Now, if I try to apply this full set with git-am like that, the first
>> patch in the series applies, but the second still fails:
>>
>>> error: corrupt patch at line 23
>>> Patch failed at 0002 OvmfPkg: Create platform OvmfXen
>>
>> Based on the email headers, the "iphmx.com" references suggest (via a
>> google search) "Cisco's Ironport Cloud email service".
>>
>> I think that email service (MTA) is broken.
>>
>> If you could use a different MTA (or get the current one fixed), that
>> would be helpful. (Yes, yes: if the edk2 project didn't use CRLF line
>> terminators, that would be *even more* helpful.)
> 
> I'm not sure that using a different MTA is going to help. I don't think
> I can find a patch on the list that I can apply (without using unix2dos).
> I did send a patch to my gmail address, and it looks fine (=0D in the
> expected places and nowhere else). So maybe when a patch is sent through
> a mailing list, some more formating is done?
> 
> Anyway, can I try sending patch encoded in base64 instead of
> quoted-printable? That would probably work better.
> 
> I found <20190704040731.5303-1-glin@suse.com> on the list that is base64
> encoded, that I can easily apply and patchew too.

That patch ("[edk2-devel] [PATCH v2] OvmfPkg: use DxeTpmMeasurementLib
if and only if TPM2_ENABLE") worked fine for me as well.

However, Gary confirmed elsewhere that he had to tweak the posting
process manually, for that patch:

http://mid.mail-archive.com/20190704085826.GD32340@GaryWorkstation

Thanks
Laszlo

-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#44147): https://edk2.groups.io/g/devel/message/44147
Mute This Topic: https://groups.io/mt/32308564/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-

Re: [edk2-devel] [PATCH v3 00/35] Specific platform to run OVMF in Xen PVH and HVM guests
Posted by Anthony PERARD 4 years, 9 months ago
This is a simple test of email configuration, and how the line ending
survive the different MTAs. (There should only be CRLFs in the hunk, and
LFs everywhere else.)

---
 Readme.md | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/Readme.md b/Readme.md
index e564c6c09b..5b3eb4442f 100644
--- a/Readme.md
+++ b/Readme.md
@@ -118,6 +118,15 @@ Full-commit-message
 Signed-off-by: Contributor Name <contributor@example.com>
 ```
 
+# How to properly send a patch to the mailing-lists
+
+tl;dr: That's not possible.
+
+EDK2 got a mix of CRLFs and LFs line ending. Some MTA will probably modify the
+them before reaching the recipient. This patch tests base64 transfer-encoding
+instead of quoted-printable. But the email is probably going to be modified
+anyway...
+
 ## Notes for sample patch email
 
 * The first line of commit message is taken from the email's subject
-- 
Anthony PERARD


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#44247): https://edk2.groups.io/g/devel/message/44247
Mute This Topic: https://groups.io/mt/32308564/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-

Re: [edk2-devel] [PATCH v3 00/35] Specific platform to run OVMF in Xen PVH and HVM guests
Posted by Laszlo Ersek 4 years, 8 months ago
On 07/23/19 13:37, Anthony PERARD wrote:
> This is a simple test of email configuration, and how the line ending
> survive the different MTAs. (There should only be CRLFs in the hunk, and
> LFs everywhere else.)
> 
> ---
>  Readme.md | 9 +++++++++
>  1 file changed, 9 insertions(+)
> 
> diff --git a/Readme.md b/Readme.md
> index e564c6c09b..5b3eb4442f 100644
> --- a/Readme.md
> +++ b/Readme.md
> @@ -118,6 +118,15 @@ Full-commit-message
>  Signed-off-by: Contributor Name <contributor@example.com>
>  ```
>  
> +# How to properly send a patch to the mailing-lists
> +
> +tl;dr: That's not possible.
> +
> +EDK2 got a mix of CRLFs and LFs line ending. Some MTA will probably modify the
> +them before reaching the recipient. This patch tests base64 transfer-encoding
> +instead of quoted-printable. But the email is probably going to be modified
> +anyway...
> +
>  ## Notes for sample patch email
>  
>  * The first line of commit message is taken from the email's subject
> 

I'm seeing this test email just now (you didn't CC me). Even now, I
haven't simply noticed the email in my list folder; I'm returning to the
sub-thread deliberately, and that's how I've noticed the posting at the
bottom of the thread.

But, I digress. The reason I'm returning to this sub-thread is to
confirm that your v4 posting (with base64 encoding) applies flawlessly.

Thanks
Laszlo

-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#44604): https://edk2.groups.io/g/devel/message/44604
Mute This Topic: https://groups.io/mt/32308564/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-

Re: [edk2-devel] [PATCH v3 00/35] Specific platform to run OVMF in Xen PVH and HVM guests
Posted by Laszlo Ersek 4 years, 9 months ago
On 07/04/19 16:41, Anthony PERARD wrote:
> Patch series available in this git branch:
> https://xenbits.xen.org/git-http/people/aperard/ovmf.git br.platform-xen-pvh-v3
> 
> Hi,
> 
> I've started to create a Xen specific platform, in OvmfPkg/XenOvmf.dsc
> with the goal to make it work on both Xen HVM and Xen PVH.
> 
> The first few patches only create the platform and duplicate some code from
> OvmfPkg and the later patches makes OVMF boot in a Xen PVH guest and can boot
> a Linux guest.
> 
> After this patch series, I'd like to wait a bit before removing Xen support
> from the OvmfPkg*.dsc, to allow time to switch to the new Xen only platform,
> maybe 1 year.
> 
> To build and boot:
> 
> To build, simply run OvmfPkg/build.sh -p OvmfPkg/OvmfXen.dsc
> Then use OVMF.fd as a kernel of a pvh guest config file (with xl/libxl).
> 
> Patch series available in this git branch:
> https://xenbits.xen.org/git-http/people/aperard/ovmf.git br.platform-xen-pvh-v3

I believe I've completed the v3 review.

Thanks,
Laszlo

-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#43481): https://edk2.groups.io/g/devel/message/43481
Mute This Topic: https://groups.io/mt/32308564/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-

Re: [edk2-devel] [PATCH v3 00/35] Specific platform to run OVMF in Xen PVH and HVM guests
Posted by Laszlo Ersek 4 years, 9 months ago
On 07/04/19 16:41, Anthony PERARD wrote:
> Patch series available in this git branch:
> https://xenbits.xen.org/git-http/people/aperard/ovmf.git br.platform-xen-pvh-v3
> 
> Hi,
> 
> I've started to create a Xen specific platform, in OvmfPkg/XenOvmf.dsc
> with the goal to make it work on both Xen HVM and Xen PVH.
> 
> The first few patches only create the platform and duplicate some code from
> OvmfPkg and the later patches makes OVMF boot in a Xen PVH guest and can boot
> a Linux guest.
> 
> After this patch series, I'd like to wait a bit before removing Xen support
> from the OvmfPkg*.dsc, to allow time to switch to the new Xen only platform,
> maybe 1 year.
> 
> To build and boot:
> 
> To build, simply run OvmfPkg/build.sh -p OvmfPkg/OvmfXen.dsc
> Then use OVMF.fd as a kernel of a pvh guest config file (with xl/libxl).
> 
> Patch series available in this git branch:
> https://xenbits.xen.org/git-http/people/aperard/ovmf.git br.platform-xen-pvh-v3

I intend to continue the review with [PATCH v3 11/35], next week.

Thanks
Laszlo

-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#43373): https://edk2.groups.io/g/devel/message/43373
Mute This Topic: https://groups.io/mt/32308564/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-