|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
|
| #
1.48 |
|
13-Jun-2020 |
ad |
Print a rate limited warning if the TSC timecounter goes backwards from the viewpoint of any single LWP.
|
|
Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 ad-namecache-base2 ad-namecache-base1
|
| #
1.47 |
|
13-Jan-2020 |
ad |
Remove now unused mdlwp fields md_gc_pmap and md_gc_ptp.
|
|
Revision tags: ad-namecache-base phil-wifi-20191119
|
| #
1.46 |
|
12-Oct-2019 |
maxv |
branches: 1.46.2; 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.
|
|
Revision tags: netbsd-8-3-RELEASE netbsd-9-4-RELEASE netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE netbsd-8-2-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320
|
| #
1.45 |
|
25-Feb-2017 |
kamil |
branches: 1.45.14; Garbage collect unneeded inclusion of <x86/dbregs.h> in <machine/proc.h>
This is left over after introduction of Debug Register accessors. This interface replaced older watchpoint API.
Sponsored by <The NetBSD Foundation>
|
| #
1.44 |
|
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>
|
|
Revision tags: nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107
|
| #
1.43 |
|
15-Dec-2016 |
kamil |
branches: 1.43.2; Add support for hardware assisted watchpoints/breakpoints API in ptrace(2)
Add new ptrace(2) calls: - PT_COUNT_WATCHPOINTS - count the number of available hardware watchpoints - PT_READ_WATCHPOINT - read struct ptrace_watchpoint from the kernel state - PT_WRITE_WATCHPOINT - write new struct ptrace_watchpoint state, this includes enabling and disabling watchpoints
The ptrace_watchpoint structure contains MI and MD parts:
typedef struct ptrace_watchpoint { int pw_index; /* HW Watchpoint ID (count from 0) */ lwpid_t pw_lwpid; /* LWP described */ struct mdpw pw_md; /* MD fields */ } ptrace_watchpoint_t;
For example amd64 defines MD as follows: struct mdpw { void *md_address; int md_condition; int md_length; };
These calls are protected with the __HAVE_PTRACE_WATCHPOINTS guard.
Tested on amd64, initial support added for i386 and XEN.
Sponsored by <The NetBSD Foundation>
|
|
Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 nick-nhusb-base-20161204 pgoyette-localcount-20161104 netbsd-7-0-2-RELEASE nick-nhusb-base-20161004 localcount-20160914 netbsd-7-nhusb-base pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 netbsd-7-0-1-RELEASE nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 netbsd-7-0-RELEASE nick-nhusb-base-20150921 netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base-20150606 nick-nhusb-base-20150406 nick-nhusb-base netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
|
| #
1.42 |
|
20-Feb-2014 |
dsl |
branches: 1.42.6; 1.42.10; 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.41 |
|
15-Feb-2014 |
dsl |
Remove all references to MDL_USEDFPU and deferred fpu initialisation. The cost of zeroing the save area on exec is minimal. This stops the FP registers of a random process being used the first time an lwp uses the fpu. sendsig_siginfo() and get_mcontext() now unconditionally copy the FP registers. I'll remove the double-copy for signal handlers soon. get_mcontext() might have been leaking kernel memory to userspace - and may still do so if i386_use_fxsave is false (short copies).
|
| #
1.40 |
|
01-Dec-2013 |
christos |
revert fpu/pcu changes until we figure out what's wrong; they cause random freezes
|
| #
1.39 |
|
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.
|
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE yamt-pagecache-tag8 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 agc-symver-base netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base rmind-uvmplock-nbase cherry-xenmp-base jym-xensuspend-nbase uebayasi-xip-base7 bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base rmind-uvmplock-base jym-xensuspend-base
|
| #
1.38 |
|
14-Jan-2011 |
rmind |
branches: 1.38.8; 1.38.18; 1.38.22; Retire struct user, remove sys/user.h inclusions. Note sys/user.h header as obsolete. Remove USER_TO_UAREA/UAREA_TO_USER macros.
Various #include fixes and review by matt@.
|
|
Revision tags: matt-mips64-premerge-20101231 uebayasi-xip-base6 uebayasi-xip-base5 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1 yamt-nfs-mp-base9 uebayasi-xip-base matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 nick-hppapmap-base mjf-devfs2-base
|
| #
1.37 |
|
20-Dec-2008 |
ad |
branches: 1.37.2; 1.37.6; Remove stray opt_redzone.h
|
|
Revision tags: netbsd-5-0-RC2 netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base wrstuden-revivesa-base
|
| #
1.36 |
|
05-Jun-2008 |
ad |
branches: 1.36.6; 1.36.8; pmap_remove_all() for x86. Also, always defer freeing ptps to pmap_update(). There may be a better way to do this, but for now this is simple and avoids potential bugs.
Proposed on tech-kern and discussed with chs@.
|
|
Revision tags: yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-nbase mjf-devfs-base matt-armv6-base hpcarm-cleanup-base
|
| #
1.35 |
|
04-Jan-2008 |
yamt |
branches: 1.35.6; 1.35.8; 1.35.10; 1.35.12; 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.
|
|
Revision tags: vmlocking2-base3 yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 bouyer-xenamd64-base2 vmlocking-nbase bouyer-xenamd64-base jmcneill-pm-base reinoud-bufcleanup-base
|
| #
1.34 |
|
16-Nov-2007 |
skrll |
branches: 1.34.6; s/proc/lwp/ in comment
|
| #
1.33 |
|
10-Nov-2007 |
ad |
fsbase/gsbase:
- Fix a few bugs with it, in particular fork/exec handling. - Store the descriptors in the PCB, not in the LWP.
|
| #
1.32 |
|
10-Nov-2007 |
ad |
- 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.
|
|
Revision tags: nick-csl-alignment-base5 matt-armv6-prevmlocking jmcneill-base yamt-x86pmap-base4 yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base nick-csl-alignment-base matt-mips64-base yamt-idlelwp-base8 ppcoea-renovation-base thorpej-atomic-base mjf-ufs-trans-base vmlocking-base
|
| #
1.31 |
|
04-Mar-2007 |
christos |
branches: 1.31.2; 1.31.18; 1.31.20; 1.31.24; 1.31.26; Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
|
|
Revision tags: ad-audiomp-base post-newlock2-merge
|
| #
1.30 |
|
09-Feb-2007 |
ad |
branches: 1.30.2; Merge newlock2 to head.
|
|
Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 wrstuden-fixsa-base newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 yamt-splraiseipl-base2 newlock2-base netbsd-4-base
|
| #
1.29 |
|
23-Sep-2006 |
yamt |
fix a typo in 1.28. (ccaddr_t -> caddr_t)
|
|
Revision tags: abandoned-netbsd-4-base yamt-splraiseipl-base yamt-pdpolicy-base9 yamt-pdpolicy-base8 yamt-pdpolicy-base7 yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base yamt-pdpolicy-base5 chap-midi-base simonb-timecounters-base rpaulo-netinet-merge-pcb-base
|
| #
1.28 |
|
22-May-2006 |
yamt |
branches: 1.28.6; 1.28.8; i386 and xen: move struct user to the highest address in uarea and reduce UPAGES from 4 to 3 in the case of !NOREDZONE.
|
|
Revision tags: yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base yamt-pdpolicy-base yamt-uio_vmspace-base5
|
| #
1.27 |
|
24-Dec-2005 |
perry |
branches: 1.27.4; 1.27.6; 1.27.8; 1.27.12; 1.27.14; Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
|
|
Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 yamt-readahead-base3 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 yamt-readahead-base2 netbsd-3-0-RC2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base netbsd-3-0-RC1 yamt-vop-base3 netbsd-2-0-3-RELEASE yamt-vop-base2 thorpej-vnode-attr-base netbsd-2-1-RELEASE yamt-vop-base netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 yamt-km-base4 netbsd-2-0-2-RELEASE yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio2-base netbsd-2-0-1-RELEASE kent-audio1-beforemerge netbsd-2-base kent-audio1-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base ktrace-lwp-base
|
| #
1.26 |
|
21-Feb-2004 |
junyoung |
branches: 1.26.16; - Locate comment in right place. - Fix wrt protection against multiple inclusion.
|
| #
1.25 |
|
28-Jan-2004 |
yamt |
rename i386 mdlwp flags from MDP_ to MDL_ to avoid confusion with mdproc flags which also have MDP_ prefixes.
|
| #
1.24 |
|
14-Jan-2004 |
yamt |
remove a duplicated definition of MDP_USEDFPU.
|
| #
1.23 |
|
27-Oct-2003 |
junyoung |
Nuke __P().
|
| #
1.22 |
|
20-Aug-2003 |
fvdl |
Pass pointers to frames from assembly, do not use the 'frame on stack as argument passed by value' trick, as gcc 3.3.x makes (valid) assumptions about the stack that will not be true. Costs 2 instructions per trap/syscall on i386, 4 per interrupt for MP. One instruction per trap/syscall on amd64, 2 per interrupt for MP. I expect gcc 3.3.1 to make up for this by better optimization (it'd better..)
While here, make amd64 compile again by using subr_mbr_disk.c
|
| #
1.21 |
|
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.20 |
|
23-Jun-2003 |
martin |
branches: 1.20.2; Protect kernel opt_*.h include by #ifdef _KERNEL_OPT
|
| #
1.19 |
|
23-Jun-2003 |
martin |
Make sure to include opt_foo.h if a defflag option FOO is used.
|
| #
1.18 |
|
02-Apr-2003 |
thorpej |
Use PAGE_SIZE rather than NBPG.
|
| #
1.17 |
|
17-Jan-2003 |
thorpej |
Merge the nathanw_sa branch.
|
|
Revision tags: nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base kqueue-aftermerge kqueue-beforemerge
|
| #
1.16 |
|
12-Oct-2002 |
yamt |
re-do my previous commit correctly
|
| #
1.15 |
|
11-Oct-2002 |
yamt |
override KSTACK_LOWEST_ADDR and KSTACK_SIZE for redzone.
|
|
Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 i386mp_plus16_stable netbsd-1-6-base gehenna-devsw-base eeh-devprop-base newlock-base ifpoll-base thorpej-mips-cache-base thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf kqueue-base sommerfeld_i386mpnext sommerfeld_i386mpbase_1
|
| #
1.14 |
|
10-Sep-2001 |
fvdl |
branches: 1.14.2; Add flag to indicate that a process set some mtrrs that need to be cleaned up automatically on exit.
|
|
Revision tags: thorpej-devvp-base thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
| #
1.13 |
|
11-Dec-2000 |
tron |
branches: 1.13.4; 1.13.6; 1.13.8; Include "machine/frame.h" to avoid lint errors while building "libc".
|
| #
1.12 |
|
11-Dec-2000 |
mycroft |
Introduce 2 new flags in types.h: * __HAVE_SYSCALL_INTERN. If this is defined, e_syscall is replaced by e_syscall_intern, which is called at key places in the kernel. This can be used to set a MD syscall handler pointer. This obsoletes and replaces the *_HAS_SEPARATED_SYSCALL flags. * __HAVE_MINIMAL_EMUL. If this is defined, certain (deprecated) elements in struct emul are omitted.
|
| #
1.11 |
|
16-Aug-2000 |
thorpej |
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.
|
|
Revision tags: netbsd-1-4-PATCH003 netbsd-1-5-ALPHA2 sommerfeld_i386mp_houseclean netbsd-1-5-base minoura-xpg4dl-base sommerfeld_i386mpbase_20000422 netbsd-1-4-PATCH002 chs-ubc2-newbase wrstuden-devbsize-19991221 wrstuden-devbsize-base kame_141_19991130 comdex-fall-1999-base fvdl-softdep-base netbsd-1-4-PATCH001 kame_14_19990705 kame_14_19990628 chs-ubc2-base netbsd-1-4-RELEASE netbsd-1-4-base netbsd-1-3-PATCH003 netbsd-1-3-PATCH003-CANDIDATE2 kenh-if-detach-base netbsd-1-3-PATCH003-CANDIDATE1 netbsd-1-3-PATCH003-CANDIDATE0 chs-ubc-base eeh-paddr_t-base netbsd-1-3-PATCH002 netbsd-1-3-PATCH001 netbsd-1-3-RELEASE netbsd-1-3-BETA netbsd-1-3-base thorpej-signal-base marc-pcmcia-bp marc-pcmcia-base is-newarp-before-merge is-newarp-base netbsd-1-2-PATCH001 netbsd-1-2-RELEASE netbsd-1-2-BETA netbsd-1-2-base netbsd-1-1-PATCH001 netbsd-1-1-RELEASE netbsd-1-1-base
|
| #
1.10 |
|
06-Aug-1995 |
mycroft |
branches: 1.10.32; 1.10.44; Move the `used fpu' flag into mdproc, so it can be referenced when a process is swapped out. Implement process_{read,write}_fpregs.
|
| #
1.9 |
|
01-May-1995 |
mycroft |
Make md_regs a pointer to a trapframe.
|
| #
1.8 |
|
01-May-1995 |
mycroft |
Rename ibcs2_sigflags to __spare, but leave the space for now.
|
|
Revision tags: before_newconf_base
|
| #
1.7 |
|
27-Oct-1994 |
cgd |
new RCS ID format.
|
| #
1.6 |
|
15-Aug-1994 |
mycroft |
Add flags for iBCS2 compat.
|
|
Revision tags: netbsd-1-0-base
|
| #
1.5 |
|
05-May-1994 |
cgd |
branches: 1.5.2; lots of changes: prototype migration, move lots of variables, definitions, and structure elements around. kill some unnecessary type and macro definitions. standardize clock handling. More changes than you'd want.
|
|
Revision tags: magnum-base
|
| #
1.4 |
|
21-Dec-1993 |
mycroft |
branches: 1.4.2; Remove two unused fields.
|
| #
1.3 |
|
20-Dec-1993 |
mycroft |
Cleanup and garbage collection; nothing significant. From magnum branch.
|
|
Revision tags: netbsd-0-9-patch-001 netbsd-0-9-RELEASE netbsd-0-9-BETA netbsd-0-9-ALPHA2 netbsd-0-9-ALPHA netbsd-0-9-base
|
| #
1.2 |
|
22-May-1993 |
cgd |
branches: 1.2.4; add rcsids to everything and clean up headers
|
| #
1.1 |
|
21-Mar-1993 |
cgd |
branches: 1.1.1; Initial revision
|