Levi Khatskevitch wrote:
>
> Ron,
> I found what was causing the problem (not why however), here is the patch:
>
> Index: southbridge.c
> ===================================================================
> RCS file: /cvsroot/freebios/freebios/src/northsouthbridge/sis/630/southbridge.c,v
> retrieving revision 1.15
> diff -u -b -r1.15 southbridge.c
> --- southbridge.c 2000/12/06 11:02:36 1.15
> +++ southbridge.c 2000/12/13 04:24:51
> @@ -102,6 +102,11 @@
> unsigned short acpibase = 0xc000, temp;
> int i;
>
> + // remap IRQ for PCI -- this is exactly what the BIOS does now.
> + pci_write_config_byte(pcidev, 0x42, 0xa);
> + pci_write_config_byte(pcidev, 0x43, 0xb);
> + pci_write_config_byte(pcidev, 0x44, 0xc);
> +
> // the following is to turn off software watchdogs.
> // we co-op the address space from c000-cfff here. Temporarily.
> // Later, we need a better way to do this.
>
> those three lines first disappeared in revision 1.12, adding them back corrects
> the problem. Does anyone remember why those lines were removed? Ollie checked in
> the change. (gzipped version of patch is attached in case email word-wraps it)
>
> Thank you all,
> - Levi
>
The way Ron hacked the IRQ problem was wrong. You can not hardcode these 4 registers
arbitrarily. These values enable the IRQ for LAN but disable IRQ for other devices.
So I removed these lines. I just told Ron this is the cause of your problem.
You can put them back into your code.
Ollie