| History log of /src/sys/arch/i386/include/pcb.h |
| Revision | | Date | Author | Comments |
| 1.61 |
| 24-Apr-2025 |
kre | offsetof() needs <stddef.h> (<sys/stddef.h>)
Include <sys/stddef.h> when offsetof() is to be used.
First step in fixing x86 builds.
|
| 1.60 |
| 24-Apr-2025 |
riastradh | amd64: Allocate FPU save state outside pcb if it's too large.
We have seen x86_fpu_save_size values (CPUID[EAX=0x0d, ECX=0].ECX) as large as 11008 bytes, notably with Intel AMX TILEDATA's 8192-byte state.
We only do this for user threads, and only on machines where it's necessary, to avoid incurring much overhead. There is still a tiny bit of overhead when saving and restoring the FPU state by using a pointer indirection instead of arithmetic indirection for access to struct pcb::pcb_savefpu, but this is probably a drop in the bucket compared to the memory traffic incurred by the FPU state save/restore anyway.
For now, these paths are mostly disabled on i386. We could enable them but it will require either rewriting cpu_uarea_alloc/free for i386, or adopting a guard page like amd64 does, which might be costly and so should be undertaken only with some thought and care. And since Intel AMX instructions only work in 64-bit mode, it's not likely to be useful on i386.
PR port-amd64/57661: Crash when booting on Xeon Silver 4416+ in KVM/Qemu
These changes, as a side effect, may fix:
PR kern/57258: kthread_fpu_enter/exit problem
by making sure to allocate an FPU save space that is large enough to guarantee fpu_kern_enter/leave work safely, instead of just using a union savefpu object on the stack (which, at 576 bytes, may be too small on some machines, particularly with AVX512 requiring ~2.5K). (But we'll have to do some extra work with kthread_fpu_enter/exit_md -- if we try doing them again on x86 -- to actually allocate the separate pcb on these machines!)
|
| 1.59 |
| 12-Oct-2019 |
maxv | branches: 1.59.32; Rewrite the FPU code on x86. This greatly simplifies the logic and removes the dependency on IPL_HIGH. NVMM is updated accordingly. Posted on port-amd64 a week ago.
Bump the kernel version to 9.99.16.
|
| 1.58 |
| 26-Jul-2018 |
maxv | Rework dbregs, to switch the registers during context switches, and not on each user->kernel transition via userret. Reloads of DR6/DR7 are expensive on both native and xen.
|
| 1.57 |
| 31-Oct-2017 |
maxv | branches: 1.57.2; 1.57.4; Don't embed our own values in the reserved fields of the XSAVE area, it really is a bad idea. Move them into the PCB.
|
| 1.56 |
| 12-Aug-2017 |
maxv | Remove the vm86 fields from the pcb.
|
| 1.55 |
| 23-Feb-2017 |
kamil | Introduce PT_GETDBREGS and PT_SETDBREGS in ptrace(2) on i386 and amd64
This interface is modeled after FreeBSD API with the usage.
This replaced previous watchpoint API. The previous one was introduced recently in NetBSD-current and remove its spurs without any backward-compatibility.
Design choices for Debug Register accessors: - exec() (TRAP_EXEC event) must remove debug registers from LWP - debug registers are only per-LWP, not per-process globally - debug registers must not be inherited after (v)forking a process - debug registers must not be inherited after forking a thread - a debugger is responsible to set global watchpoints/breakpoints with the debug registers, to achieve this PTRACE_LWP_CREATE/PTRACE_LWP_EXIT event monitoring function is designed to be used - debug register traps must generate SIGTRAP with si_code TRAP_DBREG - debugger is responsible to retrieve debug register state to distinguish the exact debug register trap (DR6 is Status Register on x86) - kernel must not remove debug register traps after triggering a trap event a debugger is responsible to detach this trap with appropriate PT_SETDBREGS call (DR7 is Control Register on x86) - debug registers must not be exposed in mcontext - userland must not be allowed to set a trap on the kernel
Implementation notes on i386 and amd64: - the initial state of debug register is retrieved on boot and this value is stored in a local copy (initdbregs), this value is used to initialize dbreg context after PT_GETDBREGS - struct dbregs is stored in pcb as a pointer and by default not initialized - reserved registers (DR4-DR5, DR9-DR15) are ignored
Further ideas: - restrict this interface with securelevel
Tested on real hardware i386 (Intel Pentium IV) and amd64 (Intel i7).
This commit enables 390 debug register ATF tests in kernel/arch/x86. All tests are passing.
This commit does not cover netbsd32 compat code. Currently other interface PT_GET_SIGINFO/PT_SET_SIGINFO is required in netbsd32 compat code in order to validate reliably PT_GETDBREGS/PT_SETDBREGS.
This implementation does not cover FreeBSD specific defines in their <x86/reg.h>: DBREG_DR7_LOCAL_ENABLE, DBREG_DR7_GLOBAL_ENABLE, DBREG_DR7_LEN_1 etc. These values tend to be reinvented by each tracer on its own. GNU Debugger (GDB) works with NetBSD debug registers after adding this patch:
--- gdb/amd64bsd-nat.c.orig 2016-02-10 03:19:39.000000000 +0000 +++ gdb/amd64bsd-nat.c @@ -167,6 +167,10 @@ amd64bsd_target (void)
#ifdef HAVE_PT_GETDBREGS
+#ifndef DBREG_DRX +#define DBREG_DRX(d,x) ((d)->dr[(x)]) +#endif + static unsigned long amd64bsd_dr_get (ptid_t ptid, int regnum) {
Another reason to stop introducing unpopular defines covering machine specific register macros is that these value varies across generations of the same CPU family.
GDB demo: (gdb) c Continuing.
Watchpoint 2: traceme
Old value = 0 New value = 16 main (argc=1, argv=0x7f7fff79fe30) at test.c:8 8 printf("traceme=%d\n", traceme);
(Currently the GDB interface is not reliable due to NetBSD support bugs)
Sponsored by <The NetBSD Foundation>
|
| 1.54 |
| 21-Apr-2014 |
christos | branches: 1.54.4; 1.54.8; 1.54.12; disable assert for lint.
|
| 1.53 |
| 20-Feb-2014 |
dsl | branches: 1.53.2; Move the amd64 and i386 pcb to the bottom of the uarea, and move the kernel stack to the top. Change the pcb layouts so that fpu save area is at the end and is 64byte aligned ready for xsave (saving the ymm registers). Welcome to 6.99.32
|
| 1.52 |
| 12-Feb-2014 |
dsl | Change i386 to use x86/fpu.c instead of i386/isa/npx.c This changes the trap10 and trap13 code to call directly into fpu.c, removing all the code for T_ARITHTRAP, T_XMM and T_FPUNDA from i386/trap.c Not all of the code thate appeared to handle fpu traps was ever called! Most of the changes just replace the include of machine/npx.h with x86/fpu.h (or remove it entirely).
|
| 1.51 |
| 19-Jan-2014 |
dsl | Remove the unused 'struct md_coredump'.
|
| 1.50 |
| 01-Dec-2013 |
christos | revert fpu/pcu changes until we figure out what's wrong; they cause random freezes
|
| 1.49 |
| 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.48 |
| 23-Apr-2010 |
joerg | branches: 1.48.8; 1.48.18; 1.48.22; Use struct segment_descriptor for pcb_fsd and pcb_gsd instead of int[2].
|
| 1.47 |
| 21-Mar-2009 |
ad | branches: 1.47.2; 1.47.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.46 |
| 26-Oct-2008 |
mrg | branches: 1.46.2; 1.46.4; 1.46.8; - use _I386_FOO_H for multi-include protection - use <i386/foo.h> in a couple of places
|
| 1.45 |
| 28-Apr-2008 |
martin | branches: 1.45.6; Remove clause 3 and 4 from TNF licenses
|
| 1.44 |
| 05-Jan-2008 |
yamt | branches: 1.44.6; 1.44.8; 1.44.10; remove a stale comment.
|
| 1.43 |
| 04-Jan-2008 |
yamt | fix a bug in the previous. (per-cpu tss change) keep iopl in pcb so that it won't lost.
|
| 1.42 |
| 04-Jan-2008 |
yamt | i386: - make tss per-cpu. this considerably speeds up context switch for, at least, pentium4, where ltr instruction seems very slow. i386, xen: - kill cpu_maxproc. kvm86: - adapt to per-cpu tss. - cleanup and simplify. - move kvm86_mp_lock to more meaningful place. - disable preemption during a call.
|
| 1.41 |
| 10-Nov-2007 |
ad | branches: 1.41.6; fsbase/gsbase:
- Fix a few bugs with it, in particular fork/exec handling. - Store the descriptors in the PCB, not in the LWP.
|
| 1.40 |
| 04-Mar-2007 |
christos | branches: 1.40.2; 1.40.18; 1.40.20; 1.40.24; 1.40.26; Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
|
| 1.39 |
| 02-Mar-2007 |
ad | Define pcb_esp0.
|
| 1.38 |
| 02-May-2006 |
drochner | branches: 1.38.14; -explicitely align "struct savexmm" so that we don't get surprised if we play with the PCB -remove historical "struct emcsts"; there is no support in context switching code for ages (if there has ever been)
|
| 1.37 |
| 20-Feb-2004 |
yamt | branches: 1.37.16; 1.37.30; 1.37.32; 1.37.34; 1.37.36; 1.37.38; defer pmap switching until it's really needed to avoid frequent loading of cr3 register, which involves tlb flush.
with some fixes/improvements from Stephan Uphoff and Bang Jun-Young.
|
| 1.36 |
| 09-Nov-2003 |
tsutsui | Use #if defined(_KERNEL_OPT) to protect #include "opt_xxx.h" from building LKM etc. Suggested by mrg.
|
| 1.35 |
| 24-Aug-2003 |
chs | add support for non-executable mappings (where the hardware allows this) and make the stack and heap non-executable by default. the changes fall into two basic catagories:
- pmap and trap-handler changes. these are all MD: = alpha: we already track per-page execute permission with the (software) PG_EXEC bit, so just have the trap handler pay attention to it. = i386: use a new GDT segment for %cs for processes that have no executable mappings above a certain threshold (currently the bottom of the stack). track per-page execute permission with the last unused PTE bit. = powerpc/ibm4xx: just use the hardware exec bit. = powerpc/oea: we already track per-page exec bits, but the hardware only implements non-exec mappings at the segment level. so track the number of executable mappings in each segment and turn on the no-exec segment bit iff the count is 0. adjust the trap handler to deal. = sparc (sun4m): fix our use of the hardware protection bits. fix the trap handler to recognize text faults. = sparc64: split the existing unified TSB into data and instruction TSBs, and only load TTEs into the appropriate TSB(s) for the permissions. fix the trap handler to check for execute permission. = not yet implemented: amd64, hppa, sh5
- changes in all the emulations that put a signal trampoline on the stack. instead, we now put the trampoline into a uvm_aobj and map that into the process separately.
originally from openbsd, adapted for netbsd by me.
|
| 1.34 |
| 07-Aug-2003 |
agc | Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22364, verified by myself.
|
| 1.33 |
| 08-Oct-2002 |
fvdl | branches: 1.33.6; Delete pcb_flags.
|
| 1.32 |
| 01-Oct-2002 |
fvdl | 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.31 |
| 12-May-2002 |
matt | Eliminate commons.
|
| 1.30 |
| 16-Feb-2002 |
christos | save cr2 for the benefit of linux emulation, and normalize use of pcb in trap(), i.e. always initialize *pcb and use it instead of doing it sometimes.
|
| 1.29 |
| 02-Aug-2001 |
thorpej | Add support for saving/restoring SSE/SSE2 state using FXSAVE/FXRSTOR.
Reviewed by Frank.
|
| 1.28 |
| 17-Jun-2001 |
sommerfeld | branches: 1.28.2; Add %fs/%gs to trap frame and save/restore them on trap/interrupt/syscall entry from userspace.
Remove special-case "by hand" validation of fs/gs register values as well as special handling of them in various signal handling paths.
Now, like %ds and %es, they are validated by the hardware on return to userland.
This paves the way for the use of %fs for per-cpu data on multiprocessor systems, and fixes an otherwise difficult-to-fix interaction between threads/clone(2) and USER_LDT.
Discussed in advance with Frank van der Linden.
|
| 1.27 |
| 16-Aug-2000 |
thorpej | branches: 1.27.2; Move the TSS selector out of the PCB and put it into mdproc. We need to access this when we have the proclist locked for reading, and thus cannot store it in the PCB (which may be swapped out).
As part of this, call pmap_activate() from cpu_switch() to switch to the new address space, and refresh the PCB's copy of the LDT selector from the pmap structure (see above paragraph). We need to do this for MP support anyhow.
Fixes a "panic: spinlock_switchcheck: CPU 0 has 1 spin locks" via gdt_compact() reported by Nathan Williams.
|
| 1.26 |
| 12-Sep-1999 |
chs | branches: 1.26.2; 1.26.10; 1.26.14; eliminate the PMAP_NEW option by making it required for all ports. ports which previously had no support for PMAP_NEW now implement the pmap_k* interfaces as wrappers around the non-k versions.
|
| 1.25 |
| 12-May-1999 |
thorpej | Move the user-set LDT out of the PCB and into the pmap. Applications which set the LDT and share VM space (e.g. new versions of WINE) expect the LDT to be logically coupled to the address space. Use the new pmap_fork() interface to copy non-shared user-set LDTs when the address space is forked.
|
| 1.24 |
| 15-Aug-1998 |
mycroft | branches: 1.24.8; Assign my copyrights to TNF.
|
| 1.23 |
| 10-Feb-1998 |
mrg | - add defopt's for UVM, UVMHIST and PMAP_NEW. - remove unnecessary UVMHIST_DECL's.
|
| 1.22 |
| 06-Feb-1998 |
mrg | add the i386 MD portions for UVM.
|
| 1.21 |
| 08-Jan-1996 |
mycroft | VM86 support, by John Kohl, touched up a bit by me.
|
| 1.20 |
| 11-Oct-1995 |
mycroft | Various changes from John Kohl and me: Map kernel stacks only at unique addresses. Use one TSS per process. Add sysarch calls for modifying IOPL and the I/O permission bitmap. Add a compacting GDT entry allocator, for TSS and LDT selectors. Enable modifying %fs and %gs with PT_SETREGS. Sanitize various bits of code.
|
| 1.19 |
| 06-Aug-1995 |
mycroft | Move the `used fpu' flag into mdproc, so it can be referenced when a process is swapped out. Implement process_{read,write}_fpregs.
|
| 1.18 |
| 03-May-1995 |
mycroft | Add PCB_USEDFPU.
|
| 1.17 |
| 01-May-1995 |
mycroft | Remove historical garbage.
|
| 1.16 |
| 01-May-1995 |
mycroft | Add pcb_cr0.
|
| 1.15 |
| 28-Mar-1995 |
jtc | KERNEL -> _KERNEL
|
| 1.14 |
| 08-Nov-1994 |
mycroft | pcb.h requires segments.h now.
|
| 1.13 |
| 05-Nov-1994 |
mycroft | Only use ssdtosd() when creating, expanding, or copying the LDT. Keep a copy of the result in the PCB so it can be loaded quickly on context switches.
|
| 1.12 |
| 27-Oct-1994 |
cgd | new RCS ID format.
|
| 1.11 |
| 21-May-1994 |
cgd | struct md_coredump
|
| 1.10 |
| 21-Dec-1993 |
mycroft | branches: 1.10.2; Remove two unused fields.
|
| 1.9 |
| 14-Dec-1993 |
mycroft | Fold in most of the magnum vm changes.
|
| 1.8 |
| 19-Sep-1993 |
brezak | Add per-process LDT slot.
|
| 1.7 |
| 16-Sep-1993 |
brezak | Changes to use a trap frame for syscalls.
|
| 1.6 |
| 27-Jun-1993 |
andrew | branches: 1.6.4; Re-entrancy protection.
|
| 1.5 |
| 02-Jun-1993 |
cgd | get rid of last bit of signal-trampoline-in-pcb hackery
|
| 1.4 |
| 02-Jun-1993 |
cgd | set things up so that the signal trampoline code is on the stack, like it normally is in BSD systems. still has a bit of hair...
|
| 1.3 |
| 22-May-1993 |
cgd | add rcsids to everything and clean up headers
|
| 1.2 |
| 09-May-1993 |
deraadt | npx patches from Bruce Evans. patchkit 10002
|
| 1.1 |
| 21-Mar-1993 |
cgd | branches: 1.1.1; Initial revision
|
| 1.1.1.1 |
| 21-Mar-1993 |
cgd | initial import of 386bsd-0.1 sources
|
| 1.6.4.3 |
| 11-Nov-1993 |
mycroft | pcb_cmap2 could not justify its existance.
|
| 1.6.4.2 |
| 09-Oct-1993 |
mycroft | Make pcb_iml an int.
|
| 1.6.4.1 |
| 24-Sep-1993 |
mycroft | Changes from trunk. cpu.h: Add dummy (for now) CLKF_INTR(). #include psl.h. endian.h: Add multiple-inclusion protection. #define _QUAD_{LOW,HIGH}WORD. #include sys/cdefs for __P(). Don't define byte order stuff if _POSIX_SOURCE. Remove big endian shit. limits.h: Add {,U}QUAD_{MIN,MAX}. psl.h: Get PSL_MB[ZO] right. Make cpl volatile just in case. Add alias for spl0(). splnone() and splx() return int for now.
|
| 1.10.2.2 |
| 21-Dec-1993 |
mycroft | Remove two unused fields.
|
| 1.10.2.1 |
| 21-Dec-1993 |
mycroft | file pcb.h was added on branch magnum on 1993-12-21 09:47:46 +0000
|
| 1.24.8.1 |
| 21-Jun-1999 |
thorpej | Sync w/ -current.
|
| 1.26.14.2 |
| 17-Jun-2001 |
he | Pull up revision 1.28 (requested by sommerfeld): Add %fs/%gs to trap frame and save/restore them on trap/interupt/ syscall entry from userspace.
Remove special-case ``by hand'' validation of %fs/%gs register values s well as special handling of them in various signal handling paths. Now, like %ds and %es, they are validated by the hardware on return to userland.
This paves the way for the use of %fs for per-cpu data on multi- processor systems, and fixes an otherwise difficult-to-fix interaction between threads/clone(2) and USER_LDT.
|
| 1.26.14.1 |
| 16-Aug-2000 |
thorpej | Update from trunk: Move the TSS selector out of the PCB and put it into mdproc. We need to access this when we have the proclist locked for reading, and thus cannot store it in the PCB (which may be swapped out).
As part of this, call pmap_activate() from cpu_switch() to switch to the new address space, and refresh the PCB's copy of the LDT selector from the pmap structure (see above paragraph). We need to do this for MP support anyhow.
Fixes a "panic: spinlock_switchcheck: CPU 0 has 1 spin locks" via gdt_compact() reported by Nathan Williams.
|
| 1.26.10.7 |
| 24-Feb-2002 |
sommerfeld | Resynch with mainline.
|
| 1.26.10.6 |
| 29-Dec-2001 |
sommerfeld | Set up per-cpu GDT. Use %fs for per-cpu data access.
|
| 1.26.10.5 |
| 03-Sep-2001 |
sommerfeld | Merge with -current once more.
|
| 1.26.10.4 |
| 18-Jun-2001 |
sommerfeld | checkpoint merge-in-progress from mainline.
|
| 1.26.10.3 |
| 07-Jan-2001 |
sommerfeld | Snapshot of merge-in-progress with -current.
[Not expected to build]. Catch up with the last N months worth of changes to -current.
|
| 1.26.10.2 |
| 26-Jun-2000 |
sommerfeld | Start making npx.c MP-safe; Interface to npx now specifies the process and/or cpu to act on. Implement an IPI for MP lazy FP save. Tested and working when only one CPU is running; untested in the MP case since we can't run user processes on multiple CPU's yet.
Along for the ride: - Change i386_send_ipi to take a "struct cpu_info *" rather than a cpu number. - Turn off the "give me the brain" test IPI's.
|
| 1.26.10.1 |
| 20-Feb-2000 |
sommerfeld | On MULTIPROCESSOR kernels, delete the "curpcb" global variable since it's per-CPU (it lives in struct cpu_info, defined in cpu.h)
|
| 1.26.2.1 |
| 20-Nov-2000 |
bouyer | Update thorpej_scsipi to -current as of a month ago A i386 GENERIC kernel compiles without the siop, ahc and bha drivers (will be updated later). i386 IDE/ATAPI and ncr work, as well as sparc/esp_sbus. alpha should work as well (untested yet). siop, ahc and bha will be updated once I've updated the branch to current -current, as well as machine-dependant code.
|
| 1.27.2.5 |
| 18-Oct-2002 |
nathanw | Catch up to -current.
|
| 1.27.2.4 |
| 20-Jun-2002 |
nathanw | Catch up to -current.
|
| 1.27.2.3 |
| 28-Feb-2002 |
nathanw | Catch up to -current.
|
| 1.27.2.2 |
| 24-Aug-2001 |
nathanw | Catch up with -current.
|
| 1.27.2.1 |
| 21-Jun-2001 |
nathanw | Catch up to -current.
|
| 1.28.2.4 |
| 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.28.2.3 |
| 23-Jun-2002 |
jdolecek | catch up with -current on kqueue branch
|
| 1.28.2.2 |
| 16-Mar-2002 |
jdolecek | Catch up with -current.
|
| 1.28.2.1 |
| 03-Aug-2001 |
lukem | update to -current
|
| 1.33.6.3 |
| 21-Sep-2004 |
skrll | Fix the sync with head I botched.
|
| 1.33.6.2 |
| 18-Sep-2004 |
skrll | Sync with HEAD.
|
| 1.33.6.1 |
| 03-Aug-2004 |
skrll | Sync with HEAD
|
| 1.37.38.1 |
| 24-May-2006 |
tron | Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
|
| 1.37.36.1 |
| 11-May-2006 |
elad | sync with head
|
| 1.37.34.1 |
| 24-May-2006 |
yamt | sync with head.
|
| 1.37.32.1 |
| 01-Jun-2006 |
kardel | Sync with head.
|
| 1.37.30.1 |
| 09-Sep-2006 |
rpaulo | sync with head
|
| 1.37.16.4 |
| 21-Jan-2008 |
yamt | sync with head
|
| 1.37.16.3 |
| 15-Nov-2007 |
yamt | sync with head.
|
| 1.37.16.2 |
| 03-Sep-2007 |
yamt | sync with head.
|
| 1.37.16.1 |
| 21-Jun-2006 |
yamt | sync with head.
|
| 1.38.14.1 |
| 12-Mar-2007 |
rmind | Sync with HEAD.
|
| 1.40.26.2 |
| 18-Feb-2008 |
mjf | Sync with HEAD.
|
| 1.40.26.1 |
| 19-Nov-2007 |
mjf | Sync with HEAD.
|
| 1.40.24.1 |
| 13-Nov-2007 |
bouyer | Sync with HEAD
|
| 1.40.20.1 |
| 09-Jan-2008 |
matt | sync with HEAD
|
| 1.40.18.1 |
| 11-Nov-2007 |
joerg | Sync with HEAD.
|
| 1.40.2.1 |
| 03-Dec-2007 |
ad | Sync with HEAD.
|
| 1.41.6.1 |
| 08-Jan-2008 |
bouyer | Sync with HEAD
|
| 1.44.10.3 |
| 11-Aug-2010 |
yamt | sync with head.
|
| 1.44.10.2 |
| 04-May-2009 |
yamt | sync with head.
|
| 1.44.10.1 |
| 16-May-2008 |
yamt | sync with head.
|
| 1.44.8.1 |
| 18-May-2008 |
yamt | sync with head.
|
| 1.44.6.2 |
| 17-Jan-2009 |
mjf | Sync with HEAD.
|
| 1.44.6.1 |
| 02-Jun-2008 |
mjf | Sync with HEAD.
|
| 1.45.6.1 |
| 13-Dec-2008 |
haad | Update haad-dm branch to haad-dm-base2.
|
| 1.46.8.3 |
| 28-Mar-2011 |
jym | Cure sync hiccups. Code with compile errors is not really useful, heh.
|
| 1.46.8.2 |
| 01-Nov-2009 |
jym | Sync with HEAD.
|
| 1.46.8.1 |
| 13-May-2009 |
jym | Sync with HEAD.
Commit is split, to avoid a "too many arguments" protocol error.
|
| 1.46.4.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.46.2.1 |
| 28-Apr-2009 |
skrll | Sync with HEAD.
|
| 1.47.4.1 |
| 30-May-2010 |
rmind | sync with head
|
| 1.47.2.1 |
| 30-Apr-2010 |
uebayasi | Sync with HEAD.
|
| 1.48.22.1 |
| 18-May-2014 |
rmind | sync with head
|
| 1.48.18.2 |
| 03-Dec-2017 |
jdolecek | update from HEAD
|
| 1.48.18.1 |
| 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
| 1.48.8.1 |
| 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
| 1.53.2.1 |
| 10-Aug-2014 |
tls | Rebase.
|
| 1.54.12.1 |
| 21-Apr-2017 |
bouyer | Sync with HEAD
|
| 1.54.8.1 |
| 20-Mar-2017 |
pgoyette | Sync with HEAD
|
| 1.54.4.1 |
| 28-Aug-2017 |
skrll | Sync with HEAD
|
| 1.57.4.2 |
| 13-Apr-2020 |
martin | Mostly merge changes from HEAD upto 20200411
|
| 1.57.4.1 |
| 10-Jun-2019 |
christos | Sync with HEAD
|
| 1.57.2.1 |
| 28-Jul-2018 |
pgoyette | Sync with HEAD
|
| 1.59.32.1 |
| 02-Aug-2025 |
perseant | Sync with HEAD
|