mbox series

[XTF,0/4] Port XTF to arm64 and arm32

Message ID 20210310104335.14855-1-michal.orzel@arm.com (mailing list archive)
Headers show
Series Port XTF to arm64 and arm32 | expand

Message

Michal Orzel March 10, 2021, 10:43 a.m. UTC
The goal of this patch series is to make the first step in porting
XTF to arm64 and arm32, whereby the emphasis is on arm64.
The attempt to port XTF to arm64 was originally started by Julien Grall.
The series contains:

Patch 1 performs miscellaneous code cleanup related to headers
that should be architecture independent.

Patch 2 modifies the XTF build system to be able to support multiple
architectures as the current build system is strictly made up for x86.
This is done by generalizing the common makefiles to be architecture
independent and creating architecture specific makefiles.

Patch 3 adds the initial support for arm64/arm32 by providing minimal
set of architecture specific files. Some of them are just dummy files
waiting to be properly implemented later on. This creates a base for
further implementation.

Patch 4 adds the build system support for arm64/arm32 and updates the
documentation. On arm64 one test is supported tests/example allowing
the startup code to be executed. On arm32 currently no test is supported.

Michal Orzel (4):
  xtf: Perform misc code cleanup
  build: Modify build system to support multiple architectures
  arm: Add initial architecture code for arm64 and arm32
  arm: Add build support for arm64/arm32

 .gitignore                            |   2 +-
 INSTALL                               |  18 +
 Makefile                              |  23 +-
 README                                |   7 +
 arch/arm/arm32/head.S                 |   0
 arch/arm/arm64/cache.S                |  23 ++
 arch/arm/arm64/head.S                 |  90 +++++
 arch/arm/decode.c                     |  25 ++
 arch/arm/include/arch/arm32/regs.h    |  73 +++++
 arch/arm/include/arch/arm64/regs.h    | 100 ++++++
 arch/arm/include/arch/asm_macros.h    |  21 ++
 arch/arm/include/arch/barrier.h       |  41 +++
 arch/arm/include/arch/bitops.h        |  45 +++
 arch/arm/include/arch/config.h        |  37 +++
 arch/arm/include/arch/desc.h          |  16 +
 arch/arm/include/arch/div.h           |  35 ++
 arch/arm/include/arch/extable.h       |  19 ++
 arch/arm/include/arch/hypercall.h     |  39 +++
 arch/arm/include/arch/page.h          |  23 ++
 arch/arm/include/arch/regs.h          |  25 ++
 arch/arm/include/arch/traps.h         |  22 ++
 arch/arm/include/arch/xtf.h           |  17 +
 arch/arm/link.lds.S                   |  58 ++++
 arch/arm/setup.c                      |  28 ++
 arch/arm/traps.c                      |  22 ++
 arch/x86/include/arch/asm_macros.h    |   2 +
 arch/x86/include/arch/traps.h         |   1 -
 build/arm-common-files.mk             |  14 +
 build/arm32/arch-common.mk            |   8 +
 build/arm32/arch-files.mk             |   7 +
 build/arm32/arch-tests.mk             |   4 +
 build/arm64/arch-common.mk            |  15 +
 build/arm64/arch-files.mk             |   7 +
 build/arm64/arch-tests.mk             |   4 +
 build/common.mk                       |  49 ++-
 build/gen.mk                          |  22 +-
 build/x86/arch-common.mk              |  34 ++
 build/{files.mk => x86/arch-files.mk} |  12 +-
 config/default-arm.cfg.in             |   6 +
 docs/introduction.dox                 |  16 +-
 docs/mainpage.dox                     |  34 +-
 include/xen/arch-arm.h                | 452 ++++++++++++++++++++++++++
 include/xen/xen.h                     |   2 +
 include/xtf/asm_macros.h              |   2 +-
 include/xtf/barrier.h                 |   4 -
 include/xtf/hypercall.h               |  81 +++--
 include/xtf/lib.h                     |   9 +-
 include/xtf/traps.h                   |   2 +
 48 files changed, 1502 insertions(+), 94 deletions(-)
 create mode 100644 arch/arm/arm32/head.S
 create mode 100644 arch/arm/arm64/cache.S
 create mode 100644 arch/arm/arm64/head.S
 create mode 100644 arch/arm/decode.c
 create mode 100644 arch/arm/include/arch/arm32/regs.h
 create mode 100644 arch/arm/include/arch/arm64/regs.h
 create mode 100644 arch/arm/include/arch/asm_macros.h
 create mode 100644 arch/arm/include/arch/barrier.h
 create mode 100644 arch/arm/include/arch/bitops.h
 create mode 100644 arch/arm/include/arch/config.h
 create mode 100644 arch/arm/include/arch/desc.h
 create mode 100644 arch/arm/include/arch/div.h
 create mode 100644 arch/arm/include/arch/extable.h
 create mode 100644 arch/arm/include/arch/hypercall.h
 create mode 100644 arch/arm/include/arch/page.h
 create mode 100644 arch/arm/include/arch/regs.h
 create mode 100644 arch/arm/include/arch/traps.h
 create mode 100644 arch/arm/include/arch/xtf.h
 create mode 100644 arch/arm/link.lds.S
 create mode 100644 arch/arm/setup.c
 create mode 100644 arch/arm/traps.c
 create mode 100644 build/arm-common-files.mk
 create mode 100644 build/arm32/arch-common.mk
 create mode 100644 build/arm32/arch-files.mk
 create mode 100644 build/arm32/arch-tests.mk
 create mode 100644 build/arm64/arch-common.mk
 create mode 100644 build/arm64/arch-files.mk
 create mode 100644 build/arm64/arch-tests.mk
 create mode 100644 build/x86/arch-common.mk
 rename build/{files.mk => x86/arch-files.mk} (86%)
 create mode 100644 config/default-arm.cfg.in
 create mode 100644 include/xen/arch-arm.h