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

> ---
>  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: pgpQHgJJh1WJJ.pgp
Description: OpenPGP digital signature


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux