Commit 6cb7ee859a1b28aae8eab7f88908c9c9262b8a5c
1 parent
e4d165c2
Only use /dev/shm hack when kqemu is enabled.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1930 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
1 changed file
with
18 additions
and
4 deletions
osdep.c
... | ... | @@ -29,6 +29,9 @@ |
29 | 29 | #include <unistd.h> |
30 | 30 | |
31 | 31 | #include "cpu.h" |
32 | +#if defined(USE_KQEMU) | |
33 | +#include "vl.h" | |
34 | +#endif | |
32 | 35 | |
33 | 36 | #if defined(__i386__) && !defined(CONFIG_SOFTMMU) && !defined(CONFIG_USER_ONLY) |
34 | 37 | |
... | ... | @@ -321,13 +324,15 @@ void qemu_vfree(void *ptr) |
321 | 324 | VirtualFree(ptr, 0, MEM_RELEASE); |
322 | 325 | } |
323 | 326 | |
324 | -#elif defined(USE_KQEMU) | |
327 | +#else | |
328 | + | |
329 | +#if defined(USE_KQEMU) | |
325 | 330 | |
326 | 331 | #include <sys/vfs.h> |
327 | 332 | #include <sys/mman.h> |
328 | 333 | #include <fcntl.h> |
329 | 334 | |
330 | -void *qemu_vmalloc(size_t size) | |
335 | +void *kqemu_vmalloc(size_t size) | |
331 | 336 | { |
332 | 337 | static int phys_ram_fd = -1; |
333 | 338 | static int phys_ram_size = 0; |
... | ... | @@ -362,6 +367,7 @@ void *qemu_vmalloc(size_t size) |
362 | 367 | "QEMU_TMPDIR environment variable to set another directory where the QEMU\n" |
363 | 368 | "temporary RAM file will be opened.\n"); |
364 | 369 | } |
370 | + fprintf(stderr, "Or disable the accelerator module with -no-kqemu\n"); | |
365 | 371 | exit(1); |
366 | 372 | } |
367 | 373 | } |
... | ... | @@ -403,16 +409,20 @@ void *qemu_vmalloc(size_t size) |
403 | 409 | return ptr; |
404 | 410 | } |
405 | 411 | |
406 | -void qemu_vfree(void *ptr) | |
412 | +void kqemu_vfree(void *ptr) | |
407 | 413 | { |
408 | 414 | /* may be useful some day, but currently we do not need to free */ |
409 | 415 | } |
410 | 416 | |
411 | -#else | |
417 | +#endif | |
412 | 418 | |
413 | 419 | /* alloc shared memory pages */ |
414 | 420 | void *qemu_vmalloc(size_t size) |
415 | 421 | { |
422 | +#if defined(USE_KQEMU) | |
423 | + if (kqemu_allowed) | |
424 | + return kqemu_vmalloc(size); | |
425 | +#endif | |
416 | 426 | #ifdef _BSD |
417 | 427 | return valloc(size); |
418 | 428 | #else |
... | ... | @@ -422,6 +432,10 @@ void *qemu_vmalloc(size_t size) |
422 | 432 | |
423 | 433 | void qemu_vfree(void *ptr) |
424 | 434 | { |
435 | +#if defined(USE_KQEMU) | |
436 | + if (kqemu_allowed) | |
437 | + kqemu_vfree(ptr); | |
438 | +#endif | |
425 | 439 | free(ptr); |
426 | 440 | } |
427 | 441 | ... | ... |