From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44824) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1afmaW-0002Bs-Ek for qemu-devel@nongnu.org; Tue, 15 Mar 2016 06:53:27 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1afmXm-0005EL-Af for qemu-devel@nongnu.org; Tue, 15 Mar 2016 06:52:32 -0400 References: <1457974600-13828-1-git-send-email-clg@fr.ibm.com> <1457974600-13828-4-git-send-email-clg@fr.ibm.com> <56E70DB3.8080802@redhat.com> <20160315094342.GC9032@voom> From: Thomas Huth Message-ID: <56E7E8BB.5020205@redhat.com> Date: Tue, 15 Mar 2016 11:49:31 +0100 MIME-Version: 1.0 In-Reply-To: <20160315094342.GC9032@voom> Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="HUkjRqg4OAt1BCTM810XLncuAguUgunsJ" Subject: Re: [Qemu-devel] [PATCH 03/17] ppc: Add a bunch of hypervisor SPRs to Book3s List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: David Gibson Cc: =?UTF-8?Q?C=c3=a9dric_Le_Goater?= , qemu-ppc@nongnu.org, qemu-devel@nongnu.org This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --HUkjRqg4OAt1BCTM810XLncuAguUgunsJ Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 15.03.2016 10:43, David Gibson wrote: >=20 > On Mon, Mar 14, 2016 at 08:14:59PM +0100, Thomas Huth wrote: >> On 14.03.2016 17:56, C=C3=A9dric Le Goater wrote: >>> From: Benjamin Herrenschmidt >>> >>> We don't give them a KVM reg number to most of the registers yet as n= o >>> current KVM version supports HV mode. For DAWR and DAWRX, the KVM reg= >>> number is needed since this register can be set by the guest via the >>> H_SET_MODE hypercall. >>> >>> Signed-off-by: Benjamin Herrenschmidt >>> [clg: squashed in patch 'ppc: Add KVM numbers to some P8 SPRs' and >>> changed the commit log with a proposal of Thomas Huth ] >>> Signed-off-by: C=C3=A9dric Le Goater >>> --- >>> target-ppc/translate_init.c | 140 ++++++++++++++++++++++++++++++++++= +++++++++- >>> 1 file changed, 137 insertions(+), 3 deletions(-) >>> >>> diff --git a/target-ppc/translate_init.c b/target-ppc/translate_init.= c >>> index 6a11b41206e5..43c6e524a6bc 100644 >>> --- a/target-ppc/translate_init.c >>> +++ b/target-ppc/translate_init.c >>> @@ -1105,6 +1105,11 @@ static void gen_spr_amr (CPUPPCState *env) >>> SPR_NOACCESS, SPR_NOACCESS, >>> &spr_read_generic, &spr_write_generic, >>> KVM_REG_PPC_UAMOR, 0); >>> + spr_register_hv(env, SPR_AMOR, "AMOR", >>> + SPR_NOACCESS, SPR_NOACCESS, >>> + SPR_NOACCESS, SPR_NOACCESS, >>> + &spr_read_generic, &spr_write_generic, >>> + 0); >>> #endif /* !CONFIG_USER_ONLY */ >>> } >>> #endif /* TARGET_PPC64 */ >>> @@ -7491,6 +7496,20 @@ static void gen_spr_book3s_dbg(CPUPPCState *en= v) >>> KVM_REG_PPC_DABRX, 0x00000000); >>> } >>> =20 >>> +static void gen_spr_book3s_207_dbg(CPUPPCState *env) >>> +{ >>> + spr_register_kvm_hv(env, SPR_DAWR, "DAWR", >>> + SPR_NOACCESS, SPR_NOACCESS, >>> + SPR_NOACCESS, SPR_NOACCESS, >>> + &spr_read_generic, &spr_write_generic, >>> + KVM_REG_PPC_DAWR, 0x00000000); >>> + spr_register_kvm_hv(env, SPR_DAWRX, "DAWRX", >>> + SPR_NOACCESS, SPR_NOACCESS, >>> + SPR_NOACCESS, SPR_NOACCESS, >>> + &spr_read_generic, &spr_write_generic, >>> + KVM_REG_PPC_DAWRX, 0x00000000); >>> +} >>> + >>> static void gen_spr_970_dbg(CPUPPCState *env) >>> { >>> /* Breakpoints */ >>> @@ -7683,15 +7702,116 @@ static void gen_spr_power5p_lpar(CPUPPCState= *env) >>> spr_register_kvm(env, SPR_LPCR, "LPCR", >>> SPR_NOACCESS, SPR_NOACCESS, >>> &spr_read_generic, &spr_write_generic, >>> - KVM_REG_PPC_LPCR, 0x00000000); >>> + KVM_REG_PPC_LPCR, LPCR_LPES0 | LPCR_LPES1); >> >> Could we please postpone that hunk to a later, separate patch (after >> QEMU 2.6 has been released)? It looks like it could maybe cause some >> trouble with some emulated boards (e.g. there is some code in >> target-ppc/excp_helper.c for example - which is currently disabled, bu= t >> I'm not sure whether there are other spots like this somewhere else). >=20 > I think this whole patch needs to wait until after 2.6, I'm not seeing > a good rationale for squeezing it into 2.6 at this stage. Well, this patch registers DAWR and DAWRX registers with KVM - so without this patch, the hardware breakpoints will be lost during migration. I haven't tested it, but I think that when somebody uses hardware breakpoints in gdb in a KVM guest, and migrates it, then the breakpoints won't be triggered anymore after migration without this patch= =2E C=C3=A9dric, maybe you could send a patch that adds at least the DAWR and= DAWRX registers if David does not want to have the full patch for 2.6? Thomas --HUkjRqg4OAt1BCTM810XLncuAguUgunsJ Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (GNU/Linux) iQIcBAEBAgAGBQJW5+jBAAoJEC7Z13T+cC21n7YP/i5HKmj5FvpoN0oXwsGZ5Q0S 3NDDzl9FUNNgIyoxCohK28n/HRD+0mnag0iIp9KWnBMDWscBf5RtQYz1KWsR8BWO LPoqAyfRUyyn9IbtpcIQG6zEJJ1QL4Hq/chlk9fTAlBPlko2Y4Y3t2+5SuUwhzkX l2ZPADChCk416rizNBvu6nzJAzT2Qv6GkpQbbQ3XmHRcZ6pwt0sniSiZayqpYpPS 0BxBcNKMKZv6+wthrJW+pbqpnc3t2gkLte9XYCFgwqsdVzkmPsCpN4bzpqSTTG30 flsWbOWwuUe9KMIvtjX/CPQDXgwVMztaBWewtdA4jNcZRqvcUYXnPkE8UB87J0xP p+kEKNNcjEZyoCAECX/zbdY/k42e/IbQ1mpvrqKINIC+Kc8NYsnn+YCf4HzA1e3Z 3gk+s6p2FUr5Hj3tuQnke49FDsD7BaliU00qp+oQdX/dqCimgcIQn7vpn+/TlEeD J2wQqB70kk1l3kgxcFK8n7D+ePlZRrkRVESSLaFQi10cB2aaDlL9Afn5a/erofQz hJ+aRAndDuOAbHckeYUFZGQoggEULXDCa3iiE8vTu+QqfuzO7GO9ik1l8MdlPrzZ yZVUIhiWL4nH/ZUmjFnx7mCor8xVsMfEwlKGfWH2oPiCUX5C2S1VdgVSp9NzCY9h LCUMLDpGz7TjDsFqVrpM =QEkd -----END PGP SIGNATURE----- --HUkjRqg4OAt1BCTM810XLncuAguUgunsJ--