| History log of /src/sys/arch/i386/include/i82093reg.h |
| Revision | | Date | Author | Comments |
| 1.11 |
| 13-Nov-2017 |
nakayama | Don't write a 1 to the read only RIRR bit in the IOAPIC redirection register to fix "tlp0: filter setup and transmit timeout" observed on Hyper-V VMs with the Legacy Network Adapter.
From OpenBSD via PR kern/49323:
https://marc.info/?l=openbsd-cvs&m=146718035432599&w=2
| Modified files: | sys/arch/amd64/amd64: ioapic.c | sys/arch/amd64/include: i82093reg.h | | Log message: | Don't write a 1 to the RIRR bit in the IOAPIC redirection register. This bit | is R/O, and although it should not matter what value is written there, | Hyper-V's emulated IOAPIC interprets a write of 1 in some unexpected way and | subsequently blocks interrupt delivery. This primarily manifests itself as | de(4) timeouts when using Hyper-V VMs with the "Legacy Network Adapter" | interface.
Tested both amd64 and i386 on Client Hyper-V on Windows 10.
|
| 1.10 |
| 23-May-2017 |
nonaka | branches: 1.10.2; x86: Add preliminary x2APIC support.
x2APIC is used only when x2APIC is enabled in BIOS/UEFI. LAPIC ID is not supported above 256.
|
| 1.9 |
| 25-Nov-2016 |
maxv | Move the virtual address of the LAPIC page out of the data segment on amd64 and i386. The old design was error-prone, and it didn't allow us to map the data segment with large pages.
Now, the VA is allocated dynamically in the pmap bootstrap code, and entered manually later. We go from using &local_apic to using *local_apic_va, and we therefore need one more level of indirection in the asm code.
Discussed on tech-kern.
|
| 1.8 |
| 03-Jul-2008 |
drochner | branches: 1.8.40; 1.8.58; 1.8.60; 1.8.62; 1.8.64; 1.8.68; Remove "struct device" from "struct pic", where it was only real for ioapics and faked up for others. Add it to "struct ioapic_softc" for now, until device/softc get split. This required all typecasts between "struct pic" and "struct ioapic_softc" to be replaced, I hope I got them all. functionally tested on i386, compile-tested on xen, untested on amd64
|
| 1.7 |
| 08-Dec-2006 |
yamt | branches: 1.7.44; 1.7.48; 1.7.50; 1.7.52; - pass intrframe by-pointer, not by-value. - make i386 and xen use per-cpu interrupt stack.
xen part is reviewed by Manuel Bouyer.
|
| 1.6 |
| 11-May-2003 |
fvdl | branches: 1.6.18; 1.6.48; 1.6.50; The i82093 spec is unclear about it, but my assumption that the selected ioapic register would stick across a read+write appears to be invalid for some ioapics. So, select it again for the mask write.
|
| 1.5 |
| 04-May-2003 |
fvdl | Block level-triggered interrupts at the ioapic if they are deferred. Avoids interrupt storms seen on some systems. Many thanks to Stoned Elipot for testing.
|
| 1.4 |
| 26-Feb-2003 |
fvdl | Redirect some includes to x86/foo.h
|
| 1.3 |
| 22-Nov-2002 |
fvdl | New interrupt code. The basic idea behind it is to hide the differences in interrupt controllers in struct pic, and try to keep as much common code as possible. At the lowest (asm) level, this is done with CPP macros.
The main structure is now struct intrsource, describing an established interrupt line, of any kind (soft/hard local apic/legacy apic/IO apic). For quick masking, there may be a maximum of 32 sources per CPU. Sources can be assigned to any CPU in the MP case, though currently they all go to the boot CPU.
|
| 1.2 |
| 01-Oct-2002 |
fvdl | branches: 1.2.2; Merge Bill Sommerfeld's i386 MP branch. This code has some known caveats, but works quite well in a lot of MP cases, and all UP cases that I have tested. Parts of this will hopefully be reworked in the not-too-distant future.
|
| 1.1 |
| 20-Feb-2000 |
sommerfeld | branches: 1.1.2; 1.1.4; file i82093reg.h was initially added on branch sommerfeld_i386mp_1.
|
| 1.1.4.1 |
| 10-Oct-2002 |
jdolecek | sync kqueue with -current; this includes merge of gehenna-devsw branch, merge of i386 MP branch, and part of autoconf rototil work
|
| 1.1.2.2 |
| 21-Feb-2000 |
sommerfeld | RCS ID patrol
|
| 1.1.2.1 |
| 20-Feb-2000 |
sommerfeld | MP: Registers and state definitions for I/O APIC, which routes interrupts from I/O devices onto the APIC bus.
|
| 1.2.2.3 |
| 11-Dec-2002 |
thorpej | Sync with HEAD.
|
| 1.2.2.2 |
| 18-Oct-2002 |
nathanw | Catch up to -current.
|
| 1.2.2.1 |
| 01-Oct-2002 |
nathanw | file i82093reg.h was added on branch nathanw_sa on 2002-10-18 02:37:55 +0000
|
| 1.6.50.1 |
| 10-Dec-2006 |
yamt | sync with head.
|
| 1.6.48.1 |
| 12-Jan-2007 |
ad | Sync with head.
|
| 1.6.18.1 |
| 30-Dec-2006 |
yamt | sync with head.
|
| 1.7.52.1 |
| 03-Jul-2008 |
simonb | Sync with head.
|
| 1.7.50.1 |
| 18-Sep-2008 |
wrstuden | Sync with wrstuden-revivesa-base-2.
|
| 1.7.48.1 |
| 04-May-2009 |
yamt | sync with head.
|
| 1.7.44.1 |
| 28-Sep-2008 |
mjf | Sync with HEAD.
|
| 1.8.68.1 |
| 03-Jan-2018 |
snj | Pull up following revision(s) (requested by nakayama in ticket #1527): sys/arch/amd64/include/i82093reg.h: revision 1.9 sys/arch/i386/include/i82093reg.h: revision 1.11 sys/arch/x86/x86/ioapic.c: revision 1.54 Don't write a 1 to the read only RIRR bit in the IOAPIC redirection register to fix "tlp0: filter setup and transmit timeout" observed on Hyper-V VMs with the Legacy Network Adapter. From OpenBSD via PR kern/49323: https://marc.info/?l=openbsd-cvs&m=146718035432599&w=2
|
| 1.8.64.1 |
| 07-Jan-2017 |
pgoyette | Sync with HEAD. (Note that most of these changes are simply $NetBSD$ tag issues.)
|
| 1.8.62.1 |
| 03-Jan-2018 |
snj | Pull up following revision(s) (requested by nakayama in ticket #1527): sys/arch/amd64/include/i82093reg.h: revision 1.9 sys/arch/i386/include/i82093reg.h: revision 1.11 sys/arch/x86/x86/ioapic.c: revision 1.54 Don't write a 1 to the read only RIRR bit in the IOAPIC redirection register to fix "tlp0: filter setup and transmit timeout" observed on Hyper-V VMs with the Legacy Network Adapter. From OpenBSD via PR kern/49323: https://marc.info/?l=openbsd-cvs&m=146718035432599&w=2
|
| 1.8.60.2 |
| 28-Aug-2017 |
skrll | Sync with HEAD
|
| 1.8.60.1 |
| 05-Dec-2016 |
skrll | Sync with HEAD
|
| 1.8.58.1 |
| 03-Jan-2018 |
snj | Pull up following revision(s) (requested by nakayama in ticket #1527): sys/arch/amd64/include/i82093reg.h: revision 1.9 sys/arch/i386/include/i82093reg.h: revision 1.11 sys/arch/x86/x86/ioapic.c: revision 1.54 Don't write a 1 to the read only RIRR bit in the IOAPIC redirection register to fix "tlp0: filter setup and transmit timeout" observed on Hyper-V VMs with the Legacy Network Adapter. From OpenBSD via PR kern/49323: https://marc.info/?l=openbsd-cvs&m=146718035432599&w=2
|
| 1.8.40.1 |
| 03-Dec-2017 |
jdolecek | update from HEAD
|
| 1.10.2.1 |
| 21-Nov-2017 |
martin | Pull up following revision(s) (requested by nakayama in ticket #359): sys/arch/amd64/include/i82093reg.h: revision 1.9 sys/arch/x86/x86/ioapic.c: revision 1.54 sys/arch/i386/include/i82093reg.h: revision 1.11 Don't write a 1 to the read only RIRR bit in the IOAPIC redirection register to fix "tlp0: filter setup and transmit timeout" observed on Hyper-V VMs with the Legacy Network Adapter. From OpenBSD via PR kern/49323: https://marc.info/?l=openbsd-cvs&m=146718035432599&w=2 Modified files: sys/arch/amd64/amd64: ioapic.c sys/arch/amd64/include: i82093reg.h Log message: Don't write a 1 to the RIRR bit in the IOAPIC redirection register. This bit is R/O, and although it should not matter what value is written there, Hyper-V's emulated IOAPIC interprets a write of 1 in some unexpected way and subsequently blocks interrupt delivery. This primarily manifests itself as de(4) timeouts when using Hyper-V VMs with the "Legacy Network Adapter" interface. Tested both amd64 and i386 on Client Hyper-V on Windows 10.
|