History log of /src/sys/arch/x86/include/intrdefs.h |
Revision | | Date | Author | Comments |
1.26 |
| 07-Sep-2022 |
knakahara | NetBSD/x86: Raise the number of interrupt sources per CPU from 32 to 56.
There has been no objection for three years. https://mail-index.netbsd.org/port-amd64/2019/09/22/msg003012.html Implemented by nonaka@n.o, updated by me.
|
1.25 |
| 18-Mar-2021 |
nonaka | LIR_HV priority should be lower than softint.
|
1.24 |
| 25-Apr-2020 |
bouyer | branches: 1.24.2; Merge the bouyer-xenpvh branch, bringing in Xen PV drivers support under HVM guests in GENERIC. Xen support can be disabled at runtime with boot -c disable hypervisor
|
1.23 |
| 23-Nov-2019 |
ad | branches: 1.23.6; cpu_need_resched():
- Remove all code that should be MI, leaving the bare minimum under arch/. - Make the required actions very explicit. - Pass in LWP pointer for convenience. - When a trap is required on another CPU, have the IPI set it locally. - Expunge cpu_did_resched().
|
1.22 |
| 15-Feb-2019 |
nonaka | Added Microsoft Hyper-V support. It ported from OpenBSD and FreeBSD.
graphical console is not work on Gen.2 VM yet. To use the serial console, enter "consdev com,0x3f8,115200" on efiboot.
|
1.21 |
| 11-Feb-2019 |
cherry | We reorganise definitions for XEN source support as follows:
XEN - common sources required for baseline XEN support. XENPV - sources required for support of XEN in PV mode. XENPVHVM - sources required for support for XEN in HVM mode. XENPVH - sources required for support for XEN in PVH mode.
|
1.20 |
| 19-May-2014 |
rmind | branches: 1.20.20; 1.20.28; Implement MI IPI interface with cross-call support.
|
1.19 |
| 01-Dec-2013 |
christos | branches: 1.19.2; revert fpu/pcu changes until we figure out what's wrong; they cause random freezes
|
1.18 |
| 23-Oct-2013 |
drochner | Use the MI "pcu" framework for bookkeeping of npx/fpu states on x86. This reduces the amount of MD code enormously, and makes it easier to implement support for newer CPU features which require more fpu state, or for fpu usage by the kernel. For access to FPU state across CPUs, an xcall kthread is used now rather than a dedicated IPI. No user visible changes intended.
|
1.17 |
| 06-Nov-2011 |
cherry | branches: 1.17.10; [merging from cherry-xenmp] Make the xen MMU op queue locking api private. Implement per-cpu queues.
|
1.16 |
| 22-Jun-2010 |
rmind | branches: 1.16.6; 1.16.8; Implement high priority (XC_HIGHPRI) xcall(9) mechanism - a facility to execute functions from software interrupt context, at SOFTINT_CLOCK. Functions must be lightweight. Will be used for passive serialization.
OK ad@.
|
1.15 |
| 05-Oct-2009 |
rmind | branches: 1.15.2; 1.15.4; Remove X86_IPI_WRITE_MSR (and msr_ipifuncs.c), replace all uses in drivers with xc_broadcast(). AMD K8 PowerNow driver tested by <jakllsch>, thanks!
Closes PR/37665.
|
1.14 |
| 11-Nov-2008 |
ad | branches: 1.14.4; PR port-amd64/38293 panic: fp_save ipi didn't
Kill the FP flush IPI and always save. The synchronization here isn't strong and we could easily pull the chain on an innocent LWP's FP state.
Another fix to follow.
|
1.13 |
| 28-Apr-2008 |
ad | branches: 1.13.6; 1.13.8; 1.13.10; Add support for kernel preeemption to the i386 and amd64 ports. Notes:
- I have seen one isolated panic in the x86 pmap, but otherwise i386 seems stable with preemption enabled.
- amd64 is missing the FPU handling changes and it's not yet safe to enable it there.
- The usual level for kern.sched.kpreempt_pri will be 128 once enabled by default. For testing, setting it to 0 helps to shake out bugs.
|
1.12 |
| 18-Dec-2007 |
joerg | branches: 1.12.6; 1.12.8; 1.12.10; Add new IPI for saving CPU state explicitly, share high-level part of ACPI wakeup code and teach it how to start the APs again. As a side effect the CPU_START interface allows choosing between different bootstrap codes more easily now.
|
1.11 |
| 03-Dec-2007 |
ad | branches: 1.11.2; 1.11.6; Interrupt handling changes, in discussion since February:
- Reduce available SPL levels for hardware devices to none, vm, sched, high. - Acquire kernel_lock only for interrupts at IPL_VM. - Implement threaded soft interrupts.
|
1.10 |
| 17-Oct-2007 |
garbled | branches: 1.10.2; Merge the ppcoea-renovation branch to HEAD.
This branch was a major cleanup and rototill of many of the various OEA cpu based PPC ports that focused on sharing as much code as possible between the various ports to eliminate near-identical copies of files in every tree. Additionally there is a new PIC system that unifies the interface to interrupt code for all different OEA ppc arches. The work for this branch was done by a variety of people, too long to list here.
TODO: bebox still needs work to complete the transition to -renovation. ofppc still needs a bunch of work, which I will be looking at. ev64260 still needs to be renovated amigappc was not attempted.
NOTES: pmppc was removed as an arch, and moved to a evbppc target.
|
1.9 |
| 29-Aug-2007 |
ad | Merge most x86 changes from the vmlocking branch, except the threaded soft interrupt stuff. This is mostly comprised of changes to the pmap modules to work on multiprocessor systems without kernel_lock, and changes to speed up tlb shootdowns.
|
1.8 |
| 21-Mar-2007 |
xtraeme | branches: 1.8.4; 1.8.8; 1.8.12; 1.8.14; Remove the MSR read IPI handler from X86_IPI_NAMES and use the correct number in X86_NIPI.
|
1.7 |
| 21-Mar-2007 |
xtraeme | Remove the MSR read IPI handler, there won't be any driver that will use it, and we can see if the values are ok in the CPUs in the write operation.
Suggested by YAMAMOTO Takashi.
|
1.6 |
| 20-Mar-2007 |
xtraeme | MSR read and write IPI handlers for x86. A MSR will be read or written in all CPUs available in the system. This adds another member to struct cpu_info, ci_msr_rvalue; it will contain the value of the MSR in a previous operation.
Tested with clockmod in UP and SMP by me, tested with est in SMP by Daniel Carosone and Michael Van Elst.
Ok'ed by Andrew Doran and Matthew R. Green.
|
1.5 |
| 03-Nov-2005 |
yamt | branches: 1.5.26; 1.5.28; 1.5.32; 1.5.34; 1.5.36; - use sys/spl.h. - add some IPL_ definitions.
|
1.4 |
| 16-Apr-2005 |
yamt | branches: 1.4.2; make multi inclusion protection macros consistent.
|
1.3 |
| 16-Jun-2003 |
thorpej | branches: 1.3.2; 1.3.10; 1.3.16; Rename IPL_IMP -> IPL_VM.
|
1.2 |
| 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.1 |
| 26-Feb-2003 |
fvdl | Move some files out of i386 into x86, so that they can be shared with other ports.
|
1.3.16.1 |
| 21-Apr-2005 |
tron | Pull up revision 1.4 (requested by yamt in ticket #174): make multi inclusion protection macros consistent.
|
1.3.10.1 |
| 29-Apr-2005 |
kent | sync with -current
|
1.3.2.1 |
| 10-Nov-2005 |
skrll | Sync with HEAD. Here we go again...
|
1.4.2.4 |
| 21-Jan-2008 |
yamt | sync with head
|
1.4.2.3 |
| 07-Dec-2007 |
yamt | sync with head
|
1.4.2.2 |
| 03-Sep-2007 |
yamt | sync with head.
|
1.4.2.1 |
| 21-Jun-2006 |
yamt | sync with head.
|
1.5.36.1 |
| 29-Mar-2007 |
reinoud | Pullup to -current
|
1.5.34.1 |
| 11-Jul-2007 |
mjf | Sync with head.
|
1.5.32.6 |
| 23-Oct-2007 |
ad | - Remove most of the hardware interrupt priority levels as proposed on tech-kern, but leave the names of the remaining levels as none, vm, sched, high: http://mail-index.netbsd.org/tech-kern/2007/05/05/0005.html
- Add aliases for the old levels to sys/intr.h.
|
1.5.32.5 |
| 19-Oct-2007 |
ad | Adjust previous.
|
1.5.32.4 |
| 19-Oct-2007 |
ad | Tidy up IPL defs, and remove a bogus comment block.
|
1.5.32.3 |
| 29-Jul-2007 |
ad | - When zeroing/copying pages, use SSE2 movtni to avoid polluting the cache. - By default, align assembly routines on 32-byte starting boundaries. - There are now 8 interrupt priority levels, half of which are softints. Update intrdefs.h to match. - Always clear/set spinlock words - removes lots of ifdefs. - Remove the horrible ci_self150 hack that I introduced. - Overhaul how TLB shootdown is performed. Inspired by a similar change in OpenBSD but implemented quite differently. This should be a lot faster but I have not benchmarked it yet.
|
1.5.32.2 |
| 17-Jun-2007 |
ad | - Increase the number of thread priorities from 128 to 256. How the space is set up is to be revisited. - Implement soft interrupts as kernel threads. A generic implementation is provided, with hooks for fast-path MD code that can run the interrupt threads over the top of other threads executing in the kernel. - Split vnode::v_flag into three fields, depending on how the flag is locked (by the interlock, by the vnode lock, by the file system). - Miscellaneous locking fixes and improvements.
|
1.5.32.1 |
| 10-Apr-2007 |
ad | Sync with head.
|
1.5.28.1 |
| 24-Mar-2007 |
yamt | sync with head.
|
1.5.26.1 |
| 20-Apr-2007 |
bouyer | Pull up following revision(s) (requested by mlelstv in ticket #575): sys/arch/i386/i386/est.c sync with 1.37 sys/arch/i386/i386/ipifuncs.c sync with 1.16 sys/arch/x86/include/cpu_msr.h sync with 1.4 sys/arch/x86/include/intrdefs.h sync with 1.8 sys/arch/x86/include/powernow.h sync with 1.9 sys/arch/x86/x86/powernow_k8.c sync with 1.20 sys/arch/x86/x86/msr_ipifuncs.c sync with 1.8 sys/arch/amd64/amd64/ipifuncs.c sync with 1.9 sys/arch/i386/i386/identcpu.c patch sys/arch/i386/i386/machdep.c patch sys/arch/i386/include/cpu.h patch sys/arch/x86/conf/files.x86 patch sys/arch/x86/x86/x86_machdep.c patch sys/arch/amd64/amd64/machdep.c patch Add MSR write IPI handler for x86. Use it and the RUN_ONCE framework to make est and powernow drivers work properly with SMP.
|
1.8.14.2 |
| 09-Jan-2008 |
matt | sync with HEAD
|
1.8.14.1 |
| 06-Nov-2007 |
matt | sync with HEAD
|
1.8.12.2 |
| 09-Dec-2007 |
jmcneill | Sync with HEAD.
|
1.8.12.1 |
| 03-Sep-2007 |
jmcneill | Sync with HEAD.
|
1.8.8.1 |
| 03-Sep-2007 |
skrll | Sync with HEAD.
|
1.8.4.1 |
| 03-Oct-2007 |
garbled | Sync with HEAD
|
1.10.2.2 |
| 27-Dec-2007 |
mjf | Sync with HEAD.
|
1.10.2.1 |
| 08-Dec-2007 |
mjf | Sync with HEAD.
|
1.11.6.1 |
| 02-Jan-2008 |
bouyer | Sync with HEAD
|
1.11.2.1 |
| 26-Dec-2007 |
ad | Sync with head.
|
1.12.10.4 |
| 11-Aug-2010 |
yamt | sync with head.
|
1.12.10.3 |
| 11-Mar-2010 |
yamt | sync with head
|
1.12.10.2 |
| 04-May-2009 |
yamt | sync with head.
|
1.12.10.1 |
| 16-May-2008 |
yamt | sync with head.
|
1.12.8.1 |
| 18-May-2008 |
yamt | sync with head.
|
1.12.6.2 |
| 17-Jan-2009 |
mjf | Sync with HEAD.
|
1.12.6.1 |
| 02-Jun-2008 |
mjf | Sync with HEAD.
|
1.13.10.1 |
| 17-Nov-2008 |
snj | Pull up following revision(s) (requested by ad in ticket #73): sys/arch/amd64/amd64/fpu.c: revision 1.27 sys/arch/amd64/amd64/ipifuncs.c: revision 1.20 sys/arch/i386/i386/ipifuncs.c: revision 1.28 sys/arch/i386/isa/npx.c: revision 1.130 sys/arch/x86/include/intrdefs.h: revision 1.14 PR port-amd64/38293 panic: fp_save ipi didn't Kill the FP flush IPI and always save. The synchronization here isn't strong and we could easily pull the chain on an innocent LWP's FP state. Another fix to follow.
|
1.13.8.1 |
| 19-Jan-2009 |
skrll | Sync with HEAD.
|
1.13.6.1 |
| 13-Dec-2008 |
haad | Update haad-dm branch to haad-dm-base2.
|
1.14.4.2 |
| 24-Oct-2010 |
jym | Sync with HEAD
|
1.14.4.1 |
| 01-Nov-2009 |
jym | Sync with HEAD.
|
1.15.4.1 |
| 03-Jul-2010 |
rmind | sync with head
|
1.15.2.1 |
| 17-Aug-2010 |
uebayasi | Sync with HEAD.
|
1.16.8.1 |
| 10-Nov-2011 |
yamt | sync with head
|
1.16.6.1 |
| 03-Jun-2011 |
cherry | Initial import of xen MP sources, with kernel and userspace tests. - this is a source priview. - boots to single user. - spurious interrupt and pmap related panics are normal
|
1.17.10.1 |
| 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.19.2.1 |
| 10-Aug-2014 |
tls | Rebase.
|
1.20.28.2 |
| 08-Apr-2020 |
martin | Merge changes from current as of 20200406
|
1.20.28.1 |
| 10-Jun-2019 |
christos | Sync with HEAD
|
1.20.20.1 |
| 09-Mar-2019 |
martin | Pull up following revision(s) via patch (requested by nonaka in ticket #1210):
sys/dev/hyperv/vmbusvar.h: revision 1.1 sys/dev/hyperv/hvs.c: revision 1.1 sys/dev/hyperv/if_hvn.c: revision 1.1 sys/dev/hyperv/vmbusic.c: revision 1.1 sys/arch/x86/x86/lapic.c: revision 1.69 sys/arch/x86/isa/clock.c: revision 1.34 sys/arch/x86/include/intrdefs.h: revision 1.22 sys/arch/i386/conf/GENERIC: revision 1.1201 sys/arch/x86/x86/hyperv.c: revision 1.1 sys/arch/x86/include/cpu.h: revision 1.105 sys/arch/x86/x86/x86_machdep.c: revision 1.124 sys/arch/i386/conf/GENERIC: revision 1.1203 sys/arch/amd64/amd64/genassym.cf: revision 1.74 sys/arch/i386/conf/GENERIC: revision 1.1204 sys/arch/amd64/conf/GENERIC: revision 1.520 sys/arch/x86/x86/hypervreg.h: revision 1.1 sys/arch/amd64/amd64/vector.S: revision 1.69 sys/dev/hyperv/hvshutdown.c: revision 1.1 sys/dev/hyperv/hvshutdown.c: revision 1.2 sys/dev/usb/if_urndisreg.h: file removal sys/arch/x86/x86/cpu.c: revision 1.167 sys/arch/x86/conf/files.x86: revision 1.107 sys/dev/usb/if_urndis.c: revision 1.20 sys/dev/hyperv/vmbusicreg.h: revision 1.1 sys/dev/hyperv/hvheartbeat.c: revision 1.1 sys/dev/hyperv/vmbusicreg.h: revision 1.2 sys/dev/hyperv/hvheartbeat.c: revision 1.2 sys/dev/hyperv/files.hyperv: revision 1.1 sys/dev/ic/rndisreg.h: revision 1.1 sys/arch/i386/i386/genassym.cf: revision 1.111 sys/dev/ic/rndisreg.h: revision 1.2 sys/dev/hyperv/hyperv_common.c: revision 1.1 sys/dev/hyperv/hvtimesync.c: revision 1.1 sys/dev/hyperv/hypervreg.h: revision 1.1 sys/dev/hyperv/hvtimesync.c: revision 1.2 sys/dev/hyperv/vmbusicvar.h: revision 1.1 sys/dev/hyperv/if_hvnreg.h: revision 1.1 sys/arch/x86/x86/lapic.c: revision 1.70 sys/arch/amd64/amd64/vector.S: revision 1.70 sys/dev/ic/ndisreg.h: revision 1.1 sys/arch/amd64/conf/GENERIC: revision 1.516 sys/dev/hyperv/hypervvar.h: revision 1.1 sys/arch/amd64/conf/GENERIC: revision 1.518 sys/arch/amd64/conf/GENERIC: revision 1.519 sys/arch/i386/conf/files.i386: revision 1.400 sys/dev/acpi/vmbus_acpi.c: revision 1.1 sys/dev/hyperv/vmbus.c: revision 1.1 sys/dev/hyperv/vmbus.c: revision 1.2 sys/arch/x86/x86/intr.c: revision 1.144 sys/arch/i386/i386/vector.S: revision 1.83 sys/arch/amd64/conf/files.amd64: revision 1.112
separate RNDIS definitions from urndis(4) for use with Hyper-V NetVSC.
-
Added Microsoft Hyper-V support. It ported from OpenBSD and FreeBSD. graphical console is not work on Gen.2 VM yet. To use the serial console, enter "consdev com,0x3f8,115200" on efiboot.
-
Add __diagused.
-
PR/53984: Partial revert of modify lapic_calibrate_timer() in lapic.c r1.69.
-
Update Hyper-V related drivers description.
-
Remove unused definition.
-
Rename the MODULE_*_HOOK() macros to MODULE_HOOK_*() as briefly discussed on irc. NFCI intended.
-
commented out hvkvp entry.
-
fix typo. pointed out by pgoyette@n.o.
-
Use IDTVEC instead of NENTRY for handle_hyperv_hypercall.
-
Rename the MODULE_*_HOOK() macros to MODULE_HOOK_*() as briefly discussed on irc.
|
1.23.6.1 |
| 12-Apr-2020 |
bouyer | Get rid of xen-specific ci_x* interrupt handling: - use the general SIR mechanism, reserving 3 more slots for IPL_VM, IPL_SCHED and IPL_HIGH - remove specific handling from C sources, or change to ipending - convert IPL number to SIR number in various places - Remove XUNMASK/XPENDING in assembly or change to IUNMASK/IPENDING - remove Xen-specific ci_xsources, ci_xmask, ci_xunmask, ci_xpending from struct cpu_info - for now remove a KASSERT that there are no pending interrupts in idle_block(). We can get there with some software interrupts pending in autoconf XXX needs to be looked at.
|
1.24.2.1 |
| 03-Apr-2021 |
thorpej | Sync with HEAD.
|