[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);
}