History log of /src/sys/arch/x86/include/i82489var.h |
Revision | | Date | Author | Comments |
1.21 |
| 21-May-2020 |
ad | - Recalibrate the APIC timer using the TSC, once the TSC has in turn been recalibrated using the HPET. This gets the clock interrupt firing more closely to HZ.
- Undo change with recent Xen merge and go back to starting the clocks in initclocks() on the boot CPU, and in cpu_hatch() on secondary CPUs.
- On reflection don't use HPET delay any more, it works very well but means going over the bus. It's enough to use HPET to calibrate the TSC and APIC.
Tested on amd64 native, xen and xen PVH.
|
1.20 |
| 01-Dec-2019 |
maxv | localify
|
1.19 |
| 23-May-2017 |
nonaka | branches: 1.19.10; x86: Add preliminary x2APIC support.
x2APIC is used only when x2APIC is enabled in BIOS/UEFI. LAPIC ID is not supported above 256.
|
1.18 |
| 22-Apr-2017 |
nonaka | use CR8 instead of LAPIC Task Priority register on x86-64.
|
1.17 |
| 19-Apr-2017 |
nonaka | remove prototypes of nonexistent function.
|
1.16 |
| 25-Nov-2016 |
maxv | branches: 1.16.2; 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.15 |
| 16-Oct-2016 |
maxv | Remove lapic_tpr on amd64 and i386, unused. Now, we have only one pointer to the LAPIC page, and each register access is done with relative offsets.
|
1.14 |
| 12-Jun-2011 |
rmind | branches: 1.14.12; 1.14.30; 1.14.34; Welcome to 5.99.53! Merge rmind-uvmplock branch:
- Reorganize locking in UVM and provide extra serialisation for pmap(9). New lock order: [vmpage-owner-lock] -> pmap-lock.
- Simplify locking in some pmap(9) modules by removing P->V locking.
- Use lock object on vmobjlock (and thus vnode_t::v_interlock) to share the locks amongst UVM objects where necessary (tmpfs, layerfs, unionfs).
- Rewrite and optimise x86 TLB shootdown code, make it simpler and cleaner. Add TLBSTATS option for x86 to collect statistics about TLB shootdowns.
- Unify /dev/mem et al in MI code and provide required locking (removes kernel-lock on some ports). Also, avoid cache-aliasing issues.
Thanks to Andrew Doran and Joerg Sonnenberger, as their initial patches formed the core changes of this branch.
|
1.13 |
| 18-May-2011 |
drochner | branches: 1.13.2; remove stale declarations / empty function
|
1.12 |
| 28-Apr-2008 |
martin | branches: 1.12.14; 1.12.22; 1.12.28; Remove clause 3 and 4 from TNF licenses
|
1.11 |
| 14-Apr-2008 |
cegger | branches: 1.11.2; 1.11.4; - u_int32_t -> uint32_t - ansfiy
|
1.10 |
| 09-Dec-2007 |
jmcneill | branches: 1.10.10; Merge jmcneill-pm branch.
|
1.9 |
| 03-Dec-2007 |
joerg | branches: 1.9.2; Revert last commit which added externs that never get defined anywhere. At least lapic_get_timecount conflicts with the newly added lapic TC.
|
1.8 |
| 03-Dec-2007 |
ad | branches: 1.8.2; 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.7 |
| 17-Oct-2007 |
garbled | branches: 1.7.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.6 |
| 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.5 |
| 16-Feb-2006 |
perry | branches: 1.5.24; 1.5.32; 1.5.38; 1.5.42; 1.5.44; Change "inline" back to "__inline" in .h files -- C99 is still too new, and some apps compile things in C89 mode. C89 keywords stay.
As per core@.
|
1.4 |
| 24-Dec-2005 |
perry | branches: 1.4.2; 1.4.4; 1.4.6; __asm__ -> __asm __const__ -> const __inline__ -> inline __volatile__ -> volatile
|
1.3 |
| 27-Oct-2003 |
junyoung | branches: 1.3.16; Nuke __P().
|
1.2 |
| 19-Jul-2003 |
lukem | change multiple include protection #define to match filename
|
1.1 |
| 26-Feb-2003 |
fvdl | branches: 1.1.2; Move some files out of i386 into x86, so that they can be shared with other ports.
|
1.1.2.3 |
| 21-Sep-2004 |
skrll | Fix the sync with head I botched.
|
1.1.2.2 |
| 18-Sep-2004 |
skrll | Sync with HEAD.
|
1.1.2.1 |
| 03-Aug-2004 |
skrll | Sync with HEAD
|
1.3.16.3 |
| 21-Jan-2008 |
yamt | sync with head
|
1.3.16.2 |
| 03-Sep-2007 |
yamt | sync with head.
|
1.3.16.1 |
| 21-Jun-2006 |
yamt | sync with head.
|
1.4.6.1 |
| 22-Apr-2006 |
simonb | Sync with head.
|
1.4.4.1 |
| 09-Sep-2006 |
rpaulo | sync with head
|
1.4.2.1 |
| 18-Feb-2006 |
yamt | sync with head.
|
1.5.44.2 |
| 09-Jan-2008 |
matt | sync with HEAD
|
1.5.44.1 |
| 06-Nov-2007 |
matt | sync with HEAD
|
1.5.42.3 |
| 09-Dec-2007 |
jmcneill | Sync with HEAD.
|
1.5.42.2 |
| 03-Sep-2007 |
jmcneill | Sync with HEAD.
|
1.5.42.1 |
| 03-Aug-2007 |
jmcneill | Pull in power management changes from private branch.
|
1.5.38.1 |
| 03-Sep-2007 |
skrll | Sync with HEAD.
|
1.5.32.1 |
| 03-Oct-2007 |
garbled | Sync with HEAD
|
1.5.24.2 |
| 03-Dec-2007 |
ad | Sync with HEAD.
|
1.5.24.1 |
| 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.7.2.2 |
| 27-Dec-2007 |
mjf | Sync with HEAD.
|
1.7.2.1 |
| 08-Dec-2007 |
mjf | Sync with HEAD.
|
1.8.2.2 |
| 26-Dec-2007 |
ad | Sync with head.
|
1.8.2.1 |
| 08-Dec-2007 |
ad | Sync with head.
|
1.9.2.1 |
| 11-Dec-2007 |
yamt | sync with head.
|
1.10.10.1 |
| 02-Jun-2008 |
mjf | Sync with HEAD.
|
1.11.4.1 |
| 16-May-2008 |
yamt | sync with head.
|
1.11.2.1 |
| 18-May-2008 |
yamt | sync with head.
|
1.12.28.1 |
| 06-Jun-2011 |
jruoho | Sync with HEAD.
|
1.12.22.2 |
| 31-May-2011 |
rmind | sync with head
|
1.12.22.1 |
| 26-Apr-2010 |
rmind | Apply renovated patch to significantly reduce TLB shootdowns in x86 pmap, also provide TLBSTATS option to measure and track TLB shootdowns. Details:
http://mail-index.netbsd.org/port-i386/2009/01/11/msg001018.html
Patch from Andrew Doran, proposed on tech-x86 [sic], in January 2009.
XXX: amd64 and xen are not yet; work in progress.
|
1.12.14.1 |
| 27-Aug-2011 |
jym | Sync with HEAD. Most notably: uvm/pmap work done by rmind@, and MP Xen work of cherry@.
No regression observed on suspend/restore.
|
1.13.2.1 |
| 23-Jun-2011 |
cherry | Catchup with rmind-uvmplock merge.
|
1.14.34.3 |
| 26-Apr-2017 |
pgoyette | Sync with HEAD
|
1.14.34.2 |
| 07-Jan-2017 |
pgoyette | Sync with HEAD. (Note that most of these changes are simply $NetBSD$ tag issues.)
|
1.14.34.1 |
| 04-Nov-2016 |
pgoyette | Sync with HEAD
|
1.14.30.2 |
| 28-Aug-2017 |
skrll | Sync with HEAD
|
1.14.30.1 |
| 05-Dec-2016 |
skrll | Sync with HEAD
|
1.14.12.1 |
| 03-Dec-2017 |
jdolecek | update from HEAD
|
1.16.2.1 |
| 21-Apr-2017 |
bouyer | Sync with HEAD
|
1.19.10.1 |
| 08-Apr-2020 |
martin | Merge changes from current as of 20200406
|