As common isn't built for RISC-V architecture now, accordingly,
common/coverage (where __gconv_* function are defined) isn't built either
but randconfig may decide to enable CONFIG_COVERAGE which will lead to
the following compilation error:
riscv64-linux-gnu-ld: prelink.o: in function `.L0 ':
arch/riscv/early_printk.c:(.text+0x18):
undefined reference to `__gcov_init'
riscv64-linux-gnu-ld: arch/riscv/early_printk.c:(.text+0x40):
undefined reference to `__gcov_exit'
Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
<asm/types.h> should be included because second argument of
early_puts has type 'size_t' which is defined in <asm/types.h>
Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Acked-by: Julien Grall <jgrall@amazon.com>
The patch provides a minimal amount of changes to start
build and run minimal Xen binary at GitLab CI&CD that will
allow continuous checking of the build status of RISC-V Xen.
Except introduction of new files the following changes were done:
* Redefinition of ALIGN define from '.align 2' to '.align 4', as 2 was
incorrect choice done previously.
* ALL_OBJ-y and ALL_LIBS-y were temporary overwritted to produce
a minimal hypervisor image otherwise it will be required to push
huge amount of headers and stubs for common, drivers, libs etc which
aren't necessary for now.
* Section changed from .text to .text.header for start function
to make it the first one executed.
* Rework riscv64/Makefile logic to rebase over changes since the first
RISC-V commit.
RISC-V Xen can be built by the following instructions:
$ CONTAINER=riscv64 ./automation/scripts/containerize \
make XEN_TARGET_ARCH=riscv64 -C xen tiny64_defconfig
$ CONTAINER=riscv64 ./automation/scripts/containerize \
make XEN_TARGET_ARCH=riscv64 -C xen build
Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>