diff options
Diffstat (limited to 'target-ppc')
-rw-r--r-- | target-ppc/kvm.c | 13 | ||||
-rw-r--r-- | target-ppc/kvm_ppc.h | 4 |
2 files changed, 5 insertions, 12 deletions
diff --git a/target-ppc/kvm.c b/target-ppc/kvm.c index 2d87108d8b..42718f77ae 100644 --- a/target-ppc/kvm.c +++ b/target-ppc/kvm.c @@ -1580,13 +1580,11 @@ int kvmppc_smt_threads(void) } #ifdef TARGET_PPC64 -off_t kvmppc_alloc_rma(const char *name, MemoryRegion *sysmem) +off_t kvmppc_alloc_rma(void **rma) { - void *rma; off_t size; int fd; struct kvm_allocate_rma ret; - MemoryRegion *rma_region; /* If cap_ppc_rma == 0, contiguous RMA allocation is not supported * if cap_ppc_rma == 1, contiguous RMA allocation is supported, but @@ -1609,17 +1607,12 @@ off_t kvmppc_alloc_rma(const char *name, MemoryRegion *sysmem) size = MIN(ret.rma_size, 256ul << 20); - rma = mmap(NULL, size, PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0); - if (rma == MAP_FAILED) { + *rma = mmap(NULL, size, PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0); + if (*rma == MAP_FAILED) { fprintf(stderr, "KVM: Error mapping RMA: %s\n", strerror(errno)); return -1; }; - rma_region = g_new(MemoryRegion, 1); - memory_region_init_ram_ptr(rma_region, NULL, name, size, rma); - vmstate_register_ram_global(rma_region); - memory_region_add_subregion(sysmem, 0, rma_region); - return size; } diff --git a/target-ppc/kvm_ppc.h b/target-ppc/kvm_ppc.h index 1118122d89..d9516e73ef 100644 --- a/target-ppc/kvm_ppc.h +++ b/target-ppc/kvm_ppc.h @@ -31,7 +31,7 @@ int kvmppc_or_tsr_bits(PowerPCCPU *cpu, uint32_t tsr_bits); int kvmppc_set_tcr(PowerPCCPU *cpu); int kvmppc_booke_watchdog_enable(PowerPCCPU *cpu); #ifndef CONFIG_USER_ONLY -off_t kvmppc_alloc_rma(const char *name, MemoryRegion *sysmem); +off_t kvmppc_alloc_rma(void **rma); bool kvmppc_spapr_use_multitce(void); void *kvmppc_create_spapr_tce(uint32_t liobn, uint32_t window_size, int *pfd, bool vfio_accel); @@ -134,7 +134,7 @@ static inline int kvmppc_booke_watchdog_enable(PowerPCCPU *cpu) } #ifndef CONFIG_USER_ONLY -static inline off_t kvmppc_alloc_rma(const char *name, MemoryRegion *sysmem) +static inline off_t kvmppc_alloc_rma(void **rma) { return 0; } |