Commit 575ddeb4 authored by Stefan Weil's avatar Stefan Weil Committed by Anthony Liguori
Browse files

exec: Fix prototype of phys_mem_set_alloc and related functions



phys_mem_alloc and its assigned values qemu_anon_ram_alloc and
legacy_s390_alloc must have identical argument lists.

legacy_s390_alloc uses the size parameter to call mmap, so size_t is
good enough for all of them.

This patch fixes compiler errors on i686 Linux hosts:

  CC    alpha-softmmu/exec.o
exec.c:752:51: error:
 initialization from incompatible pointer type [-Werror]
exec.c: In function 'qemu_ram_alloc_from_ptr':
exec.c:1139:32: error:
 comparison of distinct pointer types lacks a cast [-Werror]
exec.c: In function 'qemu_ram_remap':
exec.c:1283:21: error:
 comparison of distinct pointer types lacks a cast [-Werror]

Signed-off-by: default avatarStefan Weil <sw@weilnetz.de>
Reviewed-by: default avatarMarkus Armbruster <armbru@redhat.com>
Message-id: 1380481005-32399-1-git-send-email-sw@weilnetz.de
Signed-off-by: default avatarAnthony Liguori <aliguori@amazon.com>
parent 1cdae457
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -717,14 +717,14 @@ static int subpage_register (subpage_t *mmio, uint32_t start, uint32_t end,
                             uint16_t section);
static subpage_t *subpage_init(AddressSpace *as, hwaddr base);

static void *(*phys_mem_alloc)(ram_addr_t size) = qemu_anon_ram_alloc;
static void *(*phys_mem_alloc)(size_t size) = qemu_anon_ram_alloc;

/*
 * Set a custom physical guest memory alloator.
 * Accelerators with unusual needs may need this.  Hopefully, we can
 * get rid of it eventually.
 */
void phys_mem_set_alloc(void *(*alloc)(ram_addr_t))
void phys_mem_set_alloc(void *(*alloc)(size_t))
{
    phys_mem_alloc = alloc;
}
+1 −1
Original line number Diff line number Diff line
@@ -322,7 +322,7 @@ extern uintptr_t tci_tb_ptr;

#if !defined(CONFIG_USER_ONLY)

void phys_mem_set_alloc(void *(*alloc)(ram_addr_t));
void phys_mem_set_alloc(void *(*alloc)(size_t));

struct MemoryRegion *iotlb_to_region(hwaddr index);
bool io_mem_read(struct MemoryRegion *mr, hwaddr addr,
+2 −2
Original line number Diff line number Diff line
@@ -93,7 +93,7 @@ const KVMCapabilityInfo kvm_arch_required_capabilities[] = {

static int cap_sync_regs;

static void *legacy_s390_alloc(ram_addr_t size);
static void *legacy_s390_alloc(size_t size);

int kvm_arch_init(KVMState *s)
{
@@ -325,7 +325,7 @@ int kvm_s390_get_registers_partial(CPUState *cs)
 * to grow. We also have to use MAP parameters that avoid
 * read-only mapping of guest pages.
 */
static void *legacy_s390_alloc(ram_addr_t size)
static void *legacy_s390_alloc(size_t size)
{
    void *mem;