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 <a...@ozlabs.ru>
---
  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 */


Reply via email to