Hi Zoltan,
On 3/14/19 11:08 PM, BALATON Zoltan wrote:
On Thu, 14 Mar 2019, Aleksandar Markovic wrote:
From: BALATON Zoltan <address@hidden>
Subject: Data bus error with redeonfb on mips_fulong2e
Hello,
Trying to debug the Linux kernel oops with radeonfb I've added some more
debug logs and got this:
radeonfb_pci_register BEGIN
pci_host_data: pci_data_read: ati-vga: addr=04 val=00000000 len=4
PCI: Enabling device 0000:00:06.0 (0000 -> 0003)
pci_host_data: pci_data_read: ati-vga: addr=04 val=00000000 len=4
pci_host_data: pci_data_write: ati-vga: addr=04 val=00000003 len=4
pci_update_mappings: adding bar 0 to pci.mem @ 0x14000000
pci_update_mappings: adding bar 1 to io @ 0x4000
pci_update_mappings: adding bar 2 to pci.mem @ 0x15050000
pci_host_data: pci_data_read: ati-vga: addr=3c val=00000000 len=4
radeonfb_pci_register fb_base_phys=14000000
radeonfb_pci_register mmio_base_phys=15050000
radeonfb_pci_register request mem regions
radeonfb_pci_register map regions
radeonfb_pci_register mmio_base=9000000015050000
Data bus error, epc == ffffffff80418e4c, ra == ffffffff80418e4c
(full oops dump in previous message but I couldn't find anything
useful in
there so omitted here)
(qemu) info mtree
memory-region: system
0000000000000000-ffffffffffffffff (prio 0, i/o): system
0000000000000000-000000000fffffff (prio 0, ram): fulong2e.ram
0000000010000000-000000001bffffff (prio 0, i/o): pci.mem
00000000100a0000-00000000100bffff (prio 1, i/o): vga-lowmem
0000000024000000-0000000024ffffff (prio 1, ram): vga.vram
0000000025050000-0000000025053fff (prio 1, i/o): ati.mmregs
000000001fc00000-000000001fc7ffff (prio 0, rom): fulong2e.bios
The CPU bus is right, there is nothing mapped at 0x0.1505.0000 (IO is
36bit wide on mips64).
I look at the kernel and it doesn't configure the PCI but expect the
display to be there already, so I checked the BIOS you cited in another
thread and ran the same command con the "PMON>" prompt was reached:
(qemu) info mtree
memory-region: system
0000000000000000-ffffffffffffffff (prio 0, i/o): system
0000000000000000-000000000fffffff (prio 0, ram): fulong2e.ram
0000000010000000-000000001bffffff (prio 0, i/o): pci.mem
00000000100a0000-00000000100affff (prio 2, i/o): alias vga.chain4
@vga.vram 0000000000000000-000000000000ffff
00000000100a0000-00000000100bffff (prio 1, i/o): vga-lowmem
0000000014000000-0000000014ffffff (prio 1, ram): vga.vram
0000000015000000-000000001503ffff (prio 1, rom): rtl8139.rom
0000000015040000-000000001504ffff (prio 1, rom): ati-vga.rom
0000000015050000-0000000015053fff (prio 1, i/o): ati.mmregs
^ remapped
BTW you should:
/* GPU */
- dev = DEVICE(pci_create(pci_bus, -1, "ati-vga"));
+ dev = DEVICE(pci_create(pci_bus, PCI_DEVFN(6, 0), "ati-vga"));