Isaku Yamahata 9bcfc7daab ioapic: when switches to level trigger mode, interrupts raised repeatedly.
- the trigger mode is edge at first
- During initializatoin, the interrupt is raised as edge which is masked.
  The corresponding bit of irr is set.
- Then the mode is switched to level and it's unmasked.
- the bit of irr is set, so the interrupt is raised repeatedly by
  ioapic_service().
- OS considers that the irq line is broken and falls back to polling mode.

This patch fixes the issues.
After raising edige, clear the bit of irr.

> Bringing up interface eth0:
> Determining IP information for eth0...irq 18: nobody cared (try booting with the "irqpoll" option)
> Pid: 4126, comm: ip Not tainted 2.6.38-rc7 #1
> Call Trace:
>  <IRQ>  [<ffffffff8105b009>] ? __report_bad_irq+0x38/0x87
>  [<ffffffff8105b177>] ? note_interrupt+0x11f/0x188
>  [<ffffffff8105bacf>] ? handle_fasteoi_irq+0xa7/0xd1
>  [<ffffffff810046ff>] ? handle_irq+0x83/0x8c
>  [<ffffffff81003eb9>] ? do_IRQ+0x48/0xaf
>  [<ffffffff81300513>] ? ret_from_intr+0x0/0xe
>  [<ffffffff81031ab8>] ? __do_softirq+0x4f/0x114
>  [<ffffffff81002d6c>] ? call_softirq+0x1c/0x28
>  [<ffffffff81004647>] ? do_softirq+0x33/0x68
>  [<ffffffff810316fb>] ? irq_exit+0x36/0x38
>  [<ffffffff81015f2c>] ? smp_apic_timer_interrupt+0x88/0x96
>  [<ffffffff81002853>] ? apic_timer_interrupt+0x13/0x20
>  <EOI>  [<ffffffff810177ed>] ? __ioapic_set_affinity+0x68/0x7c
>  [<ffffffff813000f0>] ? _raw_spin_unlock_irqrestore+0x8/0xa
>  [<ffffffff8105a84f>] ? __setup_irq+0x224/0x2cb
>  [<ffffffff8120e3c5>] ? e1000_intr+0x0/0x103
>  [<ffffffff8105a9c7>] ? request_threaded_irq+0xd1/0x114
>  [<ffffffff8120e396>] ? e1000_request_irq+0x34/0x63
>  [<ffffffff8121237d>] ? e1000_open+0x81/0x11f
>  [<ffffffff8129097c>] ? call_netdevice_notifiers+0x45/0x4a
>  [<ffffffff81290d8d>] ? __dev_open+0x97/0xc4
>  [<ffffffff8128e9c5>] ? __dev_change_flags+0xb9/0x13d
>  [<ffffffff81290cc1>] ? dev_change_flags+0x1c/0x51
>  [<ffffffff812d0542>] ? devinet_ioctl+0x26e/0x594
>  [<ffffffff812d174c>] ? inet_ioctl+0x92/0xaa
>  [<ffffffff81281d75>] ? T.1003+0x13/0x32
>  [<ffffffff81282152>] ? sock_ioctl+0x1f2/0x1ff
>  [<ffffffff810ae2d3>] ? do_vfs_ioctl+0x498/0x4e7
>  [<ffffffff81281203>] ? sock_alloc_file+0xb3/0x115
>  [<ffffffff8109f79f>] ? fd_install+0x31/0x5d
>  [<ffffffff810ae364>] ? sys_ioctl+0x42/0x65
>  [<ffffffff81001f3b>] ? system_call_fastpath+0x16/0x1b
> handlers:
> [<ffffffff8120e3c5>] (e1000_intr+0x0/0x103)
> Disabling IRQ #18

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2011-04-03 21:52:57 +02:00
2011-04-03 21:42:57 +02:00
2011-04-03 21:42:57 +02:00
2011-04-01 19:07:49 -05:00
2011-04-01 19:07:49 -05:00
2010-12-09 14:23:24 +01:00
2011-03-07 15:34:17 +00:00
2011-04-03 21:42:57 +02:00
2011-03-07 13:42:37 +01:00
2011-02-24 11:25:38 -06:00
2008-12-13 09:32:43 +00:00
2009-09-12 07:36:22 +00:00
2009-09-12 07:36:22 +00:00
2009-05-13 20:54:26 +01:00
2011-03-07 13:42:36 +01:00
2011-03-07 13:42:36 +01:00
2010-04-09 18:55:56 +02:00
2011-02-07 12:51:19 +01:00
2011-02-07 12:51:19 +01:00
2011-01-10 10:55:10 +01:00
2009-03-10 21:43:35 +00:00
2010-11-01 00:54:06 +03:00
2011-02-20 18:45:09 +01:00
2010-05-19 12:45:54 -03:00
2010-05-19 12:45:54 -03:00
2010-05-19 12:45:54 -03:00
2010-05-19 12:45:54 -03:00
2011-01-20 20:58:56 +00:00
2011-02-25 20:16:26 +00:00
2010-10-20 16:15:04 -05:00
2011-04-01 19:07:48 -05:00
2011-03-22 08:39:12 -05:00
2008-10-12 17:54:42 +00:00
2011-03-15 01:19:06 -03:00
2011-03-15 01:19:06 -03:00
2011-03-16 17:11:07 -03:00
2010-05-24 15:18:23 -05:00
2009-10-01 16:12:16 -05:00
2009-10-01 16:12:16 -05:00
2011-03-07 13:42:36 +01:00
2009-09-12 07:36:22 +00:00
2011-02-10 18:17:43 +01:00
2011-03-16 17:11:07 -03:00
2011-03-07 13:42:36 +01:00
2011-01-20 20:54:21 +00:00
2010-03-29 19:24:00 +00:00
2009-12-17 18:12:04 +01:00
2010-05-22 08:02:12 +00:00
2009-10-01 16:12:16 -05:00
2011-03-06 21:01:32 +01:00
2010-11-21 09:16:57 -06:00
2010-11-21 09:16:57 -06:00
2010-05-10 11:36:03 -05:00
2010-05-10 11:36:03 -05:00
2010-06-11 15:25:14 -03:00
2009-11-17 08:49:39 -06:00
2009-11-17 08:49:39 -06:00
2008-12-14 08:50:18 +00:00
2011-04-01 19:07:48 -05:00
2010-03-21 08:28:47 +00:00
2010-05-22 08:24:49 +00:00
2010-01-08 09:58:40 -06:00
2009-09-12 07:36:22 +00:00
2010-12-09 14:23:24 +01:00
2011-03-16 17:11:07 -03:00
2010-10-30 08:02:40 +00:00
2011-02-09 10:33:54 +02:00
2011-03-07 13:42:36 +01:00
2010-05-19 12:45:54 -03:00
2009-11-17 08:49:39 -06:00
2010-07-01 14:27:13 -03:00
2010-07-01 14:27:13 -03:00
2009-10-27 12:28:59 -05:00
2011-01-24 15:41:40 +01:00
2010-09-21 18:36:42 +02:00
2011-01-31 10:03:00 +01:00
2010-05-19 12:45:54 -03:00
2011-01-09 20:59:53 +00:00
2011-03-13 14:44:22 +00:00
2011-03-21 09:23:23 +01:00
2011-03-21 09:23:23 +01:00
2011-03-22 08:39:12 -05:00
2010-05-19 12:45:54 -03:00
2009-11-17 08:49:38 -06:00
2010-05-19 12:45:54 -03:00
2010-05-19 12:45:54 -03:00
2010-10-01 10:12:43 -03:00
2010-05-19 12:45:54 -03:00
2010-05-19 12:45:54 -03:00
2010-05-19 12:45:54 -03:00
2010-05-19 12:45:54 -03:00
2010-05-19 12:45:54 -03:00
2010-09-18 05:53:14 +00:00
2008-12-14 08:50:18 +00:00
2011-01-20 20:54:21 +00:00
2011-03-21 17:41:52 -05:00
2009-09-13 19:38:43 +00:00
2011-01-24 15:41:40 +01:00
2010-03-14 22:04:50 +01:00
2008-12-04 11:29:42 +00:00
2009-10-01 16:12:16 -05:00
2011-04-03 21:42:57 +02:00
2009-03-05 23:01:23 +00:00
2011-02-02 08:39:28 +01:00
2008-09-06 16:31:30 +00:00
2011-03-29 08:14:01 -05:00

Read the documentation in qemu-doc.html.

Fabrice Bellard.
Description
Original Xbox Emulator for Windows, macOS, and Linux (Active Development)
Readme 531 MiB
Languages
C 82.5%
C++ 7%
Python 3.3%
Dylan 2.8%
Shell 1.5%
Other 2.6%