From: Carsten Langgaard <carstenl@mips.com>
To: Ken Aaker <kenaaker@silverbacksystems.com>
Cc: linux-mips@oss.sgi.com
Subject: Re: Mangled struct hd_driveid with MIPSEB.
Date: Thu, 16 May 2002 08:54:04 +0200 [thread overview]
Message-ID: <3CE3578C.CF29A2D6@mips.com> (raw)
In-Reply-To: 3CE2C834.2010302@silverbacksystems.com
I send Ralf a fix a couple of weeks ago, which introduced the byteswapping,
which really is necessary.
This fix is probably only necessary for bigendian systems with large IDE
disks (>8GB), which support LBA mode.
I send this patch over a year ago. I discovered that when I ran on a disk,
which was larger than 8GB, it was only treated as 8GB.
The problem with the fix is, it is not backward compatible. After the fix
I needed to reinstall my bigendian system.
As I told Ralf, this fix will be a pain for everyone, but I guess we need
the fix eventually.
If you don't want to reinstall your system then get rid of the code in the
"ifdef __MIPSEB__" statements in include/asm-mips/ide.h
/Carsten
Ken Aaker wrote:
> I've just run across an interesting problem building a big-endian MIPS
> kernel against the kernel source from the cvs tree. When the drive
> identity record is presented to the ide_fix_driveid() function in
> include/asm-mips/ide.h, it looks like its been byteswapped in 16 bit
> chunks. Needless to say, this causes a certain amount of confusion. I
> tried following the process back to the point where the data is read in,
> but I failed to find anything that seemed to be explicitly swapping the
> code. The older kernel that I have 2.4.3 works Ok, so it's something
> that's happened recently. Here's a little bit of debug information that
> I collected.. I messed around with the ide_fix_driveid function till I
> got the system to work, but I'm be embarassed to see that code escape
> into the wild.
>
> This is a dump of the id record before the call to ide_fix_driveid() in
> the 2.4.3 kernel.
> 0000: 7a42ff3f 00001000 00e15802 3f001000 "zB.?......X.?..."
> 0010: 00000e00 4457572d 41435441 34343430 "....DWW.ACTA4440"
> 0020: 33340034 00000000 03000010 28003630 "34.4..........60"
> 0030: 302e4734 36304457 20434457 30334530 "0.G460DW.CDW03E0"
> 0040: 2d423030 50433046 20202020 20202020 ".B00PC0F........"
> 0050: 20202020 20202020 20202020 20201080 "................"
> 0060: 0000002f 01408002 00000700 ff3f1000 ".....@.......?.."
> 0070: 3f0010fc fb000001 80ac7e03 00000704 "?.........~....."
> 0080: 03007800 78007800 78000000 00000000 "..x.x.x.x......."
> 0090: 00000000 00000000 00000000 00000000 "................"
> 00a0: 3e000000 6b34014b 00406934 01080040 ">...k4.K.@i4...@"
> 00b0: 3f000000 00000000 00004b60 fe800000 "?.........K`...."
> 00c0: 00000000 00000000 00000000 00000000 "................"
> 00d0: 00000000 00000000 00000000 00000000 "................"
> 00e0: 00000000 00000000 00000000 00000000 "................"
> 00f0: 00000000 00000000 00000000 00000000 "................"
> 0100: 01000000 00000000 00003300 00000000 "..........3....."
> 0110: 00000000 00000000 00000000 00000000 "................"
> 0120: 00000000 00000000 00000000 00000000 "................"
> 0130: 00000000 00000000 00000000 00001f00 "................"
> 0140: 00000000 00000000 00000000 00000000 "................"
> 0150: 00000000 00000000 00000000 00000000 "................"
> 0160: 00000000 00000000 00000000 00000000 "................"
> 0170: 00000000 00000000 00000000 00000000 "................"
> 0180: 00000000 00000000 00000000 00000000 "................"
> 0190: 00000000 00000000 00000000 00000000 "................"
> 01a0: 00000000 00000000 00000000 00000000 "................"
> 01b0: 00000000 00000000 00000000 00000000 "................"
> 01c0: 00000000 00000000 00000000 00000000 "................"
> 01d0: 00000000 00000000 00000000 00000000 "................"
> 01e0: 00000000 00000000 00000000 00000000 "................"
> 01f0: 00000000 00000000 00000000 0000a56e "...............n"
>
> This is a dump of the id record before the call to ide_fix_drived() in
> the 2.4.18 kernel from cvs.
>
> 0000: 427a3fff 00000010 e1000258 003f0010 "Bz?........X.?.."
> 0010: 0000000e 57442d57 43414154 34343034 "....WD.WCAAT4404"
> 0020: 34333400 00000000 00031000 00283036 "434...........06"
> 0030: 2e303447 30365744 43205744 33303045 ".04G06WDC.WD300E"
> 0040: 422d3030 43504630 20202020 20202020 "B.00CPF0........"
> 0050: 20202020 20202020 20202020 20208010 "................"
> 0060: 00002f00 40010280 00000007 3fff0010 "....@.......?..."
> 0070: 003ffc10 00fb0100 ac80037e 00000407 ".?.........~...."
> 0080: 00030078 00780078 00780000 00000000 "...x.x.x.x......"
> 0090: 00000000 00000000 00000000 00000000 "................"
> 00a0: 003e0000 346b4b01 40003469 08014000 ".>..4kK.@.4i..@."
> 00b0: 003f0000 00000000 0000604b 80fe0000 ".?........`K...."
> 00c0: 00000000 00000000 00000000 00000000 "................"
> 00d0: 00000000 00000000 00000000 00000000 "................"
> 00e0: 00000000 00000000 00000000 00000000 "................"
> 00f0: 00000000 00000000 00000000 00000000 "................"
> 0100: 00010000 00000000 00000033 00000000 "...........3...."
> 0110: 00000000 00000000 00000000 00000000 "................"
> 0120: 00000000 00000000 00000000 00000000 "................"
> 0130: 00000000 00000000 00000000 0000001f "................"
> 0140: 00000000 00000000 00000000 00000000 "................"
> 0150: 00000000 00000000 00000000 00000000 "................"
> 0160: 00000000 00000000 00000000 00000000 "................"
> 0170: 00000000 00000000 00000000 00000000 "................"
> 0180: 00000000 00000000 00000000 00000000 "................"
> 0190: 00000000 00000000 00000000 00000000 "................"
> 01a0: 00000000 00000000 00000000 00000000 "................"
> 01b0: 00000000 00000000 00000000 00000000 "................"
> 01c0: 00000000 00000000 00000000 00000000 "................"
> 01d0: 00000000 00000000 00000000 00000000 "................"
> 01e0: 00000000 00000000 00000000 00000000 "................"
> 01f0: 00000000 00000000 00000000 00006ea5 "..............n."
>
> --
> work -> kenaaker@silverbacksystems.com (507) 289-6910 ext 1
> home -> kenaaker@screaminet.com
--
_ _ ____ ___ Carsten Langgaard Mailto:carstenl@mips.com
|\ /|||___)(___ MIPS Denmark Direct: +45 4486 5527
| \/ ||| ____) Lautrupvang 4B Switch: +45 4486 5555
TECHNOLOGIES 2750 Ballerup Fax...: +45 4486 5556
Denmark http://www.mips.com
next prev parent reply other threads:[~2002-05-16 6:54 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-05-15 20:42 Mangled struct hd_driveid with MIPSEB Ken Aaker
2002-05-16 6:54 ` Carsten Langgaard [this message]
2002-05-16 8:39 ` Geert Uytterhoeven
2002-05-16 10:06 ` Carsten Langgaard
2002-05-16 10:57 ` Geert Uytterhoeven
2002-05-16 15:07 ` Ken Aaker
2002-05-21 8:12 ` Carsten Langgaard
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3CE3578C.CF29A2D6@mips.com \
--to=carstenl@mips.com \
--cc=kenaaker@silverbacksystems.com \
--cc=linux-mips@oss.sgi.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.