The NetBSD Project

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

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

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.208.8.1 / (download) - annotate - [select for diffs], Mon Jul 31 13:56:15 2023 UTC (6 months, 3 weeks ago) by martin
Branch: netbsd-8
Changes since 1.208: +27 -2 lines
Diff to previous 1.208 (colored) next main 1.209 (colored)

Pull up following revision(s) (requested by riastradh in ticket #1859):

	sys/arch/ia64/ia64/vm_machdep.c: revision 1.18
	sys/arch/powerpc/powerpc/locore_subr.S: revision 1.67
	sys/arch/aarch64/aarch64/locore.S: revision 1.91
	sys/arch/mips/include/asm.h: revision 1.74
	sys/arch/hppa/include/cpu.h: revision 1.13
	sys/arch/arm/arm/armv6_start.S: revision 1.38
	 (applied also to sys/arch/arm/cortex/a9_mpsubr.S,
	 sys/arch/arm/cortex/a9_mpsubr.S,
	 sys/arch/arm/cortex/cortex_init.S)
	sys/arch/evbmips/ingenic/cpu_startup.S: revision 1.2
	sys/arch/mips/mips/locore.S: revision 1.229
	sys/arch/alpha/include/asm.h: revision 1.45
	 (applied to sys/arch/alpha/alpha/multiproc.s)
	sys/arch/sparc64/sparc64/locore.s: revision 1.432
	sys/arch/vax/vax/subr.S: revision 1.42
	sys/arch/mips/mips/locore_mips3.S: revision 1.116
	sys/arch/ia64/ia64/machdep.c: revision 1.44
	sys/arch/arm/arm32/cpuswitch.S: revision 1.106
	sys/arch/sparc/sparc/locore.s: revision 1.284
	(all via patch)

aarch64: Add missing barriers in cpu_switchto.
Details in comments.

Note: This is a conservative change that inserts a barrier where
there was a comment saying none is needed, which is probably correct.
The goal of this change is to systematically add barriers to be
confident in correctness; subsequent changes may remove some bariers,
as an optimization, with an explanation of why each barrier is not
needed.

PR kern/57240

alpha: Add missing barriers in cpu_switchto.
Details in comments.

arm32: Add missing barriers in cpu_switchto.
Details in comments.

hppa: Add missing barriers in cpu_switchto.
Not sure hppa has ever had working MULTIPROCESSOR, so maybe no
pullups needed?

ia64: Add missing barriers in cpu_switchto.
(ia64 has never really worked, so no pullups needed, right?)

mips: Add missing barriers in cpu_switchto.
Details in comments.

powerpc: Add missing barriers in cpu_switchto.
Details in comments.

sparc: Add missing barriers in cpu_switchto.

sparc64: Add missing barriers in cpu_switchto.
Details in comments.

vax: Note where cpu_switchto needs barriers.

Not sure vax has ever had working MULTIPROCESSOR, though, and I'm not
even sure how to spell store-before-load barriers on VAX, so no
functional change for now.

Revision 1.219.4.2 / (download) - annotate - [select for diffs], Mon Jul 31 13:44:16 2023 UTC (6 months, 3 weeks ago) by martin
Branch: netbsd-9
Changes since 1.219.4.1: +27 -2 lines
Diff to previous 1.219.4.1 (colored) to branchpoint 1.219 (colored) next main 1.220 (colored)

Pull up following revision(s) (requested by riastradh in ticket #1676):

	sys/arch/ia64/ia64/vm_machdep.c: revision 1.18
	sys/arch/powerpc/powerpc/locore_subr.S: revision 1.67
	sys/arch/aarch64/aarch64/locore.S: revision 1.91
	sys/arch/mips/include/asm.h: revision 1.74
	sys/arch/hppa/include/cpu.h: revision 1.13
	sys/arch/arm/arm/armv6_start.S: revision 1.38
	sys/arch/evbmips/ingenic/cpu_startup.S: revision 1.2
	sys/arch/mips/mips/locore.S: revision 1.229
	sys/arch/aarch64/aarch64/cpuswitch.S: revision 1.40
	sys/arch/alpha/include/asm.h: revision 1.45
	sys/arch/sparc64/sparc64/locore.s: revision 1.432
	sys/arch/vax/vax/subr.S: revision 1.42
	sys/arch/mips/mips/locore_mips3.S: revision 1.116
	sys/arch/ia64/ia64/machdep.c: revision 1.44
	sys/arch/arm/arm32/cpuswitch.S: revision 1.106
	sys/arch/sparc/sparc/locore.s: revision 1.284
	(all via patch)

aarch64: Add missing barriers in cpu_switchto.
Details in comments.

Note: This is a conservative change that inserts a barrier where
there was a comment saying none is needed, which is probably correct.
The goal of this change is to systematically add barriers to be
confident in correctness; subsequent changes may remove some bariers,
as an optimization, with an explanation of why each barrier is not
needed.

PR kern/57240

alpha: Add missing barriers in cpu_switchto.
Details in comments.

arm32: Add missing barriers in cpu_switchto.
Details in comments.

hppa: Add missing barriers in cpu_switchto.
Not sure hppa has ever had working MULTIPROCESSOR, so maybe no
pullups needed?

ia64: Add missing barriers in cpu_switchto.
(ia64 has never really worked, so no pullups needed, right?)

mips: Add missing barriers in cpu_switchto.
Details in comments.

powerpc: Add missing barriers in cpu_switchto.
Details in comments.

sparc: Add missing barriers in cpu_switchto.

sparc64: Add missing barriers in cpu_switchto.
Details in comments.

vax: Note where cpu_switchto needs barriers.

Not sure vax has ever had working MULTIPROCESSOR, though, and I'm not
even sure how to spell store-before-load barriers on VAX, so no
functional change for now.

Revision 1.228.12.1 / (download) - annotate - [select for diffs], Mon Jul 31 13:36:31 2023 UTC (6 months, 3 weeks ago) by martin
Branch: netbsd-10
CVS Tags: netbsd-10-0-RC4, netbsd-10-0-RC3, netbsd-10-0-RC2, netbsd-10-0-RC1
Changes since 1.228: +27 -2 lines
Diff to previous 1.228 (colored) next main 1.229 (colored)

Pull up following revision(s) (requested by riastradh in ticket #264):

	sys/arch/ia64/ia64/vm_machdep.c: revision 1.18
	sys/arch/powerpc/powerpc/locore_subr.S: revision 1.67
	sys/arch/aarch64/aarch64/locore.S: revision 1.91
	sys/arch/mips/include/asm.h: revision 1.74
	sys/arch/hppa/include/cpu.h: revision 1.13
	sys/arch/arm/arm/armv6_start.S: revision 1.38
	sys/arch/evbmips/ingenic/cpu_startup.S: revision 1.2
	sys/arch/mips/mips/locore.S: revision 1.229
	sys/arch/aarch64/aarch64/cpuswitch.S: revision 1.40
	sys/arch/alpha/include/asm.h: revision 1.45
	sys/arch/sparc64/sparc64/locore.s: revision 1.432
	sys/arch/vax/vax/subr.S: revision 1.42
	sys/arch/mips/mips/locore_mips3.S: revision 1.116
	sys/arch/riscv/riscv/cpu_switch.S: revision 1.3
	sys/arch/ia64/ia64/machdep.c: revision 1.44
	sys/arch/arm/arm32/cpuswitch.S: revision 1.106
	sys/arch/sparc/sparc/locore.s: revision 1.284

aarch64: Add missing barriers in cpu_switchto.
Details in comments.

Note: This is a conservative change that inserts a barrier where
there was a comment saying none is needed, which is probably correct.
The goal of this change is to systematically add barriers to be
confident in correctness; subsequent changes may remove some bariers,
as an optimization, with an explanation of why each barrier is not
needed.

PR kern/57240

alpha: Add missing barriers in cpu_switchto.
Details in comments.

arm32: Add missing barriers in cpu_switchto.
Details in comments.

hppa: Add missing barriers in cpu_switchto.
Not sure hppa has ever had working MULTIPROCESSOR, so maybe no
pullups needed?

ia64: Add missing barriers in cpu_switchto.
(ia64 has never really worked, so no pullups needed, right?)

mips: Add missing barriers in cpu_switchto.
Details in comments.

powerpc: Add missing barriers in cpu_switchto.
Details in comments.

riscv: Add missing barriers in cpu_switchto.
Details in comments.

sparc: Add missing barriers in cpu_switchto.

sparc64: Add missing barriers in cpu_switchto.
Details in comments.

vax: Note where cpu_switchto needs barriers.

Not sure vax has ever had working MULTIPROCESSOR, though, and I'm not
even sure how to spell store-before-load barriers on VAX, so no
functional change for now.

Revision 1.231 / (download) - annotate - [select for diffs], Sat Jun 24 05:31:04 2023 UTC (8 months ago) by msaitoh
Branch: MAIN
CVS Tags: thorpej-ifq-base, thorpej-ifq, thorpej-altq-separation-base, thorpej-altq-separation, HEAD
Changes since 1.230: +3 -3 lines
Diff to previous 1.230 (colored)

Fix typo in comment.

Revision 1.230 / (download) - annotate - [select for diffs], Wed Mar 1 08:18:03 2023 UTC (11 months, 3 weeks ago) by riastradh
Branch: MAIN
Changes since 1.229: +9 -3 lines
Diff to previous 1.229 (colored)

mips: Optimization: Omit needless membar when triggering softint.

When we are triggering a softint, it can't already hold any mutexes.
So any path to mutex_exit(mtx) must go via mutex_enter(mtx), which is
always done with atomic r/m/w, and we need not issue any explicit
barrier between ci->ci_curlwp = softlwp and a potential load of
mtx->mtx_owner in mutex_exit.

PR kern/57240

XXX pullup-8
XXX pullup-9
XXX pullup-10

Revision 1.229 / (download) - annotate - [select for diffs], Thu Feb 23 14:56:00 2023 UTC (12 months ago) by riastradh
Branch: MAIN
Changes since 1.228: +27 -2 lines
Diff to previous 1.228 (colored)

mips: Add missing barriers in cpu_switchto.

Details in comments.

PR kern/57240

XXX pullup-8
XXX pullup-9
XXX pullup-10

Revision 1.227.2.1 / (download) - annotate - [select for diffs], Thu Jun 17 04:46:22 2021 UTC (2 years, 8 months ago) by thorpej
Branch: thorpej-i2c-spi-conf
Changes since 1.227: +9 -9 lines
Diff to previous 1.227 (colored) next main 1.228 (colored)

Sync w/ HEAD.

Revision 1.227.4.1 / (download) - annotate - [select for diffs], Mon May 31 22:15:14 2021 UTC (2 years, 8 months ago) by cjep
Branch: cjep_staticlib_x
Changes since 1.227: +9 -9 lines
Diff to previous 1.227 (colored) next main 1.228 (colored)

sync with head

Revision 1.228 / (download) - annotate - [select for diffs], Sat May 29 12:35:27 2021 UTC (2 years, 8 months ago) by simonb
Branch: MAIN
CVS Tags: thorpej-i2c-spi-conf2-base, thorpej-i2c-spi-conf2, thorpej-i2c-spi-conf-base, thorpej-futex2-base, thorpej-futex2, thorpej-cfargs2-base, thorpej-cfargs2, netbsd-10-base, cjep_sun2x-base1, cjep_sun2x-base, cjep_sun2x, cjep_staticlib_x-base1, bouyer-sunxi-drm-base, bouyer-sunxi-drm
Branch point for: netbsd-10
Changes since 1.227: +9 -9 lines
Diff to previous 1.227 (colored)

Update the FPU register names and bit definitions to something somewhat
modern (MIPS32/MIPS64) and convert to __BIT/__BITS.

Revision 1.227 / (download) - annotate - [select for diffs], Sun Apr 18 10:40:34 2021 UTC (2 years, 10 months ago) by mrg
Branch: MAIN
CVS Tags: cjep_staticlib_x-base
Branch point for: thorpej-i2c-spi-conf, cjep_staticlib_x
Changes since 1.226: +30 -32 lines
Diff to previous 1.226 (colored)

move softint_cleanup, which is a part of softint_fast_dispatch(),
into the section of code known as softint_fast_dispatch().

previous:

db> x/i softint_cleanup
netbsd:cpu_switchto+0xd4:       ld      t0,0(t8)

except that cpu_switchto() ends at cpu_switchto+0xd0.

now:

db> x/i softint_cleanup
netbsd:softint_fast_dispatch+0xa4:      ld      t0,0(t8)


tested on OCTEON.

Revision 1.226 / (download) - annotate - [select for diffs], Sat Sep 26 08:21:10 2020 UTC (3 years, 4 months ago) by simonb
Branch: MAIN
CVS Tags: thorpej-futex-base, thorpej-futex, thorpej-cfargs-base, thorpej-cfargs
Changes since 1.225: +4 -6 lines
Diff to previous 1.225 (colored)

Use EXPORT for start and EXPORT_OBJECT for kernel_text instead of
by-hand exporting.  Using EXPORT_OBJECT for kernel_text also fixes
"bt/a" from DDB.

Revision 1.225 / (download) - annotate - [select for diffs], Fri Jul 31 20:04:18 2020 UTC (3 years, 6 months ago) by skrll
Branch: MAIN
Changes since 1.224: +3 -3 lines
Diff to previous 1.224 (colored)

Whitespace / comment alignment

Revision 1.224 / (download) - annotate - [select for diffs], Fri Jul 31 20:03:20 2020 UTC (3 years, 6 months ago) by skrll
Branch: MAIN
Changes since 1.223: +3 -3 lines
Diff to previous 1.223 (colored)

Trailing whitespace

Revision 1.223 / (download) - annotate - [select for diffs], Mon Jul 20 03:23:42 2020 UTC (3 years, 7 months ago) by simonb
Branch: MAIN
Changes since 1.222: +3 -3 lines
Diff to previous 1.222 (colored)

Use MIPS_EBASE_CPUNUM instead of magic numbers.

Revision 1.218.2.3 / (download) - annotate - [select for diffs], Mon Apr 13 08:04:00 2020 UTC (3 years, 10 months ago) by martin
Branch: phil-wifi
Changes since 1.218.2.2: +2 -1 lines
Diff to previous 1.218.2.2 (colored) to branchpoint 1.218 (colored) next main 1.219 (colored)

Mostly merge changes from HEAD upto 20200411

Revision 1.218.2.2 / (download) - annotate - [select for diffs], Wed Apr 8 14:07:45 2020 UTC (3 years, 10 months ago) by martin
Branch: phil-wifi
Changes since 1.218.2.1: +4 -7 lines
Diff to previous 1.218.2.1 (colored) to branchpoint 1.218 (colored)

Merge changes from current as of 20200406

Revision 1.220.2.1 / (download) - annotate - [select for diffs], Fri Jan 17 21:47:27 2020 UTC (4 years, 1 month ago) by ad
Branch: ad-namecache
Changes since 1.220: +4 -7 lines
Diff to previous 1.220 (colored) next main 1.221 (colored)

Sync with head.

Revision 1.222 / (download) - annotate - [select for diffs], Wed Jan 8 20:59:19 2020 UTC (4 years, 1 month ago) by skrll
Branch: MAIN
CVS Tags: phil-wifi-20200421, phil-wifi-20200411, phil-wifi-20200406, is-mlppp-base, is-mlppp, bouyer-xenpvh-base2, bouyer-xenpvh-base1, bouyer-xenpvh-base, bouyer-xenpvh, ad-namecache-base3, ad-namecache-base2, ad-namecache-base1
Changes since 1.221: +4 -6 lines
Diff to previous 1.221 (colored)

oldlwp is always non-NULL in cpu_switchto so remove the test for NULL.

Revision 1.221 / (download) - annotate - [select for diffs], Wed Jan 8 17:38:42 2020 UTC (4 years, 1 month ago) by ad
Branch: MAIN
Changes since 1.220: +2 -3 lines
Diff to previous 1.220 (colored)

Hopefully fix some problems seen with MP support on non-x86, in particular
where curcpu() is defined as curlwp->l_cpu:

- mi_switch(): undo the ~2007ish optimisation to unlock curlwp before
  calling cpu_switchto().  It's not safe to let other actors mess with the
  LWP (in particular l->l_cpu) while it's still context switching.  This
  removes l->l_ctxswtch.

- Move the LP_RUNNING flag into l->l_flag and rename to LW_RUNNING since
  it's now covered by the LWP's lock.

- Ditch lwp_exit_switchaway() and just call mi_switch() instead.  Everything
  is in cache anyway so it wasn't buying much by trying to avoid saving old
  state.  This means cpu_switchto() will never be called with prevlwp ==
  NULL.

- Remove some KERNEL_LOCK handling which hasn't been needed for years.

Revision 1.219.4.1 / (download) - annotate - [select for diffs], Fri Sep 13 06:56:23 2019 UTC (4 years, 5 months ago) by martin
Branch: netbsd-9
CVS Tags: netbsd-9-3-RELEASE, netbsd-9-2-RELEASE, netbsd-9-1-RELEASE, netbsd-9-0-RELEASE, netbsd-9-0-RC2, netbsd-9-0-RC1
Changes since 1.219: +4 -3 lines
Diff to previous 1.219 (colored)

Pull up following revision(s) (requested by skrll in ticket #199):

	sys/arch/mips/mips/locore.S: revision 1.220

Fix a maya fix so that cobalt boots again.

Set MIPS_COP_0_CAUSE to zero before the rest of the initialisation

Revision 1.220 / (download) - annotate - [select for diffs], Thu Sep 5 15:48:13 2019 UTC (4 years, 5 months ago) by skrll
Branch: MAIN
CVS Tags: phil-wifi-20191119, ad-namecache-base
Branch point for: ad-namecache
Changes since 1.219: +4 -3 lines
Diff to previous 1.219 (colored)

Fix a maya fix so that cobalt boots again.

Set MIPS_COP_0_CAUSE to zero before the rest of the initialisation

Revision 1.218.2.1 / (download) - annotate - [select for diffs], Mon Jun 10 22:06:30 2019 UTC (4 years, 8 months ago) by christos
Branch: phil-wifi
Changes since 1.218: +8 -3 lines
Diff to previous 1.218 (colored)

Sync with HEAD

Revision 1.210.2.3 / (download) - annotate - [select for diffs], Sun Sep 30 01:45:45 2018 UTC (5 years, 4 months ago) by pgoyette
Branch: pgoyette-compat
CVS Tags: pgoyette-compat-merge-20190127
Changes since 1.210.2.2: +8 -3 lines
Diff to previous 1.210.2.2 (colored) to branchpoint 1.210 (colored) next main 1.211 (colored)

Ssync with HEAD

Revision 1.219 / (download) - annotate - [select for diffs], Fri Sep 7 21:14:45 2018 UTC (5 years, 5 months ago) by macallan
Branch: MAIN
CVS Tags: phil-wifi-20190609, pgoyette-compat-20190127, pgoyette-compat-20190118, pgoyette-compat-1226, pgoyette-compat-1126, pgoyette-compat-1020, pgoyette-compat-0930, netbsd-9-base, isaki-audio2-base, isaki-audio2
Branch point for: netbsd-9
Changes since 1.218: +8 -3 lines
Diff to previous 1.218 (colored)

re-enable 64bit addressing in n32 kernels
Now these work again, at least on my Indy.

Revision 1.210.2.2 / (download) - annotate - [select for diffs], Fri Mar 30 06:20:12 2018 UTC (5 years, 10 months ago) by pgoyette
Branch: pgoyette-compat
Changes since 1.210.2.1: +8 -6 lines
Diff to previous 1.210.2.1 (colored) to branchpoint 1.210 (colored)

Resolve conflicts between branch and HEAD

Revision 1.218 / (download) - annotate - [select for diffs], Wed Mar 28 17:56:52 2018 UTC (5 years, 10 months ago) by maya
Branch: MAIN
CVS Tags: phil-wifi-base, pgoyette-compat-0906, pgoyette-compat-0728, pgoyette-compat-0625, pgoyette-compat-0521, pgoyette-compat-0502, pgoyette-compat-0422, pgoyette-compat-0415, pgoyette-compat-0407, pgoyette-compat-0330
Branch point for: phil-wifi
Changes since 1.217: +8 -6 lines
Diff to previous 1.217 (colored)

Leave TS and RE alone for the benefit of emips, which failed
to boot even earlier after locore.S:1.211.

Do this unconditionally to avoid introducing more ifdefs.
Also tested on ci20 and erlite.

Revision 1.210.2.1 / (download) - annotate - [select for diffs], Thu Mar 15 09:12:03 2018 UTC (5 years, 11 months ago) by pgoyette
Branch: pgoyette-compat
Changes since 1.210: +42 -47 lines
Diff to previous 1.210 (colored)

Synch with HEAD

Revision 1.217 / (download) - annotate - [select for diffs], Wed Mar 7 20:48:00 2018 UTC (5 years, 11 months ago) by maya
Branch: MAIN
CVS Tags: pgoyette-compat-0322, pgoyette-compat-0315
Changes since 1.216: +2 -10 lines
Diff to previous 1.216 (colored)

Remove now duplicate code for enabling FPU before reading FPU_ID

Revision 1.216 / (download) - annotate - [select for diffs], Wed Mar 7 20:46:05 2018 UTC (5 years, 11 months ago) by maya
Branch: MAIN
Changes since 1.215: +2 -7 lines
Diff to previous 1.215 (colored)

Remove now duplicate code to read FPU_ID into t1

Revision 1.215 / (download) - annotate - [select for diffs], Wed Mar 7 20:43:53 2018 UTC (5 years, 11 months ago) by maya
Branch: MAIN
Changes since 1.214: +2 -16 lines
Diff to previous 1.214 (colored)

Remove duplicate confused code for enabling 64bit addressing

Revision 1.214 / (download) - annotate - [select for diffs], Wed Mar 7 15:56:33 2018 UTC (5 years, 11 months ago) by maya
Branch: MAIN
Changes since 1.213: +20 -2 lines
Diff to previous 1.213 (colored)

Add duplicate code to read the FPU ID.
enable & disable the FPU around it.

Revision 1.213 / (download) - annotate - [select for diffs], Wed Mar 7 15:52:43 2018 UTC (5 years, 11 months ago) by maya
Branch: MAIN
Changes since 1.212: +11 -10 lines
Diff to previous 1.212 (colored)

Move the hpcmips L1 cache disable hack up
where another machine-specific hacks exists.

Note that no existing kernel seems to enable this option.

Revision 1.212 / (download) - annotate - [select for diffs], Wed Mar 7 15:49:45 2018 UTC (5 years, 11 months ago) by maya
Branch: MAIN
Changes since 1.211: +10 -2 lines
Diff to previous 1.211 (colored)

Add duplicate code that enables 64bit addressing under the right
macro conditions that is, _LP64.

The existing, previous code uses NOFPU as a condition for it.

This adds duplicated code (and later removes) for easy bisecting.

Revision 1.211 / (download) - annotate - [select for diffs], Wed Mar 7 15:44:15 2018 UTC (5 years, 11 months ago) by maya
Branch: MAIN
Changes since 1.210: +10 -15 lines
Diff to previous 1.210 (colored)

Replace early interrupt disable code.

As suggested by dh, carefully disable interrupts before frobbing
interrupt mask, which might trigger more interrupts.

Don't bother with keeping BEV and such.
Note that we are zeroing out STATUS later on in the (NOFPU || emips)
case right now.

This change is risky for emips which wasn't tested and didn't reach
userland before.

Revision 1.210 / (download) - annotate - [select for diffs], Wed Jan 24 03:13:36 2018 UTC (6 years, 1 month ago) by maya
Branch: MAIN
CVS Tags: pgoyette-compat-base
Branch point for: pgoyette-compat
Changes since 1.209: +3 -3 lines
Diff to previous 1.209 (colored)

Clarify this is a load delay nop.

Revision 1.209 / (download) - annotate - [select for diffs], Wed Jan 24 03:11:29 2018 UTC (6 years, 1 month ago) by maya
Branch: MAIN
Changes since 1.208: +4 -3 lines
Diff to previous 1.208 (colored)

Add whitespace for clarity.

Revision 1.189.10.2 / (download) - annotate - [select for diffs], Sun Dec 3 11:36:28 2017 UTC (6 years, 2 months ago) by jdolecek
Branch: tls-maxphys
Changes since 1.189.10.1: +86 -22 lines
Diff to previous 1.189.10.1 (colored) to branchpoint 1.189 (colored) next main 1.190 (colored)

update from HEAD

Revision 1.202.2.3 / (download) - annotate - [select for diffs], Sat Jan 7 08:56:21 2017 UTC (7 years, 1 month ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.202.2.2: +2 -14 lines
Diff to previous 1.202.2.2 (colored) to branchpoint 1.202 (colored) next main 1.203 (colored)

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

Revision 1.190.14.5 / (download) - annotate - [select for diffs], Mon Dec 5 10:54:55 2016 UTC (7 years, 2 months ago) by skrll
Branch: nick-nhusb
Changes since 1.190.14.4: +6 -11 lines
Diff to previous 1.190.14.4 (colored) to branchpoint 1.190 (colored) next main 1.191 (colored)

Sync with HEAD

Revision 1.208 / (download) - annotate - [select for diffs], Wed Nov 9 11:50:09 2016 UTC (7 years, 3 months ago) by maya
Branch: MAIN
CVS Tags: tls-maxphys-base-20171202, prg-localcount2-base3, prg-localcount2-base2, prg-localcount2-base1, prg-localcount2-base, prg-localcount2, pgoyette-localcount-20170426, pgoyette-localcount-20170320, pgoyette-localcount-20170107, perseant-stdc-iso10646-base, perseant-stdc-iso10646, nick-nhusb-base-20170825, nick-nhusb-base-20170204, nick-nhusb-base-20161204, netbsd-8-base, netbsd-8-2-RELEASE, netbsd-8-1-RELEASE, netbsd-8-1-RC1, netbsd-8-0-RELEASE, netbsd-8-0-RC2, netbsd-8-0-RC1, matt-nb8-mediatek-base, matt-nb8-mediatek, jdolecek-ncq-base, jdolecek-ncq, bouyer-socketcan-base1, bouyer-socketcan-base, bouyer-socketcan
Branch point for: netbsd-8
Changes since 1.207: +2 -8 lines
Diff to previous 1.207 (colored)

Move MFC0_HAZARD definition to asm.h instead of defining it twice

Revision 1.202.2.2 / (download) - annotate - [select for diffs], Fri Nov 4 14:49:02 2016 UTC (7 years, 3 months ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.202.2.1: +6 -5 lines
Diff to previous 1.202.2.1 (colored) to branchpoint 1.202 (colored)

Sync with HEAD

Revision 1.207 / (download) - annotate - [select for diffs], Thu Oct 13 18:58:00 2016 UTC (7 years, 4 months ago) by macallan
Branch: MAIN
CVS Tags: pgoyette-localcount-20161104
Changes since 1.206: +6 -5 lines
Diff to previous 1.206 (colored)

include locore.h for MIPS3_PLUS, while there annotate some #else and #endif

Revision 1.190.14.4 / (download) - annotate - [select for diffs], Wed Oct 5 20:55:32 2016 UTC (7 years, 4 months ago) by skrll
Branch: nick-nhusb
Changes since 1.190.14.3: +17 -9 lines
Diff to previous 1.190.14.3 (colored) to branchpoint 1.190 (colored)

Sync with HEAD

Revision 1.206 / (download) - annotate - [select for diffs], Fri Aug 19 10:05:35 2016 UTC (7 years, 6 months ago) by skrll
Branch: MAIN
CVS Tags: nick-nhusb-base-20161004, localcount-20160914
Changes since 1.205: +4 -4 lines
Diff to previous 1.205 (colored)

Trailing whitespace

Revision 1.205 / (download) - annotate - [select for diffs], Sat Aug 13 08:08:11 2016 UTC (7 years, 6 months ago) by skrll
Branch: MAIN
Changes since 1.204: +2 -8 lines
Diff to previous 1.204 (colored)

Move the NOP_L macro into asm.h

Revision 1.202.2.1 / (download) - annotate - [select for diffs], Sat Aug 6 00:19:06 2016 UTC (7 years, 6 months ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.202: +5 -1 lines
Diff to previous 1.202 (colored)

Sync with HEAD

Revision 1.204 / (download) - annotate - [select for diffs], Wed Jul 27 09:32:35 2016 UTC (7 years, 7 months ago) by skrll
Branch: MAIN
CVS Tags: pgoyette-localcount-20160806
Changes since 1.203: +3 -1 lines
Diff to previous 1.203 (colored)

Sprinle RCSID

Revision 1.203 / (download) - annotate - [select for diffs], Tue Jul 26 05:52:55 2016 UTC (7 years, 7 months ago) by skrll
Branch: MAIN
Changes since 1.202: +3 -1 lines
Diff to previous 1.202 (colored)

Set the cause register to zero after disabling interrupts now that spl0
doesn't do it.

My cobalt now boots (again again)

Revision 1.202 / (download) - annotate - [select for diffs], Mon Jul 11 16:15:36 2016 UTC (7 years, 7 months ago) by matt
Branch: MAIN
CVS Tags: pgoyette-localcount-base, pgoyette-localcount-20160726
Branch point for: pgoyette-localcount
Changes since 1.201: +13 -3 lines
Diff to previous 1.201 (colored)

Change MIPS to use the common pmap code.
Switch to 8KB pages on CPUs with a R4K MMU.
Simplify cache code.
Merge in most of changes from matt-mips64 branch

Revision 1.190.14.3 / (download) - annotate - [select for diffs], Sat Jul 9 20:24:54 2016 UTC (7 years, 7 months ago) by skrll
Branch: nick-nhusb
Changes since 1.190.14.2: +16 -2 lines
Diff to previous 1.190.14.2 (colored) to branchpoint 1.190 (colored)

Sync with HEAD

Revision 1.201 / (download) - annotate - [select for diffs], Mon Jul 4 15:20:16 2016 UTC (7 years, 7 months ago) by maya
Branch: MAIN
CVS Tags: nick-nhusb-base-20160907
Changes since 1.200: +2 -2 lines
Diff to previous 1.200 (colored)

Always get cop0 STATUS register for savectx, not just in PARANOIA case.
We later save this value in PCB_CONTEXT+SF_REG_SR, it needs to be valid.

ok dholland@

Revision 1.200 / (download) - annotate - [select for diffs], Sat Jul 2 19:40:57 2016 UTC (7 years, 7 months ago) by maya
Branch: MAIN
Changes since 1.199: +2 -1 lines
Diff to previous 1.199 (colored)

Sprinkle MFC0_HAZARD everywhere.

ok dholland@

Revision 1.199 / (download) - annotate - [select for diffs], Sat Jul 2 18:29:59 2016 UTC (7 years, 7 months ago) by maya
Branch: MAIN
Changes since 1.198: +2 -1 lines
Diff to previous 1.198 (colored)

Another mfc hazard

Revision 1.198 / (download) - annotate - [select for diffs], Mon Jun 13 01:14:29 2016 UTC (7 years, 8 months ago) by dholland
Branch: MAIN
Changes since 1.197: +13 -1 lines
Diff to previous 1.197 (colored)

Add missing nops after mfc0 on mips1-3. Mostly from coypu; should fix
an issue posted a month ago or so on port-pmax.

Revision 1.190.14.2 / (download) - annotate - [select for diffs], Tue Sep 22 12:05:47 2015 UTC (8 years, 5 months ago) by skrll
Branch: nick-nhusb
Changes since 1.190.14.1: +33 -12 lines
Diff to previous 1.190.14.1 (colored) to branchpoint 1.190 (colored)

Sync with HEAD

Revision 1.197 / (download) - annotate - [select for diffs], Thu Jun 11 07:30:10 2015 UTC (8 years, 8 months ago) by matt
Branch: MAIN
CVS Tags: nick-nhusb-base-20160529, nick-nhusb-base-20160422, nick-nhusb-base-20160319, nick-nhusb-base-20151226, nick-nhusb-base-20150921
Changes since 1.196: +1 -2 lines
Diff to previous 1.196 (colored)

Don't include <machine/param.h> in .S files, get the needed values from assym.h
Define NBPG as UL to avoid integer over with NBXSEG on LP64 systems.
(.S files don't like numbers with UL appended to them).

Revision 1.196 / (download) - annotate - [select for diffs], Sun Jun 7 08:03:10 2015 UTC (8 years, 8 months ago) by matt
Branch: MAIN
Changes since 1.195: +2 -2 lines
Diff to previous 1.195 (colored)

Define COP0 register that use select value in <mips/cpuregs.h>
Use those new definitions

Revision 1.195 / (download) - annotate - [select for diffs], Sat Jun 6 20:55:45 2015 UTC (8 years, 8 months ago) by matt
Branch: MAIN
Changes since 1.194: +30 -8 lines
Diff to previous 1.194 (colored)

On mipsNN use the trap instruction to panic or pop into ddb instead of
looping forever in the PARANOIA chunks.

Revision 1.190.14.1 / (download) - annotate - [select for diffs], Sat Jun 6 14:40:02 2015 UTC (8 years, 8 months ago) by skrll
Branch: nick-nhusb
Changes since 1.190: +27 -1 lines
Diff to previous 1.190 (colored)

Sync with HEAD

Revision 1.194 / (download) - annotate - [select for diffs], Wed Jun 3 17:55:26 2015 UTC (8 years, 8 months ago) by matt
Branch: MAIN
CVS Tags: nick-nhusb-base-20150606
Changes since 1.193: +5 -1 lines
Diff to previous 1.193 (colored)

Save a few instructions and use ei on mipsNNr2.

Revision 1.193 / (download) - annotate - [select for diffs], Tue Jun 2 05:06:23 2015 UTC (8 years, 8 months ago) by matt
Branch: MAIN
Changes since 1.192: +5 -5 lines
Diff to previous 1.192 (colored)

Indent branch delay slot instructions.

Revision 1.192 / (download) - annotate - [select for diffs], Mon Jun 1 22:55:13 2015 UTC (8 years, 8 months ago) by matt
Branch: MAIN
Changes since 1.191: +4 -4 lines
Diff to previous 1.191 (colored)

Rework cavium support in preparation for MULTIPROCESSOR support

Revision 1.191 / (download) - annotate - [select for diffs], Tue May 19 00:00:23 2015 UTC (8 years, 9 months ago) by matt
Branch: MAIN
Changes since 1.190: +23 -1 lines
Diff to previous 1.190 (colored)

u-boot on the ERLITE will call the kernel entry point on each cpu specified
in the coremask argument.  Add code to deal with that.

Revision 1.188.2.2 / (download) - annotate - [select for diffs], Thu May 22 11:39:57 2014 UTC (9 years, 9 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.188.2.1: +1 -2 lines
Diff to previous 1.188.2.1 (colored) to branchpoint 1.188 (colored) next main 1.189 (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.189.10.1 / (download) - annotate - [select for diffs], Sun Jun 23 06:20:08 2013 UTC (10 years, 8 months ago) by tls
Branch: tls-maxphys
Changes since 1.189: +1 -2 lines
Diff to previous 1.189 (colored)

resync from head

Revision 1.190 / (download) - annotate - [select for diffs], Fri Mar 1 18:25:47 2013 UTC (10 years, 11 months ago) by joerg
Branch: MAIN
CVS Tags: yamt-pagecache-base9, tls-maxphys-base, tls-earlyentropy-base, tls-earlyentropy, rmind-smpnet-nbase, rmind-smpnet-base, rmind-smpnet, riastradh-xf86-video-intel-2-7-1-pre-2-21-15, riastradh-drm2-base3, riastradh-drm2-base2, riastradh-drm2-base1, riastradh-drm2-base, riastradh-drm2, nick-nhusb-base-20150406, nick-nhusb-base, netbsd-7-nhusb-base-20170116, netbsd-7-nhusb-base, netbsd-7-nhusb, netbsd-7-base, netbsd-7-2-RELEASE, netbsd-7-1-RELEASE, netbsd-7-1-RC2, netbsd-7-1-RC1, netbsd-7-1-2-RELEASE, netbsd-7-1-1-RELEASE, netbsd-7-1, 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, netbsd-7-0, netbsd-7, khorben-n900, agc-symver-base, agc-symver
Branch point for: nick-nhusb
Changes since 1.189: +1 -2 lines
Diff to previous 1.189 (colored)

Retire OSI network stack. OK core@

Revision 1.188.2.1 / (download) - annotate - [select for diffs], Tue Apr 17 00:06:39 2012 UTC (11 years, 10 months ago) by yamt
Branch: yamt-pagecache
CVS Tags: yamt-pagecache-tag8
Changes since 1.188: +2 -2 lines
Diff to previous 1.188 (colored)

sync with head

Revision 1.167.38.25 / (download) - annotate - [select for diffs], Thu Feb 9 20:01:21 2012 UTC (12 years ago) by matt
Branch: matt-nb5-mips64
Changes since 1.167.38.24: +5 -4 lines
Diff to previous 1.167.38.24 (colored) to branchpoint 1.167 (colored) next main 1.168 (colored)

Update mips_fixup.c to version from -HEAD.
Move cpu_switchto to locore jumpvec and create a stub for it.

Revision 1.167.38.24 / (download) - annotate - [select for diffs], Thu Jan 19 08:28:49 2012 UTC (12 years, 1 month ago) by matt
Branch: matt-nb5-mips64
Changes since 1.167.38.23: +4 -2 lines
Diff to previous 1.167.38.23 (colored) to branchpoint 1.167 (colored)

When running an N32 kernel, run it with 64-bit addresses even though the
kernel itself will only use 32-bit addresses.  There are exceptions.
bus_space_handles are now register_t instead of intptr_t.  This allows them
to contain XKPHYS addresses.  Now bus_space can use XKPHYS addresses and
not required non-KSEG1 devices to be mapped in KSEG2 thereby leaving more
KSEG2 space for the kernel to use.

The cache range routines (but not index routines) now take a register_t
instead of vaddr_t so they can too take a XKPHYS address.  This allows the
pmap to use a page's XKPHYS address to clean sync the icache thereby avoiding
massive icache invalidations.

Since "cache" instruction effects are global to all CPUs and their caches, we
can use the above to greatly simplify MP page isyncs.  If using an O32 kernel
with pages outside KSEG0, index ops still need to be performed since there
isn't an a quick way of mapping the page.

Revision 1.189 / (download) - annotate - [select for diffs], Sun Nov 13 15:57:57 2011 UTC (12 years, 3 months ago) by tsutsui
Branch: MAIN
CVS Tags: yamt-pagecache-base8, yamt-pagecache-base7, yamt-pagecache-base6, yamt-pagecache-base5, yamt-pagecache-base4, netbsd-6-base, netbsd-6-1-RELEASE, netbsd-6-1-RC4, netbsd-6-1-RC3, netbsd-6-1-RC2, netbsd-6-1-RC1, netbsd-6-1-5-RELEASE, netbsd-6-1-4-RELEASE, netbsd-6-1-3-RELEASE, netbsd-6-1-2-RELEASE, netbsd-6-1-1-RELEASE, netbsd-6-1, 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, netbsd-6-0, netbsd-6, matt-nb6-plus-nbase, matt-nb6-plus-base, matt-nb6-plus, jmcneill-usbmp-pre-base2, jmcneill-usbmp-base9, jmcneill-usbmp-base8, jmcneill-usbmp-base7, jmcneill-usbmp-base6, jmcneill-usbmp-base5, jmcneill-usbmp-base4, jmcneill-usbmp-base3, jmcneill-usbmp-base2, jmcneill-usbmp-base10, jmcneill-usbmp-base, jmcneill-usbmp, jmcneill-audiomp3-base, jmcneill-audiomp3
Branch point for: tls-maxphys
Changes since 1.188: +2 -2 lines
Diff to previous 1.188 (colored)

Read-modify-write instead of read-modify-read.  (not sure if this was fatal)

Revision 1.188 / (download) - annotate - [select for diffs], Tue Aug 16 06:55:12 2011 UTC (12 years, 6 months ago) by matt
Branch: MAIN
CVS Tags: yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base
Branch point for: yamt-pagecache
Changes since 1.187: +12 -12 lines
Diff to previous 1.187 (colored)

Only jump through t9/ra (or k0) to help avoid hitting
the Loongson2 jump problem.

Revision 1.173.2.1 / (download) - annotate - [select for diffs], Mon Jun 6 09:06:06 2011 UTC (12 years, 8 months ago) by jruoho
Branch: jruoho-x86intr
Changes since 1.173: +301 -365 lines
Diff to previous 1.173 (colored) next main 1.174 (colored)

Sync with HEAD.

Revision 1.167.38.23 / (download) - annotate - [select for diffs], Fri Apr 29 08:26:26 2011 UTC (12 years, 9 months ago) by matt
Branch: matt-nb5-mips64
Changes since 1.167.38.22: +124 -134 lines
Diff to previous 1.167.38.22 (colored) to branchpoint 1.167 (colored)

Major merge to/from current.
Adds MIPS32/MIPS64 R2 support (24k, 74k, etc.) including COP0_USERLOCAL
Adds support for emulation of rdhwr $3,$29 instruction.
Major cleanup of SMP code.  (stable on multi-core / single thread per core)
llsc locking code only used in MP capable kernels.

Revision 1.172.4.2 / (download) - annotate - [select for diffs], Thu Apr 21 01:41:11 2011 UTC (12 years, 10 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.172.4.1: +34 -42 lines
Diff to previous 1.172.4.1 (colored) to branchpoint 1.172 (colored) next main 1.173 (colored)

sync with head

Revision 1.187 / (download) - annotate - [select for diffs], Wed Apr 6 13:30:33 2011 UTC (12 years, 10 months ago) by tsutsui
Branch: MAIN
CVS Tags: rmind-uvmplock-nbase, rmind-uvmplock-base, jym-xensuspend-nbase, jym-xensuspend-base, cherry-xenmp-base, cherry-xenmp
Changes since 1.186: +2 -2 lines
Diff to previous 1.186 (colored)

Fix build error in previous:
>> ../arch/mips/mips/locore.S:632: Error: register value used as expression

Revision 1.186 / (download) - annotate - [select for diffs], Wed Apr 6 05:37:59 2011 UTC (12 years, 10 months ago) by matt
Branch: MAIN
Changes since 1.185: +12 -20 lines
Diff to previous 1.185 (colored)

Don't bother saving T8 (MIPS_CURLWP).
Avoid branches when determining delay slot.

Revision 1.185 / (download) - annotate - [select for diffs], Tue Mar 15 07:39:22 2011 UTC (12 years, 11 months ago) by matt
Branch: MAIN
Changes since 1.184: +12 -24 lines
Diff to previous 1.184 (colored)

Add separate support for MIPS32R2 and MIPS64R2.
Use EHB/SSNOP and jr.hb ra as appropriate (COP0_SYNC now uses them).
Add support for COP_0_HWRENA and COP_0_USERLOCAL (use by rdhwr $3,$29
instruction for TLS support).
Add mips3+ reserved instruction handler to emulate rdhwr is many fewer
instructions.

Revision 1.184 / (download) - annotate - [select for diffs], Tue Mar 8 15:05:40 2011 UTC (12 years, 11 months ago) by tsutsui
Branch: MAIN
Changes since 1.183: +13 -1 lines
Diff to previous 1.183 (colored)

Sprinkle NOPs to avoid load delay hazard on R3000.

Revision 1.172.4.1 / (download) - annotate - [select for diffs], Sat Mar 5 20:51:06 2011 UTC (12 years, 11 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.172: +277 -333 lines
Diff to previous 1.172 (colored)

sync with head

Revision 1.173.4.2 / (download) - annotate - [select for diffs], Sat Mar 5 15:09:49 2011 UTC (12 years, 11 months ago) by bouyer
Branch: bouyer-quota2
Changes since 1.173.4.1: +270 -332 lines
Diff to previous 1.173.4.1 (colored) to branchpoint 1.173 (colored) next main 1.174 (colored)

Sync with HEAD

Revision 1.183 / (download) - annotate - [select for diffs], Sat Feb 26 13:58:34 2011 UTC (13 years ago) by tsutsui
Branch: MAIN
CVS Tags: bouyer-quota2-nbase
Changes since 1.182: +7 -4 lines
Diff to previous 1.182 (colored)

- clear MIPS_FPU_EXCEPTION_BITS in MIPS_FPU_CSR in SIGILL case
  as noted in commit log of rev 1.158
- update comment to reflect changes in rev 1.109

Revision 1.182 / (download) - annotate - [select for diffs], Sat Feb 26 09:47:24 2011 UTC (13 years ago) by tsutsui
Branch: MAIN
Changes since 1.181: +2 -2 lines
Diff to previous 1.181 (colored)

Fix comment about mips_emul_fp() call.

Revision 1.181 / (download) - annotate - [select for diffs], Thu Feb 24 16:21:50 2011 UTC (13 years ago) by tsutsui
Branch: MAIN
Changes since 1.180: +3 -4 lines
Diff to previous 1.180 (colored)

- use correct address to fetch an instruction that causes FP trap
  not in BDslot (broken since the first mips64 partial merge)
- also fix leftover confusing comment that should have been removed
  when rev 1.82 was committed back in 1999.

Previously the most ieeefp tests dump core:
---
tp-start: t_except, 6
tc-start: masked_double
tc-end: masked_double, failed, Test program received signal 4 (core dumped)
tc-start: masked_float
tc-end: masked_float, failed, Test program received signal 4 (core dumped)
tc-start: masked_long_double
tc-end: masked_long_double, failed, Test program received signal 4 (core dumped)
tc-start: unmasked_double
tc-end: unmasked_double, failed, Test program received signal 4 (core dumped)
tc-start: unmasked_float
tc-end: unmasked_float, failed, Test program received signal 4 (core dumped)
tc-start: unmasked_long_double
tc-end: unmasked_long_double, failed, Test program received signal 4 (core dumped)
tp-end: t_except
 :
tp-start: t_subnormal, 2
tc-start: test_double
tc-end: test_double, failed, Test program received signal 4 (core dumped)
tc-start: test_float
tc-end: test_float, failed, Test program received signal 4 (core dumped)
tp-end: t_subnormal
---

Now they fail differently:
---
tp-start: t_except, 6
tc-start: masked_double
tc-end: masked_double, failed, Test program received signal 4 (core dumped)
tc-start: masked_float
tc-end: masked_float, passed
tc-start: masked_long_double
tc-se:*** Check failed: /usr/src/tests/lib/libc/ieeefp/t_except.c:227: ex1 & t->mask != t->mask
tc-end: masked_long_double, failed, 1 checks failed; see output for more details
tc-start: unmasked_double
tc-se:*** Check failed: /usr/src/tests/lib/libc/ieeefp/t_except.c:269: sicode != t->sicode
tc-end: unmasked_double, failed, 1 checks failed; see output for more details
tc-start: unmasked_float
tc-se:*** Check failed: /usr/src/tests/lib/libc/ieeefp/t_except.c:269: sicode != t->sicode
tc-end: unmasked_float, failed, 1 checks failed; see output for more details
tc-start: unmasked_long_double
tc-se:*** Check failed: /usr/src/tests/lib/libc/ieeefp/t_except.c:269: sicode != t->sicode
tc-end: unmasked_long_double, failed, 1 checks failed; see output for more details
tp-end: t_except
 :
tp-start: t_subnormal, 2
tc-start: test_double
tc-end: test_double, failed, Test program received signal 4 (core dumped)
tc-start: test_float
tc-end: test_float, failed, Test program received signal 4 (core dumped)
tp-end: t_subnormal
---

Revision 1.180 / (download) - annotate - [select for diffs], Thu Feb 24 15:52:23 2011 UTC (13 years ago) by tsutsui
Branch: MAIN
Changes since 1.179: +6 -6 lines
Diff to previous 1.179 (colored)

Fix wrong register usage in mips_fpu_trap():
 - trapframe is the second arg a1, not a3
 - cause is now loaded in a2, not t0 or t3

Fixes kernel panic during tests/lib/libc/ieeefp:
---
tps-count: 4
tp-start: t_except, 6
tc-start: masked_double
pid 645(t_except): trap: cpu0, TLB modification in kernel mode
status=0x2000ff03, cause=0x4, epc=0x80001420, vaddr=0x4026c8
tf=0xc8b15d00 ksp=0xc8b15da0 ra=0x8024af80 ppl=0x7fff5cd0
kernel: TLB modification trap
Stopped in pid 645.1 (t_except) at      \
	netbsd:mips_fpu_intr+0x74:  sw      t3,144(a3)
db>
----
though the ieeefp tests still fail in various places.

Revision 1.179 / (download) - annotate - [select for diffs], Thu Feb 24 15:27:00 2011 UTC (13 years ago) by tsutsui
Branch: MAIN
Changes since 1.178: +2 -2 lines
Diff to previous 1.178 (colored)

MachEmulateInst() -> mips_emul_inst() in comment.

Revision 1.178 / (download) - annotate - [select for diffs], Thu Feb 24 15:25:07 2011 UTC (13 years ago) by tsutsui
Branch: MAIN
Changes since 1.177: +3 -5 lines
Diff to previous 1.177 (colored)

Fix comment mangled in rev 1.142 back in 2002.

Revision 1.177 / (download) - annotate - [select for diffs], Sun Feb 20 16:58:33 2011 UTC (13 years ago) by matt
Branch: MAIN
Changes since 1.176: +3 -5 lines
Diff to previous 1.176 (colored)

Make sure to pass cause as the 3rd arg to mips_emul_fp

Revision 1.176 / (download) - annotate - [select for diffs], Sun Feb 20 07:45:47 2011 UTC (13 years ago) by matt
Branch: MAIN
Changes since 1.175: +262 -322 lines
Diff to previous 1.175 (colored)

Major merge forward from matt-nb5-mips64.
New fixup code.
New common SPL code.
New common interrupt code.
Move related variables into structures.
Cleanup locore (move MD variable into it).
Kill StudlyCaps
Use PCU for FPU

Revision 1.173.4.1 / (download) - annotate - [select for diffs], Tue Feb 8 16:19:28 2011 UTC (13 years ago) by bouyer
Branch: bouyer-quota2
Changes since 1.173: +9 -3 lines
Diff to previous 1.173 (colored)

Sync with HEAD

Revision 1.175 / (download) - annotate - [select for diffs], Wed Jan 26 01:18:54 2011 UTC (13 years, 1 month ago) by pooka
Branch: MAIN
CVS Tags: uebayasi-xip-base7, bouyer-quota2-base
Changes since 1.174: +8 -2 lines
Diff to previous 1.174 (colored)

Add support for the Extensible MIPS ("eMIPS") platform.  The
NetBSD/emips port runs on Xilinx and Beecube FPGA systems and the
Giano system simulator.

eMIPS is a platform developed at Microsoft Research for researching
reconfigurable computing.  eMIPS allows dynamic loading and scheduling
of application-specific circuits for the purpose of accelerating
computations based on the current workload.

NetBSD eMIPS support for NetBSD 4.x was written at Microsoft Research
by Alessandro Forin and Neil Pittman.  Microsoft Corporation has
donated full copyright to The NetBSD Foundation.

Platform support for eMIPS is the first part of Microsoft's
contribution.  The second part includes the hardware accelerator
framework and will be proposed on tech-kern soon.

Revision 1.174 / (download) - annotate - [select for diffs], Sat Jan 22 17:31:31 2011 UTC (13 years, 1 month ago) by tsutsui
Branch: MAIN
Changes since 1.173: +2 -2 lines
Diff to previous 1.173 (colored)

Fix a fatal typo that causes TLB miss panic in MachFPInterrupt().
Reported in followups of PR port-cobalt/44292.

Revision 1.167.38.22 / (download) - annotate - [select for diffs], Wed Dec 29 00:50:29 2010 UTC (13 years, 1 month ago) by matt
Branch: matt-nb5-mips64
CVS Tags: matt-nb5-mips64-premerge-20101231
Changes since 1.167.38.21: +37 -38 lines
Diff to previous 1.167.38.21 (colored) to branchpoint 1.167 (colored)

Move from StudlyCaps to more normal names.

Revision 1.167.38.21 / (download) - annotate - [select for diffs], Wed Dec 22 06:13:36 2010 UTC (13 years, 2 months ago) by matt
Branch: matt-nb5-mips64
Changes since 1.167.38.20: +3 -7 lines
Diff to previous 1.167.38.20 (colored) to branchpoint 1.167 (colored)

Rework how fixups are processed.  Inside of generating a table, we just
scan kernel text for jumps to locations between (__stub_start, __stub_end]
and if found, we actually decode the instructions in the stub to find out
where the stub would eventually jump to and then patch the original jump
to jump directly to it bypassing the stub.  This is slightly slower than
the previous method but it's a simplier and new stubs get automagically
handled.

Revision 1.173 / (download) - annotate - [select for diffs], Wed Dec 22 01:34:17 2010 UTC (13 years, 2 months ago) by nisimura
Branch: MAIN
CVS Tags: matt-mips64-premerge-20101231, jruoho-x86intr-base
Branch point for: jruoho-x86intr, bouyer-quota2
Changes since 1.172: +2 -2 lines
Diff to previous 1.172 (colored)

- make sure cpu_switchto() not to touch MIPS_CURLWP register at newlwp
  switchframe restoration stage.
- discard MIPS_CURLWP assignments exposed in cpu_lwp_fork() and
  cpu_setfunc().
- use plain 'jal' instruction to call lwp_startup().

Revision 1.167.38.20 / (download) - annotate - [select for diffs], Wed Aug 18 06:35:01 2010 UTC (13 years, 6 months ago) by matt
Branch: matt-nb5-mips64
CVS Tags: matt-nb5-mips64-k15
Changes since 1.167.38.19: +2 -2 lines
Diff to previous 1.167.38.19 (colored) to branchpoint 1.167 (colored)

Set SR UX when we first set KX.  (XLS416 now boot multiuser again with
>32 bit VAs).

Revision 1.167.38.19 / (download) - annotate - [select for diffs], Mon Aug 16 17:58:43 2010 UTC (13 years, 6 months ago) by matt
Branch: matt-nb5-mips64
Changes since 1.167.38.18: +24 -1 lines
Diff to previous 1.167.38.18 (colored) to branchpoint 1.167 (colored)

Add lwp_oncpu

Revision 1.167.38.18 / (download) - annotate - [select for diffs], Sun May 16 05:00:12 2010 UTC (13 years, 9 months ago) by matt
Branch: matt-nb5-mips64
Changes since 1.167.38.17: +6 -1 lines
Diff to previous 1.167.38.17 (colored) to branchpoint 1.167 (colored)

If IPL_SCHED != IPL_HIGH we need to raise ourselves back to IPL_HIGH before
we return from a fast softint that was switchedaway from.

Revision 1.167.20.1 / (download) - annotate - [select for diffs], Thu Mar 11 15:02:40 2010 UTC (13 years, 11 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.167: +316 -205 lines
Diff to previous 1.167 (colored) next main 1.168 (colored)

sync with head

Revision 1.167.38.17 / (download) - annotate - [select for diffs], Sun Feb 28 03:28:54 2010 UTC (13 years, 11 months ago) by matt
Branch: matt-nb5-mips64
Changes since 1.167.38.16: +8 -11 lines
Diff to previous 1.167.38.16 (colored) to branchpoint 1.167 (colored)

Change from indirect calls to direct calls to spl* routines.

Revision 1.167.38.16 / (download) - annotate - [select for diffs], Thu Feb 25 05:45:12 2010 UTC (14 years ago) by matt
Branch: matt-nb5-mips64
Changes since 1.167.38.15: +1 -94 lines
Diff to previous 1.167.38.15 (colored) to branchpoint 1.167 (colored)

Add mipsXX_tlb_record_asids - records what ASIDs have valid TLB entries in
the TLB.
Move some mips3 specific routines from locore.S to locore_mips3.S

Revision 1.167.38.15 / (download) - annotate - [select for diffs], Tue Feb 23 20:33:48 2010 UTC (14 years ago) by matt
Branch: matt-nb5-mips64
Changes since 1.167.38.14: +26 -23 lines
Diff to previous 1.167.38.14 (colored) to branchpoint 1.167 (colored)

Make sure <mips/locore.h> is not included by MI code.
Add send_ipi and cpu_offline_md hooks to locoresw.
Add MP support to pmap (pvlist locking, tlb locking).
Add TLB shootdown support (see comment at the top of mips/pmap_tlb.c).
Add mipsXX_tlb_invalidate_globals routine

Revision 1.167.38.14 / (download) - annotate - [select for diffs], Tue Feb 16 08:03:14 2010 UTC (14 years ago) by matt
Branch: matt-nb5-mips64
Changes since 1.167.38.13: +2 -2 lines
Diff to previous 1.167.38.13 (colored) to branchpoint 1.167 (colored)

Fix typo.

Revision 1.167.38.13 / (download) - annotate - [select for diffs], Mon Feb 15 07:36:03 2010 UTC (14 years ago) by matt
Branch: matt-nb5-mips64
Changes since 1.167.38.12: +81 -29 lines
Diff to previous 1.167.38.12 (colored) to branchpoint 1.167 (colored)

Completely redo how interrupts and SPL are handled in NetBSD/mips.
[XXX locore_mips1.S still needs to adapted.]

Nested interrupts now work.  Except for MIPS_SOFT_MASK and MIPS_SR_INT_IE,
how interrupts work is completely abstracted.  spl is handled through the
mips_splsw table.  Direct manipulation of the status register is no longer
done (except for MIPS_SR_INT_IE).  A new <mips/intr.h> contains the common
IPL/IST/spl* definitions for all ports.

Interrupt delivery is completely different.  Clock interrupts may interrupt
device interrupts.  ci_idepth is now handled by the caller of cpu_intr as
are softints (both can be optimized/simplified in the case of interrupts of
usermode code).  cpu_intr has new arguments and now get called at IPL_HIGH
with MIPS_SR_INT_IE set and its logic is:

void
cpu_intr(int ppl, vaddr_t pc, uint32_t status)
{
	int ipl;
	uint32_t pending;
	while (ppl < (ipl = splintr(&pending))) {
		splx(ipl);		/* enable interrupts */
		<handle pending interrupts>
		(void)splhigh();	/* disable interrupts */
	}
}

mipsX_subr.S has been reworked.  All user handlers (user_intr, systemcall,
user_gen_exception) now use common return to usermode code in lwp_trampoline.
ast() has changed to void ast(void) since the previous pc argument was never
used.

The playstation IPL_ICU_MASK support has been nuked.
MIPS_DYNAMIC_STATUS_MASK may soon be nuked soon.

A bunch of debugging code was left conditionalized by PARANOIA.  If this
code detects a bug, it will enter an infinite loop.  It is expected that
the kernel will be debugged in a simulator or with a hardware debugger so
that the state at that point can be analyzed.

Revision 1.167.38.12 / (download) - annotate - [select for diffs], Sat Feb 6 14:43:15 2010 UTC (14 years ago) by matt
Branch: matt-nb5-mips64
Changes since 1.167.38.11: +5 -137 lines
Diff to previous 1.167.38.11 (colored) to branchpoint 1.167 (colored)

Split spl functions into their own sources.
Make sure fast softints clear l_ctxswtch in the softint thread, not their own.

Revision 1.167.38.11 / (download) - annotate - [select for diffs], Sat Feb 6 02:56:23 2010 UTC (14 years ago) by matt
Branch: matt-nb5-mips64
Changes since 1.167.38.10: +2 -2 lines
Diff to previous 1.167.38.10 (colored) to branchpoint 1.167 (colored)

Save curlwp in context (even though it should already be there).

Revision 1.167.38.10 / (download) - annotate - [select for diffs], Sat Feb 6 00:39:46 2010 UTC (14 years ago) by matt
Branch: matt-nb5-mips64
Changes since 1.167.38.9: +4 -2 lines
Diff to previous 1.167.38.9 (colored) to branchpoint 1.167 (colored)

Allow __HAVE_FAST_SOFTINTS to be optional

Revision 1.167.38.9 / (download) - annotate - [select for diffs], Fri Feb 5 07:36:50 2010 UTC (14 years ago) by matt
Branch: matt-nb5-mips64
Changes since 1.167.38.8: +97 -3 lines
Diff to previous 1.167.38.8 (colored) to branchpoint 1.167 (colored)

Add __HAVE_FAST_SOFTINTS support.
Add routine to remap an uarea via a direct-mapped address.  This avoids
TLB machinations when swtching to/from the softint thread.  This can only
be done for lwp which won't exit.

Revision 1.167.38.8 / (download) - annotate - [select for diffs], Mon Feb 1 04:16:19 2010 UTC (14 years ago) by matt
Branch: matt-nb5-mips64
Changes since 1.167.38.7: +8 -8 lines
Diff to previous 1.167.38.7 (colored) to branchpoint 1.167 (colored)

Merge frame into trapframe.  While this costs a bit more stack space on
kernel exceptions, the resulting simplifications are worth it.  This is
a step to fast softints and kernel preemption.

trapframe now includes a struct reg instead of a separate array of registers.

Revision 1.167.38.7 / (download) - annotate - [select for diffs], Sat Jan 30 23:49:31 2010 UTC (14 years ago) by matt
Branch: matt-nb5-mips64
Changes since 1.167.38.6: +6 -1 lines
Diff to previous 1.167.38.6 (colored) to branchpoint 1.167 (colored)

Change MIPS_CURLWP from s7 to t8.  In a MALTA64 kernel, s6 is used 9155 times
which means the compiler could really use s7 is was free to do so.  The least
used temporary was t8 (288 times).  Once the kernel was switched to use t8 for
MIPS_CURLWP, s7 was used 7524 times.

Additionally a MALTA32 kernel shrunk by 6205 instructions (24820 bytes) or
about 1% of its text size.

[For some reason, pre-change t1 was never used and post change t2 was never
used.  Not sure why.]

Revision 1.167.38.6 / (download) - annotate - [select for diffs], Fri Jan 29 00:16:58 2010 UTC (14 years ago) by matt
Branch: matt-nb5-mips64
Changes since 1.167.38.5: +3 -3 lines
Diff to previous 1.167.38.5 (colored) to branchpoint 1.167 (colored)

Change mips kernel options SOFTFLOAT to FPEMUL.  Allow a kernel to have
no FP emulation code.  Fix insufficient SYMTAB_SPACE.  When a kernel without
an FPU and with FPEMUL code, the application will trap with a SIGILL/ILL_ILLOPC
signal, not SIGSEGV/SEGV_MAPERR.

Revision 1.167.38.5 / (download) - annotate - [select for diffs], Wed Jan 20 06:58:36 2010 UTC (14 years, 1 month ago) by matt
Branch: matt-nb5-mips64
Changes since 1.167.38.4: +3 -10 lines
Diff to previous 1.167.38.4 (colored) to branchpoint 1.167 (colored)

Revamp things a bit.  Move of the globals mips uses into either cpu_info,
mips_options, or mips_cache_info.  Make MALT64 be able to boot MULTIPROCESSOR.
(some pmap MP work).

Revision 1.167.38.4 / (download) - annotate - [select for diffs], Wed Dec 30 04:51:26 2009 UTC (14 years, 1 month ago) by matt
Branch: matt-nb5-mips64
Changes since 1.167.38.3: +2 -5 lines
Diff to previous 1.167.38.3 (colored) to branchpoint 1.167 (colored)

Please segtab lookups into separate file.
Add mips_add_physload
Add mips_init_lwp0_uarea
cleanup lwp0/cpu_info_store initialization.

Revision 1.172 / (download) - annotate - [select for diffs], Sun Dec 20 03:40:27 2009 UTC (14 years, 2 months ago) by rmind
Branch: MAIN
CVS Tags: yamt-nfs-mp-base9, yamt-nfs-mp-base11, yamt-nfs-mp-base10, uebayasi-xip-base6, uebayasi-xip-base5, uebayasi-xip-base4, uebayasi-xip-base3, uebayasi-xip-base2, uebayasi-xip-base1, uebayasi-xip-base, uebayasi-xip
Branch point for: rmind-uvmplock
Changes since 1.171: +2 -2 lines
Diff to previous 1.171 (colored)

Slightly improve the comment.

Revision 1.171 / (download) - annotate - [select for diffs], Mon Dec 14 00:46:06 2009 UTC (14 years, 2 months ago) by matt
Branch: MAIN
Changes since 1.170: +278 -168 lines
Diff to previous 1.170 (colored)

Merge from matt-nb5-mips64
Merge mips-specific arch files.

Revision 1.170 / (download) - annotate - [select for diffs], Thu Dec 10 05:10:02 2009 UTC (14 years, 2 months ago) by rmind
Branch: MAIN
CVS Tags: matt-premerge-20091211
Changes since 1.169: +8 -7 lines
Diff to previous 1.169 (colored)

Rename L_ADDR to L_PCB and amend some comments accordingly.

Revision 1.169 / (download) - annotate - [select for diffs], Fri Nov 27 03:23:11 2009 UTC (14 years, 3 months ago) by rmind
Branch: MAIN
Changes since 1.168: +40 -40 lines
Diff to previous 1.168 (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.168 / (download) - annotate - [select for diffs], Thu Nov 26 00:19:19 2009 UTC (14 years, 3 months ago) by matt
Branch: MAIN
Changes since 1.167: +2 -2 lines
Diff to previous 1.167 (colored)

Kill proc0paddr.  Use lwp0.l_addr instead.

Revision 1.167.38.3 / (download) - annotate - [select for diffs], Fri Sep 11 23:51:25 2009 UTC (14 years, 5 months ago) by matt
Branch: matt-nb5-mips64
CVS Tags: matt-nb5-mips64-u2-k2-k4-k7-k8-k9, matt-nb5-mips64-premerge-20091211
Changes since 1.167.38.2: +93 -1 lines
Diff to previous 1.167.38.2 (colored) to branchpoint 1.167 (colored)

Add code to probe TLB for VA/PA/PG_MASK sizes
Increase waynames to include 8-way.

Revision 1.167.38.2 / (download) - annotate - [select for diffs], Mon Sep 7 22:05:45 2009 UTC (14 years, 5 months ago) by matt
Branch: matt-nb5-mips64
CVS Tags: matt-nb4-mips64-k7-u2a-k9b
Changes since 1.167.38.1: +20 -6 lines
Diff to previous 1.167.38.1 (colored) to branchpoint 1.167 (colored)

On N32/N64 save/restore gp since it's a callee-saved register.
Don't use proc0paddr, use lwp0->l_addr

Revision 1.167.38.1 / (download) - annotate - [select for diffs], Thu Aug 20 23:27:06 2009 UTC (14 years, 6 months ago) by matt
Branch: matt-nb5-mips64
CVS Tags: matt-nb5-mips64-u1-k1-k5
Changes since 1.167: +168 -164 lines
Diff to previous 1.167 (colored)

Make ABI agnostic (O32 code identical).

Revision 1.165.4.3 / (download) - annotate - [select for diffs], Mon Dec 3 19:03:38 2007 UTC (16 years, 2 months ago) by ad
Branch: vmlocking
Changes since 1.165.4.2: +3 -5 lines
Diff to previous 1.165.4.2 (colored) to branchpoint 1.165 (colored) next main 1.166 (colored)

Sync with HEAD.

Revision 1.166.10.1 / (download) - annotate - [select for diffs], Tue Nov 6 23:19:07 2007 UTC (16 years, 3 months ago) by matt
Branch: matt-armv6
CVS Tags: matt-armv6-prevmlocking
Changes since 1.166: +1 -1 lines
Diff to previous 1.166 (colored) next main 1.167 (colored)

sync with HEAD

Revision 1.167 / (download) - annotate - [select for diffs], Wed Oct 17 19:55:38 2007 UTC (16 years, 4 months ago) by garbled
Branch: MAIN
CVS Tags: yamt-x86pmap-base4, yamt-pf42-baseX, yamt-pf42-base4, yamt-pf42-base3, yamt-pf42-base2, yamt-pf42-base, yamt-pf42, yamt-nfs-mp-base8, yamt-nfs-mp-base7, yamt-nfs-mp-base6, yamt-nfs-mp-base5, yamt-nfs-mp-base4, yamt-nfs-mp-base3, yamt-nfs-mp-base2, yamt-nfs-mp-base, yamt-lazymbuf-base15, yamt-lazymbuf-base14, yamt-kmem-base3, yamt-kmem-base2, yamt-kmem-base, yamt-kmem, wrstuden-revivesa-base-4, wrstuden-revivesa-base-3, wrstuden-revivesa-base-2, wrstuden-revivesa-base-1, wrstuden-revivesa-base, wrstuden-revivesa, vmlocking2-base3, vmlocking2-base2, vmlocking2-base1, vmlocking2, vmlocking-nbase, simonb-wapbl-nbase, simonb-wapbl-base, simonb-wapbl, reinoud-bufcleanup-nbase, reinoud-bufcleanup-base, nick-net80211-sync-base, nick-net80211-sync, nick-hppapmap-base4, nick-hppapmap-base3, nick-hppapmap-base2, nick-hppapmap-base, nick-hppapmap, netbsd-5-base, netbsd-5-2-RELEASE, netbsd-5-2-RC1, netbsd-5-2-3-RELEASE, netbsd-5-2-2-RELEASE, netbsd-5-2-1-RELEASE, netbsd-5-2, netbsd-5-1-RELEASE, netbsd-5-1-RC4, netbsd-5-1-RC3, netbsd-5-1-RC2, netbsd-5-1-RC1, netbsd-5-1-5-RELEASE, netbsd-5-1-4-RELEASE, netbsd-5-1-3-RELEASE, netbsd-5-1-2-RELEASE, netbsd-5-1-1-RELEASE, netbsd-5-1, netbsd-5-0-RELEASE, netbsd-5-0-RC4, netbsd-5-0-RC3, netbsd-5-0-RC2, netbsd-5-0-RC1, netbsd-5-0-2-RELEASE, netbsd-5-0-1-RELEASE, netbsd-5-0, netbsd-5, mjf-devfs2-base, mjf-devfs2, mjf-devfs-base, mjf-devfs, matt-nb5-pq3-base, matt-nb5-pq3, matt-mips64-base2, matt-armv6-nbase, matt-armv6-base, keiichi-mipv6-nbase, keiichi-mipv6-base, keiichi-mipv6, jymxensuspend-base, jym-xensuspend, jmcneill-pm-base, jmcneill-base, hpcarm-cleanup-nbase, hpcarm-cleanup-base, haad-nbase2, haad-dm-base2, haad-dm-base1, haad-dm-base, haad-dm, cube-autoconf-base, cube-autoconf, bouyer-xeni386-nbase, bouyer-xeni386-merge1, bouyer-xeni386-base, bouyer-xeni386, bouyer-xenamd64-base2, bouyer-xenamd64-base, ad-socklock-base1, ad-audiomp2-base, ad-audiomp2
Branch point for: yamt-nfs-mp, matt-nb5-mips64
Changes since 1.166: +1 -1 lines
Diff to previous 1.166 (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.159.4.4 / (download) - annotate - [select for diffs], Mon Sep 3 14:28:00 2007 UTC (16 years, 5 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.159.4.3: +32 -349 lines
Diff to previous 1.159.4.3 (colored) to branchpoint 1.159 (colored) next main 1.160 (colored)

sync with head.

Revision 1.166.2.1 / (download) - annotate - [select for diffs], Tue Aug 7 18:05:28 2007 UTC (16 years, 6 months ago) by matt
Branch: matt-mips64
Changes since 1.166: +20 -20 lines
Diff to previous 1.166 (colored) next main 1.167 (colored)

Sync with HEAD.

Revision 1.165.4.2 / (download) - annotate - [select for diffs], Sun Jul 15 22:20:23 2007 UTC (16 years, 7 months ago) by ad
Branch: vmlocking
Changes since 1.165.4.1: +5 -3 lines
Diff to previous 1.165.4.1 (colored) to branchpoint 1.165 (colored)

Get pmax working.

Revision 1.165.6.1 / (download) - annotate - [select for diffs], Wed Jul 11 20:00:48 2007 UTC (16 years, 7 months ago) by mjf
Branch: mjf-ufs-trans
Changes since 1.165: +32 -349 lines
Diff to previous 1.165 (colored) next main 1.166 (colored)

Sync with head.

Revision 1.165.4.1 / (download) - annotate - [select for diffs], Sun May 27 12:27:46 2007 UTC (16 years, 9 months ago) by ad
Branch: vmlocking
Changes since 1.165: +32 -349 lines
Diff to previous 1.165 (colored)

Sync with head.

Revision 1.165.12.1 / (download) - annotate - [select for diffs], Tue May 22 17:27:10 2007 UTC (16 years, 9 months ago) by matt
Branch: ppcoea-renovation
Changes since 1.165: +32 -349 lines
Diff to previous 1.165 (colored) next main 1.166 (colored)

Update to HEAD.

Revision 1.166 / (download) - annotate - [select for diffs], Thu May 17 14:51:23 2007 UTC (16 years, 9 months ago) by yamt
Branch: MAIN
CVS Tags: yamt-x86pmap-base3, yamt-x86pmap-base2, yamt-x86pmap-base, yamt-x86pmap, vmlocking-base, ppcoea-renovation-base, nick-csl-alignment-base5, nick-csl-alignment-base, nick-csl-alignment, mjf-ufs-trans-base, matt-mips64-base, jmcneill-pm, hpcarm-cleanup, bouyer-xenamd64
Branch point for: matt-mips64, matt-armv6
Changes since 1.165: +32 -349 lines
Diff to previous 1.165 (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.164.2.4 / (download) - annotate - [select for diffs], Thu Apr 19 02:55:29 2007 UTC (16 years, 10 months ago) by ad
Branch: yamt-idlelwp
Changes since 1.164.2.3: +5 -1 lines
Diff to previous 1.164.2.3 (colored) to branchpoint 1.164 (colored) next main 1.165 (colored)

Set up curlwp/curcpu very early, before calling mach_init. Avoids a null
pointer deref on curcpu().

Revision 1.164.2.3 / (download) - annotate - [select for diffs], Wed Apr 18 20:27:53 2007 UTC (16 years, 10 months ago) by ad
Branch: yamt-idlelwp
Changes since 1.164.2.2: +14 -17 lines
Diff to previous 1.164.2.2 (colored) to branchpoint 1.164 (colored)

- Further adaptations to MIPS for the yamt-idlelwp branch.
- Make curlwp a register variable on MIPS.

Revision 1.164.2.2 / (download) - annotate - [select for diffs], Wed Mar 21 21:21:42 2007 UTC (16 years, 11 months ago) by ad
Branch: yamt-idlelwp
Changes since 1.164.2.1: +16 -334 lines
Diff to previous 1.164.2.1 (colored) to branchpoint 1.164 (colored)

Initial changes for MIPS. Not yet working under gxemul.

Revision 1.164.2.1 / (download) - annotate - [select for diffs], Tue Feb 27 16:52:08 2007 UTC (17 years ago) by yamt
Branch: yamt-idlelwp
Changes since 1.164: +2 -2 lines
Diff to previous 1.164 (colored)

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

Revision 1.159.4.3 / (download) - annotate - [select for diffs], Mon Feb 26 09:07:28 2007 UTC (17 years ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.159.4.2: +5 -12 lines
Diff to previous 1.159.4.2 (colored) to branchpoint 1.159 (colored)

sync with head.

Revision 1.165 / (download) - annotate - [select for diffs], Fri Feb 23 15:11:36 2007 UTC (17 years ago) by tsutsui
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.164: +2 -2 lines
Diff to previous 1.164 (colored)

uvm.page_idle_zero now is a bool, not a 32bit value any more.

BTW, is it still worth to have uvm_pageidlezero()? Which port uses it?

Revision 1.164 / (download) - annotate - [select for diffs], Fri Feb 9 21:55:06 2007 UTC (17 years ago) by ad
Branch: MAIN
CVS Tags: post-newlock2-merge
Branch point for: yamt-idlelwp
Changes since 1.163: +4 -11 lines
Diff to previous 1.163 (colored)

Merge newlock2 to head.

Revision 1.162.2.3 / (download) - annotate - [select for diffs], Tue Jan 30 11:45:27 2007 UTC (17 years ago) by ad
Branch: newlock2
Changes since 1.162.2.2: +4 -11 lines
Diff to previous 1.162.2.2 (colored) to branchpoint 1.162 (colored) next main 1.163 (colored)

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

Revision 1.162.2.2 / (download) - annotate - [select for diffs], Sun Jan 28 07:20:39 2007 UTC (17 years, 1 month ago) by ad
Branch: newlock2
Changes since 1.162.2.1: +5 -5 lines
Diff to previous 1.162.2.1 (colored) to branchpoint 1.162 (colored)

- Fix sequence error between saving/raising the SPL.
- Changes for JavaStation.
- Fix bugs with mips & sparc support routines.

Revision 1.162.2.1 / (download) - annotate - [select for diffs], Fri Jan 12 01:00:53 2007 UTC (17 years, 1 month ago) by ad
Branch: newlock2
Changes since 1.162: +8 -8 lines
Diff to previous 1.162 (colored)

Sync with head.

Revision 1.159.4.2 / (download) - annotate - [select for diffs], Sat Dec 30 20:46:33 2006 UTC (17 years, 1 month ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.159.4.1: +8 -11 lines
Diff to previous 1.159.4.1 (colored) to branchpoint 1.159 (colored)

sync with head.

Revision 1.162.4.1 / (download) - annotate - [select for diffs], Thu Dec 21 15:07:58 2006 UTC (17 years, 2 months ago) by yamt
Branch: yamt-splraiseipl
Changes since 1.162: +8 -8 lines
Diff to previous 1.162 (colored) next main 1.163 (colored)

sync with head.

Revision 1.163 / (download) - annotate - [select for diffs], Tue Dec 19 01:13:05 2006 UTC (17 years, 2 months ago) by simonb
Branch: MAIN
CVS Tags: yamt-splraiseipl-base5, newlock2-nbase, newlock2-base
Changes since 1.162: +8 -8 lines
Diff to previous 1.162 (colored)

Fix a tyop, and a few other little punctuation nits while here.

Revision 1.160.10.2 / (download) - annotate - [select for diffs], Thu Sep 14 12:31:12 2006 UTC (17 years, 5 months ago) by yamt
Branch: yamt-pdpolicy
Changes since 1.160.10.1: +1 -4 lines
Diff to previous 1.160.10.1 (colored) to branchpoint 1.160 (colored) next main 1.161 (colored)

sync with head.

Revision 1.160.6.1 / (download) - annotate - [select for diffs], Sat Sep 9 02:41:26 2006 UTC (17 years, 5 months ago) by rpaulo
Branch: rpaulo-netinet-merge-pcb
Changes since 1.160: +5 -8 lines
Diff to previous 1.160 (colored) next main 1.161 (colored)

sync with head

Revision 1.162 / (download) - annotate - [select for diffs], Thu Sep 7 02:40:31 2006 UTC (17 years, 5 months ago) by dogcow
Branch: MAIN
CVS Tags: yamt-splraiseipl-base4, yamt-splraiseipl-base3, yamt-splraiseipl-base2, yamt-splraiseipl-base, yamt-pdpolicy-base9, wrstuden-fixsa-newbase, wrstuden-fixsa-base-1, wrstuden-fixsa-base, wrstuden-fixsa, rpaulo-netinet-merge-pcb-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, netbsd-4, matt-nb4-arm-base, matt-nb4-arm
Branch point for: yamt-splraiseipl, newlock2
Changes since 1.161: +1 -4 lines
Diff to previous 1.161 (colored)

remove more vestiges of CCITT, LLC, HDLC, NS, and NSIP.

Revision 1.159.4.1 / (download) - annotate - [select for diffs], Wed Jun 21 14:53:44 2006 UTC (17 years, 8 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.159: +5 -36 lines
Diff to previous 1.159 (colored)

sync with head.

Revision 1.160.8.1 / (download) - annotate - [select for diffs], Thu Jun 1 22:35:04 2006 UTC (17 years, 8 months ago) by kardel
Branch: simonb-timecounters
CVS Tags: simonb-timcounters-final
Changes since 1.160: +5 -5 lines
Diff to previous 1.160 (colored) next main 1.161 (colored)

Sync with head.

Revision 1.160.14.1 / (download) - annotate - [select for diffs], Wed May 24 15:48:13 2006 UTC (17 years, 9 months ago) by tron
Branch: peter-altq
Changes since 1.160: +5 -5 lines
Diff to previous 1.160 (colored) next main 1.161 (colored)

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

Revision 1.160.10.1 / (download) - annotate - [select for diffs], Wed May 24 10:56:59 2006 UTC (17 years, 9 months ago) by yamt
Branch: yamt-pdpolicy
Changes since 1.160: +5 -5 lines
Diff to previous 1.160 (colored)

sync with head.

Revision 1.161 / (download) - annotate - [select for diffs], Fri May 12 06:01:02 2006 UTC (17 years, 9 months ago) by skrll
Branch: MAIN
CVS Tags: yamt-pdpolicy-base8, yamt-pdpolicy-base7, yamt-pdpolicy-base6, yamt-pdpolicy-base5, simonb-timecounters-base, gdamore-uart-base, gdamore-uart, chap-midi-nbase, chap-midi-base, chap-midi, abandoned-netbsd-4-base, abandoned-netbsd-4
Changes since 1.160: +5 -5 lines
Diff to previous 1.160 (colored)

Fix some comments.

Revision 1.155.2.5 / (download) - annotate - [select for diffs], Sun Dec 11 10:28:20 2005 UTC (18 years, 2 months ago) by christos
Branch: ktrace-lwp
Changes since 1.155.2.4: +1 -32 lines
Diff to previous 1.155.2.4 (colored) next main 1.156 (colored)

Sync with head.

Revision 1.160 / (download) - annotate - [select for diffs], Sun Nov 13 12:41:30 2005 UTC (18 years, 3 months ago) by simonb
Branch: MAIN
CVS Tags: yamt-uio_vmspace-base5, yamt-uio_vmspace, yamt-readahead-pervnode, yamt-readahead-perfile, yamt-readahead-base3, yamt-readahead-base2, yamt-readahead-base, yamt-readahead, yamt-pdpolicy-base4, yamt-pdpolicy-base3, yamt-pdpolicy-base2, yamt-pdpolicy-base, peter-altq-base, ktrace-lwp-base, elad-kernelauth-base, elad-kernelauth
Branch point for: yamt-pdpolicy, simonb-timecounters, rpaulo-netinet-merge-pcb, peter-altq
Changes since 1.159: +1 -32 lines
Diff to previous 1.159 (colored)

Switch to the libkern C versions of _insque()/_remque().
Problems building -current and pointers to the libkern versions of
these functions from Izumi Tsutsui.

Revision 1.158.8.1 / (download) - annotate - [select for diffs], Fri Apr 29 11:28:15 2005 UTC (18 years, 10 months ago) by kent
Branch: kent-audio2
Changes since 1.158: +2 -1 lines
Diff to previous 1.158 (colored) next main 1.159 (colored)

sync with -current

Revision 1.158.10.1 / (download) - annotate - [select for diffs], Sat Mar 19 08:33:05 2005 UTC (18 years, 11 months ago) by yamt
Branch: yamt-km
Changes since 1.158: +2 -1 lines
Diff to previous 1.158 (colored) next main 1.159 (colored)

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

Revision 1.155.2.4 / (download) - annotate - [select for diffs], Fri Mar 4 16:38:48 2005 UTC (18 years, 11 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.155.2.3: +2 -1 lines
Diff to previous 1.155.2.3 (colored)

Sync with HEAD.

Hi Perry!

Revision 1.159 / (download) - annotate - [select for diffs], Sat Feb 26 13:15:47 2005 UTC (19 years ago) by simonb
Branch: MAIN
CVS Tags: yamt-vop-base3, yamt-vop-base2, yamt-vop-base, yamt-vop, yamt-km-base4, yamt-km-base3, thorpej-vnode-attr-base, thorpej-vnode-attr, 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, kent-audio2-base
Branch point for: yamt-lazymbuf
Changes since 1.158: +2 -1 lines
Diff to previous 1.158 (colored)

Another macro in a branch delay slot problem.  Pad with a nop.

Pointed out again by Izumi Tsutsui on port-mips.

Revision 1.155.2.3 / (download) - annotate - [select for diffs], Tue Sep 21 13:18:48 2004 UTC (19 years, 5 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.155.2.2: +1 -1 lines
Diff to previous 1.155.2.2 (colored)

Fix the sync with head I botched.

Revision 1.155.2.2 / (download) - annotate - [select for diffs], Sat Sep 18 14:37:25 2004 UTC (19 years, 5 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.155.2.1: +0 -0 lines
Diff to previous 1.155.2.1 (colored)

Sync with HEAD.

Revision 1.155.2.1 / (download) - annotate - [select for diffs], Tue Aug 3 10:37:47 2004 UTC (19 years, 6 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.155: +12 -13 lines
Diff to previous 1.155 (colored)

Sync with HEAD

Revision 1.158 / (download) - annotate - [select for diffs], Thu Mar 4 20:17:01 2004 UTC (19 years, 11 months ago) by drochner
Branch: MAIN
CVS Tags: yamt-km-base2, yamt-km-base, netbsd-2-base, netbsd-2-1-RELEASE, netbsd-2-1-RC6, netbsd-2-1-RC5, netbsd-2-1-RC4, netbsd-2-1-RC3, netbsd-2-1-RC2, netbsd-2-1-RC1, netbsd-2-1, netbsd-2-0-base, netbsd-2-0-RELEASE, netbsd-2-0-RC5, netbsd-2-0-RC4, netbsd-2-0-RC3, netbsd-2-0-RC2, netbsd-2-0-RC1, netbsd-2-0-3-RELEASE, netbsd-2-0-2-RELEASE, netbsd-2-0-1-RELEASE, netbsd-2-0, netbsd-2, kent-audio1-beforemerge, kent-audio1-base, kent-audio1
Branch point for: yamt-km, kent-audio2
Changes since 1.157: +10 -7 lines
Diff to previous 1.157 (colored)

fix some problems with FPU exception signaling:
-The MachFPTrap did generate pre-siginfo arguments to trapsignal(),
 leading to an immediate crash.
 Put the siginfo generation into a separate .c file for simplicity.
-The exception bits in MIPS_FPU_CSR didn't get cleared, leading to
 trouble later ("kernel used FPU" on pmax).
 XXX This should probably be done for the "unimplemented fpu instruction"
  case as well, but I don't know how to test this. Or, even better -
  centralize the CSR clearing before the branch in MachFPTrap.

Revision 1.157 / (download) - annotate - [select for diffs], Tue Nov 4 10:33:15 2003 UTC (20 years, 3 months ago) by dsl
Branch: MAIN
Changes since 1.156: +2 -2 lines
Diff to previous 1.156 (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.156 / (download) - annotate - [select for diffs], Thu Aug 7 16:28:32 2003 UTC (20 years, 6 months ago) by agc
Branch: MAIN
Changes since 1.155: +2 -6 lines
Diff to previous 1.155 (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.155 / (download) - annotate - [select for diffs], Mon Jun 23 11:01:29 2003 UTC (20 years, 8 months ago) by martin
Branch: MAIN
Branch point for: ktrace-lwp
Changes since 1.154: +2 -1 lines
Diff to previous 1.154 (colored)

Make sure to include opt_foo.h if a defflag option FOO is used.

Revision 1.154 / (download) - annotate - [select for diffs], Sun May 4 04:56:33 2003 UTC (20 years, 9 months ago) by simonb
Branch: MAIN
Changes since 1.153: +1 -2 lines
Diff to previous 1.153 (colored)

Remove a duplicate load of "a1" in page_zero (a PAGE_SIZE vs NBPG botch).

Revision 1.153 / (download) - annotate - [select for diffs], Sun May 4 02:53:53 2003 UTC (20 years, 9 months ago) by simonb
Branch: MAIN
Changes since 1.152: +10 -2 lines
Diff to previous 1.152 (colored)

Use 64-bit "sd" in mips_pagezero() if we're compiled for MIPS{3,4,64}
(the actual check is !MIPS1 && !MIPS32).

Do the ".set push", ".set mips3", ".set pop" dance if we use 64-bit
instructions.

Revision 1.152 / (download) - annotate - [select for diffs], Tue Apr 8 23:39:15 2003 UTC (20 years, 10 months ago) by thorpej
Branch: MAIN
Changes since 1.151: +5 -5 lines
Diff to previous 1.151 (colored)

Use PAGE_SIZE rather than NBPG.

Revision 1.151 / (download) - annotate - [select for diffs], Sat Feb 8 00:50:33 2003 UTC (21 years ago) by cgd
Branch: MAIN
Changes since 1.150: +3 -7 lines
Diff to previous 1.150 (colored)

use COP0_HAZARD_FPUENABLE in a couple more places when turning on FP:
In start (noticed after looking for more COP_1_BIT uses, and note
that there are extra nops here but really they don't hurt), and in
MachFPTrap (noticed by ... running regress!).

Revision 1.150 / (download) - annotate - [select for diffs], Tue Jan 21 04:26:01 2003 UTC (21 years, 1 month ago) by simonb
Branch: MAIN
Changes since 1.149: +16 -16 lines
Diff to previous 1.149 (colored)

Fix a tyop and some white-space nits.

Revision 1.149 / (download) - annotate - [select for diffs], Fri Jan 17 23:36:13 2003 UTC (21 years, 1 month ago) by thorpej
Branch: MAIN
Changes since 1.148: +229 -53 lines
Diff to previous 1.148 (colored)

Merge the nathanw_sa branch.

Revision 1.126.2.19 / (download) - annotate - [select for diffs], Fri Jan 3 21:34:05 2003 UTC (21 years, 1 month ago) by thorpej
Branch: nathanw_sa
CVS Tags: nathanw_sa_end
Changes since 1.126.2.18: +3 -32 lines
Diff to previous 1.126.2.18 (colored) next main 1.127 (colored)

Merge switch_exit() and switch_lwp_exit().

Revision 1.126.2.18 / (download) - annotate - [select for diffs], Tue Dec 31 01:03:48 2002 UTC (21 years, 1 month ago) by thorpej
Branch: nathanw_sa
Changes since 1.126.2.17: +4 -7 lines
Diff to previous 1.126.2.17 (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.148.4.1 / (download) - annotate - [select for diffs], Wed Dec 18 05:01:00 2002 UTC (21 years, 2 months ago) by gmcgarry
Branch: gmcgarry_ctxsw
Changes since 1.148: +92 -100 lines
Diff to previous 1.148 (colored) next main 1.149 (colored)

Remove the scheduler semantics from machine-dependent context switch.

Revision 1.126.2.17 / (download) - annotate - [select for diffs], Mon Nov 11 22:00:42 2002 UTC (21 years, 3 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.126.2.16: +51 -601 lines
Diff to previous 1.126.2.16 (colored)

Catch up to -current

Revision 1.148 / (download) - annotate - [select for diffs], Sat Nov 9 02:02:31 2002 UTC (21 years, 3 months ago) by nisimura
Branch: MAIN
CVS Tags: nathanw_sa_before_merge, nathanw_sa_base, gmcgarry_ucred_base, gmcgarry_ucred, gmcgarry_ctxsw_base, fvdl_fs64_base
Branch point for: gmcgarry_ctxsw
Changes since 1.147: +1 -448 lines
Diff to previous 1.147 (colored)

- Make monolistic files into smaller manageable pieces, resulting
three new files;
    sig_machdep.c (from mips_machdep.c)
    copy.S and sigcode.S (from locore.S)
- Nuke the local use of struct sigframe, which is now identical to
struct sigcontext, from sendsig() as the consequence of new signal
trampoline.

Revision 1.147 / (download) - annotate - [select for diffs], Mon Nov 4 04:06:51 2002 UTC (21 years, 3 months ago) by thorpej
Branch: MAIN
Changes since 1.146: +17 -17 lines
Diff to previous 1.146 (colored)

t4-t7 -> ta0-ta3

Revision 1.146 / (download) - annotate - [select for diffs], Mon Nov 4 04:04:32 2002 UTC (21 years, 3 months ago) by thorpej
Branch: MAIN
Changes since 1.145: +43 -47 lines
Diff to previous 1.145 (colored)

Rearrange mips_pagecopy() and mips_pagezero() for N32/LP64.
XXX Does not yet use the correct reg names for new-ABI.

Revision 1.145 / (download) - annotate - [select for diffs], Sun Nov 3 13:47:34 2002 UTC (21 years, 3 months ago) by nisimura
Branch: MAIN
Changes since 1.144: +1 -80 lines
Diff to previous 1.144 (colored)

Retire __HAVE_MD_RUNQUEUE from MD types.h and remove
setrunqueue/remrunqueue from locore.S.  C codes are
compiled a bit shorter and provide better DIAGNOSTICs.

Revision 1.122.2.6 / (download) - annotate - [select for diffs], Thu Oct 10 18:34:05 2002 UTC (21 years, 4 months ago) by jdolecek
Branch: kqueue
Changes since 1.122.2.5: +8 -17 lines
Diff to previous 1.122.2.5 (colored) to branchpoint 1.122 (colored) next main 1.123 (colored)

sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work

Revision 1.126.2.16 / (download) - annotate - [select for diffs], Tue Sep 17 23:56:16 2002 UTC (21 years, 5 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.126.2.15: +4 -4 lines
Diff to previous 1.126.2.15 (colored)

Rearrange slightly and pass p, not l, to ras_lookup().

Revision 1.126.2.15 / (download) - annotate - [select for diffs], Tue Sep 17 21:15:45 2002 UTC (21 years, 5 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.126.2.14: +28 -18 lines
Diff to previous 1.126.2.14 (colored)

Catch up to -current.

Revision 1.144 / (download) - annotate - [select for diffs], Mon Sep 9 02:32:38 2002 UTC (21 years, 5 months ago) by simonb
Branch: MAIN
CVS Tags: kqueue-beforemerge, kqueue-base, kqueue-aftermerge
Changes since 1.143: +8 -17 lines
Diff to previous 1.143 (colored)

In the idle functions, set curproc to NULL and (#ifdef LOCKDEBUG) call
sched_unlock_idle before enabling interrupts.  LOCKDEBUG kernels now
boot successfully.

Thanks to Chris Gilbert for helping fix this.

Revision 1.122.2.5 / (download) - annotate - [select for diffs], Fri Sep 6 08:37:34 2002 UTC (21 years, 5 months ago) by jdolecek
Branch: kqueue
Changes since 1.122.2.4: +27 -58 lines
Diff to previous 1.122.2.4 (colored) to branchpoint 1.122 (colored)

sync kqueue branch with HEAD

Revision 1.139.2.3 / (download) - annotate - [select for diffs], Sat Aug 31 13:45:21 2002 UTC (21 years, 5 months ago) by gehenna
Branch: gehenna-devsw
Changes since 1.139.2.2: +17 -1 lines
Diff to previous 1.139.2.2 (colored) to branchpoint 1.139 (colored) next main 1.140 (colored)

catch up with -current.

Revision 1.143 / (download) - annotate - [select for diffs], Wed Aug 28 08:34:07 2002 UTC (21 years, 6 months ago) by gmcgarry
Branch: MAIN
CVS Tags: gehenna-devsw-base
Changes since 1.142: +17 -1 lines
Diff to previous 1.142 (colored)

RAS support for MIPS.  Tested on R3000.

Revision 1.126.2.14 / (download) - annotate - [select for diffs], Thu Aug 1 02:42:32 2002 UTC (21 years, 6 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.126.2.13: +11 -58 lines
Diff to previous 1.126.2.13 (colored)

Catch up to -current.

Revision 1.139.2.2 / (download) - annotate - [select for diffs], Tue Jul 16 08:50:45 2002 UTC (21 years, 7 months ago) by gehenna
Branch: gehenna-devsw
Changes since 1.139.2.1: +11 -58 lines
Diff to previous 1.139.2.1 (colored) to branchpoint 1.139 (colored)

catch up with -current.

Revision 1.139.2.1 / (download) - annotate - [select for diffs], Sun Jul 14 18:37:14 2002 UTC (21 years, 7 months ago) by gehenna
Branch: gehenna-devsw
Changes since 1.139: +2 -2 lines
Diff to previous 1.139 (colored)

catch up with -current.

Revision 1.126.2.13 / (download) - annotate - [select for diffs], Sun Jul 7 07:56:26 2002 UTC (21 years, 7 months ago) by simonb
Branch: nathanw_sa
Changes since 1.126.2.12: +2 -2 lines
Diff to previous 1.126.2.12 (colored)

Fix a spelo in a comment.

Revision 1.142 / (download) - annotate - [select for diffs], Sat Jul 6 23:59:20 2002 UTC (21 years, 7 months ago) by gmcgarry
Branch: MAIN
Changes since 1.141: +8 -55 lines
Diff to previous 1.141 (colored)

Overhaul the emulation facility.  We do this by:

- accumulating all emulation code (including floating-point) in one place
- steal MachFPInterrupt() back from SOFTFLOAT for use only with interrupts
  and traps from *real* FPUs
- introducing MachEmulateInst() as a common dispatch point for all
  emulated instructions
- cleaning up emulation dispatch in trap()

Also, while we're here, implement MIPS2 LL/SC/SYNC emulation for MIPS1.

Tested on r3k with and without SOFTFLOAT enabled.

Revision 1.141 / (download) - annotate - [select for diffs], Thu Jul 4 19:20:01 2002 UTC (21 years, 7 months ago) by thorpej
Branch: MAIN
Changes since 1.140: +4 -4 lines
Diff to previous 1.140 (colored)

Eliminate 4 unused sigframe members.

Revision 1.126.2.12 / (download) - annotate - [select for diffs], Mon Jun 24 22:05:48 2002 UTC (21 years, 8 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.126.2.11: +12 -12 lines
Diff to previous 1.126.2.11 (colored)

Curproc->curlwp renaming.

Change uses of "curproc->l_proc" back to "curproc", which is more like the
original use. Bare uses of "curproc" are now "curlwp".

"curproc" is now #defined in proc.h as ((curlwp) ? (curlwp)->l_proc) : NULL)
so that it is always safe to reference curproc (*de*referencing curproc
is another story, but that's always been true).

Revision 1.122.2.4 / (download) - annotate - [select for diffs], Sun Jun 23 17:38:03 2002 UTC (21 years, 8 months ago) by jdolecek
Branch: kqueue
Changes since 1.122.2.3: +6 -14 lines
Diff to previous 1.122.2.3 (colored) to branchpoint 1.122 (colored)

catch up with -current on kqueue branch

Revision 1.126.2.11 / (download) - annotate - [select for diffs], Sat Jun 22 23:59:47 2002 UTC (21 years, 8 months ago) by gmcgarry
Branch: nathanw_sa
Changes since 1.126.2.10: +5 -3 lines
Diff to previous 1.126.2.10 (colored)

Pass the new LWP to mipsX_cpu_switch_resume().  Do this is the required
delay slot.

Revision 1.126.2.10 / (download) - annotate - [select for diffs], Thu Jun 20 03:39:48 2002 UTC (21 years, 8 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.126.2.9: +5 -3 lines
Diff to previous 1.126.2.9 (colored)

Catch up to -current.

Revision 1.140 / (download) - annotate - [select for diffs], Sat Jun 1 12:27:04 2002 UTC (21 years, 8 months ago) by simonb
Branch: MAIN
Changes since 1.139: +2 -2 lines
Diff to previous 1.139 (colored)

Standardise on the name "MIPS_SR_BEV" instead of a couple of different
#defines for the same status bit.

Revision 1.139 / (download) - annotate - [select for diffs], Thu Apr 25 06:55:53 2002 UTC (21 years, 10 months ago) by simonb
Branch: MAIN
CVS Tags: netbsd-1-6-base, netbsd-1-6-RELEASE, netbsd-1-6-RC3, netbsd-1-6-RC2, netbsd-1-6-RC1, netbsd-1-6-PATCH002-RELEASE, netbsd-1-6-PATCH002-RC4, netbsd-1-6-PATCH002-RC3, netbsd-1-6-PATCH002-RC2, netbsd-1-6-PATCH002-RC1, netbsd-1-6-PATCH002, netbsd-1-6-PATCH001-RELEASE, netbsd-1-6-PATCH001-RC3, netbsd-1-6-PATCH001-RC2, netbsd-1-6-PATCH001-RC1, netbsd-1-6-PATCH001, netbsd-1-6
Branch point for: gehenna-devsw
Changes since 1.138: +4 -2 lines
Diff to previous 1.138 (colored)

In the LOCKDEBUG case, call exit2() before sched_lock_idle() so
that the exitting process pointer in a0 doesn't get overwritten by
sched_lock_idle().

Revision 1.126.2.9 / (download) - annotate - [select for diffs], Wed Apr 17 00:03:47 2002 UTC (21 years, 10 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.126.2.8: +2 -12 lines
Diff to previous 1.126.2.8 (colored)

Catch up to -current.

Revision 1.138 / (download) - annotate - [select for diffs], Sun Apr 14 21:52:25 2002 UTC (21 years, 10 months ago) by manu
Branch: MAIN
Changes since 1.137: +1 -18 lines
Diff to previous 1.137 (colored)

Removed the IRIX signal trampoline, which is useless now we use the signal
trampoline provided by IRIX libc.

Revision 1.137 / (download) - annotate - [select for diffs], Sat Apr 13 10:52:59 2002 UTC (21 years, 10 months ago) by manu
Branch: MAIN
Changes since 1.136: +4 -4 lines
Diff to previous 1.136 (colored)

More comments on the new signal frame/trampoline

Revision 1.136 / (download) - annotate - [select for diffs], Fri Apr 12 18:44:57 2002 UTC (21 years, 10 months ago) by manu
Branch: MAIN
Changes since 1.135: +9 -4 lines
Diff to previous 1.135 (colored)

Reworked IRIX signal delivery so that ucontext is used instead of sigcontext
when SA_SIGINFO is used. The IRIX process will hence find the expected
information using the third argument of the signal handler.

We do not provide code and siginfo yet.

Revision 1.135 / (download) - annotate - [select for diffs], Wed Apr 3 13:57:47 2002 UTC (21 years, 10 months ago) by simonb
Branch: MAIN
Changes since 1.134: +2 -2 lines
Diff to previous 1.134 (colored)

Backout the .sdata to .data change for now; this broke compiling of
hpcmips kernels.

Revision 1.134 / (download) - annotate - [select for diffs], Wed Apr 3 04:04:31 2002 UTC (21 years, 10 months ago) by simonb
Branch: MAIN
Changes since 1.133: +2 -2 lines
Diff to previous 1.133 (colored)

Put a couple of variables in the data section, not the sdata section.

Revision 1.133 / (download) - annotate - [select for diffs], Mon Apr 1 21:06:21 2002 UTC (21 years, 10 months ago) by manu
Branch: MAIN
Changes since 1.132: +3 -1 lines
Diff to previous 1.132 (colored)

undef SYSCALL_SHIFT after using it so that it is possible to define both
COMPAT_IRIX and COMPAT_LINUX without getting warnings about SYSCALL_SHIFT
being redefined.

Revision 1.126.2.8 / (download) - annotate - [select for diffs], Mon Apr 1 07:41:04 2002 UTC (21 years, 10 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.126.2.7: +3 -3 lines
Diff to previous 1.126.2.7 (colored)

Catch up to -current.
(CVS: It's not just a program. It's an adventure!)

Revision 1.122.2.3 / (download) - annotate - [select for diffs], Sat Mar 16 15:58:39 2002 UTC (21 years, 11 months ago) by jdolecek
Branch: kqueue
Changes since 1.122.2.2: +3 -3 lines
Diff to previous 1.122.2.2 (colored) to branchpoint 1.122 (colored)

Catch up with -current.

Revision 1.132 / (download) - annotate - [select for diffs], Tue Mar 5 15:48:31 2002 UTC (21 years, 11 months ago) by simonb
Branch: MAIN
CVS Tags: newlock-base, newlock, eeh-devprop-base, eeh-devprop
Changes since 1.131: +3 -3 lines
Diff to previous 1.131 (colored)

Change a MIPS3 check to a MIPS3_PLUS check.
XXX: I'm not 100% sure of the intent of this code - it would seem that
 it needs a run-time check of CPU ISA to be completely correct...

Revision 1.126.2.7 / (download) - annotate - [select for diffs], Thu Feb 28 04:10:44 2002 UTC (22 years ago) by nathanw
Branch: nathanw_sa
Changes since 1.126.2.6: +1 -22 lines
Diff to previous 1.126.2.6 (colored)

Catch up to -current.

Revision 1.122.2.2 / (download) - annotate - [select for diffs], Mon Feb 11 20:08:36 2002 UTC (22 years ago) by jdolecek
Branch: kqueue
Changes since 1.122.2.1: +1 -22 lines
Diff to previous 1.122.2.1 (colored) to branchpoint 1.122 (colored)

Sync w/ -current.

Revision 1.131 / (download) - annotate - [select for diffs], Wed Jan 30 16:09:29 2002 UTC (22 years ago) by uch
Branch: MAIN
CVS Tags: ifpoll-base
Changes since 1.130: +1 -22 lines
Diff to previous 1.130 (colored)

move TX39 specific cache configuration code to cache.c

Revision 1.126.2.6 / (download) - annotate - [select for diffs], Fri Jan 11 23:38:39 2002 UTC (22 years, 1 month ago) by nathanw
Branch: nathanw_sa
Changes since 1.126.2.5: +5 -2 lines
Diff to previous 1.126.2.5 (colored)

More catchup.

Revision 1.122.2.1 / (download) - annotate - [select for diffs], Thu Jan 10 19:46:09 2002 UTC (22 years, 1 month ago) by thorpej
Branch: kqueue
Changes since 1.122: +99 -42 lines
Diff to previous 1.122 (colored)

Sync kqueue branch with -current.

Revision 1.126.2.5 / (download) - annotate - [select for diffs], Tue Jan 8 00:26:20 2002 UTC (22 years, 1 month ago) by nathanw
Branch: nathanw_sa
Changes since 1.126.2.4: +20 -5 lines
Diff to previous 1.126.2.4 (colored)

Catch up to -current.

Revision 1.130 / (download) - annotate - [select for diffs], Fri Jan 4 09:26:39 2002 UTC (22 years, 1 month ago) by takemura
Branch: MAIN
Changes since 1.129: +5 -2 lines
Diff to previous 1.129 (colored)

Modify only K0 bits and save other bits. (HPCMIPS_L1CACHE_DISABLE)

Revision 1.129 / (download) - annotate - [select for diffs], Sat Dec 8 11:15:43 2001 UTC (22 years, 2 months ago) by manu
Branch: MAIN
Changes since 1.128: +16 -2 lines
Diff to previous 1.128 (colored)

Added IRIX signal trampoline

Revision 1.126.2.4 / (download) - annotate - [select for diffs], Wed Nov 28 10:26:00 2001 UTC (22 years, 3 months ago) by wdk
Branch: nathanw_sa
Changes since 1.126.2.3: +28 -44 lines
Diff to previous 1.126.2.3 (colored)

Fix several bugs related to SA upcalls:

* Move upcall trampoline code to be just after the signal trampoline code
  so it is copied to the user stack correctly.

* cpu_preempt: correctly remove process from sched_qs queue

* switch_lwp_exit: Call lwp_exit2() instead of exit2()

Revision 1.128 / (download) - annotate - [select for diffs], Mon Nov 26 13:16:17 2001 UTC (22 years, 3 months ago) by shin
Branch: MAIN
Changes since 1.127: +2 -2 lines
Diff to previous 1.127 (colored)

fix pasteo.

Revision 1.127 / (download) - annotate - [select for diffs], Tue Nov 20 21:37:50 2001 UTC (22 years, 3 months ago) by manu
Branch: MAIN
Changes since 1.126: +5 -3 lines
Diff to previous 1.126 (colored)

Fixed the Linux signal trampoline and linux_sys_sigreturn(). Linux signal
delivery now seems fully functionnal.

Revision 1.126.2.3 / (download) - annotate - [select for diffs], Sun Nov 18 09:01:31 2001 UTC (22 years, 3 months ago) by wdk
Branch: nathanw_sa
Changes since 1.126.2.2: +134 -87 lines
Diff to previous 1.126.2.2 (colored)

Update cpu_switch() to return 0 if no better LWP was found to switch to.
returns 1 if there was a context switch to another LWP

Complete implementation of cpu_preempt()

Revision 1.126.2.2 / (download) - annotate - [select for diffs], Sat Nov 17 23:43:42 2001 UTC (22 years, 3 months ago) by wdk
Branch: nathanw_sa
Changes since 1.126.2.1: +1737 -0 lines
Diff to previous 1.126.2.1 (colored)

Inital support for Scheduler Activation on MIPS architectures.

Compiles for sgimips.  Needs more work in locore.S in order to reach
single user and beyond.

Revision 1.126.2.1, Wed Nov 14 18:15:22 2001 UTC (22 years, 3 months ago) by wdk
Branch: nathanw_sa
Changes since 1.126: +0 -1544 lines
FILE REMOVED

file locore.S was added on branch nathanw_sa on 2001-11-17 23:43:42 +0000

Revision 1.126 / (download) - annotate - [select for diffs], Wed Nov 14 18:15:22 2001 UTC (22 years, 3 months ago) by thorpej
Branch: MAIN
Branch point for: nathanw_sa
Changes since 1.125: +2 -29 lines
Diff to previous 1.125 (colored)

Merge the thorpej-mips-cache branch onto the trunk.  This is an
overhaul of how caches are handled for NetBSD's MIPS ports.

Revision 1.124.2.3 / (download) - annotate - [select for diffs], Mon Nov 12 21:17:13 2001 UTC (22 years, 3 months ago) by thorpej
Branch: thorpej-mips-cache
Changes since 1.124.2.2: +2 -2 lines
Diff to previous 1.124.2.2 (colored) next main 1.125 (colored)

Sync the thorpej-mips-cache branch with -current.

Revision 1.125 / (download) - annotate - [select for diffs], Mon Nov 12 11:12:16 2001 UTC (22 years, 3 months ago) by simonb
Branch: MAIN
CVS Tags: thorpej-mips-cache-base
Changes since 1.124: +2 -2 lines
Diff to previous 1.124 (colored)

Fix pasto in a comment.

Revision 1.124.2.2 / (download) - annotate - [select for diffs], Sun Nov 11 03:31:48 2001 UTC (22 years, 3 months ago) by shin
Branch: thorpej-mips-cache
Changes since 1.124.2.1: +1 -28 lines
Diff to previous 1.124.2.1 (colored)

delete obsolete variables.

	mips_L1DCacheSize	mips_L1ICacheSize
	mips_L1DCacheLSize	mips_L1ICacheLSize
	mips_CacheAliasMask	mips_CachePreferMask
	mips_L2CacheSize	mips_L2CacheLSize
	mips_L2CachePresent

Revision 1.124.2.1 / (download) - annotate - [select for diffs], Wed Oct 24 17:38:08 2001 UTC (22 years, 4 months ago) by thorpej
Branch: thorpej-mips-cache
Changes since 1.124: +2 -2 lines
Diff to previous 1.124 (colored)

Update for the new cache code.  Some careful code review is needed
here, esp. by people who have done recent MIPS pmap hacking.

Revision 1.124 / (download) - annotate - [select for diffs], Tue Oct 16 16:31:36 2001 UTC (22 years, 4 months ago) by uch
Branch: MAIN
Branch point for: thorpej-mips-cache
Changes since 1.123: +63 -11 lines
Diff to previous 1.123 (colored)

R5900 support.
 COP0_SYNC
	In R5900 mtc0, tlbr, tlbp, tlbwi, tlbwr must be followed by sync.p.
	if defined MIPS3_5900, COP0_SYNC is defined as sync.p. else nothing.
 IPL_ICU_MASK
	mask interrupt directly ICU instead of SR.IM.
	I've added this feature to support software interrupt for R5900.
	and this option may be useful for platform which has cascaded ICU.

Revision 1.122.4.1 / (download) - annotate - [select for diffs], Mon Oct 1 12:40:47 2001 UTC (22 years, 4 months ago) by fvdl
Branch: thorpej-devvp
Changes since 1.122: +14 -1 lines
Diff to previous 1.122 (colored) next main 1.123 (colored)

Catch up with -current.

Revision 1.123 / (download) - annotate - [select for diffs], Sat Sep 22 21:29:21 2001 UTC (22 years, 5 months ago) by manu
Branch: MAIN
CVS Tags: thorpej-devvp-base3, thorpej-devvp-base2
Changes since 1.122: +14 -1 lines
Diff to previous 1.122 (colored)

Added Linux emulation support to Mips port

Revision 1.122 / (download) - annotate - [select for diffs], Mon Jul 9 01:43:26 2001 UTC (22 years, 7 months ago) by simonb
Branch: MAIN
CVS Tags: thorpej-devvp-base, pre-chs-ubcperf, post-chs-ubcperf
Branch point for: thorpej-devvp, kqueue
Changes since 1.121: +13 -4 lines
Diff to previous 1.121 (colored)

bcopy -> memcpy

Revision 1.120.2.1 / (download) - annotate - [select for diffs], Thu Jun 21 19:28:04 2001 UTC (22 years, 8 months ago) by nathanw
Changes since 1.120: +2 -1 lines
Diff to previous 1.120 (colored) next main 1.121 (colored)

Catch up to -current.

Revision 1.121 / (download) - annotate - [select for diffs], Wed May 30 15:24:33 2001 UTC (22 years, 9 months ago) by lukem
Branch: MAIN
Changes since 1.120: +2 -1 lines
Diff to previous 1.120 (colored)

add missing   #include "opt_kgdb.h"

Revision 1.77.2.3 / (download) - annotate - [select for diffs], Fri Jan 5 17:34:43 2001 UTC (23 years, 1 month ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.77.2.2: +7 -0 lines
Diff to previous 1.77.2.2 (colored) next main 1.78 (colored)

Sync with HEAD

Revision 1.120 / (download) - annotate - [select for diffs], Thu Dec 14 21:29:51 2000 UTC (23 years, 2 months ago) by jeffs
Branch: MAIN
CVS Tags: thorpej_scsipi_nbase, thorpej_scsipi_beforemerge, thorpej_scsipi_base
Changes since 1.119: +8 -1 lines
Diff to previous 1.119 (colored)

For MIPS software masking option, when returning to user mode apply
the mask to all interrupts to catch changes in the mask state faster.
Does not affect platforms w/o this option enabled.

Revision 1.77.2.2 / (download) - annotate - [select for diffs], Wed Nov 22 16:00:44 2000 UTC (23 years, 3 months ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.77.2.1: +95 -1 lines
Diff to previous 1.77.2.1 (colored)

Sync with HEAD.

Revision 1.77.2.1 / (download) - annotate - [select for diffs], Mon Nov 20 20:13:34 2000 UTC (23 years, 3 months ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.77: +327 -333 lines
Diff to previous 1.77 (colored)

Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.

Revision 1.119 / (download) - annotate - [select for diffs], Tue Oct 31 23:39:25 2000 UTC (23 years, 3 months ago) by jeffs
Branch: MAIN
Changes since 1.118: +95 -1 lines
Diff to previous 1.118 (colored)

Add mips_pagecopy/zero assembly loops for use by pmap_copy/zero_page*()
to allow the almost-64-bit compilation use ld/sd.

Revision 1.118 / (download) - annotate - [select for diffs], Thu Oct 5 01:17:20 2000 UTC (23 years, 4 months ago) by cgd
Branch: MAIN
Changes since 1.117: +3 -1 lines
Diff to previous 1.117 (colored)

add two blank lines

Revision 1.117 / (download) - annotate - [select for diffs], Thu Oct 5 00:53:00 2000 UTC (23 years, 4 months ago) by cgd
Branch: MAIN
Changes since 1.116: +1 -4 lines
Diff to previous 1.116 (colored)

tweak cpu_arch.  Eliminate all direct checks of it (making them
use the macro CPUISMIPS3 -- which is badly misnamed), and set it
from #defines named CPU_ARCH_N (where N is 1..5, 32, 64).

Revision 1.116 / (download) - annotate - [select for diffs], Wed Oct 4 22:44:02 2000 UTC (23 years, 4 months ago) by cgd
Branch: MAIN
Changes since 1.115: +46 -14 lines
Diff to previous 1.115 (colored)

rename mips_read_causereg -> mips_cp0_cause_read.  nuke prototype
for mips_read_statusreg (which was apparently never implemented).
Provide prototypes and implementations for mips_cp0_cause_write,
mips_cp0_status_read, and mips_cp0_status_write.  (Writing can, of
course, be quite dangerous.)

Revision 1.115 / (download) - annotate - [select for diffs], Tue Sep 5 01:24:51 2000 UTC (23 years, 5 months ago) by soren
Branch: MAIN
Changes since 1.114: +1 -5 lines
Diff to previous 1.114 (colored)

Back out (most of) previous. I was using an 1.5 asm.h and hadn't
noticed cgd's fix..

Revision 1.114 / (download) - annotate - [select for diffs], Tue Sep 5 00:55:48 2000 UTC (23 years, 5 months ago) by soren
Branch: MAIN
Changes since 1.113: +7 -3 lines
Diff to previous 1.113 (colored)

Add nop after PANIC macros.

Revision 1.113 / (download) - annotate - [select for diffs], Sun Aug 20 21:50:09 2000 UTC (23 years, 6 months ago) by thorpej
Branch: MAIN
Changes since 1.112: +42 -19 lines
Diff to previous 1.112 (colored)

Add a lock around the scheduler, and use it as necessary, including
in the non-MULTIPROCESSOR case (LOCKDEBUG requires it).  Scheduler
lock is held upon entry to mi_switch() and cpu_switch(), and
cpu_switch() releases the lock before returning.

Largely from Bill Sommerfeld, with some minor bug fixes and
machine-dependent code hacking from me.

Revision 1.112 / (download) - annotate - [select for diffs], Wed Aug 9 23:03:24 2000 UTC (23 years, 6 months ago) by jeffs
Branch: MAIN
Changes since 1.111: +11 -4 lines
Diff to previous 1.111 (colored)

To be safe when called from interupt, [fs]uswintr need to preserve
cpu_onfault.  By Etan Solomita (ethan@geocast.com).

Revision 1.111 / (download) - annotate - [select for diffs], Tue Jul 25 17:56:05 2000 UTC (23 years, 7 months ago) by jeffs
Branch: MAIN
Changes since 1.110: +14 -1 lines
Diff to previous 1.110 (colored)

Add option to apply additional mask to the SR at run-time for MIPS3 platforms.
By default this is off, and only slightly changes the code to load SR when
a temp register is available.  This can be used by the platform code to
handle slow to clear interrupts (our case) or to mask off any interrupt
any interrupt at run-time.  This can be very useful for embedded platforms
that have less than desirable interrupt properties.

Revision 1.110 / (download) - annotate - [select for diffs], Thu Jul 20 18:33:42 2000 UTC (23 years, 7 months ago) by jeffs
Branch: MAIN
Changes since 1.109: +4 -1 lines
Diff to previous 1.109 (colored)

Make pmap_prefer() use a global setting based on cache size
instead of assuming 64KB.   This allows best fit and will
support bigger caches.

Revision 1.109 / (download) - annotate - [select for diffs], Wed Jul 19 22:05:02 2000 UTC (23 years, 7 months ago) by jeffs
Branch: MAIN
Changes since 1.108: +19 -3 lines
Diff to previous 1.108 (colored)

In FPU excepton code, send SIGILL if no one claims the instruction.
SIGFPE is still delivered where appropriate.

Revision 1.108 / (download) - annotate - [select for diffs], Wed Jul 19 18:56:36 2000 UTC (23 years, 7 months ago) by jeffs
Branch: MAIN
Changes since 1.107: +8 -40 lines
Diff to previous 1.107 (colored)

Fix stacktrace() to have an 8 byte aligned stack.  On our platform previously
it would hang-up.  logstacktrace() actually was the same as stacktrace() so
just make it an XLEAF() for now.  Include some DDB code for KGDB compilation.

Revision 1.107 / (download) - annotate - [select for diffs], Wed Jul 19 18:38:41 2000 UTC (23 years, 7 months ago) by jeffs
Branch: MAIN
Changes since 1.106: +10 -2 lines
Diff to previous 1.106 (colored)

At the start of the kernel, keep the MIPS3_SR_DIAG_BEV setting
on mips3 systems, until the kernel actually hooks the vectors.
This makes it easier to debug early problems if the firmware
has provides an exception handler.

Revision 1.104.2.1 / (download) - annotate - [select for diffs], Wed Jul 19 06:34:23 2000 UTC (23 years, 7 months ago) by jeffs
Branch: netbsd-1-5
CVS Tags: netbsd-1-5-RELEASE, netbsd-1-5-PATCH003, netbsd-1-5-PATCH002, netbsd-1-5-PATCH001, netbsd-1-5-BETA2, netbsd-1-5-BETA, netbsd-1-5-ALPHA2
Changes since 1.104: +1 -12 lines
Diff to previous 1.104 (colored) next main 1.105 (colored)

Pull up revision memcpy.S 1.4-1.5 and locore.S 1.105 (approved by thorpej).
  Make memcpy() the favored interface an swizzle the args for ovbcopy.  Also
  move bcopy XLEAF here from locore.S.  For 64b clean compilation add a
  ld/sd section to the block copy.

Revision 1.106 / (download) - annotate - [select for diffs], Tue Jul 18 06:25:33 2000 UTC (23 years, 7 months ago) by jeffs
Branch: MAIN
Changes since 1.105: +3 -1 lines
Diff to previous 1.105 (colored)

Use spl*_noprof routines to raise and lower spl for kernel profiling.
This keeps the SR management more contained in locore, and should
be roughly the same performance as the .text size is less.  Talked
to simonb and he was ok with this change.

Revision 1.105 / (download) - annotate - [select for diffs], Mon Jul 17 07:37:51 2000 UTC (23 years, 7 months ago) by jeffs
Branch: MAIN
Changes since 1.104: +1 -12 lines
Diff to previous 1.104 (colored)

Make memcpy() the favored interface an swizzle the args for ovbcopy.  Also
move bcopy XLEAF here from locore.S.  For 64b clean compilation add a
ld/sd section to the block copy.

Revision 1.100.2.1 / (download) - annotate - [select for diffs], Thu Jun 22 17:01:34 2000 UTC (23 years, 8 months ago) by minoura
Branch: minoura-xpg4dl
Changes since 1.100: +28 -203 lines
Diff to previous 1.100 (colored) next main 1.101 (colored)

Sync w/ netbsd-1-5-base.

Revision 1.104 / (download) - annotate - [select for diffs], Sat Jun 10 02:43:49 2000 UTC (23 years, 8 months ago) by soren
Branch: MAIN
CVS Tags: netbsd-1-5-base
Branch point for: netbsd-1-5
Changes since 1.103: +3 -3 lines
Diff to previous 1.103 (colored)

Post a SIGFPE rather than SIGILL on floating point exceptions.

Revision 1.103 / (download) - annotate - [select for diffs], Wed May 31 05:09:18 2000 UTC (23 years, 9 months ago) by thorpej
Branch: MAIN
Changes since 1.102: +7 -1 lines
Diff to previous 1.102 (colored)

Add a comment about needing to initialize p_cpu when multiple
processors are supported.

Revision 1.102 / (download) - annotate - [select for diffs], Tue May 30 01:23:54 2000 UTC (23 years, 9 months ago) by nisimura
Branch: MAIN
Changes since 1.101: +1 -182 lines
Diff to previous 1.101 (colored)

- Have savefpregs() and loadfpregs() in C codes with lengthy inlined
  asm statements, obsoluting asm routines in locore.S.  They are
  designed to work in symmetry as names suggests.  savefpregs()
  does not clear a global variable fpcurproc.  Both would be noops when
  NOFPU global symbol is defined.
- MDP_FPUSED flag is not turned on for FPA-less processors like Vr4100
  and TX3900 even when processes execute FP insns.

Revision 1.101 / (download) - annotate - [select for diffs], Mon May 29 23:40:03 2000 UTC (23 years, 9 months ago) by simonb
Branch: MAIN
Changes since 1.100: +21 -21 lines
Diff to previous 1.100 (colored)

A few more white-space bogons.

Revision 1.100 / (download) - annotate - [select for diffs], Fri May 26 21:19:55 2000 UTC (23 years, 9 months ago) by thorpej
Branch: MAIN
CVS Tags: minoura-xpg4dl-base
Branch point for: minoura-xpg4dl
Changes since 1.99: +12 -12 lines
Diff to previous 1.99 (colored)

First sweep at scheduler state cleanup.  Collect MI scheduler
state into global and per-CPU scheduler state:

	- Global state: sched_qs (run queues), sched_whichqs (bitmap
	  of non-empty run queues), sched_slpque (sleep queues).
	  NOTE: These may collectively move into a struct schedstate
	  at some point in the future.

	- Per-CPU state, struct schedstate_percpu: spc_runtime
	  (time process on this CPU started running), spc_flags
	  (replaces struct proc's p_schedflags), and
	  spc_curpriority (usrpri of processes on this CPU).

	- Every platform must now supply a struct cpu_info and
	  a curcpu() macro.  Simplify existing cpu_info declarations
	  where appropriate.

	- All references to per-CPU scheduler state now made through
	  curcpu().  NOTE: this will likely be adjusted in the future
	  after further changes to struct proc are made.

Tested on i386 and Alpha.  Changes are mostly mechanical, but apologies
in advance if it doesn't compile on a particular platform.

Revision 1.99 / (download) - annotate - [select for diffs], Fri May 26 00:36:47 2000 UTC (23 years, 9 months ago) by thorpej
Branch: MAIN
Changes since 1.98: +3 -1 lines
Diff to previous 1.98 (colored)

Introduce a new process state distinct from SRUN called SONPROC
which indicates that the process is actually running on a
processor.  Test against SONPROC as appropriate rather than
combinations of SRUN and curproc.  Update all context switch code
to properly set SONPROC when the process becomes the current
process on the CPU.

Revision 1.98 / (download) - annotate - [select for diffs], Sun May 21 11:53:00 2000 UTC (23 years, 9 months ago) by uch
Branch: MAIN
Changes since 1.97: +11 -1 lines
Diff to previous 1.97 (colored)

change TX3922 D-cache mode to write-through.

Revision 1.97 / (download) - annotate - [select for diffs], Wed May 10 01:34:14 2000 UTC (23 years, 9 months ago) by nisimura
Branch: MAIN
Changes since 1.96: +4 -4 lines
Diff to previous 1.96 (colored)

Have mips_locoresw[] of 3 entry pointer array for different
implementation of locore routines between MIPS1 and MIPS3.  It's
independent from mips_locore_jumpvec_t which is for cache/TLB
manipulating routines peculiar to processor designs.  mips_locore_jumpvec_t
will be replaced with "processor closures" encapsulating implementation
parameters (cpuinfo) and pointers to conventaion routines (cpuops),
eventually.

Revision 1.96 / (download) - annotate - [select for diffs], Sun Apr 30 23:01:24 2000 UTC (23 years, 10 months ago) by simonb
Branch: MAIN
Changes since 1.95: +8 -2 lines
Diff to previous 1.95 (colored)

Only call uvm_pageidlezero() if uvm.page_idle_zero is set.

Revision 1.95 / (download) - annotate - [select for diffs], Sat Apr 29 14:44:42 2000 UTC (23 years, 10 months ago) by soren
Branch: MAIN
Changes since 1.94: +3 -3 lines
Diff to previous 1.94 (colored)

Move free page zeroing to before the whichqs spinner. Pointed out by simonb.

Revision 1.94 / (download) - annotate - [select for diffs], Fri Apr 28 19:25:56 2000 UTC (23 years, 10 months ago) by soren
Branch: MAIN
Changes since 1.93: +3 -1 lines
Diff to previous 1.93 (colored)

Zero free pages in the idle loop.

Revision 1.93 / (download) - annotate - [select for diffs], Mon Apr 10 04:59:46 2000 UTC (23 years, 10 months ago) by nisimura
Branch: MAIN
Changes since 1.92: +21 -12 lines
Diff to previous 1.92 (colored)

Make (sure) ASID management same as what NetBSD/alpha does for ASN.
ASID#0 is reserved for pmap0 shared between proc0 and kthreads,
and every TLB for KSEG2 has G (global) bit to have wildcard match
regardless of the process' ASID.   MIPS1 would flush TLBs belong
to user spaces upon ASID generation bump.  Change for MIPS3 is
to be done.

Revision 1.92 / (download) - annotate - [select for diffs], Tue Mar 28 02:58:48 2000 UTC (23 years, 11 months ago) by simonb
Branch: MAIN
Changes since 1.91: +8 -8 lines
Diff to previous 1.91 (colored)

Don't `extern' function declarations.  While we're there, remove trailing
blank lines and white space.

Revision 1.91 / (download) - annotate - [select for diffs], Tue Mar 28 00:24:04 2000 UTC (23 years, 11 months ago) by nisimura
Branch: MAIN
Changes since 1.90: +2 -1 lines
Diff to previous 1.90 (colored)

Change 'goto cpu_switch1' to 'goto cpu_switch_queuescan' in vr_idle.S
and make the jump destination global.

Revision 1.90 / (download) - annotate - [select for diffs], Mon Mar 27 04:52:11 2000 UTC (23 years, 11 months ago) by nisimura
Branch: MAIN
Changes since 1.89: +4 -6 lines
Diff to previous 1.89 (colored)

Rename sw1 label found in cpu_switch() to cpu_switch_queuescan,
abandoning unnecessary .globl because switch_exit() is handsomely
common between MIPS1 and MIPS3.

Revision 1.89 / (download) - annotate - [select for diffs], Fri Mar 24 18:16:33 2000 UTC (23 years, 11 months ago) by soren
Branch: MAIN
Changes since 1.88: +5 -3 lines
Diff to previous 1.88 (colored)

One instruction per line.

Revision 1.88 / (download) - annotate - [select for diffs], Fri Mar 24 02:02:03 2000 UTC (23 years, 11 months ago) by nisimura
Branch: MAIN
Changes since 1.87: +6 -6 lines
Diff to previous 1.87 (colored)

Have ST_REG_SR mnemonic for status register consistent with others.

Revision 1.87 / (download) - annotate - [select for diffs], Tue Feb 1 18:49:03 2000 UTC (24 years ago) by thorpej
Branch: MAIN
CVS Tags: chs-ubc2-newbase
Changes since 1.86: +3 -1 lines
Diff to previous 1.86 (colored)

Fix a bug in cpu_switch() introduced with the MIPSX_CPU_IDLE changes; we
have a 1 instruction delay after a load before the register contents are
valid on the R2000/R3000.

Revision 1.86 / (download) - annotate - [select for diffs], Fri Jan 28 15:18:32 2000 UTC (24 years, 1 month ago) by takemura
Branch: MAIN
Changes since 1.85: +1 -14 lines
Diff to previous 1.85 (colored)

Delete unused lines.

Revision 1.85 / (download) - annotate - [select for diffs], Fri Jan 28 15:08:37 2000 UTC (24 years, 1 month ago) by takemura
Branch: MAIN
Changes since 1.84: +15 -5 lines
Diff to previous 1.84 (colored)

CPU specific idle hook and VR idle routine.

Revision 1.84 / (download) - annotate - [select for diffs], Sun Jan 9 08:01:54 2000 UTC (24 years, 1 month ago) by shin
Branch: MAIN
Changes since 1.83: +7 -5 lines
Diff to previous 1.83 (colored)

split 'options SOFTFLOAT' to

	NOFP		don't touch FPU registers in kernel
	SOFTFLOAT	emulate FPU instructions in kernel

Revision 1.83 / (download) - annotate - [select for diffs], Wed Dec 29 04:41:12 1999 UTC (24 years, 2 months ago) by castor
Branch: MAIN
Changes since 1.82: +7 -3 lines
Diff to previous 1.82 (colored)

Make SOFTFLOAT emulation compatible with _MIPS_BSD_API_LP32_64CLEAN

Revision 1.77.6.1 / (download) - annotate - [select for diffs], Mon Dec 27 18:32:47 1999 UTC (24 years, 2 months ago) by wrstuden
Branch: wrstuden-devbsize
Changes since 1.77: +89 -8 lines
Diff to previous 1.77 (colored) next main 1.78 (colored)

Pull up to last week's -current.

Revision 1.82 / (download) - annotate - [select for diffs], Wed Dec 22 04:54:16 1999 UTC (24 years, 2 months ago) by jun
Branch: MAIN
Changes since 1.81: +36 -43 lines
Diff to previous 1.81 (colored)

FIX:
port-mips/9016 [serious/medium]:
        MIPS FPU emulator points wrong epc on exception case

	Responsible:    port-mips-maintainer (NetBSD/mips Portmasters)
	State:          open
	Class:          sw-bug
	Originator:     Shuichiro URATA
	Release:        current 12/11/1999
	Arrival-Date:   Fri Dec 17 10:18:00 1999
commit patch
     http://www.a-r.org/~ur/softfloat1211.diff.gz
     by Shuichiro URATA (ur@a-r.org)

Revision 1.81 / (download) - annotate - [select for diffs], Fri Dec 3 02:15:55 1999 UTC (24 years, 2 months ago) by nisimura
Branch: MAIN
CVS Tags: wrstuden-devbsize-base, wrstuden-devbsize-19991221
Changes since 1.80: +13 -1 lines
Diff to previous 1.80 (colored)

Add _splrestore() to manipulate processor interrupt control bits.

Revision 1.80 / (download) - annotate - [select for diffs], Mon Nov 29 11:12:13 1999 UTC (24 years, 3 months ago) by uch
Branch: MAIN
Changes since 1.79: +11 -1 lines
Diff to previous 1.79 (colored)

TX3912/22 support. ENABLE_MIPS_TX3900 enables it.

Revision 1.79 / (download) - annotate - [select for diffs], Thu Nov 18 06:47:49 1999 UTC (24 years, 3 months ago) by jun
Branch: MAIN
Changes since 1.78: +61 -8 lines
Diff to previous 1.78 (colored)

on port-mips@netbsd.org:
Shuichiro URATA <ur@a-r.org> makes kernel softfloat emulation code.

http://www.a-r.org/~ur/softfloat1116.diff.gz

is Patch for
      sys/arch/mips/conf/files.mips
      sys/arch/mips/mips/fp.S
      sys/arch/mips/mips/fpemu.c
      sys/arch/mips/mips/genassym.cf
      sys/arch/mips/mips/locore.S
      sys/arch/mips/mips/mips_machdep.c
      sys/arch/mips/mips/process_machdep.c
      sys/arch/mips/mips/trap.c
      sys/arch/mips/mips/vm_machdep.c
After apply this patch,pmax package binary works on hpcmips!

Revision 1.77.4.1 / (download) - annotate - [select for diffs], Mon Nov 15 00:38:39 1999 UTC (24 years, 3 months ago) by fvdl
Branch: fvdl-softdep
Changes since 1.77: +7 -1 lines
Diff to previous 1.77 (colored) next main 1.78 (colored)

Sync with -current

Revision 1.78 / (download) - annotate - [select for diffs], Wed Nov 3 16:21:22 1999 UTC (24 years, 3 months ago) by mycroft
Branch: MAIN
CVS Tags: fvdl-softdep-base, comdex-fall-1999-base, comdex-fall-1999
Changes since 1.77: +7 -1 lines
Diff to previous 1.77 (colored)

In copy*str(), explicitly check for maxlen==0, rather than implicitly making it
act like 2^32.

Tested by: simonb

Revision 1.77 / (download) - annotate - [select for diffs], Sat Sep 25 00:00:38 1999 UTC (24 years, 5 months ago) by shin
Branch: MAIN
Branch point for: wrstuden-devbsize, thorpej_scsipi, fvdl-softdep
Changes since 1.76: +27 -1 lines
Diff to previous 1.76 (colored)

Changes for NetBSD/hpcmips.

	Support VR4100.
	Support 16KB page.
	Support CPU without FPU.

Fix virtual alias problem(physio() case).

[new options]

options		MIPS3_4100	/* VR4100 core */
options		MIPS_16K_PAGE	/* enable kernel support for 16k pages  */
options		SOFTFLOAT 	/* No FPU; avoid touching FPU registers */

Revision 1.76 / (download) - annotate - [select for diffs], Mon Aug 16 07:53:18 1999 UTC (24 years, 6 months ago) by nisimura
Branch: MAIN
Changes since 1.75: +4 -4 lines
Diff to previous 1.75 (colored)

- Fix a severe bug I introduced May 7th.  MIPS kernel ran for long time
in kernel mode after master interrupt (MIPS_SR_INT_IE) disabled.  Tons
of appreciation for Noriyuki Soda and Masanari Tsubai for almost full
time help to spot of the issue.

Revision 1.68.2.1.2.2 / (download) - annotate - [select for diffs], Thu Jul 1 23:13:27 1999 UTC (24 years, 8 months ago) by thorpej
Branch: chs-ubc2
Changes since 1.68.2.1.2.1: +6 -5 lines
Diff to previous 1.68.2.1.2.1 (colored) to branchpoint 1.68.2.1 (colored) next main 1.69 (colored)

Sync w/ -current.

Revision 1.75 / (download) - annotate - [select for diffs], Wed Jun 30 03:52:04 1999 UTC (24 years, 8 months ago) by nisimura
Branch: MAIN
CVS Tags: chs-ubc2-base
Changes since 1.74: +6 -5 lines
Diff to previous 1.74 (colored)

- _insque()/_remque() used by CODA.

Revision 1.68.2.1.2.1 / (download) - annotate - [select for diffs], Mon Jun 21 00:52:07 1999 UTC (24 years, 8 months ago) by thorpej
Branch: chs-ubc2
Changes since 1.68.2.1: +128 -75 lines
Diff to previous 1.68.2.1 (colored)

Sync w/ -current.

Revision 1.74 / (download) - annotate - [select for diffs], Fri Jun 4 21:43:12 1999 UTC (24 years, 8 months ago) by castor
Branch: MAIN
Changes since 1.73: +3 -1 lines
Diff to previous 1.73 (colored)

in switch_exit() previous fix forgot to guard REG_L with REG_PROLOGUE and
REG_EPILOGUE.

Revision 1.73 / (download) - annotate - [select for diffs], Fri Jun 4 21:35:47 1999 UTC (24 years, 8 months ago) by castor
Branch: MAIN
Changes since 1.72: +2 -2 lines
Diff to previous 1.72 (colored)

fix register restore to be safe for n32 model.

Revision 1.72 / (download) - annotate - [select for diffs], Tue May 18 01:36:52 1999 UTC (24 years, 9 months ago) by nisimura
Branch: MAIN
Changes since 1.71: +5 -5 lines
Diff to previous 1.71 (colored)

- Move MachSetPID(1) call to pmap_bootstrap() adajacent to kernel pmap
initialization code.
- Abandon mips_init_proc0() and do the 4 lines straightly in MD mach_init().
- Restore a block of code accidentally lost in prevous commit.
- Change the term 'tlbpid' to a MIPS3 nomenclature 'asid'.
- Hide PTE size exposures by symbolic names in locore.S

Revision 1.71 / (download) - annotate - [select for diffs], Fri May 7 01:30:26 1999 UTC (24 years, 9 months ago) by nisimura
Branch: MAIN
Changes since 1.70: +115 -64 lines
Diff to previous 1.70 (colored)

- Introduce MIPS processor interrupt control routines;
_splraise, _spllower, _splset, _splget, _setsoftintr, _clrsoftintr, _splnone.

They manipulate MIPS processor's 8 interrupt sources and are used
as building blocks for NetBSD spl(9) kernel interface.  Note that
MIPS processor doesn't enforce inclusive 'interrupt levels' found
in other processors, then the hierarchal nature of IPL must be
implemented by composing MIPS processor interrupt masks appropriately.

With the simplest target port in which small number of devices are
independently assigned with 6 external interrupt signal lines,
spl(9) kernel interface will be implemented with #define's of
processor interrupt controls mentioned above.  In more general
cases, in which target computers have many devices and 'system
registers' indicating pending interrupt sources at any moment,
spl(9) will be implemented with more complex machinary manipulating
processor interrupts and system registers in target port dependent
ways.

- Nuke unused code and reorder locore definitions.  XXX Following
routines will be replaced with C language version; setrunqueue,
remrunqueue, switchfpregs, savefpregs, MachFPInterrupt.

Revision 1.68.2.1 / (download) - annotate - [select for diffs], Mon Apr 26 22:15:55 1999 UTC (24 years, 10 months ago) by perry
Branch: netbsd-1-4
CVS Tags: netbsd-1-4-RELEASE, netbsd-1-4-PATCH003, netbsd-1-4-PATCH002, netbsd-1-4-PATCH001, kame_14_19990705, kame_14_19990628, kame_141_19991130, kame
Branch point for: chs-ubc2
Changes since 1.68: +2 -2 lines
Diff to previous 1.68 (colored) next main 1.69 (colored)

pullup 1.68->1.69 (Andy Doran)

Revision 1.70 / (download) - annotate - [select for diffs], Sat Apr 24 08:10:39 1999 UTC (24 years, 10 months ago) by simonb
Branch: MAIN
Changes since 1.69: +7 -7 lines
Diff to previous 1.69 (colored)

Nuke register and remove trailling white space.

Revision 1.69 / (download) - annotate - [select for diffs], Thu Apr 15 15:30:46 1999 UTC (24 years, 10 months ago) by ad
Branch: MAIN
Changes since 1.68: +2 -2 lines
Diff to previous 1.68 (colored)

Disable ntohl/htonl due to duplication in libkern/arch/mips.

Revision 1.68 / (download) - annotate - [select for diffs], Tue Mar 30 17:34:55 1999 UTC (24 years, 11 months ago) by soda
Branch: MAIN
CVS Tags: netbsd-1-4-base
Branch point for: netbsd-1-4
Changes since 1.67: +2 -2 lines
Diff to previous 1.67 (colored)

fix error in previous my change

Revision 1.67 / (download) - annotate - [select for diffs], Tue Mar 30 14:27:56 1999 UTC (24 years, 11 months ago) by soda
Branch: MAIN
Changes since 1.66: +13 -13 lines
Diff to previous 1.66 (colored)

ALIAS() is not needed, use XLEAF() or XNESTED() instead

Revision 1.66 / (download) - annotate - [select for diffs], Wed Mar 24 05:51:05 1999 UTC (24 years, 11 months ago) by mrg
Branch: MAIN
Changes since 1.65: +1 -12 lines
Diff to previous 1.65 (colored)

completely remove Mach VM support.  all that is left is the all the
header files as UVM still uses (most of) these.

Revision 1.65 / (download) - annotate - [select for diffs], Tue Mar 23 22:43:18 1999 UTC (24 years, 11 months ago) by simonb
Branch: MAIN
Changes since 1.64: +12 -2 lines
Diff to previous 1.64 (colored)

If on entry the stack is within 4kB of _start, don't reset the stack
pointer to just underneath _start.  Allows bootblocks (or other kernel
calling programs) to pass more than 4 arguments if it sets up the stack
properly.

The 4kB figure may be overkill - on the pmax it only needs to be a dozen
of so bytes.

Revision 1.64 / (download) - annotate - [select for diffs], Sun Feb 28 20:36:31 1999 UTC (25 years ago) by mhitch
Branch: MAIN
Changes since 1.63: +5 -6 lines
Diff to previous 1.63 (colored)

Change switch_exit() to use the *current* proc0 stack pointer, instead of
the *initial* stack pointer.  The proc0 stack is being used by proc0 (i.e.
uvm_scheduler).  This had been working because switch_exit() wasn't
overwriting any critical areas of the stack - unless kernel profiling
was turned on.

Revision 1.63 / (download) - annotate - [select for diffs], Sat Jan 16 08:45:53 1999 UTC (25 years, 1 month ago) by nisimura
Branch: MAIN
Changes since 1.62: +23 -5 lines
Diff to previous 1.62 (colored)

- Make cpu_switch() a normal call; formally it was splitted into halves.
- Fix an error in mips3_cpu_switch_resume(); ASID was not set correctly.
- Remove global variable 'curpcb' reference in mips1_proc_trampoline().
- Restore 'cpuregs.h'.

Revision 1.62 / (download) - annotate - [select for diffs], Sat Jan 16 03:17:06 1999 UTC (25 years, 1 month ago) by nisimura
Branch: MAIN
Changes since 1.61: +4 -4 lines
Diff to previous 1.61 (colored)

- Fix errors involving proc0's kernel stack usage.  Fortunately it made
no error so far...

Revision 1.61 / (download) - annotate - [select for diffs], Fri Jan 15 01:23:12 1999 UTC (25 years, 1 month ago) by castor
Branch: MAIN
Changes since 1.60: +405 -869 lines
Diff to previous 1.60 (colored)

* Elimination of UADDR/KERNELSTACK

   Affected files:
	include/mips_param.h, include/pcb.h,
	mips/locore_mips1.S, mips/locore_mips3.S,
	mips/mips_machdep.c, mips/vm_machdep.c

   Issue:

So far, NetBSD/mips has not successfully got rid of fixed-address
kernel stack.  USPACE (two 4KB pages) of each process has two distinct
KSEG2 addresses, both refer to a single physical storage; one address
for fixed range [ UADDR .. KERNELSTACK ), and another for "normal" KSEG2
address which was allocated by kernel memory manager and unique to each
others of processes.

"Doubly mapped" USPACE complicates context switch.  Both address ranges
have to be managed with a special care of "wired" TLB entries which
are never replaced until next context switch to ensure no TLB miss for
USPACE access.  It's equally crumbersome that MIPS processor's cache
machinary gets be confused about USPACE contents because there are two
distinct KSEG2 addresses to manipulate one physical storage.

   Solution:

Purge KERNELSTACK constant for kernel stack pointer and replace
it with process unique values.  Kernel stack bottom is located at
'curproc->p_addr + USPACE'.  Context switch is simplified as it unloads
half of TLB hardwiring burden.  It just manages the unique KSEG2 address
of each USPACE to be wired.  As the side effect, switch_exit() has no
MIPS processor ISA dependent code anymore.  It switchs kernel stack to
proc0's USPACE which has KSEG0 address and no need of TLB entry.

* Extensive use of 'genassym.cf'

To hide target port dependent and/or processor register size dependent
constants from assembler routines, 'genassym.cf' now has an extentive
set of definitions for various constants and offset values of
structural objects.  This change will contribute possible NetBSD/mips64
portability too.

* Separation and rename of locore_r2000/_r4000.S

Those files are now indepedent standalones from locore.S to ease
maintainance works, and renamed to match MIPS processor ISA version.

* Changes in kernel mode exception handlers

Kernel mode exception handlers hold exception contexts by pushing a
certain set of register values on stack for resuming kernel mode
processing.  This context is now represented with 'struct trapframe',
which is smaller than full scale (user mode) exception context 'struct
frame'.  Stack consumption of kernel mode exception services is now
similar to 4.4BSD/mips.

* Relocation of exception frame

User mode context 'struct frame' is moved to the very bottom of kernel
stack at 'curproc->p_addr + USPACE - sizeof(struct frame)'  This change
saves a bit of instructions on every return to user processes as it
eliminates reference to global variable 'curpcb' each time.

* Refurblished DDB backtrace routine

It's a growing concern to maintain stacktrace() code correctly.  It
could be simplified by enforcing special arrangements for some of
obscure locore routines which violate usual coding conventions.

New backtrace code searchs for certain instructions peculiar to any of
function tails.  Specifically, "jr ra" for normal function returns, "jr
k0" for MIPS1 exception handlers and "eret" for MIPS3 handlers.

* Support for 64-bit safe user code
    Affected Files:
	${ARCH}/include/pubassym.cf lib/libc/arch/mips/gen/*setjmp*
	include/setjmp.h mips/include/[lots] mips/mips/[lots]

    Solution:

	We define macros REG_L/REG_S and SZREG for loading and storing
	registers and for the size of registers.  The exact meaning
	of these is controlled by a macro (currently _MIPS64) which
	allows one to treat the registers as either 32-bit or 64-bit.
	There are data types mips_reg_t and mips_fpreg_t which represent
	the true register sizes, and avoid confusing register_t.

	We needed a way to dynamically gen the structure sizes of things
	like sigcontext for setjmp.h, so we defined a pubassym.cf for
	libc routines like setjmp and longjmp.

	NetBSD/mips allows ${ARCH}'s to be defined which preserve
	all 64-bits of registers across user context switches.  There
	are still a few niceties to clean up for kernel mode context
	switches.

* Support for QED 52xx processors
    Affected Files:
	mips/locore_mips3.S mips/pmap.c include/locore.h

    Issue:
	The QED 52xx family of processors are targeted at low cost
	embedded systems, (i.e. CPUs ~$30) for systems like routers, printers,
	etc.  We have added preliminary support for some of the idiosyncrasies
	of this processor, e.g. no L2 cache, etc.  More work needs to be
	done here because with a modest 2-way  L1 cache, some of the rampant
	flushing has significant performance implications.  However,
	it doesn't crash, which is a start.

    Solution:
	A routine for flushing the cache based on virtual addresses was added;
	a routine which deals with the two-way set associativity of the
	5230 L1 cache was added, accomodations to 5230's instruction hazards
	were added.


* TLB Miss code for mips3/mips4 processors cleaned up significantly.
    Affected Files:
	mips/locore_mips3.S mips/vm_machdep.c include/locore.h mips_machdep.c
    Issue:
	The TLB Miss handler exceeded the allowed size, which wasn't
	a problem because there was no handler for when the processor
	was in 64-bit mode.  The handler for invalid TLB exceptions
	also appears to have much vestigial code, which made it
	difficult to understand.

    Solution:
	Use the XCONTEXT register to store a pointer to the segment
	map table, this coupled with removing some dead code allows
	the handlers to fit.

Revision 1.57.2.3 / (download) - annotate - [select for diffs], Sun Dec 6 21:05:08 1998 UTC (25 years, 2 months ago) by drochner
Branch: nisimura-pmax-wscons
Changes since 1.57.2.2: +3 -3 lines
Diff to previous 1.57.2.2 (colored) to branchpoint 1.57 (colored) next main 1.58 (colored)

pull up 1.59/1.60 - kcopy asm ordering

Revision 1.60 / (download) - annotate - [select for diffs], Thu Nov 26 21:16:08 1998 UTC (25 years, 3 months ago) by thorpej
Branch: MAIN
CVS Tags: kenh-if-detach-base, kenh-if-detach
Changes since 1.59: +2 -2 lines
Diff to previous 1.59 (colored)

Erg, fix the non-error code path, too.

Revision 1.59 / (download) - annotate - [select for diffs], Thu Nov 26 20:52:45 1998 UTC (25 years, 3 months ago) by thorpej
Branch: MAIN
Changes since 1.58: +2 -2 lines
Diff to previous 1.58 (colored)

Oops, in some delay slot confusion, I ended up clobbering s0 before it
restored pcb_onfault.  Make it the way I wrote it originally, which was
correct.  Pointed out by Michael Hitch and Charles Hannum.

Revision 1.57.2.2 / (download) - annotate - [select for diffs], Mon Nov 16 10:41:29 1998 UTC (25 years, 3 months ago) by nisimura
Branch: nisimura-pmax-wscons
Changes since 1.57.2.1: +63 -63 lines
Diff to previous 1.57.2.1 (colored) to branchpoint 1.57 (colored)

- Step forward to MIPS64 support.  Incorporate partially Caster Fu's
patches.  Still some work is missing to satisfy his QED 5230 port.

- More symbolic definitions in genassym.cf which improve possible 64bit-ness
of locore_mips{1,3}.S.

- Fix mips3 L1 cache line size detection logic in cpuarch.h as pointed by
Caster.

- Fix a bug in proc_trampoline() code in locore_mips3.S as pointed by Caster.

- Replace vm_offset_t with vaddr_t/paddr_t entirely.  Note that
NetBSD/newsmips has purged vm_offset_t too.

- Synchronize various files according to recent changes made in main trunk.

Revision 1.58 / (download) - annotate - [select for diffs], Sat Oct 24 01:14:26 1998 UTC (25 years, 4 months ago) by jonathan
Branch: MAIN
CVS Tags: chs-ubc-base, chs-ubc
Changes since 1.57: +9 -9 lines
Diff to previous 1.57 (colored)

Fix stacktrace alignment, in case of 64-bit stores into stackframes.
From pr port-mips/5536 from Castor Fu <castor@geocast.com>

Revision 1.57.2.1 / (download) - annotate - [select for diffs], Thu Oct 15 03:16:46 1998 UTC (25 years, 4 months ago) by nisimura
Branch: nisimura-pmax-wscons
Changes since 1.57: +306 -803 lines
Diff to previous 1.57 (colored)

- Split MIPS1/MIPS3 specific codes from locore.S.  They stand independently
  as locore_mips1.S and locore_mips3.S respectively.
- Change function declaration macros in asm.h.  They are now more NetBSD/alpha
  look like.  All of *.S files were changed.
- TLB dump codes now reside in db_interface.c.  Minor change was done in
  locore_mips1.S for it.

Revision 1.57 / (download) - annotate - [select for diffs], Fri Oct 2 18:44:32 1998 UTC (25 years, 4 months ago) by drochner
Branch: MAIN
CVS Tags: nisimura-pmax-wscons-base
Branch point for: nisimura-pmax-wscons
Changes since 1.56: +15 -1 lines
Diff to previous 1.56 (colored)

implement a separate ultrix_sigcode[]

Revision 1.56 / (download) - annotate - [select for diffs], Sun Sep 13 10:29:04 1998 UTC (25 years, 5 months ago) by thorpej
Branch: MAIN
Changes since 1.55: +2 -2 lines
Diff to previous 1.55 (colored)

Make signal delivery work again.

Revision 1.55 / (download) - annotate - [select for diffs], Fri Sep 11 16:46:32 1998 UTC (25 years, 5 months ago) by jonathan
Branch: MAIN
Changes since 1.54: +38 -13 lines
Diff to previous 1.54 (colored)

Changes to sys/arch/mips from ARC port, from Noriyuki Soda <soda@sra.co.jp>.
Adds (most) support for ARC platform to port-independent mips code.

Some changes (e.g., clean up of overlapping CPU/FPU ids) inspired by
comparison to the OpenBSD 2.1 codebase of Soda's ARC port.

Open issues:
 * Still no support for r4600 or mipsIV CPUs with two-way L1 cache.
   Code derived from Per Fogelstrom's OpenBSD source  doesn't work
   on mips3 pmaxes with L2 cache.

 * Still some port-specific  #ifdefs, for interrupt enable and
   pmax L2 cache-size.  Needs more thought, but overlaps with
   work-in-progress by Tohru and Tsubai on spl()s and related stuff.

Revision 1.54 / (download) - annotate - [select for diffs], Tue Aug 25 01:55:39 1998 UTC (25 years, 6 months ago) by nisimura
Branch: MAIN
Changes since 1.53: +1 -280 lines
Diff to previous 1.53 (colored)

Make spl(9) rountines target port dependent.  delay() is also port
dependent anticipating a target with high resolution timer available
for on-the-fly re-programming.  Enum decstation_t was removed from MI
trap.c.

Revision 1.53 / (download) - annotate - [select for diffs], Sun Jul 5 06:49:06 1998 UTC (25 years, 7 months ago) by jonathan
Branch: MAIN
CVS Tags: eeh-paddr_t-base, eeh-paddr_t
Changes since 1.52: +2 -1 lines
Diff to previous 1.52 (colored)

defopt NS, NSIP.

Revision 1.52 / (download) - annotate - [select for diffs], Sun Jul 5 04:37:38 1998 UTC (25 years, 7 months ago) by jonathan
Branch: MAIN
Changes since 1.51: +2 -1 lines
Diff to previous 1.51 (colored)

defopt ISO TPIP.

Revision 1.51 / (download) - annotate - [select for diffs], Sun Jul 5 02:10:14 1998 UTC (25 years, 7 months ago) by jonathan
Branch: MAIN
Changes since 1.50: +5 -4 lines
Diff to previous 1.50 (colored)

_inqsue and _remque are used by ccitt and iso networking code:
Add #ifdefs to enable them.  (compiles and links, but untested.)

Revision 1.50 / (download) - annotate - [select for diffs], Sat Jul 4 22:18:30 1998 UTC (25 years, 7 months ago) by jonathan
Branch: MAIN
Changes since 1.49: +3 -1 lines
Diff to previous 1.49 (colored)

defopt DDB.

Revision 1.49 / (download) - annotate - [select for diffs], Mon Mar 23 00:57:13 1998 UTC (25 years, 11 months ago) by thorpej
Branch: MAIN
Changes since 1.48: +4 -4 lines
Diff to previous 1.48 (colored)

Fix some obvious problems in my MIPS kcopy() implementation (a significant
typo, plus get delay slots right on the R3000).

Revision 1.48 / (download) - annotate - [select for diffs], Thu Mar 12 05:45:05 1998 UTC (25 years, 11 months ago) by thorpej
Branch: MAIN
Changes since 1.47: +54 -1 lines
Diff to previous 1.47 (colored)

Add support for UVM.

Revision 1.47 / (download) - annotate - [select for diffs], Mon Mar 2 23:40:42 1998 UTC (25 years, 11 months ago) by thorpej
Branch: MAIN
Changes since 1.46: +1 -7 lines
Diff to previous 1.46 (colored)

Remove the memcpy() alternate entry point for bcopy(), a temporary measure
until the memcpy()/bcopy() thing is worked out.

Revision 1.46 / (download) - annotate - [select for diffs], Fri Oct 17 04:44:10 1997 UTC (26 years, 4 months ago) by jonathan
Branch: MAIN
CVS Tags: netbsd-1-3-base, netbsd-1-3-RELEASE, netbsd-1-3-PATCH003-CANDIDATE2, netbsd-1-3-PATCH003-CANDIDATE1, netbsd-1-3-PATCH003-CANDIDATE0, netbsd-1-3-PATCH003, netbsd-1-3-PATCH002, netbsd-1-3-PATCH001, netbsd-1-3-BETA, netbsd-1-3
Changes since 1.45: +11 -13 lines
Diff to previous 1.45 (colored)

Add bi-endian support to mips locore, <mips/endian.h>, and mips_opcode.h.
Derived from a change request (PR port-mips/4277) from
Tsubai Masanari, (tsubai@iri.co.jp).

Revision 1.43.2.1 / (download) - annotate - [select for diffs], Sat Aug 23 07:11:08 1997 UTC (26 years, 6 months ago) by thorpej
Branch: marc-pcmcia
Changes since 1.43: +13 -12 lines
Diff to previous 1.43 (colored) next main 1.44 (colored)

Update marc-pcmcia branch from trunk.

Revision 1.45 / (download) - annotate - [select for diffs], Sat Aug 9 03:41:03 1997 UTC (26 years, 6 months ago) by jonathan
Branch: MAIN
CVS Tags: thorpej-signal-base, thorpej-signal, marc-pcmcia-base
Changes since 1.44: +9 -8 lines
Diff to previous 1.44 (colored)

mips pmap_activate:
 * prototype and definition for pmap_activate(p). Updates the segtab,
   and changes the active ASID if p == curproc.
 * Make reserved fixed-address (UADDR) kernelstack PTEs global,
   so we still have a kernel stack after pmap_activate() on curproc.
 * make KSEG2 mappings for p_addr global (see above.)

Seems to detune contextswitch and NTP resolution (by 60 ms), but
thepmap_activate() interface is mandatory.  Needs more thought.

Revision 1.44 / (download) - annotate - [select for diffs], Fri Aug 8 06:52:59 1997 UTC (26 years, 6 months ago) by jonathan
Branch: MAIN
Changes since 1.43: +7 -7 lines
Diff to previous 1.43 (colored)

Add mips_read_causereg()

Revision 1.43 / (download) - annotate - [select for diffs], Wed Jul 23 05:36:40 1997 UTC (26 years, 7 months ago) by jonathan
Branch: MAIN
CVS Tags: marc-pcmcia-bp
Branch point for: marc-pcmcia
Changes since 1.42: +162 -92 lines
Diff to previous 1.42 (colored)

Substitute Mach 3.0 MK84 mips kernel bcopy() for Sprite bcopy().
Has unrolled loop for aligned-to-aligned copy.

Notes:
  1. this code tuned for DEC 5000/200.  ioasic decstations do more unaligned
     copies.  Better than old non-unrolled loop, but could be improved.

  2. Undoes changes made for MIPS3 with comment implying an r4000 TLB bug.
     We can't reproduce this on 5000/150 (jonathan) or 5000/50 (mhitch).
     Calls to previous  bcopy with a bad address show similar symptoms,
     reporting a trap in bcopy() after bcopy() has returned.  Same thing??
     Needs re-checking on an r4000 with no L2 cache.

Revision 1.42 / (download) - annotate - [select for diffs], Sun Jul 20 20:48:40 1997 UTC (26 years, 7 months ago) by jonathan
Branch: MAIN
Changes since 1.41: +3 -19 lines
Diff to previous 1.41 (colored)

Add ddb to mips/conf/files.mips. Garbage-collect mdb.

Revision 1.41 / (download) - annotate - [select for diffs], Sun Jul 20 19:48:03 1997 UTC (26 years, 7 months ago) by jonathan
Branch: MAIN
Changes since 1.40: +4 -2 lines
Diff to previous 1.40 (colored)

Kernel profiling.  Don't profile the following:
  sigcode():
      executed from user-space stack.

  mips1_cpu_switch_resume, mips3_cpu_switch_resume:
      arguments passed in via v0, t0, t1 (outlined from cpu_switch())

  mips3_VCED(), mips3_VCEI():
      called from exception-vector code without any register save,
      $at, $ra are live.

Revision 1.40 / (download) - annotate - [select for diffs], Sun Jul 20 19:40:25 1997 UTC (26 years, 7 months ago) by jonathan
Branch: MAIN
Changes since 1.39: +6 -8 lines
Diff to previous 1.39 (colored)

Conditionalize mips1-speciifc locore code on #ifdef MIPS1

Revision 1.39 / (download) - annotate - [select for diffs], Mon Jul 7 03:54:31 1997 UTC (26 years, 7 months ago) by jonathan
Branch: MAIN
Changes since 1.38: +47 -23 lines
Diff to previous 1.38 (colored)

DDB for mips.
  Add DDB interface to /sys/arch/mips/mips..
  Rework heuristic stack traceback to work with DDB.
  Add hooks  to print exception log from DDB.
  Add hooks from pmax console drivers:   call Debugger()
  after break from serial console, or 'DO' key from LK-xxx.

Revision 1.38 / (download) - annotate - [select for diffs], Mon Jun 30 14:42:32 1997 UTC (26 years, 8 months ago) by jonathan
Branch: MAIN
CVS Tags: bouyer-scsipi
Changes since 1.37: +2 -2 lines
Diff to previous 1.37 (colored)

Enable stack tracebacks if MDB is configured.

Revision 1.37 / (download) - annotate - [select for diffs], Sat Jun 28 03:55:05 1997 UTC (26 years, 8 months ago) by mhitch
Branch: MAIN
Changes since 1.36: +10 -11 lines
Diff to previous 1.36 (colored)

Mini-debugger now included by options MDB.
Cpu_regs() is included by options DEBUG, as are the stacktrace routines,
so move it inside the #ifdef DEBUG along with stacktrace().

Revision 1.36 / (download) - annotate - [select for diffs], Sun Jun 22 07:42:56 1997 UTC (26 years, 8 months ago) by jonathan
Branch: MAIN
Changes since 1.35: +136 -136 lines
Diff to previous 1.35 (colored)

* Change Sprite MACH_xxx prefix to MIPS_xxx.

* Use standard mips terminology (xxx_KSEG0, xxx_KSEG1) instead of the
  (more meaningful) Sprite names (xxx_CACHED, xxx_UNCACHED).

Revision 1.35 / (download) - annotate - [select for diffs], Sat Jun 21 06:32:22 1997 UTC (26 years, 8 months ago) by mhitch
Branch: MAIN
Changes since 1.34: +6 -5 lines
Diff to previous 1.34 (colored)

Move the CPU-specific shift of the TLB PID into mips_r?000.S.

Revision 1.34 / (download) - annotate - [select for diffs], Thu Jun 19 06:30:03 1997 UTC (26 years, 8 months ago) by mhitch
Branch: MAIN
Changes since 1.33: +19 -256 lines
Diff to previous 1.33 (colored)

More merged mips1/mips3 support:
Remove cpu-specific routines from locore.S and add them to locore_r2000.S
and locore_r4000.S.  Add entries in locore jump vector table for switch_exit()
and the cpu_switch() context resume.
Add offsets into the jump vector to genassym.cf for use in locore.S.

Use same cachesize variables for mips1 and mips3, and rename the variables
per Jonathan's request.

Revision 1.33 / (download) - annotate - [select for diffs], Tue Jun 17 01:40:13 1997 UTC (26 years, 8 months ago) by jonathan
Branch: MAIN
Changes since 1.32: +13 -7 lines
Diff to previous 1.32 (colored)

Fix locore cache variables.  (Should these be exported from locore at all?)

Revision 1.32 / (download) - annotate - [select for diffs], Mon Jun 16 23:41:47 1997 UTC (26 years, 8 months ago) by jonathan
Branch: MAIN
Changes since 1.31: +54 -8 lines
Diff to previous 1.31 (colored)

Changes for configuring both MIPS1 and MIPS3, from a merge of
similar design and code by Jason Thorpe and Jonathan Stone.

NOTE: the kernel-stack-switching code and cacheflush() calls in
locore.S still use #ifdef MIPS3 and need more work.

mips/include/cpu.h:
    Add CPUISMIPS3 for run-time tests of what CPU architecture level
    we're running on.

mips/include/locore.h:
    Add declarations of locore cache-size variables for ref/def toolchain.

mips/include/mips1_pte.h:
    mips1 TLB bit definitions.

mips/include/mips3_pte.h:
    mips3 TLB bit definitions.

mips/include/pte.h:
    define accesor macros for TLB bits (e.g., mips_pg_m_bit(),
    that expand to CPU constants if only one CPU arch is configured,
    or to inline functions if both MIPS1 and MIPS3 are configured.

mips/mips/locore_r2000.S:
    Use MIPS1_PG_xxx constants inside mips1-specific code.

mips/mips/locore_r4000.S:
    Use MIPS3_PG_xxx constants inside mips3-specific code.

mips/mips/locore.S:
    Use MIPS1_PG_xxx constants inside mips3-specific code.
    Use MIPS1_PG_xxx constants inside mips1-specific code.
    (Needs more  work!)

mips/mips/{pmap.c,vm_machdep.c,trap.c}, pmax/pmax/machdep.c:
    Use MIPS3_PG_xxx constants inside mips3-specific functions,
         and MIPS1_PG_XXX inside mips1-specific code.
    Otherwise, use mips_pg_XXX_bit() macros where they apply,
    and use "if (CPUISMIPS3) { ... } else {... }" where they don't.

mips/mips/mips_machdep.c:
    Import Michael Hitch's fixes from the pmax locore-init code
    into mips_vector_init().

pmax/pmax/machdep.c:
    Use generic mips_vector_init() locore vector-init function.

Revision 1.31 / (download) - annotate - [select for diffs], Sun Jun 15 17:44:46 1997 UTC (26 years, 8 months ago) by mhitch
Branch: MAIN
Changes since 1.30: +754 -748 lines
Diff to previous 1.30 (colored)

From Toru Nishimura: _FORKBRAINDAMAGE is gone, user process entered through
proc_trampoline(); move away from UADDR access to user structure.
From Toru Nishimura:  exception trapframe changes, mini-debugger from pica
port, separate out syscall exception.
DECstation MIPS3 support: wbflush() is cpu-dependent, MIPS3 level 2 cache
support.

Revision 1.30 / (download) - annotate - [select for diffs], Sun Jun 15 01:18:25 1997 UTC (26 years, 8 months ago) by jonathan
Branch: MAIN
Changes since 1.29: +14 -16 lines
Diff to previous 1.29 (colored)

Use standard symbolic register names in stacktrace() and logstacktrace().

Revision 1.29 / (download) - annotate - [select for diffs], Sun Jun 15 01:08:16 1997 UTC (26 years, 8 months ago) by jonathan
Branch: MAIN
Changes since 1.28: +45 -1 lines
Diff to previous 1.28 (colored)

Rewrite stack traceback printing (stacktrace()) and logging(logstacktrace()
wrappers for stacktrace_subr() in assembly code to avoid prototype conflicts.

Revision 1.28 / (download) - annotate - [select for diffs], Mon May 19 23:25:09 1997 UTC (26 years, 9 months ago) by jonathan
Branch: MAIN
Changes since 1.27: +84 -2 lines
Diff to previous 1.27 (colored)

Add cpu_spl[012345]() definitions to locore. These clear the given
interrupt-enable bit in the status register, and all lower bits.

Can be used for spl{bio,net,tty,clock,statclock} on machines where
devices are wried to mips hard-interrupt levels in ascending bit order
so as to match the BSD spl.9 ordering.

Revision 1.27 / (download) - annotate - [select for diffs], Mon Dec 23 15:27:47 1996 UTC (27 years, 2 months ago) by jonathan
Branch: MAIN
CVS Tags: thorpej-setroot, mrg-vm-swap, is-newarp-before-merge, is-newarp-base, is-newarp
Changes since 1.26: +3 -1 lines
Diff to previous 1.26 (colored)

Pander to "kernel_text" kludge.

Revision 1.26 / (download) - annotate - [select for diffs], Wed Nov 6 20:19:38 1996 UTC (27 years, 3 months ago) by cgd
Branch: MAIN
Changes since 1.25: +9 -9 lines
Diff to previous 1.25 (colored)

Fix an inconsistency that came in with Lite: setrq() was renamed to
setrunqueue(), but remrq() was never renamed.  Rename remrq() to
remrunqueue().

Revision 1.25 / (download) - annotate - [select for diffs], Sun Oct 13 21:37:38 1996 UTC (27 years, 4 months ago) by jonathan
Branch: MAIN
Changes since 1.24: +1 -1 lines
Diff to previous 1.24 (colored)

Rename mips CPU-family locore prefixes for case-consistency:
    mips_r2000_, mips_R2000_ -> mips1_
    mips_r4000_, mips_R4000_ -> mips3_
(which are also, for mnemonic reasons,  consistent with gcc flag usage,
 rather than using mipsI_ and mipsIII_).

Revision 1.24 / (download) - annotate - [select for diffs], Mon Sep 30 02:21:21 1996 UTC (27 years, 5 months ago) by jonathan
Branch: MAIN
Changes since 1.23: +4 -3 lines
Diff to previous 1.23 (colored)

Include <mips/asm.h>, not  the Sprite header names.

Revision 1.23 / (download) - annotate - [select for diffs], Mon Sep 30 01:30:21 1996 UTC (27 years, 5 months ago) by jonathan
Branch: MAIN
Changes since 1.22: +2 -109 lines
Diff to previous 1.22 (colored)

Move Decstation-specific locore code (sii DMA copy, vmstat -i counters)
from arch/mips/mips/locore.S to arch/pmax/pmax/locore_machdep.S.

Revision 1.22 / (download) - annotate - [select for diffs], Tue May 21 00:20:40 1996 UTC (27 years, 9 months ago) by jonathan
Branch: MAIN
CVS Tags: netbsd-1-2-base, netbsd-1-2-RELEASE, netbsd-1-2-PATCH001, netbsd-1-2-BETA, netbsd-1-2
Changes since 1.21: +371 -2625 lines
Diff to previous 1.21 (colored)

Copy the pmax locore.S code into the arch/mips hierarchy and split
it into three pieces:

 * locore.S, which contains generic mips locore code,
   applicable for both r2000/r3000 and r4000s (in 32-bit mode).

 * locore_r2000.S, which contains r2000/r3000 (MIPS-I) versions
   of the locore functions that need mips-generation-specific
   instructions or handling.
 * locore_r4000.S, which contains r4000/r4400/r4600 (MIPS-III?) versions
   of the locore functions that need mips-generation-specific
   instructions or handling.

Much of the code in locore_r4000.S is derived from Per Fogelstrom's Pica port.
locore.S still contains some pmax-specific DMA-buffer copy functions.

Revision 1.21 / (download) - annotate - [select for diffs], Sun May 19 00:25:14 1996 UTC (27 years, 9 months ago) by jonathan
Branch: MAIN
Changes since 1.20: +24 -1 lines
Diff to previous 1.20 (colored)

Add alternate "mips_r2000_<XXX>" entry points for the r2000/r3000-specific
locore functions.  The new names are used by C code to construct a jump-table,.
making it less infeasible to have a single kernel image work on both
r3000 and r4000 systems.

Revision 1.20 / (download) - annotate - [select for diffs], Sun Mar 31 03:38:34 1996 UTC (27 years, 11 months ago) by jonathan
Branch: MAIN
Changes since 1.19: +1666 -619 lines
Diff to previous 1.19 (colored)

merge mips and pica locore.S, pass 0:
    * cut-and-paste all the code for both r2000 (MIPS-I) and r4000 (MIPS-III)
      into both the pica and pmax locore.S.

    * Change the names of the small segments of vector code that are
      bcopied to the machine vector locations, to avoid clashing.
      Get rid of the Sprite MachXXX names for the vector code, and
      use use mips_r2000_xxx and mips_r4000_xxx instead.

      Update the names used in the vector-copying code and trap handlers
      to match.

    * Most of the rest of the pica locore.S was copied from the pmax
      locore.S, and then edited to work on an r4000.  The names of
      functions and of manifest constants stayed the same, although
      both assmbler code and constant values changed.
      cut-and-paste such code into contiguous blocks protected by
      #if / #endif.  Much of the cache and trap-handling code
      needs r3000-only register fields, on the r3000, and r4000-only
      insns and registers on the r4000.

   * change the pmax r2000 exception-handling code to extract a trap
     code with the user/kernel bit at 0x20 rather than 0x10.
     (r2000s have 4-bit execption codes, r4000s have 5-bit.)
     Use the a 16 from-user-space + 16-from-kernel space jump table,
     just like on the r4000 pica port.

   * add NOPs to the common code where required by the r4000 pipeline
     constraints.
   * add _C_LABEL() macros to the r4000 locore.

Comitted to provide a snapshot for others to test, and work on a cleaner merge.

Revision 1.19 / (download) - annotate - [select for diffs], Mon Mar 25 06:40:39 1996 UTC (27 years, 11 months ago) by jonathan
Branch: MAIN
Changes since 1.18: +41 -3 lines
Diff to previous 1.18 (colored)

Random additions from the Pica r4k port:

* Add spl4() and spl5() functions from the Pica port.
* Add MachFPTrap() as an alternate entry point for MachFPInterrupt.
  The r4k reports floating-point execptions as a trap, not an interrupt,
  and the Pica port uses the name MachFPTrap().
* Add nops to the Mach_spl?() functions and MachFPInterrupt, as required
   for the r4k port.
Commit "floppy"  interrupt counter for vmstat -i.

Revision 1.18 / (download) - annotate - [select for diffs], Sun Feb 4 20:14:20 1996 UTC (28 years ago) by jonathan
Branch: MAIN
Changes since 1.17: +11 -8 lines
Diff to previous 1.17 (colored)

Redo the locore interrupt counters reported by vmstat -i:
* add a new enum decstation_intr_t to trap.c, naming each instrumented
  interrupt symbolically, and used to index into intrcnt[].  Change the
  model-specific interrupt handlers to use the decstation_intr_t when
  updating interrupt counters.
* add instrumentation to the kmin and maxine interrupt handlers.
* fix a bug that counted each hardclock interrupts on the kn02 twice.

The hardcoded mapping from locore names to units is gross; but these
counters will hopefully be useful in identifying interrupt hot-spots
and PPP problems on the 3MIN.

Revision 1.17 / (download) - annotate - [select for diffs], Wed Dec 20 02:00:32 1995 UTC (28 years, 2 months ago) by jonathan
Branch: MAIN
Changes since 1.16: +2 -2 lines
Diff to previous 1.16 (colored)

Add support for ptrace PT_GETREGS and PT_SETREGS for NetBSD/pmax:
 * define PT_GETREGS and PT_SETREGS in pmax/include/ptrace.h
 * Flesh out the stubs in pmax/pmax/process_machdep.c to handle
   those requests.
 * Now that "struct reg" is actually used, remove the bogus
   #ifdef LANGUAGE_C around its definition, and redo pmax/include/reg.h
   so that the definitions needed by locore.S are in a separate file,
   pmax/include/regnum.h.
 * update locore.S to match.

Revision 1.16 / (download) - annotate - [select for diffs], Thu Sep 28 20:02:50 1995 UTC (28 years, 5 months ago) by jonathan
Branch: MAIN
CVS Tags: netbsd-1-1-base, netbsd-1-1-RELEASE, netbsd-1-1-PATCH001, netbsd-1-1
Changes since 1.15: +2 -1 lines
Diff to previous 1.15 (colored)

Add a missing "nop" in a delay slot in the floating-point exception
handler.  Gradual underflow and fp emulation now work correctly.
Proper denorms also fix strtod() inaccuracies and Gcc's "enquire" program.

Revision 1.15 / (download) - annotate - [select for diffs], Thu Sep 21 23:28:31 1995 UTC (28 years, 5 months ago) by jonathan
Branch: MAIN
Changes since 1.14: +6 -4 lines
Diff to previous 1.14 (colored)

Rename the force-all-pending-writes to memory function to wbflush().
Keep the old Mach-derived name "MachEmptyWriteBuffer()" as an alternate
entry point.

Revision 1.14 / (download) - annotate - [select for diffs], Sun Aug 13 00:16:08 1995 UTC (28 years, 6 months ago) by mycroft
Branch: MAIN
Changes since 1.13: +11 -2 lines
Diff to previous 1.13 (colored)

Add splsoftnet().

Revision 1.13 / (download) - annotate - [select for diffs], Fri May 5 02:45:31 1995 UTC (28 years, 9 months ago) by mellon
Branch: MAIN
Changes since 1.12: +1 -5 lines
Diff to previous 1.12 (colored)

Don't conditionalize utility routines based on DEBUG flag

Revision 1.12 / (download) - annotate - [select for diffs], Fri Apr 28 23:17:51 1995 UTC (28 years, 10 months ago) by jonathan
Branch: MAIN
Changes since 1.11: +17 -8 lines
Diff to previous 1.11 (colored)

Fix performance bug in pmax MachFlushDCache().  Old code disabled icache
and wasn't unrolled. This code runs cached and unrolled, giving an order
of magnitude improvement in some cases (e.g., DMA-capable network devices).
In use at Stanford DSG since late January 1995.

Revision 1.11 / (download) - annotate - [select for diffs], Fri Apr 28 03:10:41 1995 UTC (28 years, 10 months ago) by jonathan
Branch: MAIN
Changes since 1.10: +24 -19 lines
Diff to previous 1.10 (colored)

Check in changes suggested by Ralph Campbell: update variable names
to use turbochannel slot numbers, add a couple of extra slots, just
in case.

Revision 1.10 / (download) - annotate - [select for diffs], Thu Mar 9 12:05:29 1995 UTC (28 years, 11 months ago) by mycroft
Branch: MAIN
Changes since 1.9: +7 -7 lines
Diff to previous 1.9 (colored)

copy*str() should use size_t.

Revision 1.9 / (download) - annotate - [select for diffs], Wed Jan 18 06:45:29 1995 UTC (29 years, 1 month ago) by mellon
Branch: MAIN
Changes since 1.8: +36 -7 lines
Diff to previous 1.8 (colored)

Add conditional gp support; add interrupt disable before setting or clearing soft ints

Revision 1.8 / (download) - annotate - [select for diffs], Thu Dec 15 15:18:29 1994 UTC (29 years, 2 months ago) by mycroft
Branch: MAIN
Changes since 1.7: +282 -282 lines
Diff to previous 1.7 (colored)

Remove underscores from uses of *LEAF() and END().  Use _C_LABEL() in explicit
symbol references.

Revision 1.7 / (download) - annotate - [select for diffs], Wed Nov 23 17:47:57 1994 UTC (29 years, 3 months ago) by dean
Branch: MAIN
Changes since 1.6: +94 -86 lines
Diff to previous 1.6 (colored)

more underscore changes (from J. Stone)

Revision 1.6 / (download) - annotate - [select for diffs], Mon Nov 14 23:50:45 1994 UTC (29 years, 3 months ago) by dean
Branch: MAIN
Changes since 1.5: +176 -184 lines
Diff to previous 1.5 (colored)

Prepended underscores

Revision 1.5 / (download) - annotate - [select for diffs], Wed Oct 26 21:10:31 1994 UTC (29 years, 4 months ago) by cgd
Branch: MAIN
Changes since 1.4: +3 -2 lines
Diff to previous 1.4 (colored)

new RCS ID format.

Revision 1.4 / (download) - annotate - [select for diffs], Sat Jun 25 07:05:12 1994 UTC (29 years, 8 months ago) by glass
Branch: MAIN
Changes since 1.3: +5 -2 lines
Diff to previous 1.3 (colored)

assembler problem

Revision 1.3 / (download) - annotate - [select for diffs], Fri May 27 09:03:36 1994 UTC (29 years, 9 months ago) by glass
Branch: MAIN
Changes since 1.2: +1 -1 lines
Diff to previous 1.2 (colored)

bsd 4.4-lite pmax port as ported to NetBSD

Revision 1.2 / (download) - annotate - [select for diffs], Fri May 27 08:42:06 1994 UTC (29 years, 9 months ago) by glass
Branch: MAIN
Changes since 1.1: +276 -243 lines
Diff to previous 1.1 (colored)

upgrade to bsd 4.4-lite code base. only mod is rcsids

Revision 1.1.1.1 / (download) - annotate - [select for diffs] (vendor branch), Tue Oct 12 03:22:32 1993 UTC (30 years, 4 months ago) by deraadt
Branch: pmax-base
Changes since 1.1: +0 -0 lines
Diff to previous 1.1 (colored)

pmax code from <ralphc@pyramid.com> & <rick@snowhite.cis.uoguelph.ca>

Revision 1.1 / (download) - annotate - [select for diffs], Tue Oct 12 03:22:31 1993 UTC (30 years, 4 months ago) by deraadt
Branch: MAIN

Initial revision

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>