Re: debugging IBM405GP with abatron bdi 2000

7 messages, 6 authors, 2003-08-07 · open the first message on its own page

Re: debugging IBM405GP with abatron bdi 2000

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/

kernel memory mapping problem

From: ZhongJun Zhou <hidden>
Date: 2002-02-07 03:21:13

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/

RE: kernel memory mapping problem

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/

MPC8250 MCC driver

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/

load_elf_bin problem

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/

Re: kernel memory mapping problem

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/

Re: kernel memory mapping problem

From: ZhongJun Zhou <hidden>
Date: 2003-08-07 15:49:23

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.
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help