qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] ppc/pnv: update skiboot to v6.4


From: Cédric Le Goater
Subject: Re: [Qemu-devel] [PATCH] ppc/pnv: update skiboot to v6.4
Date: Thu, 18 Jul 2019 15:03:09 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.8.0

On 18/07/2019 08:16, David Gibson wrote:
> On Thu, Jul 18, 2019 at 03:12:17PM +0930, Joel Stanley wrote:
>> Currently we fail to boot a qemu powernv machine with a Power9
>> processor:
>>
>>  PLAT: Detected generic platform
>>  PLAT: Detected BMC platform generic
>>  CPU: All 1 processors called in...
>>  CHIPTOD: Unknown TOD type !
>>  CHIPTOD: Failed ChipTOD detection !
>>  Aborting!
>>
>> With v6.4 we can boot both a Power8 and Power9 powernv machine.
>>
>> Built from submodule with powerpc64le-linux-gnu-gcc (Debian 8.3.0-2).
>>
>> Signed-off-by: Joel Stanley <address@hidden>
> Applied to ppc-for-4.2, thanks.
> 
> If you could add both POWER8 and POWER9 smoke tests to
> boot-serial-test that would be even better.

There is one for POWER8 and adding an extra for POWER9 results
in a test conflict. So I came up with the patch below. Would that
be OK ?


C.

@@ -104,6 +104,7 @@ static testdef_t tests[] = {
       "-machine cap-cfpc=broken,cap-sbbc=broken,cap-ibs=broken",
       "Open Firmware" },
     { "ppc64", "powernv", "-cpu POWER8", "OPAL" },
+    { "ppc64", "powernv", "-cpu POWER9", "OPAL" },
     { "ppc64", "sam460ex", "-device e1000", "8086  100e" },
     { "i386", "isapc", "-cpu qemu32 -device sga", "SGABIOS" },
     { "i386", "pc", "-device sga", "SGABIOS" },
@@ -222,6 +223,17 @@ static void test_machine(const void *dat
     close(ser_fd);
 }
 
+static char* build_testname(testdef_t *t)
+{
+    char suffix[2] = "";
+
+    if (!strcmp(t->machine, "powernv")) {
+        sscanf(t->extra, "-cpu POWER%1s", suffix);
+    }
+
+    return g_strdup_printf("boot-serial/%s%s", t->machine, suffix);
+}
+
 int main(int argc, char *argv[])
 {
     const char *arch = qtest_get_arch();
@@ -231,7 +243,7 @@ int main(int argc, char *argv[])
 
     for (i = 0; tests[i].arch != NULL; i++) {
         if (strcmp(arch, tests[i].arch) == 0) {
-            char *name = g_strdup_printf("boot-serial/%s", tests[i].machine);
+            char *name = build_testname(&tests[i]);
             qtest_add_data_func(name, &tests[i], test_machine);
             g_free(name);
         }



reply via email to

[Prev in Thread] Current Thread [Next in Thread]