From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Gibson Date: Wed, 20 Apr 2016 05:55:52 +0000 Subject: Re: [kvm-unit-tests PATCH 1/2] powerpc: use well known kernel start address Message-Id: <20160420155552.5a100335@voom.fritz.box> MIME-Version: 1 Content-Type: multipart/mixed; boundary="Sig_/FAa8p=7Ot4MQ6Rd0X1xrzYK" List-Id: References: <1461086788-3102-1-git-send-email-lvivier@redhat.com> <1461086788-3102-2-git-send-email-lvivier@redhat.com> <20160420120123.11621b70@voom.fritz.box> <57171841.90002@redhat.com> In-Reply-To: <57171841.90002@redhat.com> To: Laurent Vivier Cc: kvm@vger.kernel.org, kvm-ppc@vger.kernel.org, drjones@redhat.com, thuth@redhat.com, pbonzini@redhat.com --Sig_/FAa8p=7Ot4MQ6Rd0X1xrzYK Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable On Wed, 20 Apr 2016 07:48:49 +0200 Laurent Vivier wrote: > On 20/04/2016 04:01, David Gibson wrote: > > On Tue, 19 Apr 2016 19:26:27 +0200 > > Laurent Vivier wrote: > > =20 > >> 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 =20 > >=20 > > 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. > >=20 > > It might be ok given that we're just talking about the test shim here, > > though. =20 >=20 > 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 >=20 > Laurent >=20 > >> --- > >> 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 > >> #include > >> =20 > >> +#include "spapr.h" > >> + > >> .section .init > >> =20 > >> /* > >> @@ -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_ */ > >> --=20 > >> 2.5.5 > >> =20 > >=20 > > =20 --=20 David Gibson Senior Software Engineer, Virtualization, Red Hat --Sig_/FAa8p=7Ot4MQ6Rd0X1xrzYK Content-Type: application/pgp-signature Content-Description: OpenPGP digital signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIcBAEBCAAGBQJXFxnoAAoJEGw4ysog2bOS3YEQANttKBk1UUitH+NepCZLpf4W cKIr+Y/hED2geHDLO/QYSh+23ZxXXfPy21vLHsYRJkQd8sR9CyFnQu1qCT7mwzVe NhbIh9q4pOpdQ4jNuCOKDrdGkz7FPcKqsSFfWDPLQxrrHYjmuD5o/tQD+y/pj+XY IzJrKNjbNeLzdgGS/4GkCu/NX1H+eUDWOt9xcm/07WPeC2J0Aui+hq2we5u1ppia vt62rXlztjhiVlTCDEz7ptNUqVpSsIjgowrswEu7MMDh8ABk5Chdu6QgqY5QVJxG XHw+NURWzJFUORn+Ip3RDdrmjadcju16M50FDKrLz4WyyQGZrjS76fWjRsQt/da7 W2El/6pPWcZLHku30StxakuvJJ0+ZwJ/PBcAy2F+NDKGCfhXAXrNOf3tPrjuy9Sn 9mScN7BTLnG+OPD9au99IjR6OjB57jQRPuN0YeOX7IUbTWERVBTfOyO0ZfYYjzqC YCXlk7Ttmtj5hQtTy6k5hfmCA6f1AfrwYF33qUUa6NMy3d7wZMejZE2h2lY05yQ8 g+TXRQxKDJ+NFJU9uhyHumOJ8hum1j/QW5nB2AjL+WkXOnsDzr9vvgkX8IH2+D4/ 5l1zKmPdWGf1D3hwV6w6PxeKfmCRnHQMEaIzd5cpnXbu9pp5fGHr7SSShxSMqk2U PNv1Cki69zHaFomK5bf7 =P6tC -----END PGP SIGNATURE----- --Sig_/FAa8p=7Ot4MQ6Rd0X1xrzYK-- From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Gibson Subject: Re: [kvm-unit-tests PATCH 1/2] powerpc: use well known kernel start address Date: Wed, 20 Apr 2016 15:55:52 +1000 Message-ID: <20160420155552.5a100335@voom.fritz.box> References: <1461086788-3102-1-git-send-email-lvivier@redhat.com> <1461086788-3102-2-git-send-email-lvivier@redhat.com> <20160420120123.11621b70@voom.fritz.box> <57171841.90002@redhat.com> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; boundary="Sig_/FAa8p=7Ot4MQ6Rd0X1xrzYK"; protocol="application/pgp-signature" Cc: kvm@vger.kernel.org, kvm-ppc@vger.kernel.org, drjones@redhat.com, thuth@redhat.com, pbonzini@redhat.com To: Laurent Vivier Return-path: Received: from mx1.redhat.com ([209.132.183.28]:40876 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751791AbcDTFyj (ORCPT ); Wed, 20 Apr 2016 01:54:39 -0400 In-Reply-To: <57171841.90002@redhat.com> Sender: kvm-owner@vger.kernel.org List-ID: --Sig_/FAa8p=7Ot4MQ6Rd0X1xrzYK Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable On Wed, 20 Apr 2016 07:48:49 +0200 Laurent Vivier wrote: > On 20/04/2016 04:01, David Gibson wrote: > > On Tue, 19 Apr 2016 19:26:27 +0200 > > Laurent Vivier wrote: > > =20 > >> 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 =20 > >=20 > > 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. > >=20 > > It might be ok given that we're just talking about the test shim here, > > though. =20 >=20 > 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 >=20 > Laurent >=20 > >> --- > >> 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 > >> #include > >> =20 > >> +#include "spapr.h" > >> + > >> .section .init > >> =20 > >> /* > >> @@ -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_ */ > >> --=20 > >> 2.5.5 > >> =20 > >=20 > > =20 --=20 David Gibson Senior Software Engineer, Virtualization, Red Hat --Sig_/FAa8p=7Ot4MQ6Rd0X1xrzYK Content-Type: application/pgp-signature Content-Description: OpenPGP digital signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIcBAEBCAAGBQJXFxnoAAoJEGw4ysog2bOS3YEQANttKBk1UUitH+NepCZLpf4W cKIr+Y/hED2geHDLO/QYSh+23ZxXXfPy21vLHsYRJkQd8sR9CyFnQu1qCT7mwzVe NhbIh9q4pOpdQ4jNuCOKDrdGkz7FPcKqsSFfWDPLQxrrHYjmuD5o/tQD+y/pj+XY IzJrKNjbNeLzdgGS/4GkCu/NX1H+eUDWOt9xcm/07WPeC2J0Aui+hq2we5u1ppia vt62rXlztjhiVlTCDEz7ptNUqVpSsIjgowrswEu7MMDh8ABk5Chdu6QgqY5QVJxG XHw+NURWzJFUORn+Ip3RDdrmjadcju16M50FDKrLz4WyyQGZrjS76fWjRsQt/da7 W2El/6pPWcZLHku30StxakuvJJ0+ZwJ/PBcAy2F+NDKGCfhXAXrNOf3tPrjuy9Sn 9mScN7BTLnG+OPD9au99IjR6OjB57jQRPuN0YeOX7IUbTWERVBTfOyO0ZfYYjzqC YCXlk7Ttmtj5hQtTy6k5hfmCA6f1AfrwYF33qUUa6NMy3d7wZMejZE2h2lY05yQ8 g+TXRQxKDJ+NFJU9uhyHumOJ8hum1j/QW5nB2AjL+WkXOnsDzr9vvgkX8IH2+D4/ 5l1zKmPdWGf1D3hwV6w6PxeKfmCRnHQMEaIzd5cpnXbu9pp5fGHr7SSShxSMqk2U PNv1Cki69zHaFomK5bf7 =P6tC -----END PGP SIGNATURE----- --Sig_/FAa8p=7Ot4MQ6Rd0X1xrzYK--