[PATCH v2 0/8] ppc: Enable full Xen build

Shawn Anastasio posted 8 patches 8 months, 2 weeks ago
Failed in applying to current master (apply log)
There is a newer version of this series
xen/arch/ppc/Kconfig                     |   1 +
xen/arch/ppc/Makefile                    |  17 +-
xen/arch/ppc/arch.mk                     |   3 -
xen/arch/ppc/include/asm/altp2m.h        |  25 ++
xen/arch/ppc/include/asm/atomic.h        | 390 +++++++++++++++++++++++
xen/arch/ppc/include/asm/bitops.h        | 332 ++++++++++++++++++-
xen/arch/ppc/include/asm/bug.h           |   9 +
xen/arch/ppc/include/asm/cache.h         |   2 +
xen/arch/ppc/include/asm/config.h        |   9 +
xen/arch/ppc/include/asm/cpufeature.h    |   9 +
xen/arch/ppc/include/asm/current.h       |  42 +++
xen/arch/ppc/include/asm/delay.h         |  11 +
xen/arch/ppc/include/asm/device.h        |  53 +++
xen/arch/ppc/include/asm/div64.h         |  14 +
xen/arch/ppc/include/asm/domain.h        |  46 +++
xen/arch/ppc/include/asm/event.h         |  35 ++
xen/arch/ppc/include/asm/flushtlb.h      |  23 ++
xen/arch/ppc/include/asm/grant_table.h   |   0
xen/arch/ppc/include/asm/guest_access.h  |  54 ++++
xen/arch/ppc/include/asm/guest_atomics.h |  14 +
xen/arch/ppc/include/asm/hardirq.h       |  18 ++
xen/arch/ppc/include/asm/hypercall.h     |   0
xen/arch/ppc/include/asm/io.h            |  15 +
xen/arch/ppc/include/asm/iocap.h         |   7 +
xen/arch/ppc/include/asm/iommu.h         |   7 +
xen/arch/ppc/include/asm/irq.h           |  32 ++
xen/arch/ppc/include/asm/mem_access.h    |   0
xen/arch/ppc/include/asm/memory.h        |  34 ++
xen/arch/ppc/include/asm/mm.h            | 249 ++++++++++++++-
xen/arch/ppc/include/asm/monitor.h       |  46 +++
xen/arch/ppc/include/asm/nospec.h        |  18 ++
xen/arch/ppc/include/asm/numa.h          |  26 ++
xen/arch/ppc/include/asm/p2m.h           | 105 ++++++
xen/arch/ppc/include/asm/page.h          |  19 ++
xen/arch/ppc/include/asm/paging.h        |   7 +
xen/arch/ppc/include/asm/pci.h           |   7 +
xen/arch/ppc/include/asm/percpu.h        |  24 ++
xen/arch/ppc/include/asm/procarea.h      |  20 ++
xen/arch/ppc/include/asm/processor.h     |  10 +
xen/arch/ppc/include/asm/random.h        |   9 +
xen/arch/ppc/include/asm/setup.h         |   6 +
xen/arch/ppc/include/asm/smp.h           |  18 ++
xen/arch/ppc/include/asm/softirq.h       |   8 +
xen/arch/ppc/include/asm/spinlock.h      |  15 +
xen/arch/ppc/include/asm/system.h        | 229 ++++++++++++-
xen/arch/ppc/include/asm/time.h          |  20 ++
xen/arch/ppc/include/asm/vm_event.h      |  49 +++
xen/arch/ppc/include/asm/xenoprof.h      |   0
xen/arch/ppc/mm-radix.c                  |  44 ++-
xen/arch/ppc/setup.c                     |   8 +
xen/arch/ppc/stubs.c                     | 345 ++++++++++++++++++++
xen/arch/ppc/tlb-radix.c                 |   2 +-
xen/arch/ppc/xen.lds.S                   |  10 +
xen/common/memory.c                      |   1 +
xen/common/symbols.c                     |   1 +
xen/common/xmalloc_tlsf.c                |   1 +
xen/include/public/arch-ppc.h            | 110 +++++++
xen/include/public/hvm/save.h            |   2 +
xen/include/public/pmu.h                 |   2 +
xen/include/public/xen.h                 |   2 +
xen/include/xen/domain.h                 |   1 +
xen/include/xen/iommu.h                  |   1 +
xen/include/xen/sched.h                  |   1 +
63 files changed, 2607 insertions(+), 11 deletions(-)
create mode 100644 xen/arch/ppc/include/asm/altp2m.h
create mode 100644 xen/arch/ppc/include/asm/atomic.h
create mode 100644 xen/arch/ppc/include/asm/cpufeature.h
create mode 100644 xen/arch/ppc/include/asm/current.h
create mode 100644 xen/arch/ppc/include/asm/delay.h
create mode 100644 xen/arch/ppc/include/asm/device.h
create mode 100644 xen/arch/ppc/include/asm/div64.h
create mode 100644 xen/arch/ppc/include/asm/domain.h
create mode 100644 xen/arch/ppc/include/asm/event.h
create mode 100644 xen/arch/ppc/include/asm/flushtlb.h
create mode 100644 xen/arch/ppc/include/asm/grant_table.h
create mode 100644 xen/arch/ppc/include/asm/guest_access.h
create mode 100644 xen/arch/ppc/include/asm/guest_atomics.h
create mode 100644 xen/arch/ppc/include/asm/hardirq.h
create mode 100644 xen/arch/ppc/include/asm/hypercall.h
create mode 100644 xen/arch/ppc/include/asm/io.h
create mode 100644 xen/arch/ppc/include/asm/iocap.h
create mode 100644 xen/arch/ppc/include/asm/iommu.h
create mode 100644 xen/arch/ppc/include/asm/irq.h
create mode 100644 xen/arch/ppc/include/asm/mem_access.h
create mode 100644 xen/arch/ppc/include/asm/memory.h
create mode 100644 xen/arch/ppc/include/asm/monitor.h
create mode 100644 xen/arch/ppc/include/asm/nospec.h
create mode 100644 xen/arch/ppc/include/asm/numa.h
create mode 100644 xen/arch/ppc/include/asm/p2m.h
create mode 100644 xen/arch/ppc/include/asm/paging.h
create mode 100644 xen/arch/ppc/include/asm/pci.h
create mode 100644 xen/arch/ppc/include/asm/percpu.h
create mode 100644 xen/arch/ppc/include/asm/procarea.h
create mode 100644 xen/arch/ppc/include/asm/random.h
create mode 100644 xen/arch/ppc/include/asm/setup.h
create mode 100644 xen/arch/ppc/include/asm/smp.h
create mode 100644 xen/arch/ppc/include/asm/softirq.h
create mode 100644 xen/arch/ppc/include/asm/spinlock.h
create mode 100644 xen/arch/ppc/include/asm/time.h
create mode 100644 xen/arch/ppc/include/asm/vm_event.h
create mode 100644 xen/arch/ppc/include/asm/xenoprof.h
create mode 100644 xen/arch/ppc/stubs.c
create mode 100644 xen/include/public/arch-ppc.h
[PATCH v2 0/8] ppc: Enable full Xen build
Posted by Shawn Anastasio 8 months, 2 weeks ago
Hello all,

