kexec--virtual address or physical address?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



 Hello everyone?

I got some trouble in porting kexectools to powerpc 8541 ,with kernel 2.6.21.7


Detail  : In Machine_kexec_32.c ,
 function "default_machine_kexec",

the second parameter of function reboot_code,  which is
reboot_code_buffer_phys ,


causing an instruction error in arch/powerpc/misc_32.s when executing
instruction "rfi"

(Line 894)

After I changed reboot_code_buffer_phys into reboot_code_buffer(rather
than a physial address) , the code go on ,but caused

another  error of  " kernel stack overflow".

I don't how to solve this problem,any suggestion would be grateful.


here are my steps:

# kexec -l uImage --devtree=your.fdt.dtb --devtree_addr=0x800000
   Image Name:   Linux-2.6.21.7
   Image Type:   PowerPC Linux Kernel Image (gzip compressed)
   Data Size:    1190265 Bytes =    Load Address: 00000000
   Entry Point:  00000000

# kexec -e
Starting new kernel
virtual address: cfc09000
physical address: fc09000

calling function: reboot_code(page_list=0xfc08002,
reboot_code_buffer_phys=0xfc09000, image->start=0x0,image->segment

[1].mem=0x800000)

Unable to handle kernel paging request for instruction fetch
Faulting instruction address: 0x0fc09028



[Index of Archives]     [LM Sensors]     [Linux Sound]     [ALSA Users]     [ALSA Devel]     [Linux Audio Users]     [Linux Media]     [Kernel]     [Gimp]     [Yosemite News]     [Linux Media]

  Powered by Linux