The NetBSD Project

CVS log for src/sys/arch/mips/mips/trap.c

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

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.262 / (download) - annotate - [select for diffs], Sun Mar 13 17:50:55 2022 UTC (10 months, 3 weeks ago) by andvar
Branch: MAIN
CVS Tags: netbsd-10-base, netbsd-10, bouyer-sunxi-drm-base, bouyer-sunxi-drm, HEAD
Changes since 1.261: +3 -3 lines
Diff to previous 1.261 (colored)

s/hander/handler/ and s/hader/header/ in comments and documentation.

Revision 1.249.4.1 / (download) - annotate - [select for diffs], Sun Sep 5 10:48:48 2021 UTC (17 months ago) by martin
Branch: netbsd-9
CVS Tags: netbsd-9-3-RELEASE
Changes since 1.249: +14 -4 lines
Diff to previous 1.249 (colored) next main 1.250 (colored)

Pull up following revision(s) (requested by tsutsui in ticket #1342):

	sys/arch/mips/mips/trap.c: revision 1.250
	sys/arch/mips/mips/trap.c: revision 1.251

Add missing newline to a diagnostic printf.

Comment out the diagnostic message in the TLB_MOD handler that's logged if
pmap_tlb_update_addr() indicates that the VA+ASID was not found in the TLB.

It's a harmless race condition that can happen for legitimate reasons (e.g.
a TLB miss in an interrupt handler that evicts the entry from the TLB).

See discussion:
    http://mail-index.netbsd.org/port-mips/2020/03/07/msg000927.html

Revision 1.259.2.2 / (download) - annotate - [select for diffs], Sat Apr 17 17:26:14 2021 UTC (21 months, 2 weeks ago) by thorpej
Branch: thorpej-cfargs
Changes since 1.259.2.1: +44 -13 lines
Diff to previous 1.259.2.1 (colored) next main 1.260 (colored)

Sync with HEAD.

Revision 1.261 / (download) - annotate - [select for diffs], Wed Apr 7 02:59:01 2021 UTC (22 months ago) by simonb
Branch: MAIN
CVS Tags: thorpej-i2c-spi-conf2-base, thorpej-i2c-spi-conf2, thorpej-i2c-spi-conf-base, thorpej-i2c-spi-conf, thorpej-futex2-base, thorpej-futex2, thorpej-cfargs2-base, thorpej-cfargs2, thorpej-cfargs-base, cjep_sun2x-base1, cjep_sun2x-base, cjep_sun2x, cjep_staticlib_x-base1, cjep_staticlib_x-base, cjep_staticlib_x
Changes since 1.260: +44 -13 lines
Diff to previous 1.260 (colored)

Basic dtrace trap support.

Mostly from FreeBSD.

Revision 1.256.2.1 / (download) - annotate - [select for diffs], Sat Apr 3 22:28:31 2021 UTC (22 months ago) by thorpej
Branch: thorpej-futex
Changes since 1.256: +149 -27 lines
Diff to previous 1.256 (colored) next main 1.257 (colored)

Sync with HEAD.

Revision 1.259.2.1 / (download) - annotate - [select for diffs], Sat Apr 3 21:44:45 2021 UTC (22 months ago) by thorpej
Branch: thorpej-cfargs
Changes since 1.259: +14 -3 lines
Diff to previous 1.259 (colored)

Sync with HEAD.

Revision 1.260 / (download) - annotate - [select for diffs], Mon Mar 29 03:22:17 2021 UTC (22 months, 1 week ago) by simonb
Branch: MAIN
CVS Tags: thorpej-futex-base
Changes since 1.259: +14 -3 lines
Diff to previous 1.259 (colored)

(Very) minimal kernel support for dtrace on MIPS; enough to system call
tracing to work for example.

Revision 1.259 / (download) - annotate - [select for diffs], Wed Mar 17 11:05:37 2021 UTC (22 months, 2 weeks ago) by simonb
Branch: MAIN
Branch point for: thorpej-cfargs
Changes since 1.258: +63 -8 lines
Diff to previous 1.258 (colored)

Handle gas/gcc generating a break/trap 6 for integer overflow and
break/trap 7 for integer divide by zero and setting the SIGFPE
si_code of FPE_INTOVF or FPE_INTDIV respectively.  The break/trap
6/7 seems to have existed since the early days of MIPS but not
well documented anywhere.

Fixes ATF lib/libc/gen/t_siginfo::sigfpe_int .

Revision 1.258 / (download) - annotate - [select for diffs], Sat Mar 13 17:14:11 2021 UTC (22 months, 3 weeks ago) by skrll
Branch: MAIN
Changes since 1.257: +6 -6 lines
Diff to previous 1.257 (colored)

s/pfi_faultpte/&p/ for consistency with arm / other uses of ptep

Revision 1.257 / (download) - annotate - [select for diffs], Sun Mar 7 15:10:05 2021 UTC (23 months ago) by christos
Branch: MAIN
Changes since 1.256: +73 -17 lines
Diff to previous 1.256 (colored)

add TRAP_SIGDEBUG support to mips.

Revision 1.256 / (download) - annotate - [select for diffs], Sat Aug 15 07:42:07 2020 UTC (2 years, 5 months ago) by mrg
Branch: MAIN
Branch point for: thorpej-futex
Changes since 1.255: +2 -448 lines
Diff to previous 1.255 (colored)

move stacktrace_subr() from trap.c into new mips_stacktrace.c so
it can be shared between ddb, other mips kernel components (see
locore), and an upcoming crash(8) port.

remove second copy of kdbpeek() (hidden by old DDB_TRACE
option, but they're functionally equivalent.)

tested on octeon.

ok simonb@

Revision 1.255 / (download) - annotate - [select for diffs], Mon Jul 13 09:00:40 2020 UTC (2 years, 6 months ago) by simonb
Branch: MAIN
Changes since 1.254: +3 -3 lines
Diff to previous 1.254 (colored)

Remove a magic number.

Revision 1.254 / (download) - annotate - [select for diffs], Thu Jun 25 08:00:49 2020 UTC (2 years, 7 months ago) by simonb
Branch: MAIN
Changes since 1.253: +3 -3 lines
Diff to previous 1.253 (colored)

Fix tyop in an acient comment.

Revision 1.251.2.1 / (download) - annotate - [select for diffs], Mon Apr 20 11:28:58 2020 UTC (2 years, 9 months ago) by bouyer
Branch: bouyer-xenpvh
Changes since 1.251: +12 -5 lines
Diff to previous 1.251 (colored) next main 1.252 (colored)

Sync with HEAD

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

Mostly merge changes from HEAD upto 20200411

Revision 1.253 / (download) - annotate - [select for diffs], Thu Apr 9 06:49:37 2020 UTC (2 years, 9 months ago) by skrll
Branch: MAIN
CVS Tags: phil-wifi-20200421, phil-wifi-20200411, bouyer-xenpvh-base2, bouyer-xenpvh-base1
Changes since 1.252: +10 -3 lines
Diff to previous 1.252 (colored)

Wrap a REALLY long line

Revision 1.252 / (download) - annotate - [select for diffs], Thu Apr 9 06:47:50 2020 UTC (2 years, 9 months ago) by skrll
Branch: MAIN
Changes since 1.251: +4 -4 lines
Diff to previous 1.251 (colored)

Fix UVMHIST build

Revision 1.246.4.2 / (download) - annotate - [select for diffs], Wed Apr 8 14:07:45 2020 UTC (2 years, 9 months ago) by martin
Branch: phil-wifi
Changes since 1.246.4.1: +14 -4 lines
Diff to previous 1.246.4.1 (colored) to branchpoint 1.246 (colored)

Merge changes from current as of 20200406

Revision 1.251 / (download) - annotate - [select for diffs], Tue Mar 10 04:04:45 2020 UTC (2 years, 10 months ago) by thorpej
Branch: MAIN
CVS Tags: phil-wifi-20200406, bouyer-xenpvh-base
Branch point for: bouyer-xenpvh
Changes since 1.250: +13 -3 lines
Diff to previous 1.250 (colored)

Comment out the diagnostic message in the TLB_MOD handler that's logged if
pmap_tlb_update_addr() indicates that the VA+ASID was not found in the TLB.
It's a harmless race condition that can happen for legitimate reasons (e.g.
a TLB miss in an interrupt handler that evicts the entry from the TLB).

See discussion:
    http://mail-index.netbsd.org/port-mips/2020/03/07/msg000927.html

Revision 1.250 / (download) - annotate - [select for diffs], Sat Mar 7 18:49:49 2020 UTC (2 years, 11 months ago) by thorpej
Branch: MAIN
Changes since 1.249: +3 -3 lines
Diff to previous 1.249 (colored)

Add missing newline to a diagnostic printf.

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

Sync with HEAD

Revision 1.249 / (download) - annotate - [select for diffs], Sat Apr 6 11:54:20 2019 UTC (3 years, 10 months ago) by kamil
Branch: MAIN
CVS Tags: phil-wifi-20191119, phil-wifi-20190609, netbsd-9-base, netbsd-9-2-RELEASE, netbsd-9-1-RELEASE, netbsd-9-0-RELEASE, netbsd-9-0-RC2, netbsd-9-0-RC1, isaki-audio2-base, isaki-audio2, is-mlppp-base, is-mlppp, ad-namecache-base3, ad-namecache-base2, ad-namecache-base1, ad-namecache-base, ad-namecache
Branch point for: netbsd-9
Changes since 1.248: +3 -5 lines
Diff to previous 1.248 (colored)

Centralized shared part of child_return() into MI part

Add a new function md_child_return() for MD specific bits only.

New child_return() is now part of MI and central code that handles
uniformly tracing code (KTR and ptrace(2)).

Synchronize value passed to ktrsysret() among ports to SYS_fork. This is
a traditional value and accessing p_lflag to check for PL_PPWAIT shall
use locking against proc_lock. Returning SYS_fork vs SYS_vfork still isn't
correct enough as there are more entry points to forking code. Instead of
making it too good, just settle with plain SYS_fork for all ports.

Revision 1.248 / (download) - annotate - [select for diffs], Sat Apr 6 03:06:26 2019 UTC (3 years, 10 months ago) by thorpej
Branch: MAIN
Changes since 1.247: +13 -28 lines
Diff to previous 1.247 (colored)

Overhaul the API used to fetch and store individual memory cells in
userspace.  The old fetch(9) and store(9) APIs (fubyte(), fuword(),
subyte(), suword(), etc.) are retired and replaced with new ufetch(9)
and ustore(9) APIs that can return proper error codes, etc. and are
implemented consistently across all platforms.  The interrupt-safe
variants are no longer supported (and several of the existing attempts
at fuswintr(), etc. were buggy and not actually interrupt-safe).

Also augmement the ucas(9) API, making it consistently available on
all plaforms, supporting uniprocessor and multiprocessor systems, even
those that do not have CAS or LL/SC primitives.

Welcome to NetBSD 8.99.37.

Revision 1.247 / (download) - annotate - [select for diffs], Wed Apr 3 08:08:00 2019 UTC (3 years, 10 months ago) by kamil
Branch: MAIN
Changes since 1.246: +14 -2 lines
Diff to previous 1.246 (colored)

Rework the fork(2)/vfork(2) event signalling under ptrace(2)

Remove the constraint of SIGTRAP event being maskable by a tracee.

Now all SIGTRAP TRAP_CHLD events are delivered to debugger.

This code touches MD specific logic and the child_return routine.
It's an intermediate step with a room for refactoring in future and
right now the least invasive approach. This allows to assert expected
behavior in already existing ATF tests and make the code prettier
in future keeping the same semantics. Probably there is a need for a MI
wrapper of child_return for shared functionality between ports.

Revision 1.246 / (download) - annotate - [select for diffs], Thu Feb 8 19:16:24 2018 UTC (4 years, 11 months ago) by bouyer
Branch: MAIN
CVS Tags: phil-wifi-base, pgoyette-compat-merge-20190127, pgoyette-compat-base, pgoyette-compat-20190127, pgoyette-compat-20190118, pgoyette-compat-1226, pgoyette-compat-1126, pgoyette-compat-1020, pgoyette-compat-0930, 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, pgoyette-compat-0322, pgoyette-compat-0315, pgoyette-compat
Branch point for: phil-wifi
Changes since 1.245: +19 -15 lines
Diff to previous 1.245 (colored)

Allow kdbpeek() to return failure. If it does, stop the stack trace.
Prevents an infinite loop in ddb if something goes wrong.

Revision 1.245 / (download) - annotate - [select for diffs], Fri Dec 22 22:59:25 2017 UTC (5 years, 1 month ago) by maya
Branch: MAIN
Changes since 1.244: +3 -7 lines
Diff to previous 1.244 (colored)

Don't handle emulations overriding e_fault.

No existing emulations do this.
(COMPAT_IRIX did, but was removed)

Revision 1.235.2.2 / (download) - annotate - [select for diffs], Sun Dec 3 11:36:28 2017 UTC (5 years, 2 months ago) by jdolecek
Branch: tls-maxphys
Changes since 1.235.2.1: +111 -122 lines
Diff to previous 1.235.2.1 (colored) to branchpoint 1.235 (colored) next main 1.236 (colored)

update from HEAD

Revision 1.236.6.4 / (download) - annotate - [select for diffs], Mon Aug 28 17:51:45 2017 UTC (5 years, 5 months ago) by skrll
Branch: nick-nhusb
Changes since 1.236.6.3: +5 -2 lines
Diff to previous 1.236.6.3 (colored) to branchpoint 1.236 (colored) next main 1.237 (colored)

Sync with HEAD

Revision 1.244.2.2 / (download) - annotate - [select for diffs], Fri Jul 14 20:32:33 2017 UTC (5 years, 6 months ago) by christos
Branch: perseant-stdc-iso10646
Changes since 1.244.2.1: +1189 -0 lines
Diff to previous 1.244.2.1 (colored) to branchpoint 1.244 (colored) next main 1.245 (colored)

2564730

Revision 1.244.2.1, Fri Jul 14 20:32:32 2017 UTC (5 years, 6 months ago) by christos
Branch: perseant-stdc-iso10646
Changes since 1.244: +0 -1189 lines
FILE REMOVED

file trap.c was added on branch perseant-stdc-iso10646 on 2017-07-14 20:32:33 +0000

Revision 1.244 / (download) - annotate - [select for diffs], Fri Jul 14 20:32:32 2017 UTC (5 years, 6 months ago) by christos
Branch: MAIN
CVS Tags: tls-maxphys-base-20171202, perseant-stdc-iso10646-base, nick-nhusb-base-20170825
Branch point for: perseant-stdc-iso10646
Changes since 1.243: +5 -2 lines
Diff to previous 1.243 (colored)

Advance the PC on breakpoint instruction to avoid infinite loop DoS!

Revision 1.236.6.3 / (download) - annotate - [select for diffs], Wed Oct 5 20:55:32 2016 UTC (6 years, 4 months ago) by skrll
Branch: nick-nhusb
Changes since 1.236.6.2: +90 -111 lines
Diff to previous 1.236.6.2 (colored) to branchpoint 1.236 (colored)

Sync with HEAD

Revision 1.243 / (download) - annotate - [select for diffs], Sat Sep 10 13:42:11 2016 UTC (6 years, 4 months ago) by skrll
Branch: MAIN
CVS Tags: prg-localcount2-base3, prg-localcount2-base2, prg-localcount2-base1, prg-localcount2-base, prg-localcount2, pgoyette-localcount-20170426, pgoyette-localcount-20170320, pgoyette-localcount-20170107, pgoyette-localcount-20161104, nick-nhusb-base-20170204, nick-nhusb-base-20161204, nick-nhusb-base-20161004, 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, netbsd-8, matt-nb8-mediatek-base, matt-nb8-mediatek, localcount-20160914, jdolecek-ncq-base, jdolecek-ncq, bouyer-socketcan-base1, bouyer-socketcan-base, bouyer-socketcan
Changes since 1.242: +2 -3 lines
Diff to previous 1.242 (colored)

Remove stray assignment.

Revision 1.242 / (download) - annotate - [select for diffs], Sat Sep 10 13:40:14 2016 UTC (6 years, 4 months ago) by skrll
Branch: MAIN
Changes since 1.241: +23 -16 lines
Diff to previous 1.241 (colored)

Fixup siginfo

Revision 1.241 / (download) - annotate - [select for diffs], Mon Jul 11 18:54:32 2016 UTC (6 years, 6 months ago) by skrll
Branch: MAIN
CVS Tags: pgoyette-localcount-base, pgoyette-localcount-20160806, pgoyette-localcount-20160726, pgoyette-localcount
Changes since 1.240: +10 -10 lines
Diff to previous 1.240 (colored)

Trailing whitespace