This patch series performs all of the additions necessary to drop the
build overrides for PPC and enable the full Xen build. Except in cases
where compatibile implementations already exist (e.g. atomic.h and
bitops.h), the newly added definitions are simple, unimplemented stubs
that just call BUG_ON("unimplemented").

A few miscellaneous changes were also made to non-ppc code as well,
specifically a few missing header fixes in common.

Thanks,
Shawn

--
v2: Address review comments from v1. Some changes are still pending until
the following patches are merged:
  - [PATCH] mem-sharing: move (x86) / drop (Arm) arch_dump_shared_mem_info()
  https://lists.xen.org/archives/html/xen-devel/2023-08/msg00887.html

  - [PATCH] move max_page and total_pages to common code
  https://lists.xen.org/archives/html/xen-devel/2023-08/msg00874.html

Shawn Anastasio (8):
  xen/common: Add missing #includes treewide
  xen/ppc: Add public/arch-ppc.h
  xen/ppc: Implement atomic.h
  xen/ppc: Implement bitops.h
  xen/ppc: Define minimal stub headers required for full build
  xen/ppc: Define bug frames table in linker script
  xen/ppc: Add stub function and symbol definitions
  xen/ppc: Enable full Xen build

 xen/arch/ppc/Kconfig                     |   1 +
 xen/arch/ppc/Makefile                    |  17 +-
 xen/arch/ppc/arch.mk                     |   3 -
 xen/arch/ppc/include/asm/altp2m.h        |  25 ++
 xen/arch/ppc/include/asm/atomic.h        | 390 +++++++++++++++++++++++
 xen/arch/ppc/include/asm/bitops.h        | 332 ++++++++++++++++++-
 xen/arch/ppc/include/asm/bug.h           |   9 +
 xen/arch/ppc/include/asm/cache.h         |   2 +
 xen/arch/ppc/include/asm/config.h        |   9 +
 xen/arch/ppc/include/asm/cpufeature.h    |   9 +
 xen/arch/ppc/include/asm/current.h       |  42 +++
 xen/arch/ppc/include/asm/delay.h         |  11 +
 xen/arch/ppc/include/asm/device.h        |  53 +++
 xen/arch/ppc/include/asm/div64.h         |  14 +
 xen/arch/ppc/include/asm/domain.h        |  46 +++
 xen/arch/ppc/include/asm/event.h         |  35 ++
 xen/arch/ppc/include/asm/flushtlb.h      |  23 ++
 xen/arch/ppc/include/asm/grant_table.h   |   0
 xen/arch/ppc/include/asm/guest_access.h  |  54 ++++
 xen/arch/ppc/include/asm/guest_atomics.h |  14 +
 xen/arch/ppc/include/asm/hardirq.h       |  18 ++
 xen/arch/ppc/include/asm/hypercall.h     |   0
 xen/arch/ppc/include/asm/io.h            |  15 +
 xen/arch/ppc/include/asm/iocap.h         |   7 +
 xen/arch/ppc/include/asm/iommu.h         |   7 +
 xen/arch/ppc/include/asm/irq.h           |  32 ++
 xen/arch/ppc/include/asm/mem_access.h    |   0
 xen/arch/ppc/include/asm/memory.h        |  34 ++
 xen/arch/ppc/include/asm/mm.h            | 249 ++++++++++++++-
 xen/arch/ppc/include/asm/monitor.h       |  46 +++
 xen/arch/ppc/include/asm/nospec.h        |  18 ++
 xen/arch/ppc/include/asm/numa.h          |  26 ++
 xen/arch/ppc/include/asm/p2m.h           | 105 ++++++
 xen/arch/ppc/include/asm/page.h          |  19 ++
 xen/arch/ppc/include/asm/paging.h        |   7 +
 xen/arch/ppc/include/asm/pci.h           |   7 +
 xen/arch/ppc/include/asm/percpu.h        |  24 ++
 xen/arch/ppc/include/asm/procarea.h      |  20 ++
 xen/arch/ppc/include/asm/processor.h     |  10 +
 xen/arch/ppc/include/asm/random.h        |   9 +
 xen/arch/ppc/include/asm/setup.h         |   6 +
 xen/arch/ppc/include/asm/smp.h           |  18 ++
 xen/arch/ppc/include/asm/softirq.h       |   8 +
 xen/arch/ppc/include/asm/spinlock.h      |  15 +
 xen/arch/ppc/include/asm/system.h        | 229 ++++++++++++-
 xen/arch/ppc/include/asm/time.h          |  20 ++
 xen/arch/ppc/include/asm/vm_event.h      |  49 +++
 xen/arch/ppc/include/asm/xenoprof.h      |   0
 xen/arch/ppc/mm-radix.c                  |  44 ++-
 xen/arch/ppc/setup.c                     |   8 +
 xen/arch/ppc/stubs.c                     | 345 ++++++++++++++++++++
 xen/arch/ppc/tlb-radix.c                 |   2 +-
 xen/arch/ppc/xen.lds.S                   |  10 +
 xen/common/memory.c                      |   1 +
 xen/common/symbols.c                     |   1 +
 xen/common/xmalloc_tlsf.c                |   1 +
 xen/include/public/arch-ppc.h            | 110 +++++++
 xen/include/public/hvm/save.h            |   2 +
 xen/include/public/pmu.h                 |   2 +
 xen/include/public/xen.h                 |   2 +
 xen/include/xen/domain.h                 |   1 +
 xen/include/xen/iommu.h                  |   1 +
 xen/include/xen/sched.h                  |   1 +
 63 files changed, 2607 insertions(+), 11 deletions(-)
 create mode 100644 xen/arch/ppc/include/asm/altp2m.h
 create mode 100644 xen/arch/ppc/include/asm/atomic.h
 create mode 100644 xen/arch/ppc/include/asm/cpufeature.h
 create mode 100644 xen/arch/ppc/include/asm/current.h
 create mode 100644 xen/arch/ppc/include/asm/delay.h
 create mode 100644 xen/arch/ppc/include/asm/device.h
 create mode 100644 xen/arch/ppc/include/asm/div64.h
 create mode 100644 xen/arch/ppc/include/asm/domain.h
 create mode 100644 xen/arch/ppc/include/asm/event.h
 create mode 100644 xen/arch/ppc/include/asm/flushtlb.h
 create mode 100644 xen/arch/ppc/include/asm/grant_table.h
 create mode 100644 xen/arch/ppc/include/asm/guest_access.h
 create mode 100644 xen/arch/ppc/include/asm/guest_atomics.h
 create mode 100644 xen/arch/ppc/include/asm/hardirq.h
 create mode 100644 xen/arch/ppc/include/asm/hypercall.h
 create mode 100644 xen/arch/ppc/include/asm/io.h
 create mode 100644 xen/arch/ppc/include/asm/iocap.h
 create mode 100644 xen/arch/ppc/include/asm/iommu.h
 create mode 100644 xen/arch/ppc/include/asm/irq.h
 create mode 100644 xen/arch/ppc/include/asm/mem_access.h
 create mode 100644 xen/arch/ppc/include/asm/memory.h
 create mode 100644 xen/arch/ppc/include/asm/monitor.h
 create mode 100644 xen/arch/ppc/include/asm/nospec.h
 create mode 100644 xen/arch/ppc/include/asm/numa.h
 create mode 100644 xen/arch/ppc/include/asm/p2m.h
 create mode 100644 xen/arch/ppc/include/asm/paging.h
 create mode 100644 xen/arch/ppc/include/asm/pci.h
 create mode 100644 xen/arch/ppc/include/asm/percpu.h
 create mode 100644 xen/arch/ppc/include/asm/procarea.h
 create mode 100644 xen/arch/ppc/include/asm/random.h
 create mode 100644 xen/arch/ppc/include/asm/setup.h
 create mode 100644 xen/arch/ppc/include/asm/smp.h
 create mode 100644 xen/arch/ppc/include/asm/softirq.h
 create mode 100644 xen/arch/ppc/include/asm/spinlock.h
 create mode 100644 xen/arch/ppc/include/asm/time.h
 create mode 100644 xen/arch/ppc/include/asm/vm_event.h
 create mode 100644 xen/arch/ppc/include/asm/xenoprof.h
 create mode 100644 xen/arch/ppc/stubs.c
 create mode 100644 xen/include/public/arch-ppc.h

--
2.30.2