Skip to content

Commit

Permalink
Revert "i8259: add -no-spurious-interrupt-hack option"
Browse files Browse the repository at this point in the history
This reverts commit f278d49.

Signed-off-by: malc <av1474@comtv.ru>
  • Loading branch information
malc committed Aug 27, 2012
1 parent b316728 commit 4f21387
Show file tree
Hide file tree
Showing 5 changed files with 5 additions and 44 deletions.
14 changes: 5 additions & 9 deletions cpu-exec.c
Expand Up @@ -329,15 +329,11 @@ int cpu_exec(CPUArchState *env)
0);
env->interrupt_request &= ~(CPU_INTERRUPT_HARD | CPU_INTERRUPT_VIRQ);
intno = cpu_get_pic_interrupt(env);
if (intno >= 0) {
qemu_log_mask(CPU_LOG_TB_IN_ASM,
"Servicing hardware INT=0x%02x\n",
intno);
do_interrupt_x86_hardirq(env, intno, 1);
/* ensure that no TB jump will be modified as
the program flow was changed */
next_tb = 0;
}
qemu_log_mask(CPU_LOG_TB_IN_ASM, "Servicing hardware INT=0x%02x\n", intno);
do_interrupt_x86_hardirq(env, intno, 1);
/* ensure that no TB jump will be modified as
the program flow was changed */
next_tb = 0;
#if !defined(CONFIG_USER_ONLY)
} else if ((interrupt_request & CPU_INTERRUPT_VIRQ) &&
(env->eflags & IF_MASK) &&
Expand Down
18 changes: 0 additions & 18 deletions hw/i8259.c
Expand Up @@ -26,7 +26,6 @@
#include "isa.h"
#include "monitor.h"
#include "qemu-timer.h"
#include "sysemu.h"
#include "i8259_internal.h"

/* debug PIC */
Expand Down Expand Up @@ -194,20 +193,6 @@ int pic_read_irq(DeviceState *d)
pic_intack(slave_pic, irq2);
} else {
/* spurious IRQ on slave controller */
if (no_spurious_interrupt_hack) {
/* Pretend it was delivered and acknowledged. If
* it was spurious due to slave_pic->imr, then
* as soon as the mask is cleared, the slave will
* re-trigger IRQ2 on the master. If it is spurious for
* some other reason, make sure we don't keep trying
* to half-process the same spurious interrupt over
* and over again.
*/
s->irr &= ~(1<<irq);
s->last_irr &= ~(1<<irq);
s->isr &= ~(1<<irq);
return -1;
}
irq2 = 7;
}
intno = slave_pic->irq_base + irq2;
Expand All @@ -217,9 +202,6 @@ int pic_read_irq(DeviceState *d)
pic_intack(s, irq);
} else {
/* spurious IRQ on host controller */
if (no_spurious_interrupt_hack) {
return -1;
}
irq = 7;
intno = s->irq_base + irq;
}
Expand Down
12 changes: 0 additions & 12 deletions qemu-options.hx
Expand Up @@ -1189,18 +1189,6 @@ Windows 2000 is installed, you no longer need this option (this option
slows down the IDE transfers).
ETEXI

DEF("no-spurious-interrupt-hack", 0, QEMU_OPTION_no_spurious_interrupt_hack,
"-no-spurious-interrupt-hack disable delivery of spurious interrupts\n",
QEMU_ARCH_I386)
STEXI
@item -no-spurious-interrupt-hack
@findex -no-spurious-interrupt-hack
Use it as a workaround for operating systems that drive PICs in a way that
can generate spurious interrupts, but the OS doesn't handle spurious
interrupts gracefully. (e.g. late 80s/early 90s versions of ATT UNIX
and derivatives)
ETEXI

HXCOMM Deprecated by -rtc
DEF("rtc-td-hack", 0, QEMU_OPTION_rtc_td_hack, "", QEMU_ARCH_I386)

Expand Down
1 change: 0 additions & 1 deletion sysemu.h
Expand Up @@ -117,7 +117,6 @@ extern int graphic_depth;
extern DisplayType display_type;
extern const char *keyboard_layout;
extern int win2k_install_hack;
extern int no_spurious_interrupt_hack;
extern int alt_grab;
extern int ctrl_grab;
extern int usb_enabled;
Expand Down
4 changes: 0 additions & 4 deletions vl.c
Expand Up @@ -204,7 +204,6 @@ CharDriverState *serial_hds[MAX_SERIAL_PORTS];
CharDriverState *parallel_hds[MAX_PARALLEL_PORTS];
CharDriverState *virtcon_hds[MAX_VIRTIO_CONSOLES];
int win2k_install_hack = 0;
int no_spurious_interrupt_hack = 0;
int usb_enabled = 0;
int singlestep = 0;
int smp_cpus = 1;
Expand Down Expand Up @@ -3047,9 +3046,6 @@ int main(int argc, char **argv, char **envp)
case QEMU_OPTION_win2k_hack:
win2k_install_hack = 1;
break;
case QEMU_OPTION_no_spurious_interrupt_hack:
no_spurious_interrupt_hack = 1;
break;
case QEMU_OPTION_rtc_td_hack: {
static GlobalProperty slew_lost_ticks[] = {
{
Expand Down

0 comments on commit 4f21387

Please sign in to comment.