[Top] [All Lists]

M700 partition problem

Subject: M700 partition problem
From: Wayne Hodgen <>
Date: Thu, 18 Apr 1996 14:30:53 +0200 (MET DST)
Hi all,

I finally got started working on Olli stuff. I put a half G ide disk in
the Olli so I can avoid our (overloaded) net. There were of course a
set of DOS partitions on it already. This causes an adel in genhd.c->
extended_partition when it tries to do a partition check on the contents
of the extended partition. I traced the problem to the line

if (!NR_SECTS(p) || is_extended_partition(p))

(line 163 in drivers/block/genhd.c). The crash comes at NR_SECTS(p), this
is defined at the top of genhd as follows:

#ifdef __alpha__
 * On the Alpha, we get unaligned access exceptions on
 *  p->nr_sects and p->start_sect, when the partition table
 *  is not on a 4-byte boundary, which is frequently the case.
 * This code uses unaligned load instructions to prevent
 *  such exceptions.
#include <asm/unaligned.h>
#define NR_SECTS(p)     ldl_u(&p->nr_sects)
#define START_SECT(p)   ldl_u(&p->start_sect)
#else /* __alpha__ */
#define NR_SECTS(p)     p->nr_sects
#define START_SECT(p)   p->start_sect
#endif /* __alpha__ */

I can only assume that the MIPS needs similar handling to the alpha (to avoid
unaligned access) but someone (Ralf? Michael?) borrowed my MIPS bible some
time ago and never brought it back... Has anyone got the book on hand to tell
me the nessecary code for MIPS? I seem to remember it was a construct not a
single instruction but it's been months since I read the book.

I wouldn't have bothered you all with this except that Ralf is away for a day
or so and I'd like to get the disk installed so I can start on that disgusting

Wayne Hodgen   | | #include <ridiculouslylong
Uni Koblenz,   | or Fight-o-net 2:2454/500.69     | legalesemumbojumbodisclaim
Rheinau 1,     | Voice: +49 261 9119-645          | er||stupidasciipictureover
56075 Koblenz. | Fax:   +49 261 9119-499          | 20linestoannoythenet.cops>

<Prev in Thread] Current Thread [Next in Thread>