This patch adds migration test support for aarch64. The test code, which implements the same functionality as x86, is booted as a kernel in qemu. Here are the design choices we make for aarch64: * We choose this -kernel approach because aarch64 QEMU doesn't provide a built-in fw like x86 does. So instead of relying on a boot loader, we use -kernel approach for aarch64. * The serial output is sent to PL011 directly. * The physical memory base for mach-virt machine is 0x40000000. We change the start_address and end_address for aarch64. In addition to providing the binary, this patch also includes the source code and the build script in tests/migration/aarch64. So users can change the source and/or re-compile the binary as they wish. Reviewed-by: Juan Quintela <quintela@redhat.com> Reviewed-by: Andrew Jones <drjones@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com> Signed-off-by: Wei Huang <wei@redhat.com> Message-Id: <1538669326-28135-1-git-send-email-wei@redhat.com> Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
19 lines
411 B
Makefile
19 lines
411 B
Makefile
# To specify cross compiler prefix, use CROSS_PREFIX=
|
|
# $ make CROSS_PREFIX=aarch64-linux-gnu-
|
|
|
|
.PHONY: all clean
|
|
all: a-b-kernel.h
|
|
|
|
a-b-kernel.h: aarch64.kernel
|
|
echo "$$__note" > $@
|
|
xxd -i $< | sed -e 's/.*int.*//' >> $@
|
|
|
|
aarch64.kernel: aarch64.elf
|
|
$(CROSS_PREFIX)objcopy -O binary $< $@
|
|
|
|
aarch64.elf: a-b-kernel.S
|
|
$(CROSS_PREFIX)gcc -o $@ -nostdlib -Wl,--build-id=none $<
|
|
|
|
clean:
|
|
$(RM) *.kernel *.elf
|