hw/ppc: on 40p machine, change default firmware to OpenBIOS

Message ID 20180810053712.6587-1-hpoussin@reactos.org
State New
Headers show
Series
  • hw/ppc: on 40p machine, change default firmware to OpenBIOS
Related show

Commit Message

Hervé Poussineau Aug. 10, 2018, 5:37 a.m.
OpenBIOS gained 40p support in 5b20e4cacecb62fb2bdc6867c11d44cddd77c4ff
Use it, instead of relying on an unmaintained and very limited firmware.

Signed-off-by: Hervé Poussineau <hpoussin@reactos.org>
---
 hw/ppc/prep.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

David Gibson Aug. 10, 2018, 6:41 a.m. | #1
On Fri, Aug 10, 2018 at 07:37:12AM +0200, Hervé Poussineau wrote:
> OpenBIOS gained 40p support in 5b20e4cacecb62fb2bdc6867c11d44cddd77c4ff
> Use it, instead of relying on an unmaintained and very limited firmware.
> 
> Signed-off-by: Hervé Poussineau <hpoussin@reactos.org>

Applied to ppc-for-3.1, thanks.

> ---
>  hw/ppc/prep.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/hw/ppc/prep.c b/hw/ppc/prep.c
> index 3401570d98..1558855247 100644
> --- a/hw/ppc/prep.c
> +++ b/hw/ppc/prep.c
> @@ -736,7 +736,7 @@ static void ibm_40p_init(MachineState *machine)
>      /* PCI host */
>      dev = qdev_create(NULL, "raven-pcihost");
>      if (!bios_name) {
> -        bios_name = BIOS_FILENAME;
> +        bios_name = "openbios-ppc";
>      }
>      qdev_prop_set_string(dev, "bios-name", bios_name);
>      qdev_prop_set_uint32(dev, "elf-machine", PPC_ELF_MACHINE);
Mark Cave-Ayland Aug. 10, 2018, 8 a.m. | #2
On 10/08/18 06:37, Hervé Poussineau wrote:

> OpenBIOS gained 40p support in 5b20e4cacecb62fb2bdc6867c11d44cddd77c4ff
> Use it, instead of relying on an unmaintained and very limited firmware.
> 
> Signed-off-by: Hervé Poussineau <hpoussin@reactos.org>
> ---
>  hw/ppc/prep.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/hw/ppc/prep.c b/hw/ppc/prep.c
> index 3401570d98..1558855247 100644
> --- a/hw/ppc/prep.c
> +++ b/hw/ppc/prep.c
> @@ -736,7 +736,7 @@ static void ibm_40p_init(MachineState *machine)
>      /* PCI host */
>      dev = qdev_create(NULL, "raven-pcihost");
>      if (!bios_name) {
> -        bios_name = BIOS_FILENAME;
> +        bios_name = "openbios-ppc";
>      }
>      qdev_prop_set_string(dev, "bios-name", bios_name);
>      qdev_prop_set_uint32(dev, "elf-machine", PPC_ELF_MACHINE);

Great news!

Acked-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>


ATB,

Mark.
David Gibson Aug. 20, 2018, 3:16 a.m. | #3
On Fri, Aug 10, 2018 at 04:41:54PM +1000, David Gibson wrote:
> On Fri, Aug 10, 2018 at 07:37:12AM +0200, Hervé Poussineau wrote:
> > OpenBIOS gained 40p support in 5b20e4cacecb62fb2bdc6867c11d44cddd77c4ff
> > Use it, instead of relying on an unmaintained and very limited firmware.
> > 
> > Signed-off-by: Hervé Poussineau <hpoussin@reactos.org>
> 
> Applied to ppc-for-3.1, thanks.

But I'm afraid I've had to pull it out.  This breaks boot-serial-test,
because the new firmware prints different messages than the old one
did and the testcase isn't looking for them.

I tried fixing it, but ran into complications I didn't have time to
debug.  So I'm afraid this will miss my coming-soon pull request.

You should be able to reproduce the problem with "make check
SPEED=slow", can you fix this up and resubmit.

