When running qemu-system on Darwin, the vcpu processes guest code, but I don't get to see anything on the cocoa screen.
When running a guest with -nographic, time stands still for the guest: [ 0.000000] Detected 2659.508 MHz processor. [ 0.000756] Calibrating delay loop (skipped), value calculated using timer frequency.. 5319.01 BogoMIPS (lpj=2659508) [ 0.000999] pid_max: default: 32768 minimum: 301 [ 0.000999] Security Framework initialized [ 0.000999] AppArmor: AppArmor initialized [...] [ 0.000999] Kernel panic - not syncing: IO-APIC + timer doesn't work! Boot with apic=debug and send a report. Then try booting with the 'noapic' option. [ 0.000999] [...] [ 0.000999] [<ffffffff81b3ec92>] kernel_init+0x8f/0x206 [ 0.000999] [<ffffffff81003d74>] kernel_thread_helper+0x4/0x10 This patch makes qemu-system work again on Darwin, but is obviously just a hack. I'd really like to see some more clever people find out what exactly is going wrong to find a real solution! Reported-by: Andreas Färber <andreas.faer...@web.de> (no signed-off-by on purpose - it's an RFC!) --- cpus.c | 9 +++++++++ 1 files changed, 9 insertions(+), 0 deletions(-) diff --git a/cpus.c b/cpus.c index 1fc34b7..ef604bf 100644 --- a/cpus.c +++ b/cpus.c @@ -388,6 +388,15 @@ static int qemu_signal_init(void) int sigfd; sigset_t set; +#ifdef CONFIG_DARWIN + /* Darwin breaks for me with sigfd. I don't know why, but it just sits + there hanging. The vcpu does process things, so that one's good, but + there is no output. Doing the same as win32 works for me. */ + if (1) { + return 0; + } +#endif + #ifdef CONFIG_IOTHREAD /* SIGUSR2 used by posix-aio-compat.c */ sigemptyset(&set); -- 1.7.1