Up to [cvs.NetBSD.org] / src / sys / arch / i386 / i386
Request diff between arbitrary revisions
Default branch: MAIN
Current tag: MAIN
Revision 1.197 / (download) - annotate - [select for diffs], Mon Oct 16 17:29:31 2023 UTC (5 months ago) by bouyer
Branch: MAIN
CVS Tags: triaxx-drm,
thorpej-ifq-base,
thorpej-ifq,
thorpej-altq-separation-base,
thorpej-altq-separation,
HEAD
Changes since 1.196: +3 -3
lines
Diff to previous 1.196 (colored) to selected 1.114 (colored)
Xen's start_info_t is larger than 512 bytes these days, so bump the copy size to a whole PAGE_SIZE, and CTASSERT() that start_info_t is smaller. Luckily we didn't use yet the parts skipped
Revision 1.196 / (download) - annotate - [select for diffs], Sun Jul 16 19:55:43 2023 UTC (8 months ago) by riastradh
Branch: MAIN
Changes since 1.195: +27 -2
lines
Diff to previous 1.195 (colored) to selected 1.114 (colored)
x86: Sprinkle extensive commentary about %fs/%gs initialization. Plus some other side quests like the three-stage GDT metamorphosis lifecycle. No functional change intended.
Revision 1.195 / (download) - annotate - [select for diffs], Sun May 14 09:05:38 2023 UTC (10 months ago) by riastradh
Branch: MAIN
Changes since 1.194: +13 -13
lines
Diff to previous 1.194 (colored) to selected 1.114 (colored)
x86/locore.S: Nix trailing whitespace.
Revision 1.194 / (download) - annotate - [select for diffs], Fri Mar 3 14:32:27 2023 UTC (12 months, 2 weeks ago) by riastradh
Branch: MAIN
Changes since 1.193: +3 -18
lines
Diff to previous 1.193 (colored) to selected 1.114 (colored)
Revert "x86: Add kthread_fpu_enter/exit support, take two -- forgot i386 bits." kthread_fpu_enter/exit changes broke some hardware, unclear why, to investigate before fixing and reapplying these changes.
Revision 1.193 / (download) - annotate - [select for diffs], Wed Mar 1 08:38:50 2023 UTC (12 months, 2 weeks ago) by riastradh
Branch: MAIN
Changes since 1.192: +28 -4
lines
Diff to previous 1.192 (colored) to selected 1.114 (colored)
x86: Expand on comments on ordering around stores to ci_curlwp. No functional change intended. PR kern/57240
Revision 1.192 / (download) - annotate - [select for diffs], Sat Feb 25 18:35:54 2023 UTC (12 months, 3 weeks ago) by riastradh
Branch: MAIN
Changes since 1.191: +18 -3
lines
Diff to previous 1.191 (colored) to selected 1.114 (colored)
x86: Add kthread_fpu_enter/exit support, take two -- forgot i386 bits.
Revision 1.191 / (download) - annotate - [select for diffs], Fri Feb 3 09:21:58 2023 UTC (13 months, 2 weeks ago) by mlelstv
Branch: MAIN
Changes since 1.190: +3 -3
lines
Diff to previous 1.190 (colored) to selected 1.114 (colored)
Make multiboot1 continue with common boot code and not skip CPU type detection. Fixes PR 57017 and PR 56935.
Revision 1.190 / (download) - annotate - [select for diffs], Wed Sep 7 00:40:18 2022 UTC (18 months, 1 week 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.189: +6 -6
lines
Diff to previous 1.189 (colored) to selected 1.114 (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.189 / (download) - annotate - [select for diffs], Sun Jun 12 11:36:42 2022 UTC (21 months, 1 week ago) by bouyer
Branch: MAIN
Changes since 1.188: +11 -2
lines
Diff to previous 1.188 (colored) to selected 1.114 (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.188 / (download) - annotate - [select for diffs], Tue May 31 18:04:11 2022 UTC (21 months, 2 weeks ago) by bouyer
Branch: MAIN
Changes since 1.187: +3 -2
lines
Diff to previous 1.187 (colored) to selected 1.114 (colored)
For some reason on my system, the guest starts with a pending event in the shared structure. On i386, this cause hypervisor_callback to be entered before cpu_info_primary is fully initialised, especially on i386 ci_intrstack is still NULL, which cause a crash when we try to use it. Work around by recycling the boot's tmp stack for this until cpu_attach() is called.
Revision 1.187 / (download) - annotate - [select for diffs], Wed Nov 10 15:59:08 2021 UTC (2 years, 4 months ago) by msaitoh
Branch: MAIN
Changes since 1.186: +3 -3
lines
Diff to previous 1.186 (colored) to selected 1.114 (colored)
s/annouce/announce/ in comment.
Revision 1.186 / (download) - annotate - [select for diffs], Fri Aug 13 20:26:07 2021 UTC (2 years, 7 months ago) by andvar
Branch: MAIN
Changes since 1.185: +3 -3
lines
Diff to previous 1.185 (colored) to selected 1.114 (colored)
s/struture/structure/ s/structre/structure/
Revision 1.185 / (download) - annotate - [select for diffs], Wed May 27 19:33:40 2020 UTC (3 years, 9 months ago) by ad
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.184: +2 -39
lines
Diff to previous 1.184 (colored) to selected 1.114 (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.184 / (download) - annotate - [select for diffs], Tue May 5 09:07:35 2020 UTC (3 years, 10 months ago) by bouyer
Branch: MAIN
Changes since 1.183: +4 -4
lines
Diff to previous 1.183 (colored) to selected 1.114 (colored)
build start_xenpvh only if XEN. Fixes NET4501 build issue reported by John D. Baker
Revision 1.183 / (download) - annotate - [select for diffs], Sat May 2 18:49:57 2020 UTC (3 years, 10 months ago) by bouyer
Branch: MAIN
Changes since 1.182: +4 -4
lines
Diff to previous 1.182 (colored) to selected 1.114 (colored)
HANDLE_DEFERRED_FPU has to be donne with interrupt disabled; move it before STIC. Fix fpudna panic on i386 PV
Revision 1.182 / (download) - annotate - [select for diffs], Sat May 2 16:44:35 2020 UTC (3 years, 10 months ago) by bouyer
Branch: MAIN
Changes since 1.181: +111 -29
lines
Diff to previous 1.181 (colored) to selected 1.114 (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.181 / (download) - annotate - [select for diffs], Thu Apr 30 17:17:33 2020 UTC (3 years, 10 months ago) by maxv
Branch: MAIN
Changes since 1.180: +23 -2
lines
Diff to previous 1.180 (colored) to selected 1.114 (colored)
Switch to templates.
Revision 1.180 / (download) - annotate - [select for diffs], Sat Apr 25 15:26:17 2020 UTC (3 years, 10 months ago) by bouyer
Branch: MAIN
Changes since 1.179: +10 -8
lines
Diff to previous 1.179 (colored) to selected 1.114 (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.179 / (download) - annotate - [select for diffs], Fri Mar 27 21:05:03 2020 UTC (3 years, 11 months ago) by ad
Branch: MAIN
CVS Tags: phil-wifi-20200421,
phil-wifi-20200411,
phil-wifi-20200406,
bouyer-xenpvh-base2,
bouyer-xenpvh-base1,
bouyer-xenpvh-base
Branch point for: bouyer-xenpvh
Changes since 1.178: +2 -17
lines
Diff to previous 1.178 (colored) to selected 1.114 (colored)
PR kern/55114: Install fails with "cpu_switchto: switching above IPL_SCHED (8)" cpu_switch(): Remove stuff dealing with interrupt levels. From memory it was something to do with TLB shootdown interrupts but they have long been outside the SPL framework.
Revision 1.178 / (download) - annotate - [select for diffs], Mon Feb 10 22:13:50 2020 UTC (4 years, 1 month ago) by skrll
Branch: MAIN
CVS Tags: is-mlppp-base,
is-mlppp,
ad-namecache-base3
Changes since 1.177: +4 -4
lines
Diff to previous 1.177 (colored) to selected 1.114 (colored)
Fix a comment
Revision 1.177 / (download) - annotate - [select for diffs], Wed Jan 15 18:47:23 2020 UTC (4 years, 2 months ago) by ad
Branch: MAIN
CVS Tags: ad-namecache-base2,
ad-namecache-base1
Changes since 1.176: +2 -6
lines
Diff to previous 1.176 (colored) to selected 1.114 (colored)
Back out the cpu_switchto() workaround now that it's no longer needed.
Revision 1.176 / (download) - annotate - [select for diffs], Mon Jan 13 12:03:41 2020 UTC (4 years, 2 months ago) by ad
Branch: MAIN
Changes since 1.175: +6 -2
lines
Diff to previous 1.175 (colored) to selected 1.114 (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.175 / (download) - annotate - [select for diffs], Wed Jan 8 17:38:41 2020 UTC (4 years, 2 months ago) by ad
Branch: MAIN
Changes since 1.174: +2 -6
lines
Diff to previous 1.174 (colored) to selected 1.114 (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.174 / (download) - annotate - [select for diffs], Thu Nov 21 19:27:54 2019 UTC (4 years, 3 months ago) by ad
Branch: MAIN
CVS Tags: ad-namecache-base
Branch point for: ad-namecache
Changes since 1.173: +3 -3
lines
Diff to previous 1.173 (colored) to selected 1.114 (colored)
x86: abort pageidlezero unconditionally if there is something to run.
Revision 1.173 / (download) - annotate - [select for diffs], Fri Oct 18 01:38:28 2019 UTC (4 years, 5 months ago) by manu
Branch: MAIN
CVS Tags: phil-wifi-20191119
Changes since 1.172: +227 -6
lines
Diff to previous 1.172 (colored) to selected 1.114 (colored)
Multiboot2 kernel support for i386 That implementation works either with BIOS or UEFI bootstrap This requires the following kernel changes: Add UEFI boot services and I/O method protoypes src/sys/arch/x86/include/efi.h 1.8 - 1.9 Fix EFI system table mapping in virtual space src/sys/arch/x86/x86/efi.c 1.19 - 1.20 Make sure no bioscall is issued when booting off UEFI system src/sys/arch/i386/i386/machdep.c 1.821 - 1.822 src/sys/arch/i386/pci/piixpcib.c 1.22 - 1.23 And the following bootstrap changes: Add kernel symbols for multiboot1 src/sys/arch/i386/stand/lib/exec_multiboot1.c 1.2 - 1.3 src/sys/arch/i386/stand/lib/libi386.h 1.45 - 1.47 Fix kernel symbols for multiboot2 src/sys/arch/i386/stand/lib/exec_multiboot2.c 1.2 - 1.3
Revision 1.172 / (download) - annotate - [select for diffs], Sat Oct 12 06:31:03 2019 UTC (4 years, 5 months ago) by maxv
Branch: MAIN
Changes since 1.171: +6 -23
lines
Diff to previous 1.171 (colored) to selected 1.114 (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.171 / (download) - annotate - [select for diffs], Fri Oct 4 15:28:00 2019 UTC (4 years, 5 months ago) by maxv
Branch: MAIN
Changes since 1.170: +13 -6
lines
Diff to previous 1.170 (colored) to selected 1.114 (colored)
Misc reordering, to clarify and reduce the diff against amd64.
Revision 1.170 / (download) - annotate - [select for diffs], Fri Oct 4 11:47:07 2019 UTC (4 years, 5 months ago) by maxv
Branch: MAIN
Changes since 1.169: +3 -3
lines
Diff to previous 1.169 (colored) to selected 1.114 (colored)
Rename fpu_eagerswitch to fpu_switch, and add fpu_xstate_reload to simplify.
Revision 1.169 / (download) - annotate - [select for diffs], Thu Oct 3 05:06:29 2019 UTC (4 years, 5 months ago) by maxv
Branch: MAIN
Changes since 1.168: +3 -6
lines
Diff to previous 1.168 (colored) to selected 1.114 (colored)
Remove the LazyFPU code, as posted 5 months ago on port-amd64@.
Revision 1.168 / (download) - annotate - [select for diffs], Sun May 19 08:17:02 2019 UTC (4 years, 10 months 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,
netbsd-9
Changes since 1.167: +4 -4
lines
Diff to previous 1.167 (colored) to selected 1.114 (colored)
Misc changes in the x86 FPU code. Reduces a future diff. No real functional change.
Revision 1.167 / (download) - annotate - [select for diffs], Wed May 15 18:27:51 2019 UTC (4 years, 10 months ago) by maxv
Branch: MAIN
Changes since 1.166: +2 -4
lines
Diff to previous 1.166 (colored) to selected 1.114 (colored)
Enable EagerFPU on Xen PV. Should work as-is. Sent on port-amd64@.
Revision 1.166 / (download) - annotate - [select for diffs], Sat Mar 9 08:42:25 2019 UTC (5 years ago) by maxv
Branch: MAIN
CVS Tags: isaki-audio2-base,
isaki-audio2
Changes since 1.165: +16 -16
lines
Diff to previous 1.165 (colored) to selected 1.114 (colored)
Start replacing the x86 PTE bits.
Revision 1.165 / (download) - annotate - [select for diffs], Thu Mar 7 13:26:24 2019 UTC (5 years ago) by maxv
Branch: MAIN
Changes since 1.164: +4 -4
lines
Diff to previous 1.164 (colored) to selected 1.114 (colored)
Drop PG_RO, PG_KR and PG_PROT, they are useless and create confusion.
Revision 1.164 / (download) - annotate - [select for diffs], Wed Feb 13 05:36:59 2019 UTC (5 years, 1 month ago) by cherry
Branch: MAIN
Changes since 1.163: +22 -5
lines
Diff to previous 1.163 (colored) to selected 1.114 (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.163 / (download) - annotate - [select for diffs], Mon Feb 11 14:59:32 2019 UTC (5 years, 1 month ago) by cherry
Branch: MAIN
Changes since 1.162: +22 -20
lines
Diff to previous 1.162 (colored) to selected 1.114 (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.162 / (download) - annotate - [select for diffs], Wed Dec 26 06:37:31 2018 UTC (5 years, 2 months ago) by cherry
Branch: MAIN
CVS Tags: pgoyette-compat-20190127,
pgoyette-compat-20190118
Changes since 1.161: +6 -6
lines
Diff to previous 1.161 (colored) to selected 1.114 (colored)
Missed a file during previous commit completing transition to separate handler queues for i386. This should fix the build (hopefully!) Thanks to Robert Elz for pointing it out.
Revision 1.161 / (download) - annotate - [select for diffs], Wed Aug 1 13:35:01 2018 UTC (5 years, 7 months ago) by maxv
Branch: MAIN
CVS Tags: pgoyette-compat-1226,
pgoyette-compat-1126,
pgoyette-compat-1020,
pgoyette-compat-0930,
pgoyette-compat-0906
Changes since 1.160: +2 -6
lines
Diff to previous 1.160 (colored) to selected 1.114 (colored)
Xen is PAE, so remove ifdefs.
Revision 1.160 / (download) - annotate - [select for diffs], Thu Jul 26 09:29:08 2018 UTC (5 years, 7 months ago) by maxv
Branch: MAIN
CVS Tags: pgoyette-compat-0728
Changes since 1.159: +8 -2
lines
Diff to previous 1.159 (colored) to selected 1.114 (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.159 / (download) - annotate - [select for diffs], Sat Jul 14 14:29:40 2018 UTC (5 years, 8 months ago) by maxv
Branch: MAIN
Changes since 1.158: +6 -6
lines
Diff to previous 1.158 (colored) to selected 1.114 (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.158 / (download) - annotate - [select for diffs], Fri Jun 29 19:21:43 2018 UTC (5 years, 8 months ago) by maxv
Branch: MAIN
Changes since 1.157: +15 -15
lines
Diff to previous 1.157 (colored) to selected 1.114 (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 / (download) - annotate - [select for diffs], Thu Jun 14 17:58:22 2018 UTC (5 years, 9 months ago) by maxv
Branch: MAIN
CVS Tags: phil-wifi-base,
pgoyette-compat-0625
Branch point for: phil-wifi
Changes since 1.156: +15 -2
lines
Diff to previous 1.156 (colored) to selected 1.114 (colored)
Eager FPU on i386.
Revision 1.156 / (download) - annotate - [select for diffs], Thu Jan 4 14:02:23 2018 UTC (6 years, 2 months ago) by maxv
Branch: MAIN
CVS Tags: pgoyette-compat-base,
pgoyette-compat-0521,
pgoyette-compat-0502,
pgoyette-compat-0422,
pgoyette-compat-0415,
pgoyette-compat-0407,
pgoyette-compat-0330,
pgoyette-compat-0322,
pgoyette-compat-0315
Branch point for: pgoyette-compat
Changes since 1.155: +3 -3
lines
Diff to previous 1.155 (colored) to selected 1.114 (colored)
Declare IOMAP_VALIDOFF, not to use ci_tss pointers.
Revision 1.155 / (download) - annotate - [select for diffs], Thu Jan 4 13:36:30 2018 UTC (6 years, 2 months ago) by maxv
Branch: MAIN
Changes since 1.154: +10 -7
lines
Diff to previous 1.154 (colored) to selected 1.114 (colored)
Allocate the TSS area dynamically. This way cpu_info and cpu_tss can be put in separate pages.
Revision 1.154 / (download) - annotate - [select for diffs], Mon Oct 2 17:48:01 2017 UTC (6 years, 5 months ago) by bouyer
Branch: MAIN
CVS Tags: tls-maxphys-base-20171202
Changes since 1.153: +3 -2
lines
Diff to previous 1.153 (colored) to selected 1.114 (colored)
Fix (once again) Xen boot
Revision 1.153 / (download) - annotate - [select for diffs], Sat Sep 30 11:43:57 2017 UTC (6 years, 5 months ago) by maxv
Branch: MAIN
Changes since 1.152: +3 -2
lines
Diff to previous 1.152 (colored) to selected 1.114 (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.152 / (download) - annotate - [select for diffs], Sun Sep 17 09:59:23 2017 UTC (6 years, 6 months ago) by maxv
Branch: MAIN
Changes since 1.151: +19 -2
lines
Diff to previous 1.151 (colored) to selected 1.114 (colored)
Declare INTRFASTEXIT as a function, like amd64; will be expanded soon.
Revision 1.151 / (download) - annotate - [select for diffs], Sat Aug 12 07:21:57 2017 UTC (6 years, 7 months ago) by maxv
Branch: MAIN
CVS Tags: nick-nhusb-base-20170825
Changes since 1.150: +2 -3
lines
Diff to previous 1.150 (colored) to selected 1.114 (colored)
Remove vm86. Pass 3.
Revision 1.150 / (download) - annotate - [select for diffs], Thu Aug 10 14:13:45 2017 UTC (6 years, 7 months ago) by maxv
Branch: MAIN
Changes since 1.149: +8 -6
lines
Diff to previous 1.149 (colored) to selected 1.114 (colored)
Switch to the temporary stack right away when booted via multiboot. GRUB happens to give a correct stack, but it is not guaranteed by the spec. This temporary stack will be reset later, which is fine. Fixes PR/50245.
Revision 1.149 / (download) - annotate - [select for diffs], Sat Jul 29 12:34:34 2017 UTC (6 years, 7 months ago) by maxv
Branch: MAIN
Changes since 1.148: +2 -20
lines
Diff to previous 1.148 (colored) to selected 1.114 (colored)
Remove undocumented hack.
Revision 1.148 / (download) - annotate - [select for diffs], Sat Jul 29 11:54:14 2017 UTC (6 years, 7 months ago) by maxv
Branch: MAIN
Changes since 1.147: +2 -35
lines
Diff to previous 1.147 (colored) to selected 1.114 (colored)
Drop support for svr4 on i386. This feature is not maintained, not reliable, and of a limited use case. Most svr4 applications got time to be ported to linux, and we do have a functional, maintained linux emulation. Reduces the number of entry points into the kernel, the number of places that need special care (cpu context). Note that compat_svr4 is still available on sparc.
Revision 1.147 / (download) - annotate - [select for diffs], Sat Jul 29 06:29:31 2017 UTC (6 years, 7 months ago) by maxv
Branch: MAIN
Changes since 1.146: +2 -3
lines
Diff to previous 1.146 (colored) to selected 1.114 (colored)
Remove the remaining parts of compat_oldboot.
Revision 1.146 / (download) - annotate - [select for diffs], Sat Jul 1 10:44:42 2017 UTC (6 years, 8 months ago) by maxv
Branch: MAIN
CVS Tags: perseant-stdc-iso10646-base,
perseant-stdc-iso10646
Changes since 1.145: +2 -20
lines
Diff to previous 1.145 (colored) to selected 1.114 (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.145 / (download) - annotate - [select for diffs], Thu Feb 2 19:12:09 2017 UTC (7 years, 1 month ago) by maxv
Branch: MAIN
CVS Tags: prg-localcount2-base3,
prg-localcount2-base2,
prg-localcount2-base1,
prg-localcount2-base,
prg-localcount2,
pgoyette-localcount-20170426,
pgoyette-localcount-20170320,
nick-nhusb-base-20170204,
netbsd-8-base,
jdolecek-ncq-base,
jdolecek-ncq,
bouyer-socketcan-base1
Branch point for: netbsd-8
Changes since 1.144: +3 -3
lines
Diff to previous 1.144 (colored) to selected 1.114 (colored)
Fix these comments, we probably won't want to keep them up to date.
Revision 1.144 / (download) - annotate - [select for diffs], Fri Jan 6 08:36:56 2017 UTC (7 years, 2 months ago) by maxv
Branch: MAIN
CVS Tags: pgoyette-localcount-20170107,
bouyer-socketcan-base
Branch point for: bouyer-socketcan
Changes since 1.143: +5 -4
lines
Diff to previous 1.143 (colored) to selected 1.114 (colored)
Explain the computation
Revision 1.143 / (download) - annotate - [select for diffs], Fri Dec 16 19:52:22 2016 UTC (7 years, 3 months ago) by maxv
Branch: MAIN
Changes since 1.142: +4 -4
lines
Diff to previous 1.142 (colored) to selected 1.114 (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.142 / (download) - annotate - [select for diffs], Tue Dec 6 15:05:07 2016 UTC (7 years, 3 months ago) by maxv
Branch: MAIN
Changes since 1.141: +3 -3
lines
Diff to previous 1.141 (colored) to selected 1.114 (colored)
Use __kernel_end instead. Does not change anything, but will be meaningful soon.
Revision 1.141 / (download) - annotate - [select for diffs], Fri Nov 25 14:12:55 2016 UTC (7 years, 3 months ago) by maxv
Branch: MAIN
CVS Tags: nick-nhusb-base-20161204
Changes since 1.140: +2 -12
lines
Diff to previous 1.140 (colored) to selected 1.114 (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.140 / (download) - annotate - [select for diffs], Fri Nov 11 11:34:51 2016 UTC (7 years, 4 months ago) by maxv
Branch: MAIN
Changes since 1.139: +2 -2
lines
Diff to previous 1.139 (colored) to selected 1.114 (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.139 / (download) - annotate - [select for diffs], Fri Nov 11 11:00:38 2016 UTC (7 years, 4 months ago) by maxv
Branch: MAIN
Changes since 1.138: +26 -21
lines
Diff to previous 1.138 (colored) to selected 1.114 (colored)
KNF and simplify Xen, and reduce the diff with amd64 a little
Revision 1.138 / (download) - annotate - [select for diffs], Sun Oct 16 10:51:31 2016 UTC (7 years, 5 months ago) by maxv
Branch: MAIN
CVS Tags: pgoyette-localcount-20161104
Changes since 1.137: +3 -14
lines
Diff to previous 1.137 (colored) to selected 1.114 (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.137 / (download) - annotate - [select for diffs], Mon Jul 25 16:03:38 2016 UTC (7 years, 7 months ago) by maxv
Branch: MAIN
CVS Tags: pgoyette-localcount-20160806,
pgoyette-localcount-20160726,
nick-nhusb-base-20161004,
localcount-20160914
Changes since 1.136: +2 -16
lines
Diff to previous 1.136 (colored) to selected 1.114 (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.136 / (download) - annotate - [select for diffs], Mon Jul 25 15:18:41 2016 UTC (7 years, 7 months ago) by maxv
Branch: MAIN
Changes since 1.135: +2 -6
lines
Diff to previous 1.135 (colored) to selected 1.114 (colored)
This needs to be page-aligned anyway.
Revision 1.135 / (download) - annotate - [select for diffs], Sat Jul 9 06:58:06 2016 UTC (7 years, 8 months ago) by maxv
Branch: MAIN
CVS Tags: pgoyette-localcount-base,
nick-nhusb-base-20160907
Branch point for: pgoyette-localcount
Changes since 1.134: +4 -4
lines
Diff to previous 1.134 (colored) to selected 1.114 (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.134 / (download) - annotate - [select for diffs], Fri Jul 8 09:15:38 2016 UTC (7 years, 8 months ago) by maxv
Branch: MAIN
Changes since 1.133: +4 -4
lines
Diff to previous 1.133 (colored) to selected 1.114 (colored)
The preloaded modules are now reallocated dynamically by the kernel. This area does not need to be executable anymore.
Revision 1.133 / (download) - annotate - [select for diffs], Mon Jul 4 07:56:07 2016 UTC (7 years, 8 months ago) by maxv
Branch: MAIN
Changes since 1.132: +15 -16
lines
Diff to previous 1.132 (colored) to selected 1.114 (colored)
Make the execution flow canonical instead of jumping back and forth, and complete the userland check.
Revision 1.132 / (download) - annotate - [select for diffs], Fri Jul 1 13:11:21 2016 UTC (7 years, 8 months ago) by maxv
Branch: MAIN
Changes since 1.131: +27 -23
lines
Diff to previous 1.131 (colored) to selected 1.114 (colored)
Try to make this part more readable. No functional change.
Revision 1.131 / (download) - annotate - [select for diffs], Sat Jun 4 10:48:11 2016 UTC (7 years, 9 months ago) by maxv
Branch: MAIN
Changes since 1.130: +2 -2
lines
Diff to previous 1.130 (colored) to selected 1.114 (colored)
The ISA I/O MEM does not need to be executable. Remove the X permission on it.
Revision 1.130 / (download) - annotate - [select for diffs], Sat Jun 4 10:19:09 2016 UTC (7 years, 9 months ago) by maxv
Branch: MAIN
Changes since 1.129: +8 -6
lines
Diff to previous 1.129 (colored) to selected 1.114 (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.129 / (download) - annotate - [select for diffs], Sat Jun 4 10:02:12 2016 UTC (7 years, 9 months ago) by maxv
Branch: MAIN
Changes since 1.128: +18 -7
lines
Diff to previous 1.128 (colored) to selected 1.114 (colored)
Define and use fillkpt_blank on i386, like amd64. The PAE case is included in fillkpt_blank, since PDE_SIZE is either 4 or 8 bytes.
Revision 1.128 / (download) - annotate - [select for diffs], Sat Jun 4 09:52:41 2016 UTC (7 years, 9 months ago) by maxv
Branch: MAIN
Changes since 1.127: +1 -3
lines
Diff to previous 1.127 (colored) to selected 1.114 (colored)
Initialize cpuid_level at compile-time, not run-time. Same as amd64.
Revision 1.127 / (download) - annotate - [select for diffs], Sat Jun 4 09:45:57 2016 UTC (7 years, 9 months ago) by maxv
Branch: MAIN
Changes since 1.126: +49 -45
lines
Diff to previous 1.126 (colored) to selected 1.114 (colored)
Reorder some definitions. Reduces the diff between amd64 and i386.
Revision 1.126 / (download) - annotate - [select for diffs], Sun May 29 09:16:12 2016 UTC (7 years, 9 months ago) by maxv
Branch: MAIN
Changes since 1.125: +4 -3
lines
Diff to previous 1.125 (colored) to selected 1.114 (colored)
Define tablesize. Useful when debugging.
Revision 1.125 / (download) - annotate - [select for diffs], Thu May 26 07:24:55 2016 UTC (7 years, 9 months ago) by maxv
Branch: MAIN
CVS Tags: nick-nhusb-base-20160529
Changes since 1.124: +10 -4
lines
Diff to previous 1.124 (colored) to selected 1.114 (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.124 / (download) - annotate - [select for diffs], Sun May 15 07:17:53 2016 UTC (7 years, 10 months ago) by maxv
Branch: MAIN
Changes since 1.123: +9 -10
lines
Diff to previous 1.123 (colored) to selected 1.114 (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.123 / (download) - annotate - [select for diffs], Sun May 15 07:01:36 2016 UTC (7 years, 10 months ago) by maxv
Branch: MAIN
Changes since 1.122: +6 -4
lines
Diff to previous 1.122 (colored) to selected 1.114 (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.122 / (download) - annotate - [select for diffs], Sat May 14 09:51:56 2016 UTC (7 years, 10 months ago) by maxv
Branch: MAIN
Changes since 1.121: +12 -12
lines
Diff to previous 1.121 (colored) to selected 1.114 (colored)
Actually, put the NOX identification above. Old CPUs do not support the cpuid instruction.
Revision 1.121 / (download) - annotate - [select for diffs], Sat May 14 08:49:16 2016 UTC (7 years, 10 months ago) by maxv
Branch: MAIN
Changes since 1.120: +31 -11
lines
Diff to previous 1.120 (colored) to selected 1.114 (colored)
Map rodata and data+bss independently, and give them R and RW with fillkpt_nox. The code is exactly the same as amd64's.
Revision 1.120 / (download) - annotate - [select for diffs], Sat May 14 08:39:41 2016 UTC (7 years, 10 months ago) by maxv
Branch: MAIN
Changes since 1.119: +13 -0
lines
Diff to previous 1.119 (colored) to selected 1.114 (colored)
Define fillkpt_nox on i386, same as amd64. But there is a difference in the way it is done here. If PAE is not enabled, PDE_SIZE = 4, so there is no NOX bit set. If PAE is enabled, PDE_SIZE = 8, so the NOX bit is set. This works exactly as intended, since NOX does not exist in the non-PAE case.
Revision 1.119 / (download) - annotate - [select for diffs], Sat May 14 08:34:00 2016 UTC (7 years, 10 months ago) by maxv
Branch: MAIN
Changes since 1.118: +34 -3
lines
Diff to previous 1.118 (colored) to selected 1.114 (colored)
Fix the secondary CPUs bug in i386. Same as amd64.
Revision 1.118 / (download) - annotate - [select for diffs], Sat May 14 06:49:34 2016 UTC (7 years, 10 months ago) by maxv
Branch: MAIN
Changes since 1.117: +15 -7
lines
Diff to previous 1.117 (colored) to selected 1.114 (colored)
Define killkpt, and don't use _RELOC. Same as amd64.
Revision 1.117 / (download) - annotate - [select for diffs], Fri May 13 14:03:00 2016 UTC (7 years, 10 months ago) by maxv
Branch: MAIN
Changes since 1.116: +73 -49
lines
Diff to previous 1.116 (colored) to selected 1.114 (colored)
Bring some amd64 swag. No functional changes.
Revision 1.116 / (download) - annotate - [select for diffs], Thu May 12 06:45:16 2016 UTC (7 years, 10 months ago) by maxv
Branch: MAIN
Changes since 1.115: +4 -4
lines
Diff to previous 1.115 (colored) to selected 1.114 (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.115 / (download) - annotate - [select for diffs], Wed May 11 17:48:05 2016 UTC (7 years, 10 months ago) by maxv
Branch: MAIN
Changes since 1.114: +140 -135
lines
Diff to previous 1.114 (colored)
Switch to C-style comments, and reduce a little the diff between i386 and amd64. No functional changes.
Revision 1.114 / (download) - annotate - [selected], Sun Aug 30 01:46:03 2015 UTC (8 years, 6 months ago) by uebayasi
Branch: MAIN
CVS Tags: nick-nhusb-base-20160422,
nick-nhusb-base-20160319,
nick-nhusb-base-20151226,
nick-nhusb-base-20150921
Changes since 1.113: +5 -4
lines
Diff to previous 1.113 (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.113 / (download) - annotate - [select for diffs], Sun Aug 17 21:17:43 2014 UTC (9 years, 7 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.112: +4 -4
lines
Diff to previous 1.112 (colored) to selected 1.114 (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.112 / (download) - annotate - [select for diffs], Thu Feb 20 18:19:10 2014 UTC (10 years ago) by dsl
Branch: MAIN
CVS Tags: yamt-pagecache-base9,
tls-maxphys-base,
tls-earlyentropy-base,
tls-earlyentropy,
rmind-smpnet-nbase,
rmind-smpnet-base,
riastradh-xf86-video-intel-2-7-1-pre-2-21-15,
riastradh-drm2-base3,
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.111: +5 -5
lines
Diff to previous 1.111 (colored) to selected 1.114 (colored)
Move the amd64 and i386 pcb to the bottom of the uarea, and move the kernel stack to the top. Change the pcb layouts so that fpu save area is at the end and is 64byte aligned ready for xsave (saving the ymm registers). Welcome to 6.99.32
Revision 1.111 / (download) - annotate - [select for diffs], Sun Feb 2 22:41:20 2014 UTC (10 years, 1 month ago) by dsl
Branch: MAIN
Changes since 1.110: +4 -4
lines
Diff to previous 1.110 (colored) to selected 1.114 (colored)
Minor fpu initialisation cleanups: Set default CR) so that the FPU is enabled (unset CR0_EM) and initialise i386_fpu_present to 1. No need to call the npx trap indirectly, rename to fpunda() to match amd64. Remove the i386_fpu_exception variable and sysctl (It used to indicate which irq was used for fpu exceptions, but we only support 'internal' now). Hopefully no one cares. fpuinit() now only needs to clear TS before the fninit(). Apart from the checks for 486SX and the 'fdiv bug' this matches the amd64 version. Exclude fpuinit() from XEN kernels, they don't call it - which rather begs the question as to whether it is needed at all!
Revision 1.110 / (download) - annotate - [select for diffs], Sun Jan 26 19:16:17 2014 UTC (10 years, 1 month ago) by dsl
Branch: MAIN
Changes since 1.109: +4 -37
lines
Diff to previous 1.109 (colored) to selected 1.114 (colored)
Remove support for 'external' floating point units and the MS-DOS compatible method of handling floating point exceptions. Make kernel support for teh fpu non-optional (486SX should still work). Only 386 cpus support external fpu, and i386 support was removed years ago. This means that the npx code no longer uses port 0xf0 or interupt 13. All the "npx at isa" lines go from the configs, arch/i386/isa/npx.c is now mandatory for all i386 kernels. I've renamed npxinit() to fpuinit() and npxinit_cpu() to fpuinit_cpu() to match the very similar amd64 functions. The fpu of the boot cpu is now initialised by a direct call from cpu_configure(), this enables FP emulation for a 486SX. (for amd64 the cr0 values are set in locore.S and similar). This fixes a long-standing bug in linux_setregs() - which did not save the fpu regsiters if they were active. I've test booted a single cpu i386 kernel (using anita). amd64 builds - none of teh changes should affect it. The i386 XEN kernels build, but I'm not sure where they set cr0, and it might have got lost!
Revision 1.109 / (download) - annotate - [select for diffs], Sat Jan 11 17:05:17 2014 UTC (10 years, 2 months ago) by christos
Branch: MAIN
Changes since 1.108: +5 -4
lines
Diff to previous 1.108 (colored) to selected 1.114 (colored)
fix a comment (cpu_switch() -> cpu_switchto()) (Richard Hansen)
Revision 1.108 / (download) - annotate - [select for diffs], Sun Dec 1 01:05:16 2013 UTC (10 years, 3 months ago) by christos
Branch: MAIN
Changes since 1.107: +11 -2
lines
Diff to previous 1.107 (colored) to selected 1.114 (colored)
revert fpu/pcu changes until we figure out what's wrong; they cause random freezes
Revision 1.107 / (download) - annotate - [select for diffs], Wed Oct 23 20:18:50 2013 UTC (10 years, 4 months ago) by drochner
Branch: MAIN
Changes since 1.106: +4 -13
lines
Diff to previous 1.106 (colored) to selected 1.114 (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.106 / (download) - annotate - [select for diffs], Sun Jun 23 09:00:36 2013 UTC (10 years, 8 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.105: +19 -19
lines
Diff to previous 1.105 (colored) to selected 1.114 (colored)
Whitespace, comment, NBPG -> PAGE_SIZE.
Revision 1.105 / (download) - annotate - [select for diffs], Sun Jun 23 03:16:46 2013 UTC (10 years, 8 months ago) by uebayasi
Branch: MAIN
Changes since 1.104: +43 -43
lines
Diff to previous 1.104 (colored) to selected 1.114 (colored)
Whitespace.
Revision 1.104 / (download) - annotate - [select for diffs], Sat Jun 22 15:13:55 2013 UTC (10 years, 8 months ago) by uebayasi
Branch: MAIN
Changes since 1.103: +52 -27
lines
Diff to previous 1.103 (colored) to selected 1.114 (colored)
Use END() markers, etc. Pure ELF .symtab (size) changes.
Revision 1.103 / (download) - annotate - [select for diffs], Fri Oct 26 14:46:44 2012 UTC (11 years, 4 months ago) by chs
Branch: MAIN
CVS Tags: yamt-pagecache-base8,
yamt-pagecache-base7,
yamt-pagecache-base6,
khorben-n900,
agc-symver-base,
agc-symver
Changes since 1.102: +3 -3
lines
Diff to previous 1.102 (colored) to selected 1.114 (colored)
in osyscall, set the PSL_I bit into the correct field of the trapframe. it was going into tf_eip instead of tf_eflags, which would sometimes corrupt %eip and always return to user mode with interrupts disabled. this was found with a netbsd 1.0 binary, and dsl@ points out that this should also fix PR 41342.
Revision 1.102 / (download) - annotate - [select for diffs], Sat Sep 1 23:19:46 2012 UTC (11 years, 6 months ago) by cherry
Branch: MAIN
Branch point for: tls-maxphys
Changes since 1.101: +3 -3
lines
Diff to previous 1.101 (colored) to selected 1.114 (colored)
Restrict export of the tmpgdt symbol to XEN kernels Spotted by uwe@
Revision 1.101 / (download) - annotate - [select for diffs], Wed Jun 27 00:37:08 2012 UTC (11 years, 8 months ago) by jym
Branch: MAIN
Changes since 1.100: +4 -11
lines
Diff to previous 1.100 (colored) to selected 1.114 (colored)
Retire XEN_COMPAT_030001 as detailed on port-xen@: http://mail-index.netbsd.org/port-xen/2012/06/25/msg007431.html The xen_p2m API comes next. ok bouyer@. Tested on i386 PAE and amd64 (Xen 3.3 on private test bed, and Xen 3.4 for Amazon EC2). FWIW, Amazon always reported: hypervisor0 at mainbus0: Xen version 3.4.3-kaos_t1micro multiple times for Europe and US West-1, so I guess they are now at 3.4 (32 and 64 bits).
Revision 1.100 / (download) - annotate - [select for diffs], Sat Jun 16 17:30:19 2012 UTC (11 years, 9 months ago) by chs
Branch: MAIN
Changes since 1.99: +9 -9
lines
Diff to previous 1.99 (colored) to selected 1.114 (colored)
rename the global variable "cpu" to "cputype" to avoid conflicting with dtrace, which wants to use "cpu" as a local variable.
Revision 1.99 / (download) - annotate - [select for diffs], Thu Apr 19 18:07:05 2012 UTC (11 years, 11 months ago) by jym
Branch: MAIN
CVS Tags: yamt-pagecache-base5,
jmcneill-usbmp-base9,
jmcneill-usbmp-base10
Changes since 1.98: +3 -3
lines
Diff to previous 1.98 (colored) to selected 1.114 (colored)
Mirror what is done for amd64 boot and ACPI wakeup code by setting CR0_WP (write protection bit) early on boot. Although it is set later via cpu_init(), this can help tracking down invalid writes to pages mapped as read only from ring 0. No regression observed when booting under anita (QEMU) or a P4 host. Depending on your hardware or setup, you may trigger code paths I have overlooked. So if your machine does not start properly, or you get page faults early during boot, please report them to me.
Revision 1.98 / (download) - annotate - [select for diffs], Thu Apr 19 18:00:35 2012 UTC (11 years, 11 months ago) by jym
Branch: MAIN
Changes since 1.97: +3 -3
lines
Diff to previous 1.97 (colored) to selected 1.114 (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.97 / (download) - annotate - [select for diffs], Fri Mar 2 16:43:31 2012 UTC (12 years ago) by bouyer
Branch: MAIN
CVS Tags: yamt-pagecache-base4,
jmcneill-usbmp-base8,
jmcneill-usbmp-base7,
jmcneill-usbmp-base6,
jmcneill-usbmp-base4
Changes since 1.96: +12 -6
lines
Diff to previous 1.96 (colored) to selected 1.114 (colored)
Follow locore.S and move FPU handling from x86_64_switch_context() to x86_64_tls_switch(); raise IPL to IPL_HIGH in x86_64_switch_context() and test ci_fpcurlwp to decide to disable FPU or not. Change the Xen i386 context switch code to be like the amd64 one.
Revision 1.96 / (download) - annotate - [select for diffs], Fri Feb 24 08:06:07 2012 UTC (12 years ago) by cherry
Branch: MAIN
CVS Tags: jmcneill-usbmp-base5
Changes since 1.95: +17 -3
lines
Diff to previous 1.95 (colored) to selected 1.114 (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.95 / (download) - annotate - [select for diffs], Fri Mar 18 15:18:16 2011 UTC (13 years ago) by joerg
Branch: MAIN
CVS Tags: yamt-pagecache-base3,
yamt-pagecache-base2,
yamt-pagecache-base,
rmind-uvmplock-nbase,
rmind-uvmplock-base,
netbsd-6-base,
jym-xensuspend-nbase,
jym-xensuspend-base,
jmcneill-usbmp-pre-base2,
jmcneill-usbmp-base3,
jmcneill-usbmp-base2,
jmcneill-usbmp-base,
jmcneill-audiomp3-base,
jmcneill-audiomp3,
cherry-xenmp-base,
cherry-xenmp
Branch point for: yamt-pagecache,
netbsd-6,
jmcneill-usbmp
Changes since 1.94: +3 -3
lines
Diff to previous 1.94 (colored) to selected 1.114 (colored)
Remove static branch prediction hints. They pessimize code for all CPUs but Pentium IV. Discussed with ad@ and dsl@
Revision 1.94 / (download) - annotate - [select for diffs], Mon Dec 20 00:25:35 2010 UTC (13 years, 3 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.93: +4 -3
lines
Diff to previous 1.93 (colored) to selected 1.114 (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.93 / (download) - annotate - [select for diffs], Sat Jul 24 00:45:54 2010 UTC (13 years, 7 months ago) by jym
Branch: MAIN
CVS Tags: yamt-nfs-mp-base11,
yamt-nfs-mp-base10,
uebayasi-xip-base6,
uebayasi-xip-base5,
uebayasi-xip-base4,
uebayasi-xip-base3,
uebayasi-xip-base2
Changes since 1.92: +74 -32
lines
Diff to previous 1.92 (colored) to selected 1.114 (colored)
Welcome PAE inside i386 current. This patch is inspired by work previously done by Jeremy Morse, ported by me to -current, merged with the work previously done for port-xen, together with additionals fixes and improvements. PAE option is disabled by default in GENERIC (but will be enabled in ALL in the next few days). In quick, PAE switches the CPU to a mode where physical addresses become 36 bits (64 GiB). Virtual address space remains at 32 bits (4 GiB). To cope with the increased size of the physical address, they are manipulated as 64 bits variables by kernel and MMU. When supported by the CPU, it also allows the use of the NX/XD bit that provides no-execution right enforcement on a per physical page basis. Notes: - reworked locore.S - introduce cpu_load_pmap(), used to switch pmap for the curcpu. Due to the different handling of pmap mappings with PAE vs !PAE, Xen vs native, details are hidden within this function. This helps calling it from assembly, as some features, like BIOS calls, switch to pmap_kernel before mapping trampoline code in low memory. - some changes in bioscall and kvm86_call, to reflect the above. - the L3 is "pinned" per-CPU, and is only manipulated by a reduced set of functions within pmap. To track the L3, I added two elements to struct cpu_info, namely ci_l3_pdirpa (PA of the L3), and ci_l3_pdir (the L3 VA). Rest of the code considers that it runs "just like" a normal i386, except that the L2 is 4 pages long (PTP_LEVELS is still 2). - similar to the ci_pae_l3_pdir{,pa} variables, amd64's xen_current_user_pgd becomes an element of cpu_info (slowly paving the way for MP world). - bootinfo_source struct declaration is modified, to cope with paddr_t size change with PAE (it is not correct to assume that bs_addr is a paddr_t when compiled with PAE - it should remain 32 bits). bs_addrs is now a void * array (in bootloader's code under i386/stand/, the bs_addrs is a physaddr_t, which is an unsigned long). - fixes in multiboot code (same reason as bootinfo): paddr_t size change. I used Elf32_* types, use RELOC() where necessary, and move the memcpy() functions out of the if/else if (I do not expect sym and str tables to overlap with ELF). - 64 bits atomic functions for pmap - all pmap_pdirpa access are now done through the pmap_pdirpa macro. It hides the L3/L2 stuff from PAE, as well as the pm_pdirpa change in struct pmap (it now becomes a PDP_SIZE array, with or without PAE). - manipulation of recursive mappings ( PDIR_SLOT_{,A}PTEs ) is done via loops on PDP_SIZE. See also http://mail-index.netbsd.org/port-i386/2010/07/17/msg002062.html No objection raised on port-i386@ and port-xen@R for about a week. XXX kvm(3) will be fixed in another patch to properly handle both PAE and !PAE kernel dumps (VA => PA macros are slightly different, and need proper 64 bits PA support in kvm_i386). XXX Mixing PAE and !PAE modules may lead to unwanted/unexpected results. This cannot be solved easily, and needs lots of thinking before being declared safe (paddr_t/bus_addr_t size handling, PD/PT macros abstractions).
Revision 1.92 / (download) - annotate - [select for diffs], Thu Jul 15 18:55:27 2010 UTC (13 years, 8 months ago) by jym
Branch: MAIN
Changes since 1.91: +8 -6
lines
Diff to previous 1.91 (colored) to selected 1.114 (colored)
In Xen PAE case, fix argument size passed to init386(), by pushing the upper bits onto stack (we do not expect first_avail to be above 4GiB, so assume their value is 0). Remove macros (PROC0PDIR and PROC0STACK) that were never used.
Revision 1.91 / (download) - annotate - [select for diffs], Fri Nov 27 03:23:10 2009 UTC (14 years, 3 months ago) by rmind
Branch: MAIN
CVS Tags: yamt-nfs-mp-base9,
uebayasi-xip-base1,
uebayasi-xip-base,
matt-premerge-20091211
Branch point for: uebayasi-xip,
rmind-uvmplock
Changes since 1.90: +8 -8
lines
Diff to previous 1.90 (colored) to selected 1.114 (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.90 / (download) - annotate - [select for diffs], Wed Nov 25 14:28:50 2009 UTC (14 years, 3 months ago) by rmind
Branch: MAIN
Changes since 1.89: +4 -4
lines
Diff to previous 1.89 (colored) to selected 1.114 (colored)
Remove IPL_LPT and IPL_IPI aliases, use the actual IPLs. Fix some broken comments.
Revision 1.89 / (download) - annotate - [select for diffs], Mon Oct 19 18:41:10 2009 UTC (14 years, 5 months ago) by bouyer
Branch: MAIN
Changes since 1.88: +2 -7
lines
Diff to previous 1.88 (colored) to selected 1.114 (colored)
Remove closes 3 & 4 from my licence. Lots of thanks to Soren Jacobsen for the booring work !
Revision 1.88 / (download) - annotate - [select for diffs], Wed Jul 29 12:02:05 2009 UTC (14 years, 7 months ago) by cegger
Branch: MAIN
CVS Tags: yamt-nfs-mp-base8,
yamt-nfs-mp-base7
Changes since 1.87: +4 -12
lines
Diff to previous 1.87 (colored) to selected 1.114 (colored)
remove Xen2 support. ok bouyer@
Revision 1.87 / (download) - annotate - [select for diffs], Mon May 4 11:47:29 2009 UTC (14 years, 10 months ago) by ad
Branch: MAIN
CVS Tags: yamt-nfs-mp-base6,
yamt-nfs-mp-base5,
yamt-nfs-mp-base4,
jymxensuspend-base
Changes since 1.86: +5 -2
lines
Diff to previous 1.86 (colored) to selected 1.114 (colored)
PR kern/41342: BSDi binaries cause panic XXX Manuel, please have a look as I am not sure what to do for XEN here!
Revision 1.86 / (download) - annotate - [select for diffs], Sat Mar 21 22:55:08 2009 UTC (15 years ago) by ad
Branch: MAIN
CVS Tags: yamt-nfs-mp-base3,
nick-hppapmap-base4,
nick-hppapmap-base3,
nick-hppapmap-base
Changes since 1.85: +3 -2
lines
Diff to previous 1.85 (colored) to selected 1.114 (colored)
Add 2 event counters: "x86", "io bitmap copy" "x86", "ldt sync"
Revision 1.85 / (download) - annotate - [select for diffs], Sat Mar 21 14:41:29 2009 UTC (15 years ago) by ad
Branch: MAIN
Changes since 1.84: +6 -2
lines
Diff to previous 1.84 (colored) to selected 1.114 (colored)
PR port-i386/40143 Viewing an mpeg transport stream with mplayer causes crash Fix numerous problems: 1. LDT updates are not atomic. 2. Number of processes running with private LDTs and/or I/O bitmaps is not capped. System with high maxprocs can be paniced. 3. LDTR can be leaked over context switch. 4. GDT slot allocations can race, giving the same LDT slot to two procs. 5. Incomplete interrupt/trap frames can be stacked. 6. In some rare cases segment faults are not handled correctly.
Revision 1.84 / (download) - annotate - [select for diffs], Sun Mar 8 16:03:31 2009 UTC (15 years ago) by ad
Branch: MAIN
Changes since 1.83: +8 -8
lines
Diff to previous 1.83 (colored) to selected 1.114 (colored)
printf -> panic so MP panics work correctly
Revision 1.83 / (download) - annotate - [select for diffs], Fri Feb 13 22:41:02 2009 UTC (15 years, 1 month ago) by apb
Branch: MAIN
CVS Tags: nick-hppapmap-base2
Changes since 1.82: +3 -2
lines
Diff to previous 1.82 (colored) to selected 1.114 (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.82 / (download) - annotate - [select for diffs], Wed Dec 3 11:40:17 2008 UTC (15 years, 3 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.81: +3 -3
lines
Diff to previous 1.81 (colored) to selected 1.114 (colored)
Don't abort pageidlezero unless a realtime thread wants to run.
Revision 1.81 / (download) - annotate - [select for diffs], Wed Nov 19 18:35:58 2008 UTC (15 years, 4 months ago) by ad
Branch: MAIN
Changes since 1.80: +34 -2
lines
Diff to previous 1.80 (colored) to selected 1.114 (colored)
Make the emulations, exec formats, coredump, NFS, and the NFS server into modules. By and large this commit: - shuffles header files and ifdefs - splits code out where necessary to be modular - adds module glue for each of the components - adds/replaces hooks for things that can be installed at runtime
Revision 1.80 / (download) - annotate - [select for diffs], Thu Nov 13 10:53:30 2008 UTC (15 years, 4 months ago) by ad
Branch: MAIN
Changes since 1.79: +4 -4
lines
Diff to previous 1.79 (colored) to selected 1.114 (colored)
LKM -> MODULAR
Revision 1.79 / (download) - annotate - [select for diffs], Tue Nov 11 14:40:18 2008 UTC (15 years, 4 months ago) by ad
Branch: MAIN
Changes since 1.78: +5 -6
lines
Diff to previous 1.78 (colored) to selected 1.114 (colored)
PR port-amd64/38293 panic: fp_save ipi didn't Fix race conditions in FPU IPI handling.
Revision 1.78 / (download) - annotate - [select for diffs], Sun Oct 19 14:12:28 2008 UTC (15 years, 5 months ago) by joerg
Branch: MAIN
CVS Tags: netbsd-5-base,
matt-mips64-base2
Branch point for: nick-hppapmap,
netbsd-5
Changes since 1.77: +3 -2
lines
Diff to previous 1.77 (colored) to selected 1.114 (colored)
Include opt_multiboot.h to allow the option to work.
Revision 1.77 / (download) - annotate - [select for diffs], Fri Jun 27 00:41:39 2008 UTC (15 years, 8 months ago) by gmcgarry
Branch: MAIN
CVS Tags: wrstuden-revivesa-base-4,
wrstuden-revivesa-base-3,
wrstuden-revivesa-base-2,
simonb-wapbl-nbase,
simonb-wapbl-base,
haad-dm-base1
Branch point for: haad-dm
Changes since 1.76: +3 -3
lines
Diff to previous 1.76 (colored) to selected 1.114 (colored)
Replace lines beginning with assembler-style comments with c-style comments, since '#' can be interpretted as a preprocessor directive. Remove single quote ''' from assembler-style comments, as the preprocessor may ignore everything between them. Fixes compilation with pcc.
Revision 1.76 / (download) - annotate - [select for diffs], Mon Jun 2 14:41:41 2008 UTC (15 years, 9 months ago) by ad
Branch: MAIN
CVS Tags: yamt-pf42-base4,
yamt-pf42-base3,
wrstuden-revivesa-base-1,
wrstuden-revivesa-base
Branch point for: simonb-wapbl
Changes since 1.75: +13 -55
lines
Diff to previous 1.75 (colored) to selected 1.114 (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.75 / (download) - annotate - [select for diffs], Sun Jun 1 18:37:12 2008 UTC (15 years, 9 months ago) by ad
Branch: MAIN
Changes since 1.74: +33 -18
lines
Diff to previous 1.74 (colored) to selected 1.114 (colored)
- sse2_zero_page: do 64-bytes (1 cache line) at a time. - sse2_copy_page: increase from 16 to 32 bytes per loop.
Revision 1.74 / (download) - annotate - [select for diffs], Sun Jun 1 15:54:02 2008 UTC (15 years, 9 months ago) by christos
Branch: MAIN
Changes since 1.73: +5 -4
lines
Diff to previous 1.73 (colored) to selected 1.114 (colored)
fix typo and add level to the printf.
Revision 1.73 / (download) - annotate - [select for diffs], Sun May 11 14:44:54 2008 UTC (15 years, 10 months ago) by ad
Branch: MAIN
CVS Tags: yamt-pf42-base2,
yamt-nfs-mp-base2,
hpcarm-cleanup-nbase
Changes since 1.72: +8 -6
lines
Diff to previous 1.72 (colored) to selected 1.114 (colored)
Simplify x86 identcpu code, and share between i386/amd64.
Revision 1.72 / (download) - annotate - [select for diffs], Sat May 3 05:56:44 2008 UTC (15 years, 10 months ago) by yamt
Branch: MAIN
Branch point for: wrstuden-revivesa
Changes since 1.71: +17 -2
lines
Diff to previous 1.71 (colored) to selected 1.114 (colored)
sprinkle END/IDTVEC_END.
Revision 1.71 / (download) - annotate - [select for diffs], Fri May 2 15:26:38 2008 UTC (15 years, 10 months ago) by ad
Branch: MAIN
Changes since 1.70: +14 -5
lines
Diff to previous 1.70 (colored) to selected 1.114 (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.70 / (download) - annotate - [select for diffs], Tue Apr 29 18:27:18 2008 UTC (15 years, 10 months ago) by ad
Branch: MAIN
Changes since 1.69: +12 -2
lines
Diff to previous 1.69 (colored) to selected 1.114 (colored)
cpu_switchto: if DIAGNOSTIC, assert not above IPL_SCHED.
Revision 1.69 / (download) - annotate - [select for diffs], Mon Apr 28 20:23:24 2008 UTC (15 years, 10 months ago) by martin
Branch: MAIN
Changes since 1.68: +2 -9
lines
Diff to previous 1.68 (colored) to selected 1.114 (colored)
Remove clause 3 and 4 from TNF licenses
Revision 1.68 / (download) - annotate - [select for diffs], Sun Apr 27 22:40:09 2008 UTC (15 years, 10 months ago) by ad
Branch: MAIN
Changes since 1.67: +23 -28
lines
Diff to previous 1.67 (colored) to selected 1.114 (colored)
- Make some entry/exit points preemption safe. - Avoid mispredicted branches in Xsyscall.
Revision 1.67 / (download) - annotate - [select for diffs], Tue Mar 11 02:24:43 2008 UTC (16 years 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.66: +3 -2
lines
Diff to previous 1.66 (colored) to selected 1.114 (colored)
Make context switch + syscall counters optionally per-CPU and accumulate in schedclock() at "about 16 hz".
Revision 1.66 / (download) - annotate - [select for diffs], Wed Jan 23 19:46:44 2008 UTC (16 years, 1 month ago) by bouyer
Branch: MAIN
CVS Tags: nick-net80211-sync-base,
nick-net80211-sync,
mjf-devfs-base,
hpcarm-cleanup-base
Branch point for: mjf-devfs2,
keiichi-mipv6
Changes since 1.65: +5 -2
lines
Diff to previous 1.65 (colored) to selected 1.114 (colored)
Merge the bouyer-xeni386 branch. This brings in PAE support to NetBSD xeni386 (domU only). PAE support is enabled by 'options PAE', see the new XEN3PAE_DOMU and INSTALL_XEN3PAE_DOMU kernel config files. See the comments in arch/i386/include/{pte.h,pmap.h} to see how it works. In short, we still handle it as a 2-level MMU, with the second level page directory being 4 pages in size. pmap switching is done by switching the L2 pages in the L3 entries, instead of loading %cr3. This is almost required by Xen, which handle the last L2 page (the one mapping 0xc0000000 - 0xffffffff) in a very special way. But this approach should also work for native PAE support if ever supported (in fact, the pmap should almost suport native PAE, what's missing is bootstrap code in locore.S).
Revision 1.65 / (download) - annotate - [select for diffs], Mon Jan 21 08:22:42 2008 UTC (16 years, 2 months ago) by skrll
Branch: MAIN
CVS Tags: bouyer-xeni386-nbase
Changes since 1.64: +14 -17
lines
Diff to previous 1.64 (colored) to selected 1.114 (colored)
Slightly better version of dumpsys from ad via simonb.
Revision 1.64 / (download) - annotate - [select for diffs], Sun Jan 20 12:43:00 2008 UTC (16 years, 2 months ago) by skrll
Branch: MAIN
CVS Tags: bouyer-xeni386-base
Changes since 1.63: +20 -2
lines
Diff to previous 1.63 (colored) to selected 1.114 (colored)
Do the dumpsys/dodumpsys thing on i386... dumpsys() now mimics cpu_switchto() (pushes a switchframe onto the stack) for postmortem debugging. From simonb.
Revision 1.63 / (download) - annotate - [select for diffs], Sun Jan 13 11:03:04 2008 UTC (16 years, 2 months ago) by bouyer
Branch: MAIN
Changes since 1.62: +3 -3
lines
Diff to previous 1.62 (colored) to selected 1.114 (colored)
Revert tmpstk size to 512 bytes, it was bumped to 1024 by mistake when bouyer-xeni386 was merged.
Revision 1.62 / (download) - annotate - [select for diffs], Fri Jan 11 20:00:14 2008 UTC (16 years, 2 months ago) by bouyer
Branch: MAIN
Changes since 1.61: +199 -10
lines
Diff to previous 1.61 (colored) to selected 1.114 (colored)
Merge the bouyer-xeni386 branch to head, at tag bouyer-xeni386-merge1 (the branch is still active and will see i386PAE support developement). Sumary of changes: - switch xeni386 to the x86/x86/pmap.c, and the xen/x86/x86_xpmap.c pmap bootstrap. - merge back most of xen/i386/ to i386/i386 - change the build to reduce diffs between i386 and amd64 in file locations - remove include files that were identical to the i386/amd64 counterparts, the build will find them via the xen-ma/machine link.
Revision 1.61 / (download) - annotate - [select for diffs], Thu Jan 10 20:14:11 2008 UTC (16 years, 2 months ago) by ad
Branch: MAIN
Changes since 1.60: +8 -4
lines
Diff to previous 1.60 (colored) to selected 1.114 (colored)
- Fix a memory order problem with non-interlocked mutex release. - Give kernel_lock its own cache line.
Revision 1.60 / (download) - annotate - [select for diffs], Fri Jan 4 15:55:32 2008 UTC (16 years, 2 months ago) by yamt
Branch: MAIN
CVS Tags: matt-armv6-base
Changes since 1.59: +28 -9
lines
Diff to previous 1.59 (colored) to selected 1.114 (colored)
i386: - make tss per-cpu. this considerably speeds up context switch for, at least, pentium4, where ltr instruction seems very slow. i386, xen: - kill cpu_maxproc. kvm86: - adapt to per-cpu tss. - cleanup and simplify. - move kvm86_mp_lock to more meaningful place. - disable preemption during a call.
Revision 1.59 / (download) - annotate - [select for diffs], Tue Dec 11 23:06:13 2007 UTC (16 years, 3 months ago) by lukem
Branch: MAIN
CVS Tags: yamt-kmem-base3,
vmlocking2-base3
Changes since 1.58: +4 -2
lines
Diff to previous 1.58 (colored) to selected 1.114 (colored)
Use __KERNEL_RCSID(). For these .S files, the following style was adopted, a la .C files and <sys/cdefs.h>: * move <machine/asm.h> to the top * use __KERNEL_RCSID() immediately after it
Revision 1.58 / (download) - annotate - [select for diffs], Mon Dec 3 19:06:36 2007 UTC (16 years, 3 months ago) by ad
Branch: MAIN
CVS Tags: yamt-kmem-base2,
yamt-kmem-base,
vmlocking2-base2,
vmlocking2-base1,
reinoud-bufcleanup-nbase,
reinoud-bufcleanup-base,
jmcneill-pm-base,
cube-autoconf-base,
cube-autoconf
Branch point for: yamt-kmem,
vmlocking2,
bouyer-xeni386
Changes since 1.57: +14 -9
lines
Diff to previous 1.57 (colored) to selected 1.114 (colored)
Merge from vmlocking.
Revision 1.57 / (download) - annotate - [select for diffs], Wed Nov 14 17:54:59 2007 UTC (16 years, 4 months ago) by ad
Branch: MAIN
CVS Tags: vmlocking-nbase,
bouyer-xenamd64-base2,
bouyer-xenamd64-base
Changes since 1.56: +1 -2
lines
Diff to previous 1.56 (colored) to selected 1.114 (colored)
- Remove I486_CPU, I586_CPU, I686_CPU options. They buy us nothing and clutter the code significantly. - Remove pccons.
Revision 1.56 / (download) - annotate - [select for diffs], Tue Nov 13 18:20:18 2007 UTC (16 years, 4 months ago) by ad
Branch: MAIN
Changes since 1.55: +6 -6
lines
Diff to previous 1.55 (colored) to selected 1.114 (colored)
Fix the fsbase/gsbase stuff to work in combination with RAS. Still not working reliably on my AMD K7 for some reason.
Revision 1.55 / (download) - annotate - [select for diffs], Sat Nov 10 23:04:29 2007 UTC (16 years, 4 months ago) by ad
Branch: MAIN
Changes since 1.54: +5 -5
lines
Diff to previous 1.54 (colored) to selected 1.114 (colored)
fsbase/gsbase: - Fix a few bugs with it, in particular fork/exec handling. - Store the descriptors in the PCB, not in the LWP.
Revision 1.54 / (download) - annotate - [select for diffs], Sat Nov 10 20:06:24 2007 UTC (16 years, 4 months ago) by ad
Branch: MAIN
Changes since 1.53: +13 -3
lines
Diff to previous 1.53 (colored) to selected 1.114 (colored)
- When computing the TSC frequency, call i8254_delay() and not DELAY(). - Use atomics to adjust the pmap reference count, instead of taking locks. - Implement I386_{SET,GET}_{FS,GS}BASE, allowing %fs and %gs to be used as per-thread registers. This is compatible with FreeBSD. - Run patches after we have attached CPUs, since we then know if the system is uniprocessor or not. Eliminates a lot of #ifdef MULTIPROCESSOR and makes running MP kernels on UP systems cheaper. - Patch out many of the 'lock' prefixes to nops if uniprocessor. - Do a wbinvd after patching to ensure that the trace/instruction cache is up to date.
Revision 1.53 / (download) - annotate - [select for diffs], Thu Oct 18 15:28:35 2007 UTC (16 years, 5 months ago) by yamt
Branch: MAIN
CVS Tags: jmcneill-base
Branch point for: mjf-devfs
Changes since 1.52: +139 -80
lines
Diff to previous 1.52 (colored) to selected 1.114 (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.52 / (download) - annotate - [select for diffs], Wed Oct 17 19:54:45 2007 UTC (16 years, 5 months ago) by garbled
Branch: MAIN
CVS Tags: yamt-x86pmap-base4
Changes since 1.51: +1 -1
lines
Diff to previous 1.51 (colored) to selected 1.114 (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.51 / (download) - annotate - [select for diffs], Wed Sep 26 19:48:36 2007 UTC (16 years, 5 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.50: +1 -42
lines
Diff to previous 1.50 (colored) to selected 1.114 (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.50 / (download) - annotate - [select for diffs], Wed Aug 29 23:38:04 2007 UTC (16 years, 6 months ago) by ad
Branch: MAIN
CVS Tags: yamt-x86pmap-base,
nick-csl-alignment-base5
Branch point for: yamt-x86pmap
Changes since 1.49: +63 -1
lines
Diff to previous 1.49 (colored) to selected 1.114 (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.49 / (download) - annotate - [select for diffs], Thu Aug 16 17:00:05 2007 UTC (16 years, 7 months ago) by ad
Branch: MAIN
Branch point for: matt-armv6
Changes since 1.48: +3 -2
lines
Diff to previous 1.48 (colored) to selected 1.114 (colored)
cpu_switchto: fix a well dodgy bit of assembly that broke RAS.
Revision 1.48 / (download) - annotate - [select for diffs], Thu May 17 14:51:21 2007 UTC (16 years, 10 months 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,
jmcneill-pm
Changes since 1.47: +104 -501
lines
Diff to previous 1.47 (colored) to selected 1.114 (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.47 / (download) - annotate - [select for diffs], Mon Feb 19 11:46:10 2007 UTC (17 years, 1 month ago) by skrll
Branch: MAIN
CVS Tags: yamt-idlelwp-base8,
thorpej-atomic-base,
thorpej-atomic,
reinoud-bufcleanup,
ad-audiomp-base,
ad-audiomp
Branch point for: vmlocking,
ppcoea-renovation,
mjf-ufs-trans
Changes since 1.46: +2 -2
lines
Diff to previous 1.46 (colored) to selected 1.114 (colored)
Correct a comment
Revision 1.46 / (download) - annotate - [select for diffs], Sat Feb 17 22:31:37 2007 UTC (17 years, 1 month ago) by pavel
Branch: MAIN
Changes since 1.45: +2 -2
lines
Diff to previous 1.45 (colored) to selected 1.114 (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.45 / (download) - annotate - [select for diffs], Fri Feb 9 21:55:04 2007 UTC (17 years, 1 month ago) by ad
Branch: MAIN
CVS Tags: post-newlock2-merge
Branch point for: yamt-idlelwp
Changes since 1.44: +13 -19
lines
Diff to previous 1.44 (colored) to selected 1.114 (colored)
Merge newlock2 to head.
Revision 1.44 / (download) - annotate - [select for diffs], Wed Oct 25 13:56:15 2006 UTC (17 years, 4 months ago) by jmmv
Branch: MAIN
CVS Tags: yamt-splraiseipl-base5,
yamt-splraiseipl-base4,
yamt-splraiseipl-base3,
wrstuden-fixsa-newbase,
wrstuden-fixsa-base-1,
wrstuden-fixsa-base,
wrstuden-fixsa,
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
Branch point for: netbsd-4
Changes since 1.43: +2 -8
lines
Diff to previous 1.43 (colored) to selected 1.114 (colored)
Remove the usage of Multiboot's "a.out kludge" to tell the boot loader to reserve some more space for the BSS section than the binary says. This trick was used to leave room after the kernel's image to copy the symbol table following the format required by ksyms_init. (It was also used to workaround a bug in the physical address fields of the binary, but this has been long fixed.) Yes, the MULTIBOOT_SYMTAB_SPACE option goes away; yay! Instead, copy the required data after the kernel in a way that avoids having to reserve space and use the new ksyms_init_explicit function to avoid the need to construct a minimal ELF image. Fixes ksyms when using an "unpatched" GRUB (one that does not contain the fix to honour the "a.out kludge" for ELF images, even when present) -- i.e. ddb and lkms. As a side effect, the new code is much clearer to read and digest. Closes PR port-i386/32865.
Revision 1.43 / (download) - annotate - [select for diffs], Tue Jul 25 00:23:38 2006 UTC (17 years, 7 months ago) by mrg
Branch: MAIN
CVS Tags: yamt-splraiseipl-base2,
yamt-splraiseipl-base,
yamt-pdpolicy-base9,
yamt-pdpolicy-base8,
yamt-pdpolicy-base7,
rpaulo-netinet-merge-pcb-base,
abandoned-netbsd-4-base,
abandoned-netbsd-4
Branch point for: yamt-splraiseipl,
newlock2
Changes since 1.42: +5 -3
lines
Diff to previous 1.42 (colored) to selected 1.114 (colored)
fix a typo in a comment and a very minor KNF.
Revision 1.42 / (download) - annotate - [select for diffs], Sat Jul 8 20:30:00 2006 UTC (17 years, 8 months ago) by christos
Branch: MAIN
Changes since 1.41: +1 -2
lines
Diff to previous 1.41 (colored) to selected 1.114 (colored)
- apm.c -> apmbios.c and s/NAPM/NAPMBIOS/ - adjust to new function call signatures.
Revision 1.41 / (download) - annotate - [select for diffs], Sat Jul 1 09:21:28 2006 UTC (17 years, 8 months ago) by jmmv
Branch: MAIN
Changes since 1.40: +2 -2
lines
Diff to previous 1.40 (colored) to selected 1.114 (colored)
Fix order of biosbasemem and biosextmem order in a comment to match reality. Closes PR kern/32082 by Dave J. Barnes.
Revision 1.40 / (download) - annotate - [select for diffs], Mon May 22 13:44:53 2006 UTC (17 years, 10 months ago) by yamt
Branch: MAIN
CVS Tags: yamt-pdpolicy-base6,
yamt-pdpolicy-base5,
simonb-timecounters-base,
gdamore-uart-base,
chap-midi-nbase,
chap-midi-base
Branch point for: gdamore-uart
Changes since 1.39: +6 -6
lines
Diff to previous 1.39 (colored) to selected 1.114 (colored)
i386 and xen: move struct user to the highest address in uarea and reduce UPAGES from 4 to 3 in the case of !NOREDZONE.
Revision 1.39 / (download) - annotate - [select for diffs], Sat May 13 08:56:08 2006 UTC (17 years, 10 months ago) by skrll
Branch: MAIN
Branch point for: chap-midi
Changes since 1.38: +3 -3
lines
Diff to previous 1.38 (colored) to selected 1.114 (colored)
Fix some more comments.
Revision 1.38 / (download) - annotate - [select for diffs], Wed Apr 12 13:48:52 2006 UTC (17 years, 11 months ago) by jmmv
Branch: MAIN
CVS Tags: elad-kernelauth-base
Changes since 1.37: +11 -77
lines
Diff to previous 1.37 (colored) to selected 1.114 (colored)
Convert the code that fetches bootinfo information and stores it into the kernel from assembler to C and add several comments to make things clearer. I've been running with these changes for a couple of months without problems.
Revision 1.37 / (download) - annotate - [select for diffs], Fri Feb 3 11:08:24 2006 UTC (18 years, 1 month ago) by jmmv
Branch: MAIN
CVS Tags: yamt-uio_vmspace-base5,
yamt-pdpolicy-base4,
yamt-pdpolicy-base3,
yamt-pdpolicy-base2,
yamt-pdpolicy-base,
peter-altq-base
Branch point for: yamt-pdpolicy,
simonb-timecounters,
peter-altq,
elad-kernelauth
Changes since 1.36: +46 -1
lines
Diff to previous 1.36 (colored) to selected 1.114 (colored)
Implement support for 'The Multiboot Specification' so that i386 kernels can be booted directly from Multiboot-compliant boot loaders (e.g. GRUB). See the added multiboot(8) manual page for more information. No objections in tech-kern@; only positive comments.
Revision 1.36 / (download) - annotate - [select for diffs], Sun Dec 11 12:17:41 2005 UTC (18 years, 3 months ago) by christos
Branch: MAIN
Branch point for: yamt-uio_vmspace,
rpaulo-netinet-merge-pcb
Changes since 1.35: +1 -1
lines
Diff to previous 1.35 (colored) to selected 1.114 (colored)
merge ktrace-lwp.
Revision 1.35 / (download) - annotate - [select for diffs], Mon Nov 7 11:42:34 2005 UTC (18 years, 4 months ago) by yamt
Branch: MAIN
CVS Tags: yamt-readahead-pervnode,
yamt-readahead-perfile,
yamt-readahead-base3,
yamt-readahead-base2,
yamt-readahead-base,
yamt-readahead,
ktrace-lwp-base
Changes since 1.34: +7 -890
lines
Diff to previous 1.34 (colored) to selected 1.114 (colored)
some assym cleanup. - move copyin and friends from locore.S to their own file, copy.S. share it between i386 and xen. - defparam KERNBASE and kill KERNBASE_LOCORE hack. - add more symbols to assym.h and use it where appropriate.
Revision 1.34 / (download) - annotate - [select for diffs], Fri Apr 1 11:59:31 2005 UTC (18 years, 11 months ago) by yamt
Branch: MAIN
CVS Tags: yamt-vop-base3,
yamt-vop-base2,
yamt-vop-base,
yamt-vop,
thorpej-vnode-attr-base,
thorpej-vnode-attr,
kent-audio2-base
Branch point for: yamt-lazymbuf
Changes since 1.33: +1 -3
lines
Diff to previous 1.33 (colored) to selected 1.114 (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.33 / (download) - annotate - [select for diffs], Mon Mar 14 21:50:59 2005 UTC (19 years ago) by fvdl
Branch: MAIN
CVS Tags: yamt-km-base4,
yamt-km-base3,
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
Changes since 1.32: +3 -1
lines
Diff to previous 1.32 (colored) to selected 1.114 (colored)
Check the passed in address as well as determining the maximum length using VM_MAXUSER_ADDRESS in copyinstr and copyoutstr. Problem originally fixed in OpenBSD/i386. This fix suggested by Charles Hannum (mycroft at netbsd dot org).
Revision 1.32 / (download) - annotate - [select for diffs], Wed Mar 2 12:00:25 2005 UTC (19 years ago) by mycroft
Branch: MAIN
Changes since 1.31: +2 -2
lines
Diff to previous 1.31 (colored) to selected 1.114 (colored)
Copyright maintenance.
Revision 1.31 / (download) - annotate - [select for diffs], Thu Aug 26 10:12:33 2004 UTC (19 years, 6 months ago) by junyoung
Branch: MAIN
CVS Tags: yamt-km-base2,
yamt-km-base,
kent-audio1-beforemerge,
kent-audio1-base,
kent-audio1
Branch point for: yamt-km,
kent-audio2
Changes since 1.30: +13 -31
lines
Diff to previous 1.30 (colored) to selected 1.114 (colored)
As suggested on tech-kern@ days ago: * Get rid of PTmap, PTD, PTDpde, APTmap, APTD, and APTDpde from locore.S. * Rename PTDpaddr to PDPpaddr, ptdpaddr in struct cpu_kcore_hdr to pdppaddr for consistency.
Revision 1.30 / (download) - annotate - [select for diffs], Sun Aug 22 06:46:34 2004 UTC (19 years, 7 months ago) by junyoung
Branch: MAIN
Changes since 1.29: +53 -53
lines
Diff to previous 1.29 (colored) to selected 1.114 (colored)
Remove trailing spaces.
Revision 1.29 / (download) - annotate - [select for diffs], Thu Aug 5 15:25:29 2004 UTC (19 years, 7 months ago) by mycroft
Branch: MAIN
Changes since 1.28: +11 -4
lines
Diff to previous 1.28 (colored) to selected 1.114 (colored)
Increase nkpde automatically to adjust for the kernel size. Also, if we did adjust nkpde, save the new value. This should enable us to boot extremely large kernels without fiddling with NKPTP.
Revision 1.28 / (download) - annotate - [select for diffs], Thu May 13 12:15:01 2004 UTC (19 years, 10 months ago) by yamt
Branch: MAIN
Changes since 1.27: +4 -1
lines
Diff to previous 1.27 (colored) to selected 1.114 (colored)
witch_return: call Xspllower only when there're pending interrupts.
Revision 1.27 / (download) - annotate - [select for diffs], Tue Apr 20 11:59:20 2004 UTC (19 years, 11 months ago) by yamt
Branch: MAIN
Changes since 1.26: +4 -4
lines
Diff to previous 1.26 (colored) to selected 1.114 (colored)
add '.L' prefixes to local labels.
Revision 1.26 / (download) - annotate - [select for diffs], Mon Apr 12 13:17:46 2004 UTC (19 years, 11 months ago) by yamt
Branch: MAIN
Changes since 1.25: +9 -4
lines
Diff to previous 1.25 (colored) to selected 1.114 (colored)
- keep cr3 register and its copy in TSS synchronized. otherwise an interrupt vector using a task gate (ie. ddbipi) messes it up. - defer LDTR loading as well as cr3. - tweak comments to make three copies of switching code more synchronized.
Revision 1.25 / (download) - annotate - [select for diffs], Fri Mar 26 19:05:33 2004 UTC (19 years, 11 months ago) by drochner
Branch: MAIN
CVS Tags: netbsd-2-0-base
Branch point for: netbsd-2-0
Changes since 1.24: +1 -7
lines
Diff to previous 1.24 (colored) to selected 1.114 (colored)
fix references to the syscall formerly known as SYS___sigreturn14
Revision 1.24 / (download) - annotate - [select for diffs], Fri Feb 20 17:35:01 2004 UTC (20 years, 1 month ago) by yamt
Branch: MAIN
Changes since 1.23: +53 -18
lines
Diff to previous 1.23 (colored) to selected 1.114 (colored)
defer pmap switching until it's really needed to avoid frequent loading of cr3 register, which involves tlb flush. with some fixes/improvements from Stephan Uphoff and Bang Jun-Young.
Revision 1.23 / (download) - annotate - [select for diffs], Mon Feb 16 17:11:27 2004 UTC (20 years, 1 month ago) by wiz
Branch: MAIN
Changes since 1.22: +1 -2
lines
Diff to previous 1.22 (colored) to selected 1.114 (colored)
Remove last traces of DUMMY_NOPS option that was removed some time ago. From Jeff Rizzo in PR 24442.
Revision 1.22 / (download) - annotate - [select for diffs], Fri Feb 13 11:36:13 2004 UTC (20 years, 1 month ago) by wiz
Branch: MAIN
Changes since 1.21: +3 -3
lines
Diff to previous 1.21 (colored) to selected 1.114 (colored)
Uppercase CPU, plural is CPUs.
Revision 1.21 / (download) - annotate - [select for diffs], Sun Jan 4 11:44:52 2004 UTC (20 years, 2 months ago) by jdolecek
Branch: MAIN
Changes since 1.20: +7 -12
lines
Diff to previous 1.20 (colored) to selected 1.114 (colored)
Process and lwp exit path always executes lwp_exit2() now and cpu_exit() is empty besides calling switch_exit(). So, rename switch_exit() to cpu_exit() and modify the routine to call lwp_exit2() direct. This saves couple cycles on the exit path.
Revision 1.20 / (download) - annotate - [select for diffs], Tue Nov 4 10:33:15 2003 UTC (20 years, 4 months ago) by dsl
Branch: MAIN
Changes since 1.19: +15 -12
lines
Diff to previous 1.19 (colored) to selected 1.114 (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.19 / (download) - annotate - [select for diffs], Fri Sep 12 16:51:04 2003 UTC (20 years, 6 months ago) by christos
Branch: MAIN
Changes since 1.18: +7 -1
lines
Diff to previous 1.18 (colored) to selected 1.114 (colored)
pick up the right sigreturn symbol. we could have #define __HAVE_SIGINFO instead too.
Revision 1.18 / (download) - annotate - [select for diffs], Fri Sep 12 12:39:59 2003 UTC (20 years, 6 months ago) by christos
Branch: MAIN
Changes since 1.17: +7 -6
lines
Diff to previous 1.17 (colored) to selected 1.114 (colored)
include opt_compat_netbsd.h, sort includes. Thanks yamt.
Revision 1.17 / (download) - annotate - [select for diffs], Wed Sep 10 19:48:49 2003 UTC (20 years, 6 months ago) by christos
Branch: MAIN
Changes since 1.16: +2 -2
lines
Diff to previous 1.16 (colored) to selected 1.114 (colored)
move compat_16 stuff into a separate file.
Revision 1.16 / (download) - annotate - [select for diffs], Wed Sep 10 16:46:59 2003 UTC (20 years, 6 months ago) by christos
Branch: MAIN
Changes since 1.15: +3 -2
lines
Diff to previous 1.15 (colored) to selected 1.114 (colored)
make obsolete trampoline code COMPAT_16. Unfortunately sigreturn14 is used by IBCS2; grr.
Revision 1.15 / (download) - annotate - [select for diffs], Wed Aug 20 21:48:37 2003 UTC (20 years, 7 months ago) by fvdl
Branch: MAIN
Changes since 1.14: +5 -1
lines
Diff to previous 1.14 (colored) to selected 1.114 (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.14 / (download) - annotate - [select for diffs], Mon Aug 11 21:15:50 2003 UTC (20 years, 7 months ago) by fvdl
Branch: MAIN
Changes since 1.13: +2 -1
lines
Diff to previous 1.13 (colored) to selected 1.114 (colored)
Fix deadlock issue. Slight variation on patch by Stephan Uphoff.
Revision 1.13 / (download) - annotate - [select for diffs], Fri Aug 8 20:14:06 2003 UTC (20 years, 7 months ago) by christos
Branch: MAIN
Changes since 1.12: +8 -8
lines
Diff to previous 1.12 (colored) to selected 1.114 (colored)
use KERNBASE_LOCORE
Revision 1.12 / (download) - annotate - [select for diffs], Thu Aug 7 16:27:54 2003 UTC (20 years, 7 months ago) by agc
Branch: MAIN
Changes since 1.11: +2 -6
lines
Diff to previous 1.11 (colored) to selected 1.114 (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.11 / (download) - annotate - [select for diffs], Thu Jun 26 16:47:15 2003 UTC (20 years, 8 months ago) by drochner
Branch: MAIN
Branch point for: ktrace-lwp
Changes since 1.10: +1 -4
lines
Diff to previous 1.10 (colored) to selected 1.114 (colored)
cpu_feature is not set (nor used) by locore since SMP, so move the definition to C code
Revision 1.10 / (download) - annotate - [select for diffs], Tue May 13 09:35:16 2003 UTC (20 years, 10 months ago) by fvdl
Branch: MAIN
Changes since 1.9: +3 -3
lines
Diff to previous 1.9 (colored) to selected 1.114 (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.9 / (download) - annotate - [select for diffs], Tue May 13 08:26:32 2003 UTC (20 years, 10 months ago) by fvdl
Branch: MAIN
Changes since 1.8: +5 -3
lines
Diff to previous 1.8 (colored) to selected 1.114 (colored)
Make cpu_switch return the correct value. From Stephan Uphoff, PR 21558
Revision 1.8 / (download) - annotate - [select for diffs], Sat Apr 26 18:13:16 2003 UTC (20 years, 10 months ago) by fvdl
Branch: MAIN
Changes since 1.7: +3 -2
lines
Diff to previous 1.7 (colored) to selected 1.114 (colored)
Save symtabspace in the LKM || KSYMS case as well; otherwise it'll overlap with the page table pages for the kernel, and Bad Things will happen.
Revision 1.7 / (download) - annotate - [select for diffs], Tue Apr 8 23:48:48 2003 UTC (20 years, 11 months ago) by thorpej
Branch: MAIN
Changes since 1.6: +13 -13
lines
Diff to previous 1.6 (colored) to selected 1.114 (colored)
Use PAGE_SIZE rather than NBPG.
Revision 1.6 / (download) - annotate - [select for diffs], Sun Feb 9 15:49:34 2003 UTC (21 years, 1 month ago) by drochner
Branch: MAIN
Changes since 1.5: +2 -2
lines
Diff to previous 1.5 (colored) to selected 1.114 (colored)
fix a lint stub
Revision 1.5 / (download) - annotate - [select for diffs], Fri Jan 17 23:10:30 2003 UTC (21 years, 2 months ago) by thorpej
Branch: MAIN
Changes since 1.4: +121 -71
lines
Diff to previous 1.4 (colored) to selected 1.114 (colored)
Merge the nathanw_sa branch.
Revision 1.4 / (download) - annotate - [select for diffs], Tue Dec 17 20:49:07 2002 UTC (21 years, 3 months ago) by gmcgarry
Branch: MAIN
CVS Tags: nathanw_sa_before_merge,
nathanw_sa_base,
gmcgarry_ctxsw_base,
fvdl_fs64_base
Branch point for: gmcgarry_ctxsw
Changes since 1.3: +4 -7
lines
Diff to previous 1.3 (colored) to selected 1.114 (colored)
Use callee-saved registers in RAS processing.
Revision 1.3 / (download) - annotate - [select for diffs], Tue Dec 17 19:47:15 2002 UTC (21 years, 3 months ago) by gmcgarry
Branch: MAIN
CVS Tags: gmcgarry_ucred_base,
gmcgarry_ucred
Changes since 1.2: +1 -76
lines
Diff to previous 1.2 (colored) to selected 1.114 (colored)
Move to MI runqueue functions.
Revision 1.2 / (download) - annotate - [select for diffs], Wed Dec 11 12:02:07 2002 UTC (21 years, 3 months ago) by fvdl
Branch: MAIN
Changes since 1.1: +5 -3
lines
Diff to previous 1.1 (colored) to selected 1.114 (colored)
Since a CPU may spin waiting for another CPU to handle an IPI, an IPI must be the very first thing to be handled in splx(), if it had been blocked before. Change things around a bit to guarantee this.
Revision 1.1 / (download) - annotate - [select for diffs], Fri Nov 22 15:01:17 2002 UTC (21 years, 4 months ago) by fvdl
Branch: MAIN
Branch point for: nathanw_sa
Diff to selected 1.114 (colored)
.s -> .S rename. New files: vector.S and spl.S, they have been split off from locore.s, plus parts of isa/vector.s and isa/icu.s