Another strange problem:
in my driver moduler, I can directly access cpu's registers such as port A,
B,C,D( my IMMR = 0xF0000000 ), but I can't directly read the SDRAM's value. for
example:
int func()
{
unsigned char tmp[10];
unsigned char * p;
unsigned long val;
val = *( unsigned long * ) 0xF0010D0C; /* Port Open-Drain Registers
(PODRA) */
p = __pa(tmp);
...
pI2cRxBD -> bd_addr = p;
...
...
}
Thanks in advance!
John
-----Original Message-----
From: ZhongJun Zhou [mailto:[EMAIL PROTECTED]
Sent: Thursday, February 07, 2002 11:21 AM
To: linuxppc-embedded at lists.linuxppc.org
Subject: kernel memory mapping problem
Dear all,
I have a problem that :
the function is :
int func()
{
unsigned char tmp[10];
unsigned char * p;
p = __pa(tmp);
...
pI2cRxBD -> bd_addr = p;
...
...
}
when run this module( lsmod mymodule.o ), kernel is always dead. Are there any
errors of this function ?
Any help is appreciated!
John Zhou
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/