lkml.org 
[lkml]   [1998]   [Sep]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: 2.1.122 is confused with two ide controllers (follow-up)

Don,

Try this patch against a pristine version of 2.1.122.

Boot off-board chipsets first support
CONFIG_BLK_DEV_OFFBOARD
Normally, IDE controllers built into the motherboard (on-board
controllers) are assigned to ide0 and ide1 while those on add-in
PCI cards (off-board controllers) are relegated to ide2 and ide3.
Saying Y to here will reverse the situation, with off-board
controllers on ide0/1 and on-board controllers on ide2/3. This
can improve the usability of some boot managers such as LILO
when booting from a drive on an off-board controller.
Note that this will rearrange the order of the hd* devices and
may require modification of fstab and other files.

If in doubt, say N.

Say NO and it should behave like 2.1.121.

I use the offboard controllers.
The test was to set this to "NO" and watch it get confused.
Next, I set it to "YES" and it booted with an offboard controller.

Cheers,
Andre Hedrick
Dyer Observatory
Vanderbilt University

Please let me know if there is a different problem that this does not fix.
If it solves your case, I will send it to Linus in the morning.

On Thu, 17 Sep 1998, Don Fisher wrote:

> I have a ASUS P55T2P4D main board with two ide disks and a cdrom using the
> onboard ide controller. I also have a Promise ULTRA33 UDMA ide controller in
> one of my pci slots supporting other disks etc.
>
> Under 2.1.121 the hda1 disk is found correctly. Under 2.1.122 the disks on the
> onboard controller are missed. The root disk is hda1. On boot I get the
> following message from 2.1.121
>
> Partition check:
> hda: hda1,hda2
> hdb: hdb1,hdb2
>
> with everythng happy, while under 2.1.122 I get
>
> Partition check:
> hde: hde1,hde2
> hdf: hdf1,hdf2
>
> and a message that it can't find the root partition. Any help would be
> appreciated.
>
> don
> --
> -------------------------------------------------------------------
> | Don Fisher dfisher@as.arizona.edu |
> | MMT Observatory VOICE: (520)621-7647 |
> | University of Arizona FAX: (520)670-5740 |
> | Tucson, AZ 85721 |
> -------------------------------------------------------------------
>
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.rutgers.edu
> Please read the FAQ at http://www.tux.org/lkml/
>


diff -ur linux-2.1.122-pristine/Documentation/Configure.help linux/Documentation/Configure.help
--- linux-2.1.122-pristine/Documentation/Configure.help Wed Sep 16 15:25:56 1998
+++ linux/Documentation/Configure.help Thu Sep 17 21:01:44 1998
@@ -431,6 +431,20 @@

It is safe to say Y to this question.

+Boot off-board chipsets first support
+CONFIG_BLK_DEV_OFFBOARD
+ Normally, IDE controllers built into the motherboard (on-board
+ controllers) are assigned to ide0 and ide1 while those on add-in
+ PCI cards (off-board controllers) are relegated to ide2 and ide3.
+ Saying Y to here will reverse the situation, with off-board
+ controllers on ide0/1 and on-board controllers on ide2/3. This
+ can improve the usability of some boot managers such as LILO
+ when booting from a drive on an off-board controller.
+ Note that this will rearrange the order of the hd* devices and
+ may require modification of fstab and other files.
+
+ If in doubt, say N.
+
Use DMA by default when available
CONFIG_IDEDMA_AUTO
Prior to kernel version 2.1.112, Linux used to automatically use
diff -ur linux-2.1.122-pristine/drivers/block/Config.in linux/drivers/block/Config.in
--- linux-2.1.122-pristine/drivers/block/Config.in Wed Sep 16 15:25:56 1998
+++ linux/drivers/block/Config.in Thu Sep 17 20:53:21 1998
@@ -33,6 +33,7 @@
bool ' Generic PCI IDE chipset support' CONFIG_BLK_DEV_IDEPCI
if [ "$CONFIG_BLK_DEV_IDEPCI" = "y" ]; then
bool ' Generic PCI bus-master DMA support' CONFIG_BLK_DEV_IDEDMA
+ bool ' Boot off-board chipsets first support' CONFIG_BLK_DEV_OFFBOARD
if [ "$CONFIG_BLK_DEV_IDEDMA" = "y" ]; then
bool ' Use DMA by default when available' CONFIG_IDEDMA_AUTO
fi
diff -ur linux-2.1.122-pristine/drivers/block/ide-pci.c linux/drivers/block/ide-pci.c
--- linux-2.1.122-pristine/drivers/block/ide-pci.c Wed Sep 16 16:06:56 1998
+++ linux/drivers/block/ide-pci.c Thu Sep 17 21:07:44 1998
@@ -117,29 +117,39 @@
unsigned int extra;
} ide_pci_device_t;

