All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH] 40p: remove pci_allow_0_address = true from 40p machine class
@ 2018-05-25 21:15 Mark Cave-Ayland
  2018-06-04  1:28 ` David Gibson
  0 siblings, 1 reply; 2+ messages in thread
From: Mark Cave-Ayland @ 2018-05-25 21:15 UTC (permalink / raw)
  To: qemu-devel, qemu-ppc, hpoussin, david

The Linux sandalfoot zImage has an initialisation process which resets the
VGA controller by setting all the BAR addresses to zero to access the VGA
ioports at their legacy addresses.

Unfortunately setting the framebuffer BAR to address 0 makes the framebuffer
memory overlap the internal VGA memory causing accesses to fail, and so
prevents the kernel from switching successfully to text mode.

Since OpenHackWare configures the framebuffer BAR address outside of the legacy
VGA internal memory space, remove pci_allow_0_address from the 40p machine class
which causes the BAR reprogramming to zero to fail and so the VGA internal
memory can be accessed correctly again.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
---
 hw/ppc/prep.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/hw/ppc/prep.c b/hw/ppc/prep.c
index be4db6a687..5ed0bcd862 100644
--- a/hw/ppc/prep.c
+++ b/hw/ppc/prep.c
@@ -884,7 +884,6 @@ static void ibm_40p_machine_init(MachineClass *mc)
     mc->desc = "IBM RS/6000 7020 (40p)",
     mc->init = ibm_40p_init;
     mc->max_cpus = 1;
-    mc->pci_allow_0_address = true;
     mc->default_ram_size = 128 * M_BYTE;
     mc->block_default_type = IF_SCSI;
     mc->default_boot_order = "c";
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [Qemu-devel] [PATCH] 40p: remove pci_allow_0_address = true from 40p machine class
  2018-05-25 21:15 [Qemu-devel] [PATCH] 40p: remove pci_allow_0_address = true from 40p machine class Mark Cave-Ayland
@ 2018-06-04  1:28 ` David Gibson
  0 siblings, 0 replies; 2+ messages in thread
From: David Gibson @ 2018-06-04  1:28 UTC (permalink / raw)
  To: Mark Cave-Ayland; +Cc: qemu-devel, qemu-ppc, hpoussin

[-- Attachment #1: Type: text/plain, Size: 1608 bytes --]

On Fri, May 25, 2018 at 10:15:23PM +0100, Mark Cave-Ayland wrote:
> The Linux sandalfoot zImage has an initialisation process which resets the
> VGA controller by setting all the BAR addresses to zero to access the VGA
> ioports at their legacy addresses.
> 
> Unfortunately setting the framebuffer BAR to address 0 makes the framebuffer
> memory overlap the internal VGA memory causing accesses to fail, and so
> prevents the kernel from switching successfully to text mode.
> 
> Since OpenHackWare configures the framebuffer BAR address outside of the legacy
> VGA internal memory space, remove pci_allow_0_address from the 40p machine class
> which causes the BAR reprogramming to zero to fail and so the VGA internal
> memory can be accessed correctly again.
> 
> Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>

Applied, thanks.

> ---
>  hw/ppc/prep.c | 1 -
>  1 file changed, 1 deletion(-)
> 
> diff --git a/hw/ppc/prep.c b/hw/ppc/prep.c
> index be4db6a687..5ed0bcd862 100644
> --- a/hw/ppc/prep.c
> +++ b/hw/ppc/prep.c
> @@ -884,7 +884,6 @@ static void ibm_40p_machine_init(MachineClass *mc)
>      mc->desc = "IBM RS/6000 7020 (40p)",
>      mc->init = ibm_40p_init;
>      mc->max_cpus = 1;
> -    mc->pci_allow_0_address = true;
>      mc->default_ram_size = 128 * M_BYTE;
>      mc->block_default_type = IF_SCSI;
>      mc->default_boot_order = "c";

-- 
David Gibson			| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au	| minimalist, thank you.  NOT _the_ _other_
				| _way_ _around_!
http://www.ozlabs.org/~dgibson

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2018-06-04  6:14 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-05-25 21:15 [Qemu-devel] [PATCH] 40p: remove pci_allow_0_address = true from 40p machine class Mark Cave-Ayland
2018-06-04  1:28 ` David Gibson

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.