From: Wolfgang Denk <hidden> Date: 2003-08-05 19:12:43
In message <D73A25AA6E54D511AD74009027B1110F3C099A@ORION> you wrote:
This tells me that the abatron is doing some type of initialization other
than the config file. Whatever it is doing behind the scenes is causing a
problem after the rfi instruction.
You cannot single step through some instructions, including rfi. This
has been discussed before, you may want to search the mailing list
archive.
Best regards,
Wolfgang Denk
--
Software Engineering: Embedded and Realtime Systems, Embedded Linux
Phone: (+49)-8142-4596-87 Fax: (+49)-8142-4596-88 Email: wd@denx.de
Perfection is reached, not when there is no longer anything to add,
but when there is no longer anything to take away.
- Antoine de Saint-Exupery
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
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/
From: John Zhou <hidden> Date: 2002-02-07 04:24:42
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:zjhzou@newrocktech.com]
Sent: Thursday, February 07, 2002 11:21 AM
To: linuxppc-embedded@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/
From: Adam Kaczynski <hidden> Date: 2003-08-06 14:52:12
I would like to present a very simple driver for MPC8250/8260 MCC
working in transparent and HDLC modes, released under GPL.
It uses one time-slot assigner (128 timeslots) and each individual
channel may be transparent or HDLC. The "read" and "write" functions are
non-blocking and the user should block on "poll". This driver is
prepared to work on our custom-made MPC8250 board but it would be easy
to port it to any evaluation board.
http://www.dgt-lab.com.pl/Serwis/char_dev.tgz
This is rather an example code than a fully polished masterpiece but it
works well and it is being tested in our new product. The sample
programmes are attached to this module.
I would like to thank Omanakuttan for his help and for his precious
documentation:
http://www.ibiblio.org/gferg/ldp/MPC8260-MCC-HOWTO.txt
Adam
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
From: dong in kang <hidden> Date: 2003-08-07 13:22:23
Hello,
The linux kernel boot up well till the last stage to call /bin/sh.
It crashes inside of load_elf_bin.
More specifically
load_elf_bin() --> setup_arg_pages() --> put_dirty_page();
Inisde of put_dirty_page() routing, it crashes at
if (!pte_none(pte)) {
The program accesses pte->pte, but the address of pte->pte is not translated
to physical address properly.
So machine exception occurs, and the kernel crashes.
Is it paging problem?
I turned L1 and L2 cache off because those have defects.
Does it cause any problem to paging mechanism?
I'll appreciate your help.
Dong-In
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
From: Peter Barada <hidden> Date: 2003-08-07 15:01:44
when run this module( lsmod mymodule.o ), kernel is always dead. Are
there any errors of this function ?
Any help is appreciated!
What are you doing with the physical address of a varaible that is on
the *stack*? If you let some hardware modify that value, then you can
easily trash your stack if the hardware modifies this value *after*
this function exits since tmp will go out of scope.
I'd suggest that you move tmp outside of func for starters.
--
Peter Barada Peter.Barada@motorola.com
Wizard 781-852-2768 (direct)
WaveMark Solutions(A Motorola Company) 781-270-0193 (fax)
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
Thanks very much.
But my functions are serial running on PPC82xx, its
means that when I mapped the the address using __pa(
(void *)tmp) to bd_address, then reading the BD's
status and control registers, if OK, then return from
this function. Is it OK with this method? Next, if I
use "kmalloc" to get the buffer and map it to CPM with
__pa() function, that can be run, is right? any other
functions can finish this mapping action ? or give me
any good documents for my reading?
thanks in advance!
--- Peter Barada <pbarada@mail.wm.sps.mot.com>
quoted
when run this module( lsmod mymodule.o ), kernel is always dead. Are
there any errors of this function ?
What are you doing with the physical address of a varaible that is on
the *stack*? If you let some hardware modify that value, then you can
easily trash your stack if the hardware modifies this value *after*
this function exits since tmp will go out of scope.
I'd suggest that you move tmp outside of func for starters.