Re: [kvm-unit-tests PATCH 1/2] powerpc: use well known kernel start address

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

 




On 20/04/2016 04:01, David Gibson wrote:
> On Tue, 19 Apr 2016 19:26:27 +0200
> Laurent Vivier <lvivier@xxxxxxxxxx> wrote:
> 
>> As we know where QEMU will load the kernel, it seems an useless
>> pain to try to compute it instead of using the well known value.
>>
>> Signed-off-by: Laurent Vivier <lvivier@xxxxxxxxxx>
> 
> Hmm.. I'm a little dubious about whether it's a good idea to require
> that kernel load address to remain fixed in qemu.  I don't think it's
> something we really have an interface guarantee for.
> 
> It might be ok given that we're just talking about the test shim here,
> though.

As it is hardcoded into boot_rom.S I see no obvious reason to not
hardcode it in cstart64.S.

Laurent

>> ---
>>  powerpc/boot_rom.S | 3 ++-
>>  powerpc/cstart64.S | 6 +++---
>>  powerpc/spapr.h    | 6 ++++++
>>  3 files changed, 11 insertions(+), 4 deletions(-)
>>  create mode 100644 powerpc/spapr.h
>>
>> diff --git a/powerpc/boot_rom.S b/powerpc/boot_rom.S
>> index ae2c08d..266d61f 100644
>> --- a/powerpc/boot_rom.S
>> +++ b/powerpc/boot_rom.S
>> @@ -1,4 +1,5 @@
>> -#define SPAPR_KERNEL_LOAD_ADDR 0x400000
>> +#include "spapr.h"
>> +
>>  .text
>>  .globl start
>>  start:
>> diff --git a/powerpc/cstart64.S b/powerpc/cstart64.S
>> index ceb6397..c47b67d 100644
>> --- a/powerpc/cstart64.S
>> +++ b/powerpc/cstart64.S
>> @@ -11,6 +11,8 @@
>>  #include <asm/rtas.h>
>>  #include <asm/ptrace.h>
>>  
>> +#include "spapr.h"
>> +
>>  .section .init
>>  
>>  /*
>> @@ -25,9 +27,7 @@ start:
>>  	 * so we just linked at zero. This means the first thing to do is
>>  	 * to find our stack and toc, and then do a relocate.
>>  	 */
>> -	bl	0f
>> -0:	mflr	r31
>> -	subi	r31, r31, 0b - start    /* QEMU's kernel load address */
>> +	LOAD_REG_IMMEDIATE(r31, SPAPR_KERNEL_LOAD_ADDR)
>>  	ld	r1, (p_stack - start)(r31)
>>  	ld	r2, (p_toc - start)(r31)
>>  	add	r1, r1, r31
>> diff --git a/powerpc/spapr.h b/powerpc/spapr.h
>> new file mode 100644
>> index 0000000..b41aece
>> --- /dev/null
>> +++ b/powerpc/spapr.h
>> @@ -0,0 +1,6 @@
>> +#ifndef _ASMPOWERPC_SPAPR_H_
>> +#define _ASMPOWERPC_SPAPR_H_
>> +
>> +#define SPAPR_KERNEL_LOAD_ADDR 0x400000
>> +
>> +#endif /* _ASMPOWERPC_SPAPR_H_ */
>> -- 
>> 2.5.5
>>
> 
> 
--
To unsubscribe from this list: send the line "unsubscribe kvm-ppc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [KVM Development]     [KVM ARM]     [KVM ia64]     [Linux Virtualization]     [Linux USB Devel]     [Linux Video]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux