You can not test that in arima board. Because all device on 8131 is using ioapic in amd8111.
YH
-----Original Message----- From: ebiederman@lnxi.com [mailto:ebiederman@lnxi.com] Sent: Thursday, October 21, 2004 11:13 AM To: YhLu Cc: LinuxBIOS Subject: Re: Freebios2 recovery progress...
YhLu YhLu@tyan.com writes:
Eric,
You overwrite some lines in amd8131....
/* We have to enable MEM and Bus Master for IOAPIC */ value = pci_read_config32(dev, 0x4); value |= 6; pci_write_config32(dev, 0x4, value);
Yep.
But in src/devices/pci_device.c:pci_scan_bus I added: /* Architectural/System devices always need to * be bus masters. */ if ((dev->class >> 16) == PCI_BASE_CLASS_SYSTEM) { dev->command |= PCI_COMMAND_MASTER; }
Which achieves the same thing in a generally less fragile way. We still might have one or two devices that we need to hard code the master command status for but this catches the general case.
Basically system devices have well known interfaces so they are likely to have a generic driver instead of a device specific driver. So enabling them as bus masters looks safe and will fix all of the cases I know about where this is needed.
And I checked and the bus master bit is still getting set on the IOAPICs on the HDAMA.
But thanks good catch, this needed an explanation.
Did I mention I was just a little behind on merging my code? :)
Eric
YhLu YhLu@tyan.com writes:
You can not test that in arima board. Because all device on 8131 is using ioapic in amd8111.
I can't test that it works but I can test that the bits are getting set by running lspci. And that is how I tested. The bus master bit is still getting set. I just move the location.
Eric
Why devices on amd8131 don't use ioapic in amd8131?
You can not test that in arima board. Because all device on 8131 is using ioapic in amd8111.
YH
Liu Tao liutao@safe-mail.net writes:
Why devices on amd8131 don't use ioapic in amd8131?
On the ARIMA HDAMA motherboard the devices on the PCI-X buses created by the amd8131 have their interrupts hooked to the amd8111. Leaving the ioapics on the amd8131 unused.
It is a board implementation bug.
Eric