VOGONS


First post, by BurnedPinguin

User metadata
Rank Newbie
Rank
Newbie

Basically, I wish to take PCI steering information from AwardBIOS (displayed and editable by awdbedit), apply it onto an AMIBIOS (displayed and editable by AMIBCP), and vice versa.

Attachments will be provided as examples of how awdbedit and AMIBCP display steering information. Obviously, they don't display it the same way (otherwise it would've been very easy to do this and I wouldn't be asking).

***ATTENTION!***
The picture used for AMIBCP for about two hours after posting was wrong. There is now a new picture attached.
***ATTENTION!***

Attachments

  • amibcp.png
    Filename
    amibcp.png
    File size
    20.85 KiB
    Views
    274 views
    File comment
    amibcp
    File license
    Public domain
  • awdbedit.png
    Filename
    awdbedit.png
    File size
    53.31 KiB
    Views
    295 views
    File comment
    awdbedit
    File license
    Public domain

Reply 1 of 2, by zapbuzz

User metadata
Rank Oldbie
Rank
Oldbie

Although I don't know the answer I can suggest BIOS modding forums to learn like WIMS BIOS forum there are several.
People have said if you change BIOS software brands it can be trouble that often same motherboard models have updated revisions which provide the very reason for BIOS brand changes to maintain stability; suggest spare bios chip in case you cause a dead bios.

Reply 2 of 2, by mkarcher

User metadata
Rank l33t
Rank
l33t

The AMIBCP PCI steering information has a more complete set of information compared to the AWARD one. This means that the AMI BIOS is more table-driven whereas the AWARD one has some of the information in code provided from the chipset manufacturer.

Basically, the PCI interrupt steering information tells you, how the four PCI interrupt input pins of the chipset are wired to the four interrupt pins on each slot, and possibly also onboard devices. Devices are respresented in a different way: The AMI BIOS has all device numbers multiplied by eight, so the numbers 40, 48, 50, 58, 38 (all hex) are also expressable as 8, 9, A, B, 7 (hex again). It seems your Award editor confuses things a bit and displays the device numbers as "IRQ#". Device 38 / 7 is the south bridge, which contains the IDE controller, and two of its interrupt pins are hardwired to IRQ14 / IRQ15 and don't take part in the steering at all. INT C is not connected. INT D is either for the USB or the power management controller and is managed by interrupt steering.

The four interrupt inputs of the chipset are identified by the index of the configuration register (60..63) in the AMI table, and just by number (1..4) in the Award table. The first line of the AMI dump tells you that on bus #0 (interrupts on other busses are routed through bridges, and don't need explicit steering information, that's why Award doesn't care about bus numbers in the table), the device 40h / 8 has INTA connected to the interrupt input pin managed by configuration register 60 (Award would call it "1"). INTB is connected to the pin managed by register 61 (Award "2"), INTC is connected to the pin managed by register 62 (Award "3") and INTD is connected to the pin managed by register 63 (Award 4). This device ID is assigned to the slot labelled 1. In Award format, this line would thus be: "slot 1: 'IRQ' 8, INTA 1, INTB 2, INTC 3, INTD 4".

It seems the Award and the AMI BIOS tables don't match, so they seem to be for different mainboards. If you want to convert from AMI to Award, you can be quite sure that the Award "INTx" numbers are 1,2,3,4 in the same sequence as the configuration register numebers used in the AMI BIOS. If you want to convert from Award to AMI, you need to look up the configuration register numbers for your south bridge (e.g. in a chipset data sheet or an AMI BIOS for a board with the same south bridge). The bitmap value indicates which interrupts may be assigned to a pin. It doesn't really make sense the for the same configuration register, e.g. 60h, the mask is stored multiple times. Obviously, the mask is always the same in your BIOS, and this is the most common configuration found in PCs anyhow. The mask in your screenshot indicates IRQs 3,4,5,7,9,10,11,12,14,15 assignable to PCI. The BIOS takes care of onboard serial/parallel ports, the PS/2 port and the onbaord IDE automatically, so if these ports are enabled, the remaining assignable IRQs are 5,9,10,11. No need to bother with this, though. Unless you have strong reasons to change it, the mask in the screenshot (DEB8) is fine for any typical PC mainboard.