diff options
Diffstat (limited to 'app-emulation/kvm/files/kvm-51-qemu-ramaddr.patch')
-rw-r--r-- | app-emulation/kvm/files/kvm-51-qemu-ramaddr.patch | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/app-emulation/kvm/files/kvm-51-qemu-ramaddr.patch b/app-emulation/kvm/files/kvm-51-qemu-ramaddr.patch new file mode 100644 index 0000000..be14e5d --- /dev/null +++ b/app-emulation/kvm/files/kvm-51-qemu-ramaddr.patch @@ -0,0 +1,82 @@ +diff --git a/qemu/exec.c b/qemu/exec.c +index 788a913..c1bf8d5 100644 +--- a/qemu/exec.c ++++ b/qemu/exec.c +@@ -1986,7 +1986,7 @@ static inline void tlb_set_dirty(CPUState *env, + + static int subpage_register (subpage_t *mmio, uint32_t start, uint32_t end, + int memory); +-static void *subpage_init (target_phys_addr_t base, uint32_t *phys, ++static void *subpage_init (target_phys_addr_t base, ram_addr_t *phys, + int orig_memory); + #define CHECK_SUBPAGE(addr, start_addr, start_addr2, end_addr, end_addr2, \ + need_subpage) \ +@@ -2094,7 +2094,7 @@ ram_addr_t qemu_ram_alloc(unsigned long size) + { + ram_addr_t addr; + if ((phys_ram_alloc_offset + size) >= phys_ram_size) { +- fprintf(stderr, "Not enough memory (requested_size = %u, max memory = %d)\n", ++ fprintf(stderr, "Not enough memory (requested_size = %u, max memory = %lu)\n", + size, phys_ram_size); + abort(); + } +@@ -2430,7 +2430,7 @@ static int subpage_register (subpage_t *mmio, uint32_t start, uint32_t end, + return 0; + } + +-static void *subpage_init (target_phys_addr_t base, uint32_t *phys, ++static void *subpage_init (target_phys_addr_t base, ram_addr_t *phys, + int orig_memory) + { + subpage_t *mmio; +diff --git a/qemu/migration.c b/qemu/migration.c +index f6e2754..a8f32d2 100644 +--- a/qemu/migration.c ++++ b/qemu/migration.c +@@ -803,7 +803,7 @@ static int migrate_incoming_fd(int fd) + + size = qemu_get_be32(f); + if (size != phys_ram_size) { +- fprintf(stderr, "migration: memory size mismatch: recv %u mine %u\n", ++ fprintf(stderr, "migration: memory size mismatch: recv %u mine %lu\n", + size, phys_ram_size); + return MIG_STAT_DST_MEM_SIZE_MISMATCH; + } +@@ -1058,7 +1058,7 @@ void do_info_migration(void) + term_printf("Transfer rate %3.1f mb/s\n", + (double)s->bps / (1024 * 1024)); + term_printf("Iteration %d\n", s->iteration); +- term_printf("Transferred %d/%d pages\n", s->updated_pages, phys_ram_size >> TARGET_PAGE_BITS); ++ term_printf("Transferred %d/%lu pages\n", s->updated_pages, phys_ram_size >> TARGET_PAGE_BITS); + if (s->iteration) + term_printf("Last iteration found %d dirty pages\n", s->last_updated_pages); + } else { +diff --git a/qemu/vl.c b/qemu/vl.c +index 70d8c81..279cf0c 100644 +--- a/qemu/vl.c ++++ b/qemu/vl.c +@@ -130,10 +130,14 @@ int inet_aton(const char *cp, struct in_addr *ia); + //#define DEBUG_UNUSED_IOPORT + //#define DEBUG_IOPORT + +-#if HOST_LONG_BITS < 64 ++#if TARGET_LONG_BITS < 64 + #define PHYS_RAM_MAX_SIZE (2047 * 1024 * 1024) + #else ++#if HOST_LONG_BITS < 64 + #define PHYS_RAM_MAX_SIZE (2047 * 1024 * 1024 * 1024ULL) ++#else ++#define PHYS_RAM_MAX_SIZE (2047 * 1024 * 1024 * 1024UL) ++#endif + #endif + + #ifdef TARGET_PPC +@@ -8249,7 +8253,7 @@ int main(int argc, char **argv) + if (ram_size <= 0) + help(1); + if (ram_size > PHYS_RAM_MAX_SIZE) { +- fprintf(stderr, "qemu: at most %d MB RAM can be simulated\n", ++ fprintf(stderr, "qemu: at most " TARGET_FMT_lu " MB RAM can be simulated\n", + PHYS_RAM_MAX_SIZE / (1024 * 1024)); + exit(1); + } |