Up to [cvs.NetBSD.org] / src / sys / arch / amd64 / amd64
Request diff between arbitrary revisions
Default branch: MAIN
Revision 1.221 / (download) - annotate - [select for diffs], Sun May 14 09:05:39 2023 UTC (3 weeks, 6 days ago) by riastradh
Branch: MAIN
CVS Tags: HEAD
Changes since 1.220: +8 -8
lines
Diff to previous 1.220 (colored)
x86/locore.S: Nix trailing whitespace.
Revision 1.214.4.1 / (download) - annotate - [select for diffs], Sat May 13 13:26:57 2023 UTC (4 weeks ago) by martin
Branch: netbsd-10
Changes since 1.214: +149 -1
lines
Diff to previous 1.214 (colored) next main 1.215 (colored)
Pull up following revision(s) (requested by manu in ticket #159): share/man/man8/man8.x86/boot.8: revision 1.27 sys/arch/i386/stand/efiboot/version: revision 1.3 share/man/man8/man8.x86/boot.8: revision 1.28 share/man/man8/man8.x86/boot.8: revision 1.29 sys/arch/i386/stand/lib/exec.c: revision 1.79 sys/arch/i386/stand/efiboot/efiboot.c: revision 1.13 sys/arch/i386/stand/efiboot/bootx64/efibootx64.c: revision 1.6 sys/arch/i386/stand/efiboot/bootia32/efibootia32.c: revision 1.6 sys/arch/i386/stand/efiboot/boot.c: revision 1.22 sys/arch/amd64/amd64/locore.S: revision 1.219 sys/arch/i386/stand/efiboot/bootia32/startprog32.S: revision 1.3 sys/arch/i386/stand/efiboot/efiboot.h: revision 1.12 sys/arch/amd64/conf/files.amd64: revision 1.121 sys/arch/amd64/conf/std.amd64: revision 1.13 share/man/man8/man8.x86/pxeboot.8: revision 1.6 sys/arch/i386/stand/efiboot/bootx64/startprog64.S: revision 1.4 sys/arch/amd64/amd64/locore.S: revision 1.220 share/man/man8/man8.x86/dosboot.8: revision 1.4 share/man/man4/options.4: revision 1.524 Add reloc keyworkd to let EFI bootstrap load amd64 kernel at any address EFI bootstrap assumes it can copy the amd64 kernel to its ELF load address (that is KERNTEXTOFF - KERNBASE = 0x200000), but it can clash with previous UEFI memory allocation, as described here: http://mail-index.netbsd.org/tech-kern/2023/04/07/msg028833.html This change adds a reloc keyword for controling where the EFI boostrap will copy the kernel image. Possible values are: default - the default and prior behavior, copy at 0x200000. none - do not copy and use the kernel image where it was loaded. address - specify an explicit address where to copy the kernel. This comes with an amd64 kernel patch that makes it self-relocatable. It first discover where it was loaded in memory, and if this is different than the expected 0x200000, hhe the kernel relocates itself and start over at the right address. Merge x86 boot options in x86/boot(8) and add undocumented UEFI options We were supposed to keep the option list in x86/boot(8), x86/dosoot(8) and x86/pxeboot(8) in sync, but it did not happen, hence it may work better with all the options in x86/boot(8). Also add the undocumented UEFI boot options. Add a SELFRELOC kernel option for the sake of documentation clarity. Instead of telling that x86/boot(8) reloc command needs a kernel able to self relocate, we can tell it needs a kernel built with the SELFRELOC option. This keeps the reader from wondering what could make a kernel able to self relocate. Remove XXX todo marker left by mistake Raise the version for new feature (here reloc command) Suggested by Masanobu SAITOH
Revision 1.185.2.1 / (download) - annotate - [select for diffs], Sat May 13 11:45:53 2023 UTC (4 weeks ago) by martin
Branch: netbsd-9
Changes since 1.185: +149 -1
lines
Diff to previous 1.185 (colored) next main 1.186 (colored)
Pull up following revision(s) (requested by manu in ticket #1632): share/man/man8/man8.x86/boot.8: revision 1.27 sys/arch/i386/stand/efiboot/version: revision 1.3 share/man/man8/man8.x86/boot.8: revision 1.28 (via patch) share/man/man8/man8.x86/boot.8: revision 1.29 (via patch) sys/arch/i386/stand/lib/exec.c: revision 1.79 sys/arch/i386/stand/efiboot/efiboot.c: revision 1.13 sys/arch/i386/stand/efiboot/bootx64/efibootx64.c: revision 1.6 sys/arch/i386/stand/efiboot/bootia32/efibootia32.c: revision 1.6 sys/arch/i386/stand/efiboot/boot.c: revision 1.22 sys/arch/amd64/amd64/locore.S: revision 1.219 sys/arch/i386/stand/efiboot/bootia32/startprog32.S: revision 1.3 sys/arch/i386/stand/efiboot/efiboot.h: revision 1.12 sys/arch/amd64/conf/files.amd64: revision 1.121 sys/arch/amd64/conf/std.amd64: revision 1.13 share/man/man8/man8.x86/pxeboot.8: revision 1.6 sys/arch/i386/stand/efiboot/bootx64/startprog64.S: revision 1.4 sys/arch/amd64/amd64/locore.S: revision 1.220 share/man/man8/man8.x86/dosboot.8: revision 1.4 share/man/man4/options.4: revision 1.524 Add reloc keyworkd to let EFI bootstrap load amd64 kernel at any address EFI bootstrap assumes it can copy the amd64 kernel to its ELF load address (that is KERNTEXTOFF - KERNBASE = 0x200000), but it can clash with previous UEFI memory allocation, as described here: http://mail-index.netbsd.org/tech-kern/2023/04/07/msg028833.html This change adds a reloc keyword for controling where the EFI boostrap will copy the kernel image. Possible values are: default - the default and prior behavior, copy at 0x200000. none - do not copy and use the kernel image where it was loaded. address - specify an explicit address where to copy the kernel. This comes with an amd64 kernel patch that makes it self-relocatable. It first discover where it was loaded in memory, and if this is different than the expected 0x200000, hhe the kernel relocates itself and start over at the right address. Merge x86 boot options in x86/boot(8) and add undocumented UEFI options We were supposed to keep the option list in x86/boot(8), x86/dosoot(8) and x86/pxeboot(8) in sync, but it did not happen, hence it may work better with all the options in x86/boot(8). Also add the undocumented UEFI boot options. Add a SELFRELOC kernel option for the sake of documentation clarity. Instead of telling that x86/boot(8) reloc command needs a kernel able to self relocate, we can tell it needs a kernel built with the SELFRELOC option. This keeps the reader from wondering what could make a kernel able to self relocate. Remove XXX todo marker left by mistake Raise the version for new feature (here reloc command) Suggested by Masanobu SAITOH
Revision 1.220 / (download) - annotate - [select for diffs], Fri May 5 00:34:41 2023 UTC (5 weeks, 1 day ago) by manu
Branch: MAIN
Changes since 1.219: +6 -1
lines
Diff to previous 1.219 (colored)
Add a SELFRELOC kernel option for the sake of documentation clarity. Instead of telling that x86/boot(8) reloc command needs a kernel able to self relocate, we can tell it needs a kernel built with the SELFRELOC option. This keeps the reader from wondering what could make a kernel able to self relocate.
Revision 1.219 / (download) - annotate - [select for diffs], Thu Apr 20 00:42:23 2023 UTC (7 weeks, 2 days ago) by manu
Branch: MAIN
Changes since 1.218: +144 -1
lines
Diff to previous 1.218 (colored)
Add reloc keyworkd to let EFI bootstrap load amd64 kernel at any address EFI bootstrap assumes it can copy the amd64 kernel to its ELF load address (that is KERNTEXTOFF - KERNBASE = 0x200000), but it can clash with previous UEFI memory allocation, as described here: http://mail-index.netbsd.org/tech-kern/2023/04/07/msg028833.html This change adds a reloc keyword for controling where the EFI boostrap will copy the kernel image. Possible values are: default - the default and prior behavior, copy at 0x200000. none - do not copy and use the kernel image where it was loaded. address - specify an explicit address where to copy the kernel. This comes with an amd64 kernel patch that makes it self-relocatable. It first discover where it was loaded in memory, and if this is different than the expected 0x200000, hhe the kernel relocates itself and start over at the right address.
Revision 1.218 / (download) - annotate - [select for diffs], Fri Mar 3 14:32:48 2023 UTC (3 months, 1 week ago) by riastradh
Branch: MAIN
Changes since 1.217: +2 -17
lines
Diff to previous 1.217 (colored)
Revert "x86: Add kthread_fpu_enter/exit support, take two." kthread_fpu_enter/exit changes broke some hardware, unclear why, to investigate before fixing and reapplying these changes.
Revision 1.217 / (download) - annotate - [select for diffs], Wed Mar 1 08:38:50 2023 UTC (3 months, 1 week ago) by riastradh
Branch: MAIN
Changes since 1.216: +27 -3
lines
Diff to previous 1.216 (colored)
x86: Expand on comments on ordering around stores to ci_curlwp. No functional change intended. PR kern/57240
Revision 1.216 / (download) - annotate - [select for diffs], Sat Feb 25 18:04:42 2023 UTC (3 months, 1 week ago) by riastradh
Branch: MAIN
Changes since 1.215: +17 -2
lines
Diff to previous 1.215 (colored)
x86: Add kthread_fpu_enter/exit support, take two. This time, make sure to restore the FPU state when switching to a kthread in the middle of kthread_fpu_enter/exit. This adds a single predicted-taken branch for the case of kthreads that are not in kthread_fpu_enter/exit, so it incurs a penalty only for threads that actually use it. Since it avoids FPU state switching in kthreads that do use the FPU, namely cgd worker threads, this should be a net performance win on systems using it and have negligible impact otherwise. XXX pullup-10
Revision 1.215 / (download) - annotate - [select for diffs], Mon Dec 26 17:46:00 2022 UTC (5 months, 2 weeks ago) by christos
Branch: MAIN
Changes since 1.214: +2 -2
lines
Diff to previous 1.214 (colored)
sysret -> sysretl for new binutils
Revision 1.214 / (download) - annotate - [select for diffs], Wed Sep 7 00:40:18 2022 UTC (9 months ago) by knakahara
Branch: MAIN
CVS Tags: netbsd-10-base,
bouyer-sunxi-drm-base,
bouyer-sunxi-drm
Branch point for: netbsd-10
Changes since 1.213: +4 -4
lines
Diff to previous 1.213 (colored)
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.
Revision 1.213 / (download) - annotate - [select for diffs], Sun Jun 12 11:36:42 2022 UTC (11 months, 4 weeks ago) by bouyer
Branch: MAIN
Changes since 1.212: +11 -1
lines
Diff to previous 1.212 (colored)
XenPV: in cpu_switchto(), reset ci_xen_clockf_usermode/ci_xen_clockf_pc, in case a clock interrupt is deffered while we're switching lwp. Fix a (rare) panic: panic: kernel diagnostic assertion "p != NULL" failed: file "/usr/src/sys/kern/kern_clock.c", line 438 seen when xen_timer_handler() is called from the splx() at the end of mi_switch()
Revision 1.212 / (download) - annotate - [select for diffs], Wed Nov 10 15:59:07 2021 UTC (18 months, 4 weeks ago) by msaitoh
Branch: MAIN
Changes since 1.211: +2 -2
lines
Diff to previous 1.211 (colored)
s/annouce/announce/ in comment.
Revision 1.211 / (download) - annotate - [select for diffs], Fri Aug 13 20:26:07 2021 UTC (21 months, 3 weeks ago) by andvar
Branch: MAIN
Changes since 1.210: +2 -2
lines
Diff to previous 1.210 (colored)
s/struture/structure/ s/structre/structure/
Revision 1.210 / (download) - annotate - [select for diffs], Sun Jun 21 16:57:18 2020 UTC (2 years, 11 months ago) by bouyer
Branch: MAIN
CVS Tags: thorpej-i2c-spi-conf2-base,
thorpej-i2c-spi-conf2,
thorpej-i2c-spi-conf-base,
thorpej-i2c-spi-conf,
thorpej-futex2-base,
thorpej-futex2,
thorpej-futex-base,
thorpej-futex,
thorpej-cfargs2-base,
thorpej-cfargs2,
thorpej-cfargs-base,
thorpej-cfargs,
cjep_sun2x-base1,
cjep_sun2x-base,
cjep_sun2x,
cjep_staticlib_x-base1,
cjep_staticlib_x-base,
cjep_staticlib_x
Changes since 1.209: +11 -2
lines
Diff to previous 1.209 (colored)
On amd64, Xen PV calls syscalls and traps with events enabled. Disable events on entry to be safe. It should have been mostly safe for most cases, but for FPU traps we need to reload the FPU state if we got interrupted at trap entry. Hopefully fixes: panic: kernel diagnostic assertion "curlwp->l_md.md_flags & MDL_FPU_IN_CPU" failed: file "/home/source/ab/HEAD/src/sys/arch/x86/x86/fpu.c", line 524 when running tests.
Revision 1.209 / (download) - annotate - [select for diffs], Wed May 27 19:33:40 2020 UTC (3 years ago) by ad
Branch: MAIN
Changes since 1.208: +1 -56
lines
Diff to previous 1.208 (colored)
- Add a couple of wrapper functions around STOS and MOVS and use them to zero and copy PTEs in preference to memset()/memcpy(). - Remove related SSE / pageidlezero stuff.
Revision 1.208 / (download) - annotate - [select for diffs], Tue May 5 06:32:43 2020 UTC (3 years, 1 month ago) by maxv
Branch: MAIN
Changes since 1.207: +5 -4
lines
Diff to previous 1.207 (colored)
Fix KASAN, init_xen_early must be called after kasan_early_init.
Revision 1.207 / (download) - annotate - [select for diffs], Sat May 2 19:01:08 2020 UTC (3 years, 1 month ago) by christos
Branch: MAIN
Changes since 1.206: +4 -4
lines
Diff to previous 1.206 (colored)
Fix build without XEN
Revision 1.206 / (download) - annotate - [select for diffs], Sat May 2 16:44:34 2020 UTC (3 years, 1 month ago) by bouyer
Branch: MAIN
Changes since 1.205: +84 -5
lines
Diff to previous 1.205 (colored)
Introduce Xen PVH support in GENERIC. This is compiled in with options XENPVHVM x86 changes: - add Xen section and xen pvh entry points to locore.S. Set vm_guest to VM_GUEST_XENPVH in this entry point. Most of the boot procedure (especially page table setup and switch to paged mode) is shared with native. - change some x86_delay() to delay_func(), which points to x86_delay() for native/HVM, and xen_delay() for PVH Xen changes: - remove Xen bits from init_x86_64_ksyms() and init386_ksyms() and move to xen_init_ksyms(), used for both PV and PVH - set ISA no-legacy-devices property for PVH - factor out code from Xen's cpu_bootconf() to xen_bootconf() in xen_machdep.c - set up a specific pvh_consinit() which starts with printk() (which uses a simple hypercall that is available early) and switch to xencons when we can use pmap_kenter_pa().
Revision 1.205 / (download) - annotate - [select for diffs], Sat May 2 16:28:37 2020 UTC (3 years, 1 month ago) by maxv
Branch: MAIN
Changes since 1.204: +6 -1
lines
Diff to previous 1.204 (colored)
Call kasan_early_init earlier, to unbreak KASAN after the recent RNG changes. Will also prevent further trouble.
Revision 1.204 / (download) - annotate - [select for diffs], Thu Apr 30 17:21:12 2020 UTC (3 years, 1 month ago) by maxv
Branch: MAIN
Changes since 1.203: +1 -11
lines
Diff to previous 1.203 (colored)
The labels are already global, drop unused.
Revision 1.203 / (download) - annotate - [select for diffs], Thu Apr 30 17:17:33 2020 UTC (3 years, 1 month ago) by maxv
Branch: MAIN
Changes since 1.202: +21 -1
lines
Diff to previous 1.202 (colored)
Switch to templates.
Revision 1.202 / (download) - annotate - [select for diffs], Sun Apr 26 14:07:43 2020 UTC (3 years, 1 month ago) by maxv
Branch: MAIN
Changes since 1.201: +3 -1
lines
Diff to previous 1.201 (colored)
Put the template functions in the rodata section; they get hotpatched into other places, but never execute directly.
Revision 1.201 / (download) - annotate - [select for diffs], Sat Apr 25 15:26:16 2020 UTC (3 years, 1 month ago) by bouyer
Branch: MAIN
Changes since 1.200: +4 -2
lines
Diff to previous 1.200 (colored)
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
Revision 1.200.4.2 / (download) - annotate - [select for diffs], Thu Apr 16 09:45:56 2020 UTC (3 years, 1 month ago) by bouyer
Branch: bouyer-xenpvh
Changes since 1.200.4.1: +2 -2
lines
Diff to previous 1.200.4.1 (colored) to branchpoint 1.200 (colored) next main 1.201 (colored)
More #ifndef XEN -> #ifndef XENPV
Revision 1.166.2.3 / (download) - annotate - [select for diffs], Mon Apr 13 08:03:30 2020 UTC (3 years, 1 month ago) by martin
Branch: phil-wifi
Changes since 1.166.2.2: +18 -37
lines
Diff to previous 1.166.2.2 (colored) to branchpoint 1.166 (colored) next main 1.167 (colored)
Mostly merge changes from HEAD upto 20200411
Revision 1.200.4.1 / (download) - annotate - [select for diffs], Wed Apr 8 17:59:16 2020 UTC (3 years, 2 months ago) by bouyer
Branch: bouyer-xenpvh
Changes since 1.200: +3 -1
lines
Diff to previous 1.200 (colored)
Remove VM_GUEST_XEN and define only Xen subtypes: VM_GUEST_XENPV VM_GUEST_XENPVH VM_GUEST_XENHVM VM_GUEST_XENPVHVM Set vm_guest in the start routine, if it is hypervisor-specific (e.g Xen PV). If vm_guest was not set early and we detect Xen in identify_hypervisor(), assume it is VM_GUEST_XENHVM. Refine to VM_GUEST_PVXENHVM in hypervisor_match().
Revision 1.166.2.2 / (download) - annotate - [select for diffs], Wed Apr 8 14:07:25 2020 UTC (3 years, 2 months ago) by martin
Branch: phil-wifi
Changes since 1.166.2.1: +11 -23
lines
Diff to previous 1.166.2.1 (colored) to branchpoint 1.166 (colored)
Merge changes from current as of 20200406
Revision 1.195.2.1 / (download) - annotate - [select for diffs], Fri Jan 17 21:47:22 2020 UTC (3 years, 4 months ago) by ad
Branch: ad-namecache
Changes since 1.195: +3 -764
lines
Diff to previous 1.195 (colored) next main 1.196 (colored)
Sync with head.
Revision 1.200 / (download) - annotate - [select for diffs], Wed Jan 15 18:47:23 2020 UTC (3 years, 4 months ago) by ad
Branch: MAIN
CVS Tags: phil-wifi-20200421,
phil-wifi-20200411,
phil-wifi-20200406,
is-mlppp-base,
is-mlppp,
bouyer-xenpvh-base2,
bouyer-xenpvh-base1,
bouyer-xenpvh-base,
ad-namecache-base3,
ad-namecache-base2,
ad-namecache-base1
Branch point for: bouyer-xenpvh
Changes since 1.199: +1 -5
lines
Diff to previous 1.199 (colored)
Back out the cpu_switchto() workaround now that it's no longer needed.
Revision 1.199 / (download) - annotate - [select for diffs], Mon Jan 13 11:40:15 2020 UTC (3 years, 4 months ago) by ad
Branch: MAIN
Changes since 1.198: +5 -1
lines
Diff to previous 1.198 (colored)
It looks like Xen cpu_hatch() calls cpu_switchto() with prevlwp=NULL, instead of calling idle_loop() directly. I can't test a change to cpu_hatch() right now so allow for prevlwp=NULL.
Revision 1.198 / (download) - annotate - [select for diffs], Thu Jan 9 00:42:24 2020 UTC (3 years, 5 months ago) by manu
Branch: MAIN
Changes since 1.197: +1 -758
lines
Diff to previous 1.197 (colored)
Rollback multiboot2 for amd64, as requested by core
Revision 1.197 / (download) - annotate - [select for diffs], Wed Jan 8 20:59:18 2020 UTC (3 years, 5 months ago) by skrll
Branch: MAIN
Changes since 1.196: +3 -3
lines
Diff to previous 1.196 (colored)
oldlwp is always non-NULL in cpu_switchto so remove the test for NULL.
Revision 1.196 / (download) - annotate - [select for diffs], Wed Jan 8 17:38:41 2020 UTC (3 years, 5 months ago) by ad
Branch: MAIN
Changes since 1.195: +1 -5
lines
Diff to previous 1.195 (colored)
Hopefully fix some problems seen with MP support on non-x86, in particular where curcpu() is defined as curlwp->l_cpu: - mi_switch(): undo the ~2007ish optimisation to unlock curlwp before calling cpu_switchto(). It's not safe to let other actors mess with the LWP (in particular l->l_cpu) while it's still context switching. This removes l->l_ctxswtch. - Move the LP_RUNNING flag into l->l_flag and rename to LW_RUNNING since it's now covered by the LWP's lock. - Ditch lwp_exit_switchaway() and just call mi_switch() instead. Everything is in cache anyway so it wasn't buying much by trying to avoid saving old state. This means cpu_switchto() will never be called with prevlwp == NULL. - Remove some KERNEL_LOCK handling which hasn't been needed for years.
Revision 1.195 / (download) - annotate - [select for diffs], Sun Dec 15 02:58:21 2019 UTC (3 years, 5 months ago) by manu
Branch: MAIN
CVS Tags: ad-namecache-base
Branch point for: ad-namecache
Changes since 1.194: +1 -1
lines
Diff to previous 1.194 (colored)
Fix typo that caused two instructions to be commented out Oddly, that did not break booting.
Revision 1.194 / (download) - annotate - [select for diffs], Sun Dec 15 02:56:40 2019 UTC (3 years, 5 months ago) by manu
Branch: MAIN
Changes since 1.193: +2 -2
lines
Diff to previous 1.193 (colored)
Restore multiboot 2 header in amd64 kernel The header must appear below 32k offset in the kernel file, but we have to make sure it does not load at low addresses, otherwise we break BIOS boot. .text section used to load at 0x200000, we just load multiboot section there, and have .text loaded just after.
Revision 1.193 / (download) - annotate - [select for diffs], Tue Dec 10 02:06:07 2019 UTC (3 years, 6 months ago) by manu
Branch: MAIN
Changes since 1.192: +758 -1
lines
Diff to previous 1.192 (colored)
Add multiboot 2 support to amd64 kernel
Revision 1.192 / (download) - annotate - [select for diffs], Fri Nov 22 23:36:25 2019 UTC (3 years, 6 months ago) by ad
Branch: MAIN
Changes since 1.191: +8 -16
lines
Diff to previous 1.191 (colored)
- On-demand zeroing pages with MOVNTI is crazy. It empties L1/L2/L3. - Disable zeroing in the idle loop. That needs a cache-friendly strategy. Result: 3 to 4% reduction in kernel build time on my test system. Inspired by a discussion with Mateusz Guzik and David Maxwell.
Revision 1.191 / (download) - annotate - [select for diffs], Thu Nov 21 19:27:54 2019 UTC (3 years, 6 months ago) by ad
Branch: MAIN
Changes since 1.190: +2 -2
lines
Diff to previous 1.190 (colored)
x86: abort pageidlezero unconditionally if there is something to run.
Revision 1.190 / (download) - annotate - [select for diffs], Thu Nov 14 16:23:52 2019 UTC (3 years, 6 months ago) by maxv
Branch: MAIN
CVS Tags: phil-wifi-20191119
Changes since 1.189: +10 -1
lines
Diff to previous 1.189 (colored)
Add support for Kernel Memory Sanitizer (kMSan). It detects uninitialized memory used by the kernel at run time, and just like kASan and kCSan, it is an excellent feature. It has already detected 38 uninitialized variables in the kernel during my testing, which I have since discreetly fixed. We use two shadows: - "shad", to track uninitialized memory with a bit granularity (1:1). Each bit set to 1 in the shad corresponds to one uninitialized bit of real kernel memory. - "orig", to track the origin of the memory with a 4-byte granularity (1:1). Each uint32_t cell in the orig indicates the origin of the associated uint32_t of real kernel memory. The memory consumption of these shadows is consequent, so at least 4GB of RAM is recommended to run kMSan. The compiler inserts calls to specific __msan_* functions on each memory access, to manage both the shad and the orig and detect uninitialized memory accesses that change the execution flow (like an "if" on an uninitialized variable). We mark as uninit several types of memory buffers (stack, pools, kmem, malloc, uvm_km), and check each buffer passed to copyout, copyoutstr, bwrite, if_transmit_lock and DMA operations, to detect uninitialized memory that leaves the system. This allows us to detect kernel info leaks in a way that is more efficient and also more user-friendly than KLEAK. Contrary to kASan, kMSan requires comprehensive coverage, ie we cannot tolerate having one non-instrumented function, because this could cause false positives. kMSan cannot instrument ASM functions, so I converted most of them to __asm__ inlines, which kMSan is able to instrument. Those that remain receive special treatment. Contrary to kASan again, kMSan uses a TLS, so we must context-switch this TLS during interrupts. We use different contexts depending on the interrupt level. The orig tracks precisely the origin of a buffer. We use a special encoding for the orig values, and pack together in each uint32_t cell of the orig: - a code designating the type of memory (Stack, Pool, etc), and - a compressed pointer, which points either (1) to a string containing the name of the variable associated with the cell, or (2) to an area in the kernel .text section which we resolve to a symbol name + offset. This encoding allows us not to consume extra memory for associating information with each cell, and produces a precise output, that can tell for example the name of an uninitialized variable on the stack, the function in which it was pushed on the stack, and the function where we accessed this uninitialized variable. kMSan is available with LLVM, but not with GCC. The code is organized in a way that is similar to kASan and kCSan, so it means that other architectures than amd64 can be supported.
Revision 1.189 / (download) - annotate - [select for diffs], Sat Oct 12 06:31:03 2019 UTC (3 years, 7 months ago) by maxv
Branch: MAIN
Changes since 1.188: +5 -22
lines
Diff to previous 1.188 (colored)
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 1.188 / (download) - annotate - [select for diffs], Fri Oct 4 11:47:07 2019 UTC (3 years, 8 months ago) by maxv
Branch: MAIN
Changes since 1.187: +2 -2
lines
Diff to previous 1.187 (colored)
Rename fpu_eagerswitch to fpu_switch, and add fpu_xstate_reload to simplify.
Revision 1.187 / (download) - annotate - [select for diffs], Thu Oct 3 05:06:29 2019 UTC (3 years, 8 months ago) by maxv
Branch: MAIN
Changes since 1.186: +2 -5
lines
Diff to previous 1.186 (colored)
Remove the LazyFPU code, as posted 5 months ago on port-amd64@.
Revision 1.186 / (download) - annotate - [select for diffs], Wed Aug 21 16:35:10 2019 UTC (3 years, 9 months ago) by maxv
Branch: MAIN
Changes since 1.185: +4 -12
lines
Diff to previous 1.185 (colored)
Switch from printf to panic. These messages were notorious for being unreadable, and at least a clean panic allows the user to inspect the system via DDB. Also simplify the output, EAX gets overwritten with the error code so it indicates nothing meaningful.
Revision 1.166.2.1 / (download) - annotate - [select for diffs], Mon Jun 10 22:05:47 2019 UTC (4 years ago) by christos
Branch: phil-wifi
Changes since 1.166: +114 -117
lines
Diff to previous 1.166 (colored)
Sync with HEAD
Revision 1.185 / (download) - annotate - [select for diffs], Sat May 18 13:32:12 2019 UTC (4 years ago) by maxv
Branch: MAIN
CVS Tags: phil-wifi-20190609,
netbsd-9-base,
netbsd-9-3-RELEASE,
netbsd-9-2-RELEASE,
netbsd-9-1-RELEASE,
netbsd-9-0-RELEASE,
netbsd-9-0-RC2,
netbsd-9-0-RC1
Branch point for: netbsd-9
Changes since 1.184: +17 -25
lines
Diff to previous 1.184 (colored)
Two changes in the CPU mitigations: * Micro-optimize: put every mitigation in the same branch. This removes two branches in each exc/int return path, and removes all branches in the syscall return path. * Modify the SpectreV2 mitigation to be compatible with SpectreV4. I recently realized that both couldn't be enabled at the same time on Intel. This is because initially, when there was just SpectreV2, we could reset the whole IA32_SPEC_CTRL MSR. But then Intel added another bit in it for SpectreV4, so it isn't right to reset it entirely anymore. SSBD needs to stay.
Revision 1.184 / (download) - annotate - [select for diffs], Sat May 18 07:58:58 2019 UTC (4 years ago) by maxv
Branch: MAIN
Changes since 1.183: +2 -1
lines
Diff to previous 1.183 (colored)
Set the symbol type for intrfastexit, so that tools like tprof can find the symbol name.
Revision 1.183 / (download) - annotate - [select for diffs], Wed May 15 18:27:51 2019 UTC (4 years ago) by maxv
Branch: MAIN
Changes since 1.182: +1 -3
lines
Diff to previous 1.182 (colored)
Enable EagerFPU on Xen PV. Should work as-is. Sent on port-amd64@.
Revision 1.182 / (download) - annotate - [select for diffs], Wed May 15 17:31:41 2019 UTC (4 years ago) by maxv
Branch: MAIN
Changes since 1.181: +1 -29
lines
Diff to previous 1.181 (colored)
Change the way SVS is disabled. Now you have to pass "boot -3" from the bootloader. The machdep.svs.enabled sysctl becomes read-only, and just indicates whether SVS is enabled. Sent on port-amd64@.
Revision 1.123.6.9 / (download) - annotate - [select for diffs], Tue May 14 17:12:19 2019 UTC (4 years ago) by martin
Branch: netbsd-8
CVS Tags: netbsd-8-2-RELEASE,
netbsd-8-1-RELEASE,
netbsd-8-1-RC1
Changes since 1.123.6.8: +18 -1
lines
Diff to previous 1.123.6.8 (colored) to branchpoint 1.123 (colored) next main 1.124 (colored)
Pull up following revision(s) (requested by maxv in ticket #1269): sys/arch/amd64/amd64/locore.S: revision 1.181 (adapted) sys/arch/amd64/amd64/amd64_trap.S: revision 1.47 (adapted) sys/arch/x86/include/specialreg.h: revision 1.144 (adapted) sys/arch/amd64/include/frameasm.h: revision 1.43 (adapted) sys/arch/x86/x86/spectre.c: revision 1.27 (adapted) Mitigation for INTEL-SA-00233: Microarchitectural Data Sampling (MDS). It requires a microcode update, now available on the Intel website. The microcode modifies the behavior of the VERW instruction, and makes it flush internal CPU buffers. We hotpatch the return-to-userland path to add VERW. Two sysctls are added: machdep.mds.mitigated = {0/1} user-settable machdep.mds.method = {string} constructed by the kernel The kernel will automatically enable the mitigation if the updated microcode is present. If the new microcode is not present, the user can load it via cpuctl, and set machdep.mds.mitigated=1.
Revision 1.181 / (download) - annotate - [select for diffs], Tue May 14 16:59:25 2019 UTC (4 years ago) by maxv
Branch: MAIN
Changes since 1.180: +18 -1
lines
Diff to previous 1.180 (colored)
Mitigation for INTEL-SA-00233: Microarchitectural Data Sampling (MDS). It requires a microcode update, now available on the Intel website. The microcode modifies the behavior of the VERW instruction, and makes it flush internal CPU buffers. We hotpatch the return-to-userland path to add VERW. Two sysctls are added: machdep.mds.mitigated = {0/1} user-settable machdep.mds.method = {string} constructed by the kernel The kernel will automatically enable the mitigation if the updated microcode is present. If the new microcode is not present, the user can load it via cpuctl, and set machdep.mds.mitigated=1.
Revision 1.180 / (download) - annotate - [select for diffs], Sat Mar 9 08:42:25 2019 UTC (4 years, 3 months ago) by maxv
Branch: MAIN
CVS Tags: isaki-audio2-base,
isaki-audio2
Changes since 1.179: +18 -18
lines
Diff to previous 1.179 (colored)
Start replacing the x86 PTE bits.
Revision 1.179 / (download) - annotate - [select for diffs], Thu Mar 7 13:26:24 2019 UTC (4 years, 3 months ago) by maxv
Branch: MAIN
Changes since 1.178: +3 -3
lines
Diff to previous 1.178 (colored)
Drop PG_RO, PG_KR and PG_PROT, they are useless and create confusion.
Revision 1.178 / (download) - annotate - [select for diffs], Thu Feb 14 08:18:25 2019 UTC (4 years, 3 months ago) by cherry
Branch: MAIN
Changes since 1.177: +2 -2
lines
Diff to previous 1.177 (colored)
Welcome XENPVHVM mode. It is UP only, has xbd(4) and xennet(4) as PV drivers. The console is com0 at isa and the native portion is very rudimentary AT architecture, so is probably suboptimal to run without PV support.
Revision 1.177 / (download) - annotate - [select for diffs], Wed Feb 13 05:36:59 2019 UTC (4 years, 3 months ago) by cherry
Branch: MAIN
Changes since 1.176: +9 -5
lines
Diff to previous 1.176 (colored)
Rig the hypercall callback page such that when the kernel happens to run without a XEN domain loader having previously overwritten the hypercall page with its hypercall trampoline machine code, we still get to detect its presence by calling the xen_version hypercall stub. We use this hack to detect the presence or absence of the hypervisor, without relying on the MSR support on HVM domains. This works as an added sanity check that the hypercall page registration has indeed succeeded in HVM mode.
Revision 1.176 / (download) - annotate - [select for diffs], Mon Feb 11 14:59:32 2019 UTC (4 years, 3 months ago) by cherry
Branch: MAIN
Changes since 1.175: +17 -15
lines
Diff to previous 1.175 (colored)
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.
Revision 1.175 / (download) - annotate - [select for diffs], Sat Feb 2 12:32:54 2019 UTC (4 years, 4 months ago) by cherry
Branch: MAIN
Changes since 1.174: +3 -3
lines
Diff to previous 1.174 (colored)
Switch NetBSD/xen to use XEN api tag RELEASE-4.11.1 The headers for this api are in sys/external/mit/xen-include-public/dist/
Revision 1.157.2.9 / (download) - annotate - [select for diffs], Thu Sep 6 06:55:24 2018 UTC (4 years, 9 months ago) by pgoyette
Branch: pgoyette-compat
CVS Tags: pgoyette-compat-merge-20190127
Changes since 1.157.2.8: +1 -8
lines
Diff to previous 1.157.2.8 (colored) to branchpoint 1.157 (colored) next main 1.158 (colored)
Sync with HEAD Resolve a couple of conflicts (result of the uimin/uimax changes)
Revision 1.174 / (download) - annotate - [select for diffs], Sun Aug 12 15:31:01 2018 UTC (4 years, 9 months ago) by maxv
Branch: MAIN
CVS Tags: pgoyette-compat-20190127,
pgoyette-compat-20190118,
pgoyette-compat-1226,
pgoyette-compat-1126,
pgoyette-compat-1020,
pgoyette-compat-0930,
pgoyette-compat-0906
Changes since 1.173: +1 -8
lines
Diff to previous 1.173 (colored)
More ASLR: randomize the location of the PTE area. The PTE slot is not created in locore anymore, but a little later; by using the already entered L4 page, rather than the recursive slot itself (which doesn't exist yet). In the prekern we still map the slot - the prekern behaves as an external locore -, because we need it as part of the randomization/relocation work. The kernel then removes this slot, and regenerates a randomized one. Tested on GENERIC and GENERIC_KASLR, Xen doesn't have it and dom0 still boots fine.
Revision 1.157.2.8 / (download) - annotate - [select for diffs], Sat Jul 28 04:37:26 2018 UTC (4 years, 10 months ago) by pgoyette
Branch: pgoyette-compat
Changes since 1.157.2.7: +53 -35
lines
Diff to previous 1.157.2.7 (colored) to branchpoint 1.157 (colored)
Sync with HEAD
Revision 1.173 / (download) - annotate - [select for diffs], Thu Jul 26 09:29:08 2018 UTC (4 years, 10 months ago) by maxv
Branch: MAIN
CVS Tags: pgoyette-compat-0728
Changes since 1.172: +6 -1
lines
Diff to previous 1.172 (colored)
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.
Revision 1.172 / (download) - annotate - [select for diffs], Sat Jul 21 06:09:13 2018 UTC (4 years, 10 months ago) by maxv
Branch: MAIN
Changes since 1.171: +2 -1
lines
Diff to previous 1.171 (colored)
More ASLR. Randomize the location of the direct map at boot time on amd64. This doesn't need "options KASLR" and works on GENERIC. Will soon be enabled by default. The location of the areas is abstracted in a slotspace structure. Ideally we should always use this structure when touching the L4 slots, instead of the current cocktail of global variables and constants. machdep initializes the structure with the default values, and we then randomize its dmap entry. Ideally machdep should randomize everything at once, but in the case of the direct map its size is determined a little later in the boot procedure, so we're forced to randomize its location later too.
Revision 1.171 / (download) - annotate - [select for diffs], Sat Jul 14 14:29:40 2018 UTC (4 years, 10 months ago) by maxv
Branch: MAIN
Changes since 1.170: +3 -3
lines
Diff to previous 1.170 (colored)
Drop NENTRY() from the x86 kernels, use ENTRY(). With PMCs (and other hardware tracing facilities) we have a much better ways of monitoring the CPU activity than GPROF, without software modification. Also I think GPROF has never worked, because the 'start' functions of both i386 and amd64 use ENTRY(), and it would have caused a function call while the kernel was not yet relocated.
Revision 1.170 / (download) - annotate - [select for diffs], Thu Jul 12 19:48:16 2018 UTC (4 years, 10 months ago) by maxv
Branch: MAIN
Changes since 1.169: +21 -1
lines
Diff to previous 1.169 (colored)
Handle NMIs correctly when SVS is enabled. We store the kernel's CR3 at the top of the NMI stack, and we unconditionally switch to it, because we don't know with which page tables we received the NMI. Hotpatch the whole thing as usual. This restores the ability to use PMCs on Intel CPUs.
Revision 1.123.6.8 / (download) - annotate - [select for diffs], Tue Jul 10 15:35:26 2018 UTC (4 years, 11 months ago) by martin
Branch: netbsd-8
CVS Tags: netbsd-8-0-RELEASE
Changes since 1.123.6.7: +13 -15
lines
Diff to previous 1.123.6.7 (colored) to branchpoint 1.123 (colored)
Pull up the following, requested by maxv in ticket #910: sys/arch/amd64/amd64/locore.S r1.167 (patch) sys/arch/i386/i386/locore.S r1.158 (patch) sys/arch/x86/x86/fpu.c r1.44 (patch) Don't switch the FPU when leaving a softint. This fixes several problems when EagerFPU is enabled.
Revision 1.169 / (download) - annotate - [select for diffs], Mon Jul 9 18:52:04 2018 UTC (4 years, 11 months ago) by maxv
Branch: MAIN
Changes since 1.168: +1 -7
lines
Diff to previous 1.168 (colored)
Don't push/pop %rdx, we don't care about preserving its value.
Revision 1.168 / (download) - annotate - [select for diffs], Mon Jul 9 18:43:05 2018 UTC (4 years, 11 months ago) by maxv
Branch: MAIN
Changes since 1.167: +18 -20
lines
Diff to previous 1.167 (colored)
Small optimization: don't execute the Meltdown/SpectreV2 cswitch code if we're leaving a softint. We were executing the softint with the LWP's context, so no need to switch the SVS/IBRS contexts, we already are in the desired contexts.
Revision 1.167 / (download) - annotate - [select for diffs], Fri Jun 29 19:21:43 2018 UTC (4 years, 11 months ago) by maxv
Branch: MAIN
Changes since 1.166: +13 -13
lines
Diff to previous 1.166 (colored)
Call fpu_eagerswitch a little later, after we make sure newlwp is not pinned. Because if it is, the fpu state of the lwp we are context-switching to is already installed on the current cpu, so no point re-installing it. Or, it isn't, and in this case we don't want to install it. This wrong re-installation can occur when we leave a softint. It may fix bugs in places that call fpusave_lwp with spl != IPL_HIGH, and that expect the fpu state to stay in memory. As far as I can tell only cpu_lwp_free meets these conditions, and as far as I can tell again, there it's harmless. Should help PR/53399.
Revision 1.157.2.7 / (download) - annotate - [select for diffs], Mon Jun 25 07:25:38 2018 UTC (4 years, 11 months ago) by pgoyette
Branch: pgoyette-compat
Changes since 1.157.2.6: +14 -2
lines
Diff to previous 1.157.2.6 (colored) to branchpoint 1.157 (colored)
Sync with HEAD
Revision 1.123.6.7 / (download) - annotate - [select for diffs], Sat Jun 23 11:39:01 2018 UTC (4 years, 11 months ago) by martin
Branch: netbsd-8
CVS Tags: netbsd-8-0-RC2
Changes since 1.123.6.6: +15 -1
lines
Diff to previous 1.123.6.6 (colored) to branchpoint 1.123 (colored)
Pull up the following, via patch, requested by maxv in ticket #897: sys/arch/amd64/amd64/locore.S 1.166 (patch) sys/arch/i386/i386/locore.S 1.157 (patch) sys/arch/x86/include/cpu.h 1.92 (patch) sys/arch/x86/include/fpu.h 1.9 (patch) sys/arch/x86/x86/fpu.c 1.33-1.39 (patch) sys/arch/x86/x86/identcpu.c 1.72 (patch) sys/arch/x86/x86/vm_machdep.c 1.34 (patch) sys/arch/x86/x86/x86_machdep.c 1.116,1.117 (patch) Support eager fpu switch, to work around INTEL-SA-00145. Provide a sysctl machdep.fpu_eager, which gets automatically initialized to 1 on affected CPUs.
Revision 1.166 / (download) - annotate - [select for diffs], Thu Jun 14 14:36:46 2018 UTC (4 years, 11 months ago) by maxv
Branch: MAIN
CVS Tags: phil-wifi-base,
pgoyette-compat-0625
Branch point for: phil-wifi
Changes since 1.165: +14 -2
lines
Diff to previous 1.165 (colored)
Add some code to support eager fpu switch, INTEL-SA-00145. We restore the FPU state of the lwp right away during context switches. This guarantees that when the CPU executes in userland, the FPU doesn't contain secrets. Maybe we also need to clear the FPU in setregs(), not sure about this one. Can be enabled/disabled via: machdep.fpu_eager = {0/1} Not yet turned on automatically on affected CPUs (Intel Family 6). More generally it would be good to turn it on automatically when XSAVEOPT is supported, because in this case there is probably a non-negligible performance gain; but we need to fix PR/52966.
Revision 1.123.6.6 / (download) - annotate - [select for diffs], Sat May 5 15:00:29 2018 UTC (5 years, 1 month ago) by martin
Branch: netbsd-8
Changes since 1.123.6.5: +6 -6
lines
Diff to previous 1.123.6.5 (colored) to branchpoint 1.123 (colored)
Pull up following revision(s) (requested by maxv in ticket #786): sys/arch/amd64/amd64/locore.S: revision 1.164,1.165 Adjust Xsyscall_svs to not use movq for 64bit immediates either. Do not use movq for loading arbitrary 64bit immediates. The ISA restricts it to 32bit immediates.
Revision 1.157.2.6 / (download) - annotate - [select for diffs], Wed May 2 07:20:02 2018 UTC (5 years, 1 month ago) by pgoyette
Branch: pgoyette-compat
Changes since 1.157.2.5: +4 -4
lines
Diff to previous 1.157.2.5 (colored) to branchpoint 1.157 (colored)
Synch with HEAD
Revision 1.165 / (download) - annotate - [select for diffs], Mon Apr 23 22:53:04 2018 UTC (5 years, 1 month ago) by joerg
Branch: MAIN
CVS Tags: pgoyette-compat-0521,
pgoyette-compat-0502
Changes since 1.164: +4 -4
lines
Diff to previous 1.164 (colored)
Adjust Xsyscall_svs to not use movq for 64bit immediates either.
Revision 1.157.2.5 / (download) - annotate - [select for diffs], Sun Apr 22 07:20:17 2018 UTC (5 years, 1 month ago) by pgoyette
Branch: pgoyette-compat
Changes since 1.157.2.4: +3 -3
lines
Diff to previous 1.157.2.4 (colored) to branchpoint 1.157 (colored)
Sync with HEAD
Revision 1.164 / (download) - annotate - [select for diffs], Sat Apr 21 23:25:01 2018 UTC (5 years, 1 month ago) by joerg
Branch: MAIN
CVS Tags: pgoyette-compat-0422
Changes since 1.163: +3 -3
lines
Diff to previous 1.163 (colored)
Do not use movq for loading arbitrary 64bit immediates. The ISA restricts it to 32bit immediates.
Revision 1.157.2.4 / (download) - annotate - [select for diffs], Sat Apr 7 04:12:11 2018 UTC (5 years, 2 months ago) by pgoyette
Branch: pgoyette-compat
Changes since 1.157.2.3: +1 -1
lines
Diff to previous 1.157.2.3 (colored) to branchpoint 1.157 (colored)
Sync with HEAD. 77 conflicts resolved - all of them $NetBSD$
Revision 1.157.2.3 / (download) - annotate - [select for diffs], Fri Mar 30 10:09:07 2018 UTC (5 years, 2 months ago) by pgoyette
Branch: pgoyette-compat
Changes since 1.157.2.2: +3 -1
lines
Diff to previous 1.157.2.2 (colored) to branchpoint 1.157 (colored)
Extract compat_14 stuff into its own module
Revision 1.163 / (download) - annotate - [select for diffs], Fri Mar 30 09:53:08 2018 UTC (5 years, 2 months ago) by maxv
Branch: MAIN
CVS Tags: pgoyette-compat-0415,
pgoyette-compat-0407
Changes since 1.162: +3 -1
lines
Diff to previous 1.162 (colored)
Add #ifndef XEN, xen doesn't have speculation_barrier.
Revision 1.157.2.2 / (download) - annotate - [select for diffs], Fri Mar 30 06:20:11 2018 UTC (5 years, 2 months ago) by pgoyette
Branch: pgoyette-compat
Changes since 1.157.2.1: +42 -1
lines
Diff to previous 1.157.2.1 (colored) to branchpoint 1.157 (colored)
Resolve conflicts between branch and HEAD
Revision 1.162 / (download) - annotate - [select for diffs], Thu Mar 29 07:21:24 2018 UTC (5 years, 2 months ago) by maxv
Branch: MAIN
CVS Tags: pgoyette-compat-0330
Changes since 1.161: +9 -1
lines
Diff to previous 1.161 (colored)
Allow IBRS to be disabled dynamically.
Revision 1.161 / (download) - annotate - [select for diffs], Wed Mar 28 19:56:40 2018 UTC (5 years, 2 months ago) by maxv
Branch: MAIN
Changes since 1.160: +5 -1
lines
Diff to previous 1.160 (colored)
The call to svs_lwp_switch can clobber %rdi/%rsi, so restore them before calling speculation_barrier.
Revision 1.160 / (download) - annotate - [select for diffs], Wed Mar 28 16:02:49 2018 UTC (5 years, 2 months ago) by maxv
Branch: MAIN
Changes since 1.159: +30 -1
lines
Diff to previous 1.159 (colored)
Add the IBRS mitigation for SpectreV2 on amd64. Different operations are performed during context transitions: user->kernel: IBRS <- 1 kernel->user: IBRS <- 0 And during context switches: user->user: IBPB <- 0 kernel->user: IBPB <- 0 [user->kernel:IBPB <- 0 this one may not be needed] We use two macros, IBRS_ENTER and IBRS_LEAVE, to set the IBRS bit. The thing is hotpatched for better performance, like SVS. The idea is that IBRS is a "privileged" bit, which is set to 1 in kernel mode and 0 in user mode. To protect the branch predictor between user processes (which are of the same privilege), we use the IBPB barrier. The Intel manual also talks about (MWAIT/HLT)+HyperThreading, and says that when using either of the two instructions IBRS must be disabled for better performance on the core. I'm not totally sure about this part, so I'm not adding it now. IBRS is available only when the Intel microcode update is applied. The mitigation must be enabled manually with machdep.spectreV2.mitigated. Tested by msaitoh a week ago (but I adapted a few things since). Probably more changes to come.
Revision 1.123.6.5 / (download) - annotate - [select for diffs], Thu Mar 22 16:59:03 2018 UTC (5 years, 2 months ago) by martin
Branch: netbsd-8
CVS Tags: netbsd-8-0-RC1
Changes since 1.123.6.4: +241 -99
lines
Diff to previous 1.123.6.4 (colored) to branchpoint 1.123 (colored)
Pull up the following revisions, requested by maxv in ticket #652: sys/arch/amd64/amd64/amd64_trap.S upto 1.39 (partial, patch) sys/arch/amd64/amd64/db_machdep.c 1.6 (patch) sys/arch/amd64/amd64/genassym.cf 1.65,1.66,1.67 (patch) sys/arch/amd64/amd64/locore.S upto 1.159 (partial, patch) sys/arch/amd64/amd64/machdep.c 1.299-1.302 (patch) sys/arch/amd64/amd64/trap.c upto 1.113 (partial, patch) sys/arch/amd64/amd64/amd64/vector.S upto 1.61 (partial, patch) sys/arch/amd64/conf/GENERIC 1.477,1.478 (patch) sys/arch/amd64/conf/kern.ldscript 1.26 (patch) sys/arch/amd64/include/frameasm.h upto 1.37 (partial, patch) sys/arch/amd64/include/param.h 1.25 (patch) sys/arch/amd64/include/pmap.h 1.41,1.43,1.44 (patch) sys/arch/x86/conf/files.x86 1.91,1.93 (patch) sys/arch/x86/include/cpu.h 1.88,1.89 (patch) sys/arch/x86/include/pmap.h 1.75 (patch) sys/arch/x86/x86/cpu.c 1.144,1.146,1.148,1.149 (patch) sys/arch/x86/x86/pmap.c upto 1.289 (partial, patch) sys/arch/x86/x86/vm_machdep.c 1.31,1.32 (patch) sys/arch/x86/x86/x86_machdep.c 1.104,1.106,1.108 (patch) sys/arch/x86/x86/svs.c 1.1-1.14 sys/arch/xen/conf/files.compat 1.30 (patch) Backport SVS. Not enabled yet.
Revision 1.157.2.1 / (download) - annotate - [select for diffs], Thu Mar 22 01:44:41 2018 UTC (5 years, 2 months ago) by pgoyette
Branch: pgoyette-compat
Changes since 1.157: +3 -6
lines
Diff to previous 1.157 (colored)
Synch with HEAD, resolve conflicts
Revision 1.159 / (download) - annotate - [select for diffs], Tue Mar 20 18:27:58 2018 UTC (5 years, 2 months ago) by maxv
Branch: MAIN
CVS Tags: pgoyette-compat-0322
Changes since 1.158: +3 -4
lines
Diff to previous 1.158 (colored)
(Re)Fix handling of segment register faults. My previous attempt did fix faults occuring when reloading %es/%ds/%fs/%gs, but it did not fix faults occuring when executing 'iretq', because before iretq we needed to do +16 in %rsp, and the resulting stack layout was not the one kernuser_reenter() expected (tf_trapno and tf_err were not there). So now: pop tf_trapno and tf_err right away in intrfastexit(), and update the layout in kernuser_reenter() accordingly. The resulting code is actually simpler. Tested by "hardcoding" an iretq fault; the process correctly receives a SIGSEGV. (Note that segment register faults do not happen in the wild, you really need to try hard to trigger one.)
Revision 1.158 / (download) - annotate - [select for diffs], Tue Mar 20 14:26:49 2018 UTC (5 years, 2 months ago) by maxv
Branch: MAIN
Changes since 1.157: +1 -3
lines
Diff to previous 1.157 (colored)
Remove the sysretq fault handler. It is broken with SVS, and not really needed anyway. Initially I had added it so that if such a fault was received the kernel would panic "cleanly" instead of crashing in a potentially undefined way. I'll re-add this handler later.
Revision 1.123.6.4 / (download) - annotate - [select for diffs], Tue Mar 13 15:47:44 2018 UTC (5 years, 2 months ago) by martin
Branch: netbsd-8
Changes since 1.123.6.3: +3 -2
lines
Diff to previous 1.123.6.3 (colored) to branchpoint 1.123 (colored)
Pullup the following revisions via patch, requested by maxv in ticket #629: sys/arch/amd64/amd64/genassym.cf 1.63,1.64 sys/arch/amd64/amd64/locore.S 1.144 sys/arch/amd64/amd64/machdep.c 1.281-1.283 sys/arch/i386/i386/genassym.cf 1.105-1.106 sys/arch/i386/i386/locore.S 1.155 sys/arch/i386/i386/machdep.c 1.802 (adapted),1.803 sys/arch/x86/include/cpu.h 1.85 sys/arch/x86/x86/intr.c 1.115-1.116 sys/arch/x86/x86/pmap.c 1.275 sys/arch/x86/x86/sys_machdep.c 1.45 sys/arch/xen/x86/cpu.c 1.117 Stop sharing the double-fault stack. Merge the TSS structures into one single cpu_tss structure, and allocate it dynamically.
Revision 1.123.6.3 / (download) - annotate - [select for diffs], Wed Mar 7 14:50:56 2018 UTC (5 years, 3 months ago) by martin
Branch: netbsd-8
Changes since 1.123.6.2: +15 -1
lines
Diff to previous 1.123.6.2 (colored) to branchpoint 1.123 (colored)
Pull up the following revisions (via patch), requested by maxv in ticket #610: sys/arch/amd64/amd64/amd64_trap.S 1.8,1.10,1.12 (partial),1.13-1.15, 1.19 (partial),1.20,1.21,1.22,1.24 (via patch) sys/arch/amd64/amd64/locore.S 1.129 (partial),1.132 (via patch) sys/arch/amd64/amd64/trap.c 1.97 (partial),1.111 (via patch) sys/arch/amd64/amd64/vector.S 1.54,1.55 (via patch) sys/arch/amd64/include/frameasm.h 1.21,1.23 (via patch) sys/arch/x86/x86/cpu.c 1.138 (via patch) sys/arch/xen/conf/Makefile.xen 1.45 (via patch) Rename and reorder several things in amd64_trap.S. Compile amd64_trap.S as a file. Introduce nmitrap and doubletrap. Have the CPU clear PSL_D automatically in the syscall entry point.
Revision 1.157 / (download) - annotate - [select for diffs], Sun Feb 25 12:37:16 2018 UTC (5 years, 3 months ago) by maxv
Branch: MAIN
CVS Tags: pgoyette-compat-base,
pgoyette-compat-0315
Branch point for: pgoyette-compat
Changes since 1.156: +21 -11
lines
Diff to previous 1.156 (colored)
Fix handling of segment register faults when running with SVS. The behavior is changed also in the non-SVS case. I've put a documentation in amd64_trap.S. Basically, the problem with SVS is that if iret faults, we already have a full trapframe pushed on the stack and the CPU will push another frame on this stack (nested), but it hits the redzone below the stack since it is still running with the user page table loaded. To fix that, we pop a good part of the trapframe earlier in intrfastexit. If iret faults, the current %rsp has enough room for an iret frame, and the CPU can push that without problem. We then switch back to the outer iret frame (the frame the CPU was trying to pop by executing iret, but that it didn't pop for real because iret faulted), call INTRENTRY, and handle the trap as if it had been received from userland directly.
Revision 1.156 / (download) - annotate - [select for diffs], Sat Feb 24 17:12:10 2018 UTC (5 years, 3 months ago) by maxv
Branch: MAIN
Changes since 1.155: +19 -26
lines
Diff to previous 1.155 (colored)
Use %rax instead of %r15 in the non-SVS case, to reduce the diff against SVS. In SVS we use %rax instead of %r15 because the following instructions cannot be encoded: movq %r15,SVS_UTLS+UTLS_SCRATCH movq SVS_UTLS+UTLS_RSP0,%r15
Revision 1.155 / (download) - annotate - [select for diffs], Thu Feb 22 14:57:11 2018 UTC (5 years, 3 months ago) by maxv
Branch: MAIN
Changes since 1.154: +3 -5
lines
Diff to previous 1.154 (colored)
Adapt previous; put #ifdef SVS around the declaration directly.
Revision 1.154 / (download) - annotate - [select for diffs], Thu Feb 22 14:08:48 2018 UTC (5 years, 3 months ago) by martin
Branch: MAIN
Changes since 1.153: +5 -1
lines
Diff to previous 1.153 (colored)
Protect the SVS part of SYSCALL_ENTRY by #ifdef SVS to make non-SVS kernels compile again.
Revision 1.153 / (download) - annotate - [select for diffs], Thu Feb 22 10:42:10 2018 UTC (5 years, 3 months ago) by maxv
Branch: MAIN
Changes since 1.152: +25 -9
lines
Diff to previous 1.152 (colored)
Make the machdep.svs_enabled sysctl writable, and add the kernel code needed to disable SVS at runtime. We set 'svs_enabled' to false, and hotpatch the kernel entry/exit points to eliminate the context switch code. We need to make sure there is no remote CPU that is executing the code we are hotpatching. So we use two barriers: * After the first one each CPU is guaranteed to be executing in svs_disable_cpu with interrupts disabled (this way it can't leave this place). * After the second one it is guaranteed that SVS is disabled, so we flush the cache, enable interrupts and continue execution normally. Between the two barriers, cpu0 will disable SVS (svs_enabled=false and hotpatch), and each CPU will restore the generic syscall entry point. Three notes: * We should call svs_pgg_update(true) afterwards, to put back PG_G on the kernel pages (for better performance). This will be done in another commit. * The fact that we disable interrupts does not prevent us from receiving an NMI, and it would be problematic. So we need to add some code to verify that PMCs are disabled before hotpatching. This will be done in another commit. * In svs_disable() we expect each CPU to be online. We need to add a check to make sure they indeed are. The sysctl allows only a 1->0 transition. There is no point in doing 0->1 transitions anyway, and it would be complicated to implement because we need to re-synchronize the CPU user page tables with the current ones (we lost track of them in the last 1->0 transition).
Revision 1.152 / (download) - annotate - [select for diffs], Thu Feb 22 08:56:51 2018 UTC (5 years, 3 months ago) by maxv
Branch: MAIN
Changes since 1.151: +102 -30
lines
Diff to previous 1.151 (colored)
Add a dynamic detection for SVS. The SVS_* macros are now compiled as skip-noopt. When the system boots, if the cpu is from Intel, they are hotpatched to their real content. Typically: jmp 1f int3 int3 int3 ... int3 ... 1: gets hotpatched to: movq SVS_UTLS+UTLS_KPDIRPA,%rax movq %rax,%cr3 movq CPUVAR(KRSP0),%rsp These two chunks of code being of the exact same size. We put int3 (0xCC) to make sure we never execute there. In the non-SVS (ie non-Intel) case, all it costs is one jump. Given that the SVS_* macros are small, this jump will likely leave us in the same icache line, so it's pretty fast. The syscall entry point is special, because there we use a scratch uint64_t not in curcpu but in the UTLS page, and it's difficult to hotpatch this properly. So instead of hotpatching we declare the entry point as an ASM macro, and define two functions: syscall and syscall_svs, the latter being the one used in the SVS case. While here 'syscall' is optimized not to contain an SVS_ENTER - this way we don't even need to do a jump on the non-SVS case. When adding pages in the user page tables, make sure we don't have PG_G, now that it's dynamic. A read-only sysctl is added, machdep.svs_enabled, that tells whether the kernel uses SVS or not. More changes to come, svs_init() is not very clean.
Revision 1.151 / (download) - annotate - [select for diffs], Sun Feb 18 14:07:29 2018 UTC (5 years, 3 months ago) by maxv
Branch: MAIN
Changes since 1.150: +5 -1
lines
Diff to previous 1.150 (colored)
Add svs_enabled, which defaults to 'true' when SVS is compiled (no dynamic detection yet).
Revision 1.150 / (download) - annotate - [select for diffs], Sat Jan 27 17:54:13 2018 UTC (5 years, 4 months ago) by maxv
Branch: MAIN
Changes since 1.149: +2 -2
lines
Diff to previous 1.149 (colored)
Use testb, faster.
Revision 1.149 / (download) - annotate - [select for diffs], Mon Jan 22 08:14:09 2018 UTC (5 years, 4 months ago) by maxv
Branch: MAIN
Changes since 1.148: +1 -4
lines
Diff to previous 1.148 (colored)
Ah, remove duplicate SVS_LEAVE. Fixes 32bit binaries. While here remove duplicate 'cli', but that's harmless.
Revision 1.148 / (download) - annotate - [select for diffs], Sun Jan 21 11:21:40 2018 UTC (5 years, 4 months ago) by maxv
Branch: MAIN
Changes since 1.147: +107 -85
lines
Diff to previous 1.147 (colored)
Unmap the kernel from userland in SVS, and leave only the needed trampolines. As explained below, SVS should now completely mitigate Meltdown on GENERIC kernels, even though it needs some more tweaking for GENERIC_KASLR. Until now the kernel entry points looked like: FUNC(intr) pushq $ERR pushq $TRAPNO INTRENTRY ... handle interrupt ... INTRFASTEXIT END(intr) With this change they are split and become: FUNC(handle) ... handle interrupt ... INTRFASTEXIT END(handle) TEXT_USER_BEGIN FUNC(intr) pushq $ERR pushq $TRAPNO INTRENTRY jmp handle END(intr) TEXT_USER_END A new section is introduced, .text.user, that contains minimal kernel entry/exit points. In order to choose what to put in this section, two macros are introduced, TEXT_USER_BEGIN and TEXT_USER_END. The section is mapped in userland with normal 4K pages. In GENERIC, the section is 4K-page-aligned and embedded in .text, which is mapped with large pages. That is to say, when an interrupt comes in, the CPU has the user page tables loaded and executes the 'intr' functions on 4K pages; after calling SVS_ENTER (in INTRENTRY) these 4K pages become 2MB large pages, and remain so when executing in kernel mode. In GENERIC_KASLR, the section is 4K-page-aligned and independent from the other kernel texts. The prekern just picks it up and maps it at a random address. In GENERIC, SVS should now completely mitigate Meltdown: what we put in .text.user is not secret. In GENERIC_KASLR, SVS would have to be improved a bit more: the 'jmp handle' instruction is actually secret, since it leaks the address of the section we are jumping into. By exploiting Meltdown on Intel, this theoretically allows a local user to reconstruct the address of the first text section. But given that our KASLR produces several texts, and that each section is not correlated with the others, the level of protection KASLR provides is still good.
Revision 1.147 / (download) - annotate - [select for diffs], Thu Jan 18 07:25:34 2018 UTC (5 years, 4 months ago) by maxv
Branch: MAIN
Changes since 1.146: +22 -7
lines
Diff to previous 1.146 (colored)
Unmap the kernel heap from the user page tables (SVS). This implementation is optimized and organized in such a way that we don't need to copy the kernel stack to a safe place during user<->kernel transitions. We create two VAs that point to the same physical page; one will be mapped in userland and is offset in order to contain only the trapframe, the other is mapped in the kernel and maps the entire stack. Sent on tech-kern@ a week ago.
Revision 1.146 / (download) - annotate - [select for diffs], Thu Jan 11 09:00:04 2018 UTC (5 years, 4 months ago) by maxv
Branch: MAIN
Changes since 1.145: +2 -2
lines
Diff to previous 1.145 (colored)
Declare new SVS_* variants: SVS_ENTER_NOSTACK and SVS_LEAVE_NOSTACK. Use SVS_ENTER_NOSTACK in the syscall entry point, and put it before the code that touches curlwp. (curlwp is located in the direct map.) Then, disable __HAVE_CPU_UAREA_ROUTINES (to be removed later). This moves the kernel stack into pmap_kernel(), and not the direct map. That's a change I've always wanted to make: because of the direct map we can't add a redzone on the stack, and basically, a stack overflow can go very far in memory without being detected (as far as erasing all of the system's memory). Finally, unmap the direct map from userland.
Revision 1.145 / (download) - annotate - [select for diffs], Sun Jan 7 16:10:16 2018 UTC (5 years, 5 months ago) by maxv
Branch: MAIN
Changes since 1.144: +12 -1
lines
Diff to previous 1.144 (colored)
Add a new option, SVS (for Separate Virtual Space), that unmaps kernel pages when running in userland. For now, only the PTE area is unmapped. Sent on tech-kern@.
Revision 1.144 / (download) - annotate - [select for diffs], Thu Jan 4 13:36:30 2018 UTC (5 years, 5 months ago) by maxv
Branch: MAIN
Changes since 1.143: +3 -2
lines
Diff to previous 1.143 (colored)
Allocate the TSS area dynamically. This way cpu_info and cpu_tss can be put in separate pages.
Revision 1.70.2.2 / (download) - annotate - [select for diffs], Sun Dec 3 11:35:47 2017 UTC (5 years, 6 months ago) by jdolecek
Branch: tls-maxphys
Changes since 1.70.2.1: +602 -480
lines
Diff to previous 1.70.2.1 (colored) to branchpoint 1.70 (colored) next main 1.71 (colored)
update from HEAD
Revision 1.143 / (download) - annotate - [select for diffs], Sun Nov 26 15:00:16 2017 UTC (5 years, 6 months ago) by maxv
Branch: MAIN
CVS Tags: tls-maxphys-base-20171202
Changes since 1.142: +2 -2
lines
Diff to previous 1.142 (colored)
Update a comment, and use testw instead.
Revision 1.142 / (download) - annotate - [select for diffs], Sun Nov 26 14:54:43 2017 UTC (5 years, 6 months ago) by maxv
Branch: MAIN
Changes since 1.141: +42 -42
lines
Diff to previous 1.141 (colored)
Hide a bunch of raw symbols.
Revision 1.141 / (download) - annotate - [select for diffs], Tue Nov 21 09:58:09 2017 UTC (5 years, 6 months ago) by maxv
Branch: MAIN
Changes since 1.140: +1 -4
lines
Diff to previous 1.140 (colored)
Remove unused symbol - it is aligned to 4096 and this reduces the number of possible locations for .bss in KASLR kernels.
Revision 1.140 / (download) - annotate - [select for diffs], Sat Oct 28 20:57:17 2017 UTC (5 years, 7 months ago) by bouyer
Branch: MAIN
Changes since 1.139: +2 -2
lines
Diff to previous 1.139 (colored)
Use FLAT_RING3_CS64 (defined in Xen public headers) instead of numeric value.
Revision 1.139 / (download) - annotate - [select for diffs], Sat Oct 28 20:06:31 2017 UTC (5 years, 7 months ago) by maxv
Branch: MAIN
Changes since 1.138: +4 -0
lines
Diff to previous 1.138 (colored)
It appears that Xen remaps the userland %cs to 0xE033. So add it to the checklist. Otherwise we're going through Luexit32: %fs gets reloaded, which sets the FS.base to NULL, which will cause the thread to page-fault next time it accesses its TLS (as seen in PR/52662). This fix is not very clean, and it would be nice to understand why Xen remaps %cs. But I'm committing it now anyway, so that people can test.
Revision 1.138 / (download) - annotate - [select for diffs], Sat Oct 21 08:08:26 2017 UTC (5 years, 7 months ago) by maxv
Branch: MAIN
Changes since 1.137: +9 -1
lines
Diff to previous 1.137 (colored)
Use labels instead of disassembling *(%rip). intrfastexit is now the only place where the segregs can fault.
Revision 1.137 / (download) - annotate - [select for diffs], Sat Oct 21 06:55:54 2017 UTC (5 years, 7 months ago) by maxv
Branch: MAIN
Changes since 1.136: +6 -3
lines
Diff to previous 1.136 (colored)
Improve our segregs model. Pass 3/3. Treat %gs the same way we treat %ds/%es/%fs: restore it in INTRFASTEXIT on 32bit LWPs. On Xen however, its behavior does not change, because we need to do an hypercall before INTR_RESTORE_GPRS, and that's too complicated for now. As a side effect, this change fixes a bug in the ACPI wakeup code; %fs/%gs were not restored on 32bit LWPs, and chances are they would segfault shortly afterwards. Support for USER_LDT on amd64 is almost complete now.
Revision 1.136 / (download) - annotate - [select for diffs], Thu Oct 19 20:27:12 2017 UTC (5 years, 7 months ago) by maxv
Branch: MAIN
Changes since 1.135: +3 -3
lines
Diff to previous 1.135 (colored)
Use cmpw.
Revision 1.135 / (download) - annotate - [select for diffs], Thu Oct 19 19:05:53 2017 UTC (5 years, 7 months ago) by maxv
Branch: MAIN
Changes since 1.134: +4 -3
lines
Diff to previous 1.134 (colored)
Improve our segregs model. Pass 2/3. Treat %fs the same way we treat %ds and %es. For a new 32bit LWP %fs is set to GUDATA32_SEL, and always updated in INTRFASTEXIT. This solves an important issue we had until now: we couldn't handle the faults generated by the "movw $val,%fs" instructions, because they were deep into the kernel context. Now %fs can fault only in INTRFASTEXIT, which is safe. Note that it also fixes a bug I believe affected the kernel: on AMD CPUs, setting %fs to zero does not flush the internal register state, and therefore we could leak the %fs base address when context-switching. This being said, I couldn't trigger the issue on the AMD cpu I have. Whatever, it's fixed now, since we first set %fs to GUDATA32 - which does flush the register state.
Revision 1.134 / (download) - annotate - [select for diffs], Thu Oct 19 18:36:31 2017 UTC (5 years, 7 months ago) by maxv
Branch: MAIN
Changes since 1.133: +31 -16
lines
Diff to previous 1.133 (colored)
Improve our segregs model. Pass 1/3. Right now, we are saving and restoring %ds/%es each time we enter/leave the kernel. However, we let %fs/%gs live in the kernel space, and we rely on the fact that when switching to an LWP, %fs/%gs are set right away (via cpu_switchto or setregs). It has two drawbacks: we are taking care of %ds/%es while they are deprecated (useless) on 64bit LWPs, and we are restricting %fs/%gs while they still have a meaning on 32bit LWPs. Therefore, handle 32bit and 64bit LWPs differently: * 64bit LWPs use fixed segregs, which are not taken care of. * 32bit LWPs have dynamic segregs, always saved/restored. For now, only %ds and %es are changed; %fs and %gs will be in the next passes. The trapframe is constructed as usual. In INTRFASTEXIT, we restore %ds/%es depending on the %cs value. If %cs contains one of the two standard 64bit selectors, don't do anything. Otherwise, restore everything. When doing a context switch, just restore %ds/%es to their default values. On a 32bit LWP they will be overwritten by INTRFASTEXIT; on a 64bit LWP they won't be updated. In the ACPI wakeup code, restore %ds/%es to the default 64bit user value.
Revision 1.133 / (download) - annotate - [select for diffs], Tue Oct 17 07:48:10 2017 UTC (5 years, 7 months ago) by maxv
Branch: MAIN
Changes since 1.132: +2 -2
lines
Diff to previous 1.132 (colored)
Move %ds and %es into the GDT on 64bit LWPs.
Revision 1.132 / (download) - annotate - [select for diffs], Tue Oct 17 07:33:44 2017 UTC (5 years, 7 months ago) by maxv
Branch: MAIN
Changes since 1.131: +2 -1
lines
Diff to previous 1.131 (colored)
Have the cpu clear PSL_D automatically when entering the kernel via a syscall. Then, don't clear PSL_D and PSL_AC in the syscall entry point, they are now both cleared by the cpu (faster). However they still need to be manually cleared in the interrupt/trap entry points.
Revision 1.131 / (download) - annotate - [select for diffs], Sat Sep 30 11:43:57 2017 UTC (5 years, 8 months ago) by maxv
Branch: MAIN
Changes since 1.130: +4 -2
lines
Diff to previous 1.130 (colored)
Add a bootspace structure. It describes the physical and virtual space layout created by the early kernel bootstrap code. Start using it, and eliminate several references to KERNBASE and other global symbols. While here clean up xen-i386, it's really tiring.
Revision 1.130 / (download) - annotate - [select for diffs], Thu Sep 28 17:35:08 2017 UTC (5 years, 8 months ago) by maxv
Branch: MAIN
Changes since 1.129: +7 -4
lines
Diff to previous 1.129 (colored)
Clean up, and initialize the lwp0 fields in init_x86_64.
Revision 1.129 / (download) - annotate - [select for diffs], Fri Sep 15 17:32:12 2017 UTC (5 years, 8 months ago) by maxv
Branch: MAIN
Changes since 1.128: +28 -13
lines
Diff to previous 1.128 (colored)
Declare INTRFASTEXIT as a function, so that there is only one iretq in the kernel. Then, check %rip against the address of this iretq instead of disassembling (%rip) - which could fault again, or point at some random address which happens to contain the iretq opcode. The same is true for gs below, but I'll fix that in another commit.
Revision 1.123.6.2 / (download) - annotate - [select for diffs], Mon Sep 4 20:41:28 2017 UTC (5 years, 9 months ago) by snj
Branch: netbsd-8
CVS Tags: matt-nb8-mediatek-base,
matt-nb8-mediatek
Changes since 1.123.6.1: +1 -9
lines
Diff to previous 1.123.6.1 (colored) to branchpoint 1.123 (colored)
Pull up following revision(s) (requested by maxv in ticket #257): sys/compat/linux/arch/amd64/linux_machdep.c: 1.52 sys/arch/amd64/amd64/copy.S: 1.21-1.24 sys/arch/amd64/amd64/locore.S: 1.125 sys/arch/amd64/amd64/machdep.c: 1.256 Fix a bug in ucas_32 and ucas_64. There is a branch where they don't initialize %rax. -- style, reduces an incoming diff 00 Split comment, otherwise it is misleading. kcopy operates on kernel memory, and must *not* be used with userland pages. -- Move incq outside of the copy section. No functional change, reduces my smap diff. -- Remove dumb debug code and outdated comment. -- Don't forget to clean l_md.md_flags, otherwise there may be MDL_COMPAT32, in which case the kernel would always use iret (slower).
Revision 1.128 / (download) - annotate - [select for diffs], Thu Aug 31 10:30:58 2017 UTC (5 years, 9 months ago) by maxv
Branch: MAIN
Changes since 1.127: +2 -0
lines
Diff to previous 1.127 (colored)
Add a layer of mitigation against the intel sysret vuln: restore %gs when sysretq faults. Right now we try to make sure that %rip is canonical by performing sanity checks in several places, but I've already found missing checks two times already, and there may be others. By performing an additional swapgs here, we are turning ring0 exploits to simple DoSes - which are still security bugs, but of a lower impact.
Revision 1.127 / (download) - annotate - [select for diffs], Thu Aug 31 09:27:28 2017 UTC (5 years, 9 months ago) by maxv
Branch: MAIN
Changes since 1.126: +4 -13
lines
Diff to previous 1.126 (colored)
Construct the trap frame with interrupts disabled, for safety, just like the rest of the interrupt entry points.
Revision 1.77.2.8 / (download) - annotate - [select for diffs], Mon Aug 28 17:51:27 2017 UTC (5 years, 9 months ago) by skrll
Branch: nick-nhusb
Changes since 1.77.2.7: +26 -45
lines
Diff to previous 1.77.2.7 (colored) to branchpoint 1.77 (colored) next main 1.78 (colored)
Sync with HEAD
Revision 1.126 / (download) - annotate - [select for diffs], Thu Aug 10 12:49:11 2017 UTC (5 years, 10 months ago) by maxv
Branch: MAIN
CVS Tags: nick-nhusb-base-20170825
Changes since 1.125: +1 -2
lines
Diff to previous 1.125 (colored)
Don't include opt_compat_ibcs2.h. No idea what it was doing in amd64, since it never got implemented there.
Revision 1.125 / (download) - annotate - [select for diffs], Tue Aug 8 17:00:42 2017 UTC (5 years, 10 months ago) by maxv
Branch: MAIN
Changes since 1.124: +1 -9
lines
Diff to previous 1.124 (colored)
Remove dumb debug code and outdated comment.
Revision 1.66.2.2 / (download) - annotate - [select for diffs], Tue Aug 8 12:00:35 2017 UTC (5 years, 10 months ago) by martin
Branch: netbsd-6
Changes since 1.66.2.1: +1 -22
lines
Diff to previous 1.66.2.1 (colored) to branchpoint 1.66 (colored) next main 1.67 (colored)
Pull up following revision(s) (requested by maxv in ticket #1464): sys/arch/i386/i386/trap.c: revision 1.288 (patch) sys/arch/i386/i386/machdep.c: revision 1.783 (patch) sys/arch/i386/i386/locore.S: revision 1.146 (patch) sys/arch/amd64/amd64/locore.S: revision 1.122,1.124 (patch) sys/arch/amd64/amd64/machdep.c revision 1.254 (patch) sys/arch/amd64/amd64/trap.c: revision 1.95-1.96 (patch) Remove the osyscall call gate and emulate it. There is a one-instruction race in it that could panic the kernel. Restore the ability to run netbsd 1.0 32-bit executables by checking for the relevant lcall instruction in the trap handler and treating it as a syscall.
Revision 1.66.2.1.6.1 / (download) - annotate - [select for diffs], Tue Aug 8 11:59:16 2017 UTC (5 years, 10 months ago) by martin
Branch: netbsd-6-1
Changes since 1.66.2.1: +1 -22
lines
Diff to previous 1.66.2.1 (colored) next main 1.66.2.2 (colored)
Pull up following revision(s) (requested by maxv in ticket #1464): sys/arch/i386/i386/trap.c: revision 1.288 (patch) sys/arch/i386/i386/machdep.c: revision 1.783 (patch) sys/arch/i386/i386/locore.S: revision 1.146 (patch) sys/arch/amd64/amd64/locore.S: revision 1.122,1.124 (patch) sys/arch/amd64/amd64/machdep.c revision 1.254 (patch) sys/arch/amd64/amd64/trap.c: revision 1.95-1.96 (patch) Remove the osyscall call gate and emulate it. There is a one-instruction race in it that could panic the kernel. Restore the ability to run netbsd 1.0 32-bit executables by checking for the relevant lcall instruction in the trap handler and treating it as a syscall.
Revision 1.66.2.1.4.1 / (download) - annotate - [select for diffs], Tue Aug 8 11:55:20 2017 UTC (5 years, 10 months ago) by martin
Branch: netbsd-6-0
Changes since 1.66.2.1: +1 -22
lines
Diff to previous 1.66.2.1 (colored) next main 1.66.2.2 (colored)
Pull up following revision(s) (requested by maxv in ticket #1464): sys/arch/i386/i386/trap.c: revision 1.288 (patch) sys/arch/i386/i386/machdep.c: revision 1.783 (patch) sys/arch/i386/i386/locore.S: revision 1.146 (patch) sys/arch/amd64/amd64/locore.S: revision 1.122,1.124 (patch) sys/arch/amd64/amd64/machdep.c revision 1.254 (patch) sys/arch/amd64/amd64/trap.c: revision 1.95-1.96 (patch) Remove the osyscall call gate and emulate it. There is a one-instruction race in it that could panic the kernel. Restore the ability to run netbsd 1.0 32-bit executables by checking for the relevant lcall instruction in the trap handler and treating it as a syscall.
Revision 1.76.2.2 / (download) - annotate - [select for diffs], Thu Jul 20 01:43:40 2017 UTC (5 years, 10 months ago) by snj
Branch: netbsd-7
CVS Tags: netbsd-7-2-RELEASE
Changes since 1.76.2.1: +1 -2
lines
Diff to previous 1.76.2.1 (colored) to branchpoint 1.76 (colored) next main 1.77 (colored)
Pull up following revision(s) (requested by maxv in ticket #1441): sys/arch/i386/i386/trap.c: revision 1.288 via patch sys/arch/i386/i386/machdep.c: revision 1.783 via patch sys/arch/i386/i386/locore.S: revision 1.146 via patch sys/arch/amd64/amd64/locore.S: revision 1.124 via patch Remove the osyscall call gate on i386, and emulate it. There is a one- instruction race in it that could panic the kernel.
Revision 1.76.8.2 / (download) - annotate - [select for diffs], Thu Jul 20 01:43:10 2017 UTC (5 years, 10 months ago) by snj
Branch: netbsd-7-1
CVS Tags: netbsd-7-1-2-RELEASE,
netbsd-7-1-1-RELEASE
Changes since 1.76.8.1: +1 -2
lines
Diff to previous 1.76.8.1 (colored) to branchpoint 1.76 (colored) next main 1.77 (colored)
Pull up following revision(s) (requested by maxv in ticket #1441): sys/arch/i386/i386/trap.c: revision 1.288 via patch sys/arch/i386/i386/machdep.c: revision 1.783 via patch sys/arch/i386/i386/locore.S: revision 1.146 via patch sys/arch/amd64/amd64/locore.S: revision 1.124 via patch Remove the osyscall call gate on i386, and emulate it. There is a one- instruction race in it that could panic the kernel.
Revision 1.76.4.2 / (download) - annotate - [select for diffs], Thu Jul 20 01:42:39 2017 UTC (5 years, 10 months ago) by snj
Branch: netbsd-7-0
Changes since 1.76.4.1: +1 -2
lines
Diff to previous 1.76.4.1 (colored) to branchpoint 1.76 (colored) next main 1.77 (colored)
Pull up following revision(s) (requested by maxv in ticket #1441): sys/arch/i386/i386/trap.c: revision 1.288 via patch sys/arch/i386/i386/machdep.c: revision 1.783 via patch sys/arch/i386/i386/locore.S: revision 1.146 via patch sys/arch/amd64/amd64/locore.S: revision 1.124 via patch Remove the osyscall call gate on i386, and emulate it. There is a one- instruction race in it that could panic the kernel.
Revision 1.123.6.1 / (download) - annotate - [select for diffs], Wed Jul 5 19:59:29 2017 UTC (5 years, 11 months ago) by snj
Branch: netbsd-8
Changes since 1.123: +1 -2
lines
Diff to previous 1.123 (colored)
Pull up following revision(s) (requested by maxv in ticket #88): sys/arch/amd64/amd64/locore.S: revision 1.124 sys/arch/i386/i386/locore.S: revision 1.146 sys/arch/i386/i386/machdep.c: revision 1.783 sys/arch/i386/i386/trap.c: revision 1.288 Remove the osyscall call gate on i386, and emulate it. There is a one- instruction race in it that could panic the kernel.
Revision 1.124 / (download) - annotate - [select for diffs], Sat Jul 1 10:44:42 2017 UTC (5 years, 11 months ago) by maxv
Branch: MAIN
CVS Tags: perseant-stdc-iso10646-base,
perseant-stdc-iso10646
Changes since 1.123: +1 -2
lines
Diff to previous 1.123 (colored)
Remove the osyscall call gate on i386, and emulate it. There is a one- instruction race in it that could panic the kernel.
Revision 1.76.2.1 / (download) - annotate - [select for diffs], Wed Apr 26 14:52:50 2017 UTC (6 years, 1 month ago) by martin
Branch: netbsd-7
Changes since 1.76: +1 -22
lines
Diff to previous 1.76 (colored)
Pull up following revision(s) (requested by bsiegert in ticket #1397): sys/arch/amd64/amd64/locore.S 1.122 (via patch) sys/arch/amd64/amd64/machdep.c 1.254 (via patch) sys/arch/amd64/amd64/trap.c 1.95 (via patch) Remove the call gate on amd64, it is useless and vulnerable.
Revision 1.76.8.1 / (download) - annotate - [select for diffs], Wed Apr 26 14:51:58 2017 UTC (6 years, 1 month ago) by martin
Branch: netbsd-7-1
Changes since 1.76: +1 -22
lines
Diff to previous 1.76 (colored)
Pull up following revision(s) (requested by bsiegert in ticket #1397): sys/arch/amd64/amd64/locore.S 1.122 (via patch) sys/arch/amd64/amd64/machdep.c 1.254 (via patch) sys/arch/amd64/amd64/trap.c 1.95 (via patch) Remove the call gate on amd64, it is useless and vulnerable.
Revision 1.76.4.1 / (download) - annotate - [select for diffs], Wed Apr 26 14:50:51 2017 UTC (6 years, 1 month ago) by martin
Branch: netbsd-7-0
Changes since 1.76: +1 -22
lines
Diff to previous 1.76 (colored)
Pull up following revision(s) (requested by bsiegert in ticket #1397): sys/arch/amd64/amd64/locore.S 1.122 (via patch) sys/arch/amd64/amd64/machdep.c 1.254 (via patch) sys/arch/amd64/amd64/trap.c 1.95 (via patch) Remove the call gate on amd64, it is useless and vulnerable.
Revision 1.107.2.5 / (download) - annotate - [select for diffs], Wed Apr 26 02:52:59 2017 UTC (6 years, 1 month ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.107.2.4: +1 -23
lines
Diff to previous 1.107.2.4 (colored) to branchpoint 1.107 (colored) next main 1.108 (colored)
Sync with HEAD
Revision 1.118.2.1 / (download) - annotate - [select for diffs], Fri Apr 21 16:53:21 2017 UTC (6 years, 1 month ago) by bouyer
Branch: bouyer-socketcan
Changes since 1.118: +27 -36
lines
Diff to previous 1.118 (colored) next main 1.119 (colored)
Sync with HEAD
Revision 1.123 / (download) - annotate - [select for diffs], Sat Mar 25 15:07:21 2017 UTC (6 years, 2 months ago) by maxv
Branch: MAIN
CVS Tags: prg-localcount2-base3,
prg-localcount2-base2,
prg-localcount2-base1,
prg-localcount2-base,
prg-localcount2,
pgoyette-localcount-20170426,
netbsd-8-base,
jdolecek-ncq-base,
jdolecek-ncq,
bouyer-socketcan-base1
Branch point for: netbsd-8
Changes since 1.122: +1 -2
lines
Diff to previous 1.122 (colored)
Don't need gdtstore here.
Revision 1.122 / (download) - annotate - [select for diffs], Thu Mar 23 17:25:51 2017 UTC (6 years, 2 months ago) by maxv
Branch: MAIN
Changes since 1.121: +1 -22
lines
Diff to previous 1.121 (colored)
Remove this call gate on amd64, it is useless and vulnerable. Call gates do not modify %rflags, so interrupts are not disabled when entering the gate. There is a small window where we are in kernel mode and with a userland %gs, and if an interrupt happens here we will rejump into the kernel but not switch to the kernel TLS. Userland can simply perform a gate call in a loop, and hope that at some point an interrupt will be received in this window - which necessarily will be the case. With a specially-crafted %gs it is certainly enough to escalate privileges.
Revision 1.107.2.4 / (download) - annotate - [select for diffs], Mon Mar 20 06:57:09 2017 UTC (6 years, 2 months ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.107.2.3: +27 -14
lines
Diff to previous 1.107.2.3 (colored) to branchpoint 1.107 (colored)
Sync with HEAD
Revision 1.121 / (download) - annotate - [select for diffs], Thu Feb 9 19:30:56 2017 UTC (6 years, 4 months ago) by maxv
Branch: MAIN
CVS Tags: pgoyette-localcount-20170320
Changes since 1.120: +25 -10
lines
Diff to previous 1.120 (colored)
If the preloaded modules cannot be mapped with the initial amount of VA, discard the associated bootinfo entry. Otherwise the machine faults and reboots immediately. I spotted this bug more than a year ago, but I recently saw that there is already PR/42645 (7 years old), so just fix it. The size has been increased in the meantime, so the limit is unlikely to be reached anyway.
Revision 1.120 / (download) - annotate - [select for diffs], Thu Feb 9 08:23:46 2017 UTC (6 years, 4 months ago) by maxv
Branch: MAIN
Changes since 1.119: +2 -4
lines
Diff to previous 1.119 (colored)
Restore %ds before swapgs. Movs to segment registers are allowed to fault in kernel mode but simply cause a signal to be sent to userland. The thing is, in this case %gs is not restored when entering the trap routine, which means the kernel uses userland's TLS instead of using its own. Which in short makes it easy to escalate privileges. Currently, this bug is triggered only in one place, which I am about to fix too.
Revision 1.77.2.7 / (download) - annotate - [select for diffs], Sun Feb 5 13:40:01 2017 UTC (6 years, 4 months ago) by skrll
Branch: nick-nhusb
Changes since 1.77.2.6: +12 -10
lines
Diff to previous 1.77.2.6 (colored) to branchpoint 1.77 (colored)
Sync with HEAD
Revision 1.119 / (download) - annotate - [select for diffs], Thu Feb 2 19:12:09 2017 UTC (6 years, 4 months ago) by maxv
Branch: MAIN
CVS Tags: nick-nhusb-base-20170204
Changes since 1.118: +2 -2
lines
Diff to previous 1.118 (colored)
Fix these comments, we probably won't want to keep them up to date.
Revision 1.107.2.3 / (download) - annotate - [select for diffs], Sat Jan 7 08:56:09 2017 UTC (6 years, 5 months ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.107.2.2: +29 -43
lines
Diff to previous 1.107.2.2 (colored) to branchpoint 1.107 (colored)
Sync with HEAD. (Note that most of these changes are simply $NetBSD$ tag issues.)
Revision 1.118 / (download) - annotate - [select for diffs], Sat Dec 17 13:49:05 2016 UTC (6 years, 5 months ago) by maxv
Branch: MAIN
CVS Tags: pgoyette-localcount-20170107,
bouyer-socketcan-base
Branch point for: bouyer-socketcan
Changes since 1.117: +4 -4
lines
Diff to previous 1.117 (colored)
Fix the name of the labels. I think I got confused by jne, so while here replace it by jnz, which is more explicit.
Revision 1.117 / (download) - annotate - [select for diffs], Fri Dec 16 19:52:22 2016 UTC (6 years, 5 months ago) by maxv
Branch: MAIN
Changes since 1.116: +3 -3
lines
Diff to previous 1.116 (colored)
The way the xen dummy page is taken care of makes absolutely no sense at all, with magic offsets here and there in different layers of the system. It is just blind luck that everything has always worked as expected so far. Due to this wrong design we have a problem now: we allocate one physical page for lapic, and it happens to overlap with the dummy page, which causes the system to crash. Fix this by keeping the dummy va directly in a variable instead of magic offsets. The asm locore now increments the first pa to hide the dummy page to machdep and pmap.
Revision 1.116 / (download) - annotate - [select for diffs], Fri Dec 9 17:57:24 2016 UTC (6 years, 6 months ago) by maxv
Branch: MAIN
Changes since 1.115: +5 -3
lines
Diff to previous 1.115 (colored)
On amd64 we try to guarantee that VA = PA + KERNBASE in the bootstrap memory. But we have a problem with the ISA I/O MEM, because its va is located above the kernel and its pa below it, so it does not respect the rule. To compensate for that we make the map look like the ISA stuff is above the kernel by applying an offset on the pa. The issue with this design is that we systematically lose 96 pages of physical memory. Fix this by applying the offset on the va instead. Now these 96 pages are internalized into uvm, and the rule is respected until kern_end.
Revision 1.115 / (download) - annotate - [select for diffs], Tue Dec 6 15:05:07 2016 UTC (6 years, 6 months ago) by maxv
Branch: MAIN
Changes since 1.114: +2 -2
lines
Diff to previous 1.114 (colored)
Use __kernel_end instead. Does not change anything, but will be meaningful soon.
Revision 1.77.2.6 / (download) - annotate - [select for diffs], Mon Dec 5 10:54:49 2016 UTC (6 years, 6 months ago) by skrll
Branch: nick-nhusb
Changes since 1.77.2.5: +20 -41
lines
Diff to previous 1.77.2.5 (colored) to branchpoint 1.77 (colored)
Sync with HEAD
Revision 1.114 / (download) - annotate - [select for diffs], Fri Nov 25 14:12:55 2016 UTC (6 years, 6 months ago) by maxv
Branch: MAIN
CVS Tags: nick-nhusb-base-20161204
Changes since 1.113: +1 -11
lines
Diff to previous 1.113 (colored)
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.
Revision 1.113 / (download) - annotate - [select for diffs], Fri Nov 11 11:34:51 2016 UTC (6 years, 6 months ago) by maxv
Branch: MAIN
Changes since 1.112: +3 -3
lines
Diff to previous 1.112 (colored)
Rename xen_pmap_bootstrap to xen_locore, it really has nothing to do with pmap and is just a C version of what amd64 and i386 do in asm.
Revision 1.112 / (download) - annotate - [select for diffs], Fri Nov 11 11:31:26 2016 UTC (6 years, 6 months ago) by maxv
Branch: MAIN
Changes since 1.111: +11 -1
lines
Diff to previous 1.111 (colored)
Mmh, I mistakenly removed the lapic page (which is part of another diff), put it back in.
Revision 1.111 / (download) - annotate - [select for diffs], Fri Nov 11 10:40:00 2016 UTC (6 years, 6 months ago) by maxv
Branch: MAIN
Changes since 1.110: +19 -35
lines
Diff to previous 1.110 (colored)
KNF and simplify Xen
Revision 1.107.2.2 / (download) - annotate - [select for diffs], Fri Nov 4 14:48:57 2016 UTC (6 years, 7 months ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.107.2.1: +3 -8
lines
Diff to previous 1.107.2.1 (colored) to branchpoint 1.107 (colored)
Sync with HEAD
Revision 1.110 / (download) - annotate - [select for diffs], Sun Oct 16 10:51:31 2016 UTC (6 years, 7 months ago) by maxv
Branch: MAIN
CVS Tags: pgoyette-localcount-20161104
Changes since 1.109: +3 -8
lines
Diff to previous 1.109 (colored)
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.
Revision 1.77.2.5 / (download) - annotate - [select for diffs], Wed Oct 5 20:55:23 2016 UTC (6 years, 8 months ago) by skrll
Branch: nick-nhusb
Changes since 1.77.2.4: +45 -53
lines
Diff to previous 1.77.2.4 (colored) to branchpoint 1.77 (colored)
Sync with HEAD
Revision 1.109 / (download) - annotate - [select for diffs], Sun Aug 21 09:53:25 2016 UTC (6 years, 9 months ago) by maxv
Branch: MAIN
CVS Tags: nick-nhusb-base-20161004,
localcount-20160914
Changes since 1.108: +7 -8
lines
Diff to previous 1.108 (colored)
Simplify.
Revision 1.107.2.1 / (download) - annotate - [select for diffs], Tue Jul 26 03:24:16 2016 UTC (6 years, 10 months ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.107: +3 -17
lines
Diff to previous 1.107 (colored)
Sync with HEAD
Revision 1.108 / (download) - annotate - [select for diffs], Mon Jul 25 16:03:38 2016 UTC (6 years, 10 months ago) by maxv
Branch: MAIN
CVS Tags: pgoyette-localcount-20160806,
pgoyette-localcount-20160726
Changes since 1.107: +3 -17
lines
Diff to previous 1.107 (colored)
Remove lapic_id, lapic_ppr and lapic_isr. We need to be careful though: the offset of lapic_tpr must not change, and the whole area must be exactly one page.
Revision 1.107 / (download) - annotate - [select for diffs], Mon Jul 11 14:52:54 2016 UTC (6 years, 11 months ago) by maxv
Branch: MAIN
CVS Tags: pgoyette-localcount-base
Branch point for: pgoyette-localcount
Changes since 1.106: +42 -35
lines
Diff to previous 1.106 (colored)
KNF and simplify.
Revision 1.77.2.4 / (download) - annotate - [select for diffs], Sat Jul 9 20:24:49 2016 UTC (6 years, 11 months ago) by skrll
Branch: nick-nhusb
Changes since 1.77.2.3: +115 -100
lines
Diff to previous 1.77.2.3 (colored) to branchpoint 1.77 (colored)
Sync with HEAD
Revision 1.106 / (download) - annotate - [select for diffs], Sat Jul 9 06:58:06 2016 UTC (6 years, 11 months ago) by maxv
Branch: MAIN
CVS Tags: nick-nhusb-base-20160907
Changes since 1.105: +4 -4
lines
Diff to previous 1.105 (colored)
The CPU considers a given va as executable if none of its levels have the NOX bit. With the top level recursive slot, however, several levels are recursively omitted, which implies that each entry that is not the child of NOX-ed parents actually appears somewhere in the virtual space as executable via this slot, even if it is followed by an underlying entry that has the NOX bit. This recursive slot is only used to edit the page tree itself. Make it non-executable.
Revision 1.105 / (download) - annotate - [select for diffs], Fri Jul 8 09:15:38 2016 UTC (6 years, 11 months ago) by maxv
Branch: MAIN
Changes since 1.104: +3 -3
lines
Diff to previous 1.104 (colored)
The preloaded modules are now reallocated dynamically by the kernel. This area does not need to be executable anymore.
Revision 1.104 / (download) - annotate - [select for diffs], Mon Jul 4 07:56:07 2016 UTC (6 years, 11 months ago) by maxv
Branch: MAIN
Changes since 1.103: +11 -12
lines
Diff to previous 1.103 (colored)
Make the execution flow canonical instead of jumping back and forth, and complete the userland check.
Revision 1.103 / (download) - annotate - [select for diffs], Fri Jul 1 13:11:21 2016 UTC (6 years, 11 months ago) by maxv
Branch: MAIN
Changes since 1.102: +39 -35
lines
Diff to previous 1.102 (colored)
Try to make this part more readable. No functional change.
Revision 1.102 / (download) - annotate - [select for diffs], Sat Jun 4 10:48:11 2016 UTC (7 years ago) by maxv
Branch: MAIN
Changes since 1.101: +2 -2
lines
Diff to previous 1.101 (colored)
The ISA I/O MEM does not need to be executable. Remove the X permission on it.
Revision 1.101 / (download) - annotate - [select for diffs], Sat Jun 4 10:19:09 2016 UTC (7 years ago) by maxv
Branch: MAIN
Changes since 1.100: +8 -6
lines
Diff to previous 1.100 (colored)
Use the same instruction layout to map the ISA I/O. No functional change. The comment is still wrong: we are not on (4), we are actually below the kernel area in physical memory. I'll fix that later.
Revision 1.100 / (download) - annotate - [select for diffs], Sat Jun 4 09:45:57 2016 UTC (7 years ago) by maxv
Branch: MAIN
Changes since 1.99: +6 -6
lines
Diff to previous 1.99 (colored)
Reorder some definitions. Reduces the diff between amd64 and i386.
Revision 1.99 / (download) - annotate - [select for diffs], Sun May 29 17:06:17 2016 UTC (7 years ago) by bouyer
Branch: MAIN
Changes since 1.98: +30 -10
lines
Diff to previous 1.98 (colored)
Switch to elf notes for amd64 instead of the old key=value list to describe the guest requirements and support. Add infrastructure to query the hypervisor about features support. For verbose boot, print the features suppoted by the hypervisor for this guest.
Revision 1.98 / (download) - annotate - [select for diffs], Sun May 29 09:16:11 2016 UTC (7 years ago) by maxv
Branch: MAIN
Changes since 1.97: +4 -0
lines
Diff to previous 1.97 (colored)
Define tablesize. Useful when debugging.
Revision 1.97 / (download) - annotate - [select for diffs], Sun May 29 09:04:19 2016 UTC (7 years ago) by maxv
Branch: MAIN
Changes since 1.96: +21 -35
lines
Diff to previous 1.96 (colored)
Revert rev1.94. It apparently raises a page fault from SMEP. I need to investigate the whole kernel mappings anyway, so I'll recommit this patch later.
Revision 1.77.2.3 / (download) - annotate - [select for diffs], Sun May 29 08:44:15 2016 UTC (7 years ago) by skrll
Branch: nick-nhusb
Changes since 1.77.2.2: +263 -159
lines
Diff to previous 1.77.2.2 (colored) to branchpoint 1.77 (colored)
Sync with HEAD
Revision 1.96 / (download) - annotate - [select for diffs], Sat May 28 09:03:16 2016 UTC (7 years ago) by maxv
Branch: MAIN
CVS Tags: nick-nhusb-base-20160529
Changes since 1.95: +18 -4
lines
Diff to previous 1.95 (colored)
Define fillkpt_blank, which creates blank entries in a page table. Use it to map the first MB. No functional change.
Revision 1.95 / (download) - annotate - [select for diffs], Sat May 28 08:43:16 2016 UTC (7 years ago) by maxv
Branch: MAIN
Changes since 1.94: +33 -19
lines
Diff to previous 1.94 (colored)
Move proc0's stack out of the BOOTSTRAP TABLES, and map it independently with RW permissions. Reduces the impact of a stack overflow.
Revision 1.94 / (download) - annotate - [select for diffs], Thu May 26 07:24:55 2016 UTC (7 years ago) by maxv
Branch: MAIN
Changes since 1.93: +9 -3
lines
Diff to previous 1.93 (colored)
There is an issue in the way the fillkpt macro sets up pages on both amd64 and i386. The fillkpt loop is equivalent to the following: do { /* fill in the slot */ /* increment %ebx to the next slot */ /* increment %eax to the next pa */ } while (%ecx > 0) The issue here is that if %ecx = 0 (i.e., the chunk we are trying to map is zero-sized), there is still one entry created in the page table. The kernel expects the va<->pa translation to be linear in low memory. If there is a zero-sized chunk, the dead entry creates a +4096 offset in the virtual space, with two consecutive entries that point to the same physical address. In other words, the mappings are not linear anymore, which causes the kernel to die. Before my recent changes, there were only two big chunks that were mapped, and neither of these could be zero-sized. Now, with multiple, fine-grained chunks, it is possible that the [SYMS]+[PRELOADED_MODULES] chunk could be zero-sized. [PRELOADED_MODULES] is almost never here, and [SYMS] is always here on default kernels. Except for floppies, where the bootloader does not load [SYMS]. Should fix PR 51148.
Revision 1.93 / (download) - annotate - [select for diffs], Sun May 22 10:11:55 2016 UTC (7 years ago) by maxv
Branch: MAIN
Changes since 1.92: +6 -6
lines
Diff to previous 1.92 (colored)
Save L4's physical address earlier. Also, PDE_SIZE has nothing to do here, we are just zeroing out the upper 32bits of the 64bit pointer.
Revision 1.92 / (download) - annotate - [select for diffs], Sun May 15 07:17:53 2016 UTC (7 years ago) by maxv
Branch: MAIN
Changes since 1.91: +9 -10
lines
Diff to previous 1.91 (colored)
Split the PRELOADED_MODULES+BOOTSTRAP_TABLES chunk into two separate chunks mapped independently with RWX and RW, on both amd64 and i386. This way the BOOTSTRAP TABLES are non-executable.
Revision 1.91 / (download) - annotate - [select for diffs], Sun May 15 07:01:36 2016 UTC (7 years ago) by maxv
Branch: MAIN
Changes since 1.90: +13 -13
lines
Diff to previous 1.90 (colored)
Reduce the diff between amd64 and i386. We invert two instructions on amd64, but it makes no difference since PDE_SIZE = 8.
Revision 1.90 / (download) - annotate - [select for diffs], Thu May 12 09:05:16 2016 UTC (7 years, 1 month ago) by maxv
Branch: MAIN
Changes since 1.89: +14 -6
lines
Diff to previous 1.89 (colored)
Map the data+bss chunk independently on amd64, and remove the X permission on it.
Revision 1.89 / (download) - annotate - [select for diffs], Thu May 12 07:51:09 2016 UTC (7 years, 1 month ago) by maxv
Branch: MAIN
Changes since 1.88: +16 -3
lines
Diff to previous 1.88 (colored)
Define fillkpt_nox, which sets up a set of pages and puts the NOX bit on them by using nox_flag. Use fillkpt_nox to map the rodata segment without X permissions.
Revision 1.88 / (download) - annotate - [select for diffs], Thu May 12 07:21:18 2016 UTC (7 years, 1 month ago) by maxv
Branch: MAIN
Changes since 1.87: +17 -14
lines
Diff to previous 1.87 (colored)
Map the rodata segment independently on amd64, and remove the W permission on it.
Revision 1.87 / (download) - annotate - [select for diffs], Thu May 12 06:45:16 2016 UTC (7 years, 1 month ago) by maxv
Branch: MAIN
Changes since 1.86: +3 -3
lines
Diff to previous 1.86 (colored)
Split the {text+rodata} chunk in two separate chunks on x86. The rodata segment now loses the large page optimization, gets mapped inside the data segment, and therefore becomes RWX. It may break the build on Xen.
Revision 1.86 / (download) - annotate - [select for diffs], Wed May 11 19:35:08 2016 UTC (7 years, 1 month ago) by maxv
Branch: MAIN
Changes since 1.85: +25 -3
lines
Diff to previous 1.85 (colored)
There is a bug in the way the secondary CPUs are launched on amd64. When CPU0 is launched, EFER_NXE is enabled in it, and it allows it to handle pages that have the NOX bit. When the secondary CPUs are launched, however, EFER_NXE is enabled only after paging is set in their %cr0. And therefore, between the moment when paging is enabled and the moment when EFER_NXE is enabled, the secondary CPUs cannot access pages that have the NOX bit - they crash if they try to. The funny thing is that in order to enable EFER_NXE, the secondary CPUs give a look at cpu_feature[2], which is in the DATA segment, which in turn could have the NOX bit. In other words, the secondary CPUs crash if the DATA segment is mapped with the NOX bit. Fix this by enabling EFER_NXE in the secondary CPUs before enabling paging. CPU0 initializes nox_flag to the 32bit version of PG_NX if NOX is supported; the secondary CPUs then use nox_flag to know whether NOX is supported. nox_flag will be used for other purposes soon.
Revision 1.85 / (download) - annotate - [select for diffs], Sun May 8 08:22:58 2016 UTC (7 years, 1 month ago) by maxv
Branch: MAIN
Changes since 1.84: +2 -4
lines
Diff to previous 1.84 (colored)
Use killkpt for the PML4 entries as well.
Revision 1.84 / (download) - annotate - [select for diffs], Sat May 7 11:49:21 2016 UTC (7 years, 1 month ago) by maxv
Branch: MAIN
Changes since 1.83: +151 -124
lines
Diff to previous 1.83 (colored)
clarify
Revision 1.77.2.2 / (download) - annotate - [select for diffs], Sun Dec 27 12:09:28 2015 UTC (7 years, 5 months ago) by skrll
Branch: nick-nhusb
Changes since 1.77.2.1: +155 -149
lines
Diff to previous 1.77.2.1 (colored) to branchpoint 1.77 (colored)
Sync with HEAD (as of 26th Dec)
Revision 1.83 / (download) - annotate - [select for diffs], Wed Nov 25 16:00:09 2015 UTC (7 years, 6 months ago) by maxv
Branch: MAIN
CVS Tags: nick-nhusb-base-20160422,
nick-nhusb-base-20160319,
nick-nhusb-base-20151226
Changes since 1.82: +76 -75
lines
Diff to previous 1.82 (colored)
Cosmetic changes.
Revision 1.82 / (download) - annotate - [select for diffs], Sun Nov 22 14:06:08 2015 UTC (7 years, 6 months ago) by maxv
Branch: MAIN
Changes since 1.81: +1 -11
lines
Diff to previous 1.81 (colored)
Remove cpu_vendorname (unused). It is retrieved later in identcpu.c.
Revision 1.81 / (download) - annotate - [select for diffs], Sun Nov 22 10:18:59 2015 UTC (7 years, 6 months ago) by maxv
Branch: MAIN
Changes since 1.80: +76 -53
lines
Diff to previous 1.80 (colored)
Clarify: - add some comments - rename some jumps - KNF No functional change.
Revision 1.80 / (download) - annotate - [select for diffs], Fri Nov 20 11:58:00 2015 UTC (7 years, 6 months ago) by maxv
Branch: MAIN
Changes since 1.79: +17 -24
lines
Diff to previous 1.79 (colored)
A few changes: - remove cpu_id and cpu_brand_id (unused) - copy a comment from i386 about fillkpt - define PDE_SIZE (i386)
Revision 1.79 / (download) - annotate - [select for diffs], Sat Nov 14 14:01:23 2015 UTC (7 years, 6 months ago) by maxv
Branch: MAIN
Changes since 1.78: +4 -5
lines
Diff to previous 1.78 (colored)
KNF, and fix some comments
Revision 1.77.2.1 / (download) - annotate - [select for diffs], Tue Sep 22 12:05:35 2015 UTC (7 years, 8 months ago) by skrll
Branch: nick-nhusb
Changes since 1.77: +3 -2
lines
Diff to previous 1.77 (colored)
Sync with HEAD
Revision 1.78 / (download) - annotate - [select for diffs], Sun Aug 30 01:46:02 2015 UTC (7 years, 9 months ago) by uebayasi
Branch: MAIN
CVS Tags: nick-nhusb-base-20150921
Changes since 1.77: +3 -2
lines
Diff to previous 1.77 (colored)
Use makeoptions_COPY_SYMTAB via opt_copy_symtab.h in sources. Remove a hack to set -DCOPY_SYMTAB from sys/conf/Makefile.kern.inc. Remove unnecessary dependencies too.
Revision 1.70.2.1 / (download) - annotate - [select for diffs], Wed Aug 20 00:02:42 2014 UTC (8 years, 9 months ago) by tls
Branch: tls-maxphys
Changes since 1.70: +168 -99
lines
Diff to previous 1.70 (colored)
Rebase to HEAD as of a few days ago.
Revision 1.77 / (download) - annotate - [select for diffs], Sun Aug 17 21:17:43 2014 UTC (8 years, 9 months ago) by joerg
Branch: MAIN
CVS Tags: nick-nhusb-base-20150606,
nick-nhusb-base-20150406,
nick-nhusb-base
Branch point for: nick-nhusb
Changes since 1.76: +2 -2
lines
Diff to previous 1.76 (colored)
Reorganize symbol table embedding. The existing option SYMTAB_SPACE is replaced by the make option COPY_SYMTAB set to any value. The copy of the symbol table is no longer put into a buffer in kern_ksyms.o, but a small helper object. This object is build first with a dummy size, then the kernel is linked to compute the real dimension of the symbol table buffer. After that, the helper object is rebuild and the kernel linked again.
Revision 1.75.2.1 / (download) - annotate - [select for diffs], Sun Aug 10 06:53:49 2014 UTC (8 years, 10 months ago) by tls
Branch: tls-earlyentropy
Changes since 1.75: +3 -4
lines
Diff to previous 1.75 (colored) next main 1.76 (colored)
Rebase.
Revision 1.65.4.4 / (download) - annotate - [select for diffs], Thu May 22 11:39:28 2014 UTC (9 years ago) by yamt
Branch: yamt-pagecache
Changes since 1.65.4.3: +166 -96
lines
Diff to previous 1.65.4.3 (colored) to branchpoint 1.65 (colored) next main 1.66 (colored)
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")
Revision 1.73.2.1 / (download) - annotate - [select for diffs], Sun May 18 17:44:54 2014 UTC (9 years ago) by rmind
Branch: rmind-smpnet
Changes since 1.73: +3 -4
lines
Diff to previous 1.73 (colored) next main 1.74 (colored)
sync with head
Revision 1.76 / (download) - annotate - [select for diffs], Fri May 16 00:48:41 2014 UTC (9 years ago) by rmind
Branch: MAIN
CVS Tags: tls-maxphys-base,
tls-earlyentropy-base,
rmind-smpnet-nbase,
rmind-smpnet-base,
netbsd-7-nhusb-base-20170116,
netbsd-7-nhusb-base,
netbsd-7-nhusb,
netbsd-7-base,
netbsd-7-1-RELEASE,
netbsd-7-1-RC2,
netbsd-7-1-RC1,
netbsd-7-0-RELEASE,
netbsd-7-0-RC3,
netbsd-7-0-RC2,
netbsd-7-0-RC1,
netbsd-7-0-2-RELEASE,
netbsd-7-0-1-RELEASE
Branch point for: netbsd-7-1,
netbsd-7-0,
netbsd-7
Changes since 1.75: +3 -4
lines
Diff to previous 1.75 (colored)
pcu(9): - Remove PCU_KERNEL (hi matt!) and significantly simplify the code. This experimental feature was tried on ARM did not meet the expectations. It may be revived one day, but it should be done in a much simpler way. - Add a message structure for xcall function, pass the LWP ower and thus optimise a race condition: if LWP is discarding its state on a remote CPU, but another LWP already did it - do not cause an unecessary re-faulting. - Reduce the variety of flags for PCU operations (only PCU_VALID and PCU_REENABLE are used now), pass them only to the pcu_state_load(). - Rename pcu_used_p() to pcu_valid_p(); hopefully it is less confusing. - pcu_save_all_on_cpu: SPL ought to be used here. - Update and improve the pcu(9) man page; it needs wizd(8) though.
Revision 1.75 / (download) - annotate - [select for diffs], Sun Dec 1 01:05:16 2013 UTC (9 years, 6 months ago) by christos
Branch: MAIN
CVS Tags: yamt-pagecache-base9,
riastradh-xf86-video-intel-2-7-1-pre-2-21-15,
riastradh-drm2-base3
Branch point for: tls-earlyentropy
Changes since 1.74: +11 -2
lines
Diff to previous 1.74 (colored)
revert fpu/pcu changes until we figure out what's wrong; they cause random freezes
Revision 1.74 / (download) - annotate - [select for diffs], Wed Oct 23 20:18:50 2013 UTC (9 years, 7 months ago) by drochner
Branch: MAIN
Changes since 1.73: +3 -12
lines
Diff to previous 1.73 (colored)
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 1.73 / (download) - annotate - [select for diffs], Sun Jun 23 09:00:37 2013 UTC (9 years, 11 months ago) by uebayasi
Branch: MAIN
CVS Tags: riastradh-drm2-base2,
riastradh-drm2-base1,
riastradh-drm2-base,
riastradh-drm2
Branch point for: rmind-smpnet
Changes since 1.72: +65 -57
lines
Diff to previous 1.72 (colored)
Whitespace, comment, NBPG -> PAGE_SIZE.
Revision 1.72 / (download) - annotate - [select for diffs], Sun Jun 23 03:16:46 2013 UTC (9 years, 11 months ago) by uebayasi
Branch: MAIN
Changes since 1.71: +2 -2
lines
Diff to previous 1.71 (colored)
Whitespace.
Revision 1.71 / (download) - annotate - [select for diffs], Sat Jun 22 15:13:56 2013 UTC (9 years, 11 months ago) by uebayasi
Branch: MAIN
Changes since 1.70: +99 -37
lines
Diff to previous 1.70 (colored)
Use END() markers, etc. Pure ELF .symtab (size) changes.
Revision 1.65.4.3 / (download) - annotate - [select for diffs], Tue Oct 30 17:18:43 2012 UTC (10 years, 7 months ago) by yamt
Branch: yamt-pagecache
CVS Tags: yamt-pagecache-tag8
Changes since 1.65.4.2: +70 -105
lines
Diff to previous 1.65.4.2 (colored) to branchpoint 1.65 (colored)
sync with head
Revision 1.70 / (download) - annotate - [select for diffs], Sun Jul 15 15:17:56 2012 UTC (10 years, 10 months ago) by dsl
Branch: MAIN
CVS Tags: yamt-pagecache-base8,
yamt-pagecache-base7,
yamt-pagecache-base6,
khorben-n900,
agc-symver-base,
agc-symver
Branch point for: tls-maxphys
Changes since 1.69: +68 -103
lines
Diff to previous 1.69 (colored)
Rename MDP_IRET to MDL_IRET since it is an lwp flag, not a proc one. Add an MDL_COMPAT32 flag to the lwp's md_flags, set it for 32bit lwps and use it to force 'return to user' with iret (as is done when MDL_IRET is set). Split the iret/sysret code paths much later. Remove all the replicated code for 32bit system calls - which was only needed so that iret was always used. frameasm.h for XEN contains '#define swapgs', while XEN probable never needs swapgs, this is likely to be confusing. Add a SWAPGS which is a nop on XEN and swapgs otherwise. (I've not yet checked all the swapgs in files that include frameasm.h) Simple x86 programs still work. Hijack 6.99.9 kernel bump (needed for compat32 modules)
Revision 1.69 / (download) - annotate - [select for diffs], Sat Jun 16 17:30:19 2012 UTC (10 years, 11 months ago) by chs
Branch: MAIN
Changes since 1.68: +3 -3
lines
Diff to previous 1.68 (colored)
rename the global variable "cpu" to "cputype" to avoid conflicting with dtrace, which wants to use "cpu" as a local variable.
Revision 1.65.4.2 / (download) - annotate - [select for diffs], Wed May 23 10:07:39 2012 UTC (11 years ago) by yamt
Branch: yamt-pagecache
Changes since 1.65.4.1: +2 -2
lines
Diff to previous 1.65.4.1 (colored) to branchpoint 1.65 (colored)
sync with head.
Revision 1.65.8.3 / (download) - annotate - [select for diffs], Sun Apr 29 23:04:36 2012 UTC (11 years, 1 month ago) by mrg
Branch: jmcneill-usbmp
Changes since 1.65.8.2: +2 -2
lines
Diff to previous 1.65.8.2 (colored) to branchpoint 1.65 (colored) next main 1.66 (colored)
sync to latest -current.
Revision 1.66.2.1 / (download) - annotate - [select for diffs], Fri Apr 20 23:32:14 2012 UTC (11 years, 1 month ago) by riz
Branch: netbsd-6
CVS Tags: netbsd-6-1-RELEASE,
netbsd-6-1-RC4,
netbsd-6-1-RC3,
netbsd-6-1-RC2,
netbsd-6-1-RC1,
netbsd-6-1-5-RELEASE,
netbsd-6-1-4-RELEASE,
netbsd-6-1-3-RELEASE,
netbsd-6-1-2-RELEASE,
netbsd-6-1-1-RELEASE,
netbsd-6-0-RELEASE,
netbsd-6-0-RC2,
netbsd-6-0-RC1,
netbsd-6-0-6-RELEASE,
netbsd-6-0-5-RELEASE,
netbsd-6-0-4-RELEASE,
netbsd-6-0-3-RELEASE,
netbsd-6-0-2-RELEASE,
netbsd-6-0-1-RELEASE,
matt-nb6-plus-nbase,
matt-nb6-plus-base,
matt-nb6-plus
Branch point for: netbsd-6-1,
netbsd-6-0
Changes since 1.66: +2 -2
lines
Diff to previous 1.66 (colored)
Pull up following revision(s) (requested by jym in ticket #189): sys/arch/x86/include/psl.h: revision 1.7 sys/arch/i386/i386/locore.S: revision 1.98 sys/arch/amd64/acpi/acpi_wakecode.S: revision 1.11 sys/arch/amd64/amd64/mptramp.S: revision 1.13 sys/arch/i386/acpi/acpi_wakecode.S: revision 1.15 sys/arch/i386/i386/mptramp.S: revision 1.23 sys/arch/amd64/amd64/locore.S: revision 1.68 Set the CR0_AM bit so processes can enable alignment check errors under x86 through PSL_AC bit. ATF test incoming shortly. PSL_AC is user-settable.
Revision 1.68 / (download) - annotate - [select for diffs], Thu Apr 19 18:00:34 2012 UTC (11 years, 1 month ago) by jym
Branch: MAIN
CVS Tags: yamt-pagecache-base5,
jmcneill-usbmp-base9,
jmcneill-usbmp-base10
Changes since 1.67: +2 -2
lines
Diff to previous 1.67 (colored)
Set the CR0_AM bit so processes can enable alignment check errors under x86 through PSL_AC bit. ATF test incoming shortly.
Revision 1.65.4.1 / (download) - annotate - [select for diffs], Tue Apr 17 00:05:58 2012 UTC (11 years, 1 month ago) by yamt
Branch: yamt-pagecache
Changes since 1.65: +32 -2
lines
Diff to previous 1.65 (colored)
sync with head
Revision 1.65.8.2 / (download) - annotate - [select for diffs], Sun Mar 4 00:46:02 2012 UTC (11 years, 3 months ago) by mrg
Branch: jmcneill-usbmp
Changes since 1.65.8.1: +6 -1
lines
Diff to previous 1.65.8.1 (colored) to branchpoint 1.65 (colored)
sync to latest -current.
Revision 1.67 / (download) - annotate - [select for diffs], Fri Feb 24 08:06:07 2012 UTC (11 years, 3 months ago) by cherry
Branch: MAIN
CVS Tags: yamt-pagecache-base4,
jmcneill-usbmp-base8,
jmcneill-usbmp-base7,
jmcneill-usbmp-base6,
jmcneill-usbmp-base5,
jmcneill-usbmp-base4
Changes since 1.66: +6 -1
lines
Diff to previous 1.66 (colored)
(xen) - remove the (*xpq_cpu)() shim.We hasten the %fs/%gs setup process during boot.Although this is hacky, it lets us use the non-xen specificpmap_pte_xxx() functions in pmap code (and others).
Revision 1.65.8.1 / (download) - annotate - [select for diffs], Sat Feb 18 07:31:09 2012 UTC (11 years, 3 months ago) by mrg
Branch: jmcneill-usbmp
Changes since 1.65: +27 -2
lines
Diff to previous 1.65 (colored)
merge to -current.
Revision 1.66 / (download) - annotate - [select for diffs], Sun Dec 4 16:24:13 2011 UTC (11 years, 6 months ago) by chs
Branch: MAIN
CVS Tags: netbsd-6-base,
jmcneill-usbmp-base3,
jmcneill-usbmp-base2
Branch point for: netbsd-6
Changes since 1.65: +27 -2
lines
Diff to previous 1.65 (colored)
map all of physical memory using large pages. ported from openbsd years ago by Murray Armfield, updated for changes since then by me.
Revision 1.50.4.4 / (download) - annotate - [select for diffs], Sat Aug 27 15:37:22 2011 UTC (11 years, 9 months ago) by jym
Branch: jym-xensuspend
Changes since 1.50.4.3: +3 -3
lines
Diff to previous 1.50.4.3 (colored) to branchpoint 1.50 (colored) next main 1.51 (colored)
Sync with HEAD. Most notably: uvm/pmap work done by rmind@, and MP Xen work of cherry@. No regression observed on suspend/restore.
Revision 1.64.2.1 / (download) - annotate - [select for diffs], Mon Jun 6 09:04:47 2011 UTC (12 years ago) by jruoho
Branch: jruoho-x86intr
Changes since 1.64: +3 -3
lines
Diff to previous 1.64 (colored) next main 1.65 (colored)
Sync with HEAD.
Revision 1.55.4.3 / (download) - annotate - [select for diffs], Tue May 31 03:03:53 2011 UTC (12 years ago) by rmind
Branch: rmind-uvmplock
Changes since 1.55.4.2: +2 -2
lines
Diff to previous 1.55.4.2 (colored) to branchpoint 1.55 (colored) next main 1.56 (colored)
sync with head
Revision 1.65 / (download) - annotate - [select for diffs], Fri May 20 13:32:35 2011 UTC (12 years ago) by joerg
Branch: MAIN
CVS Tags: yamt-pagecache-base3,
yamt-pagecache-base2,
yamt-pagecache-base,
rmind-uvmplock-nbase,
rmind-uvmplock-base,
jym-xensuspend-nbase,
jym-xensuspend-base,
jmcneill-usbmp-pre-base2,
jmcneill-usbmp-base,
jmcneill-audiomp3-base,
jmcneill-audiomp3,
cherry-xenmp-base,
cherry-xenmp
Branch point for: yamt-pagecache,
jmcneill-usbmp
Changes since 1.64: +3 -3
lines
Diff to previous 1.64 (colored)
Be more explicit that the "w" part of %r11 is meant.
Revision 1.47.8.2.4.1 / (download) - annotate - [select for diffs], Fri May 20 08:11:19 2011 UTC (12 years ago) by matt
Branch: matt-nb5-mips64
Changes since 1.47.8.2: +28 -19
lines
Diff to previous 1.47.8.2 (colored) next main 1.47.8.3 (colored)
bring matt-nb5-mips64 up to date with netbsd-5-1-RELEASE (except compat).
Revision 1.50.4.3 / (download) - annotate - [select for diffs], Mon Mar 28 23:58:09 2011 UTC (12 years, 2 months ago) by jym
Branch: jym-xensuspend
Changes since 1.50.4.2: +115 -69
lines
Diff to previous 1.50.4.2 (colored) to branchpoint 1.50 (colored)
Cure sync hiccups. Code with compile errors is not really useful, heh.
Revision 1.55.4.2 / (download) - annotate - [select for diffs], Sat Mar 5 20:49:15 2011 UTC (12 years, 3 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.55.4.1: +80 -42
lines
Diff to previous 1.55.4.1 (colored) to branchpoint 1.55 (colored)
sync with head
Revision 1.64 / (download) - annotate - [select for diffs], Mon Dec 20 00:25:24 2010 UTC (12 years, 5 months ago) by matt
Branch: MAIN
CVS Tags: uebayasi-xip-base7,
matt-mips64-premerge-20101231,
jruoho-x86intr-base,
bouyer-quota2-nbase,
bouyer-quota2-base,
bouyer-quota2
Branch point for: jruoho-x86intr
Changes since 1.63: +2 -2
lines
Diff to previous 1.63 (colored)
Move counting of faults, traps, intrs, soft[intr]s, syscalls, and nswtch from uvmexp to per-cpu cpu_data and move them to 64bits. Remove unneeded includes of <uvm/uvm_extern.h> and/or <uvm/uvm.h>.
Revision 1.63 / (download) - annotate - [select for diffs], Sat Dec 18 13:53:34 2010 UTC (12 years, 5 months ago) by jym
Branch: MAIN
Changes since 1.62: +2 -7
lines
Diff to previous 1.62 (colored)
Free tables are already zeroed in xen_pmap_bootstrap. No need to do it a second time in assembly code.
Revision 1.55.2.3 / (download) - annotate - [select for diffs], Fri Oct 22 07:20:57 2010 UTC (12 years, 7 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.55.2.2: +25 -23
lines
Diff to previous 1.55.2.2 (colored) to branchpoint 1.55 (colored) next main 1.56 (colored)
Sync with HEAD (-D20101022).
Revision 1.62 / (download) - annotate - [select for diffs], Thu Oct 21 11:43:22 2010 UTC (12 years, 7 months ago) by yamt
Branch: MAIN
CVS Tags: uebayasi-xip-base6,
uebayasi-xip-base5,
uebayasi-xip-base4,
uebayasi-xip-base3
Changes since 1.61: +24 -20
lines
Diff to previous 1.61 (colored)
Xosyscall: sync with Xsyscall.
Revision 1.61 / (download) - annotate - [select for diffs], Thu Oct 21 11:42:26 2010 UTC (12 years, 7 months ago) by yamt
Branch: MAIN
Changes since 1.60: +1 -2
lines
Diff to previous 1.60 (colored)
Xsyscall: remove a stale comment.
Revision 1.60 / (download) - annotate - [select for diffs], Thu Oct 21 11:41:31 2010 UTC (12 years, 7 months ago) by yamt
Branch: MAIN
Changes since 1.59: +1 -2
lines
Diff to previous 1.59 (colored)
Xsyscall: remove an unused label.
Revision 1.59 / (download) - annotate - [select for diffs], Thu Oct 21 11:39:45 2010 UTC (12 years, 7 months ago) by yamt
Branch: MAIN
Changes since 1.58: +3 -3
lines
Diff to previous 1.58 (colored)
Xsyscall: save %es before enabling interrupts. otherwise it can be clobbered by preemption. PR/43903.
Revision 1.55.2.2 / (download) - annotate - [select for diffs], Tue Aug 17 06:43:51 2010 UTC (12 years, 9 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.55.2.1: +52 -11
lines
Diff to previous 1.55.2.1 (colored) to branchpoint 1.55 (colored)
Sync with HEAD.
Revision 1.40.4.4 / (download) - annotate - [select for diffs], Wed Aug 11 22:51:33 2010 UTC (12 years, 10 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.40.4.3: +80 -30
lines
Diff to previous 1.40.4.3 (colored) to branchpoint 1.40 (colored) next main 1.41 (colored)
sync with head.
Revision 1.58 / (download) - annotate - [select for diffs], Wed Jul 7 01:14:52 2010 UTC (12 years, 11 months ago) by chs
Branch: MAIN
CVS Tags: yamt-nfs-mp-base11,
yamt-nfs-mp-base10,
uebayasi-xip-base2
Changes since 1.57: +53 -12
lines
Diff to previous 1.57 (colored)
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.
Revision 1.55.4.1 / (download) - annotate - [select for diffs], Sun May 30 05:16:35 2010 UTC (13 years ago) by rmind
Branch: rmind-uvmplock
Changes since 1.55: +28 -19
lines
Diff to previous 1.55 (colored)
sync with head
Revision 1.55.2.1 / (download) - annotate - [select for diffs], Fri Apr 30 14:39:03 2010 UTC (13 years, 1 month ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.55: +28 -19
lines
Diff to previous 1.55 (colored)
Sync with HEAD.
Revision 1.47.8.2.2.2 / (download) - annotate - [select for diffs], Fri Apr 23 04:17:29 2010 UTC (13 years, 1 month ago) by snj
Branch: netbsd-5-0
Changes since 1.47.8.2.2.1: +3 -14
lines
Diff to previous 1.47.8.2.2.1 (colored) to branchpoint 1.47.8.2 (colored) next main 1.47.8.3 (colored)
Apply patch (requested by jym in ticket #1380): Fix the NX regression issue observed on amd64 kernels, where per-page execution right was disabled (therefore leading to the inability of the kernel to detect fraudulent use of memory mappings marked as not being executable).
Revision 1.47.8.4 / (download) - annotate - [select for diffs], Thu Apr 22 20:02:48 2010 UTC (13 years, 1 month ago) by snj
Branch: netbsd-5
CVS Tags: netbsd-5-2-RELEASE,
netbsd-5-2-RC1,
netbsd-5-2-3-RELEASE,
netbsd-5-2-2-RELEASE,
netbsd-5-2-1-RELEASE,
netbsd-5-2,
netbsd-5-1-RELEASE,
netbsd-5-1-RC4,
netbsd-5-1-RC3,
netbsd-5-1-RC2,
netbsd-5-1-RC1,
netbsd-5-1-5-RELEASE,
netbsd-5-1-4-RELEASE,
netbsd-5-1-3-RELEASE,
netbsd-5-1-2-RELEASE,
netbsd-5-1-1-RELEASE,
netbsd-5-1,
matt-nb5-pq3-base,
matt-nb5-pq3
Changes since 1.47.8.3: +3 -14
lines
Diff to previous 1.47.8.3 (colored) to branchpoint 1.47 (colored) next main 1.48 (colored)
Apply patch (requested by jym in ticket #1380): Fix the NX regression issue observed on amd64 kernels, where per-page execution right was disabled (therefore leading to the inability of the kernel to detect fraudulent use of memory mappings marked as not being executable).
Revision 1.47.8.3 / (download) - annotate - [select for diffs], Thu Apr 22 19:54:34 2010 UTC (13 years, 1 month ago) by snj
Branch: netbsd-5
Changes since 1.47.8.2: +26 -6
lines
Diff to previous 1.47.8.2 (colored) to branchpoint 1.47 (colored)
Pull up following revision(s) (requested by jym in ticket #1376): sys/arch/amd64/amd64/locore.S: revision 1.56 When kernel remaps to high memory in amd64 locore, the GDT used before becomes invalid. As such, split it in two parts, one for use when system boots in low memory, and one for use when it jumps to high memory.
Revision 1.47.8.2.2.1 / (download) - annotate - [select for diffs], Thu Apr 22 19:39:44 2010 UTC (13 years, 1 month ago) by snj
Branch: netbsd-5-0
Changes since 1.47.8.2: +26 -6
lines
Diff to previous 1.47.8.2 (colored)
Pull up following revision(s) (requested by jym in ticket #1376): sys/arch/amd64/amd64/locore.S: revision 1.56 When kernel remaps to high memory in amd64 locore, the GDT used before becomes invalid. As such, split it in two parts, one for use when system boots in low memory, and one for use when it jumps to high memory.
Revision 1.57 / (download) - annotate - [select for diffs], Sun Apr 18 23:47:50 2010 UTC (13 years, 1 month ago) by jym
Branch: MAIN
CVS Tags: uebayasi-xip-base1
Changes since 1.56: +3 -14
lines
Diff to previous 1.56 (colored)
This patch fixes the NX regression issue observed on amd64 kernels, where per-page execution right was disabled (therefore leading to the inability of the kernel to detect fraudulent use of memory mappings marked as not being executable). - replace cpu_feature and ci_feature_flags variables by cpu_feature and ci_feat_val arrays. This makes it cleaner and brings kernel code closer to the design of cpuctl(8). A warning will be raised for each CPU that does not expose the same features as the Boot Processor (BP). - the blacklist of CPU features is now a macro defined in the specialreg.h header, instead of hardcoding it inside MD initialization code; fix comments. - replace checks against CPUID_TSC with the cpu_hascounter() function. - clean up the code in init_x86_64(), as cpu_feature variables are set inside cpu_probe(). - use cpu_init_msrs() for i386. It will be eventually used later for NX feature under i386 PAE kernels. - remove code that checks for CPUID_NOX in amd64 mptramp.S, this is already performed by cpu_hatch() through cpu_init_msrs(). - remove cpu_signature and feature_flags members from struct mpbios_proc (they were never used). This patch was tested with i386 MONOLITHIC, XEN3PAE_DOM0 and XEN3_DOM0 under a native i386 host, and amd64 GENERIC, XEN3_DOM0 via QEMU virtual machines. XXX Should kernel rev be bumped? XXX A similar patch should be pulled-up for NetBSD-5, hopefully tomorrow.
Revision 1.56 / (download) - annotate - [select for diffs], Sun Apr 18 15:24:54 2010 UTC (13 years, 1 month ago) by jym
Branch: MAIN
Changes since 1.55: +26 -6
lines
Diff to previous 1.55 (colored)
When kernel remaps to high memory in amd64 locore, the GDT used before becomes invalid. As such, split it in two parts, one for use when system boots in low memory, and one for use when it jumps to high memory.
Revision 1.40.4.3 / (download) - annotate - [select for diffs], Thu Mar 11 15:01:58 2010 UTC (13 years, 3 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.40.4.2: +9 -15
lines
Diff to previous 1.40.4.2 (colored) to branchpoint 1.40 (colored)
sync with head
Revision 1.55 / (download) - annotate - [select for diffs], Fri Nov 27 03:23:04 2009 UTC (13 years, 6 months ago) by rmind
Branch: MAIN
CVS Tags: yamt-nfs-mp-base9,
uebayasi-xip-base,
matt-premerge-20091211
Branch point for: uebayasi-xip,
rmind-uvmplock
Changes since 1.54: +6 -6
lines
Diff to previous 1.54 (colored)
- Use uvm_lwp_setuarea() instead of directly setting address to lwp_t::l_addr. - Replace most remaining uses of l_addr with uvm_lwp_getuarea() or lwp_getpcb(). - Amend assembly in ports where it accesses PCB via struct user. - Rename L_ADDR to L_PCB in few places. Reduce sys/user.h inclusions.
Revision 1.54 / (download) - annotate - [select for diffs], Thu Nov 26 00:19:12 2009 UTC (13 years, 6 months ago) by matt
Branch: MAIN
Changes since 1.53: +4 -5
lines
Diff to previous 1.53 (colored)
Kill proc0paddr. Use lwp0.l_addr instead.
Revision 1.53 / (download) - annotate - [select for diffs], Wed Nov 25 14:28:50 2009 UTC (13 years, 6 months ago) by rmind
Branch: MAIN
Changes since 1.52: +3 -3
lines
Diff to previous 1.52 (colored)
Remove IPL_LPT and IPL_IPI aliases, use the actual IPLs. Fix some broken comments.
Revision 1.50.4.2 / (download) - annotate - [select for diffs], Sun Nov 1 13:58:48 2009 UTC (13 years, 7 months ago) by jym
Branch: jym-xensuspend
Changes since 1.50.4.1: +1 -6
lines
Diff to previous 1.50.4.1 (colored) to branchpoint 1.50 (colored)
Sync with HEAD.
Revision 1.52 / (download) - annotate - [select for diffs], Mon Oct 19 18:41:10 2009 UTC (13 years, 7 months ago) by bouyer
Branch: MAIN
Changes since 1.51: +1 -6
lines
Diff to previous 1.51 (colored)
Remove closes 3 & 4 from my licence. Lots of thanks to Soren Jacobsen for the booring work !
Revision 1.50.4.1 / (download) - annotate - [select for diffs], Wed May 13 17:16:08 2009 UTC (14 years, 1 month ago) by jym
Branch: jym-xensuspend
Changes since 1.50: +2 -1
lines
Diff to previous 1.50 (colored)
Sync with HEAD. Commit is split, to avoid a "too many arguments" protocol error.
Revision 1.40.4.2 / (download) - annotate - [select for diffs], Mon May 4 08:10:32 2009 UTC (14 years, 1 month ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.40.4.1: +26 -35
lines
Diff to previous 1.40.4.1 (colored) to branchpoint 1.40 (colored)
sync with head.
Revision 1.47.6.2 / (download) - annotate - [select for diffs], Tue Mar 3 18:28:50 2009 UTC (14 years, 3 months ago) by skrll
Branch: nick-hppapmap
Changes since 1.47.6.1: +2 -1
lines
Diff to previous 1.47.6.1 (colored) to branchpoint 1.47 (colored) next main 1.48 (colored)
Sync with HEAD.
Revision 1.51 / (download) - annotate - [select for diffs], Fri Feb 13 22:41:00 2009 UTC (14 years, 3 months ago) by apb
Branch: MAIN
CVS Tags: yamt-nfs-mp-base8,
yamt-nfs-mp-base7,
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,
jymxensuspend-base
Changes since 1.50: +2 -1
lines
Diff to previous 1.50 (colored)
Use "defopt MODULAR" in sys/conf/files, and #include "opt_modular.h" in all kernel sources that use the MODULAR option. Proposed in tech-kern on 18 Jan 2009.
Revision 1.47.8.2 / (download) - annotate - [select for diffs], Mon Feb 2 03:24:05 2009 UTC (14 years, 4 months ago) by snj
Branch: netbsd-5
CVS Tags: netbsd-5-0-RELEASE,
netbsd-5-0-RC4,
netbsd-5-0-RC3,
netbsd-5-0-RC2,
netbsd-5-0-2-RELEASE,
netbsd-5-0-1-RELEASE,
matt-nb5-mips64-u2-k2-k4-k7-k8-k9,
matt-nb5-mips64-u1-k1-k5,
matt-nb5-mips64-premerge-20101231,
matt-nb5-mips64-premerge-20091211,
matt-nb5-mips64-k15,
matt-nb4-mips64-k7-u2a-k9b
Branch point for: netbsd-5-0,
matt-nb5-mips64
Changes since 1.47.8.1: +2 -2
lines
Diff to previous 1.47.8.1 (colored) to branchpoint 1.47 (colored)
Pull up following revision(s) (requested by ad in ticket #345): sys/arch/amd64/amd64/locore.S: revision 1.50 Don't abort pageidlezero unless a realtime thread wants to run.
Revision 1.47.6.1 / (download) - annotate - [select for diffs], Mon Jan 19 13:15:54 2009 UTC (14 years, 4 months ago) by skrll
Branch: nick-hppapmap
Changes since 1.47: +6 -7
lines
Diff to previous 1.47 (colored)
Sync with HEAD.
Revision 1.39.6.4 / (download) - annotate - [select for diffs], Sat Jan 17 13:27:48 2009 UTC (14 years, 4 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.39.6.3: +5 -6
lines
Diff to previous 1.39.6.3 (colored) to branchpoint 1.39 (colored) next main 1.40 (colored)
Sync with HEAD.
Revision 1.47.4.1 / (download) - annotate - [select for diffs], Sat Dec 13 01:12:58 2008 UTC (14 years, 6 months ago) by haad
Branch: haad-dm
Changes since 1.47: +6 -7
lines
Diff to previous 1.47 (colored) next main 1.48 (colored)
Update haad-dm branch to haad-dm-base2.
Revision 1.50 / (download) - annotate - [select for diffs], Wed Dec 3 12:04:59 2008 UTC (14 years, 6 months ago) by ad
Branch: MAIN
CVS Tags: mjf-devfs2-base,
haad-nbase2,
haad-dm-base2,
haad-dm-base,
ad-audiomp2-base,
ad-audiomp2
Branch point for: jym-xensuspend
Changes since 1.49: +2 -2
lines
Diff to previous 1.49 (colored)
Don't abort pageidlezero unless a realtime thread wants to run.
Revision 1.47.8.1 / (download) - annotate - [select for diffs], Mon Nov 17 18:53:53 2008 UTC (14 years, 6 months ago) by snj
Branch: netbsd-5
CVS Tags: netbsd-5-0-RC1
Changes since 1.47: +3 -4
lines
Diff to previous 1.47 (colored)
Pull up following revision(s) (requested by ad in ticket #74): sys/arch/i386/isa/npx.c: revision 1.131 sys/arch/amd64/amd64/fpu.c: revision 1.28 sys/arch/i386/i386/genassym.cf: revision 1.77 sys/arch/i386/i386/autoconf.c: revision 1.93 sys/arch/amd64/amd64/locore.S: revision 1.48 sys/arch/amd64/amd64/machdep.c: revision 1.104 sys/arch/i386/i386/machdep.c: revision 1.646 sys/arch/amd64/amd64/genassym.cf: revision 1.38 sys/arch/i386/i386/locore.S: revision 1.79 PR port-amd64/38293 panic: fp_save ipi didn't Fix race conditions in FPU IPI handling.
Revision 1.49 / (download) - annotate - [select for diffs], Thu Nov 13 10:53:30 2008 UTC (14 years, 6 months ago) by ad
Branch: MAIN
Changes since 1.48: +3 -3
lines
Diff to previous 1.48 (colored)
LKM -> MODULAR
Revision 1.48 / (download) - annotate - [select for diffs], Tue Nov 11 14:40:18 2008 UTC (14 years, 7 months ago) by ad
Branch: MAIN
Changes since 1.47: +3 -4
lines
Diff to previous 1.47 (colored)
PR port-amd64/38293 panic: fp_save ipi didn't Fix race conditions in FPU IPI handling.
Revision 1.18.12.1 / (download) - annotate - [select for diffs], Tue Sep 16 18:49:33 2008 UTC (14 years, 8 months ago) by bouyer
Branch: netbsd-4
Changes since 1.18: +22 -1
lines
Diff to previous 1.18 (colored) next main 1.19 (colored)
Sync with the following revisions (requested by skrll in ticket #1196): gnu/dist/gdb removed gnu/usr.bin/gdb53 removed distrib/cats/instkernel/Makefile 1.14.6.1 gnu/dist/gdb6/bfd/config.bfd 1.3.6.1 gnu/dist/gdb6/bfd/elfxx-sparc.c 1.1.1.2.6.1 gnu/dist/gdb6/bfd/elfxx-sparc.h 1.1.1.2.6.1 gnu/dist/gdb6/gdb/Makefile.in 1.2.2.1.2.2 gnu/dist/gdb6/gdb/alpha-tdep.c 1.1.1.2.6.1 gnu/dist/gdb6/gdb/alpha-tdep.h 1.1.1.2.6.1 gnu/dist/gdb6/gdb/alphabsd-nat.c 1.1.1.2.6.2 gnu/dist/gdb6/gdb/alphabsd-nat.h 1.1.2.1 gnu/dist/gdb6/gdb/alphabsd-tdep.c 1.1.1.2.6.1 gnu/dist/gdb6/gdb/alphabsd-tdep.h 1.1.1.2.6.1 gnu/dist/gdb6/gdb/alphanbsd-nat.c 1.1.2.1 gnu/dist/gdb6/gdb/alphanbsd-tdep.c 1.1.1.2.6.1 gnu/dist/gdb6/gdb/amd64-nat.c 1.1.1.2.6.1 gnu/dist/gdb6/gdb/amd64bsd-nat.c 1.1.1.2.6.1 gnu/dist/gdb6/gdb/amd64nbsd-nat.c 1.1.1.2.6.3 gnu/dist/gdb6/gdb/amd64nbsd-tdep.c 1.1.1.2.6.1 gnu/dist/gdb6/gdb/arm-tdep.h 1.1.1.2.6.1 gnu/dist/gdb6/gdb/armbsd-tdep.c 1.1.2.1 gnu/dist/gdb6/gdb/armnbsd-nat.c 1.1.1.2.6.2 gnu/dist/gdb6/gdb/armnbsd-tdep.c 1.1.1.2.6.1 gnu/dist/gdb6/gdb/configure 1.1.1.2.6.1 gnu/dist/gdb6/gdb/configure.ac 1.1.1.2.6.1 gnu/dist/gdb6/gdb/i386bsd-nat.c 1.1.1.2.6.1 gnu/dist/gdb6/gdb/i386nbsd-tdep.c 1.1.1.2.6.1 gnu/dist/gdb6/gdb/m68kbsd-nat.c 1.1.1.2.6.2 gnu/dist/gdb6/gdb/mipsnbsd-nat.c 1.1.1.2.6.2 gnu/dist/gdb6/gdb/nbsd-thread.c 1.1.2.3 gnu/dist/gdb6/gdb/ppcnbsd-nat.c 1.1.1.2.6.2 gnu/dist/gdb6/gdb/ppcnbsd-tdep.c 1.3.6.1 gnu/dist/gdb6/gdb/sh-tdep.c 1.1.1.2.6.1 gnu/dist/gdb6/gdb/shnbsd-nat.c 1.1.1.2.6.3 gnu/dist/gdb6/gdb/shnbsd-tdep.c 1.1.1.2.6.4 gnu/dist/gdb6/gdb/shnbsd-tdep.h 1.1.1.2.6.1 gnu/dist/gdb6/gdb/sparc-nat.c 1.1.1.2.6.1 gnu/dist/gdb6/gdb/sparc64nbsd-nat.c 1.1.1.2.6.2 gnu/dist/gdb6/gdb/sparcnbsd-nat.c 1.1.1.2.6.2 gnu/dist/gdb6/gdb/tramp-frame.h 1.1.1.2.6.1 gnu/dist/gdb6/gdb/vaxbsd-nat.c 1.1.1.2.6.2 gnu/dist/gdb6/gdb/config/alpha/nbsd.mh 1.1.1.2.6.1 gnu/dist/gdb6/gdb/config/arm/nbsd.mt 1.1.1.1.6.1 gnu/dist/gdb6/gdb/config/arm/nbsdelf.mh 1.1.1.1.6.1 gnu/dist/gdb6/gdb/config/i386/nbsd64.mh 1.1.1.1.6.1 gnu/dist/gdb6/gdb/config/m68k/nbsdelf.mh 1.1.1.1.6.1 gnu/dist/gdb6/gdb/config/mips/nbsd.mh 1.1.1.1.6.1 gnu/dist/gdb6/gdb/config/powerpc/nbsd.mh 1.1.1.2.6.1 gnu/dist/gdb6/gdb/config/sh/nbsd.mh 1.1.1.1.6.2 gnu/dist/gdb6/gdb/config/sh/tm-nbsd.h 1.1.1.1.6.1 gnu/dist/gdb6/gdb/config/sparc/nbsd64.mh 1.1.1.1.6.1 gnu/dist/gdb6/gdb/config/sparc/nbsdelf.mh 1.1.1.1.6.1 gnu/dist/gdb6/gdb/config/vax/nbsdelf.mh 1.1.1.1.6.1 gnu/dist/gdb6/opcodes/configure 1.1.1.2.6.1 gnu/dist/gdb6/opcodes/configure.in 1.1.1.2.6.1 gnu/usr.bin/Makefile 1.126.4.1 gnu/usr.bin/gdb6/arch/alpha/config.h 1.3.4.1 gnu/usr.bin/gdb6/arch/alpha/defs.mk 1.2.6.1 gnu/usr.bin/gdb6/arch/alpha/init.c 1.2.6.1 gnu/usr.bin/gdb6/arch/alpha/nm.h 1.2.6.1 gnu/usr.bin/gdb6/arch/arm/defs.mk 1.2.6.2 gnu/usr.bin/gdb6/arch/arm/init.c 1.1.6.1 gnu/usr.bin/gdb6/arch/armeb/config.h 1.1.6.2 gnu/usr.bin/gdb6/arch/armeb/defs.mk 1.1.6.3 gnu/usr.bin/gdb6/arch/armeb/init.c 1.1.6.2 gnu/usr.bin/gdb6/arch/armeb/tm.h 1.1.6.2 gnu/usr.bin/gdb6/arch/armeb/version.c 1.1.6.2 gnu/usr.bin/gdb6/arch/i386/defs.mk 1.4.4.1 gnu/usr.bin/gdb6/arch/i386/init.c 1.3.6.1 gnu/usr.bin/gdb6/arch/m68000/config.h 1.1.6.2 gnu/usr.bin/gdb6/arch/m68000/defs.mk 1.1.6.2 gnu/usr.bin/gdb6/arch/m68000/init.c 1.1.6.2 gnu/usr.bin/gdb6/arch/m68000/tm.h 1.1.6.2 gnu/usr.bin/gdb6/arch/m68000/version.c 1.1.6.2 gnu/usr.bin/gdb6/arch/m68k/defs.mk 1.1.4.1 gnu/usr.bin/gdb6/arch/m68k/init.c 1.1.4.1 gnu/usr.bin/gdb6/arch/mipseb/config.h 1.3.4.1 gnu/usr.bin/gdb6/arch/mipseb/defs.mk 1.2.6.2 gnu/usr.bin/gdb6/arch/mipseb/init.c 1.2.6.2 gnu/usr.bin/gdb6/arch/mipsel/config.h 1.2.6.3 gnu/usr.bin/gdb6/arch/mipsel/defs.mk 1.2.6.3 gnu/usr.bin/gdb6/arch/mipsel/init.c 1.2.6.3 gnu/usr.bin/gdb6/arch/mipsel/tm.h 1.2.6.2 gnu/usr.bin/gdb6/arch/mipsel/version.c 1.2.6.2 gnu/usr.bin/gdb6/arch/powerpc/defs.mk 1.3.6.1 gnu/usr.bin/gdb6/arch/powerpc/init.c 1.3.6.1 gnu/usr.bin/gdb6/arch/sh3eb/config.h 1.2.2.2 gnu/usr.bin/gdb6/arch/sh3eb/defs.mk 1.2.8.3 gnu/usr.bin/gdb6/arch/sh3eb/init.c 1.1.8.3 gnu/usr.bin/gdb6/arch/sh3eb/nm.h 1.1.8.2 gnu/usr.bin/gdb6/arch/sh3eb/tm.h 1.1.8.2 gnu/usr.bin/gdb6/arch/sh3eb/version.c 1.1.8.2 gnu/usr.bin/gdb6/arch/sh3el/config.h 1.2.2.2 gnu/usr.bin/gdb6/arch/sh3el/defs.mk 1.2.8.3 gnu/usr.bin/gdb6/arch/sh3el/init.c 1.1.8.3 gnu/usr.bin/gdb6/arch/sh3el/nm.h 1.1.8.2 gnu/usr.bin/gdb6/arch/sh3el/tm.h 1.1.8.2 gnu/usr.bin/gdb6/arch/sh3el/version.c 1.1.8.2 gnu/usr.bin/gdb6/arch/sparc/defs.mk 1.2.6.1 gnu/usr.bin/gdb6/arch/sparc/init.c 1.1.6.1 gnu/usr.bin/gdb6/arch/sparc64/defs.mk 1.2.6.1 gnu/usr.bin/gdb6/arch/sparc64/init.c 1.1.6.1 gnu/usr.bin/gdb6/arch/vax/config.h 1.1.6.2 gnu/usr.bin/gdb6/arch/vax/defs.mk 1.1.6.2 gnu/usr.bin/gdb6/arch/vax/init.c 1.1.6.2 gnu/usr.bin/gdb6/arch/vax/tm.h 1.1.6.2 gnu/usr.bin/gdb6/arch/vax/version.c 1.1.6.2 gnu/usr.bin/gdb6/arch/x86_64/defs.mk 1.2.6.1 gnu/usr.bin/gdb6/arch/x86_64/init.c 1.1.6.1 gnu/usr.bin/gdb6/bfd/arch/armeb/bfd.h 1.1.6.2 gnu/usr.bin/gdb6/bfd/arch/armeb/bfdver.h 1.1.6.2 gnu/usr.bin/gdb6/bfd/arch/armeb/config.h 1.1.6.2 gnu/usr.bin/gdb6/bfd/arch/armeb/defs.mk 1.1.6.2 gnu/usr.bin/gdb6/bfd/arch/m68000/bfd.h 1.1.6.2 gnu/usr.bin/gdb6/bfd/arch/m68000/bfdver.h 1.1.6.2 gnu/usr.bin/gdb6/bfd/arch/m68000/config.h 1.1.6.2 gnu/usr.bin/gdb6/bfd/arch/m68000/defs.mk 1.1.6.2 gnu/usr.bin/gdb6/bfd/arch/mipsel/bfd.h 1.1.6.2 gnu/usr.bin/gdb6/bfd/arch/mipsel/bfdver.h 1.1.6.2 gnu/usr.bin/gdb6/bfd/arch/mipsel/config.h 1.1.6.2 gnu/usr.bin/gdb6/bfd/arch/mipsel/defs.mk 1.1.6.2 gnu/usr.bin/gdb6/bfd/arch/sh3eb/bfd.h 1.1.8.3 gnu/usr.bin/gdb6/bfd/arch/sh3eb/bfdver.h 1.1.8.2 gnu/usr.bin/gdb6/bfd/arch/sh3eb/config.h 1.1.8.2 gnu/usr.bin/gdb6/bfd/arch/sh3eb/defs.mk 1.1.8.3 gnu/usr.bin/gdb6/bfd/arch/sh3el/bfd.h 1.1.8.3 gnu/usr.bin/gdb6/bfd/arch/sh3el/bfdver.h 1.1.8.2 gnu/usr.bin/gdb6/bfd/arch/sh3el/config.h 1.1.8.2 gnu/usr.bin/gdb6/bfd/arch/sh3el/defs.mk 1.1.8.3 gnu/usr.bin/gdb6/bfd/arch/vax/bfd.h 1.1.6.2 gnu/usr.bin/gdb6/bfd/arch/vax/bfdver.h 1.1.6.2 gnu/usr.bin/gdb6/bfd/arch/vax/config.h 1.1.6.2 gnu/usr.bin/gdb6/bfd/arch/vax/defs.mk 1.1.6.2 gnu/usr.bin/gdb6/gdb/Makefile 1.5.2.1.2.2 gnu/usr.bin/gdb6/gdbtui/Makefile 1.2.6.1 gnu/usr.bin/gdb6/libiberty/arch/armeb/config.h 1.1.6.2 gnu/usr.bin/gdb6/libiberty/arch/armeb/defs.mk 1.1.6.2 gnu/usr.bin/gdb6/libiberty/arch/m68000/config.h 1.1.6.2 gnu/usr.bin/gdb6/libiberty/arch/m68000/defs.mk 1.1.6.2 gnu/usr.bin/gdb6/libiberty/arch/mipsel/config.h 1.1.6.2 gnu/usr.bin/gdb6/libiberty/arch/mipsel/defs.mk 1.1.6.2 gnu/usr.bin/gdb6/libiberty/arch/sh3eb/config.h 1.1.8.2 gnu/usr.bin/gdb6/libiberty/arch/sh3eb/defs.mk 1.1.8.2 gnu/usr.bin/gdb6/libiberty/arch/sh3el/config.h 1.1.8.2 gnu/usr.bin/gdb6/libiberty/arch/sh3el/defs.mk 1.1.8.2 gnu/usr.bin/gdb6/libiberty/arch/vax/config.h 1.1.6.2 gnu/usr.bin/gdb6/libiberty/arch/vax/defs.mk 1.1.6.2 gnu/usr.bin/gdb6/opcodes/arch/armeb/config.h 1.1.6.2 gnu/usr.bin/gdb6/opcodes/arch/armeb/defs.mk 1.1.6.2 gnu/usr.bin/gdb6/opcodes/arch/m68000/config.h 1.1.6.2 gnu/usr.bin/gdb6/opcodes/arch/m68000/defs.mk 1.1.6.2 gnu/usr.bin/gdb6/opcodes/arch/mipsel/config.h 1.1.6.2 gnu/usr.bin/gdb6/opcodes/arch/mipsel/defs.mk 1.1.6.2 gnu/usr.bin/gdb6/opcodes/arch/sh3eb/config.h 1.1.8.2 gnu/usr.bin/gdb6/opcodes/arch/sh3eb/defs.mk 1.1.8.3 gnu/usr.bin/gdb6/opcodes/arch/sh3el/config.h 1.1.8.2 gnu/usr.bin/gdb6/opcodes/arch/sh3el/defs.mk 1.1.8.3 gnu/usr.bin/gdb6/opcodes/arch/vax/config.h 1.1.6.2 gnu/usr.bin/gdb6/opcodes/arch/vax/defs.mk 1.1.6.2 gnu/usr.bin/gdb6/readline/arch/armeb/config.h 1.1.6.2 gnu/usr.bin/gdb6/readline/arch/armeb/defs.mk 1.1.6.2 gnu/usr.bin/gdb6/readline/arch/m68000/config.h 1.1.6.2 gnu/usr.bin/gdb6/readline/arch/m68000/defs.mk 1.1.6.2 gnu/usr.bin/gdb6/readline/arch/mipsel/config.h 1.1.6.2 gnu/usr.bin/gdb6/readline/arch/mipsel/defs.mk 1.1.6.2 gnu/usr.bin/gdb6/readline/arch/sh3eb/config.h 1.1.8.2 gnu/usr.bin/gdb6/readline/arch/sh3eb/defs.mk 1.1.8.2 gnu/usr.bin/gdb6/readline/arch/sh3el/config.h 1.1.8.2 gnu/usr.bin/gdb6/readline/arch/sh3el/defs.mk 1.1.8.2 gnu/usr.bin/gdb6/readline/arch/vax/config.h 1.1.6.2 gnu/usr.bin/gdb6/readline/arch/vax/defs.mk 1.1.6.2 gnu/usr.bin/gdb6/sim/arch/mipseb/cconfig.h 1.1.2.1 gnu/usr.bin/gdb6/sim/arch/mipseb/config.h 1.1.2.1 gnu/usr.bin/gdb6/sim/arch/mipseb/defs.mk 1.1.2.1 gnu/usr.bin/gdb6/sim/arch/mipsel/cconfig.h 1.1.2.1 gnu/usr.bin/gdb6/sim/arch/mipsel/config.h 1.1.2.1 gnu/usr.bin/gdb6/sim/arch/mipsel/defs.mk 1.1.2.1 lib/libkvm/kvm_sparc64.c 1.10.18.2 lib/libpthread/pthread.c 1.48.6.4 lib/libpthread/pthread_barrier.c 1.6.18.1 lib/libpthread/pthread_cond.c 1.18.12.2 lib/libpthread/pthread_debug.h 1.8.18.1 lib/libpthread/pthread_int.h 1.34.4.5 lib/libpthread/pthread_lock.c 1.14.6.1 lib/libpthread/pthread_mutex.c 1.22.4.2 lib/libpthread/pthread_run.c 1.18.12.4 lib/libpthread/pthread_rwlock.c 1.13.6.2 lib/libpthread/pthread_sa.c 1.37.6.5 lib/libpthread/pthread_sig.c 1.47.4.8 lib/libpthread/pthread_sleep.c 1.7.6.2 lib/libpthread/sem.c 1.9.6.2 lib/libpthread/arch/sh3/pthread_md.h 1.3.6.1 regress/lib/libpthread/resolv/Makefile 1.1.12.1 regress/lib/libpthread/sigrunning/Makefile 1.1.2.1 regress/lib/libpthread/sigrunning/sigrunning.c 1.1.2.1 share/mk/bsd.own.mk 1.489.4.3 sys/arch/amd64/amd64/locore.S 1.18.14.1 sys/arch/amd64/amd64/machdep.c 1.44.2.3.2.1 sys/arch/amd64/conf/kern.ldscript 1.1.70.1 sys/arch/cats/conf/Makefile.cats.inc 1.17.30.1 sys/arch/shark/conf/Makefile.shark.inc 1.6.30.1 sys/arch/sparc64/conf/kern.ldscript 1.7.26.2 sys/arch/sparc64/conf/kern32.ldscript 1.6.26.2 sys/arch/sparc64/include/kcore.h 1.4.92.2 sys/arch/sparc64/sparc64/locore.s 1.232.4.4 sys/arch/sparc64/sparc64/machdep.c 1.193.4.3 sys/arch/sparc64/sparc64/pmap.c 1.184.2.1.2.4 sys/conf/newvers.sh 1.42.26.2 sys/kern/kern_sa.c 1.87.4.11 sys/kern/kern_synch.c 1.173.4.2 sys/sys/savar.h 1.20.10.2 tools/gdb/Makefile 1.9.4.1 tools/gdb/mknative-gdb 1.1.6.1 pullup the wrstuden-fixsa CVS branch to netbsd-4: toolchain/35540 - GDB 6 support for pthreads. port-sparc64/37534 - ktrace firefox gives kernel trap 30: data access expection GDB changes: - delete gdb53 - enable gdb6 on all architectures - add support for amd64 crash dumps - add support for sparc64 crash dumps - add support for /proc pid to executable filename for all archs - enable thread support for all architectures - add a note section to kernels to all platforms - support detection/unwinding of signals for most architectures. - Fix PTHREAD_UCONTEXT_TO_REG / PTHREAD_REG_TO_UCONTEXT on sh3. - Apply fix from binutils-current so that sparc gdb can be cross built on a 64bit host. SA/pthread changes: Pre-allocate memory needed for event delivery. Eliminates dropped interrupts under load. Deliver intra-process signals to running threads Eliminate some deadlock scenarios Fix intra-process signal delivery when delivering to a thread waiting for signals. Makes afs work again!
Revision 1.43.2.1 / (download) - annotate - [select for diffs], Mon Jun 23 04:30:05 2008 UTC (14 years, 11 months ago) by wrstuden
Branch: wrstuden-revivesa
Changes since 1.43: +23 -31
lines
Diff to previous 1.43 (colored) next main 1.44 (colored)
Sync w/ -current. 34 merge conflicts to follow.
Revision 1.39.6.3 / (download) - annotate - [select for diffs], Thu Jun 5 19:14:32 2008 UTC (15 years ago) by mjf
Branch: mjf-devfs2
Changes since 1.39.6.2: +15 -28
lines
Diff to previous 1.39.6.2 (colored) to branchpoint 1.39 (colored)
Sync with HEAD. Also fix build.
Revision 1.40.2.2 / (download) - annotate - [select for diffs], Wed Jun 4 02:04:39 2008 UTC (15 years ago) by yamt
Branch: yamt-pf42
Changes since 1.40.2.1: +17 -30
lines
Diff to previous 1.40.2.1 (colored) to branchpoint 1.40 (colored) next main 1.41 (colored)
sync with head
Revision 1.47 / (download) - annotate - [select for diffs], Mon Jun 2 14:41:41 2008 UTC (15 years ago) by ad
Branch: MAIN
CVS Tags: yamt-pf42-base4,
yamt-pf42-base3,
wrstuden-revivesa-base-4,
wrstuden-revivesa-base-3,
wrstuden-revivesa-base-2,
wrstuden-revivesa-base-1,
wrstuden-revivesa-base,
simonb-wapbl-nbase,
simonb-wapbl-base,
simonb-wapbl,
netbsd-5-base,
matt-mips64-base2,
haad-dm-base1
Branch point for: nick-hppapmap,
netbsd-5,
haad-dm
Changes since 1.46: +16 -29
lines
Diff to previous 1.46 (colored)
- Don't bother using sse to copy/zero pages on demand. It turns out not to be worth it. - If the machine has sse, re-enable zeroing pages in the idle loop and use the sse instructions so that we don't blow out the cache.
Revision 1.39.6.2 / (download) - annotate - [select for diffs], Mon Jun 2 13:21:48 2008 UTC (15 years ago) by mjf
Branch: mjf-devfs2
Changes since 1.39.6.1: +51 -33
lines
Diff to previous 1.39.6.1 (colored) to branchpoint 1.39 (colored)
Sync with HEAD.
Revision 1.46 / (download) - annotate - [select for diffs], Wed May 21 03:50:42 2008 UTC (15 years ago) by ad
Branch: MAIN
Changes since 1.45: +2 -2
lines
Diff to previous 1.45 (colored)
PR port-amd64/38708 lkm_map issues on amd64 Don't plonk lkm_map right on top of the ISA ROM/video hole.
Revision 1.40.2.1 / (download) - annotate - [select for diffs], Sun May 18 12:31:27 2008 UTC (15 years ago) by yamt
Branch: yamt-pf42
Changes since 1.40: +51 -33
lines
Diff to previous 1.40 (colored)
sync with head.
Revision 1.45 / (download) - annotate - [select for diffs], Fri May 16 17:18:25 2008 UTC (15 years ago) by bouyer
Branch: MAIN
CVS Tags: yamt-pf42-base2,
hpcarm-cleanup-nbase
Changes since 1.44: +5 -1
lines
Diff to previous 1.44 (colored)
Initialize cpuid_level for Xen too.
Revision 1.40.4.1 / (download) - annotate - [select for diffs], Fri May 16 02:21:49 2008 UTC (15 years ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.40: +47 -33
lines
Diff to previous 1.40 (colored)
sync with head.
Revision 1.44 / (download) - annotate - [select for diffs], Sun May 11 13:33:54 2008 UTC (15 years, 1 month ago) by ad
Branch: MAIN
CVS Tags: yamt-nfs-mp-base2
Changes since 1.43: +3 -2
lines
Diff to previous 1.43 (colored)
Expose the 'cpu' variable.:
Revision 1.43 / (download) - annotate - [select for diffs], Fri May 2 15:26:38 2008 UTC (15 years, 1 month ago) by ad
Branch: MAIN
Branch point for: wrstuden-revivesa
Changes since 1.42: +22 -2
lines
Diff to previous 1.42 (colored)
- Give x86 BIOS boot the ability to load new style modules and pass them into the kernel. Based on a patch by jmcneill@, with many fixes and improvements by me. - Put MEMORY_DISK_DYNAMIC and MODULAR into the GENERIC kernels, so that you can load miniroot.kmod from the boot blocks and boot into the installer!
Revision 1.42 / (download) - annotate - [select for diffs], Mon Apr 28 20:23:12 2008 UTC (15 years, 1 month ago) by martin
Branch: MAIN
Changes since 1.41: +1 -8
lines
Diff to previous 1.41 (colored)
Remove clause 3 and 4 from TNF licenses
Revision 1.41 / (download) - annotate - [select for diffs], Mon Apr 28 19:35:56 2008 UTC (15 years, 1 month ago) by ad
Branch: MAIN
Changes since 1.40: +24 -24
lines
Diff to previous 1.40 (colored)
- Make some entry/exit points preemption safe. - Try to avoid mispredicted bracnhes in Xsyscall. - Interrupts were being enabled in Xsyscall _after_ checking for ASTs, while could have resulted in ugly behaviour like delayed signals or context switches. Fix it.
Revision 1.39.6.1 / (download) - annotate - [select for diffs], Thu Apr 3 12:42:10 2008 UTC (15 years, 2 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.39: +2 -1
lines
Diff to previous 1.39 (colored)
Sync with HEAD.
Revision 1.39.2.1 / (download) - annotate - [select for diffs], Mon Mar 24 07:14:52 2008 UTC (15 years, 2 months ago) by keiichi
Branch: keiichi-mipv6
Changes since 1.39: +2 -1
lines
Diff to previous 1.39 (colored) next main 1.40 (colored)
sync with head.
Revision 1.25.10.3 / (download) - annotate - [select for diffs], Sun Mar 23 02:03:52 2008 UTC (15 years, 2 months ago) by matt
Branch: matt-armv6
Changes since 1.25.10.2: +8 -3
lines
Diff to previous 1.25.10.2 (colored) to branchpoint 1.25 (colored) next main 1.26 (colored)
sync with HEAD
Revision 1.14.2.8 / (download) - annotate - [select for diffs], Mon Mar 17 09:14:14 2008 UTC (15 years, 2 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.14.2.7: +2 -1
lines
Diff to previous 1.14.2.7 (colored) to branchpoint 1.14 (colored) next main 1.15 (colored)
sync with head.
Revision 1.40 / (download) - annotate - [select for diffs], Tue Mar 11 02:24:43 2008 UTC (15 years, 3 months ago) by ad
Branch: MAIN
CVS Tags: yamt-pf42-baseX,
yamt-pf42-base,
yamt-nfs-mp-base,
yamt-lazymbuf-base15,
yamt-lazymbuf-base14,
matt-armv6-nbase,
keiichi-mipv6-nbase,
keiichi-mipv6-base,
ad-socklock-base1
Branch point for: yamt-pf42,
yamt-nfs-mp
Changes since 1.39: +2 -1
lines
Diff to previous 1.39 (colored)
Make context switch + syscall counters optionally per-CPU and accumulate in schedclock() at "about 16 hz".
Revision 1.29.2.4 / (download) - annotate - [select for diffs], Mon Feb 18 21:04:20 2008 UTC (15 years, 3 months ago) by mjf
Branch: mjf-devfs
Changes since 1.29.2.3: +12 -10
lines
Diff to previous 1.29.2.3 (colored) to branchpoint 1.29 (colored) next main 1.30 (colored)
Sync with HEAD.
Revision 1.14.2.7 / (download) - annotate - [select for diffs], Mon Jan 21 09:35:17 2008 UTC (15 years, 4 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.14.2.6: +32 -33
lines
Diff to previous 1.14.2.6 (colored) to branchpoint 1.14 (colored)
sync with head
Revision 1.35.4.3 / (download) - annotate - [select for diffs], Thu Jan 10 23:43:07 2008 UTC (15 years, 5 months ago) by bouyer
Branch: bouyer-xeni386
CVS Tags: bouyer-xeni386-merge1
Changes since 1.35.4.2: +6 -2
lines
Diff to previous 1.35.4.2 (colored) to branchpoint 1.35 (colored) next main 1.36 (colored)
Sync with HEAD
Revision 1.39 / (download) - annotate - [select for diffs], Thu Jan 10 20:14:10 2008 UTC (15 years, 5 months ago) by ad
Branch: MAIN
CVS Tags: nick-net80211-sync-base,
nick-net80211-sync,
mjf-devfs-base,
hpcarm-cleanup-base,
bouyer-xeni386-nbase,
bouyer-xeni386-base
Branch point for: mjf-devfs2,
keiichi-mipv6
Changes since 1.38: +7 -3
lines
Diff to previous 1.38 (colored)
- Fix a memory order problem with non-interlocked mutex release. - Give kernel_lock its own cache line.
Revision 1.25.10.2 / (download) - annotate - [select for diffs], Wed Jan 9 01:44:45 2008 UTC (15 years, 5 months ago) by matt
Branch: matt-armv6
Changes since 1.25.10.1: +266 -48
lines
Diff to previous 1.25.10.1 (colored) to branchpoint 1.25 (colored)
sync with HEAD
Revision 1.35.4.2 / (download) - annotate - [select for diffs], Tue Jan 8 22:09:13 2008 UTC (15 years, 5 months ago) by bouyer
Branch: bouyer-xeni386
Changes since 1.35.4.1: +5 -7
lines
Diff to previous 1.35.4.1 (colored) to branchpoint 1.35 (colored)
Sync with HEAD
Revision 1.38 / (download) - annotate - [select for diffs], Sat Jan 5 21:47:19 2008 UTC (15 years, 5 months ago) by yamt
Branch: MAIN
CVS Tags: matt-armv6-base
Changes since 1.37: +6 -8
lines
Diff to previous 1.37 (colored)
- make amd64 use per-cpu tss. - fix iopl syscall for amd64+xen.
Revision 1.35.4.1 / (download) - annotate - [select for diffs], Wed Jan 2 21:47:00 2008 UTC (15 years, 5 months ago) by bouyer
Branch: bouyer-xeni386
Changes since 1.35: +21 -24
lines
Diff to previous 1.35 (colored)
Sync with HEAD
Revision 1.29.2.3 / (download) - annotate - [select for diffs], Thu Dec 27 00:42:50 2007 UTC (15 years, 5 months ago) by mjf
Branch: mjf-devfs
Changes since 1.29.2.2: +21 -24
lines
Diff to previous 1.29.2.2 (colored) to branchpoint 1.29 (colored)
Sync with HEAD.
Revision 1.34.2.2 / (download) - annotate - [select for diffs], Wed Dec 26 21:38:41 2007 UTC (15 years, 5 months ago) by ad
Branch: vmlocking2
Changes since 1.34.2.1: +21 -24
lines
Diff to previous 1.34.2.1 (colored) to branchpoint 1.34 (colored) next main 1.35 (colored)
Sync with head.
Revision 1.37 / (download) - annotate - [select for diffs], Fri Dec 21 20:43:45 2007 UTC (15 years, 5 months ago) by dsl
Branch: MAIN
CVS Tags: vmlocking2-base3
Changes since 1.36: +11 -12
lines
Diff to previous 1.36 (colored)
Create the trap/syscall frame space for all the registers in one go. Use the tramp-frame offsets (TF_foo) for all references to the registers. Sort the saving of the GP registers into the same order as the trap frame because consequetive memory accesses are liekly to be faster.
Revision 1.36 / (download) - annotate - [select for diffs], Fri Dec 21 19:18:14 2007 UTC (15 years, 5 months ago) by dsl
Branch: MAIN
Changes since 1.35: +11 -13
lines
Diff to previous 1.35 (colored)
Change the xen CLI() and STI() defines to only use one scratch register. As well as saving an instruction, in one place it saves a push/pop pair.
Revision 1.25.8.8 / (download) - annotate - [select for diffs], Sun Dec 9 19:34:16 2007 UTC (15 years, 6 months ago) by jmcneill
Branch: jmcneill-pm
Changes since 1.25.8.7: +14 -13
lines
Diff to previous 1.25.8.7 (colored) to branchpoint 1.25 (colored) next main 1.26 (colored)
Sync with HEAD.
Revision 1.29.2.2 / (download) - annotate - [select for diffs], Sat Dec 8 18:16:24 2007 UTC (15 years, 6 months ago) by mjf
Branch: mjf-devfs
Changes since 1.29.2.1: +257 -34
lines
Diff to previous 1.29.2.1 (colored) to branchpoint 1.29 (colored)
Sync with HEAD.
Revision 1.34.2.1 / (download) - annotate - [select for diffs], Sat Dec 8 17:56:14 2007 UTC (15 years, 6 months ago) by ad
Branch: vmlocking2
Changes since 1.34: +14 -13
lines
Diff to previous 1.34 (colored)
Sync with head.
Revision 1.14.2.6 / (download) - annotate - [select for diffs], Fri Dec 7 17:23:58 2007 UTC (15 years, 6 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.14.2.5: +257 -34
lines
Diff to previous 1.14.2.5 (colored) to branchpoint 1.14 (colored)
sync with head
Revision 1.35 / (download) - annotate - [select for diffs], Mon Dec 3 20:21:32 2007 UTC (15 years, 6 months ago) by ad
Branch: MAIN
CVS Tags: yamt-kmem-base3,
yamt-kmem-base2,
yamt-kmem-base,
yamt-kmem,
vmlocking2-base2,
reinoud-bufcleanup-nbase,
reinoud-bufcleanup-base,
jmcneill-pm-base,
cube-autoconf-base,
cube-autoconf
Branch point for: bouyer-xeni386
Changes since 1.34: +14 -13
lines
Diff to previous 1.34 (colored)
Merge from vmlocking.
Revision 1.20.4.8 / (download) - annotate - [select for diffs], Mon Dec 3 19:02:35 2007 UTC (15 years, 6 months ago) by ad
Branch: vmlocking
Changes since 1.20.4.7: +5 -58
lines
Diff to previous 1.20.4.7 (colored) to branchpoint 1.20 (colored) next main 1.21 (colored)
Sync with HEAD.
Revision 1.20.4.7 / (download) - annotate - [select for diffs], Mon Dec 3 18:34:38 2007 UTC (15 years, 6 months ago) by ad
Branch: vmlocking
Changes since 1.20.4.6: +299 -24
lines
Diff to previous 1.20.4.6 (colored) to branchpoint 1.20 (colored)
Sync with HEAD.
Revision 1.25.8.7 / (download) - annotate - [select for diffs], Mon Dec 3 16:13:53 2007 UTC (15 years, 6 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.25.8.6: +18 -12
lines
Diff to previous 1.25.8.6 (colored) to branchpoint 1.25 (colored)
Sync with HEAD.
Revision 1.34 / (download) - annotate - [select for diffs], Sun Dec 2 21:43:11 2007 UTC (15 years, 6 months ago) by dsl
Branch: MAIN
CVS Tags: vmlocking2-base1,
vmlocking-nbase
Branch point for: vmlocking2
Changes since 1.33: +18 -12
lines
Diff to previous 1.33 (colored)
Improve the likelyhood of the 'oosyscall' code (ie that for system call entry via a call gate for i386 netbsd 1.0 and ibcs2) doing the right thing. Untested because I've failed to get an a.out netbsd 1.0 binary to load.
Revision 1.25.8.6 / (download) - annotate - [select for diffs], Tue Nov 27 19:35:26 2007 UTC (15 years, 6 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.25.8.5: +229 -13
lines
Diff to previous 1.25.8.5 (colored) to branchpoint 1.25 (colored)
Sync with HEAD. amd64 Xen support needs testing.
Revision 1.33 / (download) - annotate - [select for diffs], Fri Nov 23 15:38:52 2007 UTC (15 years, 6 months ago) by bouyer
Branch: MAIN
Changes since 1.32: +2 -2
lines
Diff to previous 1.32 (colored)
Sync BSD_SYMTAB declaration with xeni386, pointed out by Christoph Egger
Revision 1.32 / (download) - annotate - [select for diffs], Thu Nov 22 16:16:42 2007 UTC (15 years, 6 months ago) by bouyer
Branch: MAIN
Changes since 1.31: +229 -13
lines
Diff to previous 1.31 (colored)
Pull up the bouyer-xenamd64 branch to HEAD. This brings in amd64 support to NetBSD/Xen, both Dom0 and DomU.
Revision 1.25.8.5 / (download) - annotate - [select for diffs], Wed Nov 21 21:52:59 2007 UTC (15 years, 6 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.25.8.4: +3 -3
lines
Diff to previous 1.25.8.4 (colored) to branchpoint 1.25 (colored)
Sync with HEAD.
Revision 1.31 / (download) - annotate - [select for diffs], Mon Nov 19 19:02:20 2007 UTC (15 years, 6 months ago) by ad
Branch: MAIN
CVS Tags: bouyer-xenamd64-base2,
bouyer-xenamd64-base
Changes since 1.30: +3 -3
lines
Diff to previous 1.30 (colored)
IPL_IPI -> IPL_HIGH
Revision 1.29.2.1 / (download) - annotate - [select for diffs], Mon Nov 19 00:46:07 2007 UTC (15 years, 6 months ago) by mjf
Branch: mjf-devfs
Changes since 1.29: +4 -4
lines
Diff to previous 1.29 (colored)
Sync with HEAD.
Revision 1.18.14.1 / (download) - annotate - [select for diffs], Sat Nov 17 21:04:59 2007 UTC (15 years, 6 months ago) by skrll
Branch: wrstuden-fixsa
Changes since 1.18: +22 -1
lines
Diff to previous 1.18 (colored) next main 1.19 (colored)
Back port of: date: 2007/05/25 15:09:50; author: yamt; state: Exp; lines: +4 -6 dumpsys: build a fake switchframe for postmortem debugging. reviewed by Frank van der Linden. Unfortunately struct switchframe changed in -current so the crashdumps aren't compatible. *sigh*
Revision 1.20.4.6 / (download) - annotate - [select for diffs], Fri Nov 16 20:31:19 2007 UTC (15 years, 6 months ago) by ad
Branch: vmlocking
Changes since 1.20.4.5: +5 -9
lines
Diff to previous 1.20.4.5 (colored) to branchpoint 1.20 (colored)
- Don't bother entering the debugger for WARNING: SPL NOT LOWERED ... It's nearly impossible to debug at that point. Just patch things up and continue. - Don't assign to ci_ilevel to drop the IPL, it can cause deadlock. Use spllower() instead.
Revision 1.27.2.5 / (download) - annotate - [select for diffs], Fri Nov 16 17:18:00 2007 UTC (15 years, 6 months ago) by bouyer
Branch: bouyer-xenamd64
Changes since 1.27.2.4: +1 -2
lines
Diff to previous 1.27.2.4 (colored) to branchpoint 1.27 (colored) next main 1.28 (colored)
Initial domain0 support for xenamd64. The kernel boots multiuser, but xen tools have not been tried yet. In this process, cleanup some more the page table bootstrap, and properly handle event counters for soft interrupts.
Revision 1.14.2.5 / (download) - annotate - [select for diffs], Thu Nov 15 11:42:30 2007 UTC (15 years, 6 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.14.2.4: +4 -4
lines
Diff to previous 1.14.2.4 (colored) to branchpoint 1.14 (colored)
sync with head.
Revision 1.25.8.4 / (download) - annotate - [select for diffs], Wed Nov 14 19:04:02 2007 UTC (15 years, 6 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.25.8.3: +4 -4
lines
Diff to previous 1.25.8.3 (colored) to branchpoint 1.25 (colored)
Sync with HEAD.
Revision 1.27.2.4 / (download) - annotate - [select for diffs], Tue Nov 13 15:58:05 2007 UTC (15 years, 7 months ago) by bouyer
Branch: bouyer-xenamd64
Changes since 1.27.2.3: +4 -4
lines
Diff to previous 1.27.2.3 (colored) to branchpoint 1.27 (colored)
Sync with HEAD
Revision 1.30 / (download) - annotate - [select for diffs], Mon Nov 12 18:44:43 2007 UTC (15 years, 7 months ago) by ad
Branch: MAIN
Changes since 1.29: +4 -4
lines
Diff to previous 1.29 (colored)
- cpu_vendor was both an int and char[] on amd64 - fix it. - Run the errata check/patch on all CPUs, not just the boot processor.
Revision 1.25.10.1 / (download) - annotate - [select for diffs], Tue Nov 6 23:14:06 2007 UTC (15 years, 7 months ago) by matt
Branch: matt-armv6
CVS Tags: matt-armv6-prevmlocking
Changes since 1.25: +84 -57
lines
Diff to previous 1.25 (colored)
sync with HEAD
Revision 1.14.2.4 / (download) - annotate - [select for diffs], Sat Oct 27 11:25:05 2007 UTC (15 years, 7 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.14.2.3: +32 -56
lines
Diff to previous 1.14.2.3 (colored) to branchpoint 1.14 (colored)
sync with head.
Revision 1.25.8.3 / (download) - annotate - [select for diffs], Fri Oct 26 15:42:06 2007 UTC (15 years, 7 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.25.8.2: +32 -22
lines
Diff to previous 1.25.8.2 (colored) to branchpoint 1.25 (colored)
Sync with HEAD. Follow the merge of pmap.c on i386 and amd64 and move pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup code to restore CR4 before jumping back into kernel space as the large page option might cover that.
Revision 1.27.2.3 / (download) - annotate - [select for diffs], Fri Oct 26 13:46:50 2007 UTC (15 years, 7 months ago) by bouyer
Branch: bouyer-xenamd64
Changes since 1.27.2.2: +3 -1
lines
Diff to previous 1.27.2.2 (colored) to branchpoint 1.27 (colored)
Make amd64, i386 and xen kernels build and work again.
Revision 1.27.2.2 / (download) - annotate - [select for diffs], Thu Oct 25 23:59:22 2007 UTC (15 years, 7 months ago) by bouyer
Branch: bouyer-xenamd64
Changes since 1.27.2.1: +40 -30
lines
Diff to previous 1.27.2.1 (colored) to branchpoint 1.27 (colored)
Finish sync with HEAD. Especially use the new x86 pmap for xenamd64. For this: - rename pmap_pte_set() to pmap_pte_testset() - make pmap_pte_set() a function or macro for non-atomic PTE write - define and use pmap_pa2pte()/pmap_pte2pa() to read/write PTE entries - define pmap_pte_flush() which is a nop in x86 case, and flush the MMUops queue in the Xen case
Revision 1.20.4.5 / (download) - annotate - [select for diffs], Tue Oct 23 20:11:37 2007 UTC (15 years, 7 months ago) by ad
Branch: vmlocking
Changes since 1.20.4.4: +34 -24
lines
Diff to previous 1.20.4.4 (colored) to branchpoint 1.20 (colored)
Sync with head.
Revision 1.29 / (download) - annotate - [select for diffs], Thu Oct 18 15:28:32 2007 UTC (15 years, 7 months ago) by yamt
Branch: MAIN
CVS Tags: jmcneill-base
Branch point for: mjf-devfs
Changes since 1.28: +32 -22
lines
Diff to previous 1.28 (colored)
merge yamt-x86pmap branch. - reduce differences between amd64 and i386. notably, share pmap.c between them. it makes several i386 pmap improvements available to amd64, including tlb shootdown reduction and bug fixes from Stephan Uphoff. - implement deferred pmap switching for amd64. - remove LARGEPAGES option. always use large pages if available. also, make it work on amd64.
Revision 1.27.2.1 / (download) - annotate - [select for diffs], Wed Oct 17 21:38:14 2007 UTC (15 years, 7 months ago) by bouyer
Branch: bouyer-xenamd64
Changes since 1.27: +224 -9
lines
Diff to previous 1.27 (colored)
amd64 (aka x86-64) support for Xen. Based on the OpenBSD port done by Mathieu Ropert in 2006. DomU-only for now. An INSTALL_XEN3_DOMU kernel with a ramdisk will boot to sysinst if you're lucky. Often it panics because a runable LWP has a NULL stack (really, it's all of l->l_addr which is has been zeroed out while the process was on the queue !) TODO: - bug fixes :) - Most of the xpq_* functions should be shared with xen/i386 - The xen/i386 assembly bootstrap code should be remplaced with the C version in xenamd64/amd64/xpmap.c - see if a config(5) trick could allow to merge xenamd64 back to xen or amd64.
Revision 1.28 / (download) - annotate - [select for diffs], Wed Oct 17 19:53:01 2007 UTC (15 years, 7 months ago) by garbled
Branch: MAIN
CVS Tags: yamt-x86pmap-base4
Changes since 1.27: +1 -1
lines
Diff to previous 1.27 (colored)
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.
Revision 1.20.4.4 / (download) - annotate - [select for diffs], Tue Oct 9 15:22:01 2007 UTC (15 years, 8 months ago) by ad
Branch: vmlocking
Changes since 1.20.4.3: +1 -35
lines
Diff to previous 1.20.4.3 (colored) to branchpoint 1.20 (colored)
Sync with head.
Revision 1.26.2.6 / (download) - annotate - [select for diffs], Mon Oct 8 11:00:14 2007 UTC (15 years, 8 months ago) by yamt
Branch: yamt-x86pmap
Changes since 1.26.2.5: +0 -1
lines
Diff to previous 1.26.2.5 (colored) to branchpoint 1.26 (colored) next main 1.27 (colored)
fix off-by-one.
Revision 1.26.2.5 / (download) - annotate - [select for diffs], Sun Oct 7 13:33:34 2007 UTC (15 years, 8 months ago) by yamt
Branch: yamt-x86pmap
Changes since 1.26.2.4: +3 -3
lines
Diff to previous 1.26.2.4 (colored) to branchpoint 1.26 (colored)
rename PTDpaddr to PDPpaddr to match with i386. (if you think it's a good idea to make gratuitous renames like this, please do it for both of i386 and amd64 consistently.)
Revision 1.26.2.4 / (download) - annotate - [select for diffs], Sun Oct 7 12:51:15 2007 UTC (15 years, 8 months ago) by yamt
Branch: yamt-x86pmap
Changes since 1.26.2.3: +1 -3
lines
Diff to previous 1.26.2.3 (colored) to branchpoint 1.26 (colored)
remove some #ifdef _LOCORE and use genassym instead.
Revision 1.26.2.3 / (download) - annotate - [select for diffs], Sat Oct 6 15:39:38 2007 UTC (15 years, 8 months ago) by yamt
Branch: yamt-x86pmap
Changes since 1.26.2.2: +1 -35
lines
Diff to previous 1.26.2.2 (colored) to branchpoint 1.26 (colored)
sync with head.
Revision 1.26.2.2 / (download) - annotate - [select for diffs], Thu Oct 4 15:04:31 2007 UTC (15 years, 8 months ago) by yamt
Branch: yamt-x86pmap
Changes since 1.26.2.1: +4 -4
lines
Diff to previous 1.26.2.1 (colored) to branchpoint 1.26 (colored)
- move etext before rodata. define __data_start at the start of .data section and use it instead of etext where appropriate. - put .rodata.* into .rodata section as well. - pmap_bootstrap: don't assume NBPD_L2 alignment. - pmap_bootstrap: if DEBUG, print how many large pages and normal pages are used to map kernel text.
Revision 1.20.12.3 / (download) - annotate - [select for diffs], Wed Oct 3 19:22:08 2007 UTC (15 years, 8 months ago) by garbled
Branch: ppcoea-renovation
Changes since 1.20.12.2: +53 -36
lines
Diff to previous 1.20.12.2 (colored) to branchpoint 1.20 (colored) next main 1.21 (colored)
Sync with HEAD
Revision 1.25.8.2 / (download) - annotate - [select for diffs], Tue Oct 2 18:26:40 2007 UTC (15 years, 8 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.25.8.1: +1 -35
lines
Diff to previous 1.25.8.1 (colored) to branchpoint 1.25 (colored)
Sync with HEAD.
Revision 1.26.2.1 / (download) - annotate - [select for diffs], Sun Sep 30 15:32:20 2007 UTC (15 years, 8 months ago) by yamt
Branch: yamt-x86pmap
Changes since 1.26: +25 -12
lines
Diff to previous 1.26 (colored)
implement deferred pmap switching for amd64, and make amd64 use x86 shared pmap code. it makes several i386 pmap improvements available to amd64, including tlb shootdown reduction and bug fixes from Stephan Uphoff.
Revision 1.27 / (download) - annotate - [select for diffs], Wed Sep 26 19:48:35 2007 UTC (15 years, 8 months ago) by ad
Branch: MAIN
CVS Tags: yamt-x86pmap-base3,
yamt-x86pmap-base2,
vmlocking-base,
ppcoea-renovation-base
Branch point for: bouyer-xenamd64
Changes since 1.26: +1 -35
lines
Diff to previous 1.26 (colored)
x86 changes for pcc and LKMs. - Replace most inline assembly with proper functions. As a side effect this reduces the size of amd64 GENERIC by about 120kB, and i386 by a smaller amount. Nearly all of the inlines did something slow, or something that does not need to be fast. - Make curcpu() and curlwp functions proper, unless __GNUC__ && _KERNEL. In that case make them inlines. Makes curlwp LKM and preemption safe. - Make bus_space and bus_dma more LKM friendly. - Share a few more files between the ports. - Other minor changes.
Revision 1.25.8.1 / (download) - annotate - [select for diffs], Mon Sep 3 16:47:00 2007 UTC (15 years, 9 months ago) by jmcneill
Branch: jmcneill-pm
Changes since 1.25: +53 -2
lines
Diff to previous 1.25 (colored)
Sync with HEAD.
Revision 1.14.2.3 / (download) - annotate - [select for diffs], Mon Sep 3 14:22:31 2007 UTC (15 years, 9 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.14.2.2: +178 -423
lines
Diff to previous 1.14.2.2 (colored) to branchpoint 1.14 (colored)
sync with head.
Revision 1.25.4.1 / (download) - annotate - [select for diffs], Mon Sep 3 10:18:10 2007 UTC (15 years, 9 months ago) by skrll
Branch: nick-csl-alignment
Changes since 1.25: +53 -2
lines
Diff to previous 1.25 (colored) next main 1.26 (colored)
Sync with HEAD.
Revision 1.26 / (download) - annotate - [select for diffs], Wed Aug 29 23:38:02 2007 UTC (15 years, 9 months ago) by ad
Branch: MAIN
CVS Tags: yamt-x86pmap-base,
nick-csl-alignment-base5
Branch point for: yamt-x86pmap
Changes since 1.25: +53 -2
lines
Diff to previous 1.25 (colored)
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.
Revision 1.20.4.3 / (download) - annotate - [select for diffs], Thu Aug 23 19:44:08 2007 UTC (15 years, 9 months ago) by ad
Branch: vmlocking
Changes since 1.20.4.2: +49 -1
lines
Diff to previous 1.20.4.2 (colored) to branchpoint 1.20 (colored)
Add sse2_zero_page(), sse2_copy_page().
Revision 1.20.4.2 / (download) - annotate - [select for diffs], Thu Aug 23 12:07:49 2007 UTC (15 years, 9 months ago) by ad
Branch: vmlocking
Changes since 1.20.4.1: +5 -2
lines
Diff to previous 1.20.4.1 (colored) to branchpoint 1.20 (colored)
Save cpu_feature2, like i386.
Revision 1.20.6.1 / (download) - annotate - [select for diffs], Wed Jul 11 19:57:33 2007 UTC (15 years, 11 months ago) by mjf
Branch: mjf-ufs-trans
Changes since 1.20: +126 -422
lines
Diff to previous 1.20 (colored) next main 1.21 (colored)
Sync with head.
Revision 1.20.12.2 / (download) - annotate - [select for diffs], Tue Jun 26 18:11:57 2007 UTC (15 years, 11 months ago) by garbled
Branch: ppcoea-renovation
Changes since 1.20.12.1: +21 -1
lines
Diff to previous 1.20.12.1 (colored) to branchpoint 1.20 (colored)
Sync with HEAD.
Revision 1.20.4.1 / (download) - annotate - [select for diffs], Sun May 27 12:26:57 2007 UTC (16 years ago) by ad
Branch: vmlocking
Changes since 1.20: +126 -422
lines
Diff to previous 1.20 (colored)
Sync with head.
Revision 1.25 / (download) - annotate - [select for diffs], Fri May 25 15:09:50 2007 UTC (16 years ago) by yamt
Branch: MAIN
CVS Tags: nick-csl-alignment-base,
mjf-ufs-trans-base,
matt-mips64-base,
matt-mips64,
hpcarm-cleanup
Branch point for: nick-csl-alignment,
matt-armv6,
jmcneill-pm
Changes since 1.24: +21 -1
lines
Diff to previous 1.24 (colored)
dumpsys: build a fake switchframe for postmortem debugging. reviewed by Frank van der Linden.
Revision 1.20.12.1 / (download) - annotate - [select for diffs], Tue May 22 17:26:31 2007 UTC (16 years ago) by matt
Branch: ppcoea-renovation
Changes since 1.20: +109 -425
lines
Diff to previous 1.20 (colored)
Update to HEAD.
Revision 1.24 / (download) - annotate - [select for diffs], Mon May 21 08:10:38 2007 UTC (16 years ago) by fvdl
Branch: MAIN
Changes since 1.23: +5 -1
lines
Diff to previous 1.23 (colored)
Revert fs/gs changes until I figure out issues with them.
Revision 1.23 / (download) - annotate - [select for diffs], Sat May 19 20:20:47 2007 UTC (16 years ago) by fvdl
Branch: MAIN
Changes since 1.22: +2 -2
lines
Diff to previous 1.22 (colored)
cpu_switchto: PCB_CR0(%r14) is a 32bit value, so don't use movq to retrieve it. Using movq would copy pcb_flags along as well, which would cause traps because bad bits would be written into %cr0 a few instructions later. This wouldn't happen for native NetBSD processes (no pcb_flags set), but it would happen for Linux processes.
Revision 1.22 / (download) - annotate - [select for diffs], Thu May 17 14:51:14 2007 UTC (16 years ago) by yamt
Branch: MAIN
Changes since 1.21: +109 -425
lines
Diff to previous 1.21 (colored)
merge yamt-idlelwp branch. asked by core@. some ports still needs work. from doc/BRANCHES: idle lwp, and some changes depending on it. 1. separate context switching and thread scheduling. (cf. gmcgarry_ctxsw) 2. implement idle lwp. 3. clean up related MD/MI interfaces. 4. make scheduler(s) modular.
Revision 1.19.2.4 / (download) - annotate - [select for diffs], Thu May 17 13:40:48 2007 UTC (16 years ago) by yamt
Branch: yamt-idlelwp
Changes since 1.19.2.3: +1 -5
lines
Diff to previous 1.19.2.3 (colored) to branchpoint 1.19 (colored) next main 1.20 (colored)
sync with head.
Revision 1.21 / (download) - annotate - [select for diffs], Fri May 11 14:01:46 2007 UTC (16 years, 1 month ago) by fvdl
Branch: MAIN
CVS Tags: yamt-idlelwp-base8
Changes since 1.20: +1 -5
lines
Diff to previous 1.20 (colored)
Don't save/restore %fs and %gs in trapframe. The kernel won't touch them. Instead, save/restore them on context switch. For 32bit processes, save/restore the selector values only, for 64bit processes, save/restore the appropriate MSRs. Iff the defaults have been changed.
Revision 1.19.2.3 / (download) - annotate - [select for diffs], Tue Apr 10 23:07:31 2007 UTC (16 years, 2 months ago) by ad
Branch: yamt-idlelwp
Changes since 1.19.2.2: +91 -117
lines
Diff to previous 1.19.2.2 (colored) to branchpoint 1.19 (colored)
Sync with i386.
Revision 1.19.2.2 / (download) - annotate - [select for diffs], Sat Mar 3 15:42:48 2007 UTC (16 years, 3 months ago) by yamt
Branch: yamt-idlelwp
Changes since 1.19.2.1: +37 -327
lines
Diff to previous 1.19.2.1 (colored) to branchpoint 1.19 (colored)
adapt amd64. XXX changes in identcpu.c is minmum for MONITOR. XXX identcpu.c should be shared with i386.
Revision 1.19.2.1 / (download) - annotate - [select for diffs], Tue Feb 27 16:48:43 2007 UTC (16 years, 3 months ago) by yamt
Branch: yamt-idlelwp
Changes since 1.19: +2 -2
lines
Diff to previous 1.19 (colored)
- sync with head. - move sched_changepri back to kern_synch.c as it doesn't know PPQ anymore.
Revision 1.14.2.2 / (download) - annotate - [select for diffs], Mon Feb 26 09:05:40 2007 UTC (16 years, 3 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.14.2.1: +22 -23
lines
Diff to previous 1.14.2.1 (colored) to branchpoint 1.14 (colored)
sync with head.
Revision 1.20 / (download) - annotate - [select for diffs], Sat Feb 17 22:31:37 2007 UTC (16 years, 3 months ago) by pavel
Branch: MAIN
CVS Tags: thorpej-atomic-base,
thorpej-atomic,
reinoud-bufcleanup,
ad-audiomp-base,
ad-audiomp
Branch point for: vmlocking,
ppcoea-renovation,
mjf-ufs-trans
Changes since 1.19: +2 -2
lines
Diff to previous 1.19 (colored)
Change the process/lwp flags seen by userland via sysctl back to the P_*/L_* naming convention, and rename the in-kernel flags to avoid conflict. (P_ -> PK_, L_ -> LW_ ). Add back the (now unused) LSDEAD constant. Restores source compatibility with pre-newlock2 tools like ps or top. Reviewed by Andrew Doran.
Revision 1.19 / (download) - annotate - [select for diffs], Fri Feb 9 21:55:01 2007 UTC (16 years, 4 months ago) by ad
Branch: MAIN
CVS Tags: post-newlock2-merge
Branch point for: yamt-idlelwp
Changes since 1.18: +21 -22
lines
Diff to previous 1.18 (colored)
Merge newlock2 to head.
Revision 1.18.8.10 / (download) - annotate - [select for diffs], Thu Feb 1 04:17:13 2007 UTC (16 years, 4 months ago) by ad
Branch: newlock2
Changes since 1.18.8.9: +3 -3
lines
Diff to previous 1.18.8.9 (colored) to branchpoint 1.18 (colored) next main 1.19 (colored)
Call spllower() from the idle loop, not Xspllower().
Revision 1.18.8.9 / (download) - annotate - [select for diffs], Tue Jan 30 11:45:26 2007 UTC (16 years, 4 months ago) by ad
Branch: newlock2
Changes since 1.18.8.8: +1 -7
lines
Diff to previous 1.18.8.8 (colored) to branchpoint 1.18 (colored)
For now always call sched_unlock_idle/sched_lock_idle. They will be removed by yamt's cpu_switchto() changes.
Revision 1.18.8.8 / (download) - annotate - [select for diffs], Sat Jan 27 07:09:02 2007 UTC (16 years, 4 months ago) by ad
Branch: newlock2
Changes since 1.18.8.7: +7 -1
lines
Diff to previous 1.18.8.7 (colored) to branchpoint 1.18 (colored)
If running on a PPro or later, at boot patch in versions of spllower() and similar that use cmpxchg8b instead of cli/sti. Cuts the clock cycles for splx() by a factor of ~6 on the P4, and ~3 on the PIII when bracketed by serializing instructions (and hopefully more when not).
Revision 1.18.8.7 / (download) - annotate - [select for diffs], Fri Jan 19 20:07:55 2007 UTC (16 years, 4 months ago) by ad
Branch: newlock2
Changes since 1.18.8.6: +4 -5
lines
Diff to previous 1.18.8.6 (colored) to branchpoint 1.18 (colored)
cpu_exit: be more conservative and only clear curlwp after TR has been loaded.
Revision 1.18.8.6 / (download) - annotate - [select for diffs], Fri Jan 19 19:35:22 2007 UTC (16 years, 4 months ago) by ad
Branch: newlock2
Changes since 1.18.8.5: +3 -3
lines
Diff to previous 1.18.8.5 (colored) to branchpoint 1.18 (colored)
- cpu_exit(): move 'cli' behind clearing curlwp to close a race with lwp_free(). Noted by yamt@. - Don't bother calling lwp_exit2() any more.
Revision 1.18.8.5 / (download) - annotate - [select for diffs], Sun Jan 14 13:57:13 2007 UTC (16 years, 4 months ago) by ad
Branch: newlock2
Changes since 1.18.8.4: +19 -22
lines
Diff to previous 1.18.8.4 (colored) to branchpoint 1.18 (colored)
- Restore previous locking behaviour in cpu_switch(). Seems to fix what look like corrupted trap frames. - Micro-optimisation for AST check/clear.
Revision 1.18.8.4 / (download) - annotate - [select for diffs], Fri Jan 12 14:24:17 2007 UTC (16 years, 5 months ago) by ad
Branch: newlock2
Changes since 1.18.8.3: +7 -15
lines
Diff to previous 1.18.8.3 (colored) to branchpoint 1.18 (colored)
Make amd64 build again.
Revision 1.18.8.3 / (download) - annotate - [select for diffs], Fri Dec 29 20:27:41 2006 UTC (16 years, 5 months ago) by ad
Branch: newlock2
Changes since 1.18.8.2: +7 -7
lines
Diff to previous 1.18.8.2 (colored) to branchpoint 1.18 (colored)
Checkpoint work in progress.
Revision 1.18.8.2 / (download) - annotate - [select for diffs], Tue Oct 24 21:10:22 2006 UTC (16 years, 7 months ago) by ad
Branch: newlock2
Changes since 1.18.8.1: +1 -6
lines
Diff to previous 1.18.8.1 (colored) to branchpoint 1.18 (colored)
- Redo LWP locking slightly and fix some races. - Fix some locking botches. - Make signal mask / stack per-proc for SA processes. - Add _lwp_kill().
Revision 1.18.8.1 / (download) - annotate - [select for diffs], Fri Oct 20 19:42:24 2006 UTC (16 years, 7 months ago) by ad
Branch: newlock2
Changes since 1.18: +41 -25
lines
Diff to previous 1.18 (colored)
- Acquire/release sched_mutex in the correct places. - Donate ci->ci_sched_mutex to newly scheduled LWPs.
Revision 1.15.4.1 / (download) - annotate - [select for diffs], Sat Sep 9 02:37:05 2006 UTC (16 years, 9 months ago) by rpaulo
Branch: rpaulo-netinet-merge-pcb
Changes since 1.15: +5 -5
lines
Diff to previous 1.15 (colored) next main 1.16 (colored)
sync with head
Revision 1.14.2.1 / (download) - annotate - [select for diffs], Wed Jun 21 14:48:18 2006 UTC (16 years, 11 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.14: +5 -5
lines
Diff to previous 1.14 (colored)
sync with head.
Revision 1.15.6.1 / (download) - annotate - [select for diffs], Thu Jun 1 22:34:10 2006 UTC (17 years ago) by kardel
Branch: simonb-timecounters
CVS Tags: simonb-timcounters-final
Changes since 1.15: +5 -5
lines
Diff to previous 1.15 (colored) next main 1.16 (colored)
Sync with head.
Revision 1.15.12.1 / (download) - annotate - [select for diffs], Wed May 24 15:47:50 2006 UTC (17 years ago) by tron
Branch: peter-altq
Changes since 1.15: +5 -5
lines
Diff to previous 1.15 (colored) next main 1.16 (colored)
Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
Revision 1.15.8.1 / (download) - annotate - [select for diffs], Wed May 24 10:56:33 2006 UTC (17 years ago) by yamt
Branch: yamt-pdpolicy
Changes since 1.15: +5 -5
lines
Diff to previous 1.15 (colored) next main 1.16 (colored)
sync with head.
Revision 1.18 / (download) - annotate - [select for diffs], Sun May 14 21:55:09 2006 UTC (17 years, 1 month ago) by elad
Branch: MAIN
CVS Tags: yamt-splraiseipl-base5,
yamt-splraiseipl-base4,
yamt-splraiseipl-base3,
yamt-splraiseipl-base2,
yamt-splraiseipl-base,
yamt-splraiseipl,
yamt-pdpolicy-base9,
yamt-pdpolicy-base8,
yamt-pdpolicy-base7,
yamt-pdpolicy-base6,
yamt-pdpolicy-base5,
wrstuden-fixsa-newbase,
wrstuden-fixsa-base-1,
wrstuden-fixsa-base,
simonb-timecounters-base,
rpaulo-netinet-merge-pcb-base,
newlock2-nbase,
newlock2-base,
netbsd-4-base,
netbsd-4-0-RELEASE,
netbsd-4-0-RC5,
netbsd-4-0-RC4,
netbsd-4-0-RC3,
netbsd-4-0-RC2,
netbsd-4-0-RC1,
netbsd-4-0-1-RELEASE,
netbsd-4-0,
matt-nb4-arm-base,
matt-nb4-arm,
gdamore-uart-base,
gdamore-uart,
chap-midi-nbase,
chap-midi-base,
chap-midi,
abandoned-netbsd-4-base,
abandoned-netbsd-4
Branch point for: wrstuden-fixsa,
newlock2,
netbsd-4
Changes since 1.17: +1 -1
lines
Diff to previous 1.17 (colored)
integrate kauth.
Revision 1.17 / (download) - annotate - [select for diffs], Sat May 13 08:56:08 2006 UTC (17 years, 1 month ago) by skrll
Branch: MAIN
Changes since 1.16: +4 -4
lines
Diff to previous 1.16 (colored)
Fix some more comments.
Revision 1.15.10.1 / (download) - annotate - [select for diffs], Thu May 11 23:26:18 2006 UTC (17 years, 1 month ago) by elad
Branch: elad-kernelauth
Changes since 1.15: +2 -2
lines
Diff to previous 1.15 (colored) next main 1.16 (colored)
sync with head
Revision 1.16 / (download) - annotate - [select for diffs], Sun Apr 30 19:50:19 2006 UTC (17 years, 1 month ago) by rjs
Branch: MAIN
CVS Tags: elad-kernelauth-base
Changes since 1.15: +2 -2
lines
Diff to previous 1.15 (colored)
Fix comment for cpu_switch().
Revision 1.15 / (download) - annotate - [select for diffs], Sun Dec 11 12:16:21 2005 UTC (17 years, 6 months ago) by christos
Branch: MAIN
CVS Tags: yamt-uio_vmspace-base5,
yamt-uio_vmspace,
yamt-pdpolicy-base4,
yamt-pdpolicy-base3,
yamt-pdpolicy-base2,
yamt-pdpolicy-base,
peter-altq-base
Branch point for: yamt-pdpolicy,
simonb-timecounters,
rpaulo-netinet-merge-pcb,
peter-altq,
elad-kernelauth
Changes since 1.14: +1 -1
lines
Diff to previous 1.14 (colored)
merge ktrace-lwp.
Revision 1.13.8.1 / (download) - annotate - [select for diffs], Fri Apr 29 11:27:59 2005 UTC (18 years, 1 month ago) by kent
Branch: kent-audio2
Changes since 1.13: +2 -3
lines
Diff to previous 1.13 (colored) next main 1.14 (colored)
sync with -current
Revision 1.4.2.4 / (download) - annotate - [select for diffs], Fri Apr 1 14:26:50 2005 UTC (18 years, 2 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.4.2.3: +2 -3
lines
Diff to previous 1.4.2.3 (colored) next main 1.5 (colored)
Sync with HEAD.
Revision 1.14 / (download) - annotate - [select for diffs], Fri Apr 1 11:59:22 2005 UTC (18 years, 2 months ago) by yamt
Branch: MAIN
CVS Tags: yamt-vop-base3,
yamt-vop-base2,
yamt-vop-base,
yamt-vop,
yamt-readahead-pervnode,
yamt-readahead-perfile,
yamt-readahead-base3,
yamt-readahead-base2,
yamt-readahead-base,
yamt-readahead,
thorpej-vnode-attr-base,
thorpej-vnode-attr,
ktrace-lwp-base,
kent-audio2-base
Branch point for: yamt-lazymbuf
Changes since 1.13: +2 -3
lines
Diff to previous 1.13 (colored)
merge yamt-km branch. - don't use managed mappings/backing objects for wired memory allocations. save some resources like pv_entry. also fix (most of) PR/27030. - simplify kernel memory management API. - simplify pmap bootstrap of some ports. - some related cleanups.
Revision 1.13.10.1 / (download) - annotate - [select for diffs], Sun Feb 13 10:06:04 2005 UTC (18 years, 3 months ago) by yamt
Branch: yamt-km
Changes since 1.13: +2 -3
lines
Diff to previous 1.13 (colored) next main 1.14 (colored)
remove no longer needed .globl decls.
Revision 1.4.2.3 / (download) - annotate - [select for diffs], Tue Sep 21 13:12:07 2004 UTC (18 years, 8 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.4.2.2: +1 -1
lines
Diff to previous 1.4.2.2 (colored)
Fix the sync with head I botched.
Revision 1.4.2.2 / (download) - annotate - [select for diffs], Sat Sep 18 14:31:13 2004 UTC (18 years, 8 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.4.2.1: +0 -0
lines
Diff to previous 1.4.2.1 (colored)
Sync with HEAD.
Revision 1.4.2.1 / (download) - annotate - [select for diffs], Tue Aug 3 10:31:30 2004 UTC (18 years, 10 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.4: +30 -27
lines
Diff to previous 1.4 (colored)
Sync with HEAD
Revision 1.13 / (download) - annotate - [select for diffs], Thu Mar 25 18:33:17 2004 UTC (19 years, 2 months ago) by drochner
Branch: MAIN
CVS Tags: yamt-km-base4,
yamt-km-base3,
yamt-km-base2,
yamt-km-base,
netbsd-3-base,
netbsd-3-1-RELEASE,
netbsd-3-1-RC4,
netbsd-3-1-RC3,
netbsd-3-1-RC2,
netbsd-3-1-RC1,
netbsd-3-1-1-RELEASE,
netbsd-3-1,
netbsd-3-0-RELEASE,
netbsd-3-0-RC6,
netbsd-3-0-RC5,
netbsd-3-0-RC4,
netbsd-3-0-RC3,
netbsd-3-0-RC2,
netbsd-3-0-RC1,
netbsd-3-0-3-RELEASE,
netbsd-3-0-2-RELEASE,
netbsd-3-0-1-RELEASE,
netbsd-3-0,
netbsd-3,
netbsd-2-base,
netbsd-2-1-RELEASE,
netbsd-2-1-RC6,
netbsd-2-1-RC5,
netbsd-2-1-RC4,
netbsd-2-1-RC3,
netbsd-2-1-RC2,
netbsd-2-1-RC1,
netbsd-2-1,
netbsd-2-0-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-3-RELEASE,
netbsd-2-0-2-RELEASE,
netbsd-2-0-1-RELEASE,
netbsd-2-0,
netbsd-2,
kent-audio1-beforemerge,
kent-audio1-base,
kent-audio1
Branch point for: yamt-km,
kent-audio2
Changes since 1.12: +1 -18
lines
Diff to previous 1.12 (colored)
Native code doesn't need sigcode. Never. So replace it by a dummy setting sigcode=esigcode=0, just to get COMPAT_16+COMPAT_NETBSD32 kernels linking.
Revision 1.12 / (download) - annotate - [select for diffs], Tue Mar 23 19:39:42 2004 UTC (19 years, 2 months ago) by drochner
Branch: MAIN
Changes since 1.11: +14 -2
lines
Diff to previous 1.11 (colored)
put the old and the very old syscall glue into appropriate COMPAT_ conditionals
Revision 1.11 / (download) - annotate - [select for diffs], Mon Mar 1 12:10:41 2004 UTC (19 years, 3 months ago) by drochner
Branch: MAIN
Changes since 1.10: +4 -2
lines
Diff to previous 1.10 (colored)
on (fast) syscall exit, force %ds to its standard value -- it might have been modified by a netbsd32 process
Revision 1.10 / (download) - annotate - [select for diffs], Thu Feb 19 17:18:38 2004 UTC (19 years, 3 months ago) by drochner
Branch: MAIN
Changes since 1.9: +6 -1
lines
Diff to previous 1.9 (colored)
use no-execute page permissions if supported
Revision 1.9 / (download) - annotate - [select for diffs], Sun Nov 30 23:58:51 2003 UTC (19 years, 6 months ago) by fvdl
Branch: MAIN
Changes since 1.8: +2 -1
lines
Diff to previous 1.8 (colored)
Reenable interrupts sooner in the idle_exit case.
Revision 1.8 / (download) - annotate - [select for diffs], Mon Nov 10 08:51:51 2003 UTC (19 years, 7 months ago) by wiz
Branch: MAIN
Changes since 1.7: +2 -2
lines
Diff to previous 1.7 (colored)
Spell address with two d's. Inspired by similar changes in OpenBSD, originating from Jonathon Gray and forwarded by jmc@openbsd.
Revision 1.7 / (download) - annotate - [select for diffs], Tue Nov 4 10:33:15 2003 UTC (19 years, 7 months ago) by dsl
Branch: MAIN
Changes since 1.6: +2 -2
lines
Diff to previous 1.6 (colored)
Remove p_nras from struct proc - use LIST_EMPTY(&p->p_raslist) instead. Remove p_raslock and rename p_lwplock p_lock (one lock is enough). Simplify window test when adding a ras and correct test on VM_MAXUSER_ADDRESS. Avoid unpredictable branch in i386 locore.S (pad fields left in struct proc to avoid kernel bump)
Revision 1.6 / (download) - annotate - [select for diffs], Wed Aug 20 21:48:47 2003 UTC (19 years, 9 months ago) by fvdl
Branch: MAIN
Changes since 1.5: +5 -1
lines
Diff to previous 1.5 (colored)
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
Revision 1.5 / (download) - annotate - [select for diffs], Thu Aug 7 16:26:35 2003 UTC (19 years, 10 months ago) by agc
Branch: MAIN
Changes since 1.4: +2 -6
lines
Diff to previous 1.4 (colored)
Move UCB-licensed code from 4-clause to 3-clause licence. Patches provided by Joel Baker in PR 22364, verified by myself.
Revision 1.4 / (download) - annotate - [select for diffs], Tue May 13 09:35:16 2003 UTC (20 years, 1 month ago) by fvdl
Branch: MAIN
Branch point for: ktrace-lwp
Changes since 1.3: +3 -3
lines
Diff to previous 1.3 (colored)
While the previous change actually made the code do what it intended, it was still wrong. cpu_switch() must return 1 when it switched to a different LWP, 0 if it didn't. It was doing exactly the reverse.
Revision 1.3 / (download) - annotate - [select for diffs], Tue May 13 08:33:58 2003 UTC (20 years, 1 month ago) by fvdl
Branch: MAIN
Changes since 1.2: +6 -4
lines
Diff to previous 1.2 (colored)
Return the correct value in cpu_switch; from Stephan Uphoff for i386.
Revision 1.2 / (download) - annotate - [select for diffs], Sat Apr 26 19:34:45 2003 UTC (20 years, 1 month ago) by fvdl
Branch: MAIN
Changes since 1.1: +3 -2
lines
Diff to previous 1.1 (colored)
Skip sym space if ksyms or LKMs are included, too.
Revision 1.1 / (download) - annotate - [select for diffs], Sat Apr 26 18:39:29 2003 UTC (20 years, 1 month ago) by fvdl
Branch: MAIN
Rename the x86_64 port to amd64, as this is the actual name used for the processor family now. x86_64 is kept as the MACHINE_ARCH value, since it's already widely used (by e.g. the toolchain, etc), and by other operating systems.