|
From: | Alexander Graf |
Subject: | Re: [Qemu-devel] [FYI] Soft feature freeze for 1.0 is 10/15 (three weeks away) |
Date: | Wed, 28 Sep 2011 23:21:54 +0200 |
On 27.09.2011, at 21:19, Blue Swirl wrote:
Ah, after digging into the issue for a while myself I stumbled over this thread, explaining what I figured would be the culprit. Please CC qemu-ppc for these discussions :). Either way, I'm seeing 2 issues here. I enhanced the "info mtree" command to also display the region we're currently looking at, so the first tuple shows the region we're in, the second tuple the region we're trying to map into the first region (addresses aligned on each other). I also print out alias information directly: [ 00000000-7ffffffffffffffe ] 00000000-7ffffffffffffffe : system [ 80013000-8001303f ] 80013000-8001303f : escc [ fee00000-fee00fff ] fee00000-fee00fff : pci-data-idx [ fec00000-fec00fff ] fec00000-fec00fff : pci-conf-idx [ 80000000-fdffffff ] 80000000-fdffffff : pci-hole -> alias (0000000080000000, 0000000000000000) [ 80000000-fdffffff ] 00000000-ffffffff : pci-mmio [ 80880000-808fffff ] 80880000-808fffff : macio [ 808e0000-808fffff ] 808e0000-808fffff : macio-nvram [ 808a0000-808a0fff ] 808a0000-808a0fff : pmac-ide [ 80896000-80897fff ] 80896000-80897fff : cuda [ 80893000-8089303f ] 80893000-8089303f : escc-bar -> alias (0000000000000000, 0000000080013000) [ 80893000-8089303f ] 80893000-8089303f : escc [ 80888000-80888fff ] 80888000-80888fff : dbdma [ 80880000-80880fff ] 80880000-80880fff : heathrow-pic [ 80800000-8080ffff ] 80800000-8080ffff : vga.rom [ 80000000-807fffff ] 80000000-807fffff : vga.vram [ fe000000-fe1fffff ] fe000000-fe1fffff : isa-mmio I/O [ 00000000-0000ffff ] 00000000-0000ffff : io [ 00000700-0000070f ] 00000700-0000070f : cmd646-bmdma [ 0000070c-0000070f ] 0000070c-0000070f : cmd646-bmdma-ioport [ 00000708-0000070b ] 00000708-0000070b : cmd646-bmdma-bus [ 00000704-00000707 ] 00000704-00000707 : cmd646-bmdma-ioport [ 00000700-00000703 ] 00000700-00000703 : cmd646-bmdma-bus [ 00000680-00000683 ] 00000680-00000683 : cmd646-cmd [ 00000600-00000607 ] 00000600-00000607 : cmd646-data [ 00000580-00000583 ] 00000580-00000583 : cmd646-cmd [ 00000500-00000507 ] 00000500-00000507 : cmd646-data [ 00000400-000004ff ] 00000400-000004ff : ne2000 I did another small hack to display the flat memory view: ranges[0] = { 80000000, 13000 } vga.vram ranges[1] = { 80013000, 40 } escc ranges[2] = { 80013040, 7ecfc0 } vga.vram ranges[3] = { 80800000, 10000 } vga.rom ranges[4] = { 80880000, 1000 } heathrow-pic ranges[5] = { 80888000, 1000 } dbdma ranges[6] = { 80893000, 40 } escc ranges[7] = { 80896000, 2000 } cuda ranges[8] = { 808a0000, 1000 } pmac-ide ranges[9] = { 808e0000, 20000 } macio-nvram ranges[10] = { fe000000, 200000 } isa-mmio ranges[11] = { fec00000, 1000 } pci-conf-idx ranges[12] = { fee00000, 1000 } pci-data-idx Now to the issues: 1) ESCC is mapped inside the VGA region. That's what you discussed in this thread. It's wrong. Please check this bug for a dump of a real G3 Beige's memory layout: I don't think we really need to have serial available before PCI enum, so let's just ditch the first map. 2) vga.vram continues to be mapped, but apparently isn't accessible. I would expect the hole of 40 bytes to be non-accessible / broken, but what ends up happening is that the whole second region apparently is unusable. What exactly is going on there? Sounds like a memory API bug to me. Alex |
[Prev in Thread] | Current Thread | [Next in Thread] |