[Pkg-xen-devel] [PATCH 00/12] Bunch of patches for cross-compilatio + RP4

Hans van Kranenburg hans at knorrie.org
Thu Sep 17 17:51:06 BST 2020


On 9/7/20 12:00 AM, Hans van Kranenburg wrote:
> Hi,
> 
> On 7/19/20 1:21 AM, Elliott Mitchell wrote:
>> Initially out there as #965245.
>>
>> I strongly prefer to build ARM64 packages on non-ARM systems.  Something
>> about my main build machine having twice the cores and twice the clock
>> speed.  As such after many builds I've managed to generate a set of
>> patches which appear to mostly function to get functioning cross-builds
>> of Xen.
>>
>> These are NOT a 100% solution.  Some packaging hacks were needed.  In
>> particular ocaml-nox|ocaml-native-compilers is a major problem.
>> ocaml-nox cannot be used for cross-building.  Until ocaml-nox is fixed
>> the OCAML Xen bits are going to be problematic for cross-compilation.
>> I've worked around this to the degree possible, even though the resultant
>> package will have non-functioning OCAML bits replacements should drop-in.
>>
>> Several of these can likely be squashed together. 1-2 are the two halves
>> of a bug. 3-4 are another pair, 3 is a genuine bug.  5-7 are another set.
> 
> Having small patches which do one thing at a time is just fine.
> 
>> Patch 12 is special, it has already been submitted to Xen for inclusion.
>> It is though *required* for functioning cross-compilation.
> 
> Ok, I see it's in, so I will include that one by cherry-picking commit
> 69953e28563 instead.
> 
>> Patches 9-11 are already in Xen's 4.14 branch.  They are popular due to
>> the Raspberry PI 4's rather significant audience.  I imagine many people
>> using Debian on ARM highly desire them.
> 
> Since the packaging is now forwarded to 4.14, it's a noop indeed.
> 
>> Elliott Mitchell (9):
>>   Revert "debian/rules: Do not try to move EFI binaries on armhf"
>>   debian/rules: Only install PV shim for supported architectures
>>   debian/rules: Fix binary shuffling script for cross-building
> 
>     ^ I changed this to d/shuffle-binaries, it's not touching rules
> 
>>   debian/rules: Adjust boot shuffling script for POSIX
> 
>     ^ I changed this to d/shuffle-boot-files, same reason
> 
>>   debian/rules: Combine shared Make args
>>   debian/rules: Add --host to tools configure target
>>   debian/rules: Set CC/LD for cross-building
>>   debian/rules: Disable OCAML build when cross-building
>>   Partially revert "Cross-compilation fixes."
>>
>> Julien Grall (3):
>>   xen/arm: Allow a platform to override the DMA width
>>   xen/arm: Take into account the DMA width when allocating Dom0 memory
>>     banks
>>   xen/arm: plat: Allocate as much as possible memory below 1GB for dom0
>>     for RPI
>>
>>  debian/rules                               | 43 ++++++++++++++-------
>>  debian/shuffle-binaries                    | 45 ++++++++++++----------
>>  debian/shuffle-boot-files                  |  7 ++--
>>  tools/Makefile                             |  3 --
>>  xen/arch/arm/domain_build.c                | 33 +++++++++-------
>>  xen/arch/arm/platform.c                    |  5 +++
>>  xen/arch/arm/platforms/brcm-raspberry-pi.c |  1 +
>>  xen/include/asm-arm/mm.h                   |  2 +
>>  xen/include/asm-arm/numa.h                 |  5 ---
>>  xen/include/asm-arm/platform.h             |  2 +
>>  10 files changed, 88 insertions(+), 58 deletions(-)
> 
> I added this to my knorrie/4.14-extra branch. Note that that branch has
> d/patches which is out of sync, it's just for stashing/preparing some
> commits that are not in knorrie/4.14 yet.
> 
> https://salsa.debian.org/xen-team/debian-xen/-/commits/knorrie/4.14-extra
> 
> I did regression smoke test build and it build and boots.
> 
> Ian, can you review the packaging changes?

Yay, stuff is happening.

FTR, I just reverted knorrie/4.14 to 9625f122e8a and then added the
already accepted patches.

I also took out the 'commit patch queue' commit, and (while in q quest
to search for the best workflow/way to present a WIP branch to others to
base new patches on) pushed the branch without debrebase re-ordering
(which tears up patch sets and pushes all debian/* changes down) and
without the patch queue export.

So to build it for testing, refreshing debian/patches has to be done first.

Hans




More information about the Pkg-xen-devel mailing list