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 Wed, 20 Apr 2016 07:48:49 +0200
Laurent Vivier <lvivier@xxxxxxxxxx> wrote:

> 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.

True enough.

Reviewed-by: David Gibson <dgibson@xxxxxxxxxx>

> 
> 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
> >>  
> > 
> >   


-- 
David Gibson <dgibson@xxxxxxxxxx>
Senior Software Engineer, Virtualization, Red Hat

Attachment: pgpHHop0iNvsa.pgp
Description: OpenPGP digital signature


[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