Revision 4556bd8b hw/pc.c
b/hw/pc.c | ||
---|---|---|
914 | 914 |
} |
915 | 915 |
} |
916 | 916 |
|
917 |
static void cpu_request_exit(void *opaque, int irq, int level) |
|
918 |
{ |
|
919 |
CPUState *env = cpu_single_env; |
|
920 |
|
|
921 |
if (env && level) { |
|
922 |
cpu_exit(env); |
|
923 |
} |
|
924 |
} |
|
925 |
|
|
917 | 926 |
void pc_basic_device_init(qemu_irq *isa_irq, |
918 | 927 |
FDCtrl **floppy_controller, |
919 | 928 |
ISADevice **rtc_state) |
... | ... | |
923 | 932 |
PITState *pit; |
924 | 933 |
qemu_irq *a20_line; |
925 | 934 |
ISADevice *i8042; |
935 |
qemu_irq *cpu_exit_irq; |
|
926 | 936 |
|
927 | 937 |
register_ioport_write(0x80, 1, 1, ioport80_write, NULL); |
928 | 938 |
|
... | ... | |
955 | 965 |
i8042_setup_a20_line(i8042, a20_line); |
956 | 966 |
vmmouse_init(i8042); |
957 | 967 |
|
958 |
DMA_init(0); |
|
968 |
cpu_exit_irq = qemu_allocate_irqs(cpu_request_exit, NULL, 1); |
|
969 |
DMA_init(0, cpu_exit_irq); |
|
959 | 970 |
|
960 | 971 |
for(i = 0; i < MAX_FD; i++) { |
961 | 972 |
fd[i] = drive_get(IF_FLOPPY, 0, i); |
Also available in: Unified diff