Gentoo Archives: gentoo-amd64

From: Drake Donahue <donahue95@×××××××.net>
To: gentoo-amd64@l.g.o
Subject: Re: [gentoo-amd64] Re: Kernel panic - not syncing: VFS: Unable to mount root fs on unknown block(2,0)
Date: Mon, 12 Dec 2005 13:28:22
Message-Id: 003f01c5ff1f$85e036a0$0200a8c0@donahues.us
In Reply to: Re: [gentoo-amd64] Re: Kernel panic - not syncing: VFS: Unable to mount root fs on unknown block(2,0) by Felipe Ribeiro
----- Original Message ----- 
From: "Felipe Ribeiro" <felipernb@×××××.com>
To: <gentoo-amd64@l.g.o>
Sent: Monday, December 12, 2005 4:50 AM
Subject: Re: [gentoo-amd64] Re: Kernel panic - not syncing: VFS: Unable to 
mount root fs on unknown block(2,0)


> and what about dma? when you use generic driver, can you enable it? it > always recognize my chipset as sis5513 :-(
i don't know, but your .config has generic 'idedma' choices selected (defaults) so presumably you only lose special 5513 features by removing 5513 ide support.
>
<snip> this discussion found at http://kerneltrap.org/node/4925 may be of help: Ok, it seems that for some reason, sis5513.c doesn't reference the product ID # for the sis5513 (go figure). Here is the code which specifies which IDs to look for (/usr/src/linux/drivers/ide/pci/sis5513.c): /* * Devices supported */ static const struct { const char *name; u16 host_id; u8 chipset_family; u8 flags; } SiSHostChipInfo[] = { { "SiS745", PCI_DEVICE_ID_SI_745, ATA_100 }, { "SiS735", PCI_DEVICE_ID_SI_735, ATA_100 }, { "SiS733", PCI_DEVICE_ID_SI_733, ATA_100 }, { "SiS635", PCI_DEVICE_ID_SI_635, ATA_100 }, { "SiS633", PCI_DEVICE_ID_SI_633, ATA_100 }, { "SiS730", PCI_DEVICE_ID_SI_730, ATA_100a }, { "SiS550", PCI_DEVICE_ID_SI_550, ATA_100a }, { "SiS640", PCI_DEVICE_ID_SI_640, ATA_66 }, { "SiS630", PCI_DEVICE_ID_SI_630, ATA_66 }, { "SiS620", PCI_DEVICE_ID_SI_620, ATA_66 }, { "SiS540", PCI_DEVICE_ID_SI_540, ATA_66 }, { "SiS530", PCI_DEVICE_ID_SI_530, ATA_66 }, { "SiS5600", PCI_DEVICE_ID_SI_5600, ATA_33 }, { "SiS5598", PCI_DEVICE_ID_SI_5598, ATA_33 }, { "SiS5597", PCI_DEVICE_ID_SI_5597, ATA_33 }, { "SiS5591/2", PCI_DEVICE_ID_SI_5591, ATA_33 }, { "SiS5582", PCI_DEVICE_ID_SI_5582, ATA_33 }, { "SiS5581", PCI_DEVICE_ID_SI_5581, ATA_33 }, { "SiS5596", PCI_DEVICE_ID_SI_5596, ATA_16 }, { "SiS5571", PCI_DEVICE_ID_SI_5571, ATA_16 }, { "SiS551x", PCI_DEVICE_ID_SI_5511, ATA_16 }, }; --- One would assume that SiS551x would support the SiS5513 controller, but apparenlty this isn't the case. The device ID for the 5513 controller differs from that of the 5511 controller, so I have no idea why there is no entry for the sis5513. Anyway, I used 'lspci -n' and double-checked that against /usr/src/linux/include/linux/pci_ids.h. After that, I simply appended this line to the SiSHostChipInfo[] structure right after the entry for SiS551x: { "SiS5513", PCI_DEVICE_ID_SI_5513, ATA_16 }, It is really a simple solution and I'm surprised noone else has noticed/posted it before. Perhaps I'm missing something or something. All I know is that SIS5513 used to return -1 and now it seems to load properly and my DMA is now enable-able :). Feel free to let me know if it worked for you, maybe it will be added to the kernel tree later or something. [ reply ] Hi sinthetek, What a g Comment posted by Anonymous (not verified) on Thursday, May 12, 2005 - 00:52 Hi sinthetek, What a great solution that I search for centuries. It's even better put ATA_133 instead of ATA_16. { "SiS5513", PCI_DEVICE_ID_SI_5513, ATA_16 }, Gideon -- gentoo-amd64@g.o mailing list