Problems of compiling KGDB patched kernel for 405EP and 440EP boards

Zhou Rui vancasperz at yahoo.com.cn
Thu Aug 10 23:47:03 EST 2006


Hi,
I'm trying to enable KGDB between x86 host and PPC target (405EP and 440EP boards are used here). I'm using 2.6.15 kernel from ELDK4.0 patched with linux-2.6.15.5-kgdb-2.4.tar.bz2 and cross-compiling toolchain from ELDK4.0. I run "make menuconfig ARCH=ppc CROSS_COMPILE=ppc_4xx-" for configuration. For 405EP board, PPChameleonEVB is used in "Machine Type"; for 440EP board, Yosemite is used. After configuration, I run "make all ARCH=ppc CROSS_COMPILE=ppc_4xx-". But during compilation, similar errors will occur.

For 405EP, there are:
  LD      arch/powerpc/lib/built-in.o
  CC      arch/ppc/platforms/4xx/ppchameleon.o
arch/ppc/platforms/4xx/ppchameleon.c: In function 'platform_init':
arch/ppc/platforms/4xx/ppchameleon.c:252: error: 'struct machdep_calls' has no member named 'early_serial_map'
make[1]: *** [arch/ppc/platforms/4xx/ppchameleon.o] Error 1
make: *** [arch/ppc/platforms/4xx] Error 2
And the lines cause the errors are:
251  #ifdef CONFIG_KGDB
252          ppc_md.early_serial_map = ppchameleon_early_serial_map;
253  #endif


For 440EP, there are:
  LD      arch/powerpc/lib/built-in.o
  CC      arch/ppc/platforms/4xx/yosemite.o
arch/ppc/platforms/4xx/yosemite.c: In function 'yosemite_early_serial_map':
arch/ppc/platforms/4xx/yosemite.c:288: warning: implicit declaration of function 'gen550_init'
arch/ppc/platforms/4xx/yosemite.c: In function 'platform_init':
arch/ppc/platforms/4xx/yosemite.c:349: error: 'struct machdep_calls' has no member named 'early_serial_map'
make[1]: *** [arch/ppc/platforms/4xx/yosemite.o] Error 1
make: *** [arch/ppc/platforms/4xx] Error 2
And the lines cause the errors are:
348  #ifdef CONFIG_KGDB
349          ppc_md.early_serial_map = yosemite_early_serial_map;
350  #endif


I find that for ARCH=ppc, both ppchameleon.c and yosemite.c include the file ${2.6.15_SOURCE_DIR}/include/asm-ppc/machdep.h. There is "struct machdep_calls" but no member "early_serial_map" in it. However, in the file ${2.6.15_SOURCE_DIR}/include/asm-powerpc/machdep.h, there is "struct machdep_calls" and also member "early_serial_map" in it. If I run "make menuconfig ARCH=powerpc CROSS_COMPILE=ppc_4xx-" instead of "make menuconfig ARCH=ppc CROSS_COMPILE=ppc_4xx-", there is no PPChameleonEVB or Yosemite in "Machine Type". So I can't compile kernel for the boards I have.

Would someone like to give me any advice about this problem? Thank you very much.
  

Zhou Rui
Distributed & Embedded System Lab
School of Information Science & Engineering
Lanzhou University, P. R. China
http://dslab.lzu.edu.cn/~zr/
 __________________________________________________
赶快注册雅虎超大容量免费邮箱?
http://cn.mail.yahoo.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ozlabs.org/pipermail/linuxppc-dev/attachments/20060810/7582a317/attachment.htm>


More information about the Linuxppc-dev mailing list