Am 31.07.2013 15:11, schrieb Markus Armbruster: > All I wanted to do is exit(1) instead of abort() on guest memory > allocation failure [07/08]. But that lead me into a minor #ifdef bog, > and here's what I brought back. Enjoy! > > Testing: > * Christian Borntraeger reports v1 works fine under LPAR (new S390 > KVM, i.e. generic allocation) and as second guest under z/VM (old > S390 KVM, i.e. legacy S390 allocation). Thanks for testing, and for > catching a stupid mistake. v2 differs from v1 only in code that > isn't reachable on S390. > > Changes since v2: > * Straightforward rebase, only 4/8 conflicted > Changes since v1: > * 5/8: Fix assertion in qemu_ram_remap() (Paolo) > * All other patches unchanged except for Acked-by in commit messages > Changes since RFC: > * 1-3+8/8 unchanged except for commit message tweaks > * 4+6/8 rewritten to address Paolo's review > * 5/8 rewritten: don't fix dead code, just assert it's dead > * 7/8 fix mistakes caught by Richard Henderson and Peter Maydell > > Markus Armbruster (8): > exec: Fix Xen RAM allocation with unusual options > exec: Clean up fall back when -mem-path allocation fails > exec: Reduce ifdeffery around -mem-path > exec: Simplify the guest physical memory allocation hook > exec: Drop incorrect & dead S390 code in qemu_ram_remap() > exec: Clean up unnecessary S390 ifdeffery > exec: Don't abort when we can't allocate guest memory > pc_sysfw: Fix ISA BIOS init for ridiculously big flash > > exec.c | 120 > ++++++++++++++++++++++++++---------------------- > hw/block/pc_sysfw.c | 5 +- > include/exec/cpu-all.h | 2 - > include/exec/exec-all.h | 2 + > include/sysemu/kvm.h | 5 -- > kvm-all.c | 13 ------ > target-s390x/kvm.c | 23 +++------- > util/oslib-posix.c | 4 +- > util/oslib-win32.c | 5 +- > 9 files changed, 77 insertions(+), 102 deletions(-)
Two patches from this series seem to cause compiler errors in latest QEMU ona 32 bit Ubuntu precise host: CC arm-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] There is a mismatch of function prototypes (size_t <-> ram_addr_t): void *qemu_anon_ram_alloc(size_t size); static void *(*phys_mem_alloc)(ram_addr_t size) = qemu_anon_ram_alloc; It's strange that the buildbots don't complain. Stefan