diff options
author | balrog <balrog@c046a42c-6fe2-441c-8c8c-71466251a162> | 2007-12-16 12:39:38 +0000 |
---|---|---|
committer | balrog <balrog@c046a42c-6fe2-441c-8c8c-71466251a162> | 2007-12-16 12:39:38 +0000 |
commit | 4f8eb8daebd72bdc214c63a3b2577f95bbadb27d (patch) | |
tree | 41a90df3654e448cd50db889c503404ca74d86b7 | |
parent | bd464c2eef04b322a34517cb9886b12bbc045cd1 (diff) | |
download | qemu-4f8eb8daebd72bdc214c63a3b2577f95bbadb27d.zip |
Work around a crash when timer signal occurs before main loop, original patch by 武田 俊也.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3820 c046a42c-6fe2-441c-8c8c-71466251a162
-rw-r--r-- | hw/pxa2xx_keypad.c | 2 | ||||
-rw-r--r-- | vl.c | 12 |
2 files changed, 7 insertions, 7 deletions
diff --git a/hw/pxa2xx_keypad.c b/hw/pxa2xx_keypad.c index b67b2cb845..c6c7528b63 100644 --- a/hw/pxa2xx_keypad.c +++ b/hw/pxa2xx_keypad.c @@ -332,8 +332,6 @@ struct pxa2xx_keypad_s *pxa27x_keypad_init(target_phys_addr_t base, void pxa27x_register_keypad(struct pxa2xx_keypad_s *kp, struct keymap *map, int size) { - kp->map = (struct keymap *) qemu_mallocz(sizeof(struct keymap) * size); - if(!map || size < 0x80) { fprintf(stderr, "%s - No PXA keypad map defined\n", __FUNCTION__); exit(-1); @@ -1186,13 +1186,15 @@ static void host_alarm_handler(int host_signum) #endif CPUState *env = next_cpu; - /* stop the currently executing cpu because a timer occured */ - cpu_interrupt(env, CPU_INTERRUPT_EXIT); + if (env) { + /* stop the currently executing cpu because a timer occured */ + cpu_interrupt(env, CPU_INTERRUPT_EXIT); #ifdef USE_KQEMU - if (env->kqemu_enabled) { - kqemu_cpu_interrupt(env); - } + if (env->kqemu_enabled) { + kqemu_cpu_interrupt(env); + } #endif + } event_pending = 1; } } |