diff options
author | Thomas Huth <thuth@redhat.com> | 2016-09-26 22:17:46 +0200 |
---|---|---|
committer | David Gibson <david@gibson.dropbear.id.au> | 2016-10-05 11:05:28 +1100 |
commit | 1485ef1c45eb349c841c22b1d31a51a5ece68a89 (patch) | |
tree | b7b2512d92a60504457f2ef8b705a9e656094717 /tests/boot-sector.c | |
parent | 196fe23734ca8888ca0275ad203ccb0d20907e6d (diff) | |
download | qemu-1485ef1c45eb349c841c22b1d31a51a5ece68a89.zip qemu-1485ef1c45eb349c841c22b1d31a51a5ece68a89.tar.gz qemu-1485ef1c45eb349c841c22b1d31a51a5ece68a89.tar.bz2 |
tests: Test IPv6 and ppc64 in the PXE tester
The firmware of the pseries machine, SLOF, is able to load files via
IPv6 networking, too. So to test both, network bootloading on ppc64
and IPv6 (via Slirp) , let's add some PXE tests for this environment,
too. Since we can not use the normal x86 boot sector for network boot
loading, we use a simple Forth script on ppc64 instead.
Signed-off-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Diffstat (limited to 'tests/boot-sector.c')
-rw-r--r-- | tests/boot-sector.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/tests/boot-sector.c b/tests/boot-sector.c index 3ffe298..e3193c0 100644 --- a/tests/boot-sector.c +++ b/tests/boot-sector.c @@ -77,6 +77,15 @@ int boot_sector_init(const char *fname) fprintf(stderr, "Couldn't open \"%s\": %s", fname, strerror(errno)); return 1; } + + /* For Open Firmware based system, we can use a Forth script instead */ + if (strcmp(qtest_get_arch(), "ppc64") == 0) { + memset(boot_sector, ' ', sizeof boot_sector); + sprintf((char *)boot_sector, "\\ Bootscript\n%x %x c! %x %x c!\n", + LOW(SIGNATURE), BOOT_SECTOR_ADDRESS + SIGNATURE_OFFSET, + HIGH(SIGNATURE), BOOT_SECTOR_ADDRESS + SIGNATURE_OFFSET + 1); + } + fwrite(boot_sector, 1, sizeof boot_sector, f); fclose(f); return 0; |