From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:55655) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WVhYc-0003aO-5m for qemu-devel@nongnu.org; Thu, 03 Apr 2014 09:19:56 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WVhYV-00043o-Ol for qemu-devel@nongnu.org; Thu, 03 Apr 2014 09:19:49 -0400 Message-ID: <533D5FED.4000905@suse.com> Date: Thu, 03 Apr 2014 15:19:41 +0200 From: Alexander Graf MIME-Version: 1.0 References: <1396530891-6352-1-git-send-email-aik@ozlabs.ru> <1396530891-6352-3-git-send-email-aik@ozlabs.ru> In-Reply-To: <1396530891-6352-3-git-send-email-aik@ozlabs.ru> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 2/4] spapr: Enable DABRX special register List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Alexey Kardashevskiy , qemu-devel@nongnu.org Cc: qemu-ppc@nongnu.org, Alexander Graf On 03.04.14 15:14, Alexey Kardashevskiy wrote: > This advertises Data Address Breakpoint Register Extension (DABRX) to > the guest via hyperrtas list and enables it to migrate. Do all CPUs we support (970 anyone) have DABRX support? Also who handles this hcall in the TCG case? What about older host kernels that don't support xdabr yet? What about PR KVM? Alex > > Signed-off-by: Alexey Kardashevskiy > --- > hw/ppc/spapr.c | 1 + > target-ppc/translate_init.c | 4 ++++ > 2 files changed, 5 insertions(+) > > diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c > index a11e121..451c473 100644 > --- a/hw/ppc/spapr.c > +++ b/hw/ppc/spapr.c > @@ -307,6 +307,7 @@ static void *spapr_create_fdt_skel(hwaddr initrd_base, > uint32_t start_prop = cpu_to_be32(initrd_base); > uint32_t end_prop = cpu_to_be32(initrd_base + initrd_size); > char hypertas_prop[] = "hcall-pft\0hcall-term\0hcall-dabr\0hcall-interrupt" > + "\0hcall-xdabr" > "\0hcall-tce\0hcall-vio\0hcall-splpar\0hcall-bulk\0hcall-set-mode"; > char qemu_hypertas_prop[] = "hcall-memop1"; > uint32_t refpoints[] = {cpu_to_be32(0x4), cpu_to_be32(0x4)}; > diff --git a/target-ppc/translate_init.c b/target-ppc/translate_init.c > index d07e186..1627bb0 100644 > --- a/target-ppc/translate_init.c > +++ b/target-ppc/translate_init.c > @@ -7010,6 +7010,10 @@ static void init_proc_POWER7 (CPUPPCState *env) > SPR_NOACCESS, SPR_NOACCESS, > &spr_read_generic, &spr_write_generic, > KVM_REG_PPC_PMC6, 0x00000000); > + spr_register_kvm(env, SPR_DABRX, "DABRX", > + SPR_NOACCESS, SPR_NOACCESS, > + SPR_NOACCESS, SPR_NOACCESS, > + KVM_REG_PPC_DABRX, 0x00000000); > #endif /* !CONFIG_USER_ONLY */ > gen_spr_amr(env); > /* XXX : not implemented */