> 
> > ---
> >  hw/ppc/prep.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/hw/ppc/prep.c b/hw/ppc/prep.c
> > index 3401570d98..1558855247 100644
> > --- a/hw/ppc/prep.c
> > +++ b/hw/ppc/prep.c
> > @@ -736,7 +736,7 @@ static void ibm_40p_init(MachineState *machine)
> >      /* PCI host */
> >      dev = qdev_create(NULL, "raven-pcihost");
> >      if (!bios_name) {
> > -        bios_name = BIOS_FILENAME;
> > +        bios_name = "openbios-ppc";
> >      }
> >      qdev_prop_set_string(dev, "bios-name", bios_name);
> >      qdev_prop_set_uint32(dev, "elf-machine", PPC_ELF_MACHINE);
>
Mark Cave-Ayland Aug. 31, 2018, 2:16 p.m. | #4
On 20/08/18 04:16, David Gibson wrote:

> On Fri, Aug 10, 2018 at 04:41:54PM +1000, David Gibson wrote:
>> On Fri, Aug 10, 2018 at 07:37:12AM +0200, Hervé Poussineau wrote:
>>> OpenBIOS gained 40p support in 5b20e4cacecb62fb2bdc6867c11d44cddd77c4ff
>>> Use it, instead of relying on an unmaintained and very limited firmware.
>>>
>>> Signed-off-by: Hervé Poussineau <hpoussin@reactos.org>
>>
>> Applied to ppc-for-3.1, thanks.
> 
> But I'm afraid I've had to pull it out.  This breaks boot-serial-test,
> because the new firmware prints different messages than the old one
> did and the testcase isn't looking for them.
> 
> I tried fixing it, but ran into complications I didn't have time to
> debug.  So I'm afraid this will miss my coming-soon pull request.
> 
> You should be able to reproduce the problem with "make check
> SPEED=slow", can you fix this up and resubmit.
> 
>>
>>> ---
>>>  hw/ppc/prep.c | 2 +-
>>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/hw/ppc/prep.c b/hw/ppc/prep.c
>>> index 3401570d98..1558855247 100644
>>> --- a/hw/ppc/prep.c
>>> +++ b/hw/ppc/prep.c
>>> @@ -736,7 +736,7 @@ static void ibm_40p_init(MachineState *machine)
>>>      /* PCI host */
>>>      dev = qdev_create(NULL, "raven-pcihost");
>>>      if (!bios_name) {
>>> -        bios_name = BIOS_FILENAME;
>>> +        bios_name = "openbios-ppc";
>>>      }
>>>      qdev_prop_set_string(dev, "bios-name", bios_name);
>>>      qdev_prop_set_uint32(dev, "elf-machine", PPC_ELF_MACHINE);

Thanks to Thomas on IRC, I was able come up with the diff below which
fixes boot-serial-test when this patch is applied:

