Re: [PATCH v1] MIPS:KDUMP: set a right value to kexec_indirection_page variable

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

 



ping.

BR,
Wei
On 07/31/2014 07:42 PM, Wei.Yang@xxxxxxxxxxxxx wrote:
From: Yang Wei <Wei.Yang@xxxxxxxxxxxxx>

Since there is not indirection page in crash type, so the vaule of the head
field of kimage structure is not equal to the address of indirection page but
IND_DONE. so we have to set kexec_indirection_page variable to the address of
the head field of image structure.

Signed-off-by: Yang Wei <Wei.Yang@xxxxxxxxxxxxx>

           Hi Ralf,

		  Please help me take a look at this patch, I have already verified it on Cavium 6100EVB board.

		  Thanks
		  Wei
---
  arch/mips/kernel/machine_kexec.c |    9 +++++++--
  1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/arch/mips/kernel/machine_kexec.c b/arch/mips/kernel/machine_kexec.c
index 992e184..531b70d 100644
--- a/arch/mips/kernel/machine_kexec.c
+++ b/arch/mips/kernel/machine_kexec.c
@@ -71,8 +71,13 @@ machine_kexec(struct kimage *image)
  	kexec_start_address =
  		(unsigned long) phys_to_virt(image->start);
- kexec_indirection_page =
-		(unsigned long) phys_to_virt(image->head & PAGE_MASK);
+	if (image->type == KEXEC_TYPE_DEFAULT) {
+		kexec_indirection_page =
+			(unsigned long) phys_to_virt(image->head & PAGE_MASK);
+	} else {
+		kexec_indirection_page = (unsigned long)&image->head;
+	}
+	
memcpy((void*)reboot_code_buffer, relocate_new_kernel,
  	       relocate_new_kernel_size);



[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux