On Mon, May 14, 2012 at 8:58 PM, Blue Swirl blauwirbel@gmail.com wrote:
On Mon, May 14, 2012 at 1:49 PM, Mark Cave-Ayland mark.cave-ayland@ilande.co.uk wrote:
On 14/05/12 14:28, Artyom Tarasenko wrote:
It's to avoid VGA legacy mapping at 0xa0000. If I change hwdefs.pci.pci_mem_base in arch/sparc64/openbios.c to 0, OpenBIOS will crash during VGA init. Previously this worked because the PCI devices were mapped somewhat randomly and by chance, VGA legacy low mem area was avoided.
I think the correct fix is to make QEMU VGA device disable the legacy mapping unless explicitly enabled. Alternatively the child base arithmetic could be fixed in OpenBIOS like proposed by Jakub.
Did a patch ever come out of this discussion in the end?
No. :-) Feel free to fix it, unless Blue prefers fixing it himself...
I'm not sure I'm confident enough with PCI to do this, and I'm also not sure what Blue's recommended fix actually is? Is it to increase parent_base by 0x1000 or set child_base to zero?
The best solution is to fix VGA (assuming my analysis was right) and set child_base to zero.
Blue, do you know whether the QOMification improved the situation with the legacy VGA low mem area?
-- Regards, Artyom Tarasenko
linux/sparc and solaris/sparc under qemu blog: http://tyom.blogspot.com/search/label/qemu