On Monday, August 29, 2005 12:19 AM, ollie@lanl.gov wrote:
The VGA support page should have a suggestion to check to see
that PCI bridges are set to enable forwarding of VGA memory mapped I/O.
Isn't it been build into the device enumeration code? Isn't the code in allocate_vga_resource sufficient?
I'm using the CK804, which has a PCI-to-PCI bridge to the VGA PCI card. The CK804 code just happens to write the bit to enable the P2P bridge to claim all the legacy VGA addresses. I'm not sure where it's written. No, this is not done in allocate_vga_resource. It's not conditionally compiled with CONFIG_CONSOLE_VGA.
I needed to change src/devices/pci_rom.c in pci_rom_load() at
about line 88 to force the VGA ROM to be copied to PCI_VGA_RAM_IMAGE_START (0xC0000). The rom_data->class_hi test failed when it shouldn't have?
What VGA are you using? Is it reporting wrong class code?
I'm using a Tseng VGA card. Here is the log output I got:
PCI: 02:06.0 init rom address for PCI: 02:06.0 = fd000000 PCI Expansion ROM, signature 0xaa55, INIT size 0x8000, data ptr 0x0020 PCI ROM Image, Vendor 100c, Device 3208, PCI ROM Image, Class Code 000003, Code Type 00 Class Code mismatch ROM 00000003, dev 00030000 rom_data->class_hi=0 equal to 300?? <-------- I added this print message pci_rom_load, copying non-VGA ROM Image from fd000000 to d0000, 8000 bytes halt_sys: file /home/sjk/design_082305/freebios2-3/src/devices/emulator/x86emu/ops.c, line 4400 Devices initialized
Do you have any patch that have to be commit to the tree?
I'd like to submit a lot of CK804 code with comments, but we haven't reviewed the changes with nVidia. It probably has too many comments to pass a review.
Steve