[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4BAD5472.9050303@garzik.org>
Date: Fri, 26 Mar 2010 20:42:26 -0400
From: Jeff Garzik <jeff@...zik.org>
To: David Fries <david@...es.net>
CC: Bartlomiej Zolnierkiewicz <bzolnier@...il.com>,
linux-kernel@...r.kernel.org, linux-ide@...r.kernel.org
Subject: Re: 2.6.34-rc2 breaks via82cxxx Host Protected Area
On 03/26/2010 08:36 PM, David Fries wrote:
> On Fri, Mar 26, 2010 at 08:12:26PM -0400, Jeff Garzik wrote:
>> On 03/26/2010 07:21 PM, David Fries wrote:
>>> The kernel fails to see the entire disk with 2.6.34-rc2 with VIA
>>> vt82c586b chipset. I tracked it down to commit
>>> f931a5d5785d7b7c44871bd7ad2762e29dfddf29 "via82cxxx: workaround h/w
>>> bugs" and reverting just that one solves the problem, or just
>>> commenting out just one outb write in that change.
>>>
>>> via82cxxx 0000:00:07.1: VIA vt82c586b (rev 41) IDE UDMA33
>>> via82cxxx 0000:00:07.1: IDE controller (0x1106:0x0571 rev 0x06)
>>> via82cxxx 0000:00:07.1: not 100% native mode: will probe irqs later
>>>
>>> Note the kernel panic is intentional as I'm given the test kernel an
>>> invalid root device, so that I can suspend to disk, try a kernel,
>>> resume and pick up where I left off. It does have a side benefit of
>>> dumping the size of all partitions.
>>>
>>> 2.6.34-rc2 unmodified, fails and sees 30985416 KiB for the last
>>> partition.
>>> ide-gd driver 1.18
>>> hda: max request size: 128KiB
>>> hda: 66055248 sectors (33820 MB) w/7936KiB Cache, CHS=65531/16/63
>>> hda: cache flushes supported
>>> hda: hda1 hda2 hda3
>>> hda: p3 size 236037312 exceeds device capacity, enabling native capacity
>>> hda: p3 size 236037312 exceeds device capacity, limited to end of disk
>>> ide-cd driver 5.00
>>> ...
>>> Please append a correct "root=" boot option; here are the available partitions:
>>> 0300 33027624 hda driver: ide-gd
>>> 0301 49391 hda1
>>> 0302 1992816 hda2
>>> 0303 30985416 hda3
>>> Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(22,2)
>>>
>>> 2.6.34-rc2 with patch revered, correct size 118018656
>>> ide-gd driver 1.18
>>> hda: max request size: 128KiB
>>> hda: Host Protected Area detected.
>>> current capacity is 66055248 sectors (33820 MB)
>>> native capacity is 240121728 sectors (122942 MB)
>>> hda: 66055248 sectors (33820 MB) w/7936KiB Cache, CHS=65531/16/63
>>> hda: cache flushes supported
>>> hda: hda1 hda2 hda3
>>> hda: p3 size 236037312 exceeds device capacity, enabling native capacity
>>> hda: detected capacity change from 33820286976 to 122942324736
>>> ide-cd driver 5.00
>>> 0300 120060864 hda driver: ide-gd
>>> 0301 49391 hda1
>>> 0302 1992816 hda2
>>> 0303 118018656 hda3
>>> Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(22,2)
>>>
>>> Here are two debug patches, the first adds debug prints and the second
>>> disables the problematic write, I have the output of both included.
>>>
>>>> From dac7d14ce1f227d8a084c3ec218ea1430bffdc57 Mon Sep 17 00:00:00 2001
>>> From: David Fries<david@...es.net>
>>> Date: Thu, 25 Mar 2010 19:51:31 -0500
>>> Subject: [PATCH 1/2] fails: add print messages
>>>
>>> add print messages for debugging
>>> ---
>>> drivers/ide/via82cxxx.c | 5 +++++
>>> 1 files changed, 5 insertions(+), 0 deletions(-)
>>
>> Does libata + pata_via work, if you pass ignore_hpa=1 module option to
>> libata?
>>
>> Jeff
>
> No, here is the output with ignore_hpa=1 on the command line. I also
> don't see any difference with it not on the command line.
I said "module option", which is different from a kernel command line
option.
If you are trying to build a module into the kernel image itself, you
must use the "modulename.moduleoption" format on the kernel command
line, ie. libata.ignore_hpa=1
> scsi0 : pata_via
> scsi1 : pata_via
> ata1: PATA max UDMA/33 cmd 0x1f0 ctl 0x3f6 bmdma 0xe400 irq 14
> ata2: PATA max UDMA/33 cmd 0x170 ctl 0x376 bmdma 0xe408 irq 15
> ata1.00: HPA detected: current 66055248, native 240121728
> ata1.00: ATA-7: Maxtor 6Y120P0, YAR41BW0, max UDMA/133
> ata1.00: 66055248 sectors, multi 16: LBA
> ata1.00: configured for UDMA/33
> scsi 0:0:0:0: Direct-Access ATA Maxtor 6Y120P0 YAR4 PQ: 0 ANSI: 5
> sd 0:0:0:0: [sda] 66055248 512-byte logical blocks: (33.8 GB/31.4 GiB)
> sd 0:0:0:0: [sda] Write Protect is off
> sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
> sda: sda1 sda2 sda3
> sda: p3 size 236037312 exceeds device capacity, limited to end of disk
This message should hopefully change, when the module option is
correctly specified.
> sd 0:0:0:0: [sda] Attached SCSI disk
> ata2.01: ATAPI: PLEXTOR CD-R PX-W4012A, 1.06, max UDMA/33
> ata2.01: configured for UDMA/33
> scsi 1:0:1:0: CD-ROM PLEXTOR CD-R PX-W4012A 1.06 PQ: 0 ANSI: 5
> ...
> VFS: Cannot open root device "1602" or unknown-block(22,2)
> Please append a correct "root=" boot option; here are the available partitions:
> 0800 33027624 sda driver: sd
> 0801 49391 sda1
> 0802 1992816 sda2
> 0803 30985416 sda3
> Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(22,2)
All these errors related to unknown-block(22,2) are it trying to find
/dev/hdX, when libata uses the SCSI block devices /dev/sdX
These errors are unrelated to HPA, and are a standard issue encountered
when moving from legacy IDE driver to libata.
Jeff
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists