From e7ad1a1126e008f038e6baf64e75d93d66c8253e Mon Sep 17 00:00:00 2001 From: rlfnb Date: Tue, 3 Mar 2015 21:23:40 +0100 Subject: [PATCH 1/2] ALIX does not have a device at bus 0, device 0, function 0 Seems like its a kind of convention introduced by Intel but not mandatory from a PCI specification point of view, that the PCI host controller resides on bus 0, device 0 function 0. At least tinybios (the bios used by ALIX and WRAP) based appliances are not able to boot with this change. --- minix/drivers/bus/pci/pci.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/minix/drivers/bus/pci/pci.c b/minix/drivers/bus/pci/pci.c index c768b84c7..74673430d 100644 --- a/minix/drivers/bus/pci/pci.c +++ b/minix/drivers/bus/pci/pci.c @@ -1980,9 +1980,6 @@ pci_intel_init() if (OK != (s=sys_outl(PCII_CONFADD, PCII_UNSEL))) printf("PCI: warning, sys_outl failed: %d\n", s); - if (vid == 0xffff && did == 0xffff) - return; /* Nothing here */ - if (nr_pcibus >= NR_PCIBUS) panic("too many PCI busses: %d", nr_pcibus); busind= nr_pcibus; From 95c0a53e0fe3efe809adc567ff4792c04d9ffa18 Mon Sep 17 00:00:00 2001 From: rlfnb Date: Mon, 9 Mar 2015 14:38:27 +0100 Subject: [PATCH 2/2] Maybe a broken bios/device setting Removing the panic leads to exactly one message on ALIX. Both commits make minix out of the box booting on ALIX devices. --- minix/drivers/bus/pci/pci.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/minix/drivers/bus/pci/pci.c b/minix/drivers/bus/pci/pci.c index 74673430d..d72fc4736 100644 --- a/minix/drivers/bus/pci/pci.c +++ b/minix/drivers/bus/pci/pci.c @@ -1492,7 +1492,7 @@ complete_bars(void) base &= 0xfcff; if (base < iogap_low) - panic("I/O base too low: %d", base); + printf("I/O base too low: %d", base); iogap_high= base; bar_nr= pcidev[i].pd_bar[j].pb_nr;