aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJuan Quintela <quintela@redhat.com>2018-01-18 18:44:17 +0100
committerJuan Quintela <quintela@redhat.com>2018-05-15 20:24:27 +0200
commitcdf338152f64616d4c1f880861fec7cf0df306ae (patch)
treec7a1d5b7d351ff74cc5a3b8d60ec0546d5d8a177
parent2884100cc68d0b2ee1ed14da84790659df347505 (diff)
downloadqemu-cdf338152f64616d4c1f880861fec7cf0df306ae.zip
qemu-cdf338152f64616d4c1f880861fec7cf0df306ae.tar.gz
qemu-cdf338152f64616d4c1f880861fec7cf0df306ae.tar.bz2
tests: Migration ppc now inlines its program
No need to write it to a file. Just need a proper firmware O:-) Signed-off-by: Juan Quintela <quintela@redhat.com> Reviewed-by: Laurent Vivier <lvivier@redhat.com> Reviewed-by: Thomas Huth <thuth@redhat.com>
-rw-r--r--tests/migration-test.c41
1 files changed, 5 insertions, 36 deletions
diff --git a/tests/migration-test.c b/tests/migration-test.c
index 2b9c0ce..3a85446 100644
--- a/tests/migration-test.c
+++ b/tests/migration-test.c
@@ -19,9 +19,6 @@
#include "qemu/sockets.h"
#include "chardev/char.h"
#include "sysemu/sysemu.h"
-#include "hw/nvram/chrp_nvram.h"
-
-#define MIN_NVRAM_SIZE 8192 /* from spapr_nvram.c */
const unsigned start_address = 1024 * 1024;
const unsigned end_address = 100 * 1024 * 1024;
@@ -92,36 +89,6 @@ static void init_bootfile_x86(const char *bootpath)
fclose(bootfile);
}
-static void init_bootfile_ppc(const char *bootpath)
-{
- FILE *bootfile;
- char buf[MIN_NVRAM_SIZE];
- ChrpNvramPartHdr *header = (ChrpNvramPartHdr *)buf;
-
- memset(buf, 0, MIN_NVRAM_SIZE);
-
- /* Create a "common" partition in nvram to store boot-command property */
-
- header->signature = CHRP_NVPART_SYSTEM;
- memcpy(header->name, "common", 6);
- chrp_nvram_finish_partition(header, MIN_NVRAM_SIZE);
-
- /* FW_MAX_SIZE is 4MB, but slof.bin is only 900KB,
- * so let's modify memory between 1MB and 100MB
- * to do like PC bootsector
- */
-
- sprintf(buf + 16,
- "boot-command=hex .\" _\" begin %x %x do i c@ 1 + i c! 1000 +loop "
- ".\" B\" 0 until", end_address, start_address);
-
- /* Write partition to the NVRAM file */
-
- bootfile = fopen(bootpath, "wb");
- g_assert_cmpint(fwrite(buf, MIN_NVRAM_SIZE, 1, bootfile), ==, 1);
- fclose(bootfile);
-}
-
/*
* Wait for some output in the serial output file,
* we get an 'A' followed by an endless string of 'B's
@@ -422,12 +389,14 @@ static void test_migrate_start(QTestState **from, QTestState **to,
if (access("/sys/module/kvm_hv", F_OK)) {
accel = "tcg";
}
- init_bootfile_ppc(bootpath);
cmd_src = g_strdup_printf("-machine accel=%s -m 256M"
" -name source,debug-threads=on"
" -serial file:%s/src_serial"
- " -drive file=%s,if=pflash,format=raw",
- accel, tmpfs, bootpath);
+ " -prom-env '"
+ "boot-command=hex .\" _\" begin %x %x "
+ "do i c@ 1 + i c! 1000 +loop .\" B\" 0 "
+ "until'", accel, tmpfs, end_address,
+ start_address);
cmd_dst = g_strdup_printf("-machine accel=%s -m 256M"
" -name target,debug-threads=on"
" -serial file:%s/dest_serial"