[Yaffs] [Yaffs-archive] Re: Alignement problem in yaffs_ObjectHeader on 68k platform

Charles Manning manningc2@actrix.gen.nz
Sat, 21 Feb 2004 15:30:28 +1300


On Saturday 21 February 2004 08:37, Daniel Haensse wrote:
> Hi list
>
> we had the problem to mount the yaffs on an embedded system, it did get
> stuck on mount. After changing kernel debug level, we haven been able to
> see the following message:
>
> yaffs_ObjectHeader should be 512 but is 510
>
> yaffs_CheckStructures failed
>
> after adding a short dummy at the end of yaffs_ObjectHeader in yaffs_guts.h
>
> we can format a NAND flash and mount the chip.
>
> Do you have any hint to solve this with a compiler option? We are using
> m68-elf-gcc for a 68vz328.
>
> regards
>
> Dani

This is a pure alignment issue which you could fix by padding etc as you 
have done. There might be some pragmas and compiler switches you can use to 
achieve this too. I'd suggest looking through your compiler switches.

For most devices, the alignment is going to be all__u32s starting on a 4-byte 
boundary, all __u16s on a two byte boundary etc.


In the case of the yaffs_ObjectHeader it might be OK to  just ignore the size 
check so long as the object size is smaller than the page size. This might 
cause some ECC issues, but I don't think so.

-- Charles



---------------------------------------------------------------------------------------
This mailing list is hosted by Toby Churchill open software (www.toby-churchill.org).
If mailing list membership is no longer wanted you can remove yourself from the list by 
sending an email to yaffs-request@toby-churchill.org with the text "unsubscribe" 
(without the quotes) as the subject.