History log of /src/sys/arch/x86/include/sysarch.h |
Revision | | Date | Author | Comments |
1.15 |
| 19-Jun-2020 |
maxv | localify
|
1.14 |
| 13-Jul-2018 |
maxv | Remove the X86PMC code I had written, replaced by tprof. Many defines become unused in specialreg.h, so remove them. We don't want to add defines all the time, there are countless PMCs on many generations, and it's better to just inline the event/unit values.
|
1.13 |
| 12-Jul-2018 |
maxv | Remove the kernel PMC code. Sent yesterday on tech-kern@.
This change:
* Removes "options PERFCTRS", the associated includes, and the associated ifdefs. In doing so, it removes several XXXSMPs in the MI code, which is good.
* Removes the PMC code of ARM XSCALE.
* Removes all the pmc.h files. They were all empty, except for ARM XSCALE.
* Reorders the x86 PMC code not to rely on the legacy pmc.h file. The definitions are put in sysarch.h.
* Removes the kern/sys_pmc.c file, and along with it, the sys_pmc_control and sys_pmc_get_info syscalls. They are marked as OBSOL in kern, netbsd32 and rump.
* Removes the pmc_evid_t and pmc_ctr_t types.
* Removes all the associated man pages. The sets are marked as obsolete.
|
1.12 |
| 12-Jul-2017 |
maxv | branches: 1.12.4; 1.12.6; Properly handle overflows, and take them into account in userland.
|
1.11 |
| 10-Mar-2017 |
maxv | branches: 1.11.6; Switch to per-CPU PMC results, and completely rewrite the pmc(1) tool. Now the PMCs are system-wide, fine-grained and more tunable by the user.
We don't do application tracking, since it would require to store the PMC values in mdproc and starting/stopping the counters on each context switch. While this doesn't seem to be particularly difficult to achieve, I don't think it is really interesting; and if someone really wants to measure the performance of an application, they can simply schedctl it to a cpu and look at the PMC results for this cpu.
Note that several options are implemented but not yet used.
|
1.10 |
| 08-Mar-2017 |
maxv | Add a version argument, set to 1, and check it in usr.bin/pmc. Use uint32_t instead uint8_t since we now need 12bit selectors (10h family). And while here KNF.
|
1.9 |
| 07-Jul-2010 |
chs | branches: 1.9.18; 1.9.36; 1.9.40; 1.9.44; add the guts of TLS support on amd64. based on joerg's patch, reworked by me to support 32-bit processes as well. we now keep %fs and %gs loaded with the user values while in the kernel, which means we don't need to reload them when returning to user mode.
|
1.8 |
| 21-Mar-2009 |
ad | branches: 1.8.2; 1.8.4; PR port-i386/40143 Viewing an mpeg transport stream with mplayer causes crash
Fix numerous problems:
1. LDT updates are not atomic.
2. Number of processes running with private LDTs and/or I/O bitmaps is not capped. System with high maxprocs can be paniced.
3. LDTR can be leaked over context switch.
4. GDT slot allocations can race, giving the same LDT slot to two procs.
5. Incomplete interrupt/trap frames can be stacked.
6. In some rare cases segment faults are not handled correctly.
|
1.7 |
| 28-Apr-2008 |
martin | branches: 1.7.8; 1.7.10; 1.7.14; Remove clause 3 and 4 from TNF licenses
|
1.6 |
| 10-Nov-2007 |
ad | branches: 1.6.14; 1.6.16; 1.6.18; - When computing the TSC frequency, call i8254_delay() and not DELAY(). - Use atomics to adjust the pmap reference count, instead of taking locks. - Implement I386_{SET,GET}_{FS,GS}BASE, allowing %fs and %gs to be used as per-thread registers. This is compatible with FreeBSD. - Run patches after we have attached CPUs, since we then know if the system is uniprocessor or not. Eliminates a lot of #ifdef MULTIPROCESSOR and makes running MP kernels on UP systems cheaper. - Patch out many of the 'lock' prefixes to nops if uniprocessor. - Do a wbinvd after patching to ensure that the trace/instruction cache is up to date.
|
1.5 |
| 17-Oct-2007 |
garbled | branches: 1.5.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.4 |
| 16-Sep-2007 |
ragge | branches: 1.4.4; i386 -> __i386__
|
1.3 |
| 23-Jun-2007 |
dsl | branches: 1.3.2; 1.3.10; 1.3.12; 1.3.14; Split x86_set/get_ldt() so they are callable with kernel buffers. For linux emulation code.
|
1.2 |
| 16-Apr-2007 |
ad | branches: 1.2.2; 1.2.4; 1.2.6; Fix error in previous.
|
1.1 |
| 16-Apr-2007 |
ad | Share the sysarch stuff between the x86 ports. PR kern/36046.
|
1.2.6.5 |
| 03-Dec-2007 |
ad | Sync with HEAD.
|
1.2.6.4 |
| 09-Oct-2007 |
ad | Sync with head.
|
1.2.6.3 |
| 15-Jul-2007 |
ad | Sync with head.
|
1.2.6.2 |
| 09-Jun-2007 |
ad | Sync with head.
|
1.2.6.1 |
| 16-Apr-2007 |
ad | file sysarch.h was added on branch vmlocking on 2007-06-09 21:37:04 +0000
|
1.2.4.2 |
| 07-May-2007 |
yamt | sync with head.
|
1.2.4.1 |
| 16-Apr-2007 |
yamt | file sysarch.h was added on branch yamt-idlelwp on 2007-05-07 10:55:05 +0000
|
1.2.2.2 |
| 03-Oct-2007 |
garbled | Sync with HEAD
|
1.2.2.1 |
| 26-Jun-2007 |
garbled | Sync with HEAD.
|
1.3.14.4 |
| 15-Nov-2007 |
yamt | sync with head.
|
1.3.14.3 |
| 27-Oct-2007 |
yamt | sync with head.
|
1.3.14.2 |
| 03-Sep-2007 |
yamt | sync with head.
|
1.3.14.1 |
| 23-Jun-2007 |
yamt | file sysarch.h was added on branch yamt-lazymbuf on 2007-09-03 14:31:21 +0000
|
1.3.12.2 |
| 09-Jan-2008 |
matt | sync with HEAD
|
1.3.12.1 |
| 06-Nov-2007 |
matt | sync with HEAD
|
1.3.10.2 |
| 11-Nov-2007 |
joerg | Sync with HEAD.
|
1.3.10.1 |
| 02-Oct-2007 |
joerg | Sync with HEAD.
|
1.3.2.2 |
| 11-Jul-2007 |
mjf | Sync with head.
|
1.3.2.1 |
| 23-Jun-2007 |
mjf | file sysarch.h was added on branch mjf-ufs-trans on 2007-07-11 20:03:16 +0000
|
1.4.4.1 |
| 13-Nov-2007 |
bouyer | Sync with HEAD
|
1.5.2.1 |
| 19-Nov-2007 |
mjf | Sync with HEAD.
|
1.6.18.3 |
| 11-Aug-2010 |
yamt | sync with head.
|
1.6.18.2 |
| 04-May-2009 |
yamt | sync with head.
|
1.6.18.1 |
| 16-May-2008 |
yamt | sync with head.
|
1.6.16.1 |
| 18-May-2008 |
yamt | sync with head.
|
1.6.14.1 |
| 02-Jun-2008 |
mjf | Sync with HEAD.
|
1.7.14.3 |
| 24-Oct-2010 |
jym | Sync with HEAD
|
1.7.14.2 |
| 01-Nov-2009 |
jym | Sync with HEAD.
|
1.7.14.1 |
| 13-May-2009 |
jym | Sync with HEAD.
Commit is split, to avoid a "too many arguments" protocol error.
|
1.7.10.1 |
| 04-Apr-2009 |
snj | Pull up following revision(s) (requested by ad in ticket #656): sys/arch/amd64/amd64/gdt.c: revision 1.21 via patch sys/arch/amd64/amd64/machdep.c: revision 1.129 via patch sys/arch/i386/i386/gdt.c: revision 1.47 via patch sys/arch/i386/i386/kvm86.c: revision 1.17 via patch sys/arch/i386/i386/locore.S: revision 1.85 via patch sys/arch/i386/i386/machdep.c: revision 1.666 via patch sys/arch/i386/i386/vector.S: revision 1.45 via patch sys/arch/i386/include/pcb.h: revision 1.47 via patch sys/arch/x86/include/pmap.h: revision 1.22 via patch sys/arch/x86/include/sysarch.h: revision 1.8 via patch sys/arch/x86/x86/pmap.c: revision 1.80 via patch sys/arch/x86/x86/sys_machdep.c: revision 1.17 via patch sys/compat/linux/arch/i386/linux_machdep.c: revision 1.143 via patch sys/kern/init_main.c: revision 1.384 via patch PR port-i386/40143 Viewing an mpeg transport stream with mplayer causes crash Fix numerous problems: 1. LDT updates are not atomic. 2. Number of processes running with private LDTs and/or I/O bitmaps is not capped. System with high maxprocs can be paniced. 3. LDTR can be leaked over context switch. 4. GDT slot allocations can race, giving the same LDT slot to two procs. 5. Incomplete interrupt/trap frames can be stacked. 6. In some rare cases segment faults are not handled correctly.
|
1.7.8.1 |
| 28-Apr-2009 |
skrll | Sync with HEAD.
|
1.8.4.1 |
| 05-Mar-2011 |
rmind | sync with head
|
1.8.2.1 |
| 17-Aug-2010 |
uebayasi | Sync with HEAD.
|
1.9.44.1 |
| 21-Apr-2017 |
bouyer | Sync with HEAD
|
1.9.40.1 |
| 20-Mar-2017 |
pgoyette | Sync with HEAD
|
1.9.36.1 |
| 28-Aug-2017 |
skrll | Sync with HEAD
|
1.9.18.1 |
| 03-Dec-2017 |
jdolecek | update from HEAD
|
1.11.6.1 |
| 01-Aug-2017 |
snj | Pull up following revision(s) (requested by maxv in ticket #164): distrib/sets/lists/base/md.amd64: revision 1.269 distrib/sets/lists/debug/md.amd64: revision 1.97 sys/arch/amd64/conf/GENERIC: revision 1.460 sys/arch/amd64/conf/files.amd64: revision 1.89 sys/arch/i386/conf/GENERIC: revision 1.1157 sys/arch/i386/conf/files.i386: revision 1.379 sys/arch/i386/i386/i386_trap.S: revision 1.7-1.8 sys/arch/i386/include/frameasm.h: revision 1.16 sys/arch/x86/include/sysarch.h: revision 1.12 sys/arch/x86/x86/pmc.c: revision 1.8-1.10 sys/arch/x86/x86/sys_machdep.c: revision 1.36 sys/arch/xen/conf/files.compat: revision 1.26 sys/secmodel/suser/secmodel_suser.c: revision 1.43 sys/sys/kauth.h: revision 1.74 usr.bin/pmc/Makefile: revision 1.5 usr.bin/pmc/pmc.1: revision 1.12-1.13 usr.bin/pmc/pmc.c: revision 1.24-1.25 style -- style -- Disable interrupts for T_NMI (inline calltrap). Note that there's still a way to evade the NMI mode here, if a segment register faults in INTRFASTEXIT; but we don't care. I didn't test this change, but it seems fine enough. -- Make the PMC syscalls privileged. -- Check argc, and add a message. -- include opt_pmc.h -- Build the pmc tool on amd64. -- Properly handle overflows, and take them into account in userland. -- Update. -- Enable PMCs by default. -- Sort sections. Fix macro usage.
|
1.12.6.1 |
| 10-Jun-2019 |
christos | Sync with HEAD
|
1.12.4.1 |
| 28-Jul-2018 |
pgoyette | Sync with HEAD
|