[parisc-linux] code 28 in msdos_partition()
Paul Bame
bame@endor.fc.hp.com
Wed, 19 Apr 2000 13:22:32 -0600
=
= I figured out line 434 (of 497) fs/partitions/msdos.c
= ("if (!NR_SECTS(p))") is causing the code 28 trap (unaligned data
= reference trap) despite the use of get_unaligned() macro. Seems
= get_unaligned() just isn't supported. I tried tracking this down in
= order to fix it but got distracted by another problem.
= If someone feels like they want to contribute in
= a small way, fixing get/put unaligned would be helpful.
I'm interested in looking at this problem and seeing disks work in
general. But I can't help since I don't have a box which seems to be
able to find SCSI drives (tried 712, b180, c360, and c3k). Can you
give me a clue how to reproduce what you're seeing?
With my limited experience with Linux disks and software, the
partition table access is usually aligned right anyway, so I think
alignment traps here should be rare.
= The problem which distracted me was the use of generic
= swap macros by get_unaligned. parisc-linux defines architecture
= specific macros and I couldn't figure out why those
= were NOT being used. Any takers for this too?
Are you asking about le32_to_cpu() versus __le32_to_cpu()? (Not that
I have an answer -- I'm just wondering if that's the question)
-Paul Bame