This advertises Data Address Breakpoint Register Extension (DABRX) to the guest via hyperrtas list and enables it to migrate.
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 */ -- 1.8.4.rc4