Re: [Fastboot] [PATCH]IA64 kexec/kdump patch for INIT

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

 



On Thu, 7 Sep 2006 16:48:19 +0800, Yu Luming wrote:

>> I agree. I'm also happy if kdb and kdump share the code.
>> I'll check kdb code.
>>
>> >>+		/* change region of gp to region5 */
>> >>+		asm volatile ("movl gp=__gp"::: "memory");
>> >
>> >Why?  gp is already pointing at the kernel code before we enter
>> >ia64_init_handler().
>>
>> The purpose of this code is just changing region of gp from region7 to
>> region5. For example, if gp is e000000004ace170, I want to change gp to
>> a000000104ace170, but I couldn't find good method. Is there good method
>> to change region?
>>
>Did  saved Os gp in SAL OS state  somehow get overridden before 
>ia64_set_kernel_registers prior to invocation of ia64_init_handler?
>
>I assume the following code (in ia64_set_kernel_registers ) should restore 
>correct GP value.
>
>ia64_set_kernel_registers:
>	...
>        ;;
>        ld8 r1=[temp4]          // OS GP from SAL OS state

Yes, but this gp value is physical address.
In the next line, gp is changed to virtual address.

DATA_PA_TO_VA(r1,temp1)

This macro just sets region7 bit, so gp value becomes region7 address.

Regards,
Takao Indoh


-
To unsubscribe from this list: send the line "unsubscribe linux-ia64" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel]     [Sparc Linux]     [DCCP]     [Linux ARM]     [Yosemite News]     [Linux SCSI]     [Linux x86_64]     [Linux for Ham Radio]

  Powered by Linux