+#ifdef CONFIG_BLK_DEV_OFFBOARD
+# define ON_BOARD 0
+# define OFF_BOARD 1
+# define NEVER_BOARD 0
+#else /* CONFIG_BLK_DEV_OFFBOARD */
+# define ON_BOARD 1
+# define OFF_BOARD 0
+# define NEVER_BOARD 0
+#endif /* CONFIG_BLK_DEV_OFFBOARD */
+
static ide_pci_device_t ide_pci_chipsets[] __initdata = {
- {DEVID_PIIXa, "PIIX", NULL, {{0x41,0x80,0x80}, {0x43,0x80,0x80}}, 0x01, 0 },
- {DEVID_PIIXb, "PIIX", NULL, {{0x41,0x80,0x80}, {0x43,0x80,0x80}}, 0x01, 0 },
- {DEVID_PIIX3, "PIIX3", NULL, {{0x41,0x80,0x80}, {0x43,0x80,0x80}}, 0x01, 0 },
- {DEVID_PIIX4, "PIIX4", NULL, {{0x41,0x80,0x80}, {0x43,0x80,0x80}}, 0x01, 0 },
- {DEVID_VP_IDE, "VP_IDE", INIT_VIA82C586, {{0x40,0x02,0x02}, {0x40,0x01,0x01}}, 0x01, 0 },
- {DEVID_PDC20246,"PDC20246", NULL, {{0x50,0x02,0x02}, {0x50,0x04,0x04}}, 0x01, 16 },
- {DEVID_RZ1000, "RZ1000", INIT_RZ1000, {{0x00,0x00,0x00}, {0x00,0x00,0x00}}, 0x01, 0 },
- {DEVID_RZ1001, "RZ1001", INIT_RZ1000, {{0x00,0x00,0x00}, {0x00,0x00,0x00}}, 0x01, 0 },
- {DEVID_CMD640, "CMD640", IDE_IGNORE, {{0x00,0x00,0x00}, {0x00,0x00,0x00}}, 0x01, 0 },
- {DEVID_NS87410, "NS87410", NULL, {{0x43,0x08,0x08}, {0x47,0x08,0x08}}, 0x01, 0 },
- {DEVID_SIS5513, "SIS5513", NULL, {{0x4a,0x02,0x02}, {0x4a,0x04,0x04}}, 0x01, 0 },
- {DEVID_CMD646, "CMD646", INIT_CMD646, {{0x00,0x00,0x00}, {0x51,0x80,0x80}}, 0x01, 0 },
- {DEVID_HT6565, "HT6565", NULL, {{0x00,0x00,0x00}, {0x00,0x00,0x00}}, 0x01, 0 },
- {DEVID_OPTI621, "OPTI621", INIT_OPTI621, {{0x45,0x80,0x00}, {0x40,0x08,0x00}}, 0x01, 0 },
- {DEVID_OPTI621X,"OPTI621X", INIT_OPTI621, {{0x45,0x80,0x00}, {0x40,0x08,0x00}}, 0x01, 0 },
- {DEVID_TRM290, "TRM290", INIT_TRM290, {{0x00,0x00,0x00}, {0x00,0x00,0x00}}, 0x01, 0 },
- {DEVID_NS87415, "NS87415", INIT_NS87415, {{0x00,0x00,0x00}, {0x00,0x00,0x00}}, 0x01, 0 },
- {DEVID_AEC6210, "AEC6210", NULL, {{0x00,0x00,0x00}, {0x00,0x00,0x00}}, 0x01, 0 },
- {DEVID_W82C105, "W82C105", INIT_W82C105, {{0x40,0x01,0x01}, {0x40,0x10,0x10}}, 0x01, 0 },
- {DEVID_UM8886BF,"UM8886BF", NULL, {{0x00,0x00,0x00}, {0x00,0x00,0x00}}, 0x01, 0 },
- {DEVID_HPT343, "HPT343", NULL, {{0x00,0x00,0x00}, {0x00,0x00,0x00}}, 0x00, 16 },
- {IDE_PCI_DEVID_NULL, "PCI_IDE", NULL, {{0x00,0x00,0x00}, {0x00,0x00,0x00}}, 0x01, 0 }};
+ {DEVID_PIIXa, "PIIX", NULL, {{0x41,0x80,0x80}, {0x43,0x80,0x80}}, ON_BOARD, 0 },
+ {DEVID_PIIXb, "PIIX", NULL, {{0x41,0x80,0x80}, {0x43,0x80,0x80}}, ON_BOARD, 0 },
+ {DEVID_PIIX3, "PIIX3", NULL, {{0x41,0x80,0x80}, {0x43,0x80,0x80}}, ON_BOARD, 0 },
+ {DEVID_PIIX4, "PIIX4", NULL, {{0x41,0x80,0x80}, {0x43,0x80,0x80}}, ON_BOARD, 0 },
+ {DEVID_VP_IDE, "VP_IDE", INIT_VIA82C586, {{0x40,0x02,0x02}, {0x40,0x01,0x01}}, ON_BOARD, 0 },
+ {DEVID_PDC20246,"PDC20246", NULL, {{0x50,0x02,0x02}, {0x50,0x04,0x04}}, OFF_BOARD, 16 },
+ {DEVID_RZ1000, "RZ1000", INIT_RZ1000, {{0x00,0x00,0x00}, {0x00,0x00,0x00}}, ON_BOARD, 0 },
+ {DEVID_RZ1001, "RZ1001", INIT_RZ1000, {{0x00,0x00,0x00}, {0x00,0x00,0x00}}, ON_BOARD, 0 },
+ {DEVID_CMD640, "CMD640", IDE_IGNORE, {{0x00,0x00,0x00}, {0x00,0x00,0x00}}, ON_BOARD, 0 },
+ {DEVID_NS87410, "NS87410", NULL, {{0x43,0x08,0x08}, {0x47,0x08,0x08}}, ON_BOARD, 0 },
+ {DEVID_SIS5513, "SIS5513", NULL, {{0x4a,0x02,0x02}, {0x4a,0x04,0x04}}, ON_BOARD, 0 },
+ {DEVID_CMD646, "CMD646", INIT_CMD646, {{0x00,0x00,0x00}, {0x51,0x80,0x80}}, ON_BOARD, 0 },
+ {DEVID_HT6565, "HT6565", NULL, {{0x00,0x00,0x00}, {0x00,0x00,0x00}}, ON_BOARD, 0 },
+ {DEVID_OPTI621, "OPTI621", INIT_OPTI621, {{0x45,0x80,0x00}, {0x40,0x08,0x00}}, ON_BOARD, 0 },
+ {DEVID_OPTI621X,"OPTI621X", INIT_OPTI621, {{0x45,0x80,0x00}, {0x40,0x08,0x00}}, ON_BOARD, 0 },
+ {DEVID_TRM290, "TRM290", INIT_TRM290, {{0x00,0x00,0x00}, {0x00,0x00,0x00}}, ON_BOARD, 0 },
+ {DEVID_NS87415, "NS87415", INIT_NS87415, {{0x00,0x00,0x00}, {0x00,0x00,0x00}}, ON_BOARD, 0 },
+ {DEVID_AEC6210, "AEC6210", NULL, {{0x00,0x00,0x00}, {0x00,0x00,0x00}}, OFF_BOARD, 0 },
+ {DEVID_W82C105, "W82C105", INIT_W82C105, {{0x40,0x01,0x01}, {0x40,0x10,0x10}}, ON_BOARD, 0 },
+ {DEVID_UM8886BF,"UM8886BF", NULL, {{0x00,0x00,0x00}, {0x00,0x00,0x00}}, ON_BOARD, 0 },
+ {DEVID_HPT343, "HPT343", NULL, {{0x00,0x00,0x00}, {0x00,0x00,0x00}}, NEVER_BOARD, 16 },
+ {IDE_PCI_DEVID_NULL, "PCI_IDE", NULL, {{0x00,0x00,0x00}, {0x00,0x00,0x00}}, ON_BOARD, 0 }};

/*
* This allows offboard ide-pci cards the enable a BIOS, verify interrupt
@@ -175,6 +185,8 @@
pci_write_config_byte(dev, (PCI_INTERRUPT_LINE)|0x80, irq1); /* 0xbc */
}
}
+ return dev->irq;
+ case PCI_DEVICE_ID_TTI_HPT343:
return dev->irq;
default:
break;
\
 
 \ /
  Last update: 2005-03-22 13:44    [W:0.057 / U:0.440 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site