Very glad to see you here.
Alan Cox,many friends of mine ADMIRE you very much!
Ralf Baechle,I learn a lot from your codes when porting my mips!
The ENDIAN issue in my board is:
My mips is little endian(not pure,dont care it here),and my memory
is little endian(it should be same as cpu,however,it is not always in my
SOC,that's why ENDIAN issue comes out).When reading/writing words
from/to memory,it is always OK,little endian. However,the wierd situation is that
when writing string such as "ABCDEFGH" into memory,such as address
0,in memory it will be stored as:
DC B A HG F E
that means,when using byte access to memory,it will byteswap.You want
to access address 0,however,it will access address 3,vice versa.
You want to access address 1,it will access address 2,vice versa.
This is byte access situation.
When using half word accessing,it will swap too:
if I want to write 0x1234 into memory at address 0,it will write into memory address 2;
if I want to write 0x1234 into memory at address 2,it will write into memory address 0;
So,in my board, we could not use type-casting to access data in memory.
I dont know if I have clarified the situation.
From: Ralf Baechle [mailto:email@example.com]
Sent: Thursday, February 26, 2004 1:13 AM
To: Liu Hongming (Alan)
Cc: Alan Cox; firstname.lastname@example.org
Subject: Re: IDE driver problem
On Wed, Feb 25, 2004 at 08:11:54PM +0800, Liu Hongming (Alan) wrote:
> I have found out where the problem is. Since my hardware has
> endian issue, fs/partition/msdos.c could not handle partition table
> correctly. I have changed a little(still having much to change),and it
> really works now.
I'm not sure what you call endian issue here. The PC style partition
table code we've used for years on big endian systems without problems.