Revision 1.240 / (download) - annotate - [select for diffs], Mon Jul 11 16:15:36 2016 UTC (6 years, 6 months ago) by matt
Branch: MAIN
Changes since 1.239: +63 -90 lines
Diff to previous 1.239 (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.236.6.2 / (download) - annotate - [select for diffs], Sat Mar 19 11:30:02 2016 UTC (6 years, 10 months ago) by skrll
Branch: nick-nhusb
Changes since 1.236.6.1: +3 -3 lines
Diff to previous 1.236.6.1 (colored) to branchpoint 1.236 (colored)

Sync with HEAD

Revision 1.239 / (download) - annotate - [select for diffs], Sun Mar 6 21:03:01 2016 UTC (6 years, 11 months ago) by tnn
Branch: MAIN
CVS Tags: nick-nhusb-base-20160907, nick-nhusb-base-20160529, nick-nhusb-base-20160422, nick-nhusb-base-20160319
Changes since 1.238: +3 -3 lines
Diff to previous 1.238 (colored)

Don't try to interpret MIPS3-specific status register bit on MIPS1.
Fixes boot of NetBSD/pmax in gxemul 3max emulation mode.

Revision 1.236.6.1 / (download) - annotate - [select for diffs], Tue Sep 22 12:05:47 2015 UTC (7 years, 4 months ago) by skrll
Branch: nick-nhusb
Changes since 1.236: +22 -15 lines
Diff to previous 1.236 (colored)

Sync with HEAD

Revision 1.238 / (download) - annotate - [select for diffs], Thu Jun 11 15:50:17 2015 UTC (7 years, 7 months ago) by matt
Branch: MAIN
CVS Tags: nick-nhusb-base-20151226, nick-nhusb-base-20150921
Changes since 1.237: +6 -5 lines
Diff to previous 1.237 (colored)

Define (but not use) separate kernel and user pagetables.
Move to the new names.

Revision 1.237 / (download) - annotate - [select for diffs], Sat Jun 6 20:53:38 2015 UTC (7 years, 8 months ago) by matt
Branch: MAIN
Changes since 1.236: +18 -12 lines
Diff to previous 1.236 (colored)

Add support for NMI exception (which don't use the cause register).

Revision 1.235.2.1 / (download) - annotate - [select for diffs], Wed Aug 20 00:03:12 2014 UTC (8 years, 5 months ago) by tls
Branch: tls-maxphys
Changes since 1.235: +3 -3 lines
Diff to previous 1.235 (colored)

Rebase to HEAD as of a few days ago.

Revision 1.233.2.2 / (download) - annotate - [select for diffs], Thu May 22 11:39:57 2014 UTC (8 years, 8 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.233.2.1: +3 -3 lines
Diff to previous 1.233.2.1 (colored) to branchpoint 1.233 (colored) next main 1.234 (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.235.4.1 / (download) - annotate - [select for diffs], Sun May 18 17:45:17 2014 UTC (8 years, 8 months ago) by rmind
Branch: rmind-smpnet
Changes since 1.235: +3 -3 lines
Diff to previous 1.235 (colored) next main 1.236 (colored)

sync with head

Revision 1.236 / (download) - annotate - [select for diffs], Wed Mar 26 17:42:00 2014 UTC (8 years, 10 months ago) by christos
Branch: MAIN
CVS Tags: yamt-pagecache-base9, tls-maxphys-base, tls-earlyentropy-base, tls-earlyentropy, rmind-smpnet-nbase, rmind-smpnet-base, riastradh-xf86-video-intel-2-7-1-pre-2-21-15, nick-nhusb-base-20150606, 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
Branch point for: nick-nhusb
Changes since 1.235: +3 -3 lines
Diff to previous 1.235 (colored)

kill sprintf

Revision 1.217.12.46 / (download) - annotate - [select for diffs], Wed Aug 8 22:10:21 2012 UTC (10 years, 6 months ago) by matt
Branch: matt-nb5-mips64
Changes since 1.217.12.45: +3 -3 lines
Diff to previous 1.217.12.45 (colored) to branchpoint 1.217 (colored) next main 1.218 (colored)

Fix some LP64 bugs

Revision 1.217.12.45 / (download) - annotate - [select for diffs], Sat Aug 4 07:20:31 2012 UTC (10 years, 6 months ago) by matt
Branch: matt-nb5-mips64
Changes since 1.217.12.44: +1 -1 lines
Diff to previous 1.217.12.44 (colored) to branchpoint 1.217 (colored)

Make MIPS use a multi-level page table for the kernel address space.
(just like the user address does).   XXX fix mips1

Revision 1.217.12.44 / (download) - annotate - [select for diffs], Mon Jul 9 17:14:47 2012 UTC (10 years, 6 months ago) by matt
Branch: matt-nb5-mips64
Changes since 1.217.12.43: +1 -1 lines
Diff to previous 1.217.12.43 (colored) to branchpoint 1.217 (colored)

It's mips_cpu_switchto now.

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

sync with head

Revision 1.217.12.43 / (download) - annotate - [select for diffs], Mon Feb 27 17:04:39 2012 UTC (10 years, 11 months ago) by matt
Branch: matt-nb5-mips64
Changes since 1.217.12.42: +13 -10 lines
Diff to previous 1.217.12.42 (colored) to branchpoint 1.217 (colored)

Count all traps types.

Revision 1.234.2.1 / (download) - annotate - [select for diffs], Fri Feb 24 09:11:32 2012 UTC (10 years, 11 months ago) by mrg
Branch: jmcneill-usbmp
Changes since 1.234: +2 -10 lines
Diff to previous 1.234 (colored) next main 1.235 (colored)

sync to -current.

Revision 1.235 / (download) - annotate - [select for diffs], Sun Feb 19 21:06:20 2012 UTC (10 years, 11 months ago) by rmind
Branch: MAIN
CVS Tags: yamt-pagecache-base8, yamt-pagecache-base7, yamt-pagecache-base6, yamt-pagecache-base5, yamt-pagecache-base4, riastradh-drm2-base3, riastradh-drm2-base2, riastradh-drm2-base1, riastradh-drm2-base, riastradh-drm2, khorben-n900, jmcneill-usbmp-base9, jmcneill-usbmp-base8, jmcneill-usbmp-base7, jmcneill-usbmp-base6, jmcneill-usbmp-base5, jmcneill-usbmp-base4, jmcneill-usbmp-base3, jmcneill-usbmp-base10, agc-symver-base, agc-symver
Branch point for: tls-maxphys, rmind-smpnet
Changes since 1.234: +2 -10 lines
Diff to previous 1.234 (colored)

Remove COMPAT_SA / KERN_SA.  Welcome to 6.99.3!
Approved by core@.

Revision 1.217.12.42 / (download) - annotate - [select for diffs], Mon Feb 13 08:13:42 2012 UTC (10 years, 11 months ago) by matt
Branch: matt-nb5-mips64
Changes since 1.217.12.41: +28 -15 lines
Diff to previous 1.217.12.41 (colored) to branchpoint 1.217 (colored)

Fix emulation to not panic when it encounters something it doesn't like.
(so running crashme won't crash the system).
Centralize the trapsignal processing so we can print out the trap info if
so desired.
Add a machdep.printfataltraps sysctl knob.

Revision 1.217.12.41 / (download) - annotate - [select for diffs], Thu Feb 9 03:10:05 2012 UTC (10 years, 11 months ago) by matt
Branch: matt-nb5-mips64
Changes since 1.217.12.40: +1 -1 lines
Diff to previous 1.217.12.40 (colored) to branchpoint 1.217 (colored)

When printing a stack trace, use <sym>+0x# so you can c&p easily into gdb.

Revision 1.217.12.40 / (download) - annotate - [select for diffs], Thu Jan 19 08:28:50 2012 UTC (11 years ago) by matt
Branch: matt-nb5-mips64
Changes since 1.217.12.39: +1 -15 lines
Diff to previous 1.217.12.39 (colored) to branchpoint 1.217 (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.217.12.39 / (download) - annotate - [select for diffs], Fri Dec 23 22:33:20 2011 UTC (11 years, 1 month ago) by matt
Branch: matt-nb5-mips64
Changes since 1.217.12.38: +11 -7 lines
Diff to previous 1.217.12.38 (colored) to branchpoint 1.217 (colored)

Cleanup AST processing.

Revision 1.217.12.38 / (download) - annotate - [select for diffs], Fri Dec 23 06:49:03 2011 UTC (11 years, 1 month ago) by matt
Branch: matt-nb5-mips64
Changes since 1.217.12.37: +2 -2 lines
Diff to previous 1.217.12.37 (colored) to branchpoint 1.217 (colored)

print current asid on a trap.

Revision 1.234 / (download) - annotate - [select for diffs], Thu Nov 24 04:17:46 2011 UTC (11 years, 2 months ago) by matt
Branch: MAIN
CVS Tags: 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-base2, jmcneill-usbmp-base
Branch point for: jmcneill-usbmp
Changes since 1.233: +4 -3 lines
Diff to previous 1.233 (colored)

Print out the address in the ktlbmod panic.

Revision 1.233 / (download) - annotate - [select for diffs], Thu Aug 18 21:04:23 2011 UTC (11 years, 5 months ago) by matt
Branch: MAIN
CVS Tags: yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base, jmcneill-audiomp3-base, jmcneill-audiomp3
Branch point for: yamt-pagecache
Changes since 1.232: +3 -3 lines
Diff to previous 1.232 (colored)

Change bcond/BCOND to regimm/REGIMM to better match the MIPS nomenclature.

Revision 1.232 / (download) - annotate - [select for diffs], Tue Aug 16 06:58:15 2011 UTC (11 years, 5 months ago) by matt
Branch: MAIN
Changes since 1.231: +12 -3 lines
Diff to previous 1.231 (colored)

Add support for the MIPS DSP ASE (as a second PCU).

Revision 1.224.2.1 / (download) - annotate - [select for diffs], Mon Jun 6 09:06:08 2011 UTC (11 years, 8 months ago) by jruoho
Branch: jruoho-x86intr
Changes since 1.224: +384 -253 lines
Diff to previous 1.224 (colored) next main 1.225 (colored)

Sync with HEAD.

Revision 1.221.4.4 / (download) - annotate - [select for diffs], Tue May 31 03:04:10 2011 UTC (11 years, 8 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.221.4.3: +1 -2 lines
Diff to previous 1.221.4.3 (colored) to branchpoint 1.221 (colored) next main 1.222 (colored)

sync with head

Revision 1.217.12.37 / (download) - annotate - [select for diffs], Sat May 28 02:21:36 2011 UTC (11 years, 8 months ago) by cliff
Branch: matt-nb5-mips64
Changes since 1.217.12.36: +2 -2 lines
Diff to previous 1.217.12.36 (colored) to branchpoint 1.217 (colored)

add cpu number to fault print

Revision 1.217.12.36 / (download) - annotate - [select for diffs], Thu May 26 19:21:56 2011 UTC (11 years, 8 months ago) by matt
Branch: matt-nb5-mips64
Changes since 1.217.12.35: +32 -2 lines
Diff to previous 1.217.12.35 (colored) to branchpoint 1.217 (colored)

Add MIPS64_RMIXL (XLR/XLS) and MIPS64R2_RMIXL (XLP).  This allows the kernel
to treat this special which is needed for MP support. When accessing the TLB,
always lock the TLB before hand.  If in the miss handlers, the TLB is already
locked let trap deal with the exeception.

Revision 1.231 / (download) - annotate - [select for diffs], Fri Apr 29 22:08:17 2011 UTC (11 years, 9 months ago) by matt
Branch: MAIN
CVS Tags: rmind-uvmplock-nbase, rmind-uvmplock-base, jym-xensuspend-nbase, jym-xensuspend-base, cherry-xenmp-base, cherry-xenmp
Changes since 1.230: +3 -4 lines
Diff to previous 1.230 (colored)

cleanup cpu.h includes

Revision 1.217.12.35 / (download) - annotate - [select for diffs], Fri Apr 29 08:26:30 2011 UTC (11 years, 9 months ago) by matt
Branch: matt-nb5-mips64
Changes since 1.217.12.34: +148 -151 lines
Diff to previous 1.217.12.34 (colored) to branchpoint 1.217 (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.221.4.3 / (download) - annotate - [select for diffs], Thu Apr 21 01:41:13 2011 UTC (11 years, 9 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.221.4.2: +55 -82 lines
Diff to previous 1.221.4.2 (colored) to branchpoint 1.221 (colored)

sync with head

Revision 1.230 / (download) - annotate - [select for diffs], Wed Apr 6 05:33:07 2011 UTC (11 years, 10 months ago) by matt
Branch: MAIN
Changes since 1.229: +14 -75 lines
Diff to previous 1.229 (colored)

Remove dead code.
KNF cleanup.

Revision 1.229 / (download) - annotate - [select for diffs], Wed Mar 16 15:14:08 2011 UTC (11 years, 10 months ago) by tsutsui
Branch: MAIN
Changes since 1.228: +3 -2 lines
Diff to previous 1.228 (colored)

Set R_CAUSE into trapframe in curlwp before calling mips_fpu_trap()
for workaround PR port-mips/44639.

mipsX_user_gen_exception() in mipsX_subr.S (which may call
mips_fpu_trap()) doesn't set R_CAUSE in curlwp trapframe, while
mips1_use_intr() in locore_mips1.S (that may call mips_fpu_intr()) does.

All tests in tests/lib/libc/ieeefp on MIPS3 should pass now.

Revision 1.228 / (download) - annotate - [select for diffs], Tue Mar 15 07:39:23 2011 UTC (11 years, 10 months ago) by matt
Branch: MAIN
Changes since 1.227: +44 -11 lines
Diff to previous 1.227 (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.221.4.2 / (download) - annotate - [select for diffs], Sat Mar 5 20:51:09 2011 UTC (11 years, 11 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.221.4.1: +408 -249 lines
Diff to previous 1.221.4.1 (colored) to branchpoint 1.221 (colored)

sync with head

Revision 1.225.2.2 / (download) - annotate - [select for diffs], Sat Mar 5 15:09:50 2011 UTC (11 years, 11 months ago) by bouyer
Branch: bouyer-quota2
Changes since 1.225.2.1: +403 -206 lines
Diff to previous 1.225.2.1 (colored) next main 1.226 (colored)

Sync with HEAD

Revision 1.227 / (download) - annotate - [select for diffs], Sun Feb 20 07:45:48 2011 UTC (11 years, 11 months ago) by matt
Branch: MAIN
CVS Tags: bouyer-quota2-nbase
Changes since 1.226: +403 -206 lines
Diff to previous 1.226 (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.225.2.1 / (download) - annotate - [select for diffs], Thu Feb 17 11:59:49 2011 UTC (11 years, 11 months ago) by bouyer
Branch: bouyer-quota2
Changes since 1.225: +4 -43 lines
Diff to previous 1.225 (colored)

Sync with HEAD

Revision 1.226 / (download) - annotate - [select for diffs], Tue Feb 8 20:20:19 2011 UTC (11 years, 11 months ago) by rmind
Branch: MAIN
CVS Tags: uebayasi-xip-base7, bouyer-quota2-base
Changes since 1.225: +4 -43 lines
Diff to previous 1.225 (colored)

Remove clause 3 (UCB advertising clause) from the University of Utah
copyright.  Confirmed by Mike Hibler, mike at cs.utah.edu - thanks!
Also, merge UCB and Utah copyright texts back into one, as they
originally were.

Extra verification by snj@.

Revision 1.217.12.34 / (download) - annotate - [select for diffs], Sat Feb 5 06:08:12 2011 UTC (12 years ago) by cliff
Branch: matt-nb5-mips64
Changes since 1.217.12.33: +34 -11 lines
Diff to previous 1.217.12.33 (colored) to branchpoint 1.217 (colored)

- include opt_multiprocessor.h for MULTIPROCESSOR dependency
- in trap at dopanic:, use snprintf to allow a single, idempotent, readable
printf; needed for MP, but harmless for UP so not ifdef'ed.
- add case for case T_WATCH (not USER), handled same as T_BREAK
i.e. entry to ddb if configured

Revision 1.217.12.33 / (download) - annotate - [select for diffs], Wed Jan 26 03:32:31 2011 UTC (12 years ago) by matt
Branch: matt-nb5-mips64
Changes since 1.217.12.32: +7 -3 lines
Diff to previous 1.217.12.32 (colored) to branchpoint 1.217 (colored)

Fix a preemption bug.

Revision 1.225 / (download) - annotate - [select for diffs], Mon Jan 17 15:32:59 2011 UTC (12 years ago) by tsutsui
Branch: MAIN
Branch point for: bouyer-quota2
Changes since 1.224: +3 -2 lines
Diff to previous 1.224 (colored)

Explicitly include <mips/pcb.h> for struct pcb.

Revision 1.217.12.32 / (download) - annotate - [select for diffs], Wed Dec 29 00:47:50 2010 UTC (12 years, 1 month ago) by matt
Branch: matt-nb5-mips64
CVS Tags: matt-nb5-mips64-premerge-20101231
Changes since 1.217.12.31: +14 -17 lines
Diff to previous 1.217.12.31 (colored) to branchpoint 1.217 (colored)

Move away from StudlyCaps.
Change opc to pc since opc might be confused with opcode.

Revision 1.217.12.31 / (download) - annotate - [select for diffs], Wed Dec 22 06:06:19 2010 UTC (12 years, 1 month ago) by matt
Branch: matt-nb5-mips64
Changes since 1.217.12.30: +4 -2 lines
Diff to previous 1.217.12.30 (colored) to branchpoint 1.217 (colored)

Add a check to more the ASID is valid on a user fault.

Revision 1.224 / (download) - annotate - [select for diffs], Mon Dec 20 00:25:38 2010 UTC (12 years, 1 month ago) by matt
Branch: MAIN
CVS Tags: matt-mips64-premerge-20101231, jruoho-x86intr-base
Branch point for: jruoho-x86intr
Changes since 1.223: +4 -4 lines
Diff to previous 1.223 (colored)

Move counting of faults, traps, intrs, soft[intr]s, syscalls, and nswtch
from uvmexp to per-cpu cpu_data and move them to 64bits.  Remove unneeded
includes of <uvm/uvm_extern.h> and/or <uvm/uvm.h>.

Revision 1.223 / (download) - annotate - [select for diffs], Fri Nov 12 17:22:49 2010 UTC (12 years, 2 months ago) by uebayasi
Branch: MAIN
CVS Tags: uebayasi-xip-base6
Changes since 1.222: +3 -3 lines
Diff to previous 1.222 (colored)

Pull in uvm/uvm.h for uvm_pageismanaged().

Revision 1.217.12.30 / (download) - annotate - [select for diffs], Mon Aug 16 23:38:01 2010 UTC (12 years, 5 months ago) by matt
Branch: matt-nb5-mips64
CVS Tags: matt-nb5-mips64-k15
Changes since 1.217.12.29: +5 -3 lines
Diff to previous 1.217.12.29 (colored) to branchpoint 1.217 (colored)

fix a typo and add a few missing ifdefs.
Only worry about setting seg0tab if the faulting va would use it.

Revision 1.217.12.29 / (download) - annotate - [select for diffs], Mon Aug 16 23:26:28 2010 UTC (12 years, 5 months ago) by matt
Branch: matt-nb5-mips64
Changes since 1.217.12.28: +5 -4 lines
Diff to previous 1.217.12.28 (colored) to branchpoint 1.217 (colored)

Only set seg0tab if the va would be in seg0 tab.

Revision 1.217.12.28 / (download) - annotate - [select for diffs], Mon Aug 16 18:01:13 2010 UTC (12 years, 5 months ago) by matt
Branch: matt-nb5-mips64
Changes since 1.217.12.27: +56 -10 lines
Diff to previous 1.217.12.27 (colored) to branchpoint 1.217 (colored)

Support user VAs > 4GB (but less than 1TB for now) using a 3 level page table.
Add debug code to help find redundant faults (PMAP_FAULTINFO).

Revision 1.216.18.4 / (download) - annotate - [select for diffs], Wed Aug 11 22:52:24 2010 UTC (12 years, 5 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.216.18.3: +21 -18 lines
Diff to previous 1.216.18.3 (colored) to branchpoint 1.216 (colored) next main 1.217 (colored)

sync with head.

Revision 1.217.12.27 / (download) - annotate - [select for diffs], Thu Jun 10 00:33:50 2010 UTC (12 years, 8 months ago) by cliff
Branch: matt-nb5-mips64
Changes since 1.217.12.26: +6 -3 lines
Diff to previous 1.217.12.26 (colored) to branchpoint 1.217 (colored)

- in trap(), if traptype is bus error, call chip-specific bus error
handler in locoresw: (*mips_locoresw.lsw_bus_error)(cause)

Revision 1.221.4.1 / (download) - annotate - [select for diffs], Sun May 30 05:16:58 2010 UTC (12 years, 8 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.221: +21 -18 lines
Diff to previous 1.221 (colored)

sync with head

Revision 1.217.12.26 / (download) - annotate - [select for diffs], Thu May 6 05:31:49 2010 UTC (12 years, 9 months ago) by matt
Branch: matt-nb5-mips64
Changes since 1.217.12.25: +3 -3 lines
Diff to previous 1.217.12.25 (colored) to branchpoint 1.217 (colored)

Don't grab error pc from trapframe when it was passed as an argument.

Revision 1.217.12.25 / (download) - annotate - [select for diffs], Thu May 6 04:23:14 2010 UTC (12 years, 9 months ago) by matt
Branch: matt-nb5-mips64
Changes since 1.217.12.24: +3 -2 lines
Diff to previous 1.217.12.24 (colored) to branchpoint 1.217 (colored)

user_gen_expection doesn't pass a trapframe to trap but if it did it would
be utf so we can just assign it and move on.

Revision 1.217.12.24 / (download) - annotate - [select for diffs], Fri Apr 30 18:15:33 2010 UTC (12 years, 9 months ago) by matt
Branch: matt-nb5-mips64
Changes since 1.217.12.23: +7 -3 lines
Diff to previous 1.217.12.23 (colored) to branchpoint 1.217 (colored)

add some missing kpreempt calls.  Fix an assert.

Revision 1.217.12.23 / (download) - annotate - [select for diffs], Fri Apr 30 16:11:14 2010 UTC (12 years, 9 months ago) by matt
Branch: matt-nb5-mips64
Changes since 1.217.12.22: +13 -4 lines
Diff to previous 1.217.12.22 (colored) to branchpoint 1.217 (colored)

Report alignment faults as SIGBUS, not SIGSEGV.

Revision 1.221.2.1 / (download) - annotate - [select for diffs], Fri Apr 30 14:39:36 2010 UTC (12 years, 9 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.221: +21 -18 lines
Diff to previous 1.221 (colored) next main 1.222 (colored)

Sync with HEAD.

Revision 1.222 / (download) - annotate - [select for diffs], Sat Mar 20 23:31:29 2010 UTC (12 years, 10 months ago) by chs
Branch: MAIN
CVS Tags: yamt-nfs-mp-base11, yamt-nfs-mp-base10, uebayasi-xip-base5, uebayasi-xip-base4, uebayasi-xip-base3, uebayasi-xip-base2, uebayasi-xip-base1
Changes since 1.221: +21 -18 lines
Diff to previous 1.221 (colored)

fix copy{in,out}{,str}() to return the error returned by uvm_fault().
fixes PR 41813.

Revision 1.216.18.3 / (download) - annotate - [select for diffs], Thu Mar 11 15:02:41 2010 UTC (12 years, 10 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.216.18.2: +122 -78 lines
Diff to previous 1.216.18.2 (colored) to branchpoint 1.216 (colored)

sync with head

Revision 1.217.12.22 / (download) - annotate - [select for diffs], Thu Mar 11 08:19:01 2010 UTC (12 years, 10 months ago) by matt
Branch: matt-nb5-mips64
Changes since 1.217.12.21: +14 -6 lines
Diff to previous 1.217.12.21 (colored) to branchpoint 1.217 (colored)

Add MP-aware icache support.

Revision 1.217.12.21 / (download) - annotate - [select for diffs], Sun Feb 28 23:45:06 2010 UTC (12 years, 11 months ago) by matt
Branch: matt-nb5-mips64
Changes since 1.217.12.20: +3 -5 lines
Diff to previous 1.217.12.20 (colored) to branchpoint 1.217 (colored)

Split FPU support into separate file and keep internals private to that file.
Make it MPSAFE.  Change interface to be very similar to what's used on other
architectures.
Add l_md.md_fpcpu to mdlwp (needed for MPSAFE)
Move pridtab from <mips/cpu.h> to <mips/locore.h>
Add initial common IPI dispatcher.
Split cpu_* routines from mips_machdep.c into cpu_subr.c
Add cpu_startup_common which has the code replicated in half-dozen
plus machdep.c files.

Revision 1.217.12.20 / (download) - annotate - [select for diffs], Tue Feb 23 20:33:48 2010 UTC (12 years, 11 months ago) by matt
Branch: matt-nb5-mips64
Changes since 1.217.12.19: +33 -17 lines
Diff to previous 1.217.12.19 (colored) to branchpoint 1.217 (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.217.12.19 / (download) - annotate - [select for diffs], Mon Feb 15 07:36:04 2010 UTC (12 years, 11 months ago) by matt
Branch: matt-nb5-mips64
Changes since 1.217.12.18: +7 -15 lines
Diff to previous 1.217.12.18 (colored) to branchpoint 1.217 (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.217.12.18 / (download) - annotate - [select for diffs], Mon Feb 1 06:52:59 2010 UTC (13 years ago) by matt
Branch: matt-nb5-mips64
Changes since 1.217.12.17: +3 -3 lines
Diff to previous 1.217.12.17 (colored) to branchpoint 1.217 (colored)

Allow port-specific code to init lwp0.l_addr early.  (pmax needs it so it
call badaddr).

Revision 1.217.12.17 / (download) - annotate - [select for diffs], Mon Feb 1 04:16:20 2010 UTC (13 years ago) by matt
Branch: matt-nb5-mips64
Changes since 1.217.12.16: +44 -46 lines
Diff to previous 1.217.12.16 (colored) to branchpoint 1.217 (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.217.12.16 / (download) - annotate - [select for diffs], Fri Jan 29 00:16:58 2010 UTC (13 years ago) by matt
Branch: matt-nb5-mips64
Changes since 1.217.12.15: +4 -4 lines
Diff to previous 1.217.12.15 (colored) to branchpoint 1.217 (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.217.12.15 / (download) - annotate - [select for diffs], Fri Jan 22 07:41:10 2010 UTC (13 years ago) by matt
Branch: matt-nb5-mips64
Changes since 1.217.12.14: +14 -15 lines
Diff to previous 1.217.12.14 (colored) to branchpoint 1.217 (colored)

Seperate the pmap TLB functions into their own file.
For 32 bit kernels, make sure that mips_virtual_end doesn't go past
VM_MAX_KERNEL_ADDRESS.

Revision 1.217.12.14 / (download) - annotate - [select for diffs], Fri Jan 15 06:47:00 2010 UTC (13 years ago) by matt
Branch: matt-nb5-mips64
Changes since 1.217.12.13: +78 -29 lines
Diff to previous 1.217.12.13 (colored) to branchpoint 1.217 (colored)

Get rid of most of the studly caps.
First to MULTIPROCESSOR support for pmap: move some pmap globals to cpu_info.
Define per-cpu ASID number spaces.
Remove some mips1/!mips1 difference in db_interface.c
Add mips32/64 knowledge to stacktrace.

Revision 1.217.12.13 / (download) - annotate - [select for diffs], Fri Jan 8 22:15:13 2010 UTC (13 years, 1 month ago) by matt
Branch: matt-nb5-mips64
Changes since 1.217.12.12: +3 -3 lines
Diff to previous 1.217.12.12 (colored) to branchpoint 1.217 (colored)

In stacktrace_subr, use proper formats.

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

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

Revision 1.221 / (download) - annotate - [select for diffs], Mon Dec 14 00:46:07 2009 UTC (13 years, 1 month ago) by matt
Branch: MAIN
CVS Tags: yamt-nfs-mp-base9, uebayasi-xip-base
Branch point for: uebayasi-xip, rmind-uvmplock
Changes since 1.220: +102 -70 lines
Diff to previous 1.220 (colored)

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

Revision 1.220 / (download) - annotate - [select for diffs], Sat Nov 21 17:40:28 2009 UTC (13 years, 2 months ago) by rmind
Branch: MAIN
CVS Tags: matt-premerge-20091211
Changes since 1.219: +22 -10 lines
Diff to previous 1.219 (colored)

Use lwp_getpcb() on mips, powerpc and sh3, clean from struct user usage.

Revision 1.217.12.11 / (download) - annotate - [select for diffs], Sat Nov 14 21:52:08 2009 UTC (13 years, 2 months ago) by matt
Branch: matt-nb5-mips64
CVS Tags: matt-nb5-mips64-premerge-20091211
Changes since 1.217.12.10: +7 -7 lines
Diff to previous 1.217.12.10 (colored) to branchpoint 1.217 (colored)

Switch from fu*/su* to ufetch_*/ustore_*.  This make netbsd32 compat root
on a LP64 BE kernel.

Revision 1.217.12.10 / (download) - annotate - [select for diffs], Mon Nov 9 10:02:30 2009 UTC (13 years, 2 months ago) by cliff
Branch: matt-nb5-mips64
Changes since 1.217.12.9: +7 -3 lines
Diff to previous 1.217.12.9 (colored) to branchpoint 1.217 (colored)

- #if DDB call Debugger() before panic("trapsignal") for non-user trap

Revision 1.217.12.9 / (download) - annotate - [select for diffs], Mon Sep 7 22:06:32 2009 UTC (13 years, 5 months ago) by matt
Branch: matt-nb5-mips64
CVS Tags: matt-nb5-mips64-u2-k2-k4-k7-k8-k9, matt-nb4-mips64-k7-u2a-k9b
Changes since 1.217.12.8: +14 -8 lines
Diff to previous 1.217.12.8 (colored) to branchpoint 1.217 (colored)

Cleanup fatal trap printfs

Revision 1.217.12.8 / (download) - annotate - [select for diffs], Thu Sep 3 00:10:18 2009 UTC (13 years, 5 months ago) by matt
Branch: matt-nb5-mips64
Changes since 1.217.12.7: +14 -6 lines
Diff to previous 1.217.12.7 (colored) to branchpoint 1.217 (colored)

If DEBUG, if a lwp gets a fatal signal, print signo, cause, pc, va and
a register dump.

Revision 1.217.12.7 / (download) - annotate - [select for diffs], Wed Sep 2 01:35:22 2009 UTC (13 years, 5 months ago) by matt
Branch: matt-nb5-mips64
Changes since 1.217.12.6: +7 -7 lines
Diff to previous 1.217.12.6 (colored) to branchpoint 1.217 (colored)

cleanup trapsignal printf

Revision 1.217.12.6 / (download) - annotate - [select for diffs], Sun Aug 30 10:04:23 2009 UTC (13 years, 5 months ago) by matt
Branch: matt-nb5-mips64
Changes since 1.217.12.5: +8 -2 lines
Diff to previous 1.217.12.5 (colored) to branchpoint 1.217 (colored)

When compiled DEBUG, print out fatal userland traps.

Revision 1.217.12.5 / (download) - annotate - [select for diffs], Mon Aug 24 12:38:13 2009 UTC (13 years, 5 months ago) by uebayasi
Branch: matt-nb5-mips64
CVS Tags: matt-nb5-mips64-u1-k1-k5
Changes since 1.217.12.4: +1 -3 lines
Diff to previous 1.217.12.4 (colored) to branchpoint 1.217 (colored)

Don't use an obscure macro (DELAYBRANCH(x)) to check if the BD field (bit
31) is set in Cause Register.

Revision 1.217.12.4 / (download) - annotate - [select for diffs], Sun Aug 23 04:38:34 2009 UTC (13 years, 5 months ago) by uebayasi
Branch: matt-nb5-mips64
Changes since 1.217.12.3: +29 -15 lines
Diff to previous 1.217.12.3 (colored) to branchpoint 1.217 (colored)

Make ddb(4) trace work on 64-bit ABIs.

For now:

- Values are shown in 32-bit.
- Only 4 arguments are shown.
- DDB_TRACE (heuristic version) is left as is.


Reviewed By:	matt

Revision 1.217.12.3 / (download) - annotate - [select for diffs], Sun Aug 23 04:06:01 2009 UTC (13 years, 5 months ago) by matt
Branch: matt-nb5-mips64
Changes since 1.217.12.2: +6 -10 lines
Diff to previous 1.217.12.2 (colored) to branchpoint 1.217 (colored)

Deal with fp save/restore changes.  Remove some more unneeded casts in trap.

Revision 1.217.12.2 / (download) - annotate - [select for diffs], Fri Aug 21 17:45:19 2009 UTC (13 years, 5 months ago) by matt
Branch: matt-nb5-mips64
Changes since 1.217.12.1: +40 -40 lines
Diff to previous 1.217.12.1 (colored) to branchpoint 1.217 (colored)

Use PRIxVADDR
Stop casting l_md.md_regs
Cleanup code.
curlwp is never NULL anymore.

Revision 1.217.12.1 / (download) - annotate - [select for diffs], Thu Aug 20 04:36:05 2009 UTC (13 years, 5 months ago) by uebayasi
Branch: matt-nb5-mips64
Changes since 1.217: +3 -3 lines
Diff to previous 1.217 (colored)

Cast register_t to intptr_t before casting to (void *) because
sizeof(register_t) == 64 and sizeof(void *) == 32 in N32 ABI.

Revision 1.216.18.2 / (download) - annotate - [select for diffs], Wed Aug 19 18:46:31 2009 UTC (13 years, 5 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.216.18.1: +9 -5 lines
Diff to previous 1.216.18.1 (colored) to branchpoint 1.216 (colored)

sync with head.

Revision 1.219 / (download) - annotate - [select for diffs], Tue Aug 18 18:06:53 2009 UTC (13 years, 5 months ago) by thorpej
Branch: MAIN
CVS Tags: yamt-nfs-mp-base8, yamt-nfs-mp-base7
Changes since 1.218: +8 -4 lines
Diff to previous 1.218 (colored)

Add a real API for testing if a page is a managed page, and adjust callers
to stop relying on vm_physseg_find() for this purpose.

Revision 1.218 / (download) - annotate - [select for diffs], Thu Aug 6 23:07:55 2009 UTC (13 years, 6 months ago) by matt
Branch: MAIN
Changes since 1.217: +3 -3 lines
Diff to previous 1.217 (colored)

print ra on trap.

Revision 1.216.18.1 / (download) - annotate - [select for diffs], Mon May 4 08:11:31 2009 UTC (13 years, 9 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.216: +10 -2 lines
Diff to previous 1.216 (colored)

sync with head.

Revision 1.216.14.1 / (download) - annotate - [select for diffs], Sat Jan 17 13:28:17 2009 UTC (14 years ago) by mjf
Branch: mjf-devfs2
Changes since 1.216: +10 -2 lines
Diff to previous 1.216 (colored) next main 1.217 (colored)

Sync with HEAD.

Revision 1.216.24.1 / (download) - annotate - [select for diffs], Sun Oct 19 22:15:52 2008 UTC (14 years, 3 months ago) by haad
Branch: haad-dm
Changes since 1.216: +10 -2 lines
Diff to previous 1.216 (colored) next main 1.217 (colored)

Sync with HEAD.

Revision 1.217 / (download) - annotate - [select for diffs], Wed Oct 15 06:51:18 2008 UTC (14 years, 3 months ago) by wrstuden
Branch: MAIN
CVS Tags: yamt-nfs-mp-base6, yamt-nfs-mp-base5, yamt-nfs-mp-base4, yamt-nfs-mp-base3, nick-hppapmap-base4, nick-hppapmap-base3, nick-hppapmap-base2, nick-hppapmap-base, 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, matt-nb5-pq3-base, matt-nb5-pq3, matt-mips64-base2, jymxensuspend-base, jym-xensuspend, haad-nbase2, haad-dm-base2, haad-dm-base1, haad-dm-base, ad-audiomp2-base, ad-audiomp2
Branch point for: matt-nb5-mips64
Changes since 1.216: +10 -2 lines
Diff to previous 1.216 (colored)

Merge wrstuden-revivesa into HEAD.

Revision 1.216.20.3 / (download) - annotate - [select for diffs], Mon Jun 30 04:55:55 2008 UTC (14 years, 7 months ago) by wrstuden
Branch: wrstuden-revivesa
Changes since 1.216.20.2: +3 -3 lines
Diff to previous 1.216.20.2 (colored) to branchpoint 1.216 (colored) next main 1.217 (colored)

Change how we make SA threads not generate upcalls. Instead of clearing
LW_SA, use a private flag, LP_SA_NOBLOCK, that we set when we want
to not generate upcalls. This means we do NOT need to lock (l)
(ourselves) to set it.

Adjust tests that look at LW_SA. Now, we are an upcall-generating
lwp if ((l->l_flag & LW_SA) && (~l->l_pflag & LP_SA_NOBLOCK)).

Introduce code pattern to set & remember this:

	f = ~l->l_pflag & LP_SA_NOBLOCK;
	l->l_pflag |= LP_SA_NOBLOCK;

	...

	/* f is now LP_SA_NOBLOCK if it wasn't set in l_pflag before */

	l->l_pflag ^= f;

I updated a lot of the trap handlers to do trap handling iff LP_SA_NOBLOCK
is not set. I tried to figure out if the trap handler could be triggered
for user-based faults as opposed to kernel faults to user addresses, and
only look at LP_SA_NOBLOCK for the latter.

Above is a result of discussions with rmind at to reduce lock twiddling.

Also, per same discussions, add locking to sys_sa_preempt(). p_lock is
the lock we want.

Also, per same discussions, remove use of LSSUSPENDED as a thread state.
We needed to use it when we were emulating the 4.X and previous behavior
of hiding cached threads. For the moment, we now have them instead
remain visible to all and have them sleeping on the "lwpcache" wait
channel.

sa_newcachelwp(): sa_putcachelwp() wants savp_mutex held, not p_lock.

Tweak some comments.

Revision 1.216.20.2 / (download) - annotate - [select for diffs], Sun Jun 22 18:12:03 2008 UTC (14 years, 7 months ago) by wrstuden
Branch: wrstuden-revivesa
Changes since 1.216.20.1: +8 -2 lines
Diff to previous 1.216.20.1 (colored) to branchpoint 1.216 (colored)

Re-add cpu_upcall() and page fault code. i386 kernels now compile.
They don't boot, but that seems to be a consequence of current from the
day this branch was started.

Revision 1.216.20.1 / (download) - annotate - [select for diffs], Sat May 10 23:48:45 2008 UTC (14 years, 8 months ago) by wrstuden
Branch: wrstuden-revivesa
Changes since 1.216: +4 -2 lines
Diff to previous 1.216 (colored)

Initial checkin of re-adding SA. Everything except kern_sa.c
compiles in GENERIC for i386. This is still a work-in-progress, but
this checkin covers most of the mechanical work (changing signalling
to be able to accomidate SA's process-wide signalling and re-adding
includes of sys/sa.h and savar.h). Subsequent changes will be much
more interesting.

Also, kern_sa.c has received partial cleanup. There's still more
to do, though.

Revision 1.213.2.2 / (download) - annotate - [select for diffs], Wed Jan 9 01:47:19 2008 UTC (15 years, 1 month ago) by matt
Branch: matt-armv6
Changes since 1.213.2.1: +2 -26 lines
Diff to previous 1.213.2.1 (colored) to branchpoint 1.213 (colored) next main 1.214 (colored)

sync with HEAD

Revision 1.212.8.3 / (download) - annotate - [select for diffs], Sun Dec 9 19:35:39 2007 UTC (15 years, 2 months ago) by jmcneill
Branch: jmcneill-pm
Changes since 1.212.8.2: +2 -26 lines
Diff to previous 1.212.8.2 (colored) to branchpoint 1.212 (colored) next main 1.213 (colored)

Sync with HEAD.

Revision 1.215.2.1 / (download) - annotate - [select for diffs], Sat Dec 8 18:17:24 2007 UTC (15 years, 2 months ago) by mjf
Branch: mjf-devfs
Changes since 1.215: +2 -26 lines
Diff to previous 1.215 (colored) next main 1.216 (colored)

Sync with HEAD.

Revision 1.196.2.6 / (download) - annotate - [select for diffs], Fri Dec 7 17:25:22 2007 UTC (15 years, 2 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.196.2.5: +2 -26 lines
Diff to previous 1.196.2.5 (colored) next main 1.197 (colored)

sync with head

Revision 1.209.2.5 / (download) - annotate - [select for diffs], Mon Dec 3 18:37:31 2007 UTC (15 years, 2 months ago) by ad
Branch: vmlocking
Changes since 1.209.2.4: +3 -3 lines
Diff to previous 1.209.2.4 (colored) to branchpoint 1.209 (colored) next main 1.210 (colored)

Sync with HEAD.

Revision 1.216 / (download) - annotate - [select for diffs], Mon Dec 3 15:33:56 2007 UTC (15 years, 2 months ago) by ad
Branch: MAIN
CVS Tags: yamt-pf42-baseX, yamt-pf42-base4, yamt-pf42-base3, yamt-pf42-base2, yamt-pf42-base, yamt-pf42, 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, 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, mjf-devfs-base, matt-armv6-nbase, matt-armv6-base, keiichi-mipv6-nbase, keiichi-mipv6-base, keiichi-mipv6, jmcneill-pm-base, hpcarm-cleanup-nbase, hpcarm-cleanup-base, cube-autoconf-base, cube-autoconf, bouyer-xeni386-nbase, bouyer-xeni386-merge1, bouyer-xeni386-base, bouyer-xeni386, ad-socklock-base1
Branch point for: yamt-nfs-mp, wrstuden-revivesa, mjf-devfs2, haad-dm
Changes since 1.215: +2 -26 lines
Diff to previous 1.215 (colored)

Interrupt handling changes, in discussion since February:

- Reduce available SPL levels for hardware devices to none, vm, sched, high.
- Acquire kernel_lock only for interrupts at IPL_VM.
- Implement threaded soft interrupts.

Revision 1.213.6.1 / (download) - annotate - [select for diffs], Tue Nov 13 15:58:48 2007 UTC (15 years, 2 months ago) by bouyer
Branch: bouyer-xenamd64
Changes since 1.213: +3 -3 lines
Diff to previous 1.213 (colored) next main 1.214 (colored)

Sync with HEAD

Revision 1.213.2.1 / (download) - annotate - [select for diffs], Tue Nov 6 23:19:15 2007 UTC (15 years, 3 months ago) by matt
Branch: matt-armv6
CVS Tags: matt-armv6-prevmlocking
Changes since 1.213: +3 -3 lines
Diff to previous 1.213 (colored)

sync with HEAD

Revision 1.212.8.2 / (download) - annotate - [select for diffs], Sun Oct 28 20:10:42 2007 UTC (15 years, 3 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.212.8.1: +3 -3 lines
Diff to previous 1.212.8.1 (colored) to branchpoint 1.212 (colored)

Sync with HEAD.

Revision 1.196.2.5 / (download) - annotate - [select for diffs], Sat Oct 27 11:27:16 2007 UTC (15 years, 3 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.196.2.4: +3 -3 lines
Diff to previous 1.196.2.4 (colored)

sync with head.

Revision 1.215 / (download) - annotate - [select for diffs], Wed Oct 24 14:50:39 2007 UTC (15 years, 3 months ago) by ad
Branch: MAIN
CVS Tags: jmcneill-base, bouyer-xenamd64-base2, bouyer-xenamd64-base
Branch point for: mjf-devfs
Changes since 1.214: +3 -3 lines
Diff to previous 1.214 (colored)

Make ras_lookup() lockless.

Revision 1.214 / (download) - annotate - [select for diffs], Wed Oct 17 19:55:39 2007 UTC (15 years, 3 months ago) by garbled
Branch: MAIN
CVS Tags: yamt-x86pmap-base4
Changes since 1.213: +2 -2 lines
Diff to previous 1.213 (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.209.10.3 / (download) - annotate - [select for diffs], Wed Oct 3 19:24:24 2007 UTC (15 years, 4 months ago) by garbled
Branch: ppcoea-renovation
Changes since 1.209.10.2: +3 -9 lines
Diff to previous 1.209.10.2 (colored) to branchpoint 1.209 (colored) next main 1.210 (colored)

Sync with HEAD

Revision 1.196.2.4 / (download) - annotate - [select for diffs], Mon Sep 3 14:28:03 2007 UTC (15 years, 5 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.196.2.3: +48 -23 lines
Diff to previous 1.196.2.3 (colored)

sync with head.

Revision 1.212.4.1 / (download) - annotate - [select for diffs], Mon Sep 3 10:19:28 2007 UTC (15 years, 5 months ago) by skrll
Branch: nick-csl-alignment
Changes since 1.212: +3 -9 lines
Diff to previous 1.212 (colored) next main 1.213 (colored)

Sync with HEAD.

Revision 1.206.8.1 / (download) - annotate - [select for diffs], Mon Sep 3 07:03:41 2007 UTC (15 years, 5 months ago) by wrstuden
Branch: wrstuden-fixsa
Changes since 1.206: +35 -2 lines
Diff to previous 1.206 (colored) next main 1.207 (colored)

Sync w/ NetBSD-4-RC_1

Revision 1.209.2.4 / (download) - annotate - [select for diffs], Mon Aug 20 18:38:30 2007 UTC (15 years, 5 months ago) by ad
Branch: vmlocking
Changes since 1.209.2.3: +3 -9 lines
Diff to previous 1.209.2.3 (colored) to branchpoint 1.209 (colored)

Sync with HEAD.

Revision 1.212.8.1 / (download) - annotate - [select for diffs], Thu Aug 16 11:02:24 2007 UTC (15 years, 5 months ago) by jmcneill
Branch: jmcneill-pm
Changes since 1.212: +3 -9 lines
Diff to previous 1.212 (colored)

Sync with HEAD.

Revision 1.213 / (download) - annotate - [select for diffs], Wed Aug 15 12:07:25 2007 UTC (15 years, 5 months ago) by ad
Branch: MAIN
CVS Tags: yamt-x86pmap-base3, yamt-x86pmap-base2, yamt-x86pmap-base, yamt-x86pmap, vmlocking-base, ppcoea-renovation-base, nick-csl-alignment-base5
Branch point for: matt-armv6, bouyer-xenamd64
Changes since 1.212: +3 -9 lines
Diff to previous 1.212 (colored)

Changes to make ktrace LKM friendly and reduce ifdef KTRACE. Proposed
on tech-kern.

Revision 1.209.2.3 / (download) - annotate - [select for diffs], Sun Jul 15 22:20:25 2007 UTC (15 years, 6 months ago) by ad
Branch: vmlocking
Changes since 1.209.2.2: +2 -26 lines
Diff to previous 1.209.2.2 (colored) to branchpoint 1.209 (colored)

Get pmax working.

Revision 1.209.4.1 / (download) - annotate - [select for diffs], Wed Jul 11 20:00:51 2007 UTC (15 years, 6 months ago) by mjf
Branch: mjf-ufs-trans
Changes since 1.209: +40 -9 lines
Diff to previous 1.209 (colored) next main 1.210 (colored)

Sync with head.

Revision 1.209.10.2 / (download) - annotate - [select for diffs], Tue Jun 26 18:13:02 2007 UTC (15 years, 7 months ago) by garbled
Branch: ppcoea-renovation
Changes since 1.209.10.1: +36 -3 lines
Diff to previous 1.209.10.1 (colored) to branchpoint 1.209 (colored)

Sync with HEAD.

Revision 1.206.6.1 / (download) - annotate - [select for diffs], Mon Jun 11 12:24:51 2007 UTC (15 years, 7 months ago) by liamjfoy
Branch: netbsd-4
CVS Tags: wrstuden-fixsa-newbase, wrstuden-fixsa-base-1, wrstuden-fixsa-base, netbsd-4-0-RELEASE, netbsd-4-0-RC5, netbsd-4-0-RC4, netbsd-4-0-RC3, netbsd-4-0-RC2, netbsd-4-0-RC1, netbsd-4-0-1-RELEASE, netbsd-4-0, matt-nb4-arm-base, matt-nb4-arm
Changes since 1.206: +35 -2 lines
Diff to previous 1.206 (colored) next main 1.207 (colored)

Pull up following revision(s) (requested by tsutsui in ticket #715):
	sys/arch/mips/mips/trap.c: revision 1.212
	sys/arch/sbmips/conf/GENERIC: revision 1.60
	sys/arch/mips/conf/Makefile.mips: revision 1.46
Preserve local symbols on linking a kernel so that
we can get more useful trace on ddb(4).
Bump SYMTAB_SPACE so that it fits again.
Use the kernel symbol table to see the beginning of the current
subroutine to get more proper backtrace on ddb(4).
In the previous code it scans backwards from the current PC
for the end of the previous subroutine and checks "jr ra" or
"jr k0" instructions, but it often fails because gcc is
so aggressive nowadays as to reorder instruction blocks
to create efficient code path by branch predict etc. and
"jr ra" is not always located at the end of subroutines.
No objection on port-mips.

Revision 1.209.2.2 / (download) - annotate - [select for diffs], Sat Jun 9 23:55:18 2007 UTC (15 years, 8 months ago) by ad
Branch: vmlocking
Changes since 1.209.2.1: +35 -2 lines
Diff to previous 1.209.2.1 (colored) to branchpoint 1.209 (colored)

Sync with head.

Revision 1.212 / (download) - annotate - [select for diffs], Tue May 29 12:03:45 2007 UTC (15 years, 8 months ago) by tsutsui
Branch: MAIN
CVS Tags: nick-csl-alignment-base, mjf-ufs-trans-base, matt-mips64-base, matt-mips64, hpcarm-cleanup
Branch point for: nick-csl-alignment, jmcneill-pm
Changes since 1.211: +35 -2 lines
Diff to previous 1.211 (colored)

Use the kernel symbol table to see the beginning of the current
subroutine to get more proper backtrace on ddb(4).

In the previous code it scans backwards from the current PC
for the end of the previous subroutine and checks "jr ra" or
"jr k0" instructions, but it often fails because gcc is
so aggressive nowadays as to reorder instruction blocks
to create efficient code path by branch predict etc. and
"jr ra" is not always located at the end of subroutines.

No objection on port-mips.

Revision 1.209.2.1 / (download) - annotate - [select for diffs], Sun May 27 12:27:48 2007 UTC (15 years, 8 months ago) by ad
Branch: vmlocking
Changes since 1.209: +7 -9 lines
Diff to previous 1.209 (colored)

Sync with head.

Revision 1.211 / (download) - annotate - [select for diffs], Fri May 25 23:58:43 2007 UTC (15 years, 8 months ago) by tsutsui
Branch: MAIN
Changes since 1.210: +3 -3 lines
Diff to previous 1.210 (colored)

proc_trampoline -> lwp_trampoline in comment.

Revision 1.209.10.1 / (download) - annotate - [select for diffs], Tue May 22 17:27:12 2007 UTC (15 years, 8 months ago) by matt
Branch: ppcoea-renovation
Changes since 1.209: +6 -8 lines
Diff to previous 1.209 (colored)

Update to HEAD.

Revision 1.210 / (download) - annotate - [select for diffs], Thu May 17 14:51:25 2007 UTC (15 years, 8 months ago) by yamt
Branch: MAIN
Changes since 1.209: +6 -8 lines
Diff to previous 1.209 (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.207.2.3 / (download) - annotate - [select for diffs], Wed Apr 18 20:27:54 2007 UTC (15 years, 9 months ago) by ad
Branch: yamt-idlelwp
Changes since 1.207.2.2: +3 -5 lines
Diff to previous 1.207.2.2 (colored) to branchpoint 1.207 (colored) next main 1.208 (colored)

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

Revision 1.207.2.2 / (download) - annotate - [select for diffs], Wed Mar 21 21:21:43 2007 UTC (15 years, 10 months ago) by ad
Branch: yamt-idlelwp
Changes since 1.207.2.1: +5 -5 lines
Diff to previous 1.207.2.1 (colored) to branchpoint 1.207 (colored)

Initial changes for MIPS. Not yet working under gxemul.

Revision 1.207.2.1 / (download) - annotate - [select for diffs], Mon Mar 12 05:49:23 2007 UTC (15 years, 10 months ago) by rmind
Branch: yamt-idlelwp
Changes since 1.207: +9 -9 lines
Diff to previous 1.207 (colored)

Sync with HEAD.

Revision 1.209 / (download) - annotate - [select for diffs], Sun Mar 4 06:00:12 2007 UTC (15 years, 11 months ago) by christos
Branch: MAIN
CVS Tags: yamt-idlelwp-base8, thorpej-atomic-base, thorpej-atomic, reinoud-bufcleanup
Branch point for: vmlocking, ppcoea-renovation, mjf-ufs-trans
Changes since 1.208: +5 -5 lines
Diff to previous 1.208 (colored)

Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.

Revision 1.208 / (download) - annotate - [select for diffs], Wed Feb 28 04:21:53 2007 UTC (15 years, 11 months ago) by thorpej
Branch: MAIN
Changes since 1.207: +6 -6 lines
Diff to previous 1.207 (colored)

TRUE -> true, FALSE -> false

Revision 1.196.2.3 / (download) - annotate - [select for diffs], Mon Feb 26 09:07:31 2007 UTC (15 years, 11 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.196.2.2: +9 -23 lines
Diff to previous 1.196.2.2 (colored)

sync with head.

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

Merge newlock2 to head.

Revision 1.206.2.3 / (download) - annotate - [select for diffs], Tue Jan 30 13:49:36 2007 UTC (16 years ago) by ad
Branch: newlock2
Changes since 1.206.2.2: +3 -11 lines
Diff to previous 1.206.2.2 (colored) to branchpoint 1.206 (colored) next main 1.207 (colored)

Remove support for SA. Ok core@.

Revision 1.206.2.2 / (download) - annotate - [select for diffs], Thu Jan 11 22:22:57 2007 UTC (16 years ago) by ad
Branch: newlock2
Changes since 1.206.2.1: +4 -4 lines
Diff to previous 1.206.2.1 (colored) to branchpoint 1.206 (colored)

Checkpoint work in progress.

Revision 1.196.2.2 / (download) - annotate - [select for diffs], Sat Dec 30 20:46:33 2006 UTC (16 years, 1 month ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.196.2.1: +25 -22 lines
Diff to previous 1.196.2.1 (colored)

sync with head.

Revision 1.206.2.1 / (download) - annotate - [select for diffs], Fri Dec 29 20:27:42 2006 UTC (16 years, 1 month ago) by ad
Branch: newlock2
Changes since 1.206: +8 -14 lines
Diff to previous 1.206 (colored)

Checkpoint work in progress.

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

sync with head

Revision 1.198.8.4 / (download) - annotate - [select for diffs], Sun Sep 3 15:23:21 2006 UTC (16 years, 5 months ago) by yamt
Branch: yamt-pdpolicy
Changes since 1.198.8.3: +20 -19 lines
Diff to previous 1.198.8.3 (colored) to branchpoint 1.198 (colored) next main 1.199 (colored)

sync with head.

Revision 1.206 / (download) - annotate - [select for diffs], Sat Aug 26 20:18:36 2006 UTC (16 years, 5 months ago) by matt
Branch: MAIN
CVS Tags: yamt-splraiseipl-base5, yamt-splraiseipl-base4, yamt-splraiseipl-base3, yamt-splraiseipl-base2, yamt-splraiseipl-base, yamt-splraiseipl, yamt-pdpolicy-base9, yamt-pdpolicy-base8, rpaulo-netinet-merge-pcb-base, newlock2-nbase, newlock2-base, netbsd-4-base
Branch point for: wrstuden-fixsa, newlock2, netbsd-4
Changes since 1.205: +20 -19 lines
Diff to previous 1.205 (colored)

Use vaddr_t for virtual addresses.  Don't cast pointers with int or
unsigned, use intptr_t or uintptr_t as appropriate.

Revision 1.198.8.3 / (download) - annotate - [select for diffs], Fri Aug 11 15:42:22 2006 UTC (16 years, 5 months ago) by yamt
Branch: yamt-pdpolicy
Changes since 1.198.8.2: +7 -5 lines
Diff to previous 1.198.8.2 (colored) to branchpoint 1.198 (colored)

sync with head

Revision 1.205 / (download) - annotate - [select for diffs], Sun Jul 23 22:06:06 2006 UTC (16 years, 6 months ago) by ad
Branch: MAIN
CVS Tags: yamt-pdpolicy-base7, abandoned-netbsd-4-base, abandoned-netbsd-4
Changes since 1.204: +4 -4 lines
Diff to previous 1.204 (colored)

Use the LWP cached credentials where sane.

Revision 1.204 / (download) - annotate - [select for diffs], Wed Jul 19 21:11:43 2006 UTC (16 years, 6 months ago) by ad
Branch: MAIN
Changes since 1.203: +5 -3 lines
Diff to previous 1.203 (colored)

- Hold a reference to the process credentials in each struct lwp.
- Update the reference on syscall and user trap if p_cred has changed.
- Collect accounting flags in the LWP, and collate on LWP exit.

Revision 1.196.2.1 / (download) - annotate - [select for diffs], Wed Jun 21 14:53:44 2006 UTC (16 years, 7 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.196: +13 -16 lines
Diff to previous 1.196 (colored)

sync with head.

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

Sync with head.

Revision 1.199.2.2 / (download) - annotate - [select for diffs], Wed May 24 15:48:13 2006 UTC (16 years, 8 months ago) by tron
Branch: peter-altq
Changes since 1.199.2.1: +5 -8 lines
Diff to previous 1.199.2.1 (colored) to branchpoint 1.199 (colored) next main 1.200 (colored)

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

Revision 1.198.8.2 / (download) - annotate - [select for diffs], Wed May 24 10:56:59 2006 UTC (16 years, 8 months ago) by yamt
Branch: yamt-pdpolicy
Changes since 1.198.8.1: +5 -8 lines
Diff to previous 1.198.8.1 (colored) to branchpoint 1.198 (colored)

sync with head.

Revision 1.203 / (download) - annotate - [select for diffs], Mon May 15 09:14:42 2006 UTC (16 years, 8 months ago) by yamt
Branch: MAIN
CVS Tags: yamt-pdpolicy-base6, yamt-pdpolicy-base5, simonb-timecounters-base, gdamore-uart-base, gdamore-uart, chap-midi-nbase, chap-midi-base, chap-midi
Changes since 1.202: +2 -1 lines
Diff to previous 1.202 (colored)

- include kauth.h for kauth_cred_geteuid.
- fix an incomplete kauth change.

Revision 1.202 / (download) - annotate - [select for diffs], Sun May 14 21:55:38 2006 UTC (16 years, 8 months ago) by elad
Branch: MAIN
Changes since 1.201: +4 -4 lines
Diff to previous 1.201 (colored)

integrate kauth.

Revision 1.198.10.3 / (download) - annotate - [select for diffs], Thu May 11 23:26:59 2006 UTC (16 years, 8 months ago) by elad
Branch: elad-kernelauth
Changes since 1.198.10.2: +2 -6 lines
Diff to previous 1.198.10.2 (colored) to branchpoint 1.198 (colored) next main 1.199 (colored)

sync with head

Revision 1.201 / (download) - annotate - [select for diffs], Fri Apr 28 00:58:19 2006 UTC (16 years, 9 months ago) by simonb
Branch: MAIN
CVS Tags: elad-kernelauth-base
Changes since 1.200: +2 -6 lines
Diff to previous 1.200 (colored)

G/c some ancient intrcnt code that isn't used anymore.

Revision 1.198.6.1 / (download) - annotate - [select for diffs], Sat Apr 22 11:37:42 2006 UTC (16 years, 9 months ago) by simonb
Branch: simonb-timecounters
Changes since 1.198: +6 -6 lines
Diff to previous 1.198 (colored)

Sync with head.

Revision 1.198.10.2 / (download) - annotate - [select for diffs], Wed Apr 19 02:33:18 2006 UTC (16 years, 9 months ago) by elad
Branch: elad-kernelauth
Changes since 1.198.10.1: +6 -6 lines
Diff to previous 1.198.10.1 (colored) to branchpoint 1.198 (colored)

sync with head - hopefully this will work

Revision 1.198.8.1 / (download) - annotate - [select for diffs], Sat Apr 1 12:06:21 2006 UTC (16 years, 10 months ago) by yamt
Branch: yamt-pdpolicy
Changes since 1.198: +6 -6 lines
Diff to previous 1.198 (colored)

sync with head.

Revision 1.199.2.1 / (download) - annotate - [select for diffs], Tue Mar 28 09:47:17 2006 UTC (16 years, 10 months ago) by tron
Branch: peter-altq
Changes since 1.199: +3 -3 lines
Diff to previous 1.199 (colored)

Merge 2006-03-28 NetBSD-current into the "peter-altq" branch.

Revision 1.200 / (download) - annotate - [select for diffs], Mon Mar 20 13:14:37 2006 UTC (16 years, 10 months ago) by drochner
Branch: MAIN
CVS Tags: yamt-pdpolicy-base4, yamt-pdpolicy-base3
Changes since 1.199: +3 -3 lines
Diff to previous 1.199 (colored)

kill the last use of vm_fault_t, from Havard Eidnes

Revision 1.199 / (download) - annotate - [select for diffs], Wed Mar 15 18:12:02 2006 UTC (16 years, 10 months ago) by drochner
Branch: MAIN
CVS Tags: peter-altq-base
Branch point for: peter-altq
Changes since 1.198: +5 -5 lines
Diff to previous 1.198 (colored)

adapt to uvm_fault() interface cleanup: kill the useless 3rd argument

Revision 1.198.10.1 / (download) - annotate - [select for diffs], Wed Mar 8 00:43:07 2006 UTC (16 years, 11 months ago) by elad
Branch: elad-kernelauth
Changes since 1.198: +4 -4 lines
Diff to previous 1.198 (colored)

Adapt to kernel authorization KPI.

I expect *some* lossage here...

Revision 1.198 / (download) - annotate - [select for diffs], Sun Dec 11 12:18:09 2005 UTC (17 years, 1 month ago) by christos
Branch: MAIN
CVS Tags: yamt-uio_vmspace-base5, yamt-uio_vmspace, yamt-pdpolicy-base2, yamt-pdpolicy-base
Branch point for: yamt-pdpolicy, simonb-timecounters, rpaulo-netinet-merge-pcb, elad-kernelauth
Changes since 1.197: +3 -3 lines
Diff to previous 1.197 (colored)

merge ktrace-lwp.

Revision 1.180.2.6 / (download) - annotate - [select for diffs], Thu Nov 10 13:57:34 2005 UTC (17 years, 2 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.180.2.5: +9 -9 lines
Diff to previous 1.180.2.5 (colored) next main 1.181 (colored)

Sync with HEAD. Here we go again...

Revision 1.197 / (download) - annotate - [select for diffs], Wed Sep 7 20:28:08 2005 UTC (17 years, 5 months ago) by drochner
Branch: MAIN
CVS Tags: yamt-vop-base3, yamt-vop-base2, yamt-vop-base, yamt-vop, yamt-readahead-pervnode, yamt-readahead-perfile, yamt-readahead-base3, yamt-readahead-base2, yamt-readahead-base, yamt-readahead, thorpej-vnode-attr-base, thorpej-vnode-attr, ktrace-lwp-base
Changes since 1.196: +5 -5 lines
Diff to previous 1.196 (colored)

fix an obvious mistake where the original instruction
is restored after a simulated single-step,
also use VM_PROT_ALL to get maximal permission for patching
instructions instead of VM_PROT_DEFAULT whose semantics
are not that defined

Revision 1.196 / (download) - annotate - [select for diffs], Wed Jun 1 16:53:07 2005 UTC (17 years, 8 months ago) by drochner
Branch: MAIN
Branch point for: yamt-lazymbuf
Changes since 1.195: +3 -3 lines
Diff to previous 1.195 (colored)

cast-qual fallout

Revision 1.195 / (download) - annotate - [select for diffs], Mon May 30 02:26:17 2005 UTC (17 years, 8 months ago) by simonb
Branch: MAIN
Changes since 1.194: +5 -5 lines
Diff to previous 1.194 (colored)

Deal with extra constiness in ddb.

Revision 1.180.2.5 / (download) - annotate - [select for diffs], Tue Sep 21 13:18:52 2004 UTC (18 years, 4 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.180.2.4: +3 -3 lines
Diff to previous 1.180.2.4 (colored)

Fix the sync with head I botched.

Revision 1.180.2.4 / (download) - annotate - [select for diffs], Sat Sep 18 14:37:26 2004 UTC (18 years, 4 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.180.2.3: +3 -3 lines
Diff to previous 1.180.2.3 (colored)

Sync with HEAD.

Revision 1.180.2.3 / (download) - annotate - [select for diffs], Fri Sep 3 12:44:57 2004 UTC (18 years, 5 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.180.2.2: +4 -9 lines
Diff to previous 1.180.2.2 (colored)

Sync with HEAD

Revision 1.194 / (download) - annotate - [select for diffs], Sat Aug 28 17:53:01 2004 UTC (18 years, 5 months ago) by jdolecek
Branch: MAIN
CVS Tags: yamt-km-base4, yamt-km-base3, yamt-km-base2, yamt-km-base, yamt-km, 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, kent-audio2, kent-audio1-beforemerge, kent-audio1-base, kent-audio1
Changes since 1.193: +4 -9 lines
Diff to previous 1.193 (colored)

use uvm_grow() to update stack segment size on stack page fault instead
of MD code

Revision 1.180.2.2 / (download) - annotate - [select for diffs], Tue Aug 3 10:37:50 2004 UTC (18 years, 6 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.180.2.1: +115 -60 lines
Diff to previous 1.180.2.1 (colored)

Sync with HEAD

Revision 1.193 / (download) - annotate - [select for diffs], Fri Mar 26 17:34:18 2004 UTC (18 years, 10 months ago) by drochner
Branch: MAIN
CVS Tags: 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
Changes since 1.192: +2 -6 lines
Diff to previous 1.192 (colored)

all ports define __HAVE_SIGINFO now, so remove the CPP conditionals

Revision 1.192 / (download) - annotate - [select for diffs], Sun Mar 14 01:08:48 2004 UTC (18 years, 10 months ago) by cl
Branch: MAIN
Changes since 1.191: +3 -4 lines
Diff to previous 1.191 (colored)

add kernel part of concurrency support for SA on MP systems
- move per VP data into struct sadata_vp referenced from l->l_savp
  * VP id
  * lock on VP data
  * LWP on VP
  * recently blocked LWP on VP
  * queue of LWPs woken which ran on this VP before sleep
  * faultaddr
  * LWP cache for upcalls
  * upcall queue
- add current concurrency and requested concurrency variables
- make process exit run LWP on all VPs
- make signal delivery consider all VPs
- make timer events consider all VPs
- add sa_newsavp to allocate new sadata_vp structure
- add sa_increaseconcurrency to prepare new VP
- make sys_sa_setconcurrency request new VP or wakeup idle VP
- make sa_yield lower current concurrency
- set sa_cpu = VP id in upcalls
- maintain cached LWPs per VP

Revision 1.191 / (download) - annotate - [select for diffs], Fri Feb 13 11:36:15 2004 UTC (18 years, 11 months ago) by wiz
Branch: MAIN
Changes since 1.190: +7 -7 lines
Diff to previous 1.190 (colored)

Uppercase CPU, plural is CPUs.

Revision 1.190 / (download) - annotate - [select for diffs], Wed Dec 31 02:40:26 2003 UTC (19 years, 1 month ago) by simonb
Branch: MAIN
Changes since 1.189: +18 -25 lines
Diff to previous 1.189 (colored)

ANSIfy, KNF.

Revision 1.189 / (download) - annotate - [select for diffs], Wed Nov 26 08:36:49 2003 UTC (19 years, 2 months ago) by he
Branch: MAIN
Changes since 1.188: +13 -13 lines
Diff to previous 1.188 (colored)

Hide the register number constants behind an _R_ prefix, and also
rename FPBASE to _FPBASE, so that we avoid polluting the user's
name space when e.g. <sys/ptrace.h> is included.  Previously, the
PC symbol in mips/regnum.h would conflict with the declaration of
the external variable by the same name in termcap.h, as discovered
by the ``okheaders'' regression test.

Revision 1.188 / (download) - annotate - [select for diffs], Thu Nov 6 04:17:11 2003 UTC (19 years, 3 months ago) by simonb
Branch: MAIN
Changes since 1.187: +3 -3 lines
Diff to previous 1.187 (colored)

Try using matching numbers of open and close parentheses to make this
compile again.

Revision 1.187 / (download) - annotate - [select for diffs], Tue Nov 4 10:33:15 2003 UTC (19 years, 3 months ago) by dsl
Branch: MAIN
Changes since 1.186: +3 -3 lines
Diff to previous 1.186 (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.186 / (download) - annotate - [select for diffs], Sun Nov 2 08:27:41 2003 UTC (19 years, 3 months ago) by christos
Branch: MAIN
Changes since 1.185: +3 -2 lines
Diff to previous 1.185 (colored)

Initialize another fp instance

Revision 1.185 / (download) - annotate - [select for diffs], Sun Nov 2 08:20:48 2003 UTC (19 years, 3 months ago) by christos
Branch: MAIN
Changes since 1.184: +7 -5 lines
Diff to previous 1.184 (colored)

only assign to fp when we have a valid lwp. Thanks simon

Revision 1.184 / (download) - annotate - [select for diffs], Wed Oct 29 23:39:45 2003 UTC (19 years, 3 months ago) by christos
Branch: MAIN
Changes since 1.183: +42 -19 lines
Diff to previous 1.183 (colored)

first pass siginfo glue for mips

Revision 1.183 / (download) - annotate - [select for diffs], Tue Oct 21 15:05:56 2003 UTC (19 years, 3 months ago) by tsutsui
Branch: MAIN
Changes since 1.182: +4 -4 lines
Diff to previous 1.182 (colored)

vaddr_t is not pointer, so don't compare it against NULL.
(BTW, should we also fix "NULL" in following printf messages?)

Revision 1.182 / (download) - annotate - [select for diffs], Sat Sep 20 22:50:52 2003 UTC (19 years, 4 months ago) by cl
Branch: MAIN
Changes since 1.181: +9 -2 lines
Diff to previous 1.181 (colored)

add MD part of SA/pthread pagefault handling on mips

Revision 1.181 / (download) - annotate - [select for diffs], Thu Aug 7 16:28:34 2003 UTC (19 years, 6 months ago) by agc
Branch: MAIN
Changes since 1.180: +37 -3 lines
Diff to previous 1.180 (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.180.2.1 / (download) - annotate - [select for diffs], Wed Jul 2 15:25:25 2003 UTC (19 years, 7 months ago) by darrenr
Branch: ktrace-lwp
Changes since 1.180: +3 -3 lines
Diff to previous 1.180 (colored)

Apply the aborted ktrace-lwp changes to a specific branch.  This is just for
others to review, I'm concerned that patch fuziness may have resulted in some
errant code being generated but I'll look at that later by comparing the diff
from the base to the branch with the file I attempt to apply to it.  This will,
at the very least, put the changes in a better context for others to review
them and attempt to tinker with removing passing of 'struct lwp' through
the kernel.

Revision 1.180 / (download) - annotate - [select for diffs], Sun Jun 29 22:28:38 2003 UTC (19 years, 7 months ago) by fvdl
Branch: MAIN
Branch point for: ktrace-lwp
Changes since 1.179: +3 -3 lines
Diff to previous 1.179 (colored)

Back out the lwp/ktrace changes. They contained a lot of colateral damage,
and need to be examined and discussed more.

Revision 1.179 / (download) - annotate - [select for diffs], Sun Jun 29 11:32:11 2003 UTC (19 years, 7 months ago) by simonb
Branch: MAIN
Changes since 1.178: +7 -7 lines
Diff to previous 1.178 (colored)

Don't use "extern" with functions.

Revision 1.178 / (download) - annotate - [select for diffs], Sat Jun 28 14:21:00 2003 UTC (19 years, 7 months ago) by darrenr
Branch: MAIN
Changes since 1.177: +3 -3 lines
Diff to previous 1.177 (colored)

Pass lwp pointers throughtout the kernel, as required, so that the lwpid can
be inserted into ktrace records.  The general change has been to replace
"struct proc *" with "struct lwp *" in various function prototypes, pass
the lwp through and use l_proc to get the process pointer when needed.

Bump the kernel rev up to 1.6V

Revision 1.177 / (download) - annotate - [select for diffs], Mon Jun 2 05:55:11 2003 UTC (19 years, 8 months ago) by simonb
Branch: MAIN
Changes since 1.176: +3 -4 lines
Diff to previous 1.176 (colored)

Remove needless line wrap.

Revision 1.176 / (download) - annotate - [select for diffs], Fri Jan 17 23:36:19 2003 UTC (20 years ago) by thorpej
Branch: MAIN
Changes since 1.175: +57 -51 lines
Diff to previous 1.175 (colored)

Merge the nathanw_sa branch.

Revision 1.165.2.23 / (download) - annotate - [select for diffs], Tue Jan 7 22:12:27 2003 UTC (20 years, 1 month ago) by thorpej
Branch: nathanw_sa
CVS Tags: nathanw_sa_end
Changes since 1.165.2.22: +3 -3 lines
Diff to previous 1.165.2.22 (colored) next main 1.166 (colored)

In the SA universe, the switch-to-this-LWP decision is made at a
different level than where preempt() calls are made, which renders
the "newlwp" argument useless.  Replace it with a "more work to do"
boolean argument.  Returning to userspace preempt() calls pass 0.
"Voluntary" preemptions in e.g. uiomove() pass 1.  This will be used
to indicate to the SA subsystem that the LWP is not yet finished in
the kernel.

Collapse the SA vs. non-SA cases of preempt() together, making the
conditional code block much smaller, and don't call sa_preempt() if
more work is to come.

NOTE: THIS IS NOT A COMPLETE FIX TO THE preempt()-in-uiomove() PROBLEM
THAT CURRENTLY EXISTS FOR SA PROCESSES.

Revision 1.175.2.1 / (download) - annotate - [select for diffs], Wed Dec 18 01:05:29 2002 UTC (20 years, 1 month ago) by gmcgarry
Branch: gmcgarry_ucred
Changes since 1.175: +4 -5 lines
Diff to previous 1.175 (colored) next main 1.176 (colored)

Merge pcred and ucred, and poolify.  TBD: check backward compatibility
and factor-out some higher-level functionality.

Revision 1.165.2.22 / (download) - annotate - [select for diffs], Mon Dec 2 06:12:13 2002 UTC (20 years, 2 months ago) by wdk
Branch: nathanw_sa
Changes since 1.165.2.21: +5 -4 lines
Diff to previous 1.165.2.21 (colored)

Tidy up for Scheduler Activations:
 - Change curproc -> curlwp
 - Display LWP id along with PID for kernel generated messages

Revision 1.165.2.21 / (download) - annotate - [select for diffs], Wed Nov 20 11:06:27 2002 UTC (20 years, 2 months ago) by wdk
Branch: nathanw_sa
Changes since 1.165.2.20: +2 -3 lines
Diff to previous 1.165.2.20 (colored)

cpu_switch() defined by MI headrs now.

Revision 1.165.2.20 / (download) - annotate - [select for diffs], Mon Nov 11 22:00:54 2002 UTC (20 years, 2 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.165.2.19: +9 -9 lines
Diff to previous 1.165.2.19 (colored)

Catch up to -current

Revision 1.175 / (download) - annotate - [select for diffs], Sat Nov 9 20:06:07 2002 UTC (20 years, 3 months ago) by thorpej
Branch: MAIN
CVS Tags: nathanw_sa_before_merge, nathanw_sa_base, gmcgarry_ucred_base, gmcgarry_ctxsw_base, gmcgarry_ctxsw, fvdl_fs64_base
Branch point for: gmcgarry_ucred
Changes since 1.174: +7 -7 lines
Diff to previous 1.174 (colored)

Fix signed/unsigned comparison warnings.

Revision 1.174 / (download) - annotate - [select for diffs], Mon Nov 4 20:02:10 2002 UTC (20 years, 3 months ago) by thorpej
Branch: MAIN
Changes since 1.173: +4 -4 lines
Diff to previous 1.173 (colored)

Use named indices for RA, SR, MULLO, MULHI, and EPC in the
trapframe.

Revision 1.165.2.19 / (download) - annotate - [select for diffs], Fri Oct 18 02:38:47 2002 UTC (20 years, 3 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.165.2.18: +8 -4 lines
Diff to previous 1.165.2.18 (colored)

Catch up to -current.

Revision 1.163.2.5 / (download) - annotate - [select for diffs], Thu Oct 10 18:34:07 2002 UTC (20 years, 4 months ago) by jdolecek
Branch: kqueue
Changes since 1.163.2.4: +8 -4 lines
Diff to previous 1.163.2.4 (colored) to branchpoint 1.163 (colored) next main 1.164 (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.173 / (download) - annotate - [select for diffs], Sun Sep 22 05:40:35 2002 UTC (20 years, 4 months ago) by gmcgarry
Branch: MAIN
CVS Tags: kqueue-beforemerge, kqueue-base, kqueue-aftermerge
Changes since 1.172: +3 -3 lines
Diff to previous 1.172 (colored)

Update for cpu_switch() prototype change.  No functional change.

Revision 1.172 / (download) - annotate - [select for diffs], Sat Sep 21 21:15:01 2002 UTC (20 years, 4 months ago) by manu
Branch: MAIN
Changes since 1.171: +7 -3 lines
Diff to previous 1.171 (colored)

- Introduce a e_fault field in struct proc to provide emulation specific
memory fault handler. IRIX uses irix_vm_fault, and all other emulation
use NULL, which means to use uvm_fault.

- While we are there, explicitely set to NULL the uninitialized fields in
struct emul: e_fault and e_sysctl on most ports

- e_fault is used by the trap handler, for now only on mips. In order to avoid
intrusive modifications in UVM, the function pointed by e_fault does not
has exactly the same protoype as uvm_fault:
int uvm_fault __P((struct vm_map *, vaddr_t, vm_fault_t, vm_prot_t));
int e_fault __P((struct proc *, vaddr_t, vm_fault_t, vm_prot_t));

- In IRIX share groups, all the VM space is shared, except one page.
This bounds us to have different VM spaces and synchronize modifications
to the VM space accross share group members. We need an IRIX specific hook
to the page fault handler in order to propagate VM space modifications
caused by page faults.

Revision 1.165.2.18 / (download) - annotate - [select for diffs], Tue Sep 17 21:15:51 2002 UTC (20 years, 4 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.165.2.17: +13 -2 lines
Diff to previous 1.165.2.17 (colored)

Catch up to -current.

Revision 1.163.2.4 / (download) - annotate - [select for diffs], Fri Sep 6 08:37:39 2002 UTC (20 years, 5 months ago) by jdolecek
Branch: kqueue
Changes since 1.163.2.3: +32 -153 lines
Diff to previous 1.163.2.3 (colored) to branchpoint 1.163 (colored)

sync kqueue branch with HEAD

Revision 1.169.4.2 / (download) - annotate - [select for diffs], Sat Aug 31 13:45:22 2002 UTC (20 years, 5 months ago) by gehenna
Branch: gehenna-devsw
Changes since 1.169.4.1: +13 -2 lines
Diff to previous 1.169.4.1 (colored) to branchpoint 1.169 (colored) next main 1.170 (colored)

catch up with -current.

Revision 1.171 / (download) - annotate - [select for diffs], Wed Aug 28 08:34:09 2002 UTC (20 years, 5 months ago) by gmcgarry
Branch: MAIN
CVS Tags: gehenna-devsw-base
Changes since 1.170: +13 -2 lines
Diff to previous 1.170 (colored)

RAS support for MIPS.  Tested on R3000.

Revision 1.165.2.17 / (download) - annotate - [select for diffs], Fri Aug 2 09:26:12 2002 UTC (20 years, 6 months ago) by gmcgarry
Branch: nathanw_sa
Changes since 1.165.2.16: +7 -7 lines
Diff to previous 1.165.2.16 (colored)

LWPify.

Revision 1.165.2.16 / (download) - annotate - [select for diffs], Thu Aug 1 02:42:35 2002 UTC (20 years, 6 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.165.2.15: +21 -153 lines
Diff to previous 1.165.2.15 (colored)

Catch up to -current.

Revision 1.169.4.1 / (download) - annotate - [select for diffs], Tue Jul 16 08:50:53 2002 UTC (20 years, 6 months ago) by gehenna
Branch: gehenna-devsw
Changes since 1.169: +21 -153 lines
Diff to previous 1.169 (colored)

catch up with -current.

Revision 1.165.2.15 / (download) - annotate - [select for diffs], Fri Jul 12 01:39:38 2002 UTC (20 years, 7 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.165.2.14: +2 -3 lines
Diff to previous 1.165.2.14 (colored)

No longer need to pull in lwp.h; proc.h pulls it in for us.

Revision 1.170 / (download) - annotate - [select for diffs], Sat Jul 6 23:59:21 2002 UTC (20 years, 7 months ago) by gmcgarry
Branch: MAIN
Changes since 1.169: +21 -153 lines
Diff to previous 1.169 (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.165.2.14 / (download) - annotate - [select for diffs], Sat Jul 6 03:17:58 2002 UTC (20 years, 7 months ago) by simonb
Branch: nathanw_sa
Changes since 1.165.2.13: +3 -3 lines
Diff to previous 1.165.2.13 (colored)

Fix playstation2 case (by inspection, not tested): s/p->p_md/l->l_md/.

Revision 1.165.2.13 / (download) - annotate - [select for diffs], Sat Jul 6 03:14:00 2002 UTC (20 years, 7 months ago) by simonb
Branch: nathanw_sa
Changes since 1.165.2.12: +3 -3 lines
Diff to previous 1.165.2.12 (colored)

Fix #ifdef SOFTFLOAT code:
   s/p->p_addr/l->l_addr/ and s/p->p_md/l->l_md/

Revision 1.165.2.12 / (download) - annotate - [select for diffs], Tue Jul 2 22:13:25 2002 UTC (20 years, 7 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.165.2.11: +4 -5 lines
Diff to previous 1.165.2.11 (colored)

Whitespace and a unnecessary curlwp use.

Revision 1.165.2.11 / (download) - annotate - [select for diffs], Tue Jul 2 21:25:12 2002 UTC (20 years, 7 months ago) by gmcgarry
Branch: nathanw_sa
Changes since 1.165.2.10: +4 -5 lines
Diff to previous 1.165.2.10 (colored)

Make this compile without KTRACE.

Revision 1.165.2.10 / (download) - annotate - [select for diffs], Mon Jun 24 22:06:04 2002 UTC (20 years, 7 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.165.2.9: +10 -10 lines
Diff to previous 1.165.2.9 (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.165.2.9 / (download) - annotate - [select for diffs], Fri Jun 21 06:23:36 2002 UTC (20 years, 7 months ago) by gmcgarry
Branch: nathanw_sa
Changes since 1.165.2.8: +5 -3 lines
Diff to previous 1.165.2.8 (colored)

Pull-in headers; update cpu_switch() prototype

Revision 1.165.2.8 / (download) - annotate - [select for diffs], Mon Apr 1 07:41:13 2002 UTC (20 years, 10 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.165.2.7: +25 -113 lines
Diff to previous 1.165.2.7 (colored)

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

Revision 1.163.2.3 / (download) - annotate - [select for diffs], Sat Mar 16 15:58:44 2002 UTC (20 years, 10 months ago) by jdolecek
Branch: kqueue
Changes since 1.163.2.2: +25 -114 lines
Diff to previous 1.163.2.2 (colored) to branchpoint 1.163 (colored)

Catch up with -current.

Revision 1.169 / (download) - annotate - [select for diffs], Mon Mar 11 16:39:40 2002 UTC (20 years, 11 months ago) by uch
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, eeh-devprop-base, eeh-devprop
Branch point for: gehenna-devsw
Changes since 1.168: +4 -4 lines
Diff to previous 1.168 (colored)

make this compile and work with MIPS3_5900.

Revision 1.168 / (download) - annotate - [select for diffs], Tue Mar 5 15:55:41 2002 UTC (20 years, 11 months ago) by simonb
Branch: MAIN
CVS Tags: newlock-base, newlock
Changes since 1.167: +23 -112 lines
Diff to previous 1.167 (colored)

Remove HPCMIPS_FLUSHCACHE_XXX debug code.
Remove old unused exception frame unwind code.
Change a MIPS3 check to a MIPS3_PLUS check.
ANSIfy.

Revision 1.165.2.7 / (download) - annotate - [select for diffs], Thu Feb 28 04:10:46 2002 UTC (20 years, 11 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.165.2.6: +3 -3 lines
Diff to previous 1.165.2.6 (colored)

Catch up to -current.

Revision 1.163.2.2 / (download) - annotate - [select for diffs], Mon Feb 11 20:08:37 2002 UTC (20 years, 11 months ago) by jdolecek
Branch: kqueue
Changes since 1.163.2.1: +3 -3 lines
Diff to previous 1.163.2.1 (colored) to branchpoint 1.163 (colored)

Sync w/ -current.

Revision 1.165.2.6 / (download) - annotate - [select for diffs], Mon Feb 11 05:15:13 2002 UTC (20 years, 11 months ago) by gmcgarry
Branch: nathanw_sa
Changes since 1.165.2.5: +3 -3 lines
Diff to previous 1.165.2.5 (colored)

Fix typo in previous.

Revision 1.165.2.5 / (download) - annotate - [select for diffs], Sun Feb 10 03:34:49 2002 UTC (21 years ago) by gmcgarry
Branch: nathanw_sa
Changes since 1.165.2.4: +3 -3 lines
Diff to previous 1.165.2.4 (colored)

stacktrace_subr() can be invoked from ddb before main() is called.
In this case curproc->l_proc is undefined.  Kludge around it by
checking for both curproc != NULL and curproc->l_proc != NULL.

Revision 1.167 / (download) - annotate - [select for diffs], Sat Jan 12 01:40:37 2002 UTC (21 years ago) by enami
Branch: MAIN
CVS Tags: ifpoll-base
Changes since 1.166: +3 -3 lines
Diff to previous 1.166 (colored)

Define new macro to access FSR register and use it.

Revision 1.163.2.1 / (download) - annotate - [select for diffs], Thu Jan 10 19:46:14 2002 UTC (21 years, 1 month ago) by thorpej
Branch: kqueue
Changes since 1.163: +20 -6 lines
Diff to previous 1.163 (colored)

Sync kqueue branch with -current.

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

Catch up to -current.

Revision 1.166 / (download) - annotate - [select for diffs], Fri Dec 28 02:13:14 2001 UTC (21 years, 1 month ago) by shin
Branch: MAIN
Changes since 1.165: +4 -4 lines
Diff to previous 1.165 (colored)

check if curproc is invalid, and do panic.
otherwise, we can't useful backtrace.
Ex. address error in interrupt handler.

Revision 1.165.2.3 / (download) - annotate - [select for diffs], Sun Nov 18 11:41:05 2001 UTC (21 years, 2 months ago) by wdk
Branch: nathanw_sa
Changes since 1.165.2.2: +4 -3 lines
Diff to previous 1.165.2.2 (colored)

In trap handler avoid null pointer de-reference when curproc is NULL

Revision 1.165.2.2 / (download) - annotate - [select for diffs], Sat Nov 17 23:43:44 2001 UTC (21 years, 2 months ago) by wdk
Branch: nathanw_sa
Changes since 1.165.2.1: +1177 -0 lines
Diff to previous 1.165.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.165.2.1, Wed Nov 14 18:15:26 2001 UTC (21 years, 2 months ago) by wdk
Branch: nathanw_sa
Changes since 1.165: +0 -1172 lines
FILE REMOVED

file trap.c was added on branch nathanw_sa on 2001-11-17 23:43:44 +0000

Revision 1.165 / (download) - annotate - [select for diffs], Wed Nov 14 18:15:26 2001 UTC (21 years, 2 months ago) by thorpej
Branch: MAIN
Branch point for: nathanw_sa
Changes since 1.164: +5 -3 lines
Diff to previous 1.164 (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.164.2.1 / (download) - annotate - [select for diffs], Wed Oct 24 17:38:10 2001 UTC (21 years, 3 months ago) by thorpej
Branch: thorpej-mips-cache
Changes since 1.164: +5 -3 lines
Diff to previous 1.164 (colored) next main 1.165 (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.164 / (download) - annotate - [select for diffs], Tue Oct 16 16:31:38 2001 UTC (21 years, 3 months ago) by uch
Branch: MAIN
CVS Tags: thorpej-mips-cache-base
Branch point for: thorpej-mips-cache
Changes since 1.163: +15 -3 lines
Diff to previous 1.163 (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.160.2.2 / (download) - annotate - [select for diffs], Thu Jun 21 19:28:13 2001 UTC (21 years, 7 months ago) by nathanw
Changes since 1.160.2.1: +4 -3 lines
Diff to previous 1.160.2.1 (colored) next main 1.161 (colored)

Catch up to -current.

Revision 1.163 / (download) - annotate - [select for diffs], Sat Jun 2 18:09:15 2001 UTC (21 years, 8 months ago) by chs
Branch: MAIN
CVS Tags: thorpej-devvp-base3, thorpej-devvp-base2, thorpej-devvp-base, thorpej-devvp, pre-chs-ubcperf, post-chs-ubcperf
Branch point for: kqueue
Changes since 1.162: +3 -3 lines
Diff to previous 1.162 (colored)

replace vm_map{,_entry}_t with struct vm_map{,_entry} *.

Revision 1.162 / (download) - annotate - [select for diffs], Wed May 30 15:24:33 2001 UTC (21 years, 8 months ago) by lukem
Branch: MAIN
Changes since 1.161: +3 -2 lines
Diff to previous 1.161 (colored)

add missing   #include "opt_kgdb.h"

Revision 1.160.2.1 / (download) - annotate - [select for diffs], Mon Apr 9 01:53:57 2001 UTC (21 years, 10 months ago) by nathanw
Changes since 1.160: +11 -12 lines
Diff to previous 1.160 (colored)

Catch up with -current.

Revision 1.113.2.5 / (download) - annotate - [select for diffs], Tue Mar 27 15:31:11 2001 UTC (21 years, 10 months ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.113.2.4: +9 -10 lines
Diff to previous 1.113.2.4 (colored) to branchpoint 1.113 (colored) next main 1.114 (colored)

Sync with HEAD.

Revision 1.161 / (download) - annotate - [select for diffs], Thu Mar 15 06:10:43 2001 UTC (21 years, 10 months ago) by chs
Branch: MAIN
CVS Tags: thorpej_scsipi_nbase, thorpej_scsipi_beforemerge, thorpej_scsipi_base
Changes since 1.160: +11 -12 lines
Diff to previous 1.160 (colored)

eliminate the KERN_* error codes in favor of the traditional E* codes.
the mapping is:

KERN_SUCCESS			0
KERN_INVALID_ADDRESS		EFAULT
KERN_PROTECTION_FAILURE		EACCES
KERN_NO_SPACE			ENOMEM
KERN_INVALID_ARGUMENT		EINVAL
KERN_FAILURE			various, mostly turn into KASSERTs
KERN_RESOURCE_SHORTAGE		ENOMEM
KERN_NOT_RECEIVER		<unused>
KERN_NO_ACCESS			<unused>
KERN_PAGES_LOCKED		<unused>

Revision 1.113.2.4 / (download) - annotate - [select for diffs], Thu Jan 18 09:22:45 2001 UTC (22 years ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.113.2.3: +30 -163 lines
Diff to previous 1.113.2.3 (colored) to branchpoint 1.113 (colored)

Sync with head (for UBC+NFS fixes, mostly).

Revision 1.160 / (download) - annotate - [select for diffs], Tue Jan 16 06:01:27 2001 UTC (22 years ago) by thorpej
Branch: MAIN
Changes since 1.159: +2 -118 lines
Diff to previous 1.159 (colored)

New syscall entry implementation based on the Alpha version
as hacked by mycroft.
- Use syscall_intern() to give a process a plain or fancy
  syscall based on ktrace flags.
- Avoid copying from the trapframe into a local array as much
  as possible.

Yields roughly 5% improvement on a 25MHz R3000 (DECstation 5000/200)
on a simple syscall benchmark.

There's still some work that can be done using __HAVE_MINIMAL_EMUL.

Revision 1.159 / (download) - annotate - [select for diffs], Sun Jan 14 21:22:57 2001 UTC (22 years ago) by thorpej
Branch: MAIN
Changes since 1.158: +2 -12 lines
Diff to previous 1.158 (colored)

Now that we won't lose signotify()'s while we're asleep, go ahead
and to signal processing in ast() again.

Revision 1.158 / (download) - annotate - [select for diffs], Sun Jan 14 21:18:40 2001 UTC (22 years ago) by thorpej
Branch: MAIN
Changes since 1.157: +4 -5 lines
Diff to previous 1.157 (colored)

Make the astpending flag per-process.

Revision 1.157 / (download) - annotate - [select for diffs], Sun Jan 14 00:39:48 2001 UTC (22 years ago) by thorpej
Branch: MAIN
Changes since 1.156: +8 -2 lines
Diff to previous 1.156 (colored)

Put signal posting back in userret() for now; for it to work
properly, we need to make astpending a per-process variable.

Pointed out by mycroft.

Revision 1.156 / (download) - annotate - [select for diffs], Sun Jan 14 00:35:53 2001 UTC (22 years ago) by thorpej
Branch: MAIN
Changes since 1.155: +3 -8 lines
Diff to previous 1.155 (colored)

Remove a couple of now-unsed variables (args that are now no longer
passed to userret()).

Revision 1.155 / (download) - annotate - [select for diffs], Sun Jan 14 00:10:29 2001 UTC (22 years ago) by thorpej
Branch: MAIN
Changes since 1.154: +27 -16 lines
Diff to previous 1.154 (colored)

- Make ast() loop around astpending; it's possible for a new
  AST to be posted when delivering signals, or after a process
  is preempted.
- Move all signal posting to ast().  userret() is now a one-liner.

Revision 1.154 / (download) - annotate - [select for diffs], Thu Jan 11 18:44:29 2001 UTC (22 years ago) by thorpej
Branch: MAIN
Changes since 1.153: +11 -22 lines
Diff to previous 1.153 (colored)

Move userret() into a header file, in preparation for splitting
syscall() into plain and fancy.

Revision 1.153 / (download) - annotate - [select for diffs], Thu Jan 11 18:30:17 2001 UTC (22 years ago) by thorpej
Branch: MAIN
Changes since 1.152: +12 -19 lines
Diff to previous 1.152 (colored)

Modeled after mycroft's changes to the Alpha port, add PROC_PC() to
get profiling out of userret(), and move the preemption check to ast().

Revision 1.113.2.3 / (download) - annotate - [select for diffs], Fri Jan 5 17:34:47 2001 UTC (22 years, 1 month ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.113.2.2: +2 -6 lines
Diff to previous 1.113.2.2 (colored) to branchpoint 1.113 (colored)

Sync with HEAD

Revision 1.152 / (download) - annotate - [select for diffs], Thu Dec 14 21:24:53 2000 UTC (22 years, 1 month ago) by jeffs
Branch: MAIN
Changes since 1.151: +4 -8 lines
Diff to previous 1.151 (colored)

Make userret() "static __inline".  This lets it be inlined, even if you
do not have the compiler inline normal functions to save space.  It helps
a bit on lmbench.

Revision 1.113.2.2 / (download) - annotate - [select for diffs], Wed Nov 22 16:00:47 2000 UTC (22 years, 2 months ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.113.2.1: +3 -3 lines
Diff to previous 1.113.2.1 (colored) to branchpoint 1.113 (colored)

Sync with HEAD.

Revision 1.151 / (download) - annotate - [select for diffs], Tue Nov 21 02:26:07 2000 UTC (22 years, 2 months ago) by soren
Branch: MAIN
Changes since 1.150: +3 -3 lines
Diff to previous 1.150 (colored)

Adjust for p_emul change.

Revision 1.113.2.1 / (download) - annotate - [select for diffs], Mon Nov 20 20:13:37 2000 UTC (22 years, 2 months ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.113: +109 -309 lines
Diff to previous 1.113 (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.150 / (download) - annotate - [select for diffs], Mon Oct 23 05:49:05 2000 UTC (22 years, 3 months ago) by jeffs
Branch: MAIN
Changes since 1.149: +3 -2 lines
Diff to previous 1.149 (colored)

Go to to splhigh() in trap when panicing before calling debugger as break
handling does.

Revision 1.149 / (download) - annotate - [select for diffs], Tue Sep 26 18:24:45 2000 UTC (22 years, 4 months ago) by jeffs
Branch: MAIN
Changes since 1.148: +3 -12 lines
Diff to previous 1.148 (colored)

Use a cast to handle syscall() copyin case with 64b clean ctx save/restore.

Revision 1.148 / (download) - annotate - [select for diffs], Thu Sep 21 20:59:58 2000 UTC (22 years, 4 months ago) by jeffs
Branch: MAIN
Changes since 1.147: +6 -4 lines
Diff to previous 1.147 (colored)

In trap(), do not lower spl for T_BREAK.  This lets ddb always run at
splhigh() so nothing can happen behind it's back.

Revision 1.147 / (download) - annotate - [select for diffs], Sat Sep 16 05:07:06 2000 UTC (22 years, 4 months ago) by nisimura
Branch: MAIN
Changes since 1.146: +2 -5 lines
Diff to previous 1.146 (colored)

There is no need to handle processor master interrupt mask SR_INT_IE
in syscall() anymore.  By defition, processor was in SR_INT_IE turn
on prior to have syscall exception.  MIPS1 assembler hook arranges
to enable the bit for its own.  MIPS3 does the same effect by
turning off EXL bit.

Revision 1.146 / (download) - annotate - [select for diffs], Fri Sep 15 06:50:46 2000 UTC (22 years, 4 months ago) by jeffs
Branch: MAIN
Changes since 1.145: +3 -2 lines
Diff to previous 1.145 (colored)

Handle R4K trap faults in user mode like overflows (deliver SIGFPE).  This
prevents a panic running crashme.  Better comment for VCE define.

Revision 1.145 / (download) - annotate - [select for diffs], Mon Aug 14 04:36:34 2000 UTC (22 years, 5 months ago) by wdk
Branch: MAIN
Changes since 1.144: +4 -2 lines
Diff to previous 1.144 (colored)

intrcnt[] counters should be handled by the port specific interrupt handlers.
This change facilitates the migration from intrcnt[] to the new evcnt(9)
framework without breaking all of the mips based ports.

Revision 1.144 / (download) - annotate - [select for diffs], Thu Jul 20 18:14:48 2000 UTC (22 years, 6 months ago) by jeffs
Branch: MAIN
Changes since 1.143: +52 -11 lines
Diff to previous 1.143 (colored)

Include kgdb hooks in trap.c.  Include bits of DDB code for kgdb also.  Remove
some local prototypes that are in headers now.

Revision 1.143 / (download) - annotate - [select for diffs], Sun Jul 2 04:40:40 2000 UTC (22 years, 7 months ago) by cgd
Branch: MAIN
Changes since 1.142: +2 -50 lines
Diff to previous 1.142 (colored)

Kwality control:
* put #includes of opt headers and headers to get protos used by
  net/netisr_dispatch.h in net/netisr.h (if !defined(_LOCORE)) (rather than
  in netisr_dispatch.h itself, and potentially nowhere, respectively).
* require netisr.h to be included before netisr_dispatch.h.
* minor additional cleanup of both netisr.h and netisr_dispatch.h.
* clean up uses to remove now-unnecessary header file inclusions, and
  local prototypes of the fns.
* convert netisr dispatch implementations which didn't use
  netisr_dispatch.h (pc532) to use it.

Revision 1.142 / (download) - annotate - [select for diffs], Thu Jun 29 08:11:27 2000 UTC (22 years, 7 months ago) by mrg
Branch: MAIN
Changes since 1.141: +2 -4 lines
Diff to previous 1.141 (colored)

remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h>

Revision 1.141 / (download) - annotate - [select for diffs], Mon Jun 26 14:20:49 2000 UTC (22 years, 7 months ago) by mrg
Branch: MAIN
Changes since 1.140: +2 -4 lines
Diff to previous 1.140 (colored)

remove/move more mach vm header files:

	<vm/pglist.h> -> <uvm/uvm_pglist.h>
	<vm/vm_inherit.h> -> <uvm/uvm_inherit.h>
	<vm/vm_kern.h> -> into <uvm/uvm_extern.h>
	<vm/vm_object.h> -> nothing
	<vm/vm_pager.h> -> into <uvm/uvm_pager.h>

also includes a bunch of <vm/vm_page.h> include removals (due to redudancy
with <vm/vm.h>), and a scattering of other similar headers.

Revision 1.132.2.1 / (download) - annotate - [select for diffs], Thu Jun 22 17:01:37 2000 UTC (22 years, 7 months ago) by minoura
Branch: minoura-xpg4dl
Changes since 1.132: +21 -16 lines
Diff to previous 1.132 (colored) next main 1.133 (colored)

Sync w/ netbsd-1-5-base.

Revision 1.140 / (download) - annotate - [select for diffs], Fri Jun 9 05:51:47 2000 UTC (22 years, 8 months ago) by soda
Branch: MAIN
CVS Tags: netbsd-1-5-base, 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, netbsd-1-5
Changes since 1.139: +4 -4 lines
Diff to previous 1.139 (colored)

rename
	vad_to_pfn() -> mips_paddr_to_tlbpfn()
	pfn_to_vad() -> mips_tlbpfn_to_paddr()
as suggested by thorpej on port-mips Mar 27.

Revision 1.139 / (download) - annotate - [select for diffs], Fri Jun 9 04:37:52 2000 UTC (22 years, 8 months ago) by soda
Branch: MAIN
Changes since 1.138: +8 -6 lines
Diff to previous 1.138 (colored)

make paddr_t 64bit on arc port by introducing _MIPS_PADDR_T_64BIT.

Revision 1.138 / (download) - annotate - [select for diffs], Tue Jun 6 18:52:40 2000 UTC (22 years, 8 months ago) by soren
Branch: MAIN
Changes since 1.137: +3 -2 lines
Diff to previous 1.137 (colored)

defopt SYSCALL_DEBUG.

Revision 1.137 / (download) - annotate - [select for diffs], Sat Jun 3 13:16:02 2000 UTC (22 years, 8 months ago) by shin
Branch: MAIN
Changes since 1.136: +2 -5 lines
Diff to previous 1.136 (colored)

delete unnecessary 'extern ...' line.

Revision 1.136 / (download) - annotate - [select for diffs], Fri Jun 2 12:57:22 2000 UTC (22 years, 8 months ago) by shin
Branch: MAIN
Changes since 1.135: +4 -2 lines
Diff to previous 1.135 (colored)

make it compile with 'options SOFTFLOAT'.

Revision 1.135 / (download) - annotate - [select for diffs], Wed May 31 01:11:58 2000 UTC (22 years, 8 months ago) by nisimura
Branch: MAIN
Changes since 1.134: +4 -5 lines
Diff to previous 1.134 (colored)

Leave fpcurproc NULL for Vr4100/TX3900.  It's solely for delayed lazy
FPA.  fp.S is free from fpcurproc references for SOFTFLOAT case.

Revision 1.134 / (download) - annotate - [select for diffs], Tue May 30 18:12:47 2000 UTC (22 years, 8 months ago) by uch
Branch: MAIN
Changes since 1.133: +5 -4 lines
Diff to previous 1.133 (colored)

if defined SOFTFLOAT, set fpcurproc before call MachFPInterrupt()

Revision 1.133 / (download) - annotate - [select for diffs], Tue May 30 01:23:53 2000 UTC (22 years, 8 months ago) by nisimura
Branch: MAIN
Changes since 1.132: +13 -10 lines
Diff to previous 1.132 (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.132 / (download) - annotate - [select for diffs], Sat May 27 00:40:35 2000 UTC (22 years, 8 months ago) by sommerfeld
Branch: MAIN
CVS Tags: minoura-xpg4dl-base
Branch point for: minoura-xpg4dl
Changes since 1.131: +5 -5 lines
Diff to previous 1.131 (colored)

Reduce use of curproc in several places:

 - Change ktrace interface to pass in the current process, rather than
p->p_tracep, since the various ktr* function need curproc anyway.

 - Add curproc as a parameter to mi_switch() since all callers had it
handy anyway.

 - Add a second proc argument for inferior() since callers all had
curproc handy.

Also, miscellaneous cleanups in ktrace:

 - ktrace now always uses file-based, rather than vnode-based I/O
(simplifies, increases type safety); eliminate KTRFLAG_FD & KTRFAC_FD.
Do non-blocking I/O, and yield a finite number of times when receiving
EWOULDBLOCK before giving up.

 - move code duplicated between sys_fktrace and sys_ktrace into ktrace_common.

 - simplify interface to ktrwrite()

Revision 1.131 / (download) - annotate - [select for diffs], Fri May 26 21:19:56 2000 UTC (22 years, 8 months ago) by thorpej
Branch: MAIN
Changes since 1.130: +3 -3 lines
Diff to previous 1.130 (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.130 / (download) - annotate - [select for diffs], Wed May 24 16:48:39 2000 UTC (22 years, 8 months ago) by thorpej
Branch: MAIN
Changes since 1.129: +4 -14 lines
Diff to previous 1.129 (colored)

Use preempt(), not an open-coded equivalent (which won't be
equivalent for long).

Revision 1.129 / (download) - annotate - [select for diffs], Mon May 15 06:45:44 2000 UTC (22 years, 8 months ago) by nisimura
Branch: MAIN
Changes since 1.128: +3 -2 lines
Diff to previous 1.128 (colored)

Backout the previous change which was done mistakenly.

Revision 1.128 / (download) - annotate - [select for diffs], Mon May 15 06:39:14 2000 UTC (22 years, 8 months ago) by nisimura
Branch: MAIN
Changes since 1.127: +2 -3 lines
Diff to previous 1.127 (colored)

Remove #include <machine/psl.h> which is not used.

Revision 1.127 / (download) - annotate - [select for diffs], Sat Apr 15 22:05:53 2000 UTC (22 years, 9 months ago) by soda
Branch: MAIN
Changes since 1.126: +5 -13 lines
Diff to previous 1.126 (colored)

remove following symbols which became unnecessary in recent cpu_intr() change:
	mips_hardware_intr
	MIPS3_INTERNAL_TIMER_INTERRUPT
	mips3_intr_cycle_count
	mips3_timer_delta

Revision 1.126 / (download) - annotate - [select for diffs], Sat Apr 15 06:21:01 2000 UTC (22 years, 9 months ago) by nisimura
Branch: MAIN
Changes since 1.125: +2 -82 lines
Diff to previous 1.125 (colored)

- Withdraw dealfpu() code which has been never useful so far.
- XXX It was a mistake to add CP1 insn encoding values into cpuregs.h.
  Those will be relocated into mips_opcode.h with some adjustment work.

Revision 1.125 / (download) - annotate - [select for diffs], Tue Apr 11 02:30:16 2000 UTC (22 years, 10 months ago) by nisimura
Branch: MAIN
Changes since 1.124: +60 -131 lines
Diff to previous 1.124 (colored)

Introduce cpu_intr() whose body is now provided by target ports in
their own ways.  Ugly fixup #define in machine/intr.h have gone.
mips_hardware_intr global variable patch work has gone.

Revision 1.124 / (download) - annotate - [select for diffs], Tue Mar 28 03:11:28 2000 UTC (22 years, 10 months ago) by simonb
Branch: MAIN
Changes since 1.123: +2 -3 lines
Diff to previous 1.123 (colored)

Move fpcurproc declaration to <mips/cpu.h>.

Revision 1.123 / (download) - annotate - [select for diffs], Tue Mar 28 02:58:50 2000 UTC (22 years, 10 months ago) by simonb
Branch: MAIN
Changes since 1.122: +7 -7 lines
Diff to previous 1.122 (colored)

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

Revision 1.122 / (download) - annotate - [select for diffs], Tue Mar 28 00:55:33 2000 UTC (22 years, 10 months ago) by simonb
Branch: MAIN
Changes since 1.121: +2 -7 lines
Diff to previous 1.121 (colored)

Remove redundant declarations of mips3_cycle_count(), stacktrace(),
logstacktrace(), mips_idle() and cpu_switch() - these are already
declared in various header files.

Revision 1.121 / (download) - annotate - [select for diffs], Mon Feb 21 20:38:49 2000 UTC (22 years, 11 months ago) by erh
Branch: MAIN
Changes since 1.120: +10 -26 lines
Diff to previous 1.120 (colored)

Define the DONETISR macro and use netisr_dispatch.h.  This is to cut down on code duplication and to standardize the available NETISRs across all ports.

Revision 1.120 / (download) - annotate - [select for diffs], Wed Feb 9 05:48:31 2000 UTC (23 years ago) by shin
Branch: MAIN
CVS Tags: chs-ubc2-newbase
Changes since 1.119: +3 -3 lines
Diff to previous 1.119 (colored)

fix include file.

	<netinet6/ip6.h>	->	<netinet/ip6.h>

Revision 1.119 / (download) - annotate - [select for diffs], Fri Jan 28 15:08:37 2000 UTC (23 years ago) by takemura
Branch: MAIN
Changes since 1.118: +4 -4 lines
Diff to previous 1.118 (colored)

CPU specific idle hook and VR idle routine.

Revision 1.118 / (download) - annotate - [select for diffs], Sun Jan 9 08:01:54 2000 UTC (23 years, 1 month ago) by shin
Branch: MAIN
Changes since 1.117: +10 -2 lines
Diff to previous 1.117 (colored)

split 'options SOFTFLOAT' to

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

Revision 1.113.8.1 / (download) - annotate - [select for diffs], Mon Dec 27 18:32:49 1999 UTC (23 years, 1 month ago) by wrstuden
Branch: wrstuden-devbsize
Changes since 1.113: +9 -15 lines
Diff to previous 1.113 (colored) next main 1.114 (colored)

Pull up to last week's -current.

Revision 1.117 / (download) - annotate - [select for diffs], Wed Dec 22 04:54:16 1999 UTC (23 years, 1 month ago) by jun
Branch: MAIN
Changes since 1.116: +4 -3 lines
Diff to previous 1.116 (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.116 / (download) - annotate - [select for diffs], Sun Dec 5 03:31:11 1999 UTC (23 years, 2 months ago) by shin
Branch: MAIN
CVS Tags: wrstuden-devbsize-base, wrstuden-devbsize-19991221
Changes since 1.115: +3 -3 lines
Diff to previous 1.115 (colored)

delete clrnd() to compile again.

Revision 1.107.6.2 / (download) - annotate - [select for diffs], Tue Nov 30 13:32:44 1999 UTC (23 years, 2 months ago) by itojun
Branch: kame
CVS Tags: kame_141_19991130
Changes since 1.107.6.1: +0 -0 lines
Diff to previous 1.107.6.1 (colored) to branchpoint 1.107 (colored) next main 1.108 (colored)

bring in latest KAME (as of 19991130, KAME/NetBSD141) into kame branch
just for reference purposes.
This commit includes 1.4 -> 1.4.1 sync for kame branch.

The branch does not compile at all (due to the lack of ALTQ and some other
source code).  Please do not try to modify the branch, this is just for
referenre purposes.

synchronization to latest KAME will take place on HEAD branch soon.

Revision 1.115 / (download) - annotate - [select for diffs], Thu Nov 18 06:47:49 1999 UTC (23 years, 2 months ago) by jun
Branch: MAIN
Changes since 1.114: +8 -6 lines
Diff to previous 1.114 (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.113.4.1 / (download) - annotate - [select for diffs], Mon Nov 15 00:38:42 1999 UTC (23 years, 2 months ago) by fvdl
Branch: fvdl-softdep
Changes since 1.113: +2 -10 lines
Diff to previous 1.113 (colored) next main 1.114 (colored)

Sync with -current

Revision 1.114 / (download) - annotate - [select for diffs], Wed Nov 10 08:06:05 1999 UTC (23 years, 3 months ago) by nisimura
Branch: MAIN
CVS Tags: fvdl-softdep-base
Changes since 1.113: +2 -10 lines
Diff to previous 1.113 (colored)

Remove a small scale 'improvement' for TLB mod exception which is now
found harmful.  Fix panics on MIPS1 only kernels.

Revision 1.113 / (download) - annotate - [select for diffs], Sat Sep 25 00:00:39 1999 UTC (23 years, 4 months ago) by shin
Branch: MAIN
CVS Tags: comdex-fall-1999-base, comdex-fall-1999
Branch point for: wrstuden-devbsize, thorpej_scsipi, fvdl-softdep
Changes since 1.112: +23 -3 lines
Diff to previous 1.112 (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.112 / (download) - annotate - [select for diffs], Wed Aug 18 04:43:31 1999 UTC (23 years, 5 months ago) by nisimura
Branch: MAIN
Changes since 1.111: +5 -5 lines
Diff to previous 1.111 (colored)

- Replace three splx() calls with _splset().  splx() should not be
considered the equivalent of 'set processor register'.

Revision 1.107.4.2 / (download) - annotate - [select for diffs], Thu Jul 1 23:13:28 1999 UTC (23 years, 7 months ago) by thorpej
Branch: chs-ubc2
Changes since 1.107.4.1: +13 -2 lines
Diff to previous 1.107.4.1 (colored) to branchpoint 1.107 (colored) next main 1.108 (colored)

Sync w/ -current.

Revision 1.111 / (download) - annotate - [select for diffs], Mon Jun 28 08:20:45 1999 UTC (23 years, 7 months ago) by itojun
Branch: MAIN
CVS Tags: chs-ubc2-base
Changes since 1.110: +13 -2 lines
Diff to previous 1.110 (colored)

- Call ip6intr if INET6 is defined.
- remove "need-flag" for mac68k esp driver, as it is not used in anywhere
  and conflicts with IPsec ESP header.

This should be the only MD change in IPv6 support, except kernel config file.
Very sorry if you have any compilation problem with it (I believe it is okay).
If your favorite arch is not included in here, please add a
call to ip6intr() from softintr handle.

Revision 1.107.6.1 / (download) - annotate - [select for diffs], Mon Jun 28 06:36:49 1999 UTC (23 years, 7 months ago) by itojun
Branch: kame
CVS Tags: kame_14_19990705, kame_14_19990628
Changes since 1.107: +13 -2 lines
Diff to previous 1.107 (colored)

KAME/NetBSD 1.4 SNAP kit, dated 19990628.

NOTE: this branch (kame) is used just for refernce.  this may not compile
due to multiple reasons.

Revision 1.107.4.1 / (download) - annotate - [select for diffs], Mon Jun 21 00:52:11 1999 UTC (23 years, 7 months ago) by thorpej
Branch: chs-ubc2
Changes since 1.107: +49 -41 lines
Diff to previous 1.107 (colored)

Sync w/ -current.

Revision 1.110 / (download) - annotate - [select for diffs], Sat May 29 09:38:28 1999 UTC (23 years, 8 months ago) by nisimura
Branch: MAIN
Changes since 1.109: +10 -2 lines
Diff to previous 1.109 (colored)

- Make a modification to reduce the cost of TLBmod exception handling.
TLBUpdate() routine is used for dual purposes.  In TLBmod case, just ok
to call 'tlbwi' (as designed).  Result in saving of extraneous execution
path.  MIPS1 only this moment.

Revision 1.109 / (download) - annotate - [select for diffs], Tue May 18 03:13:37 1999 UTC (23 years, 8 months ago) by nisimura
Branch: MAIN
Changes since 1.108: +3 -3 lines
Diff to previous 1.108 (colored)

- Forgot to change 'tlbpid' to 'asid'.  But, why does the MIPS TLBmod
handler touch the value anyway?

Revision 1.108 / (download) - annotate - [select for diffs], Sat Apr 24 08:10:42 1999 UTC (23 years, 9 months ago) by simonb
Branch: MAIN
Changes since 1.107: +40 -40 lines
Diff to previous 1.107 (colored)

Nuke register and remove trailling white space.

Revision 1.107 / (download) - annotate - [select for diffs], Wed Mar 24 05:51:05 1999 UTC (23 years, 10 months ago) by mrg
Branch: MAIN
CVS Tags: netbsd-1-4-base, netbsd-1-4-RELEASE, netbsd-1-4-PATCH003, netbsd-1-4-PATCH002, netbsd-1-4-PATCH001, netbsd-1-4
Branch point for: kame, chs-ubc2
Changes since 1.106: +2 -63 lines
Diff to previous 1.106 (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.106 / (download) - annotate - [select for diffs], Tue Mar 23 22:15:36 1999 UTC (23 years, 10 months ago) by simonb
Branch: MAIN
Changes since 1.105: +3 -3 lines
Diff to previous 1.105 (colored)

Include <machine/db_machdep.h> instead of <mips/db_machdep.h>.

Revision 1.105 / (download) - annotate - [select for diffs], Thu Mar 18 04:56:02 1999 UTC (23 years, 10 months ago) by chs
Branch: MAIN
Changes since 1.104: +12 -3 lines
Diff to previous 1.104 (colored)

if uvm_fault() fails with KERN_RESOURCE_SHORTAGE, send a SIGKILL
and print a message about it.  this will be used to recover from
out-of-swap conditions.

Revision 1.104 / (download) - annotate - [select for diffs], Fri Mar 5 22:18:07 1999 UTC (23 years, 11 months ago) by mhitch
Branch: MAIN
Changes since 1.103: +4 -4 lines
Diff to previous 1.103 (colored)

Remove a couple of 'XXX MIPS3?' comments in the tlbmod exeception handling -
I now know what it's doing, and it is correct for MIPS3.

Revision 1.103 / (download) - annotate - [select for diffs], Sat Feb 27 02:54:05 1999 UTC (23 years, 11 months ago) by jonathan
Branch: MAIN
Changes since 1.102: +2 -11 lines
Diff to previous 1.102 (colored)

Define  C structures (struct kernframe, struct trapframe)
for kernel-to-user trapframe.  Use C structs in genassym.cf.

Revision 1.102 / (download) - annotate - [select for diffs], Fri Jan 29 02:18:42 1999 UTC (24 years ago) by nisimura
Branch: MAIN
Changes since 1.101: +3 -3 lines
Diff to previous 1.101 (colored)

- Forgot to replace a stub of 'eret' instruction with correct value.

Revision 1.101 / (download) - annotate - [select for diffs], Sat Jan 16 08:48:06 1999 UTC (24 years ago) by nisimura
Branch: MAIN
Changes since 1.100: +4 -4 lines
Diff to previous 1.100 (colored)

- Never use an uninitialized variable.

Revision 1.100 / (download) - annotate - [select for diffs], Sat Jan 16 03:31:49 1999 UTC (24 years ago) by nisimura
Branch: MAIN
Changes since 1.99: +17 -10 lines
Diff to previous 1.99 (colored)

- Clarify how inimplemented FP instruction traps are handled.

Revision 1.99 / (download) - annotate - [select for diffs], Fri Jan 15 01:23:15 1999 UTC (24 years ago) by castor
Branch: MAIN
Changes since 1.98: +277 -689 lines
Diff to previous 1.98 (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.98 / (download) - annotate - [select for diffs], Wed Jan 6 04:11:29 1999 UTC (24 years, 1 month ago) by nisimura
Branch: MAIN
Changes since 1.97: +79 -124 lines
Diff to previous 1.97 (colored)

- Complete vm_offset_t purge for mips processor.
- bzero() -> memset() and bcopy() -> memcpy().
- Garbage collection in trap.c and db_interface.c.

Revision 1.97 / (download) - annotate - [select for diffs], Fri Dec 4 04:35:44 1998 UTC (24 years, 2 months ago) by nisimura
Branch: MAIN
CVS Tags: kenh-if-detach-base, kenh-if-detach
Changes since 1.96: +78 -79 lines
Diff to previous 1.96 (colored)

- Fix and improve confusing indentations inside trap().
- Don't make a reference of curproc when it has NULL value.  It causes
double fault upon a fatal panic ocation.
- Macro FETCH_INSTRUCTION() took a value of address 0.
-

Revision 1.93.2.6 / (download) - annotate - [select for diffs], Fri Nov 20 15:02:06 1998 UTC (24 years, 2 months ago) by drochner
Branch: nisimura-pmax-wscons
Changes since 1.93.2.5: +3 -3 lines
Diff to previous 1.93.2.5 (colored) to branchpoint 1.93 (colored) next main 1.94 (colored)

fix egcs warning

Revision 1.93.2.5 / (download) - annotate - [select for diffs], Mon Nov 16 10:41:34 1998 UTC (24 years, 2 months ago) by nisimura
Branch: nisimura-pmax-wscons
Changes since 1.93.2.4: +101 -100 lines
Diff to previous 1.93.2.4 (colored) to branchpoint 1.93 (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.93.2.4 / (download) - annotate - [select for diffs], Sun Nov 15 16:20:49 1998 UTC (24 years, 2 months ago) by drochner
Branch: nisimura-pmax-wscons
Changes since 1.93.2.3: +10 -14 lines
Diff to previous 1.93.2.3 (colored) to branchpoint 1.93 (colored)

sync to trunk (page modified bit handling, needed for UVM)

Revision 1.96 / (download) - annotate - [select for diffs], Sun Nov 15 02:34:37 1998 UTC (24 years, 2 months ago) by mhitch
Branch: MAIN
Changes since 1.95: +10 -14 lines
Diff to previous 1.95 (colored)

Change page modification emulation:  don't fiddle with VM flags directly.
Track page modification status in the PV entry like the alpha, and let
pmap_is_modified() return current status back to the VM system.  UVM now
works reliably.

Garbage collect the old pmap_attribute[] stuff.

Revision 1.93.2.3 / (download) - annotate - [select for diffs], Sat Nov 14 15:49:05 1998 UTC (24 years, 2 months ago) by drochner
Branch: nisimura-pmax-wscons
Changes since 1.93.2.2: +6 -7 lines
Diff to previous 1.93.2.2 (colored) to branchpoint 1.93 (colored)

fix egcs warnings
kdbpeek() prototype cleanup, ala PR port-mips/5252

Revision 1.95 / (download) - annotate - [select for diffs], Wed Nov 11 06:41:27 1998 UTC (24 years, 3 months ago) by thorpej
Branch: MAIN
Changes since 1.94: +5 -5 lines
Diff to previous 1.94 (colored)

Changes to support fork_kthread():
- cpu_set_kpc() now takes void *arg third argument, passed to the
  entry point.
- cpu_fork() allows parent to be non-curproc iff parent is proc0.
  When forking non-curproc, assume its state has already been saved.
- Adjust various pieces of machine-dependent code to account of all of this.

Revision 1.93.2.2 / (download) - annotate - [select for diffs], Fri Oct 30 08:33:36 1998 UTC (24 years, 3 months ago) by nisimura
Branch: nisimura-pmax-wscons
Changes since 1.93.2.1: +2 -3 lines
Diff to previous 1.93.2.1 (colored) to branchpoint 1.93 (colored)

- Make pm.c monochrome-aware and compilable with UVM.
- Make trap.c compilable with UVM.
- Place #ifdef _KERNEL guard in cpu.h
- Make asm.h more MIPS standard-alike while retaining current definitions.

Revision 1.94 / (download) - annotate - [select for diffs], Sat Oct 24 01:36:09 1998 UTC (24 years, 3 months ago) by jonathan
Branch: MAIN
CVS Tags: chs-ubc-base, chs-ubc
Changes since 1.93: +2 -3 lines
Diff to previous 1.93 (colored)

Cleanup kdbpeek() definition as noted in PR port-mips/5252.

Revision 1.93.2.1 / (download) - annotate - [select for diffs], Thu Oct 15 03:16:48 1998 UTC (24 years, 3 months ago) by nisimura
Branch: nisimura-pmax-wscons
Changes since 1.93: +198 -426 lines
Diff to previous 1.93 (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.93 / (download) - annotate - [select for diffs], Thu Oct 1 00:42:38 1998 UTC (24 years, 4 months ago) by jonathan
Branch: MAIN
CVS Tags: nisimura-pmax-wscons-base
Branch point for: nisimura-pmax-wscons
Changes since 1.92: +3 -3 lines
Diff to previous 1.92 (colored)

More patches for ARC from Noriyuki Soda:
  * commit isapnpvar.h changes required for ARC to support plain isa.
  * fixup mistake over mips/include/cpuregs.h.
  * mips/mips_machdep.c:
     set L2 cache-size for arc, cleanup use of L2cache present
     vs L2 cache-size variables. check for no L2 cache on kernels
     configured to require one. misc cleanups.
  * mips/mpis/trap.c: more locore stack-traceback  label cleanup.
XXX  Locore callbacks for mips3, mips4, r4600 cacheflush need more work.

Revision 1.92 / (download) - annotate - [select for diffs], Fri Sep 11 16:46:34 1998 UTC (24 years, 5 months ago) by jonathan
Branch: MAIN
Changes since 1.91: +61 -34 lines
Diff to previous 1.91 (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.91 / (download) - annotate - [select for diffs], Sat Aug 29 16:13:33 1998 UTC (24 years, 5 months ago) by mrg
Branch: MAIN
Changes since 1.90: +6 -4 lines
Diff to previous 1.90 (colored)

register -> int (also fixes egcs warning).  minor KNF nit.

Revision 1.90 / (download) - annotate - [select for diffs], Tue Aug 25 01:55:40 1998 UTC (24 years, 5 months ago) by nisimura
Branch: MAIN
Changes since 1.89: +3 -33 lines
Diff to previous 1.89 (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.89 / (download) - annotate - [select for diffs], Sun Jul 5 22:48:06 1998 UTC (24 years, 7 months ago) by jonathan
Branch: MAIN
CVS Tags: eeh-paddr_t-base, eeh-paddr_t
Changes since 1.88: +3 -2 lines
Diff to previous 1.88 (colored)

defopt NATM.

Revision 1.88 / (download) - annotate - [select for diffs], Sun Jul 5 06:49:06 1998 UTC (24 years, 7 months ago) by jonathan
Branch: MAIN
Changes since 1.87: +3 -2 lines
Diff to previous 1.87 (colored)

defopt NS, NSIP.

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

defopt ISO TPIP.

Revision 1.86 / (download) - annotate - [select for diffs], Sun Jul 5 00:51:11 1998 UTC (24 years, 7 months ago) by jonathan
Branch: MAIN
Changes since 1.85: +4 -2 lines
Diff to previous 1.85 (colored)

defopt INET, NETATALK.

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

defopt DDB.

Revision 1.84 / (download) - annotate - [select for diffs], Thu Jun 25 21:19:15 1998 UTC (24 years, 7 months ago) by thorpej
Branch: MAIN
Changes since 1.83: +3 -2 lines
Diff to previous 1.83 (colored)

defopt KTRACE

Revision 1.83 / (download) - annotate - [select for diffs], Thu Mar 26 09:21:05 1998 UTC (24 years, 10 months ago) by jonathan
Branch: MAIN
Changes since 1.82: +6 -3 lines
Diff to previous 1.82 (colored)

Commit MIPS_INT_MASK_FPU change: use MD symbol to check for pending FPU
interrupts.

Revision 1.82 / (download) - annotate - [select for diffs], Thu Mar 12 05:45:06 1998 UTC (24 years, 11 months ago) by thorpej
Branch: MAIN
Changes since 1.81: +73 -9 lines
Diff to previous 1.81 (colored)

Add support for UVM.

Revision 1.78.2.2 / (download) - annotate - [select for diffs], Tue Feb 24 05:25:56 1998 UTC (24 years, 11 months ago) by mellon
Branch: netbsd-1-3
CVS Tags: 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
Changes since 1.78.2.1: +15 -2 lines
Diff to previous 1.78.2.1 (colored) to branchpoint 1.78 (colored) next main 1.79 (colored)

Pull up 1.80 (wrstuden)

Revision 1.81 / (download) - annotate - [select for diffs], Thu Feb 19 23:10:18 1998 UTC (24 years, 11 months ago) by thorpej
Branch: MAIN
Changes since 1.80: +2 -3 lines
Diff to previous 1.80 (colored)

savectx() is prototyped in <mips/cpu.h>

Revision 1.80 / (download) - annotate - [select for diffs], Thu Feb 5 21:48:23 1998 UTC (25 years ago) by wrstuden
Branch: MAIN
Changes since 1.79: +15 -2 lines
Diff to previous 1.79 (colored)

Add NETATALK support for mips machines. Somehow the NETISR_ATALK code
didn't make it in. Aproved by Jonathan and tested here at Stanford.

While I'm here, add conditional prototypes for clnlintr() and nsintr()
so that NS and ISO will compile correctly.

Revision 1.78.2.1 / (download) - annotate - [select for diffs], Sat Nov 15 00:49:55 1997 UTC (25 years, 2 months ago) by mellon
Branch: netbsd-1-3
CVS Tags: netbsd-1-3-RELEASE, netbsd-1-3-BETA
Changes since 1.78: +4 -4 lines
Diff to previous 1.78 (colored)

Pull rev 1.79 up from trunk (veego)

Revision 1.79 / (download) - annotate - [select for diffs], Thu Nov 13 10:37:52 1997 UTC (25 years, 2 months ago) by veego
Branch: MAIN
Changes since 1.78: +4 -4 lines
Diff to previous 1.78 (colored)

s/NETHER/NARP/ and s/ether.h/arp.h/ for the 'new' arp system.

Revision 1.78 / (download) - annotate - [select for diffs], Fri Oct 17 09:35:02 1997 UTC (25 years, 3 months ago) by jonathan
Branch: MAIN
CVS Tags: netbsd-1-3-base
Branch point for: netbsd-1-3
Changes since 1.77: +8 -5 lines
Diff to previous 1.77 (colored)

Add explicit #include <vm/vm.h> before mips/pte.h is included.

Revision 1.74.2.1 / (download) - annotate - [select for diffs], Sat Aug 23 07:11:24 1997 UTC (25 years, 5 months ago) by thorpej
Branch: marc-pcmcia
Changes since 1.74: +22 -7 lines
Diff to previous 1.74 (colored) next main 1.75 (colored)

Update marc-pcmcia branch from trunk.

Revision 1.77 / (download) - annotate - [select for diffs], Sun Aug 17 17:02:07 1997 UTC (25 years, 5 months ago) by mhitch
Branch: MAIN
CVS Tags: thorpej-signal-base, thorpej-signal, marc-pcmcia-base
Changes since 1.76: +19 -5 lines
Diff to previous 1.76 (colored)

Get $ra contents from the proper location in the exception/interrupt frames.
Use DDB symbols if available for stack traceback.

Revision 1.76 / (download) - annotate - [select for diffs], Sun Aug 10 01:14:49 1997 UTC (25 years, 6 months ago) by jonathan
Branch: MAIN
Changes since 1.75: +4 -5 lines
Diff to previous 1.75 (colored)

Revert syscall interrupt re-enable of previous revision:
introduces a race in trap logging.  Reported by Michael Hitch.

Revision 1.75 / (download) - annotate - [select for diffs], Sat Aug 9 06:06:37 1997 UTC (25 years, 6 months ago) by jonathan
Branch: MAIN
Changes since 1.74: +8 -6 lines
Diff to previous 1.74 (colored)

Fix printf() format strings for VMFAULT_TRACE (see PR port-pmax/3777).

Re-enable interrupts in syscall() before doing anything else; marginal
impprovment (2ms?) in NTP accuracy on 5000/240.

Revision 1.74 / (download) - annotate - [select for diffs], Sat Jul 26 19:46:40 1997 UTC (25 years, 6 months ago) by mhitch
Branch: MAIN
CVS Tags: marc-pcmcia-bp
Branch point for: marc-pcmcia
Changes since 1.73: +6 -5 lines
Diff to previous 1.73 (colored)

Don't rely on curproc to access the current pcb when testing for kernel
faults.  Use curpcb, which always points to the current pcb.  If curproc
was NULL when the kernel faulted, the trap handling would fault recursively
and the kernel stack would overflow.

Revision 1.73 / (download) - annotate - [select for diffs], Sun Jul 20 20:48:42 1997 UTC (25 years, 6 months ago) by jonathan
Branch: MAIN
Changes since 1.72: +4 -7 lines
Diff to previous 1.72 (colored)

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

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

Conditionalize mips1-speciifc locore code on #ifdef MIPS1

Revision 1.71 / (download) - annotate - [select for diffs], Sun Jul 20 03:46:20 1997 UTC (25 years, 6 months ago) by jonathan
Branch: MAIN
Changes since 1.70: +43 -2 lines
Diff to previous 1.70 (colored)

* Do staktcraces back through traps from kernel mode.
* Don't take  stack adjustment inside procedures as frame size
  (e.g.,  8-byte stack adjustment for calling _mcount).

Revision 1.70 / (download) - annotate - [select for diffs], Sat Jul 19 09:54:29 1997 UTC (25 years, 6 months ago) by jonathan
Branch: MAIN
Changes since 1.69: +6 -5 lines
Diff to previous 1.69 (colored)

* Re-apply changes from rev 1.6 of sys/arch/mips/include/reg.h accidentally
  undone by rev 1.7:
  >redo pmax/include/reg.h
  >so that the definitions needed by locore.S are in a separate file,
  >pmax/include/regnum.h.

* Add explicit `#include <mips/regnum.h>'  where symbolic offsets
  into a mips trapframe or struct reg are used..

Revision 1.69 / (download) - annotate - [select for diffs], Mon Jul 7 03:54:38 1997 UTC (25 years, 7 months ago) by jonathan
Branch: MAIN
Changes since 1.68: +57 -50 lines
Diff to previous 1.68 (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.68 / (download) - annotate - [select for diffs], Mon Jun 30 14:42:35 1997 UTC (25 years, 7 months ago) by jonathan
Branch: MAIN
CVS Tags: bouyer-scsipi
Changes since 1.67: +11 -6 lines
Diff to previous 1.67 (colored)

Enable stack tracebacks if MDB is configured.

Revision 1.67 / (download) - annotate - [select for diffs], Sat Jun 28 03:57:55 1997 UTC (25 years, 7 months ago) by mhitch
Branch: MAIN
Changes since 1.66: +7 -911 lines
Diff to previous 1.66 (colored)

Mini-debuuger is now included by options MDB.
Move mini-debugger routines to separate file, minidebug.c.

Revision 1.66 / (download) - annotate - [select for diffs], Mon Jun 23 21:48:28 1997 UTC (25 years, 7 months ago) by mhitch
Branch: MAIN
Changes since 1.65: +90 -91 lines
Diff to previous 1.65 (colored)

Move the mips*_dump_tlb() routines outside the #ifdef so they are always
available.  Used in the locore ktlbmiss/panic to display the TLB contents
that are mapping the kernel stack.

Revision 1.65 / (download) - annotate - [select for diffs], Sun Jun 22 07:43:04 1997 UTC (25 years, 7 months ago) by jonathan
Branch: MAIN
Changes since 1.64: +25 -25 lines
Diff to previous 1.64 (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.64 / (download) - annotate - [select for diffs], Sun Jun 22 03:17:45 1997 UTC (25 years, 7 months ago) by jonathan
Branch: MAIN
Changes since 1.63: +2 -2 lines
Diff to previous 1.63 (colored)

Final changes for configuring MIPS1 and MIPS3 in a single kernel.

  * cpuregs.h:
    rename remaining VMMACH_xxx TLB macros to MIPS_TLB_xxx.
    Add compile-time MIPS3-only, compile-time  MIPS1-only, and
    runtime (both) definitions  for number of TLB ASIDs (tlb pids)
    and shift count to extract a TLB pid.

  * locore.h:
    Delete unused vector slot for indexed TLB writes.
    mips1 and mips3 TLBs are different enough that we have
    to break them out at the caller anyway.

  * Add compile-time MIPS3-only andcompile-time  MIPS1-only
    macros to call locore functions directly by name.
    Use the  existing method table only if

  * mips/mips_machdep.c, mips/trap.c, mips/pmap.c, pmax/machdep.c:
    Use MIPS3_ or MIPS1_ specific names for TLB pids in
    mips3 and mips1 specific code paths (e.g., creating the kernel stack
    for process 0).

Add `options MIPS3' to pmax/conf/GENERIC.

Revision 1.63 / (download) - annotate - [select for diffs], Sat Jun 21 04:18:29 1997 UTC (25 years, 7 months ago) by mhitch
Branch: MAIN
Changes since 1.62: +5 -5 lines
Diff to previous 1.62 (colored)

Restore a lost (int) case in DELAYBRANCH macro - test for BR delay in
unsigned cause register wouldn't have worked.
Add missing ')' in trapdump that shows up when compiled with DEBUG.
Fix (unfix?) previous change to printf formats in mips3_dump_tlb: vad_to_pfn
is now consistant with single-CPU and merged-CPU support.

Revision 1.62 / (download) - annotate - [select for diffs], Fri Jun 20 05:15:36 1997 UTC (25 years, 7 months ago) by jonathan
Branch: MAIN
Changes since 1.61: +5 -4 lines
Diff to previous 1.61 (colored)

trapDump(): compute accurate mask for EXC_CODE from CPU type at runtime.

Revision 1.61 / (download) - annotate - [select for diffs], Tue Jun 17 04:11:33 1997 UTC (25 years, 7 months ago) by mhitch
Branch: MAIN
Changes since 1.60: +3 -3 lines
Diff to previous 1.60 (colored)

Fix printf format/argument mismatches.

Revision 1.60 / (download) - annotate - [select for diffs], Mon Jun 16 23:41:55 1997 UTC (25 years, 7 months ago) by jonathan
Branch: MAIN
Changes since 1.59: +60 -44 lines
Diff to previous 1.59 (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.59 / (download) - annotate - [select for diffs], Mon Jun 16 05:37:39 1997 UTC (25 years, 7 months ago) by jonathan
Branch: MAIN
Changes since 1.58: +7 -6 lines
Diff to previous 1.58 (colored)

Garbage-collect MIPS_3K_xxx, MIPS_4K_xxx  outidde mips/include/cpuregs.h:
    MIPS_3K_xxx ->    MIPS1_xxx
    MIPS_4K_xxx ->    MIPS3_xxx

Revision 1.58 / (download) - annotate - [select for diffs], Mon Jun 16 03:29:26 1997 UTC (25 years, 7 months ago) by jonathan
Branch: MAIN
Changes since 1.57: +4 -3 lines
Diff to previous 1.57 (colored)

GC more old header files:
    <machine/locore.h> -> <mips/locore.h>
    <machine/mips_opcode.h> -> <mips/mips_opcode..h>

Revision 1.57 / (download) - annotate - [select for diffs], Sun Jun 15 17:49:53 1997 UTC (25 years, 7 months ago) by mhitch
Branch: MAIN
Changes since 1.56: +1576 -709 lines
Diff to previous 1.56 (colored)

From Toru Nishimura:  exception trapframe changes, separate out syscall
processing from generic trap processing,  _FORKBRAINDAMAGE is gone -
user process entered through proc_trampoline(), mini-debugger from pica
port.
More merged MIPS1/MIPS3 support for DECstations.

Revision 1.56 / (download) - annotate - [select for diffs], Sun Jun 15 01:08:19 1997 UTC (25 years, 7 months ago) by jonathan
Branch: MAIN
Changes since 1.55: +9 -19 lines
Diff to previous 1.55 (colored)

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

Revision 1.55 / (download) - annotate - [select for diffs], Sun May 25 10:01:38 1997 UTC (25 years, 8 months ago) by jonathan
Branch: MAIN
Changes since 1.54: +2 -2 lines
Diff to previous 1.54 (colored)

Add parens where requested by gcc -Wall.

Revision 1.54 / (download) - annotate - [select for diffs], Sun May 25 09:56:48 1997 UTC (25 years, 8 months ago) by jonathan
Branch: MAIN
Changes since 1.53: +2 -2 lines
Diff to previous 1.53 (colored)

Rename cpu_singlstep() to mips_singlestep() and add prototype.
(it's not part of the standard interface to MD code.)

XXX Consider moving into process_machdep.c when the mips3 changes are merged.

Revision 1.53 / (download) - annotate - [select for diffs], Sat May 24 08:49:22 1997 UTC (25 years, 8 months ago) by jonathan
Branch: MAIN
Changes since 1.52: +10 -1 lines
Diff to previous 1.52 (colored)

lint: add prototypes  for interrupt(), softintr(), pppintr().

Revision 1.52 / (download) - annotate - [select for diffs], Sun May 18 17:31:54 1997 UTC (25 years, 8 months ago) by mhitch
Branch: MAIN
Changes since 1.51: +3 -3 lines
Diff to previous 1.51 (colored)

Eliminate vm_pmap.

Revision 1.51 / (download) - annotate - [select for diffs], Sat Mar 15 18:10:10 1997 UTC (25 years, 10 months ago) by is
Branch: MAIN
Changes since 1.50: +2 -2 lines
Diff to previous 1.50 (colored)

New ARP system, supports IPv4 over any hardware link.

Some of the stuff (e.g., rarpd, bootpd, dhcpd etc., libsa) still will
only support Ethernet. Tcpdump itself should be ok, but libpcap needs
lot of work.

For the detailed change history, look at the commit log entries for
the is-newarp branch.

Revision 1.50.6.1 / (download) - annotate - [select for diffs], Mon Mar 10 16:08:32 1997 UTC (25 years, 11 months ago) by is
Branch: is-newarp
Changes since 1.50: +2 -2 lines
Diff to previous 1.50 (colored) next main 1.51 (colored)

netinet/if_ether.h => netinet/if_inarp.h

Revision 1.50 / (download) - annotate - [select for diffs], Sun Oct 13 21:37:49 1996 UTC (26 years, 3 months ago) by jonathan
Branch: MAIN
CVS Tags: thorpej-setroot, mrg-vm-swap, is-newarp-before-merge, is-newarp-base
Branch point for: is-newarp
Changes since 1.49: +181 -177 lines
Diff to previous 1.49 (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.49 / (download) - annotate - [select for diffs], Sun Oct 13 09:54:39 1996 UTC (26 years, 3 months ago) by jonathan
Branch: MAIN
Changes since 1.48: +2 -2 lines
Diff to previous 1.48 (colored)

Add (missing) PAGE_IS_RDONLY() macro to test for readonly pages,
in both mips-I and mips-II versions, and use it in arch/mips/mips/trap.c.

Revision 1.48 / (download) - annotate - [select for diffs], Sun Oct 13 09:29:07 1996 UTC (26 years, 3 months ago) by jonathan
Branch: MAIN
Changes since 1.47: +9 -5 lines
Diff to previous 1.47 (colored)

Merge mips1 and mips3 pte/pmap code, pass 0;
    * Move mips-I pte (TLBlo) definitions from pmax/include/pte.h
      to mips/include/mips1_pte.h

    * Move mips-III pte (TLBlo) definitions from  pica/include/pte.h
      to mips/include/mips3_pte.h

    * Add new mips/include/pte.h, which includes exactly one of
      mips1_pte.h or mips3_pte.h (which still have namespace collisions),
      depending on "options MIPS1" or "options MIPS3". (hack).
      Move soft kvtopte(), ptetovk() definitions to mips/include/pte.h

    * Add macro PTE_TO_PADDR() to hide the different hardware TLB formats
      when mapping from pte to physical address.

   * Add macro PTE_READONLY() to hide lack of SW read-only bit in mips-III
     tlb. (mips1 pmap uses a sw bit in the PTE, mips3 looks up RO bit in
     the kernel pmap.)

   * Use macros (not direct TLB frobbing) in mips/trap.c, to make it
     mips-1/mips-III indepenndet.

    * Change {pmax,pica}/include/pte.h to just do #include <mips/pte.h>.

Revision 1.47 / (download) - annotate - [select for diffs], Sun Oct 13 07:09:33 1996 UTC (26 years, 3 months ago) by jonathan
Branch: MAIN
Changes since 1.46: +16 -10 lines
Diff to previous 1.46 (colored)

Fix stack traceback code for merged mips1/mips3 support:

add catch-all case, with distinct mips1 and mips3 ranges for locore
entry points,  cases to catch othewise-unknown locore entrypoints and
vector code (which have special entry sequences and require special
support to trace through).   The relevant mips1 and mips3 functions are
of course now distinct.

Revision 1.46 / (download) - annotate - [select for diffs], Sun Oct 13 05:14:35 1996 UTC (26 years, 3 months ago) by jonathan
Branch: MAIN
Changes since 1.45: +13 -4 lines
Diff to previous 1.45 (colored)

Merge low-level mips trap handling and move to arch/mips/mips/trap.c.

Revision 1.45 / (download) - annotate - [select for diffs], Sun Oct 13 03:39:56 1996 UTC (26 years, 3 months ago) by christos
Branch: MAIN
Changes since 1.44: +17 -17 lines
Diff to previous 1.44 (colored)

backout previous kprintf change

Revision 1.44 / (download) - annotate - [select for diffs], Fri Oct 11 00:45:20 1996 UTC (26 years, 4 months ago) by christos
Branch: MAIN
Changes since 1.43: +17 -17 lines
Diff to previous 1.43 (colored)

printf -> kprintf, sprintf -> ksprintf

Revision 1.43 / (download) - annotate - [select for diffs], Mon Oct 7 11:20:53 1996 UTC (26 years, 4 months ago) by jonathan
Branch: MAIN
Changes since 1.42: +21 -8 lines
Diff to previous 1.42 (colored)

Merge back MIPS3 locore stack-traceback code.

Revision 1.42 / (download) - annotate - [select for diffs], Mon Oct 7 02:17:33 1996 UTC (26 years, 4 months ago) by jonathan
Branch: MAIN
Changes since 1.41: +14 -13 lines
Diff to previous 1.41 (colored)

Use "MIPS1" and "MIPS3" as preprocessor tokens to select {config,compile}-time
support for mips-1 (r2000 family) and mips-3 (r4000 family) CPUs.
Avoids inconsistent use of CPU_R2000 and CPU_R3000.

Revision 1.37.2.3 / (download) - annotate - [select for diffs], Thu Sep 19 05:44:28 1996 UTC (26 years, 4 months ago) by thorpej
Changes since 1.37.2.2: +11 -14 lines
Diff to previous 1.37.2.2 (colored) next main 1.38 (colored)

Pull up changes between revs 1.40 and 1.41 (a critical bug fix) by
request from Jonathan Stone.  Log message:

>revision 1.41
>date: 1996/09/18 11:16:20;  author: jonathan;  state: Exp;  lines: +11 -14
>Fix for problem report port-pmax/2173: the  local variable "inst"
>in the branch-emulation  code was uninitialized, due to a misplaced #endif.
>
>Remove the relevant #ifdef (macro version of GetBranchDest), and move the
>XXX note about r4000 branch targets to the  function definition.

Revision 1.41 / (download) - annotate - [select for diffs], Wed Sep 18 11:16:20 1996 UTC (26 years, 4 months ago) by jonathan
Branch: MAIN
Changes since 1.40: +11 -14 lines
Diff to previous 1.40 (colored)

Fix for problem report port-pmax/2173: the  local variable "inst"
in the branch-emulation  code was uninitialized, due to a misplaced #endif.

Remove the relevant #ifdef (macro version of GetBranchDest), and move the
XXX note about r4000 branch targets to the  function definition.

Revision 1.37.2.2 / (download) - annotate - [select for diffs], Mon Sep 9 20:39:56 1996 UTC (26 years, 5 months ago) by thorpej
Changes since 1.37.2.1: +3 -1 lines
Diff to previous 1.37.2.1 (colored)

Pullup diffs between revs 1.38 and 1.39, by request from Jonathan Stone.
Log message:

revision 1.39
date: 1996/08/09 05:11:02;  author: mhitch;  state: Exp;  lines: +3 -1
Add missing #include of "ppp.h" to get definition of NPPP so that the
pppintr() call is actually included.  This fixes ppp so that it actually
works again.

Revision 1.40 / (download) - annotate - [select for diffs], Sat Sep 7 22:26:55 1996 UTC (26 years, 5 months ago) by mycroft
Branch: MAIN
Changes since 1.39: +3 -3 lines
Diff to previous 1.39 (colored)

Use SIGBUS iff we get a legitimate bus fault.  Use SIGSEGV for page protection
violations (per Solaris, SVR4, AIX, Linux, Irix, and SunOS).

Revision 1.39 / (download) - annotate - [select for diffs], Fri Aug 9 05:11:02 1996 UTC (26 years, 6 months ago) by mhitch
Branch: MAIN
Changes since 1.38: +3 -1 lines
Diff to previous 1.38 (colored)

Add missing #include of "ppp.h" to get definition of NPPP so that the
pppintr() call is actually included.  This fixes ppp so that it actually
works again.

Revision 1.38 / (download) - annotate - [select for diffs], Mon Jun 17 07:55:13 1996 UTC (26 years, 7 months ago) by jonathan
Branch: MAIN
Changes since 1.37: +2 -3 lines
Diff to previous 1.37 (colored)

Move cpu_singlestep outside of #ifdef DEBUG/#endif;  the  process-tracing code
in  mips/mips/process_machdep.c (erroneously) calls cpu_singlestep().

Revision 1.37.2.1 / (download) - annotate - [select for diffs], Mon Jun 17 07:49:51 1996 UTC (26 years, 7 months ago) by jonathan
Changes since 1.37: +2 -3 lines
Diff to previous 1.37 (colored)

Move cpu_singlestep outside of #ifdef DEBUG/#endif;  the  process-tracing code
in  mips/mips/process_machdep.c (erroneous) calls cpu_singlestep().

Revision 1.37 / (download) - annotate - [select for diffs], Mon May 20 23:24:00 1996 UTC (26 years, 8 months ago) by jonathan
Branch: MAIN
Changes since 1.36: +28 -8 lines
Diff to previous 1.36 (colored)

Check that either CPU_R3000 or CPU_R4000 is defined. Fix the r3k/r2k
symbolic lookup of the CPU-level specific locore entry points to use the
r2k, not the r4k, labels.

Include header files to get prototyped declarations of ipintr() and arpintr().
Remove unused variables and parenthesize assignments in if () expressions.

Gcc warns of a possible && vs || operator-precedence bug in the network
softint dispatch code, which needs more thought.

Revision 1.36 / (download) - annotate - [select for diffs], Sun May 19 17:58:20 1996 UTC (26 years, 8 months ago) by jonathan
Branch: MAIN
Changes since 1.35: +2 -2 lines
Diff to previous 1.35 (colored)

Update the DECstation stack-traceback pretty-printer, KN01 interrupt handler,
and IOCTL ASIC dma-buffer-reservation code to use the reorganized am7990
preprocessor tokens and function names.

Revision 1.35 / (download) - annotate - [select for diffs], Sun May 19 01:54:49 1996 UTC (26 years, 8 months ago) by jonathan
Branch: MAIN
Changes since 1.34: +234 -89 lines
Diff to previous 1.34 (colored)

Include <machine/locore.h>, to force all MIPS cpu-model specific
locore calls to go via a locore-entry jumptable.

Declare  r2000- and r4000-specific exception-handler functions, to which
trap() and interrupt() dispatch exceptions. Initialize r2000- and r4000-
specific exception-handler vectors, when CPU_R4000 and CPU_R2000 are
defined.

Update the stack-traceback code (partially) to understand and print
the new low-level exception-handler code, via which machine exception-vectors
send exceptions to call trap() or interrupt(). This needs  more work.

Revision 1.34 / (download) - annotate - [select for diffs], Sun Mar 31 03:38:41 1996 UTC (26 years, 10 months ago) by jonathan
Branch: MAIN
Changes since 1.33: +74 -26 lines
Diff to previous 1.33 (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.33 / (download) - annotate - [select for diffs], Mon Mar 25 06:44:17 1996 UTC (26 years, 10 months ago) by jonathan
Branch: MAIN
Changes since 1.32: +21 -782 lines
Diff to previous 1.32 (colored)

Split trap handler into mips-generic and port-specific functions:

* Delete pmax-specific functions and declarations from trap.c

* Delete mips-geeneric functions and declaratinos from pmax_trap.c

* Rename the function pointer used to handle hardware interrupts to
 "mips_hardware_intr".  Define it in trap.c. Change references elsewhere,
  including machdep.c.

Verified to boot on a 5000/200.

Revision 1.32 / (download) - annotate - [select for diffs], Mon Mar 25 05:55:30 1996 UTC (26 years, 10 months ago) by jonathan
Branch: MAIN
Changes since 1.31: +127 -25 lines
Diff to previous 1.31 (colored)

Copy src/sys/arch/pmax/pmax/trap.c to pmax_trap.c.
trap.c will contain the port-independent mips trap-handling functions.
pmax_trap.h will contain the pmax-specific interrupt handlers.

Revision 1.31 / (download) - annotate - [select for diffs], Mon Mar 25 03:18:15 1996 UTC (26 years, 10 months ago) by jonathan
Branch: MAIN
Changes since 1.30: +43 -5 lines
Diff to previous 1.30 (colored)

Force reporting of memory errors for the 3MAX (aka kn02 aka 5000/200) to
always be eight digits.
Copy the kn02 memory-interrupt reporting function to the kn03 (5k/240)
memory-error handler, since the 3MAXPLUS seems to use the same ECC hardware
as the 3MAX.

Revision 1.30 / (download) - annotate - [select for diffs], Sun Mar 17 22:12:13 1996 UTC (26 years, 10 months ago) by jonathan
Branch: MAIN
Changes since 1.29: +7 -7 lines
Diff to previous 1.29 (colored)

Additional fixes to complete the NetBSD/1.1B config changes:

Update the kn01 (3100 aka pmax) interrupt handler to use XXX_cd instead
of XXXcd.

Revision 1.29 / (download) - annotate - [select for diffs], Tue Feb 6 00:13:04 1996 UTC (27 years ago) by jonathan
Branch: MAIN
Changes since 1.28: +2 -2 lines
Diff to previous 1.28 (colored)

Change last argument of ktrsysret() call: pass rval[0], not rval, as
ktrsysret() expects.   Tracing of  rval[1] remains an open problem.

Revision 1.28 / (download) - annotate - [select for diffs], Sun Feb 4 20:14:17 1996 UTC (27 years ago) by jonathan
Branch: MAIN
Changes since 1.27: +90 -40 lines
Diff to previous 1.27 (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.27 / (download) - annotate - [select for diffs], Fri Feb 2 18:07:59 1996 UTC (27 years ago) by mycroft
Branch: MAIN
Changes since 1.26: +5 -5 lines
Diff to previous 1.26 (colored)

Fix #includes.

Revision 1.26 / (download) - annotate - [select for diffs], Wed Jan 31 08:47:00 1996 UTC (27 years ago) by jonathan
Branch: MAIN
Changes since 1.25: +2 -2 lines
Diff to previous 1.25 (colored)

Resolve pmax and alpha IOCTL asic driver differences, pass 1:

Rename the ioctl asic register and slot macros from ASIC_<xxx> to
IOASIC_<xxx>, to be compatible with the machine-indpendent names in
sys/dev/tc/ioasicvar.h.  The pmax code still uses
sys/arch/pmax/pmax/asic.h, as some of the registers and offsets
defined there are not yet defined in sys/dev/tc/ioasicvar.h.

Rename the ioctl asic base-address pointer from `asic_base' to `ioasic_base'.

Revision 1.25 / (download) - annotate - [select for diffs], Mon Jan 29 22:52:35 1996 UTC (27 years ago) by jonathan
Branch: MAIN
Changes since 1.24: +52 -8 lines
Diff to previous 1.24 (colored)

Re-write Decstation turbochannel autoconfiguration code to use the machine-
independent TC support in sys/dev/tc/tc.c and sys/dev/tc/tcvar.h:
  * Change the tc autoconfiguration tables to use a struct tc_attach_args
    instead of the ad-hoc structure.
  * Change all pmax device drivers to use a `struct confargs' that's
    assignment-compatible with  sys/dev/tc/tcvar.h `struct tcdev_attach_args'.
    Devices that can be present on a TC or as ioctl asic/mainbus builtins
    use  the same `struct confargs'.
  * Eliminate the `BUS_CVTADDR()' macros which the pmax port inherited from
    an old, now-obsolete sys/arch/alpha snapshot.

  * Update the comments and debugging code in interrupt handlers to
    be consistent with the machine-independent TC support.

Other commits that overlap the same source files include: re-enabling
clock-tick interrupts earlier, and counting hardclock ticks for vmstat -i.

Revision 1.24 / (download) - annotate - [select for diffs], Thu Dec 28 16:22:41 1995 UTC (27 years, 1 month ago) by jonathan
Branch: MAIN
Changes since 1.23: +5 -2 lines
Diff to previous 1.23 (colored)

Change MachEmulateBranch() to be able to read an insn from user space.
Kernel-debugger breakpoints in user space, or FP insns that cause
underflow in a delay slot, should now work properly. Single-stepping
of arbitrary user processes, from user level, should be added.

Revision 1.23 / (download) - annotate - [select for diffs], Mon Sep 11 22:03:00 1995 UTC (27 years, 5 months ago) by jonathan
Branch: MAIN
Changes since 1.22: +46 -29 lines
Diff to previous 1.22 (colored)

Rename the Decstation 2100/3100 interrupt functions from "pmax_<func>"
to "kn01_<func>", to avoid confounding a model name (PMAX) with the name of the
entire port (pmax).


Change the signature of interrupt-handlers to take a void *
(a pointer to the softc) and return an int (indicating spurious
interrupts or other conditions.)

Pass softc pointers to the scsi and ethernet kn01 (DS_PMAX)  drivers,
rather than having unit numbers wired into the base-level interrupt
handler.

Revision 1.22 / (download) - annotate - [select for diffs], Tue Aug 1 06:58:57 1995 UTC (27 years, 6 months ago) by jonathan
Branch: MAIN
Changes since 1.21: +70 -29 lines
Diff to previous 1.21 (colored)

Add prototypes for most functions.  Fix  typo where statements
intended to increment interrupt counters for vmstat -i (i.e., "ctr++")
on 3100s had just a single "+", and hence had no effect.

Revision 1.21 / (download) - annotate - [select for diffs], Sun Jul 23 20:21:17 1995 UTC (27 years, 6 months ago) by jonathan
Branch: MAIN
Changes since 1.20: +34 -9 lines
Diff to previous 1.20 (colored)

Add diagnostics for 5k/240 turbochannel interrupts, and clean up IOASIC clock
declarations.

Revision 1.20 / (download) - annotate - [select for diffs], Tue Jul 4 12:22:21 1995 UTC (27 years, 7 months ago) by paulus
Branch: MAIN
Changes since 1.19: +9 -1 lines
Diff to previous 1.19 (colored)

Add code to interrupt to call pppintr.

Revision 1.19 / (download) - annotate - [select for diffs], Fri May 12 23:27:23 1995 UTC (27 years, 9 months ago) by jonathan
Branch: MAIN
Changes since 1.18: +2 -8 lines
Diff to previous 1.18 (colored)

Redo 3MAX+ (5k/240) interrupt enable code.

Instead of being a no-op, kn03_intr_enable() sets the sw copy of the
interrupt-enable mask *and* writes it into the IO asic intr-enable
register.  Boot code sets the sw copy (kn03_tc_imask) to something
sane (KN03_IM0, with tc option slots turned off).  Tested and works.
Interrupt code for other IOASIC machines should be redone so that
interrupts for devices are enabled by drivers, rather than by
cpu-specific boot code.  Functions common to all IOASIC machines
(PSWARN?) should be done by asic_init().

Checked in without the above changes so that 3MAX+, MAXINE and 3MIN
interrupt-(enable,handle) can converge.

Revision 1.18 / (download) - annotate - [select for diffs], Fri May 5 06:48:54 1995 UTC (27 years, 9 months ago) by mellon
Branch: MAIN
Changes since 1.17: +58 -35 lines
Diff to previous 1.17 (colored)

Fix MAXine interrupt mask routine

Revision 1.17 / (download) - annotate - [select for diffs], Tue May 2 19:51:52 1995 UTC (27 years, 9 months ago) by jonathan
Branch: MAIN
Changes since 1.16: +5 -2 lines
Diff to previous 1.16 (colored)

If we panic inside trap(), Do a stack traceback before printing the trap log.
Also change the stack-traceback code to avoid having multiple returns
(and thus multiple stack pops) because with gcc -O2 that breaks the
heuristic that a "jr ra" preceding the PC precedes code to push the
current stack frame.  Which breaks stacktrace() before it even
traces past itself :-(.  Use a goto instead.

Revision 1.16 / (download) - annotate - [select for diffs], Sat Apr 29 21:10:31 1995 UTC (27 years, 9 months ago) by jonathan
Branch: MAIN
Changes since 1.15: +162 -26 lines
Diff to previous 1.15 (colored)

Update MIPS stack backtrace code to trace through locore functions,
traps, and interrupts  The earlier (4.4bsd) code didn't do the first two, and
got the last one wrong.  Also print some functions (e.g., trap handlers)
by name.  Add hook to use something other than printf() as the output
function, e.g,. for kernel debugging.
Tested with the `native' toolset, but not ELF format kernels.
(i.e., unwinding the $GP register is not tested.)

The stack backtrace code that interprets and unwinds stackframes is still
opaque and stylistically awkward.

Revision 1.15 / (download) - annotate - [select for diffs], Fri Apr 28 22:50:29 1995 UTC (27 years, 9 months ago) by jonathan
Branch: MAIN
Changes since 1.14: +6 -5 lines
Diff to previous 1.14 (colored)

Check in source code actually containing changes in previous log message--
fixes to turbochannel-based DECstation interrupt enabling.
(I hate network firewalls that break rsh and remote CVS.)

Revision 1.14 / (download) - annotate - [select for diffs], Fri Apr 28 21:48:11 1995 UTC (27 years, 9 months ago) by jonathan
Branch: MAIN
Changes since 1.13: +65 -21 lines
Diff to previous 1.13 (colored)

Fix hardware interrupt-mask setup in the 5k/240 (3max)+ interrupt handler.
(A similar fix needs to be applied to the 3min and xine handlers.
This fixes a long-standing problem when booting with a card that
wants to interrupt (e.g., a network interface) would have interrupts
enabled before a handler was set up.

Add interrupt-counting code to model-independent interrupt handler,
and 3max (5k/200) and 3max+ (5k/240) md handlers, for vmstat -i.
Similar changes for 3min and xine are obvious but not done.

Add  code for 5k/240 to read, and latch, the current value of the
IOASIC bus-cycle counter at each timer interrupt.  The latched
counter is needed to accurately interpolate the bus-cycle counter value
as a high-resolution clock.

Revision 1.13 / (download) - annotate - [select for diffs], Tue Apr 25 19:16:43 1995 UTC (27 years, 9 months ago) by mellon
Branch: MAIN
Changes since 1.12: +6 -14 lines
Diff to previous 1.12 (colored)

Fix a few compat code casualties

Revision 1.12 / (download) - annotate - [select for diffs], Tue Apr 25 05:30:14 1995 UTC (27 years, 9 months ago) by mellon
Branch: MAIN
Changes since 1.11: +16 -11 lines
Diff to previous 1.11 (colored)

Fix up args to scdebug_{call,ret}

Revision 1.11 / (download) - annotate - [select for diffs], Sat Apr 22 20:28:14 1995 UTC (27 years, 9 months ago) by christos
Branch: MAIN
Changes since 1.10: +17 -111 lines
Diff to previous 1.10 (colored)

- added sunos_machdep.c for sun3, atari, amiga and mac68k.
- changed machdep.c and trap.c to use struct emul.
- remove ep_setup references.
- added struct emul to all emulations.

Revision 1.10 / (download) - annotate - [select for diffs], Sun Mar 26 08:04:12 1995 UTC (27 years, 10 months ago) by cgd
Branch: MAIN
Changes since 1.9: +4 -5 lines
Diff to previous 1.9 (colored)

invoke ktrsyscall with (vp, code, argsize, args) as args.

Revision 1.9 / (download) - annotate - [select for diffs], Wed Jan 18 06:51:46 1995 UTC (28 years ago) by mellon
Branch: MAIN
Changes since 1.8: +11 -8 lines
Diff to previous 1.8 (colored)

Ultrix pcb_regs compatibility, reorder interrupt handlers (probably futile), use new callv naming

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

new RCS ID format.

Revision 1.7 / (download) - annotate - [select for diffs], Thu Oct 20 05:34:11 1994 UTC (28 years, 3 months ago) by cgd
Branch: MAIN
Changes since 1.6: +9 -5 lines
Diff to previous 1.6 (colored)

update for new syscall args description mechanism

Revision 1.6 / (download) - annotate - [select for diffs], Wed Jun 15 05:18:53 1994 UTC (28 years, 7 months ago) by glass
Branch: MAIN
Changes since 1.5: +100 -4 lines
Diff to previous 1.5 (colored)

much works but untested w/new fs.  expect more tomorrow

Revision 1.5 / (download) - annotate - [select for diffs], Thu Jun 2 06:15:08 1994 UTC (28 years, 8 months ago) by glass
Branch: MAIN
Changes since 1.4: +9 -5 lines
Diff to previous 1.4 (colored)

fix a few integration bugs, add vmfault debugging, more ultrix stuff

Revision 1.4 / (download) - annotate - [select for diffs], Fri May 27 09:04:15 1994 UTC (28 years, 8 months ago) by glass
Branch: MAIN
Changes since 1.3: +10 -6 lines
Diff to previous 1.3 (colored)

bsd 4.4-lite pmax port as ported to NetBSD

Revision 1.3 / (download) - annotate - [select for diffs], Fri May 27 08:42:21 1994 UTC (28 years, 8 months ago) by glass
Branch: MAIN
CVS Tags: bsd44-lite
Changes since 1.2: +169 -264 lines
Diff to previous 1.2 (colored)

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

Revision 1.2 / (download) - annotate - [select for diffs], Sun Jan 16 00:49:47 1994 UTC (29 years ago) by deraadt
Branch: MAIN
CVS Tags: pre-bsd44
Changes since 1.1: +10 -6 lines
Diff to previous 1.1 (colored)

use SYS_syscall instead of SYS_indir
and turn off the 64 bit syscall interface

Revision 1.1.1.1 / (download) - annotate - [select for diffs] (vendor branch), Tue Oct 12 03:22:31 1993 UTC (29 years, 4 months ago) by deraadt
Branch: pmax-base
CVS Tags: pmax-initial-import
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:30 1993 UTC (29 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>