From 954ad990e50494bda6020e622e0f3865bfca4a95 Mon Sep 17 00:00:00 2001 From: Philip Homburg Date: Wed, 1 Nov 2006 14:55:00 +0000 Subject: [PATCH] at_wini now calls pci_reserve. --- drivers/at_wini/at_wini.c | 2 ++ drivers/memory/ramdisk/rc | 3 ++- drivers/pci/pci.c | 3 +++ etc/drivers.conf | 6 ++++++ kernel/priv.h | 2 +- 5 files changed, 14 insertions(+), 2 deletions(-) diff --git a/drivers/at_wini/at_wini.c b/drivers/at_wini/at_wini.c index 846580207..3ea656f19 100644 --- a/drivers/at_wini/at_wini.c +++ b/drivers/at_wini/at_wini.c @@ -569,6 +569,8 @@ PRIVATE void init_params_pci(int skip) else continue; /* Unsupported device class */ + pci_reserve(devind); + /* Found a controller. * Programming interface register tells us more. */ diff --git a/drivers/memory/ramdisk/rc b/drivers/memory/ramdisk/rc index 0c4cad34c..118aed85d 100644 --- a/drivers/memory/ramdisk/rc +++ b/drivers/memory/ramdisk/rc @@ -7,7 +7,8 @@ then echo Using bios_wini. /bin/service -c up /bin/bios_wini -dev /dev/c0d0 else - /bin/service -c up /bin/at_wini -dev /dev/c0d0 -script /etc/rs.single -config /etc/drivers.conf + /bin/service -c up /bin/at_wini -dev /dev/c0d0 -config /etc/drivers.conf + #/bin/service -c up /bin/at_wini -dev /dev/c0d0 -script /etc/rs.single -config /etc/drivers.conf fi rootdev=`sysenv rootdev` || echo 'No rootdev?' diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c index b4bd7b5c8..1e5c798e7 100644 --- a/drivers/pci/pci.c +++ b/drivers/pci/pci.c @@ -971,7 +971,10 @@ int devind; continue; /* Skip */ } if (i == j) + { + j++; continue; /* No need to copy */ + } pcidev[devind].pd_bar[j]= pcidev[devind].pd_bar[i]; j++; diff --git a/etc/drivers.conf b/etc/drivers.conf index 88090f6c3..a8ee1c375 100644 --- a/etc/drivers.conf +++ b/etc/drivers.conf @@ -113,9 +113,12 @@ driver at_wini { io 1f0:8 # Controller 0 3f6 # Also controller 0 + 170:8 # Controller 1 + 376 # Also controller 1 ; irq 14 # Controller 0 + 15 # Controller 1 ; system KILL # 6 @@ -132,4 +135,7 @@ driver at_wini SETGRANT # 34 READBIOS # 35 ; + pci class + 1/1 # Mass storage / IDE + ; }; diff --git a/kernel/priv.h b/kernel/priv.h index 78668aded..c02208b3c 100755 --- a/kernel/priv.h +++ b/kernel/priv.h @@ -17,7 +17,7 @@ #include "type.h" /* Max. number of I/O ranges that can be assigned to a process */ -#define NR_IO_RANGE 10 +#define NR_IO_RANGE 32 /* Max. number of device memory ranges that can be assigned to a process */ #define NR_MEM_RANGE 10