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" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html