Address error

Thomas Doerfler Thomas.Doerfler at imd-systems.de
Wed Sep 3 09:09:05 UTC 2003


Leon,

your welcome. I am glad I could save your head 
from breaking apart :->

wkr,
	Thomas.


> Thomas,
> 	You are great!!!!!!
> 	I don't know how to thank you - I brake my head already for the second day, 
> but do not see this simple difference in declarations!
> 
> 	1001 of thanks to you!!!
> 
> On Wednesday 03 September 2003 11:35, Thomas Doerfler wrote:
> > Hello Loen,
> >
> > maybe the answer is in the definition of your _output_char
> > function.
> >
> > AFAIK "BSP_output_char" should be a pointer to a output
> > function, like:
> >
> > BSP_output_char_function_type      BSP_output_char;
> >
> > Initially it should point to a dummy function that performs
> > nothing. When your serial I/O is up and running, you can move
> > the pointer to the corresponding function.
> >
> > void my_output_char_fnc(char c)
> > {
> > 	/* output my character */
> > }
> >
> > void console_init( blablabla)
> > {
> >    ...
> >    /* init my output device */
> >    ...
> >    BSP_output_char = my_output_char_fnc;
> >    ...
> > }
> >
> >
> > I guess you have named your output function as
> > "BSP_output_char", but printk assumes this "label" is a
> > pointer to the function, not the fucntion code itself.
> >
> > Does this fit your problem?
> >
> > wkr,
> > 	Thomas.
> >
> > > Hello,
> > > 	I see that my first mail was formulated unclear.
> > > 	Here is the next attempt :-))
> > >
> > > 	I have RH9 running the last tools and snapshot, my own BSP derived form
> > > mbx860 via bdm.
> > > 	The printk function tries to call my BSP_output_char via vprintk. The
> > > map shows that BSP_output_char resides at 0x34330.
> > >
> > > 	Below is the assembler of the call:
> > >
> > >     0x17a14 <vprintk+1056>:	lis	r11,3	                    R11=0x30000
> > >     0x17a18 <vprintk+1060>:	lwz	r9,8(r31)
> > >     0x17a1c <vprintk+1064>:	lbz	r0,0(r9)
> > >     0x17a20 <vprintk+1068>:	clrlwi	r0,r0,24
> > >     0x17a24 <vprintk+1072>:	lwz	r11,17200(r11)       R11=0x9421ffe0 ?????
> > >     0x17a28 <vprintk+1076>:	mtctr	r11
> > >     0x17a2c <vprintk+1080>:	mr	r3,r0
> > >     0x17a30 <vprintk+1084>:	bctrl
> > >
> > > 	The address which is put into CTRL register is 0x9421ffe0. It is the
> > > content of 0x34330 (assembler commands of BSP_output_char ).
> > > 	The question is why the code tries to call THIS function indirectly,
> > > while the calling address is direct?
> > >
> > >
> > > Any help will be VERY highly appreciated...
> > >
> > > --
> > > leonp at plris dot com
> >
> > --------------------------------------------
> > IMD Ingenieurbuero fuer Microcomputertechnik
> > Thomas Doerfler           Herbststrasse 8
> > D-82178 Puchheim          Germany
> > email:    Thomas.Doerfler at imd-systems.de
> > PGP public key available at: http://www.imd-
> > systems.de/pgp_keys.htm
> 
> -- 
> Dr.Leon M.Pollak
> Director
> PLR Information Systems Ltd.
> leonp at plris dot com

--------------------------------------------
IMD Ingenieurbuero fuer Microcomputertechnik
Thomas Doerfler           Herbststrasse 8
D-82178 Puchheim          Germany
email:    Thomas.Doerfler at imd-systems.de
PGP public key available at: http://www.imd-
systems.de/pgp_keys.htm




More information about the users mailing list