summaryrefslogtreecommitdiffstats
path: root/tests/migration/i386/Makefile
diff options
context:
space:
mode:
authorWei Huang2018-09-05 21:15:32 +0200
committerDr. David Alan Gilbert2018-09-26 14:19:03 +0200
commitd54927efdc93d0405c12ec94a9f466e41d8c3b52 (patch)
tree7812bd998061e00a885a1e208c1920871f7b80de /tests/migration/i386/Makefile
parenttests/migration: Convert x86 boot block compilation script into Makefile (diff)
downloadqemu-d54927efdc93d0405c12ec94a9f466e41d8c3b52.tar.gz
qemu-d54927efdc93d0405c12ec94a9f466e41d8c3b52.tar.xz
qemu-d54927efdc93d0405c12ec94a9f466e41d8c3b52.zip
tests/migration: Support cross compilation in generating boot header file
Recently a new configure option, CROSS_CC_GUEST, was added to $(TARGET)-softmmu/config-target.mak to support TCG-related tests. This patch tries to leverage this option to support cross compilation when the migration boot block file is being re-generated: * The x86 related files are moved to a new sub-dir (named ./i386). * A new top-layer Makefile is created in tests/migration/ directory. This Makefile searches and parses CROSS_CC_GUEST to generate CROSS_PREFIX. The CROSS_PREFIX, if available, is then passed to migration/$ARCH/Makefile. Reviewed-by: Juan Quintela <quintela@redhat.com> Signed-off-by: Wei Huang <wei@redhat.com> Message-Id: <1536174934-26022-3-git-send-email-wei@redhat.com> Signed-off-by: Juan Quintela <quintela@redhat.com> Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Diffstat (limited to 'tests/migration/i386/Makefile')
-rw-r--r--tests/migration/i386/Makefile22
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/migration/i386/Makefile b/tests/migration/i386/Makefile
new file mode 100644
index 0000000000..5c0324134a
--- /dev/null
+++ b/tests/migration/i386/Makefile
@@ -0,0 +1,22 @@
+# To specify cross compiler prefix, use CROSS_PREFIX=
+# $ make CROSS_PREFIX=x86_64-linux-gnu-
+
+.PHONY: all clean
+all: a-b-bootblock.h
+
+a-b-bootblock.h: x86.bootsect
+ echo "$$__note" > header.tmp
+ xxd -i $< | sed -e 's/.*int.*//' >> header.tmp
+ mv header.tmp $@
+
+x86.bootsect: x86.boot
+ dd if=$< of=$@ bs=256 count=2 skip=124
+
+x86.boot: x86.o
+ $(CROSS_PREFIX)objcopy -O binary $< $@
+
+x86.o: a-b-bootblock.S
+ $(CROSS_PREFIX)gcc -m32 -march=i486 -c $< -o $@
+
+clean:
+ @rm -rf *.boot *.o *.bootsect