diff --git a/tests/boot-serial-test.c b/tests/boot-serial-test.c
index f123b15e3e..f865822e32 100644
--- a/tests/boot-serial-test.c
+++ b/tests/boot-serial-test.c
@@ -75,12 +75,12 @@ typedef struct testdef {
 static testdef_t tests[] = {
     { "alpha", "clipper", "", "PCI:" },
     { "ppc", "ppce500", "", "U-Boot" },
-    { "ppc", "40p", "-boot d", "Booting from device d" },
+    { "ppc", "40p", "-vga none -boot d", "Trying cd:," },
     { "ppc", "g3beige", "", "PowerPC,750" },
     { "ppc", "mac99", "", "PowerPC,G4" },
     { "ppc", "sam460ex", "-m 256", "DRAM:  256 MiB" },
     { "ppc64", "ppce500", "", "U-Boot" },
-    { "ppc64", "40p", "-m 192", "Memory size: 192 MB" },
+    { "ppc64", "40p", "-m 192", "Memory: 192M" },
     { "ppc64", "mac99", "", "PowerPC,970FX" },
     { "ppc64", "pseries", "", "Open Firmware" },
     { "ppc64", "powernv", "-cpu POWER8", "OPAL" },

Hervé, can you confirm that this fixes "make check" for you? If so it
should just be a simple case of squashing into the above patch and then
resubmitting a v2.


ATB,

Mark.
Hervé Poussineau Sept. 4, 2018, 8:20 p.m. | #5
Le 31/08/2018 à 16:16, Mark Cave-Ayland a écrit :
> On 20/08/18 04:16, David Gibson wrote:
> 
>> On Fri, Aug 10, 2018 at 04:41:54PM +1000, David Gibson wrote:
>>> On Fri, Aug 10, 2018 at 07:37:12AM +0200, Hervé Poussineau wrote:
>>>> OpenBIOS gained 40p support in 5b20e4cacecb62fb2bdc6867c11d44cddd77c4ff
>>>> Use it, instead of relying on an unmaintained and very limited firmware.
>>>>
>>>> Signed-off-by: Hervé Poussineau <hpoussin@reactos.org>
>>>
>>> Applied to ppc-for-3.1, thanks.
>>
>> But I'm afraid I've had to pull it out.  This breaks boot-serial-test,
>> because the new firmware prints different messages than the old one
>> did and the testcase isn't looking for them.
>>
>> I tried fixing it, but ran into complications I didn't have time to
>> debug.  So I'm afraid this will miss my coming-soon pull request.
>>
>> You should be able to reproduce the problem with "make check
>> SPEED=slow", can you fix this up and resubmit.
>>
>>>
>>>> ---
>>>>   hw/ppc/prep.c | 2 +-
>>>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>>>
>>>> diff --git a/hw/ppc/prep.c b/hw/ppc/prep.c
>>>> index 3401570d98..1558855247 100644
>>>> --- a/hw/ppc/prep.c
>>>> +++ b/hw/ppc/prep.c
>>>> @@ -736,7 +736,7 @@ static void ibm_40p_init(MachineState *machine)
>>>>       /* PCI host */
>>>>       dev = qdev_create(NULL, "raven-pcihost");
>>>>       if (!bios_name) {
>>>> -        bios_name = BIOS_FILENAME;
>>>> +        bios_name = "openbios-ppc";
>>>>       }
>>>>       qdev_prop_set_string(dev, "bios-name", bios_name);
>>>>       qdev_prop_set_uint32(dev, "elf-machine", PPC_ELF_MACHINE);
> 
> Thanks to Thomas on IRC, I was able come up with the diff below which
> fixes boot-serial-test when this patch is applied:
> 
> diff --git a/tests/boot-serial-test.c b/tests/boot-serial-test.c
> index f123b15e3e..f865822e32 100644
> --- a/tests/boot-serial-test.c
> +++ b/tests/boot-serial-test.c
> @@ -75,12 +75,12 @@ typedef struct testdef {
>   static testdef_t tests[] = {
>       { "alpha", "clipper", "", "PCI:" },
>       { "ppc", "ppce500", "", "U-Boot" },
> -    { "ppc", "40p", "-boot d", "Booting from device d" },
> +    { "ppc", "40p", "-vga none -boot d", "Trying cd:," },
>       { "ppc", "g3beige", "", "PowerPC,750" },
>       { "ppc", "mac99", "", "PowerPC,G4" },
>       { "ppc", "sam460ex", "-m 256", "DRAM:  256 MiB" },
>       { "ppc64", "ppce500", "", "U-Boot" },
> -    { "ppc64", "40p", "-m 192", "Memory size: 192 MB" },
> +    { "ppc64", "40p", "-m 192", "Memory: 192M" },
>       { "ppc64", "mac99", "", "PowerPC,970FX" },
>       { "ppc64", "pseries", "", "Open Firmware" },
>       { "ppc64", "powernv", "-cpu POWER8", "OPAL" },
> 
> Hervé, can you confirm that this fixes "make check" for you? If so it
> should just be a simple case of squashing into the above patch and then
> resubmitting a v2.

Yes, this also fixes "make check" for me.
v2 sent at http://lists.gnu.org/archive/html/qemu-devel/2018-09/msg00362.html

Thanks for the help.

Hervé

Patch

diff --git a/hw/ppc/prep.c b/hw/ppc/prep.c
index 3401570d98..1558855247 100644
--- a/hw/ppc/prep.c
+++ b/hw/ppc/prep.c
@@ -736,7 +736,7 @@  static void ibm_40p_init(MachineState *machine)
     /* PCI host */
     dev = qdev_create(NULL, "raven-pcihost");
     if (!bios_name) {
-        bios_name = BIOS_FILENAME;
+        bios_name = "openbios-ppc";
     }
     qdev_prop_set_string(dev, "bios-name", bios_name);
     qdev_prop_set_uint32(dev, "elf-machine", PPC_ELF_MACHINE);