[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [RFC 0/7] Build XEN with ARM Compiler 6.6.3
From: Andrii Anisov <andrii_anisov@xxxxxxxx> Dear All, Here are patches to make XEN (hypervisor only) being able to be compiled for ARMv8 with ARM Compiler 6.6.3 Long Term Maintenance. ARM compiler of that version is safety certified, that is the reason for the choice. The chosen compiler has a number of bugs and deviations from GNU Compiler, which required correspondent workarounds. These patches are published for those who are interested in XEN being built by this specific compiler. Also, these patches are WIP and there is a lot of room for improvement. Here is the list of ARM Compiler 6.6.3 bugs and deviations affected XEN build: - ARM Linker scatter file is pretty primitive, it has no feature to define symbols - ARM Linker defined symbols are not counted as referred if only mentioned in a steering file for rename or resolve - C style shift operators are missed among supported scatter file expressions, so some needed values are hardcoded in scatter file - ARM Compiler tools are not able to rename sections - armclang compiles data only C files with SoftVFP attributes - static data symbols, moved to an init section, becomes global - armclang fails to process .rept assembler directive with an expression as a parameter. The latest issue is addressed in a very primitive way: these patches are ported on top of commit f11fda966365db591d280ac1522993409e20fd8c, prior to commit introduced `.rept` directive usage.: Andrii Anisov (5): arm64:armds: ARM Compiler 6.6 does not accept `rx` registers naming for AArch64 arm/gic: Drop pointless assertions WIP:arm64:armds: Build XEN with ARM Compiler 6.6 arm: Introduce dummy empty functions for data only C files arm/gic-v3: add GIC version suffix to iomem range variables Artem Mygaiev (1): WIP: Compilation with ARM DS-6 compiler Julien Grall (1): xen: clang: Support correctly cross-compile Config.mk | 8 +- config/StdGNU.mk | 20 ++- config/arm32.mk | 10 +- config/arm64.mk | 6 +- xen/Rules.mk | 8 + xen/arch/arm/Makefile | 24 +++ xen/arch/arm/Rules.mk | 8 + xen/arch/arm/gic-v3.c | 68 ++++---- xen/arch/arm/gic.c | 6 - xen/arch/arm/platforms/brcm-raspberry-pi.c | 2 + xen/arch/arm/platforms/thunderx.c | 2 + xen/arch/arm/xen.scat.S | 266 +++++++++++++++++++++++++++++ xen/arch/arm/xen.steer | 5 + xen/include/asm-arm/armds.h | 91 ++++++++++ xen/include/asm-arm/smccc.h | 60 +++++++ xen/xsm/flask/gen-policy.py | 4 + 16 files changed, 539 insertions(+), 49 deletions(-) create mode 100644 xen/arch/arm/xen.scat.S create mode 100644 xen/arch/arm/xen.steer create mode 100644 xen/include/asm-arm/armds.h -- 2.7.4 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |