Hi, I have gone through the kexec syscall implementation in kernel in the view of mpc83xx processor. Currently, I am testing for mpc83xx based card. The compile error i got was: kexec/arch/ppc/Makefile:4: kexec/arch/ppc/libfdt/Makefile.libfdt: No such file or directory make: *** No rule to make target `kexec/arch/ppc/libfdt/Makefile.libfdt'. Stop. I have commented the rule to include Makefile.libfdt in "kexec/arch/ppc/Makefile", becuase the rules to compile source files of libfdt folder are already present in the arch/ppc/Makefile. then i got following compile error: /opt/ELDK41/usr/bin/ppc_6xx-gcc -g -O2 -fno-strict-aliasing -Wall -Wstrict-prototypes -I./include -I./util_lib/include -Iinclude/ -I./kexec/arch/ppc/libfdt -I./kexec/arch/ppc/include -c -MD -o kexec/arch/ppc/kexec-ppc.o kexec/arch/ppc/kexec-ppc.c kexec/arch/ppc/kexec-ppc.c:24:31: error: crashdump-powerpc.h: No such file or directory kexec/arch/ppc/kexec-ppc.c: In function 'get_devtree_details': kexec/arch/ppc/kexec-ppc.c:389: warning: implicit declaration of function 'add_usable_mem_rgns' kexec/arch/ppc/kexec-ppc.c:390: error: 'KDUMP_BACKUP_LIMIT' undeclared (first use in this function) kexec/arch/ppc/kexec-ppc.c:390: error: (Each undeclared identifier is reported only once kexec/arch/ppc/kexec-ppc.c:390: error: for each function it appears in.) Below is the full dump of configure and make commands. ================================================================== [krishna at Amru kexec-tools-2.0.2-rc1]$ ./configure --prefix=/home/krishna/work/KEXEC/kexec-tools-2.0.2-rc1/ CC=/opt/ELDK41/usr/bin/ppc_6xx-gcc LD=/opt/ELDK41/usr/bin/ppc_6xx-ld BUILD_CC=/usr/bin/gcc --target=ppc --host=i686 TARGET_CC=/opt/ELDK41/usr/bin/ppc_6xx-gcc configure: WARNING: If you wanted to set the --build type, don't use --host. If a cross compiler is detected then cross compile mode will be used. checking build system type... i686-pc-linux-gnu checking host system type... i686-pc-none checking target system type... powerpc-unknown-none checking for i686-gcc... /opt/ELDK41/usr/bin/ppc_6xx-gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... yes checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether /opt/ELDK41/usr/bin/ppc_6xx-gcc accepts -g... yes checking for /opt/ELDK41/usr/bin/ppc_6xx-gcc option to accept ISO C89... none needed checking for -gcc... /usr/bin/gcc checking how to run the C preprocessor... /opt/ELDK41/usr/bin/ppc_6xx-gcc -E checking for i686-ld... /opt/ELDK41/usr/bin/ppc_6xx-ld checking for i686-as... no checking for as... as configure: WARNING: using cross tools not prefixed with host triplet checking for i686-objcopy... no checking for objcopy... objcopy checking for i686-ar... no checking for ar... ar checking for ppc-gcc... /opt/ELDK41/usr/bin/ppc_6xx-gcc checking for ppc-ld... no checking for powerpc-unknown-none-ld... no checking for ld... ld checking whether /opt/ELDK41/usr/bin/ppc_6xx-gcc accepts -fno-zero-initialized-in-bss... Yes checking for a BSD-compatible install... /usr/bin/install -c checking for mkdir... mkdir checking for rm... rm checking for cp... cp checking for ln... ln checking for tar... tar checking for rpmbuild... rpmbuild checking for sed... sed checking for find... find checking for xargs... xargs checking for dirname... dirname checking for grep that handles long lines and -e... /bin/grep checking for egrep... /bin/grep -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking zlib.h usability... yes checking zlib.h presence... yes checking for zlib.h... yes checking for inflateInit_ in -lz... yes checking lzma.h usability... no checking lzma.h presence... no checking for lzma.h... no checking xenctrl.h usability... no checking xenctrl.h presence... no checking for xenctrl.h... no configure: creating ./config.status config.status: creating Makefile config.status: creating include/config.h output of "make" command -------------------------------------------------------- /opt/ELDK41/usr/bin/ppc_6xx-gcc -g -O2 -fno-strict-aliasing -Wall -Wstrict-prototypes -I./include -I./util_lib/include -Iinclude/ -I./kexec/arch/ppc/libfdt -I./kexec/arch/ppc/include -c -MD -o kexec/kexec.o kexec/kexec.c /opt/ELDK41/usr/bin/ppc_6xx-gcc -g -O2 -fno-strict-aliasing -Wall -Wstrict-prototypes -I./include -I./util_lib/include -Iinclude/ -I./kexec/arch/ppc/libfdt -I./kexec/arch/ppc/include -c -MD -o kexec/ifdown.o kexec/ifdown.c /opt/ELDK41/usr/bin/ppc_6xx-gcc -g -O2 -fno-strict-aliasing -Wall -Wstrict-prototypes -I./include -I./util_lib/include -Iinclude/ -I./kexec/arch/ppc/libfdt -I./kexec/arch/ppc/include -c -MD -o kexec/kexec-elf.o kexec/kexec-elf.c /opt/ELDK41/usr/bin/ppc_6xx-gcc -g -O2 -fno-strict-aliasing -Wall -Wstrict-prototypes -I./include -I./util_lib/include -Iinclude/ -I./kexec/arch/ppc/libfdt -I./kexec/arch/ppc/include -c -MD -o kexec/kexec-elf-exec.o kexec/kexec-elf-exec.c /opt/ELDK41/usr/bin/ppc_6xx-gcc -g -O2 -fno-strict-aliasing -Wall -Wstrict-prototypes -I./include -I./util_lib/include -Iinclude/ -I./kexec/arch/ppc/libfdt -I./kexec/arch/ppc/include -c -MD -o kexec/kexec-elf-core.o kexec/kexec-elf-core.c /opt/ELDK41/usr/bin/ppc_6xx-gcc -g -O2 -fno-strict-aliasing -Wall -Wstrict-prototypes -I./include -I./util_lib/include -Iinclude/ -I./kexec/arch/ppc/libfdt -I./kexec/arch/ppc/include -c -MD -o kexec/kexec-elf-rel.o kexec/kexec-elf-rel.c /opt/ELDK41/usr/bin/ppc_6xx-gcc -g -O2 -fno-strict-aliasing -Wall -Wstrict-prototypes -I./include -I./util_lib/include -Iinclude/ -I./kexec/arch/ppc/libfdt -I./kexec/arch/ppc/include -c -MD -o kexec/kexec-elf-boot.o kexec/kexec-elf-boot.c /opt/ELDK41/usr/bin/ppc_6xx-gcc -g -O2 -fno-strict-aliasing -Wall -Wstrict-prototypes -I./include -I./util_lib/include -Iinclude/ -I./kexec/arch/ppc/libfdt -I./kexec/arch/ppc/include -c -MD -o kexec/kexec-iomem.o kexec/kexec-iomem.c /opt/ELDK41/usr/bin/ppc_6xx-gcc -g -O2 -fno-strict-aliasing -Wall -Wstrict-prototypes -I./include -I./util_lib/include -Iinclude/ -I./kexec/arch/ppc/libfdt -I./kexec/arch/ppc/include -c -MD -o kexec/firmware_memmap.o kexec/firmware_memmap.c /opt/ELDK41/usr/bin/ppc_6xx-gcc -g -O2 -fno-strict-aliasing -Wall -Wstrict-prototypes -I./include -I./util_lib/include -Iinclude/ -I./kexec/arch/ppc/libfdt -I./kexec/arch/ppc/include -c -MD -o kexec/crashdump.o kexec/crashdump.c /opt/ELDK41/usr/bin/ppc_6xx-gcc -g -O2 -fno-strict-aliasing -Wall -Wstrict-prototypes -I./include -I./util_lib/include -Iinclude/ -I./kexec/arch/ppc/libfdt -I./kexec/arch/ppc/include -c -MD -o kexec/crashdump-xen.o kexec/crashdump-xen.c /opt/ELDK41/usr/bin/ppc_6xx-gcc -g -O2 -fno-strict-aliasing -Wall -Wstrict-prototypes -I./include -I./util_lib/include -Iinclude/ -I./kexec/arch/ppc/libfdt -I./kexec/arch/ppc/include -c -MD -o kexec/phys_arch.o kexec/phys_arch.c /opt/ELDK41/usr/bin/ppc_6xx-gcc -g -O2 -fno-strict-aliasing -Wall -Wstrict-prototypes -I./include -I./util_lib/include -Iinclude/ -I./kexec/arch/ppc/libfdt -I./kexec/arch/ppc/include -c -MD -o kexec/lzma.o kexec/lzma.c /opt/ELDK41/usr/bin/ppc_6xx-gcc -g -O2 -fno-strict-aliasing -Wall -Wstrict-prototypes -I./include -I./util_lib/include -Iinclude/ -I./kexec/arch/ppc/libfdt -I./kexec/arch/ppc/include -c -MD -o kexec/zlib.o kexec/zlib.c /opt/ELDK41/usr/bin/ppc_6xx-gcc -g -O2 -fno-strict-aliasing -Wall -Wstrict-prototypes -I./include -I./util_lib/include -Iinclude/ -I./kexec/arch/ppc/libfdt -I./kexec/arch/ppc/include -c -MD -o kexec/proc_iomem.o kexec/proc_iomem.c /opt/ELDK41/usr/bin/ppc_6xx-gcc -g -O2 -fno-strict-aliasing -Wall -Wstrict-prototypes -I./include -I./util_lib/include -Iinclude/ -I./kexec/arch/ppc/libfdt -I./kexec/arch/ppc/include -c -MD -o kexec/virt_to_phys.o kexec/virt_to_phys.c /opt/ELDK41/usr/bin/ppc_6xx-gcc -g -O2 -fno-strict-aliasing -Wall -Wstrict-prototypes -I./include -I./util_lib/include -Iinclude/ -I./kexec/arch/ppc/libfdt -I./kexec/arch/ppc/include -c -MD -o kexec/phys_to_virt.o kexec/phys_to_virt.c /opt/ELDK41/usr/bin/ppc_6xx-gcc -g -O2 -fno-strict-aliasing -Wall -Wstrict-prototypes -I./include -I./util_lib/include -Iinclude/ -I./kexec/arch/ppc/libfdt -I./kexec/arch/ppc/include -c -MD -o kexec/add_segment.o kexec/add_segment.c /opt/ELDK41/usr/bin/ppc_6xx-gcc -g -O2 -fno-strict-aliasing -Wall -Wstrict-prototypes -I./include -I./util_lib/include -Iinclude/ -I./kexec/arch/ppc/libfdt -I./kexec/arch/ppc/include -c -MD -o kexec/add_buffer.o kexec/add_buffer.c /opt/ELDK41/usr/bin/ppc_6xx-gcc -g -O2 -fno-strict-aliasing -Wall -Wstrict-prototypes -I./include -I./util_lib/include -Iinclude/ -I./kexec/arch/ppc/libfdt -I./kexec/arch/ppc/include -c -MD -o kexec/arch_reuse_initrd.o kexec/arch_reuse_initrd.c /opt/ELDK41/usr/bin/ppc_6xx-gcc -g -O2 -fno-strict-aliasing -Wall -Wstrict-prototypes -I./include -I./util_lib/include -Iinclude/ -I./kexec/arch/ppc/libfdt -I./kexec/arch/ppc/include -c -MD -o kexec/arch_init.o kexec/arch_init.c /opt/ELDK41/usr/bin/ppc_6xx-gcc -g -O2 -fno-strict-aliasing -Wall -Wstrict-prototypes -I./include -I./util_lib/include -Iinclude/ -I./kexec/arch/ppc/libfdt -I./kexec/arch/ppc/include -c -MD -o kexec/arch/ppc/kexec-ppc.o kexec/arch/ppc/kexec-ppc.c kexec/arch/ppc/kexec-ppc.c:24:31: error: crashdump-powerpc.h: No such file or directory kexec/arch/ppc/kexec-ppc.c: In function 'get_devtree_details': kexec/arch/ppc/kexec-ppc.c:389: warning: implicit declaration of function 'add_usable_mem_rgns' kexec/arch/ppc/kexec-ppc.c:390: error: 'KDUMP_BACKUP_LIMIT' undeclared (first use in this function) kexec/arch/ppc/kexec-ppc.c:390: error: (Each undeclared identifier is reported only once kexec/arch/ppc/kexec-ppc.c:390: error: for each function it appears in.) make: *** [kexec/arch/ppc/kexec-ppc.o] Error 1 ============================================================== On Sat, Jul 10, 2010 at 12:53 PM, Matthew McClintock <msm at freescale.com>wrote: > On Sat, 2010-07-10 at 15:37 +0900, Simon Horman wrote: > > On Sat, Jul 10, 2010 at 10:14:25AM +0530, krish wrote: > > > Hi, > > > > > > I am using linux-2.6.34.1 version for both mpc83xx and mpc85xx > processors. > > > This version of kernel supports kexec for both 83xx and 85xx > processors. > > > I have been using ELDK toolchain for PowerPC processors. > > > I am using u-boot as boot loader and uImage & dtb images as Linux > images. > > > > > > I have downloaded 2.0.2-rc1 package and tried to compile for mpc83xx. > > > I have used following command to configure kexec-tools for ppc. > > > ./configure --prefix=/home/krishna/work/kexec-tools-6dd624d/ > > > CC=/opt/ELDK41/usr/bin/ppc_6xx-gcc LD=/opt/ELDK41/usr/bin/ppc_6xx-ld > > > BUILD_CC=/usr/bin/gcc --target=ppc --host=i686 > > > CC=/opt/ELDK41/usr/bin/ppc_6xx-gcc > > > TARGET_CC=/opt/ELDK41/usr/bin/ppc_6xx-gcc; > > > > > > The compilation was broken for PPC. > > > > Could you provide the compile errors that you are seeing? > > > > Also, how do you know your kernel supports kexec? > > -Matthew > > > -- Regards, Radha Krishna "Yesterday is history, Tomorrow is mystery, Today is gift" -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.infradead.org/pipermail/kexec/attachments/20100710/86f15241/attachment-0001.html>