From: Laurent Vivier <lvivier@redhat.com>
To: David Gibson <dgibson@redhat.com>
Cc: kvm@vger.kernel.org, kvm-ppc@vger.kernel.org, drjones@redhat.com,
thuth@redhat.com, pbonzini@redhat.com
Subject: Re: [kvm-unit-tests PATCH 1/2] powerpc: use well known kernel start address
Date: Wed, 20 Apr 2016 05:48:49 +0000 [thread overview]
Message-ID: <57171841.90002@redhat.com> (raw)
In-Reply-To: <20160420120123.11621b70@voom.fritz.box>
On 20/04/2016 04:01, David Gibson wrote:
> On Tue, 19 Apr 2016 19:26:27 +0200
> Laurent Vivier <lvivier@redhat.com> 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@redhat.com>
>
> 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
>>
>
>
next prev parent reply other threads:[~2016-04-20 5:48 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-04-19 17:26 [kvm-unit-tests PATCH 0/2] Fix TOC value in exception handler Laurent Vivier
2016-04-19 17:26 ` [kvm-unit-tests PATCH 1/2] powerpc: use well known kernel start address Laurent Vivier
2016-04-20 2:01 ` David Gibson
2016-04-20 5:48 ` Laurent Vivier [this message]
2016-04-20 5:55 ` David Gibson
2016-04-20 10:15 ` Thomas Huth
2016-04-19 17:26 ` [kvm-unit-tests PATCH 2/2] powerpc: restore TOC pointer Laurent Vivier
2016-04-20 5:59 ` David Gibson
2016-04-20 10:28 ` Thomas Huth
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=57171841.90002@redhat.com \
--to=lvivier@redhat.com \
--cc=dgibson@redhat.com \
--cc=drjones@redhat.com \
--cc=kvm-ppc@vger.kernel.org \
--cc=kvm@vger.kernel.org \
--cc=pbonzini@redhat.com \
--cc=thuth@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox