public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot-Users] FAT mbr on MMC or SD cards
@ 2007-06-13 15:54 Joey Oravec
  2007-06-13 18:41 ` Wolfgang Denk
  0 siblings, 1 reply; 5+ messages in thread
From: Joey Oravec @ 2007-06-13 15:54 UTC (permalink / raw)
  To: u-boot

Hi all,

I've been testing a wide variety of MMC/SD cards straight out of the 
package. Some cards have a MBR at sector 0 (like a hard drive) while others 
are unpartitioned with a volume boot sector at sector 0 (like a floppy). And 
it might change if you reformat the card.

I'm still on 1.1.5, but I didn't see any major changes in 1.1.6. Within 
fs/fat/fat.c one of the first functions file_fat_detectfs() calls 
read_bootsectandvi(). I think I need to make, and then submit patches for, a 
few changes:

1. This code assumes that sector 0 contains a VBR. Instead I think it should 
decide if 0 is an MBR or VBR, or even better utilize the dev:part command 
line. Can I make this determination that from the first three bytes, or is 
there a better way?

2. The decision of fat12, fat16, and fat32 is made upon fat_length and an 
ascii field. The Microsoft document claims that the determination shall be 
made only by the count of clusters. Any disputes on that fix?

3. Structure boot_sector may need a packed attribute. As far as I can tell 
there are no makefile flags so gcc is free to add padding to align members 
inside structures. This would be a problem for the memcpy from block to 
boot_sector within read_bootsectandvi(). What is the coding standard for 
specifying 1-byte packing where necessary? Just add the gcc attribute?

Thanks!

-joey 

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2007-06-18 13:51 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <20070613212533.EA32A353B6D@atlas.denx.de>
2007-06-18 11:04 ` [U-Boot-Users] FAT mbr on MMC or SD cards Heiko Schocher
2007-06-18 13:51   ` Joey Oravec
2007-06-13 15:54 Joey Oravec
2007-06-13 18:41 ` Wolfgang Denk
2007-06-13 20:59   ` Joey Oravec

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox