The NetBSD Project

CVS log for src/sys/arch/i386/i386/locore.S

[BACK] Up to [cvs.NetBSD.org] / src / sys / arch / i386 / i386

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.102.2.3 / (download) - annotate - [select for diffs], Sun Dec 3 11:36:17 2017 UTC (12 days, 10 hours ago) by jdolecek
Branch: tls-maxphys
Changes since 1.102.2.2: +439 -394 lines
Diff to previous 1.102.2.2 (colored) next main 1.103 (colored) to selected 1.4 (colored)

update from HEAD

Revision 1.154 / (download) - annotate - [select for diffs], Mon Oct 2 17:48:01 2017 UTC (2 months, 1 week ago) by bouyer
Branch: MAIN
CVS Tags: tls-maxphys-base-20171202, HEAD
Changes since 1.153: +3 -2 lines
Diff to previous 1.153 (colored) to selected 1.4 (colored)

Fix (once again) Xen boot

Revision 1.153 / (download) - annotate - [select for diffs], Sat Sep 30 11:43:57 2017 UTC (2 months, 2 weeks ago) by maxv
Branch: MAIN
Changes since 1.152: +3 -2 lines
Diff to previous 1.152 (colored) to selected 1.4 (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 (2 months, 4 weeks ago) by maxv
Branch: MAIN
Changes since 1.151: +19 -2 lines
Diff to previous 1.151 (colored) to selected 1.4 (colored)

Declare INTRFASTEXIT as a function, like amd64; will be expanded soon.

Revision 1.145.6.2 / (download) - annotate - [select for diffs], Sat Sep 9 17:29:40 2017 UTC (3 months ago) by snj
Branch: netbsd-8
CVS Tags: matt-nb8-mediatek-base, matt-nb8-mediatek
Changes since 1.145.6.1: +8 -24 lines
Diff to previous 1.145.6.1 (colored) to branchpoint 1.145 (colored) next main 1.146 (colored) to selected 1.4 (colored)

Pull up following revision(s) (requested by maxv in ticket #258):
	sys/arch/amd64/conf/ALL: 1.68
	sys/arch/i386/conf/ALL: 1.428
	sys/arch/i386/i386/i386_trap.S: 1.12
	sys/arch/i386/i386/locore.S: 1.149-1.150
	sys/arch/x86/x86/sys_machdep.c: 1.38
Remove undocumented hack.
--
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.
--
Pfff, use %ss and not %ds. The latter is controlled by userland, the former
contains the kernel value (flat); FreeBSD fixed this too a few weeks ago.
As I said earlier, this dtrace code is complete bullshit.
--
Don't allow userland to create 286/386 call gates anymore - they are not
used by Wine. While here, don't allow it to overwrite the static entries
either, don't allow unknown entry types, remove LDT_DEBUG, and style.

Revision 1.113.2.7 / (download) - annotate - [select for diffs], Mon Aug 28 17:51:40 2017 UTC (3 months, 2 weeks ago) by skrll
Branch: nick-nhusb
Changes since 1.113.2.6: +8 -77 lines
Diff to previous 1.113.2.6 (colored) to branchpoint 1.113 (colored) next main 1.114 (colored) to selected 1.4 (colored)

Sync with HEAD

Revision 1.151 / (download) - annotate - [select for diffs], Sat Aug 12 07:21:57 2017 UTC (4 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.4 (colored)

Remove vm86.

Pass 3.

Revision 1.150 / (download) - annotate - [select for diffs], Thu Aug 10 14:13:45 2017 UTC (4 months ago) by maxv
Branch: MAIN
Changes since 1.149: +8 -6 lines
Diff to previous 1.149 (colored) to selected 1.4 (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.95.10.4 / (download) - annotate - [select for diffs], Tue Aug 8 12:00:35 2017 UTC (4 months, 1 week ago) by martin
Branch: netbsd-6
Changes since 1.95.10.3: +2 -20 lines
Diff to previous 1.95.10.3 (colored) to branchpoint 1.95 (colored) next main 1.96 (colored) to selected 1.4 (colored)

Pull up following revision(s) (requested by maxv in ticket #1464):

	sys/arch/i386/i386/trap.c:     revision 1.288		(patch)
	sys/arch/i386/i386/machdep.c:  revision 1.783		(patch)
	sys/arch/i386/i386/locore.S:   revision 1.146		(patch)
	sys/arch/amd64/amd64/locore.S: revision 1.122,1.124	(patch)
	sys/arch/amd64/amd64/machdep.c revision 1.254		(patch)
	sys/arch/amd64/amd64/trap.c:   revision 1.95-1.96	(patch)

Remove the osyscall call gate and emulate it. There is a
one-instruction race in it that could panic the kernel.

Restore the ability to run netbsd 1.0 32-bit executables by checking
for the relevant lcall instruction in the trap handler and treating it
as a syscall.

Revision 1.95.10.3.2.1 / (download) - annotate - [select for diffs], Tue Aug 8 11:59:16 2017 UTC (4 months, 1 week ago) by martin
Branch: netbsd-6-1
Changes since 1.95.10.3: +2 -20 lines
Diff to previous 1.95.10.3 (colored) next main 1.95.10.4 (colored) to selected 1.4 (colored)

Pull up following revision(s) (requested by maxv in ticket #1464):

	sys/arch/i386/i386/trap.c:     revision 1.288		(patch)
	sys/arch/i386/i386/machdep.c:  revision 1.783		(patch)
	sys/arch/i386/i386/locore.S:   revision 1.146		(patch)
	sys/arch/amd64/amd64/locore.S: revision 1.122,1.124	(patch)
	sys/arch/amd64/amd64/machdep.c revision 1.254		(patch)
	sys/arch/amd64/amd64/trap.c:   revision 1.95-1.96	(patch)

Remove the osyscall call gate and emulate it. There is a
one-instruction race in it that could panic the kernel.

Restore the ability to run netbsd 1.0 32-bit executables by checking
for the relevant lcall instruction in the trap handler and treating it
as a syscall.

Revision 1.95.10.2.4.1 / (download) - annotate - [select for diffs], Tue Aug 8 11:55:20 2017 UTC (4 months, 1 week ago) by martin
Branch: netbsd-6-0
Changes since 1.95.10.2: +2 -20 lines
Diff to previous 1.95.10.2 (colored) next main 1.95.10.3 (colored) to selected 1.4 (colored)

Pull up following revision(s) (requested by maxv in ticket #1464):

	sys/arch/i386/i386/trap.c:     revision 1.288		(patch)
	sys/arch/i386/i386/machdep.c:  revision 1.783		(patch)
	sys/arch/i386/i386/locore.S:   revision 1.146		(patch)
	sys/arch/amd64/amd64/locore.S: revision 1.122,1.124	(patch)
	sys/arch/amd64/amd64/machdep.c revision 1.254		(patch)
	sys/arch/amd64/amd64/trap.c:   revision 1.95-1.96	(patch)

Remove the osyscall call gate and emulate it. There is a
one-instruction race in it that could panic the kernel.

Restore the ability to run netbsd 1.0 32-bit executables by checking
for the relevant lcall instruction in the trap handler and treating it
as a syscall.

Revision 1.149 / (download) - annotate - [select for diffs], Sat Jul 29 12:34:34 2017 UTC (4 months, 2 weeks ago) by maxv
Branch: MAIN
Changes since 1.148: +2 -20 lines
Diff to previous 1.148 (colored) to selected 1.4 (colored)

Remove undocumented hack.

Revision 1.148 / (download) - annotate - [select for diffs], Sat Jul 29 11:54:14 2017 UTC (4 months, 2 weeks ago) by maxv
Branch: MAIN
Changes since 1.147: +2 -35 lines
Diff to previous 1.147 (colored) to selected 1.4 (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 (4 months, 2 weeks ago) by maxv
Branch: MAIN
Changes since 1.146: +2 -3 lines
Diff to previous 1.146 (colored) to selected 1.4 (colored)

Remove the remaining parts of compat_oldboot.

Revision 1.112.4.1 / (download) - annotate - [select for diffs], Thu Jul 20 01:43:40 2017 UTC (4 months, 3 weeks ago) by snj
Branch: netbsd-7
Changes since 1.112: +2 -20 lines
Diff to previous 1.112 (colored) next main 1.113 (colored) to selected 1.4 (colored)

Pull up following revision(s) (requested by maxv in ticket #1441):
	sys/arch/i386/i386/trap.c: revision 1.288 via patch
	sys/arch/i386/i386/machdep.c: revision 1.783 via patch
	sys/arch/i386/i386/locore.S: revision 1.146 via patch
	sys/arch/amd64/amd64/locore.S: revision 1.124 via patch
Remove the osyscall call gate on i386, and emulate it. There is a one-
instruction race in it that could panic the kernel.

Revision 1.112.10.1 / (download) - annotate - [select for diffs], Thu Jul 20 01:43:10 2017 UTC (4 months, 3 weeks ago) by snj
Branch: netbsd-7-1
Changes since 1.112: +2 -20 lines
Diff to previous 1.112 (colored) next main 1.113 (colored) to selected 1.4 (colored)

Pull up following revision(s) (requested by maxv in ticket #1441):
	sys/arch/i386/i386/trap.c: revision 1.288 via patch
	sys/arch/i386/i386/machdep.c: revision 1.783 via patch
	sys/arch/i386/i386/locore.S: revision 1.146 via patch
	sys/arch/amd64/amd64/locore.S: revision 1.124 via patch
Remove the osyscall call gate on i386, and emulate it. There is a one-
instruction race in it that could panic the kernel.

Revision 1.112.6.1 / (download) - annotate - [select for diffs], Thu Jul 20 01:42:39 2017 UTC (4 months, 3 weeks ago) by snj
Branch: netbsd-7-0
Changes since 1.112: +2 -20 lines
Diff to previous 1.112 (colored) next main 1.113 (colored) to selected 1.4 (colored)

Pull up following revision(s) (requested by maxv in ticket #1441):
	sys/arch/i386/i386/trap.c: revision 1.288 via patch
	sys/arch/i386/i386/machdep.c: revision 1.783 via patch
	sys/arch/i386/i386/locore.S: revision 1.146 via patch
	sys/arch/amd64/amd64/locore.S: revision 1.124 via patch
Remove the osyscall call gate on i386, and emulate it. There is a one-
instruction race in it that could panic the kernel.

Revision 1.145.6.1 / (download) - annotate - [select for diffs], Wed Jul 5 19:59:29 2017 UTC (5 months, 1 week ago) by snj
Branch: netbsd-8
Changes since 1.145: +2 -20 lines
Diff to previous 1.145 (colored) to selected 1.4 (colored)

Pull up following revision(s) (requested by maxv in ticket #88):
	sys/arch/amd64/amd64/locore.S: revision 1.124
	sys/arch/i386/i386/locore.S: revision 1.146
	sys/arch/i386/i386/machdep.c: revision 1.783
	sys/arch/i386/i386/trap.c: revision 1.288
Remove the osyscall call gate on i386, and emulate it. There is a one-
instruction race in it that could panic the kernel.

Revision 1.146 / (download) - annotate - [select for diffs], Sat Jul 1 10:44:42 2017 UTC (5 months, 2 weeks 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.4 (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.144.2.1 / (download) - annotate - [select for diffs], Fri Apr 21 16:53:28 2017 UTC (7 months, 3 weeks ago) by bouyer
Branch: bouyer-socketcan
Changes since 1.144: +3 -3 lines
Diff to previous 1.144 (colored) next main 1.145 (colored) to selected 1.4 (colored)

Sync with HEAD

Revision 1.135.2.4 / (download) - annotate - [select for diffs], Mon Mar 20 06:57:14 2017 UTC (8 months, 3 weeks ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.135.2.3: +3 -3 lines
Diff to previous 1.135.2.3 (colored) to branchpoint 1.135 (colored) next main 1.136 (colored) to selected 1.4 (colored)

Sync with HEAD

Revision 1.113.2.6 / (download) - annotate - [select for diffs], Sun Feb 5 13:40:12 2017 UTC (10 months, 1 week ago) by skrll
Branch: nick-nhusb
Changes since 1.113.2.5: +9 -8 lines
Diff to previous 1.113.2.5 (colored) to branchpoint 1.113 (colored) to selected 1.4 (colored)

Sync with HEAD

Revision 1.145 / (download) - annotate - [select for diffs], Thu Feb 2 19:12:09 2017 UTC (10 months, 1 week 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.4 (colored)

Fix these comments, we probably won't want to keep them up to date.

Revision 1.135.2.3 / (download) - annotate - [select for diffs], Sat Jan 7 08:56:18 2017 UTC (11 months, 1 week ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.135.2.2: +31 -35 lines
Diff to previous 1.135.2.2 (colored) to branchpoint 1.135 (colored) to selected 1.4 (colored)

Sync with HEAD.  (Note that most of these changes are simply $NetBSD$
tag issues.)

Revision 1.144 / (download) - annotate - [select for diffs], Fri Jan 6 08:36:56 2017 UTC (11 months, 1 week 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.4 (colored)

Explain the computation

Revision 1.143 / (download) - annotate - [select for diffs], Fri Dec 16 19:52:22 2016 UTC (11 months, 4 weeks ago) by maxv
Branch: MAIN
Changes since 1.142: +4 -4 lines
Diff to previous 1.142 (colored) to selected 1.4 (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 (12 months, 1 week ago) by maxv
Branch: MAIN
Changes since 1.141: +3 -3 lines
Diff to previous 1.141 (colored) to selected 1.4 (colored)

Use __kernel_end instead. Does not change anything, but will be meaningful
soon.

Revision 1.113.2.5 / (download) - annotate - [select for diffs], Mon Dec 5 10:54:53 2016 UTC (12 months, 1 week ago) by skrll
Branch: nick-nhusb
Changes since 1.113.2.4: +27 -43 lines
Diff to previous 1.113.2.4 (colored) to branchpoint 1.113 (colored) to selected 1.4 (colored)

Sync with HEAD

Revision 1.141 / (download) - annotate - [select for diffs], Fri Nov 25 14:12:55 2016 UTC (12 months, 2 weeks 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.4 (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 (13 months ago) by maxv
Branch: MAIN
Changes since 1.139: +2 -2 lines
Diff to previous 1.139 (colored) to selected 1.4 (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 (13 months ago) by maxv
Branch: MAIN
Changes since 1.138: +26 -21 lines
Diff to previous 1.138 (colored) to selected 1.4 (colored)

KNF and simplify Xen, and reduce the diff with amd64 a little

Revision 1.135.2.2 / (download) - annotate - [select for diffs], Fri Nov 4 14:49:01 2016 UTC (13 months, 1 week ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.135.2.1: +3 -14 lines
Diff to previous 1.135.2.1 (colored) to branchpoint 1.135 (colored) to selected 1.4 (colored)

Sync with HEAD

Revision 1.138 / (download) - annotate - [select for diffs], Sun Oct 16 10:51:31 2016 UTC (13 months, 4 weeks 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.4 (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.113.2.4 / (download) - annotate - [select for diffs], Wed Oct 5 20:55:28 2016 UTC (14 months, 1 week ago) by skrll
Branch: nick-nhusb
Changes since 1.113.2.3: +4 -22 lines
Diff to previous 1.113.2.3 (colored) to branchpoint 1.113 (colored) to selected 1.4 (colored)

Sync with HEAD

Revision 1.135.2.1 / (download) - annotate - [select for diffs], Tue Jul 26 03:24:17 2016 UTC (16 months, 3 weeks ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.135: +4 -22 lines
Diff to previous 1.135 (colored) to selected 1.4 (colored)

Sync with HEAD

Revision 1.137 / (download) - annotate - [select for diffs], Mon Jul 25 16:03:38 2016 UTC (16 months, 3 weeks 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.4 (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 (16 months, 3 weeks ago) by maxv
Branch: MAIN
Changes since 1.135: +2 -6 lines
Diff to previous 1.135 (colored) to selected 1.4 (colored)

This needs to be page-aligned anyway.

Revision 1.113.2.3 / (download) - annotate - [select for diffs], Sat Jul 9 20:24:52 2016 UTC (17 months ago) by skrll
Branch: nick-nhusb
Changes since 1.113.2.2: +121 -102 lines
Diff to previous 1.113.2.2 (colored) to branchpoint 1.113 (colored) to selected 1.4 (colored)

Sync with HEAD

Revision 1.135 / (download) - annotate - [select for diffs], Sat Jul 9 06:58:06 2016 UTC (17 months, 1 week 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.4 (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 (17 months, 1 week ago) by maxv
Branch: MAIN
Changes since 1.133: +4 -4 lines
Diff to previous 1.133 (colored) to selected 1.4 (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 (17 months, 1 week ago) by maxv
Branch: MAIN
Changes since 1.132: +15 -16 lines
Diff to previous 1.132 (colored) to selected 1.4 (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 (17 months, 2 weeks ago) by maxv
Branch: MAIN
Changes since 1.131: +27 -23 lines
Diff to previous 1.131 (colored) to selected 1.4 (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 (18 months, 1 week ago) by maxv
Branch: MAIN
Changes since 1.130: +2 -2 lines
Diff to previous 1.130 (colored) to selected 1.4 (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 (18 months, 1 week ago) by maxv
Branch: MAIN
Changes since 1.129: +8 -6 lines
Diff to previous 1.129 (colored) to selected 1.4 (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 (18 months, 1 week ago) by maxv
Branch: MAIN
Changes since 1.128: +18 -7 lines
Diff to previous 1.128 (colored) to selected 1.4 (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 (18 months, 1 week ago) by maxv
Branch: MAIN
Changes since 1.127: +1 -3 lines
Diff to previous 1.127 (colored) to selected 1.4 (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 (18 months, 1 week ago) by maxv
Branch: MAIN
Changes since 1.126: +49 -45 lines
Diff to previous 1.126 (colored) to selected 1.4 (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 (18 months, 2 weeks ago) by maxv
Branch: MAIN
Changes since 1.125: +4 -3 lines
Diff to previous 1.125 (colored) to selected 1.4 (colored)

Define tablesize. Useful when debugging.

Revision 1.113.2.2 / (download) - annotate - [select for diffs], Sun May 29 08:44:17 2016 UTC (18 months, 2 weeks ago) by skrll
Branch: nick-nhusb
Changes since 1.113.2.1: +300 -192 lines
Diff to previous 1.113.2.1 (colored) to branchpoint 1.113 (colored) to selected 1.4 (colored)

Sync with HEAD

Revision 1.125 / (download) - annotate - [select for diffs], Thu May 26 07:24:55 2016 UTC (18 months, 3 weeks 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.4 (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 (19 months ago) by maxv
Branch: MAIN
Changes since 1.123: +9 -10 lines
Diff to previous 1.123 (colored) to selected 1.4 (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 (19 months ago) by maxv
Branch: MAIN
Changes since 1.122: +6 -4 lines
Diff to previous 1.122 (colored) to selected 1.4 (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 (19 months ago) by maxv
Branch: MAIN
Changes since 1.121: +12 -12 lines
Diff to previous 1.121 (colored) to selected 1.4 (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 (19 months ago) by maxv
Branch: MAIN
Changes since 1.120: +31 -11 lines
Diff to previous 1.120 (colored) to selected 1.4 (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 (19 months ago) by maxv
Branch: MAIN
Changes since 1.119: +13 -0 lines
Diff to previous 1.119 (colored) to selected 1.4 (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 (19 months ago) by maxv
Branch: MAIN
Changes since 1.118: +34 -3 lines
Diff to previous 1.118 (colored) to selected 1.4 (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 (19 months ago) by maxv
Branch: MAIN
Changes since 1.117: +15 -7 lines
Diff to previous 1.117 (colored) to selected 1.4 (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 (19 months ago) by maxv
Branch: MAIN
Changes since 1.116: +73 -49 lines
Diff to previous 1.116 (colored) to selected 1.4 (colored)

Bring some amd64 swag. No functional changes.

Revision 1.116 / (download) - annotate - [select for diffs], Thu May 12 06:45:16 2016 UTC (19 months ago) by maxv
Branch: MAIN
Changes since 1.115: +4 -4 lines
Diff to previous 1.115 (colored) to selected 1.4 (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 (19 months ago) by maxv
Branch: MAIN
Changes since 1.114: +140 -135 lines
Diff to previous 1.114 (colored) to selected 1.4 (colored)

Switch to C-style comments, and reduce a little the diff between i386 and
amd64. No functional changes.

Revision 1.113.2.1 / (download) - annotate - [select for diffs], Tue Sep 22 12:05:44 2015 UTC (2 years, 2 months ago) by skrll
Branch: nick-nhusb
Changes since 1.113: +5 -4 lines
Diff to previous 1.113 (colored) to selected 1.4 (colored)

Sync with HEAD

Revision 1.114 / (download) - annotate - [select for diffs], Sun Aug 30 01:46:03 2015 UTC (2 years, 3 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) to selected 1.4 (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.102.2.2 / (download) - annotate - [select for diffs], Wed Aug 20 00:03:06 2014 UTC (3 years, 3 months ago) by tls
Branch: tls-maxphys
Changes since 1.102.2.1: +122 -129 lines
Diff to previous 1.102.2.1 (colored) to selected 1.4 (colored)

Rebase to HEAD as of a few days ago.

Revision 1.113 / (download) - annotate - [select for diffs], Sun Aug 17 21:17:43 2014 UTC (3 years, 3 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.4 (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.95.4.4 / (download) - annotate - [select for diffs], Thu May 22 11:39:51 2014 UTC (3 years, 6 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.95.4.3: +122 -129 lines
Diff to previous 1.95.4.3 (colored) to branchpoint 1.95 (colored) next main 1.96 (colored) to selected 1.4 (colored)

sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs.  ("Protocol error: too many arguments")

Revision 1.106.2.1 / (download) - annotate - [select for diffs], Sun May 18 17:45:12 2014 UTC (3 years, 6 months ago) by rmind
Branch: rmind-smpnet
Changes since 1.106: +12 -44 lines
Diff to previous 1.106 (colored) next main 1.107 (colored) to selected 1.4 (colored)

sync with head

Revision 1.112 / (download) - annotate - [select for diffs], Thu Feb 20 18:19:10 2014 UTC (3 years, 9 months 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.4 (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 (3 years, 10 months ago) by dsl
Branch: MAIN
Changes since 1.110: +4 -4 lines
Diff to previous 1.110 (colored) to selected 1.4 (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 (3 years, 10 months ago) by dsl
Branch: MAIN
Changes since 1.109: +4 -37 lines
Diff to previous 1.109 (colored) to selected 1.4 (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 (3 years, 11 months ago) by christos
Branch: MAIN
Changes since 1.108: +5 -4 lines
Diff to previous 1.108 (colored) to selected 1.4 (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 (4 years ago) by christos
Branch: MAIN
Changes since 1.107: +11 -2 lines
Diff to previous 1.107 (colored) to selected 1.4 (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 (4 years, 1 month ago) by drochner
Branch: MAIN
Changes since 1.106: +4 -13 lines
Diff to previous 1.106 (colored) to selected 1.4 (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 (4 years, 5 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.4 (colored)

Whitespace, comment, NBPG -> PAGE_SIZE.

Revision 1.105 / (download) - annotate - [select for diffs], Sun Jun 23 03:16:46 2013 UTC (4 years, 5 months ago) by uebayasi
Branch: MAIN
Changes since 1.104: +43 -43 lines
Diff to previous 1.104 (colored) to selected 1.4 (colored)

Whitespace.

Revision 1.104 / (download) - annotate - [select for diffs], Sat Jun 22 15:13:55 2013 UTC (4 years, 5 months ago) by uebayasi
Branch: MAIN
Changes since 1.103: +52 -27 lines
Diff to previous 1.103 (colored) to selected 1.4 (colored)

Use END() markers, etc.  Pure ELF .symtab (size) changes.

Revision 1.102.2.1 / (download) - annotate - [select for diffs], Tue Nov 20 03:01:27 2012 UTC (5 years ago) by tls
Branch: tls-maxphys
Changes since 1.102: +3 -3 lines
Diff to previous 1.102 (colored) to selected 1.4 (colored)

Resync to 2012-11-19 00:00:00 UTC

Revision 1.95.10.3 / (download) - annotate - [select for diffs], Wed Oct 31 17:19:49 2012 UTC (5 years, 1 month ago) by riz
Branch: netbsd-6
CVS Tags: netbsd-6-1-RELEASE, netbsd-6-1-RC4, netbsd-6-1-RC3, netbsd-6-1-RC2, netbsd-6-1-RC1, netbsd-6-1-5-RELEASE, netbsd-6-1-4-RELEASE, netbsd-6-1-3-RELEASE, netbsd-6-1-2-RELEASE, netbsd-6-1-1-RELEASE
Branch point for: netbsd-6-1
Changes since 1.95.10.2: +1 -1 lines
Diff to previous 1.95.10.2 (colored) to branchpoint 1.95 (colored) to selected 1.4 (colored)

Pull up following revision(s) (requested by chs in ticket #642):
	sys/arch/i386/i386/locore.S: revision 1.103
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.78.4.4 / (download) - annotate - [select for diffs], Wed Oct 31 15:34:58 2012 UTC (5 years, 1 month ago) by riz
Branch: netbsd-5
CVS Tags: netbsd-5-2-RELEASE, netbsd-5-2-RC1, netbsd-5-2-3-RELEASE, netbsd-5-2-2-RELEASE, netbsd-5-2-1-RELEASE, netbsd-5-2
Changes since 1.78.4.3: +3 -3 lines
Diff to previous 1.78.4.3 (colored) to branchpoint 1.78 (colored) next main 1.79 (colored) to selected 1.4 (colored)

Pull up following revision(s) (requested by chs in ticket #1810):
	sys/arch/i386/i386/locore.S: revision 1.103
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.95.4.3 / (download) - annotate - [select for diffs], Tue Oct 30 17:19:49 2012 UTC (5 years, 1 month ago) by yamt
Branch: yamt-pagecache
CVS Tags: yamt-pagecache-tag8
Changes since 1.95.4.2: +13 -20 lines
Diff to previous 1.95.4.2 (colored) to branchpoint 1.95 (colored) to selected 1.4 (colored)

sync with head

Revision 1.103 / (download) - annotate - [select for diffs], Fri Oct 26 14:46:44 2012 UTC (5 years, 1 month 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.4 (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 (5 years, 3 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.4 (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 (5 years, 5 months ago) by jym
Branch: MAIN
Changes since 1.100: +4 -11 lines
Diff to previous 1.100 (colored) to selected 1.4 (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 (5 years, 6 months ago) by chs
Branch: MAIN
Changes since 1.99: +9 -9 lines
Diff to previous 1.99 (colored) to selected 1.4 (colored)

rename the global variable "cpu" to "cputype" to avoid conflicting with
dtrace, which wants to use "cpu" as a local variable.

Revision 1.95.4.2 / (download) - annotate - [select for diffs], Wed May 23 10:07:44 2012 UTC (5 years, 6 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.95.4.1: +3 -3 lines
Diff to previous 1.95.4.1 (colored) to branchpoint 1.95 (colored) to selected 1.4 (colored)

sync with head.

Revision 1.95.8.4 / (download) - annotate - [select for diffs], Sun Apr 29 23:04:41 2012 UTC (5 years, 7 months ago) by mrg
Branch: jmcneill-usbmp
Changes since 1.95.8.3: +3 -3 lines
Diff to previous 1.95.8.3 (colored) to branchpoint 1.95 (colored) next main 1.96 (colored) to selected 1.4 (colored)

sync to latest -current.

Revision 1.95.10.2 / (download) - annotate - [select for diffs], Fri Apr 20 23:32:14 2012 UTC (5 years, 7 months ago) by riz
Branch: netbsd-6
CVS Tags: netbsd-6-0-RELEASE, netbsd-6-0-RC2, netbsd-6-0-RC1, netbsd-6-0-6-RELEASE, netbsd-6-0-5-RELEASE, netbsd-6-0-4-RELEASE, netbsd-6-0-3-RELEASE, netbsd-6-0-2-RELEASE, netbsd-6-0-1-RELEASE, matt-nb6-plus-nbase, matt-nb6-plus-base, matt-nb6-plus
Branch point for: netbsd-6-0
Changes since 1.95.10.1: +3 -3 lines
Diff to previous 1.95.10.1 (colored) to branchpoint 1.95 (colored) to selected 1.4 (colored)

Pull up following revision(s) (requested by jym in ticket #189):
	sys/arch/x86/include/psl.h: revision 1.7
	sys/arch/i386/i386/locore.S: revision 1.98
	sys/arch/amd64/acpi/acpi_wakecode.S: revision 1.11
	sys/arch/amd64/amd64/mptramp.S: revision 1.13
	sys/arch/i386/acpi/acpi_wakecode.S: revision 1.15
	sys/arch/i386/i386/mptramp.S: revision 1.23
	sys/arch/amd64/amd64/locore.S: revision 1.68
Set the CR0_AM bit so processes can enable alignment check errors under
x86 through PSL_AC bit.
ATF test incoming shortly.
PSL_AC is user-settable.

Revision 1.99 / (download) - annotate - [select for diffs], Thu Apr 19 18:07:05 2012 UTC (5 years, 7 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.4 (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 (5 years, 7 months ago) by jym
Branch: MAIN
Changes since 1.97: +3 -3 lines
Diff to previous 1.97 (colored) to selected 1.4 (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.95.4.1 / (download) - annotate - [select for diffs], Tue Apr 17 00:06:28 2012 UTC (5 years, 8 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.95: +27 -7 lines
Diff to previous 1.95 (colored) to selected 1.4 (colored)

sync with head

Revision 1.95.8.3 / (download) - annotate - [select for diffs], Tue Mar 6 18:26:37 2012 UTC (5 years, 9 months ago) by mrg
Branch: jmcneill-usbmp
Changes since 1.95.8.2: +12 -6 lines
Diff to previous 1.95.8.2 (colored) to branchpoint 1.95 (colored) to selected 1.4 (colored)

sync to -current

Revision 1.95.8.2 / (download) - annotate - [select for diffs], Tue Mar 6 09:56:07 2012 UTC (5 years, 9 months ago) by mrg
Branch: jmcneill-usbmp
Changes since 1.95.8.1: +6 -12 lines
Diff to previous 1.95.8.1 (colored) to branchpoint 1.95 (colored) to selected 1.4 (colored)

sync to -current

Revision 1.95.10.1 / (download) - annotate - [select for diffs], Mon Mar 5 20:18:01 2012 UTC (5 years, 9 months ago) by sborrill
Branch: netbsd-6
Changes since 1.95: +12 -6 lines
Diff to previous 1.95 (colored) to selected 1.4 (colored)

Pull up the following revisions(s) (requested by bouyer in ticket #80):
	sys/arch/xen/x86/x86_xpmap.c:	revision 1.42
	sys/arch/x86/include/specialreg.h:	revision 1.56
	sys/arch/amd64/amd64/machdep.c:	revision 1.179
	sys/arch/i386/i386/locore.S:	revision 1.97
	sys/arch/i386/i386/machdep.c:	revision 1.723 via patch
	sys/arch/x86/include/cpu.h:	revision 1.49

Fix possible FPU registers corruption on context switches.
Fix type of pointers passed to some hypercalls.

Revision 1.95.8.1 / (download) - annotate - [select for diffs], Sun Mar 4 00:46:09 2012 UTC (5 years, 9 months ago) by mrg
Branch: jmcneill-usbmp
Changes since 1.95: +27 -7 lines
Diff to previous 1.95 (colored) to selected 1.4 (colored)

sync to latest -current.

Revision 1.97 / (download) - annotate - [select for diffs], Fri Mar 2 16:43:31 2012 UTC (5 years, 9 months 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.4 (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 (5 years, 9 months 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.4 (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.94.2.1 / (download) - annotate - [select for diffs], Mon Jun 6 09:05:49 2011 UTC (6 years, 6 months ago) by jruoho
Branch: jruoho-x86intr
Changes since 1.94: +3 -3 lines
Diff to previous 1.94 (colored) next main 1.95 (colored) to selected 1.4 (colored)

Sync with HEAD.

Revision 1.91.4.2 / (download) - annotate - [select for diffs], Thu Apr 21 01:41:06 2011 UTC (6 years, 7 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.91.4.1: +1 -1 lines
Diff to previous 1.91.4.1 (colored) to branchpoint 1.91 (colored) next main 1.92 (colored) to selected 1.4 (colored)

sync with head

Revision 1.82.4.4 / (download) - annotate - [select for diffs], Mon Mar 28 23:58:10 2011 UTC (6 years, 8 months ago) by jym
Branch: jym-xensuspend
Changes since 1.82.4.3: +87 -42 lines
Diff to previous 1.82.4.3 (colored) to branchpoint 1.82 (colored) next main 1.83 (colored) to selected 1.4 (colored)

Cure sync hiccups. Code with compile errors is not really useful, heh.

Revision 1.82.4.3 / (download) - annotate - [select for diffs], Mon Mar 28 23:04:40 2011 UTC (6 years, 8 months ago) by jym
Branch: jym-xensuspend
Changes since 1.82.4.2: +3 -3 lines
Diff to previous 1.82.4.2 (colored) to branchpoint 1.82 (colored) to selected 1.4 (colored)

Sync with HEAD. TODO before merge:
- shortcut for suspend code in sysmon, when powerd(8) is not running.
Borrow ``xs_watch'' thread context?
- bug hunting in xbd + xennet resume. Rings are currently thrashed upon
resume, so current implementation force flush them on suspend. It's not
really needed.

Revision 1.95 / (download) - annotate - [select for diffs], Fri Mar 18 15:18:16 2011 UTC (6 years, 9 months 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.4 (colored)

Remove static branch prediction hints. They pessimize code for all CPUs
but Pentium IV. Discussed with ad@ and dsl@

Revision 1.91.4.1 / (download) - annotate - [select for diffs], Sat Mar 5 20:50:39 2011 UTC (6 years, 9 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.91: +81 -36 lines
Diff to previous 1.91 (colored) to selected 1.4 (colored)

sync with head

Revision 1.94 / (download) - annotate - [select for diffs], Mon Dec 20 00:25:35 2010 UTC (6 years, 11 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.4 (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.44.2.1 / (download) - annotate - [select for diffs], Fri Dec 10 22:14:57 2010 UTC (7 years ago) by bouyer
Branch: netbsd-4
Changes since 1.44: +5 -4 lines
Diff to previous 1.44 (colored) next main 1.45 (colored) to selected 1.4 (colored)

Apply patch, requested by dholland in ticket #1410:
	sys/arch/i386/i386/locore.S: patch
In cpu_switch, avoid flipping interrupts on while holding the
scheduler lock. Doing so can cause locking against oneself via
endtsleep(). Fixes PR kern/38183, where the overt symptom was
that LOCKDEBUG + INSTALL_LARGE would panic during boot.
Should fix PR 38183.

Revision 1.91.2.1 / (download) - annotate - [select for diffs], Tue Aug 17 06:44:36 2010 UTC (7 years, 4 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.91: +79 -35 lines
Diff to previous 1.91 (colored) next main 1.92 (colored) to selected 1.4 (colored)

Sync with HEAD.

Revision 1.67.4.6 / (download) - annotate - [select for diffs], Wed Aug 11 22:52:11 2010 UTC (7 years, 4 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.67.4.5: +79 -35 lines
Diff to previous 1.67.4.5 (colored) to branchpoint 1.67 (colored) next main 1.68 (colored) to selected 1.4 (colored)

sync with head.

Revision 1.93 / (download) - annotate - [select for diffs], Sat Jul 24 00:45:54 2010 UTC (7 years, 4 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.4 (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 (7 years, 5 months ago) by jym
Branch: MAIN
Changes since 1.91: +8 -6 lines
Diff to previous 1.91 (colored) to selected 1.4 (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.67.4.5 / (download) - annotate - [select for diffs], Thu Mar 11 15:02:28 2010 UTC (7 years, 9 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.67.4.4: +10 -15 lines
Diff to previous 1.67.4.4 (colored) to branchpoint 1.67 (colored) to selected 1.4 (colored)

sync with head

Revision 1.91 / (download) - annotate - [select for diffs], Fri Nov 27 03:23:10 2009 UTC (8 years 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.4 (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 (8 years ago) by rmind
Branch: MAIN
Changes since 1.89: +4 -4 lines
Diff to previous 1.89 (colored) to selected 1.4 (colored)

Remove IPL_LPT and IPL_IPI aliases, use the actual IPLs.
Fix some broken comments.

Revision 1.82.4.2 / (download) - annotate - [select for diffs], Sun Nov 1 13:58:21 2009 UTC (8 years, 1 month ago) by jym
Branch: jym-xensuspend
Changes since 1.82.4.1: +4 -17 lines
Diff to previous 1.82.4.1 (colored) to branchpoint 1.82 (colored) to selected 1.4 (colored)

Sync with HEAD.

Revision 1.89 / (download) - annotate - [select for diffs], Mon Oct 19 18:41:10 2009 UTC (8 years, 1 month ago) by bouyer
Branch: MAIN
Changes since 1.88: +2 -7 lines
Diff to previous 1.88 (colored) to selected 1.4 (colored)

Remove closes 3 & 4 from my licence. Lots of thanks to Soren Jacobsen
for the booring work !

Revision 1.67.4.4 / (download) - annotate - [select for diffs], Wed Aug 19 18:46:19 2009 UTC (8 years, 3 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.67.4.3: +4 -12 lines
Diff to previous 1.67.4.3 (colored) to branchpoint 1.67 (colored) to selected 1.4 (colored)

sync with head.

Revision 1.88 / (download) - annotate - [select for diffs], Wed Jul 29 12:02:05 2009 UTC (8 years, 4 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.4 (colored)

remove Xen2 support.
ok bouyer@

Revision 1.67.4.3 / (download) - annotate - [select for diffs], Sat May 16 10:41:14 2009 UTC (8 years, 7 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.67.4.2: +5 -2 lines
Diff to previous 1.67.4.2 (colored) to branchpoint 1.67 (colored) to selected 1.4 (colored)

sync with head

Revision 1.82.4.1 / (download) - annotate - [select for diffs], Wed May 13 17:17:49 2009 UTC (8 years, 7 months ago) by jym
Branch: jym-xensuspend
Changes since 1.82: +17 -8 lines
Diff to previous 1.82 (colored) to selected 1.4 (colored)

Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.

Revision 1.87 / (download) - annotate - [select for diffs], Mon May 4 11:47:29 2009 UTC (8 years, 7 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.4 (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.67.4.2 / (download) - annotate - [select for diffs], Mon May 4 08:11:16 2009 UTC (8 years, 7 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.67.4.1: +68 -56 lines
Diff to previous 1.67.4.1 (colored) to branchpoint 1.67 (colored) to selected 1.4 (colored)

sync with head.

Revision 1.78.2.3 / (download) - annotate - [select for diffs], Tue Apr 28 07:34:08 2009 UTC (8 years, 7 months ago) by skrll
Branch: nick-hppapmap
Changes since 1.78.2.2: +13 -8 lines
Diff to previous 1.78.2.2 (colored) to branchpoint 1.78 (colored) next main 1.79 (colored) to selected 1.4 (colored)

Sync with HEAD.

Revision 1.78.4.3 / (download) - annotate - [select for diffs], Sat Apr 4 17:39:09 2009 UTC (8 years, 8 months ago) by snj
Branch: netbsd-5
CVS Tags: netbsd-5-1-RELEASE, netbsd-5-1-RC4, netbsd-5-1-RC3, netbsd-5-1-RC2, netbsd-5-1-RC1, netbsd-5-1-5-RELEASE, netbsd-5-1-4-RELEASE, netbsd-5-1-3-RELEASE, netbsd-5-1-2-RELEASE, netbsd-5-1-1-RELEASE, netbsd-5-1, netbsd-5-0-RELEASE, netbsd-5-0-RC4, netbsd-5-0-2-RELEASE, netbsd-5-0-1-RELEASE, netbsd-5-0, matt-nb5-pq3-base, matt-nb5-pq3, matt-nb5-mips64-u2-k2-k4-k7-k8-k9, matt-nb5-mips64-u1-k1-k5, matt-nb5-mips64-premerge-20101231, matt-nb5-mips64-premerge-20091211, matt-nb5-mips64-k15, matt-nb5-mips64, matt-nb4-mips64-k7-u2a-k9b
Changes since 1.78.4.2: +5 -2 lines
Diff to previous 1.78.4.2 (colored) to branchpoint 1.78 (colored) to selected 1.4 (colored)

Pull up following revision(s) (requested by ad in ticket #656):
	sys/arch/amd64/amd64/gdt.c: revision 1.21 via patch
	sys/arch/amd64/amd64/machdep.c: revision 1.129 via patch
	sys/arch/i386/i386/gdt.c: revision 1.47 via patch
	sys/arch/i386/i386/kvm86.c: revision 1.17 via patch
	sys/arch/i386/i386/locore.S: revision 1.85 via patch
	sys/arch/i386/i386/machdep.c: revision 1.666 via patch
	sys/arch/i386/i386/vector.S: revision 1.45 via patch
	sys/arch/i386/include/pcb.h: revision 1.47 via patch
	sys/arch/x86/include/pmap.h: revision 1.22 via patch
	sys/arch/x86/include/sysarch.h: revision 1.8 via patch
	sys/arch/x86/x86/pmap.c: revision 1.80 via patch
	sys/arch/x86/x86/sys_machdep.c: revision 1.17 via patch
	sys/compat/linux/arch/i386/linux_machdep.c: revision 1.143 via patch
	sys/kern/init_main.c: revision 1.384 via patch
PR port-i386/40143 Viewing an mpeg transport stream with mplayer causes crash
Fix numerous problems:
1. LDT updates are not atomic.
2. Number of processes running with private LDTs and/or I/O bitmaps
   is not capped. System with high maxprocs can be paniced.
3. LDTR can be leaked over context switch.
4. GDT slot allocations can race, giving the same LDT slot to two procs.
5. Incomplete interrupt/trap frames can be stacked.
6. In some rare cases segment faults are not handled correctly.

Revision 1.86 / (download) - annotate - [select for diffs], Sat Mar 21 22:55:08 2009 UTC (8 years, 8 months 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.4 (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 (8 years, 8 months ago) by ad
Branch: MAIN
Changes since 1.84: +6 -2 lines
Diff to previous 1.84 (colored) to selected 1.4 (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 (8 years, 9 months ago) by ad
Branch: MAIN
Changes since 1.83: +8 -8 lines
Diff to previous 1.83 (colored) to selected 1.4 (colored)

printf -> panic so MP panics work correctly

Revision 1.78.2.2 / (download) - annotate - [select for diffs], Tue Mar 3 18:28:59 2009 UTC (8 years, 9 months ago) by skrll
Branch: nick-hppapmap
Changes since 1.78.2.1: +3 -2 lines
Diff to previous 1.78.2.1 (colored) to branchpoint 1.78 (colored) to selected 1.4 (colored)

Sync with HEAD.

Revision 1.83 / (download) - annotate - [select for diffs], Fri Feb 13 22:41:02 2009 UTC (8 years, 10 months 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.4 (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.78.4.2 / (download) - annotate - [select for diffs], Mon Feb 2 03:22:55 2009 UTC (8 years, 10 months ago) by snj
Branch: netbsd-5
CVS Tags: netbsd-5-0-RC3, netbsd-5-0-RC2
Changes since 1.78.4.1: +3 -3 lines
Diff to previous 1.78.4.1 (colored) to branchpoint 1.78 (colored) to selected 1.4 (colored)

Pull up following revision(s) (requested by ad in ticket #345):
	sys/arch/amd64/amd64/genassym.cf: revision 1.39
	sys/arch/i386/i386/genassym.cf: revision 1.79
	sys/arch/i386/i386/locore.S: revision 1.82
	sys/arch/x86/x86/x86_machdep.c: revision 1.26
Don't abort pageidlezero unless a realtime thread wants to run.

Revision 1.78.2.1 / (download) - annotate - [select for diffs], Mon Jan 19 13:16:15 2009 UTC (8 years, 10 months ago) by skrll
Branch: nick-hppapmap
Changes since 1.78: +40 -9 lines
Diff to previous 1.78 (colored) to selected 1.4 (colored)

Sync with HEAD.

Revision 1.66.6.5 / (download) - annotate - [select for diffs], Sat Jan 17 13:28:03 2009 UTC (8 years, 10 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.66.6.4: +39 -7 lines
Diff to previous 1.66.6.4 (colored) to branchpoint 1.66 (colored) next main 1.67 (colored) to selected 1.4 (colored)

Sync with HEAD.

Revision 1.77.2.1 / (download) - annotate - [select for diffs], Sat Dec 13 01:13:13 2008 UTC (9 years ago) by haad
Branch: haad-dm
Changes since 1.77: +41 -9 lines
Diff to previous 1.77 (colored) next main 1.78 (colored) to selected 1.4 (colored)

Update haad-dm branch to haad-dm-base2.

Revision 1.82 / (download) - annotate - [select for diffs], Wed Dec 3 11:40:17 2008 UTC (9 years 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.4 (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 (9 years ago) by ad
Branch: MAIN
Changes since 1.80: +34 -2 lines
Diff to previous 1.80 (colored) to selected 1.4 (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.78.4.1 / (download) - annotate - [select for diffs], Mon Nov 17 18:53:54 2008 UTC (9 years ago) by snj
Branch: netbsd-5
CVS Tags: netbsd-5-0-RC1
Changes since 1.78: +5 -6 lines
Diff to previous 1.78 (colored) to selected 1.4 (colored)

Pull up following revision(s) (requested by ad in ticket #74):
	sys/arch/i386/isa/npx.c: revision 1.131
	sys/arch/amd64/amd64/fpu.c: revision 1.28
	sys/arch/i386/i386/genassym.cf: revision 1.77
	sys/arch/i386/i386/autoconf.c: revision 1.93
	sys/arch/amd64/amd64/locore.S: revision 1.48
	sys/arch/amd64/amd64/machdep.c: revision 1.104
	sys/arch/i386/i386/machdep.c: revision 1.646
	sys/arch/amd64/amd64/genassym.cf: revision 1.38
	sys/arch/i386/i386/locore.S: revision 1.79
PR port-amd64/38293 panic: fp_save ipi didn't
Fix race conditions in FPU IPI handling.

Revision 1.80 / (download) - annotate - [select for diffs], Thu Nov 13 10:53:30 2008 UTC (9 years, 1 month ago) by ad
Branch: MAIN
Changes since 1.79: +4 -4 lines
Diff to previous 1.79 (colored) to selected 1.4 (colored)

LKM -> MODULAR

Revision 1.79 / (download) - annotate - [select for diffs], Tue Nov 11 14:40:18 2008 UTC (9 years, 1 month ago) by ad
Branch: MAIN
Changes since 1.78: +5 -6 lines
Diff to previous 1.78 (colored) to selected 1.4 (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 (9 years, 1 month 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.4 (colored)

Include opt_multiboot.h to allow the option to work.

Revision 1.72.2.2 / (download) - annotate - [select for diffs], Thu Sep 18 04:33:27 2008 UTC (9 years, 2 months ago) by wrstuden
Branch: wrstuden-revivesa
Changes since 1.72.2.1: +3 -3 lines
Diff to previous 1.72.2.1 (colored) next main 1.73 (colored) to selected 1.4 (colored)

Sync with wrstuden-revivesa-base-2.

Revision 1.66.6.4 / (download) - annotate - [select for diffs], Sun Jun 29 09:32:57 2008 UTC (9 years, 5 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.66.6.3: +1 -1 lines
Diff to previous 1.66.6.3 (colored) to branchpoint 1.66 (colored) to selected 1.4 (colored)

Sync with HEAD.

Revision 1.76.2.1 / (download) - annotate - [select for diffs], Fri Jun 27 15:11:17 2008 UTC (9 years, 5 months ago) by simonb
Branch: simonb-wapbl
Changes since 1.76: +3 -3 lines
Diff to previous 1.76 (colored) next main 1.77 (colored) to selected 1.4 (colored)

Sync with head.

Revision 1.77 / (download) - annotate - [select for diffs], Fri Jun 27 00:41:39 2008 UTC (9 years, 5 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.4 (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.72.2.1 / (download) - annotate - [select for diffs], Mon Jun 23 04:30:26 2008 UTC (9 years, 5 months ago) by wrstuden
Branch: wrstuden-revivesa
Changes since 1.72: +23 -47 lines
Diff to previous 1.72 (colored) to selected 1.4 (colored)

Sync w/ -current. 34 merge conflicts to follow.

Revision 1.66.6.3 / (download) - annotate - [select for diffs], Thu Jun 5 19:14:33 2008 UTC (9 years, 6 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.66.6.2: +11 -53 lines
Diff to previous 1.66.6.2 (colored) to branchpoint 1.66 (colored) to selected 1.4 (colored)

Sync with HEAD.

Also fix build.

Revision 1.67.2.2 / (download) - annotate - [select for diffs], Wed Jun 4 02:04:47 2008 UTC (9 years, 6 months ago) by yamt
Branch: yamt-pf42
Changes since 1.67.2.1: +17 -43 lines
Diff to previous 1.67.2.1 (colored) to branchpoint 1.67 (colored) next main 1.68 (colored) to selected 1.4 (colored)

sync with head

Revision 1.76 / (download) - annotate - [select for diffs], Mon Jun 2 14:41:41 2008 UTC (9 years, 6 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.4 (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.66.6.2 / (download) - annotate - [select for diffs], Mon Jun 2 13:22:15 2008 UTC (9 years, 6 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.66.6.1: +96 -56 lines
Diff to previous 1.66.6.1 (colored) to branchpoint 1.66 (colored) to selected 1.4 (colored)

Sync with HEAD.

Revision 1.75 / (download) - annotate - [select for diffs], Sun Jun 1 18:37:12 2008 UTC (9 years, 6 months ago) by ad
Branch: MAIN
Changes since 1.74: +33 -18 lines
Diff to previous 1.74 (colored) to selected 1.4 (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 (9 years, 6 months ago) by christos
Branch: MAIN
Changes since 1.73: +5 -4 lines
Diff to previous 1.73 (colored) to selected 1.4 (colored)

fix typo and add level to the printf.

Revision 1.67.2.1 / (download) - annotate - [select for diffs], Sun May 18 12:32:10 2008 UTC (9 years, 7 months ago) by yamt
Branch: yamt-pf42
Changes since 1.67: +66 -42 lines
Diff to previous 1.67 (colored) to selected 1.4 (colored)

sync with head.

Revision 1.67.4.1 / (download) - annotate - [select for diffs], Fri May 16 02:22:34 2008 UTC (9 years, 7 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.67: +66 -42 lines
Diff to previous 1.67 (colored) to selected 1.4 (colored)

sync with head.

Revision 1.73 / (download) - annotate - [select for diffs], Sun May 11 14:44:54 2008 UTC (9 years, 7 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.4 (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 (9 years, 7 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.4 (colored)

sprinkle END/IDTVEC_END.

Revision 1.71 / (download) - annotate - [select for diffs], Fri May 2 15:26:38 2008 UTC (9 years, 7 months ago) by ad
Branch: MAIN
Changes since 1.70: +14 -5 lines
Diff to previous 1.70 (colored) to selected 1.4 (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 (9 years, 7 months ago) by ad
Branch: MAIN
Changes since 1.69: +12 -2 lines
Diff to previous 1.69 (colored) to selected 1.4 (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 (9 years, 7 months ago) by martin
Branch: MAIN
Changes since 1.68: +2 -9 lines
Diff to previous 1.68 (colored) to selected 1.4 (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 (9 years, 7 months ago) by ad
Branch: MAIN
Changes since 1.67: +23 -28 lines
Diff to previous 1.67 (colored) to selected 1.4 (colored)

- Make some entry/exit points preemption safe.
- Avoid mispredicted branches in Xsyscall.

Revision 1.66.6.1 / (download) - annotate - [select for diffs], Thu Apr 3 12:42:18 2008 UTC (9 years, 8 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.66: +1 -0 lines
Diff to previous 1.66 (colored) to selected 1.4 (colored)

Sync with HEAD.

Revision 1.66.2.1 / (download) - annotate - [select for diffs], Mon Mar 24 07:14:58 2008 UTC (9 years, 8 months ago) by keiichi
Branch: keiichi-mipv6
Changes since 1.66: +3 -2 lines
Diff to previous 1.66 (colored) next main 1.67 (colored) to selected 1.4 (colored)

sync with head.

Revision 1.49.2.3 / (download) - annotate - [select for diffs], Sun Mar 23 02:04:06 2008 UTC (9 years, 8 months ago) by matt
Branch: matt-armv6
Changes since 1.49.2.2: +223 -11 lines
Diff to previous 1.49.2.2 (colored) next main 1.50 (colored) to selected 1.4 (colored)

sync with HEAD

Revision 1.34.2.10 / (download) - annotate - [select for diffs], Mon Mar 17 09:14:20 2008 UTC (9 years, 9 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.34.2.9: +3 -2 lines
Diff to previous 1.34.2.9 (colored) to branchpoint 1.34 (colored) next main 1.35 (colored) to selected 1.4 (colored)

sync with head.

Revision 1.67 / (download) - annotate - [select for diffs], Tue Mar 11 02:24:43 2008 UTC (9 years, 9 months ago) by ad
Branch: MAIN
CVS Tags: yamt-pf42-baseX, yamt-pf42-base, yamt-nfs-mp-base, yamt-lazymbuf-base15, yamt-lazymbuf-base14, matt-armv6-nbase, keiichi-mipv6-nbase, keiichi-mipv6-base, ad-socklock-base1
Branch point for: yamt-pf42, yamt-nfs-mp
Changes since 1.66: +3 -2 lines
Diff to previous 1.66 (colored) to selected 1.4 (colored)

Make context switch + syscall counters optionally per-CPU and accumulate
in schedclock() at "about 16 hz".

Revision 1.53.2.4 / (download) - annotate - [select for diffs], Mon Feb 18 21:04:38 2008 UTC (9 years, 9 months ago) by mjf
Branch: mjf-devfs
Changes since 1.53.2.3: +248 -18 lines
Diff to previous 1.53.2.3 (colored) to branchpoint 1.53 (colored) next main 1.54 (colored) to selected 1.4 (colored)

Sync with HEAD.

Revision 1.34.2.9 / (download) - annotate - [select for diffs], Mon Feb 4 09:22:06 2008 UTC (9 years, 10 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.34.2.8: +5 -2 lines
Diff to previous 1.34.2.8 (colored) to branchpoint 1.34 (colored) to selected 1.4 (colored)

sync with head.

Revision 1.66 / (download) - annotate - [select for diffs], Wed Jan 23 19:46:44 2008 UTC (9 years, 10 months 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.4 (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.58.6.8 / (download) - annotate - [select for diffs], Wed Jan 23 19:27:17 2008 UTC (9 years, 10 months ago) by bouyer
Branch: bouyer-xeni386
Changes since 1.58.6.7: +12 -15 lines
Diff to previous 1.58.6.7 (colored) to branchpoint 1.58 (colored) next main 1.59 (colored) to selected 1.4 (colored)

Sync with HEAD.

Revision 1.34.2.8 / (download) - annotate - [select for diffs], Mon Jan 21 09:37:02 2008 UTC (9 years, 10 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.34.2.7: +247 -18 lines
Diff to previous 1.34.2.7 (colored) to branchpoint 1.34 (colored) to selected 1.4 (colored)

sync with head

Revision 1.65 / (download) - annotate - [select for diffs], Mon Jan 21 08:22:42 2008 UTC (9 years, 10 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.4 (colored)

Slightly better version of dumpsys from ad via simonb.

Revision 1.58.6.7 / (download) - annotate - [select for diffs], Sun Jan 20 17:51:18 2008 UTC (9 years, 10 months ago) by bouyer
Branch: bouyer-xeni386
Changes since 1.58.6.6: +18 -0 lines
Diff to previous 1.58.6.6 (colored) to branchpoint 1.58 (colored) to selected 1.4 (colored)

Sync with HEAD

Revision 1.64 / (download) - annotate - [select for diffs], Sun Jan 20 12:43:00 2008 UTC (9 years, 10 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.4 (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.58.6.6 / (download) - annotate - [select for diffs], Sat Jan 19 12:14:20 2008 UTC (9 years, 10 months ago) by bouyer
Branch: bouyer-xeni386
Changes since 1.58.6.5: +3 -3 lines
Diff to previous 1.58.6.5 (colored) to branchpoint 1.58 (colored) to selected 1.4 (colored)

Sync with HEAD

Revision 1.58.6.5 / (download) - annotate - [select for diffs], Sun Jan 13 11:26:56 2008 UTC (9 years, 11 months ago) by bouyer
Branch: bouyer-xeni386
Changes since 1.58.6.4: +5 -2 lines
Diff to previous 1.58.6.4 (colored) to branchpoint 1.58 (colored) to selected 1.4 (colored)

Work in progress on xeni386 PAE support:
Make xeni386 build with a 64bit paddr_t. For this vaddr_t vs paddr_t vs
pointers usages had to be clarified.
If 'options PAE' is present in a Xen3 kernel, switch paddr_t, pd_entry_t
and pt_entry_t to 64bits, and add the PAE entry in the __xen_guest ELF section.

Revision 1.63 / (download) - annotate - [select for diffs], Sun Jan 13 11:03:04 2008 UTC (9 years, 11 months ago) by bouyer
Branch: MAIN
Changes since 1.62: +3 -3 lines
Diff to previous 1.62 (colored) to selected 1.4 (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 (9 years, 11 months ago) by bouyer
Branch: MAIN
Changes since 1.61: +199 -10 lines
Diff to previous 1.61 (colored) to selected 1.4 (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.58.6.4 / (download) - annotate - [select for diffs], Thu Jan 10 23:43:22 2008 UTC (9 years, 11 months ago) by bouyer
Branch: bouyer-xeni386
CVS Tags: bouyer-xeni386-merge1
Changes since 1.58.6.3: +6 -2 lines
Diff to previous 1.58.6.3 (colored) to branchpoint 1.58 (colored) to selected 1.4 (colored)

Sync with HEAD

Revision 1.61 / (download) - annotate - [select for diffs], Thu Jan 10 20:14:11 2008 UTC (9 years, 11 months ago) by ad
Branch: MAIN
Changes since 1.60: +8 -4 lines
Diff to previous 1.60 (colored) to selected 1.4 (colored)

- Fix a memory order problem with non-interlocked mutex release.
- Give kernel_lock its own cache line.

Revision 1.49.2.2 / (download) - annotate - [select for diffs], Wed Jan 9 01:46:37 2008 UTC (9 years, 11 months ago) by matt
Branch: matt-armv6
Changes since 1.49.2.1: +51 -16 lines
Diff to previous 1.49.2.1 (colored) to selected 1.4 (colored)

sync with HEAD

Revision 1.58.6.3 / (download) - annotate - [select for diffs], Tue Jan 8 22:10:00 2008 UTC (9 years, 11 months ago) by bouyer
Branch: bouyer-xeni386
Changes since 1.58.6.2: +29 -10 lines
Diff to previous 1.58.6.2 (colored) to branchpoint 1.58 (colored) to selected 1.4 (colored)

Sync with HEAD

Revision 1.58.6.2 / (download) - annotate - [select for diffs], Sun Jan 6 18:29:43 2008 UTC (9 years, 11 months ago) by bouyer
Branch: bouyer-xeni386
Changes since 1.58.6.1: +199 -10 lines
Diff to previous 1.58.6.1 (colored) to branchpoint 1.58 (colored) to selected 1.4 (colored)

Merge needed changes to genassym.cf and locore.S for xeni386 back to
arch/i386. Switch xeni386 to use the arch/i386 cpu.h.

Revision 1.60 / (download) - annotate - [select for diffs], Fri Jan 4 15:55:32 2008 UTC (9 years, 11 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.4 (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.53.2.3 / (download) - annotate - [select for diffs], Thu Dec 27 00:43:07 2007 UTC (9 years, 11 months ago) by mjf
Branch: mjf-devfs
Changes since 1.53.2.2: +4 -2 lines
Diff to previous 1.53.2.2 (colored) to branchpoint 1.53 (colored) to selected 1.4 (colored)

Sync with HEAD.

Revision 1.58.2.1 / (download) - annotate - [select for diffs], Wed Dec 26 19:42:20 2007 UTC (9 years, 11 months ago) by ad
Branch: vmlocking2
Changes since 1.58: +4 -2 lines
Diff to previous 1.58 (colored) next main 1.59 (colored) to selected 1.4 (colored)

Sync with head.

Revision 1.58.6.1 / (download) - annotate - [select for diffs], Thu Dec 13 21:54:42 2007 UTC (10 years ago) by bouyer
Branch: bouyer-xeni386
Changes since 1.58: +4 -2 lines
Diff to previous 1.58 (colored) to selected 1.4 (colored)

Sync with HEAD

Revision 1.58.4.1 / (download) - annotate - [select for diffs], Thu Dec 13 05:05:17 2007 UTC (10 years ago) by yamt
Branch: yamt-kmem
Changes since 1.58: +4 -2 lines
Diff to previous 1.58 (colored) next main 1.59 (colored) to selected 1.4 (colored)

sync with head.

Revision 1.59 / (download) - annotate - [select for diffs], Tue Dec 11 23:06:13 2007 UTC (10 years 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.4 (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.48.8.7 / (download) - annotate - [select for diffs], Sun Dec 9 19:35:21 2007 UTC (10 years ago) by jmcneill
Branch: jmcneill-pm
Changes since 1.48.8.6: +14 -9 lines
Diff to previous 1.48.8.6 (colored) to branchpoint 1.48 (colored) next main 1.49 (colored) to selected 1.4 (colored)

Sync with HEAD.

Revision 1.53.2.2 / (download) - annotate - [select for diffs], Sat Dec 8 18:17:10 2007 UTC (10 years ago) by mjf
Branch: mjf-devfs
Changes since 1.53.2.1: +14 -9 lines
Diff to previous 1.53.2.1 (colored) to branchpoint 1.53 (colored) to selected 1.4 (colored)

Sync with HEAD.

Revision 1.34.2.7 / (download) - annotate - [select for diffs], Fri Dec 7 17:25:00 2007 UTC (10 years ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.34.2.6: +14 -9 lines
Diff to previous 1.34.2.6 (colored) to branchpoint 1.34 (colored) to selected 1.4 (colored)

sync with head

Revision 1.58 / (download) - annotate - [select for diffs], Mon Dec 3 19:06:36 2007 UTC (10 years 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.4 (colored)

Merge from vmlocking.

Revision 1.47.4.10 / (download) - annotate - [select for diffs], Mon Dec 3 18:36:43 2007 UTC (10 years ago) by ad
Branch: vmlocking
Changes since 1.47.4.9: +23 -4 lines
Diff to previous 1.47.4.9 (colored) to branchpoint 1.47 (colored) next main 1.48 (colored) to selected 1.4 (colored)

Sync with HEAD.

Revision 1.48.8.6 / (download) - annotate - [select for diffs], Wed Nov 21 21:53:16 2007 UTC (10 years ago) by joerg
Branch: jmcneill-pm
Changes since 1.48.8.5: +1 -2 lines
Diff to previous 1.48.8.5 (colored) to branchpoint 1.48 (colored) to selected 1.4 (colored)

Sync with HEAD.

Revision 1.53.2.1 / (download) - annotate - [select for diffs], Mon Nov 19 00:46:27 2007 UTC (10 years ago) by mjf
Branch: mjf-devfs
Changes since 1.53: +13 -4 lines
Diff to previous 1.53 (colored) to selected 1.4 (colored)

Sync with HEAD.

Revision 1.51.2.3 / (download) - annotate - [select for diffs], Sun Nov 18 19:34:28 2007 UTC (10 years ago) by bouyer
Branch: bouyer-xenamd64
Changes since 1.51.2.2: +5 -6 lines
Diff to previous 1.51.2.2 (colored) to branchpoint 1.51 (colored) next main 1.52 (colored) to selected 1.4 (colored)

Sync with HEAD

Revision 1.47.4.9 / (download) - annotate - [select for diffs], Fri Nov 16 20:31:20 2007 UTC (10 years, 1 month ago) by ad
Branch: vmlocking
Changes since 1.47.4.8: +4 -5 lines
Diff to previous 1.47.4.8 (colored) to branchpoint 1.47 (colored) to selected 1.4 (colored)

- Don't bother entering the debugger for WARNING: SPL NOT LOWERED ...
  It's nearly impossible to debug at that point. Just patch things
  up and continue.
- Don't assign to ci_ilevel to drop the IPL, it can cause deadlock.
  Use spllower() instead.

Revision 1.34.2.6 / (download) - annotate - [select for diffs], Thu Nov 15 11:42:56 2007 UTC (10 years, 1 month ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.34.2.5: +13 -4 lines
Diff to previous 1.34.2.5 (colored) to branchpoint 1.34 (colored) to selected 1.4 (colored)

sync with head.

Revision 1.48.8.5 / (download) - annotate - [select for diffs], Wed Nov 14 19:04:11 2007 UTC (10 years, 1 month ago) by joerg
Branch: jmcneill-pm
Changes since 1.48.8.4: +6 -6 lines
Diff to previous 1.48.8.4 (colored) to branchpoint 1.48 (colored) to selected 1.4 (colored)

Sync with HEAD.

Revision 1.57 / (download) - annotate - [select for diffs], Wed Nov 14 17:54:59 2007 UTC (10 years, 1 month 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.4 (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 (10 years, 1 month ago) by ad
Branch: MAIN
Changes since 1.55: +6 -6 lines
Diff to previous 1.55 (colored) to selected 1.4 (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.51.2.2 / (download) - annotate - [select for diffs], Tue Nov 13 15:58:33 2007 UTC (10 years, 1 month ago) by bouyer
Branch: bouyer-xenamd64
Changes since 1.51.2.1: +12 -2 lines
Diff to previous 1.51.2.1 (colored) to branchpoint 1.51 (colored) to selected 1.4 (colored)

Sync with HEAD

Revision 1.48.8.4 / (download) - annotate - [select for diffs], Sun Nov 11 16:46:31 2007 UTC (10 years, 1 month ago) by joerg
Branch: jmcneill-pm
Changes since 1.48.8.3: +13 -3 lines
Diff to previous 1.48.8.3 (colored) to branchpoint 1.48 (colored) to selected 1.4 (colored)

Sync with HEAD.

Revision 1.55 / (download) - annotate - [select for diffs], Sat Nov 10 23:04:29 2007 UTC (10 years, 1 month ago) by ad
Branch: MAIN
Changes since 1.54: +5 -5 lines
Diff to previous 1.54 (colored) to selected 1.4 (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 (10 years, 1 month ago) by ad
Branch: MAIN
Changes since 1.53: +13 -3 lines
Diff to previous 1.53 (colored) to selected 1.4 (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.49.2.1 / (download) - annotate - [select for diffs], Tue Nov 6 23:17:30 2007 UTC (10 years, 1 month ago) by matt
Branch: matt-armv6
CVS Tags: matt-armv6-prevmlocking
Changes since 1.49: +201 -121 lines
Diff to previous 1.49 (colored) to selected 1.4 (colored)

sync with HEAD

Revision 1.34.2.5 / (download) - annotate - [select for diffs], Sat Oct 27 11:26:37 2007 UTC (10 years, 1 month ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.34.2.4: +139 -121 lines
Diff to previous 1.34.2.4 (colored) to branchpoint 1.34 (colored) to selected 1.4 (colored)

sync with head.

Revision 1.48.8.3 / (download) - annotate - [select for diffs], Fri Oct 26 15:42:35 2007 UTC (10 years, 1 month ago) by joerg
Branch: jmcneill-pm
Changes since 1.48.8.2: +139 -80 lines
Diff to previous 1.48.8.2 (colored) to branchpoint 1.48 (colored) to selected 1.4 (colored)

Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.

Revision 1.51.2.1 / (download) - annotate - [select for diffs], Thu Oct 25 22:35:50 2007 UTC (10 years, 1 month ago) by bouyer
Branch: bouyer-xenamd64
Changes since 1.51: +139 -80 lines
Diff to previous 1.51 (colored) to selected 1.4 (colored)

Sync with HEAD.

Revision 1.47.4.8 / (download) - annotate - [select for diffs], Tue Oct 23 20:13:02 2007 UTC (10 years, 1 month ago) by ad
Branch: vmlocking
Changes since 1.47.4.7: +139 -80 lines
Diff to previous 1.47.4.7 (colored) to branchpoint 1.47 (colored) to selected 1.4 (colored)

Sync with head.

Revision 1.53 / (download) - annotate - [select for diffs], Thu Oct 18 15:28:35 2007 UTC (10 years, 2 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.4 (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 (10 years, 2 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.4 (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.50.2.9 / (download) - annotate - [select for diffs], Sun Oct 14 11:18:41 2007 UTC (10 years, 2 months ago) by yamt
Branch: yamt-x86pmap
Changes since 1.50.2.8: +3 -1 lines
Diff to previous 1.50.2.8 (colored) to branchpoint 1.50 (colored) next main 1.51 (colored) to selected 1.4 (colored)

allocate one more ptp for VAs which will be allocated by pmap_bootstrap.

Revision 1.47.4.7 / (download) - annotate - [select for diffs], Tue Oct 9 15:22:04 2007 UTC (10 years, 2 months ago) by ad
Branch: vmlocking
Changes since 1.47.4.6: +1 -63 lines
Diff to previous 1.47.4.6 (colored) to branchpoint 1.47 (colored) to selected 1.4 (colored)

Sync with head.

Revision 1.47.4.6 / (download) - annotate - [select for diffs], Tue Oct 9 13:37:55 2007 UTC (10 years, 2 months ago) by ad
Branch: vmlocking
Changes since 1.47.4.5: +63 -42 lines
Diff to previous 1.47.4.5 (colored) to branchpoint 1.47 (colored) to selected 1.4 (colored)

Sync with head.

Revision 1.50.2.8 / (download) - annotate - [select for diffs], Mon Oct 8 11:00:14 2007 UTC (10 years, 2 months ago) by yamt
Branch: yamt-x86pmap
Changes since 1.50.2.7: +1 -2 lines
Diff to previous 1.50.2.7 (colored) to branchpoint 1.50 (colored) to selected 1.4 (colored)

fix off-by-one.

Revision 1.50.2.7 / (download) - annotate - [select for diffs], Sat Oct 6 15:34:53 2007 UTC (10 years, 2 months ago) by yamt
Branch: yamt-x86pmap
Changes since 1.50.2.6: +1 -42 lines
Diff to previous 1.50.2.6 (colored) to branchpoint 1.50 (colored) to selected 1.4 (colored)

sync with head.

Revision 1.50.2.6 / (download) - annotate - [select for diffs], Thu Oct 4 15:04:31 2007 UTC (10 years, 2 months ago) by yamt
Branch: yamt-x86pmap
Changes since 1.50.2.5: +4 -4 lines
Diff to previous 1.50.2.5 (colored) to branchpoint 1.50 (colored) to selected 1.4 (colored)

- move etext before rodata.  define __data_start at the start of
  .data section and use it instead of etext where appropriate.
- put .rodata.* into .rodata section as well.
- pmap_bootstrap: don't assume NBPD_L2 alignment.
- pmap_bootstrap: if DEBUG, print how many large pages and normal pages are
  used to map kernel text.

Revision 1.47.12.2 / (download) - annotate - [select for diffs], Wed Oct 3 19:23:45 2007 UTC (10 years, 2 months ago) by garbled
Branch: ppcoea-renovation
Changes since 1.47.12.1: +65 -43 lines
Diff to previous 1.47.12.1 (colored) to branchpoint 1.47 (colored) next main 1.48 (colored) to selected 1.4 (colored)

Sync with HEAD

Revision 1.48.8.2 / (download) - annotate - [select for diffs], Tue Oct 2 18:27:18 2007 UTC (10 years, 2 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.48.8.1: +1 -42 lines
Diff to previous 1.48.8.1 (colored) to branchpoint 1.48 (colored) to selected 1.4 (colored)

Sync with HEAD.

Revision 1.50.2.5 / (download) - annotate - [select for diffs], Sat Sep 29 13:20:03 2007 UTC (10 years, 2 months ago) by yamt
Branch: yamt-x86pmap
Changes since 1.50.2.4: +1 -1 lines
Diff to previous 1.50.2.4 (colored) to branchpoint 1.50 (colored) to selected 1.4 (colored)

fix recovery from DIAGNOSTIC check in syscall.

Revision 1.50.2.4 / (download) - annotate - [select for diffs], Sat Sep 29 11:25:39 2007 UTC (10 years, 2 months ago) by yamt
Branch: yamt-x86pmap
Changes since 1.50.2.3: +2 -2 lines
Diff to previous 1.50.2.3 (colored) to branchpoint 1.50 (colored) to selected 1.4 (colored)

DO_DEFERRED_SWITCH, CHECK_DEFERRED_SWITCH: remove an unused argument.

Revision 1.51 / (download) - annotate - [select for diffs], Wed Sep 26 19:48:36 2007 UTC (10 years, 2 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.4 (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.2.3 / (download) - annotate - [select for diffs], Tue Sep 25 12:58:11 2007 UTC (10 years, 2 months ago) by yamt
Branch: yamt-x86pmap
Changes since 1.50.2.2: +11 -2 lines
Diff to previous 1.50.2.2 (colored) to branchpoint 1.50 (colored) to selected 1.4 (colored)

fix nkptp calculation.

Revision 1.50.2.2 / (download) - annotate - [select for diffs], Mon Sep 24 10:56:48 2007 UTC (10 years, 2 months ago) by yamt
Branch: yamt-x86pmap
Changes since 1.50.2.1: +21 -11 lines
Diff to previous 1.50.2.1 (colored) to branchpoint 1.50 (colored) to selected 1.4 (colored)

remove hardcoded numbers of PTPs used for kernel image and bootstrap tables.

Revision 1.50.2.1 / (download) - annotate - [select for diffs], Sun Sep 23 18:28:16 2007 UTC (10 years, 2 months ago) by yamt
Branch: yamt-x86pmap
Changes since 1.50: +115 -76 lines
Diff to previous 1.50 (colored) to selected 1.4 (colored)

- sync with amd64.
- pmap_alloc_level: remove fast call special case.
- tweak some printf to work for both of LP64 and LP32.
- remove machdep.nkpde sysctl.
- remove automatic adjustment of nkpde for now.  will revisit later.

Revision 1.48.8.1 / (download) - annotate - [select for diffs], Mon Sep 3 16:47:23 2007 UTC (10 years, 3 months ago) by jmcneill
Branch: jmcneill-pm
Changes since 1.48: +65 -2 lines
Diff to previous 1.48 (colored) to selected 1.4 (colored)

Sync with HEAD.

Revision 1.34.2.4 / (download) - annotate - [select for diffs], Mon Sep 3 14:26:41 2007 UTC (10 years, 3 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.34.2.3: +168 -502 lines
Diff to previous 1.34.2.3 (colored) to branchpoint 1.34 (colored) to selected 1.4 (colored)

sync with head.

Revision 1.48.4.2 / (download) - annotate - [select for diffs], Mon Sep 3 10:19:03 2007 UTC (10 years, 3 months ago) by skrll
Branch: nick-csl-alignment
Changes since 1.48.4.1: +63 -1 lines
Diff to previous 1.48.4.1 (colored) to branchpoint 1.48 (colored) next main 1.49 (colored) to selected 1.4 (colored)

Sync with HEAD.

Revision 1.50 / (download) - annotate - [select for diffs], Wed Aug 29 23:38:04 2007 UTC (10 years, 3 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.4 (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.47.4.5 / (download) - annotate - [select for diffs], Mon Aug 20 18:38:12 2007 UTC (10 years, 3 months ago) by ad
Branch: vmlocking
Changes since 1.47.4.4: +3 -2 lines
Diff to previous 1.47.4.4 (colored) to branchpoint 1.47 (colored) to selected 1.4 (colored)

Sync with HEAD.

Revision 1.48.4.1 / (download) - annotate - [select for diffs], Fri Aug 17 06:50:51 2007 UTC (10 years, 4 months ago) by skrll
Branch: nick-csl-alignment
Changes since 1.48: +3 -2 lines
Diff to previous 1.48 (colored) to selected 1.4 (colored)

Sync with HEAD.

Revision 1.49 / (download) - annotate - [select for diffs], Thu Aug 16 17:00:05 2007 UTC (10 years, 4 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.4 (colored)

cpu_switchto: fix a well dodgy bit of assembly that broke RAS.

Revision 1.47.4.4 / (download) - annotate - [select for diffs], Tue Aug 14 10:49:59 2007 UTC (10 years, 4 months ago) by yamt
Branch: vmlocking
Changes since 1.47.4.3: +6 -4 lines
Diff to previous 1.47.4.3 (colored) to branchpoint 1.47 (colored) to selected 1.4 (colored)

sse2_copy_page:
	- save and restore a callee-saved register.
	- s/4096/PAGE_SIZE/

Revision 1.47.4.3 / (download) - annotate - [select for diffs], Sun Jul 29 10:18:49 2007 UTC (10 years, 4 months ago) by ad
Branch: vmlocking
Changes since 1.47.4.2: +61 -1 lines
Diff to previous 1.47.4.2 (colored) to branchpoint 1.47 (colored) to selected 1.4 (colored)

- When zeroing/copying pages, use SSE2 movtni to avoid polluting the cache.
- By default, align assembly routines on 32-byte starting boundaries.
- There are now 8 interrupt priority levels, half of which are softints.
  Update intrdefs.h to match.
- Always clear/set spinlock words - removes lots of ifdefs.
- Remove the horrible ci_self150 hack that I introduced.
- Overhaul how TLB shootdown is performed. Inspired by a similar change in
  OpenBSD but implemented quite differently. This should be a lot faster
  but I have not benchmarked it yet.

Revision 1.47.6.1 / (download) - annotate - [select for diffs], Wed Jul 11 20:00:00 2007 UTC (10 years, 5 months ago) by mjf
Branch: mjf-ufs-trans
Changes since 1.47: +104 -501 lines
Diff to previous 1.47 (colored) next main 1.48 (colored) to selected 1.4 (colored)

Sync with head.

Revision 1.47.4.2 / (download) - annotate - [select for diffs], Sun Jun 17 21:30:36 2007 UTC (10 years, 6 months ago) by ad
Branch: vmlocking
Changes since 1.47.4.1: +11 -5 lines
Diff to previous 1.47.4.1 (colored) to branchpoint 1.47 (colored) to selected 1.4 (colored)

- Increase the number of thread priorities from 128 to 256. How the space
  is set up is to be revisited.
- Implement soft interrupts as kernel threads. A generic implementation
  is provided, with hooks for fast-path MD code that can run the interrupt
  threads over the top of other threads executing in the kernel.
- Split vnode::v_flag into three fields, depending on how the flag is
  locked (by the interlock, by the vnode lock, by the file system).
- Miscellaneous locking fixes and improvements.

Revision 1.47.4.1 / (download) - annotate - [select for diffs], Sun May 27 12:27:30 2007 UTC (10 years, 6 months ago) by ad
Branch: vmlocking
Changes since 1.47: +104 -501 lines
Diff to previous 1.47 (colored) to selected 1.4 (colored)

Sync with head.

Revision 1.47.12.1 / (download) - annotate - [select for diffs], Tue May 22 17:26:59 2007 UTC (10 years, 6 months ago) by matt
Branch: ppcoea-renovation
Changes since 1.47: +104 -501 lines
Diff to previous 1.47 (colored) to selected 1.4 (colored)

Update to HEAD.

Revision 1.48 / (download) - annotate - [select for diffs], Thu May 17 14:51:21 2007 UTC (10 years, 7 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.4 (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.45.2.8 / (download) - annotate - [select for diffs], Wed Apr 4 22:33:28 2007 UTC (10 years, 8 months ago) by ad
Branch: yamt-idlelwp
Changes since 1.45.2.7: +3 -2 lines
Diff to previous 1.45.2.7 (colored) to branchpoint 1.45 (colored) next main 1.46 (colored) to selected 1.4 (colored)

- Move setting curlwp back to cpu_switchto(). Necessary because if
  curlwp is made a register variable, we may also need to keep a
  copy in struct cpu_info for other CPUs to inspect. Okay yamt@.
- Clearing ci_need_resched is now done in mi_switch().

Revision 1.45.2.7 / (download) - annotate - [select for diffs], Wed Apr 4 13:04:09 2007 UTC (10 years, 8 months ago) by ad
Branch: yamt-idlelwp
Changes since 1.45.2.6: +9 -10 lines
Diff to previous 1.45.2.6 (colored) to branchpoint 1.45 (colored) to selected 1.4 (colored)

%cr0:0 is PE, not TS. Pointed out by yamt@.

Revision 1.45.2.6 / (download) - annotate - [select for diffs], Thu Mar 29 19:00:24 2007 UTC (10 years, 8 months ago) by ad
Branch: yamt-idlelwp
Changes since 1.45.2.5: +76 -159 lines
Diff to previous 1.45.2.5 (colored) to branchpoint 1.45 (colored) to selected 1.4 (colored)

- Tidy up slightly: remove pointless #ifdefs, make function descriptions
  consistent, remove checks for options that were removed 4+ years ago, ...
- Don't reload %cr0 or check for RAS if switching to a kthread.
- Don't try dropping the ipl using "movl $IPL_SCHED,CPUVAR(ILEVEL)". Causes
  deadlocks because the later drop of priority (possibly by mi_switch) can
  fail to notice pending IPIs. Just leave the level at IPL_IPI (for a very
  short time) at let it be dropped in mi_switch(). Spotted by yamt@.

Revision 1.45.2.5 / (download) - annotate - [select for diffs], Sat Mar 24 18:30:36 2007 UTC (10 years, 8 months ago) by ad
Branch: yamt-idlelwp
Changes since 1.45.2.4: +17 -9 lines
Diff to previous 1.45.2.4 (colored) to branchpoint 1.45 (colored) to selected 1.4 (colored)

cpu_switchto:

- Replace cli/sti with raising the priority level to IPL_IPI.
- Don't reload %cr0 unless necessary.

Improves timings for a pthread condvar benchmark I have by a further 45%
on a dual core system. Reviewed by yamt@.

Revision 1.45.2.4 / (download) - annotate - [select for diffs], Tue Mar 13 01:55:47 2007 UTC (10 years, 9 months ago) by rmind
Branch: yamt-idlelwp
Changes since 1.45.2.3: +3 -4 lines
Diff to previous 1.45.2.3 (colored) to branchpoint 1.45 (colored) to selected 1.4 (colored)

cpu_switchto(): Pass the correct argument for ras_lookup(), fixes
crash with pthreads. From ad@

Revision 1.45.2.3 / (download) - annotate - [select for diffs], Tue Feb 27 16:51:38 2007 UTC (10 years, 9 months ago) by yamt
Branch: yamt-idlelwp
Changes since 1.45.2.2: +3 -3 lines
Diff to previous 1.45.2.2 (colored) to branchpoint 1.45 (colored) to selected 1.4 (colored)

- sync with head.
- move sched_changepri back to kern_synch.c as it doesn't know PPQ anymore.

Revision 1.34.2.3 / (download) - annotate - [select for diffs], Mon Feb 26 09:06:56 2007 UTC (10 years, 9 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.34.2.2: +15 -21 lines
Diff to previous 1.34.2.2 (colored) to branchpoint 1.34 (colored) to selected 1.4 (colored)

sync with head.

Revision 1.47 / (download) - annotate - [select for diffs], Mon Feb 19 11:46:10 2007 UTC (10 years, 9 months 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.4 (colored)

Correct a comment

Revision 1.46 / (download) - annotate - [select for diffs], Sat Feb 17 22:31:37 2007 UTC (10 years, 9 months ago) by pavel
Branch: MAIN
Changes since 1.45: +2 -2 lines
Diff to previous 1.45 (colored) to selected 1.4 (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.2.2 / (download) - annotate - [select for diffs], Sat Feb 17 15:19:52 2007 UTC (10 years, 10 months ago) by yamt
Branch: yamt-idlelwp
Changes since 1.45.2.1: +1 -1 lines
Diff to previous 1.45.2.1 (colored) to branchpoint 1.45 (colored) to selected 1.4 (colored)

fix a comment.

Revision 1.45.2.1 / (download) - annotate - [select for diffs], Sat Feb 17 10:30:45 2007 UTC (10 years, 10 months ago) by yamt
Branch: yamt-idlelwp
Changes since 1.45: +52 -373 lines
Diff to previous 1.45 (colored) to selected 1.4 (colored)

- separate context switching and thread scheduling.
- introduce idle lwp.
- change some related MD/MI interfaces and implement i386 version.

Revision 1.45 / (download) - annotate - [select for diffs], Fri Feb 9 21:55:04 2007 UTC (10 years, 10 months 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.4 (colored)

Merge newlock2 to head.

Revision 1.43.4.10 / (download) - annotate - [select for diffs], Thu Feb 1 04:17:13 2007 UTC (10 years, 10 months ago) by ad
Branch: newlock2
Changes since 1.43.4.9: +3 -3 lines
Diff to previous 1.43.4.9 (colored) to branchpoint 1.43 (colored) next main 1.44 (colored) to selected 1.4 (colored)

Call spllower() from the idle loop, not Xspllower().

Revision 1.43.4.9 / (download) - annotate - [select for diffs], Tue Jan 30 11:45:27 2007 UTC (10 years, 10 months ago) by ad
Branch: newlock2
Changes since 1.43.4.8: +1 -7 lines
Diff to previous 1.43.4.8 (colored) to branchpoint 1.43 (colored) to selected 1.4 (colored)

For now always call sched_unlock_idle/sched_lock_idle. They will be
removed by yamt's cpu_switchto() changes.

Revision 1.43.4.8 / (download) - annotate - [select for diffs], Thu Jan 25 11:27:54 2007 UTC (10 years, 10 months ago) by ad
Branch: newlock2
Changes since 1.43.4.7: +8 -1 lines
Diff to previous 1.43.4.7 (colored) to branchpoint 1.43 (colored) to selected 1.4 (colored)

Add x86_flush(): flush pipelines by doing a far return.

Revision 1.43.4.7 / (download) - annotate - [select for diffs], Fri Jan 19 20:07:55 2007 UTC (10 years, 10 months ago) by ad
Branch: newlock2
Changes since 1.43.4.6: +4 -5 lines
Diff to previous 1.43.4.6 (colored) to branchpoint 1.43 (colored) to selected 1.4 (colored)

cpu_exit: be more conservative and only clear curlwp after TR has been
loaded.

Revision 1.43.4.6 / (download) - annotate - [select for diffs], Fri Jan 19 19:35:22 2007 UTC (10 years, 10 months ago) by ad
Branch: newlock2
Changes since 1.43.4.5: +4 -10 lines
Diff to previous 1.43.4.5 (colored) to branchpoint 1.43 (colored) to selected 1.4 (colored)

- cpu_exit(): move 'cli' behind clearing curlwp to close a race with
  lwp_free(). Noted by yamt@.
- Don't bother calling lwp_exit2() any more.

Revision 1.43.4.5 / (download) - annotate - [select for diffs], Thu Jan 11 22:22:56 2007 UTC (10 years, 11 months ago) by ad
Branch: newlock2
Changes since 1.43.4.4: +4 -10 lines
Diff to previous 1.43.4.4 (colored) to branchpoint 1.43 (colored) to selected 1.4 (colored)

Checkpoint work in progress.

Revision 1.34.2.2 / (download) - annotate - [select for diffs], Sat Dec 30 20:46:10 2006 UTC (10 years, 11 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.34.2.1: +7 -12 lines
Diff to previous 1.34.2.1 (colored) to branchpoint 1.34 (colored) to selected 1.4 (colored)

sync with head.

Revision 1.43.4.4 / (download) - annotate - [select for diffs], Fri Dec 29 20:27:41 2006 UTC (10 years, 11 months ago) by ad
Branch: newlock2
Changes since 1.43.4.3: +7 -7 lines
Diff to previous 1.43.4.3 (colored) to branchpoint 1.43 (colored) to selected 1.4 (colored)

Checkpoint work in progress.

Revision 1.43.6.1 / (download) - annotate - [select for diffs], Sun Dec 10 07:16:06 2006 UTC (11 years ago) by yamt
Branch: yamt-splraiseipl
Changes since 1.43: +2 -8 lines
Diff to previous 1.43 (colored) next main 1.44 (colored) to selected 1.4 (colored)

sync with head.

Revision 1.43.4.3 / (download) - annotate - [select for diffs], Sat Nov 18 21:29:18 2006 UTC (11 years ago) by ad
Branch: newlock2
Changes since 1.43.4.2: +2 -8 lines
Diff to previous 1.43.4.2 (colored) to branchpoint 1.43 (colored) to selected 1.4 (colored)

Sync with head.

Revision 1.44 / (download) - annotate - [select for diffs], Wed Oct 25 13:56:15 2006 UTC (11 years, 1 month 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.4 (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.4.2 / (download) - annotate - [select for diffs], Tue Oct 24 21:10:22 2006 UTC (11 years, 1 month ago) by ad
Branch: newlock2
Changes since 1.43.4.1: +1 -6 lines
Diff to previous 1.43.4.1 (colored) to branchpoint 1.43 (colored) to selected 1.4 (colored)

- Redo LWP locking slightly and fix some races.
- Fix some locking botches.
- Make signal mask / stack per-proc for SA processes.
- Add _lwp_kill().

Revision 1.43.4.1 / (download) - annotate - [select for diffs], Fri Oct 20 19:42:24 2006 UTC (11 years, 1 month ago) by ad
Branch: newlock2
Changes since 1.43: +15 -4 lines
Diff to previous 1.43 (colored) to selected 1.4 (colored)

- Acquire/release sched_mutex in the correct places.
- Donate ci->ci_sched_mutex to newly scheduled LWPs.

Revision 1.36.4.1 / (download) - annotate - [select for diffs], Sat Sep 9 02:40:07 2006 UTC (11 years, 3 months ago) by rpaulo
Branch: rpaulo-netinet-merge-pcb
Changes since 1.36: +61 -81 lines
Diff to previous 1.36 (colored) next main 1.37 (colored) to selected 1.4 (colored)

sync with head

Revision 1.37.4.2 / (download) - annotate - [select for diffs], Fri Aug 11 15:41:54 2006 UTC (11 years, 4 months ago) by yamt
Branch: yamt-pdpolicy
Changes since 1.37.4.1: +6 -5 lines
Diff to previous 1.37.4.1 (colored) to branchpoint 1.37 (colored) next main 1.38 (colored) to selected 1.4 (colored)

sync with head

Revision 1.43 / (download) - annotate - [select for diffs], Tue Jul 25 00:23:38 2006 UTC (11 years, 4 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.4 (colored)

fix a typo in a comment and a very minor KNF.

Revision 1.40.2.1 / (download) - annotate - [select for diffs], Thu Jul 13 17:48:53 2006 UTC (11 years, 5 months ago) by gdamore
Branch: gdamore-uart
Changes since 1.40: +2 -3 lines
Diff to previous 1.40 (colored) next main 1.41 (colored) to selected 1.4 (colored)

Merge from HEAD.

Revision 1.42 / (download) - annotate - [select for diffs], Sat Jul 8 20:30:00 2006 UTC (11 years, 5 months ago) by christos
Branch: MAIN
Changes since 1.41: +1 -2 lines
Diff to previous 1.41 (colored) to selected 1.4 (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 (11 years, 5 months ago) by jmmv
Branch: MAIN
Changes since 1.40: +2 -2 lines
Diff to previous 1.40 (colored) to selected 1.4 (colored)

Fix order of biosbasemem and biosextmem order in a comment to match reality.
Closes PR kern/32082 by Dave J. Barnes.

Revision 1.34.2.1 / (download) - annotate - [select for diffs], Wed Jun 21 14:52:18 2006 UTC (11 years, 5 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.34: +66 -970 lines
Diff to previous 1.34 (colored) to selected 1.4 (colored)

sync with head.

Revision 1.39.2.1 / (download) - annotate - [select for diffs], Mon Jun 19 03:44:26 2006 UTC (11 years, 6 months ago) by chap
Branch: chap-midi
Changes since 1.39: +6 -6 lines
Diff to previous 1.39 (colored) next main 1.40 (colored) to selected 1.4 (colored)

Sync with head.

Revision 1.37.2.2 / (download) - annotate - [select for diffs], Thu Jun 1 22:34:50 2006 UTC (11 years, 6 months ago) by kardel
Branch: simonb-timecounters
CVS Tags: simonb-timcounters-final
Changes since 1.37.2.1: +8 -8 lines
Diff to previous 1.37.2.1 (colored) to branchpoint 1.37 (colored) next main 1.38 (colored) to selected 1.4 (colored)

Sync with head.

Revision 1.37.8.1 / (download) - annotate - [select for diffs], Wed May 24 15:47:58 2006 UTC (11 years, 6 months ago) by tron
Branch: peter-altq
Changes since 1.37: +18 -84 lines
Diff to previous 1.37 (colored) next main 1.38 (colored) to selected 1.4 (colored)

Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.

Revision 1.37.4.1 / (download) - annotate - [select for diffs], Wed May 24 10:56:51 2006 UTC (11 years, 6 months ago) by yamt
Branch: yamt-pdpolicy
Changes since 1.37: +18 -84 lines
Diff to previous 1.37 (colored) to selected 1.4 (colored)

sync with head.

Revision 1.40 / (download) - annotate - [select for diffs], Mon May 22 13:44:53 2006 UTC (11 years, 6 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.4 (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 (11 years, 7 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.4 (colored)

Fix some more comments.

Revision 1.37.2.1 / (download) - annotate - [select for diffs], Sat Apr 22 11:37:32 2006 UTC (11 years, 7 months ago) by simonb
Branch: simonb-timecounters
Changes since 1.37: +11 -77 lines
Diff to previous 1.37 (colored) to selected 1.4 (colored)

Sync with head.

Revision 1.37.6.1 / (download) - annotate - [select for diffs], Wed Apr 19 02:32:45 2006 UTC (11 years, 8 months ago) by elad
Branch: elad-kernelauth
Changes since 1.37: +11 -77 lines
Diff to previous 1.37 (colored) next main 1.38 (colored) to selected 1.4 (colored)

sync with head - hopefully this will work

Revision 1.38 / (download) - annotate - [select for diffs], Wed Apr 12 13:48:52 2006 UTC (11 years, 8 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.4 (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.36.2.1 / (download) - annotate - [select for diffs], Sat Feb 18 15:38:36 2006 UTC (11 years, 9 months ago) by yamt
Branch: yamt-uio_vmspace
Changes since 1.36: +46 -1 lines
Diff to previous 1.36 (colored) next main 1.37 (colored) to selected 1.4 (colored)

sync with head.

Revision 1.37 / (download) - annotate - [select for diffs], Fri Feb 3 11:08:24 2006 UTC (11 years, 10 months 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.4 (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 (12 years 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.4 (colored)

merge ktrace-lwp.

Revision 1.11.2.9 / (download) - annotate - [select for diffs], Thu Nov 10 13:56:47 2005 UTC (12 years, 1 month ago) by skrll
Branch: ktrace-lwp
Changes since 1.11.2.8: +8 -891 lines
Diff to previous 1.11.2.8 (colored) next main 1.12 (colored) to selected 1.4 (colored)

Sync with HEAD. Here we go again...

Revision 1.35 / (download) - annotate - [select for diffs], Mon Nov 7 11:42:34 2005 UTC (12 years, 1 month 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.4 (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.31.4.1 / (download) - annotate - [select for diffs], Fri Apr 29 11:28:12 2005 UTC (12 years, 7 months ago) by kent
Branch: kent-audio2
Changes since 1.31: +4 -4 lines
Diff to previous 1.31 (colored) next main 1.32 (colored) to selected 1.4 (colored)

sync with -current

Revision 1.11.2.8 / (download) - annotate - [select for diffs], Fri Apr 1 14:27:39 2005 UTC (12 years, 8 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.11.2.7: +3 -3 lines
Diff to previous 1.11.2.7 (colored) to selected 1.4 (colored)

Sync with HEAD.

Revision 1.34 / (download) - annotate - [select for diffs], Fri Apr 1 11:59:31 2005 UTC (12 years, 8 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.4 (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.31.6.2 / (download) - annotate - [select for diffs], Sat Mar 19 08:33:02 2005 UTC (12 years, 9 months ago) by yamt
Branch: yamt-km
Changes since 1.31.6.1: +4 -2 lines
Diff to previous 1.31.6.1 (colored) to branchpoint 1.31 (colored) next main 1.32 (colored) to selected 1.4 (colored)

sync with head.  xen and whitespace.  xen part is not finished.

Revision 1.25.2.2.2.1 / (download) - annotate - [select for diffs], Wed Mar 16 11:49:59 2005 UTC (12 years, 9 months ago) by tron
Branch: netbsd-2
CVS Tags: netbsd-2-1-RELEASE, netbsd-2-1-RC6, netbsd-2-1-RC5, netbsd-2-1-RC4, netbsd-2-1-RC3, netbsd-2-1-RC2, netbsd-2-1-RC1, netbsd-2-1
Changes since 1.25.2.2: +2 -0 lines
Diff to previous 1.25.2.2 (colored) next main 1.25.2.3 (colored) to selected 1.4 (colored)

Pull up revision 1.33 (requested by fvdl in ticket #1317):
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.25.2.3 / (download) - annotate - [select for diffs], Wed Mar 16 11:49:54 2005 UTC (12 years, 9 months ago) by tron
Branch: netbsd-2-0
CVS Tags: netbsd-2-0-3-RELEASE, netbsd-2-0-2-RELEASE
Changes since 1.25.2.2: +2 -0 lines
Diff to previous 1.25.2.2 (colored) to branchpoint 1.25 (colored) next main 1.26 (colored) to selected 1.4 (colored)

Pull up revision 1.33 (requested by fvdl in ticket #1317):
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.33 / (download) - annotate - [select for diffs], Mon Mar 14 21:50:59 2005 UTC (12 years, 9 months 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.4 (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.11.2.7 / (download) - annotate - [select for diffs], Fri Mar 4 16:38:39 2005 UTC (12 years, 9 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.11.2.6: +2 -2 lines
Diff to previous 1.11.2.6 (colored) to selected 1.4 (colored)

Sync with HEAD.

Hi Perry!

Revision 1.32 / (download) - annotate - [select for diffs], Wed Mar 2 12:00:25 2005 UTC (12 years, 9 months ago) by mycroft
Branch: MAIN
Changes since 1.31: +2 -2 lines
Diff to previous 1.31 (colored) to selected 1.4 (colored)

Copyright maintenance.

Revision 1.31.6.1 / (download) - annotate - [select for diffs], Sun Feb 13 10:47:14 2005 UTC (12 years, 10 months ago) by yamt
Branch: yamt-km
Changes since 1.31: +1 -3 lines
Diff to previous 1.31 (colored) to selected 1.4 (colored)

remove no longer needed .globl decls.

Revision 1.11.2.6 / (download) - annotate - [select for diffs], Tue Sep 21 13:16:42 2004 UTC (13 years, 2 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.11.2.5: +1 -1 lines
Diff to previous 1.11.2.5 (colored) to selected 1.4 (colored)

Fix the sync with head I botched.

Revision 1.25.2.2 / (download) - annotate - [select for diffs], Mon Sep 20 05:57:11 2004 UTC (13 years, 2 months ago) by tron
Branch: netbsd-2-0
CVS Tags: netbsd-2-base, netbsd-2-0-RELEASE, netbsd-2-0-RC5, netbsd-2-0-RC4, netbsd-2-0-RC3, netbsd-2-0-RC2, netbsd-2-0-RC1, netbsd-2-0-1-RELEASE
Branch point for: netbsd-2
Changes since 1.25.2.1: +10 -3 lines
Diff to previous 1.25.2.1 (colored) to branchpoint 1.25 (colored) to selected 1.4 (colored)

Pull up revision 1.29 (requested by grant in ticket #865):
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.11.2.5 / (download) - annotate - [select for diffs], Sat Sep 18 14:35:27 2004 UTC (13 years, 3 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.11.2.4: +1 -1 lines
Diff to previous 1.11.2.4 (colored) to selected 1.4 (colored)

Sync with HEAD.

Revision 1.11.2.4 / (download) - annotate - [select for diffs], Fri Sep 3 12:44:47 2004 UTC (13 years, 3 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.11.2.3: +13 -31 lines
Diff to previous 1.11.2.3 (colored) to selected 1.4 (colored)

Sync with HEAD

Revision 1.31 / (download) - annotate - [select for diffs], Thu Aug 26 10:12:33 2004 UTC (13 years, 3 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.4 (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.11.2.3 / (download) - annotate - [select for diffs], Wed Aug 25 06:57:19 2004 UTC (13 years, 3 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.11.2.2: +53 -53 lines
Diff to previous 1.11.2.2 (colored) to selected 1.4 (colored)

Sync with HEAD.

Revision 1.30 / (download) - annotate - [select for diffs], Sun Aug 22 06:46:34 2004 UTC (13 years, 3 months ago) by junyoung
Branch: MAIN
Changes since 1.29: +53 -53 lines
Diff to previous 1.29 (colored) to selected 1.4 (colored)

Remove trailing spaces.

Revision 1.11.2.2 / (download) - annotate - [select for diffs], Thu Aug 12 11:41:13 2004 UTC (13 years, 4 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.11.2.1: +11 -4 lines
Diff to previous 1.11.2.1 (colored) to selected 1.4 (colored)

Sync with HEAD.

Revision 1.29 / (download) - annotate - [select for diffs], Thu Aug 5 15:25:29 2004 UTC (13 years, 4 months ago) by mycroft
Branch: MAIN
Changes since 1.28: +11 -4 lines
Diff to previous 1.28 (colored) to selected 1.4 (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.11.2.1 / (download) - annotate - [select for diffs], Tue Aug 3 10:35:49 2004 UTC (13 years, 4 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.11: +107 -64 lines
Diff to previous 1.11 (colored) to selected 1.4 (colored)

Sync with HEAD

Revision 1.28 / (download) - annotate - [select for diffs], Thu May 13 12:15:01 2004 UTC (13 years, 7 months ago) by yamt
Branch: MAIN
Changes since 1.27: +4 -1 lines
Diff to previous 1.27 (colored) to selected 1.4 (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 (13 years, 7 months ago) by yamt
Branch: MAIN
Changes since 1.26: +4 -4 lines
Diff to previous 1.26 (colored) to selected 1.4 (colored)

add '.L' prefixes to local labels.

Revision 1.25.2.1 / (download) - annotate - [select for diffs], Fri Apr 16 07:58:34 2004 UTC (13 years, 8 months ago) by tron
Branch: netbsd-2-0
Changes since 1.25: +9 -4 lines
Diff to previous 1.25 (colored) to selected 1.4 (colored)

Pull up revision 1.26 (requested by yamt in ticket #138):
- 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.26 / (download) - annotate - [select for diffs], Mon Apr 12 13:17:46 2004 UTC (13 years, 8 months ago) by yamt
Branch: MAIN
Changes since 1.25: +9 -4 lines
Diff to previous 1.25 (colored) to selected 1.4 (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 (13 years, 8 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.4 (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 (13 years, 9 months ago) by yamt
Branch: MAIN
Changes since 1.23: +53 -18 lines
Diff to previous 1.23 (colored) to selected 1.4 (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 (13 years, 10 months ago) by wiz
Branch: MAIN
Changes since 1.22: +1 -2 lines
Diff to previous 1.22 (colored) to selected 1.4 (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 (13 years, 10 months ago) by wiz
Branch: MAIN
Changes since 1.21: +3 -3 lines
Diff to previous 1.21 (colored) to selected 1.4 (colored)

Uppercase CPU, plural is CPUs.

Revision 1.21 / (download) - annotate - [select for diffs], Sun Jan 4 11:44:52 2004 UTC (13 years, 11 months ago) by jdolecek
Branch: MAIN
Changes since 1.20: +7 -12 lines
Diff to previous 1.20 (colored) to selected 1.4 (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 (14 years, 1 month ago) by dsl
Branch: MAIN
Changes since 1.19: +15 -12 lines
Diff to previous 1.19 (colored) to selected 1.4 (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 (14 years, 3 months ago) by christos
Branch: MAIN
Changes since 1.18: +7 -1 lines
Diff to previous 1.18 (colored) to selected 1.4 (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 (14 years, 3 months ago) by christos
Branch: MAIN
Changes since 1.17: +7 -6 lines
Diff to previous 1.17 (colored) to selected 1.4 (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 (14 years, 3 months ago) by christos
Branch: MAIN
Changes since 1.16: +2 -2 lines
Diff to previous 1.16 (colored) to selected 1.4 (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 (14 years, 3 months ago) by christos
Branch: MAIN
Changes since 1.15: +3 -2 lines
Diff to previous 1.15 (colored) to selected 1.4 (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 (14 years, 3 months ago) by fvdl
Branch: MAIN
Changes since 1.14: +5 -1 lines
Diff to previous 1.14 (colored) to selected 1.4 (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 (14 years, 4 months ago) by fvdl
Branch: MAIN
Changes since 1.13: +2 -1 lines
Diff to previous 1.13 (colored) to selected 1.4 (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 (14 years, 4 months ago) by christos
Branch: MAIN
Changes since 1.12: +8 -8 lines
Diff to previous 1.12 (colored) to selected 1.4 (colored)

use KERNBASE_LOCORE

Revision 1.12 / (download) - annotate - [select for diffs], Thu Aug 7 16:27:54 2003 UTC (14 years, 4 months ago) by agc
Branch: MAIN
Changes since 1.11: +2 -6 lines
Diff to previous 1.11 (colored) to selected 1.4 (colored)

Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.

Revision 1.11 / (download) - annotate - [select for diffs], Thu Jun 26 16:47:15 2003 UTC (14 years, 5 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.4 (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 (14 years, 7 months ago) by fvdl
Branch: MAIN
Changes since 1.9: +3 -3 lines
Diff to previous 1.9 (colored) to selected 1.4 (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 (14 years, 7 months ago) by fvdl
Branch: MAIN
Changes since 1.8: +5 -3 lines
Diff to previous 1.8 (colored) to selected 1.4 (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 (14 years, 7 months ago) by fvdl
Branch: MAIN
Changes since 1.7: +3 -2 lines
Diff to previous 1.7 (colored) to selected 1.4 (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 (14 years, 8 months ago) by thorpej
Branch: MAIN
Changes since 1.6: +13 -13 lines
Diff to previous 1.6 (colored) to selected 1.4 (colored)

Use PAGE_SIZE rather than NBPG.

Revision 1.6 / (download) - annotate - [select for diffs], Sun Feb 9 15:49:34 2003 UTC (14 years, 10 months ago) by drochner
Branch: MAIN
Changes since 1.5: +2 -2 lines
Diff to previous 1.5 (colored) to selected 1.4 (colored)

fix a lint stub

Revision 1.5 / (download) - annotate - [select for diffs], Fri Jan 17 23:10:30 2003 UTC (14 years, 11 months ago) by thorpej
Branch: MAIN
Changes since 1.4: +121 -71 lines
Diff to previous 1.4 (colored)

Merge the nathanw_sa branch.

Revision 1.1.2.8 / (download) - annotate - [select for diffs], Fri Jan 3 23:02:59 2003 UTC (14 years, 11 months ago) by thorpej
Branch: nathanw_sa
CVS Tags: nathanw_sa_end
Changes since 1.1.2.7: +8 -75 lines
Diff to previous 1.1.2.7 (colored) next main 1.2 (colored) to selected 1.4 (colored)

Merge switch_exit() and switch_lwp_exit().

Revision 1.1.2.7 / (download) - annotate - [select for diffs], Tue Dec 31 01:03:47 2002 UTC (14 years, 11 months ago) by thorpej
Branch: nathanw_sa
Changes since 1.1.2.6: +8 -34 lines
Diff to previous 1.1.2.6 (colored) to selected 1.4 (colored)

Rename cpu_preempt() to cpu_switchto(), and make the caller remove the
new process from its run queue before calling cpu_switchto().

While here, make a few cpu_switch() and cpu_switchto() implementations
get the outgoing LWP from the args, rather than looking at the curlwp
variable.

Revision 1.1.2.6 / (download) - annotate - [select for diffs], Mon Dec 23 16:15:28 2002 UTC (14 years, 11 months ago) by skrll
Branch: nathanw_sa
Changes since 1.1.2.5: +2 -2 lines
Diff to previous 1.1.2.5 (colored) to selected 1.4 (colored)

Typo in comment

Revision 1.1.2.5 / (download) - annotate - [select for diffs], Thu Dec 19 00:33:48 2002 UTC (15 years ago) by thorpej
Branch: nathanw_sa
Changes since 1.1.2.4: +4 -82 lines
Diff to previous 1.1.2.4 (colored) to selected 1.4 (colored)

Sync with HEAD.

Revision 1.4.2.1 / (download) - annotate - [select for diffs], Wed Dec 18 05:00:59 2002 UTC (15 years ago) by gmcgarry
Branch: gmcgarry_ctxsw
Changes since 1.4: +134 -113 lines
Diff to previous 1.4 (colored) next main 1.5 (colored)

Remove the scheduler semantics from machine-dependent context switch.

Revision 1.4 / (download) - annotate - [selected], Tue Dec 17 20:49:07 2002 UTC (15 years 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)

Use callee-saved registers in RAS processing.

Revision 1.3 / (download) - annotate - [select for diffs], Tue Dec 17 19:47:15 2002 UTC (15 years 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.4 (colored)

Move to MI runqueue functions.

Revision 1.1.2.4 / (download) - annotate - [select for diffs], Thu Dec 12 12:43:07 2002 UTC (15 years ago) by skrll
Branch: nathanw_sa
Changes since 1.1.2.3: +5 -5 lines
Diff to previous 1.1.2.3 (colored) to selected 1.4 (colored)

Fix some things after the recent merge.

Revision 1.1.2.3 / (download) - annotate - [select for diffs], Wed Dec 11 16:00:50 2002 UTC (15 years ago) by thorpej
Branch: nathanw_sa
Changes since 1.1.2.2: +5 -3 lines
Diff to previous 1.1.2.2 (colored) to selected 1.4 (colored)

Sync with HEAD.

Revision 1.2 / (download) - annotate - [select for diffs], Wed Dec 11 12:02:07 2002 UTC (15 years ago) by fvdl
Branch: MAIN
Changes since 1.1: +5 -3 lines
Diff to previous 1.1 (colored) to selected 1.4 (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.2.2 / (download) - annotate - [select for diffs], Wed Dec 11 06:00:55 2002 UTC (15 years ago) by thorpej
Branch: nathanw_sa
Changes since 1.1.2.1: +2387 -0 lines
Diff to previous 1.1.2.1 (colored) to selected 1.4 (colored)

Sync with HEAD.

Revision 1.1.2.1, Fri Nov 22 15:01:17 2002 UTC (15 years ago) by thorpej
Branch: nathanw_sa
Changes since 1.1: +0 -2244 lines
FILE REMOVED

file locore.S was added on branch nathanw_sa on 2002-12-11 06:00:55 +0000

Revision 1.1 / (download) - annotate - [select for diffs], Fri Nov 22 15:01:17 2002 UTC (15 years ago) by fvdl
Branch: MAIN
Branch point for: nathanw_sa
Diff to selected 1.4 (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

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.




CVSweb <webmaster@jp.NetBSD.org>