The NetBSD Project

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

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

Request diff between arbitrary revisions


Keyword substitution: kv
Default branch: MAIN


Revision 1.166: download - view: text, markup, annotated - select for diffs
Sat Feb 25 08:41:37 2023 UTC (2 years, 2 months ago) by skrll
Branches: MAIN
CVS tags: thorpej-ifq-base, thorpej-ifq, thorpej-altq-separation-base, thorpej-altq-separation, perseant-exfatfs-base-20240630, perseant-exfatfs-base, perseant-exfatfs, HEAD
Diff to: previous 1.165: preferred, colored
Changes since revision 1.165: +5 -5 lines
Convert some assignments into KASSERTs.

l_md is zeroised by lwp_create with

         memset(&l2->l_startzero, 0, sizeof(*l2) -
                    offsetof(lwp_t, l_startzero));

Revision 1.165: download - view: text, markup, annotated - select for diffs
Thu Sep 29 07:00:46 2022 UTC (2 years, 6 months ago) by skrll
Branches: MAIN
CVS tags: netbsd-10-base, netbsd-10-1-RELEASE, netbsd-10-0-RELEASE, netbsd-10-0-RC6, netbsd-10-0-RC5, netbsd-10-0-RC4, netbsd-10-0-RC3, netbsd-10-0-RC2, netbsd-10-0-RC1, netbsd-10, bouyer-sunxi-drm-base, bouyer-sunxi-drm
Diff to: previous 1.164: preferred, colored
Changes since revision 1.164: +2 -3 lines
Remove unnecessary include of <sys/malloc.h>.

Revision 1.164: download - view: text, markup, annotated - select for diffs
Tue Oct 19 03:47:33 2021 UTC (3 years, 6 months ago) by rin
Branches: MAIN
Diff to: previous 1.163: preferred, colored
Changes since revision 1.163: +4 -2 lines
Revert previous:

http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/arch/mips/mips/vm_machdep.c#rev1.163

> cpu_uarea_alloc: For ILP32, do not try to allocate physical memory above
> pmap_limits.avail_end.
>
> Fix NULL dereference in uvm_pglistalloc_contig_aggressive().

"high" argument larger than pmap_limits.avail_end is just legal for
uvm_pglistalloc(); uvm_pglistalloc_contig_aggressive() and friends
allocate memory between uvm_physseg_get_avail_start() and
uvm_physseg_get_avail_end().

It turned out that the NULL dereference took place as PHYS_TO_VM_PAGE()
aka uvm_phys_to_vm_page() returns NULL for a valid pa. I've not figured
out why...

Thanks chs@ for correcting my misunderstanding.

Revision 1.163: download - view: text, markup, annotated - select for diffs
Thu Oct 14 02:22:25 2021 UTC (3 years, 6 months ago) by rin
Branches: MAIN
Diff to: previous 1.162: preferred, colored
Changes since revision 1.162: +4 -6 lines
cpu_uarea_alloc: For ILP32, do not try to allocate physical memory above
pmap_limits.avail_end.

Fix NULL dereference in uvm_pglistalloc_contig_aggressive().

Revision 1.162: download - view: text, markup, annotated - select for diffs
Sun Aug 23 10:23:38 2020 UTC (4 years, 8 months ago) by simonb
Branches: MAIN
CVS tags: thorpej-i2c-spi-conf2-base, thorpej-i2c-spi-conf2, thorpej-i2c-spi-conf-base, thorpej-i2c-spi-conf, thorpej-futex2-base, thorpej-futex2, thorpej-futex-base, thorpej-futex, thorpej-cfargs2-base, thorpej-cfargs2, thorpej-cfargs-base, thorpej-cfargs, cjep_sun2x-base1, cjep_sun2x-base, cjep_sun2x, cjep_staticlib_x-base1, cjep_staticlib_x-base, cjep_staticlib_x
Diff to: previous 1.161: preferred, colored
Changes since revision 1.161: +2 -7 lines
Use a 16kB USPACE (and larger kernel stack) for LP64 kernels.  Invert
the logic for setting the USPACE size.  Define a desired USPACE size
(16kB for LP64, 8kB otherwise) then divide by PAGE_SIZE to get UPAGES.

Fixes random segmap lossage, since the uarea usually sits immediately
above the segmap for a process.  Thanks to mrg@, skrll@ and dholland@
for testing, debugging and general help tracking down this problem.

Revision 1.161: download - view: text, markup, annotated - select for diffs
Sun Aug 9 07:09:35 2020 UTC (4 years, 8 months ago) by skrll
Branches: MAIN
Diff to: previous 1.160: preferred, colored
Changes since revision 1.160: +6 -2 lines
Add a comment

Revision 1.159.6.1: download - view: text, markup, annotated - select for diffs
Wed Apr 8 14:07:45 2020 UTC (5 years ago) by martin
Branches: phil-wifi
Diff to: previous 1.159: preferred, colored; next MAIN 1.160: preferred, colored
Changes since revision 1.159: +2 -3 lines
Merge changes from current as of 20200406

Revision 1.160: download - view: text, markup, annotated - select for diffs
Wed Nov 20 19:37:52 2019 UTC (5 years, 5 months ago) by pgoyette
Branches: MAIN
CVS tags: phil-wifi-20200421, phil-wifi-20200411, phil-wifi-20200406, is-mlppp-base, is-mlppp, bouyer-xenpvh-base2, bouyer-xenpvh-base1, bouyer-xenpvh-base, bouyer-xenpvh, ad-namecache-base3, ad-namecache-base2, ad-namecache-base1, ad-namecache-base, ad-namecache
Diff to: previous 1.159: preferred, colored
Changes since revision 1.159: +2 -3 lines
Move all non-emulation-specific coredump code into the coredump module,
and remove all #ifdef COREDUMP conditional compilation.  Now, the
coredump module is completely separated from the emulation modules, and
they can all be independently loaded and unloaded.

Welcome to 9.99.18 !

Revision 1.142.2.2: download - view: text, markup, annotated - select for diffs
Sun Dec 3 11:36:28 2017 UTC (7 years, 4 months ago) by jdolecek
Branches: tls-maxphys
Diff to: previous 1.142.2.1: preferred, colored; branchpoint 1.142: preferred, colored; next MAIN 1.143: preferred, colored
Changes since revision 1.142.2.1: +77 -54 lines
update from HEAD

Revision 1.141.14.1: download - view: text, markup, annotated - select for diffs
Wed Nov 8 21:19:46 2017 UTC (7 years, 5 months ago) by snj
Branches: netbsd-6-1
Diff to: previous 1.141: preferred, colored; next MAIN 1.142: preferred, colored
Changes since revision 1.141: +7 -2 lines
Pull up following revision(s) (requested by skrll in ticket #1056):
	sys/arch/mips/mips/pmap.c: revision 1.210-1.213
	sys/arch/mips/mips/vm_machdep.c: revision 1.143
Fix a logic inversion introduced with the matt-nb5-mips64 for
pmap_{zero,copy}_page cache alias handing. The check previously used
PG_MD_UNCACHED_P, where it now uses PG_MD_CACHED_P, when considering if
a cache invalidation is required.
Additionally flush the cache for the uarea va to avoid potential (future)
cache aliases in cpu_uarea_free when handing pages back to uvm for later
use.
ok matt@
Hopefully this addresses the instability reported in the following PRs:
PR/44900 - R5000/Rm5200 mips ports are broken
PR/46170 - NetBSD/cobalt 6.0_BETA does not boot
PR/46890 - upcoming NetBSD 6.0 release is very unstable / unusable on cobalt qube 2
PR/48628 - cobalt and hpcmips ports are dead
Grab pv_list lock in pmap_unmap_ephemeral_page only when needed.
Make PARANOIADIAG compile.
Use pmap_tlb_asid_check to reduce code c&p.

Revision 1.141.12.1: download - view: text, markup, annotated - select for diffs
Wed Nov 8 21:17:46 2017 UTC (7 years, 5 months ago) by snj
Branches: netbsd-6-0
Diff to: previous 1.141: preferred, colored; next MAIN 1.142: preferred, colored
Changes since revision 1.141: +7 -2 lines
Pull up following revision(s) (requested by skrll in ticket #1056):
	sys/arch/mips/mips/pmap.c: revision 1.210-1.213
	sys/arch/mips/mips/vm_machdep.c: revision 1.143
Fix a logic inversion introduced with the matt-nb5-mips64 for
pmap_{zero,copy}_page cache alias handing. The check previously used
PG_MD_UNCACHED_P, where it now uses PG_MD_CACHED_P, when considering if
a cache invalidation is required.
Additionally flush the cache for the uarea va to avoid potential (future)
cache aliases in cpu_uarea_free when handing pages back to uvm for later
use.
ok matt@
Hopefully this addresses the instability reported in the following PRs:
PR/44900 - R5000/Rm5200 mips ports are broken
PR/46170 - NetBSD/cobalt 6.0_BETA does not boot
PR/46890 - upcoming NetBSD 6.0 release is very unstable / unusable on cobalt qube 2
PR/48628 - cobalt and hpcmips ports are dead
Grab pv_list lock in pmap_unmap_ephemeral_page only when needed.
Make PARANOIADIAG compile.
Use pmap_tlb_asid_check to reduce code c&p.

Revision 1.143.4.3: download - view: text, markup, annotated - select for diffs
Mon Aug 28 17:51:45 2017 UTC (7 years, 8 months ago) by skrll
Branches: nick-nhusb
Diff to: previous 1.143.4.2: preferred, colored; branchpoint 1.143: preferred, colored; next MAIN 1.144: preferred, colored
Changes since revision 1.143.4.2: +35 -21 lines
Sync with HEAD

Revision 1.159.2.2: download - view: text, markup, annotated - select for diffs
Fri Jul 14 17:54:01 2017 UTC (7 years, 9 months ago) by christos
Branches: perseant-stdc-iso10646
Diff to: previous 1.159.2.1: preferred, colored; branchpoint 1.159: preferred, colored; next MAIN 1.160: preferred, colored
Changes since revision 1.159.2.1: +427 -0 lines
2564721

Revision 1.159.2.1
Fri Jul 14 17:54:00 2017 UTC (7 years, 9 months ago) by christos
Branches: perseant-stdc-iso10646
FILE REMOVED
Changes since revision 1.159: +0 -427 lines
file vm_machdep.c was added on branch perseant-stdc-iso10646 on 2017-07-14 17:54:01 +0000

Revision 1.159: download - view: text, markup, annotated - select for diffs
Fri Jul 14 17:54:00 2017 UTC (7 years, 9 months ago) by christos
Branches: MAIN
CVS tags: tls-maxphys-base-20171202, phil-wifi-base, phil-wifi-20191119, phil-wifi-20190609, 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, perseant-stdc-iso10646-base, nick-nhusb-base-20170825, netbsd-9-base, netbsd-9-4-RELEASE, netbsd-9-3-RELEASE, netbsd-9-2-RELEASE, netbsd-9-1-RELEASE, netbsd-9-0-RELEASE, netbsd-9-0-RC2, netbsd-9-0-RC1, netbsd-9, isaki-audio2-base, isaki-audio2
Branch point for: phil-wifi, perseant-stdc-iso10646
Diff to: previous 1.158: preferred, colored
Changes since revision 1.158: +4 -2 lines
KASSERT Fires for MIPS1, disable.

Revision 1.153.6.2: download - view: text, markup, annotated - select for diffs
Fri May 19 00:22:56 2017 UTC (7 years, 11 months ago) by pgoyette
Branches: prg-localcount2
Diff to: previous 1.153.6.1: preferred, colored; branchpoint 1.153: preferred, colored; next MAIN 1.154: preferred, colored
Changes since revision 1.153.6.1: +3 -3 lines
Resolve conflicts from previous merge (all resulting from $NetBSD
keywork expansion)

Revision 1.158: download - view: text, markup, annotated - select for diffs
Thu May 11 09:09:54 2017 UTC (7 years, 11 months ago) by skrll
Branches: MAIN
CVS tags: prg-localcount2-base3, netbsd-8-base, netbsd-8-3-RELEASE, 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
Diff to: previous 1.157: preferred, colored
Changes since revision 1.157: +3 -3 lines
Fix non-DIAGNOSTIC build

Revision 1.153.6.1: download - view: text, markup, annotated - select for diffs
Thu May 11 02:58:35 2017 UTC (7 years, 11 months ago) by pgoyette
Branches: prg-localcount2
Diff to: previous 1.153: preferred, colored
Changes since revision 1.153: +32 -20 lines
Sync with HEAD

Revision 1.157: download - view: text, markup, annotated - select for diffs
Wed May 10 22:23:13 2017 UTC (7 years, 11 months ago) by skrll
Branches: MAIN
CVS tags: prg-localcount2-base2
Diff to: previous 1.156: preferred, colored
Changes since revision 1.156: +3 -2 lines
Add a KASSERT

Revision 1.156: download - view: text, markup, annotated - select for diffs
Wed May 10 22:19:31 2017 UTC (7 years, 11 months ago) by skrll
Branches: MAIN
Diff to: previous 1.155: preferred, colored
Changes since revision 1.155: +30 -17 lines
Make cpu_uarea_{alloc,free} conditional on PMAP_{,UN}MAP_POOLPAGE and
use PMAP_{,UN}_POOLPAGE to ensure cache aliases are handled correctly
and for all the pages used.

Revision 1.155: download - view: text, markup, annotated - select for diffs
Wed May 10 12:12:21 2017 UTC (7 years, 11 months ago) by skrll
Branches: MAIN
Diff to: previous 1.154: preferred, colored
Changes since revision 1.154: +2 -4 lines
Allow cpu_uarea_alloc to return NULL for non-system LWPs in the non-_LP64
case.  That way TLB mapped KVA can be found by uarea_poolpage_alloc.

Revision 1.154: download - view: text, markup, annotated - select for diffs
Wed May 10 11:27:14 2017 UTC (7 years, 11 months ago) by skrll
Branches: MAIN
Diff to: previous 1.153: preferred, colored
Changes since revision 1.153: +3 -3 lines
Improve comment wording.

Revision 1.143.4.2: download - view: text, markup, annotated - select for diffs
Wed Oct 5 20:55:32 2016 UTC (8 years, 6 months ago) by skrll
Branches: nick-nhusb
Diff to: previous 1.143.4.1: preferred, colored; branchpoint 1.143: preferred, colored
Changes since revision 1.143.4.1: +36 -30 lines
Sync with HEAD

Revision 1.153: download - view: text, markup, annotated - select for diffs
Tue Aug 9 16:38:24 2016 UTC (8 years, 8 months ago) by skrll
Branches: MAIN
CVS tags: prg-localcount2-base1, prg-localcount2-base, pgoyette-localcount-20170426, pgoyette-localcount-20170320, pgoyette-localcount-20170107, pgoyette-localcount-20161104, nick-nhusb-base-20170204, nick-nhusb-base-20161204, nick-nhusb-base-20161004, localcount-20160914, jdolecek-ncq-base, jdolecek-ncq, bouyer-socketcan-base1, bouyer-socketcan-base, bouyer-socketcan
Branch point for: prg-localcount2
Diff to: previous 1.152: preferred, colored
Changes since revision 1.152: +3 -3 lines
Sign extended uarea va appropriately for mips_dcache_inv_range

Revision 1.152: download - view: text, markup, annotated - select for diffs
Tue Aug 9 09:02:10 2016 UTC (8 years, 8 months ago) by skrll
Branches: MAIN
Diff to: previous 1.151: preferred, colored
Changes since revision 1.151: +8 -2 lines
Initialise md_upte for the new lwp
KASSERT that we're always direct mapped when we expect to be

Revision 1.151: download - view: text, markup, annotated - select for diffs
Tue Aug 9 08:59:08 2016 UTC (8 years, 8 months ago) by skrll
Branches: MAIN
Diff to: previous 1.150: preferred, colored
Changes since revision 1.150: +4 -4 lines
Fixup the #if to reflect when we can have non-direct mappable USPACE

Revision 1.147.2.1: download - view: text, markup, annotated - select for diffs
Sat Aug 6 00:19:06 2016 UTC (8 years, 8 months ago) by pgoyette
Branches: pgoyette-localcount
Diff to: previous 1.147: preferred, colored; next MAIN 1.148: preferred, colored
Changes since revision 1.147: +5 -4 lines
Sync with HEAD

Revision 1.150: download - view: text, markup, annotated - select for diffs
Sun Jul 31 15:33:42 2016 UTC (8 years, 8 months ago) by skrll
Branches: MAIN
CVS tags: pgoyette-localcount-20160806
Diff to: previous 1.149: preferred, colored
Changes since revision 1.149: +3 -3 lines
Fix up uarea page mapping compile conditional - we only need code if
USPACE is > PAGE_SIZE.

Revision 1.149: download - view: text, markup, annotated - select for diffs
Sat Jul 30 06:20:54 2016 UTC (8 years, 8 months ago) by matt
Branches: MAIN
Diff to: previous 1.148: preferred, colored
Changes since revision 1.148: +3 -2 lines
For LP64 and N32 make sure KX is set in the trapframe as well.

Revision 1.148: download - view: text, markup, annotated - select for diffs
Sat Jul 30 05:58:15 2016 UTC (8 years, 8 months ago) by skrll
Branches: MAIN
Diff to: previous 1.147: preferred, colored
Changes since revision 1.147: +3 -3 lines
KASSERT for KX in __mips_n32 as well.

Revision 1.147: download - view: text, markup, annotated - select for diffs
Thu Jul 14 04:49:55 2016 UTC (8 years, 9 months ago) by skrll
Branches: MAIN
CVS tags: pgoyette-localcount-base, pgoyette-localcount-20160726
Branch point for: pgoyette-localcount
Diff to: previous 1.146: preferred, colored
Changes since revision 1.146: +3 -3 lines
Trailing whitespace

Revision 1.146: download - view: text, markup, annotated - select for diffs
Mon Jul 11 16:15:36 2016 UTC (8 years, 9 months ago) by matt
Branches: MAIN
Diff to: previous 1.145: preferred, colored
Changes since revision 1.145: +26 -27 lines
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.143.4.1: download - view: text, markup, annotated - select for diffs
Tue Sep 22 12:05:47 2015 UTC (9 years, 7 months ago) by skrll
Branches: nick-nhusb
Diff to: previous 1.143: preferred, colored
Changes since revision 1.143: +15 -12 lines
Sync with HEAD

Revision 1.145: download - view: text, markup, annotated - select for diffs
Thu Jun 11 08:22:09 2015 UTC (9 years, 10 months ago) by matt
Branches: MAIN
CVS tags: nick-nhusb-base-20160907, nick-nhusb-base-20160529, nick-nhusb-base-20160422, nick-nhusb-base-20160319, nick-nhusb-base-20151226, nick-nhusb-base-20150921
Diff to: previous 1.144: preferred, colored
Changes since revision 1.144: +11 -11 lines
Add struct pmap_limits and pm_{min,max}addr from uvm/pmap/map.h and use it to
store avail_start, avail_end, virtual_start, and virtual_end.
Remove iospace and let emips just bump pmap_limits.virtual_start to get the
VA space it needs.
pmap_segtab.c is almost identical to uvm/pmap/pmap_segtab.c now.  It won't
be long until we switch to the uvm/pmap one.

Revision 1.144: download - view: text, markup, annotated - select for diffs
Sat Jun 6 21:46:17 2015 UTC (9 years, 10 months ago) by matt
Branches: MAIN
Diff to: previous 1.143: preferred, colored
Changes since revision 1.143: +6 -3 lines
Convert a KASSERT to KASSERTMSG

Revision 1.142.2.1: download - view: text, markup, annotated - select for diffs
Wed Aug 20 00:03:12 2014 UTC (10 years, 8 months ago) by tls
Branches: tls-maxphys
Diff to: previous 1.142: preferred, colored
Changes since revision 1.142: +7 -2 lines
Rebase to HEAD as of a few days ago.

Revision 1.142.12.1: download - view: text, markup, annotated - select for diffs
Sun Aug 10 06:54:02 2014 UTC (10 years, 8 months ago) by tls
Branches: tls-earlyentropy
Diff to: previous 1.142: preferred, colored; next MAIN 1.143: preferred, colored
Changes since revision 1.142: +7 -2 lines
Rebase.

Revision 1.141.2.2: download - view: text, markup, annotated - select for diffs
Thu May 22 11:39:57 2014 UTC (10 years, 11 months ago) by yamt
Branches: yamt-pagecache
Diff to: previous 1.141.2.1: preferred, colored; branchpoint 1.141: preferred, colored; next MAIN 1.142: preferred, colored
Changes since revision 1.141.2.1: +7 -2 lines
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.141.8.1: download - view: text, markup, annotated - select for diffs
Wed May 21 20:39:17 2014 UTC (10 years, 11 months ago) by bouyer
Branches: netbsd-6
Diff to: previous 1.141: preferred, colored; next MAIN 1.142: preferred, colored
Changes since revision 1.141: +7 -2 lines
Pull up following revision(s) (requested by skrll in ticket #1056):
	sys/arch/mips/mips/pmap.c: revision 1.211
	sys/arch/mips/mips/pmap.c: revision 1.212
	sys/arch/mips/mips/pmap.c: revision 1.213
	sys/arch/mips/mips/vm_machdep.c: revision 1.143
	sys/arch/mips/mips/pmap.c: revision 1.210
Fix a logic inversion introduced with the matt-nb5-mips64 for
pmap_{zero,copy}_page cache alias handing. The check previously used
PG_MD_UNCACHED_P, where it now uses PG_MD_CACHED_P, when considering if
a cache invalidation is required.
Additionally flush the cache for the uarea va to avoid potential (future)
cache aliases in cpu_uarea_free when handing pages back to uvm for later
use.
ok matt@
Hopefully this addresses the instability reported in the following PRs:
PR/44900 - R5000/Rm5200 mips ports are broken
PR/46170 - NetBSD/cobalt 6.0_BETA does not boot
PR/46890 - upcoming NetBSD 6.0 release is very unstable / unusable on cobalt qube 2
PR/48628 - cobalt and hpcmips ports are dead
Grab pv_list lock in pmap_unmap_ephemeral_page only when needed.
Make PARANOIADIAG compile.
Use pmap_tlb_asid_check to reduce code c&p.

Revision 1.142.4.1: download - view: text, markup, annotated - select for diffs
Sun May 18 17:45:17 2014 UTC (10 years, 11 months ago) by rmind
Branches: rmind-smpnet
Diff to: previous 1.142: preferred, colored; next MAIN 1.143: preferred, colored
Changes since revision 1.142: +7 -2 lines
sync with head

Revision 1.143: download - view: text, markup, annotated - select for diffs
Wed Apr 23 20:57:15 2014 UTC (11 years ago) by skrll
Branches: MAIN
CVS tags: yamt-pagecache-base9, tls-maxphys-base, tls-earlyentropy-base, rmind-smpnet-nbase, rmind-smpnet-base, 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
Diff to: previous 1.142: preferred, colored
Changes since revision 1.142: +7 -2 lines
Fix a logic inversion introduced with the matt-nb5-mips64 for
pmap_{zero,copy}_page cache alias handing. The check previously used
PG_MD_UNCACHED_P, where it now uses PG_MD_CACHED_P, when considering if
a cache invalidation is required.

Additionally flush the cache for the uarea va to avoid potential (future)
cache aliases in cpu_uarea_free when handing pages back to uvm for later
use.

ok matt@

Hopefully this addresses the instability reported in the following PRs:

PR/44900 - R5000/Rm5200 mips ports are broken
PR/46170 - NetBSD/cobalt 6.0_BETA does not boot
PR/46890 - upcoming NetBSD 6.0 release is very unstable / unusable on cobalt qube 2
PR/48628 - cobalt and hpcmips ports are dead

Revision 1.121.6.1.2.31: download - view: text, markup, annotated - select for diffs
Fri Feb 14 18:38:16 2014 UTC (11 years, 2 months ago) by matt
Branches: matt-nb5-mips64
Diff to: previous 1.121.6.1.2.30: preferred, colored; branchpoint 1.121.6.1: preferred, colored; next MAIN 1.122: preferred, colored
Changes since revision 1.121.6.1.2.30: +3 -3 lines
Change KASSERTMSG/KDASSERTMSG to use varadic arguments like HEAD.
panic -> vpanic, add panic wrapper to vpanic.

Revision 1.121.6.1.2.30: download - view: text, markup, annotated - select for diffs
Sat Aug 4 07:20:31 2012 UTC (12 years, 8 months ago) by matt
Branches: matt-nb5-mips64
Diff to: previous 1.121.6.1.2.29: preferred, colored; branchpoint 1.121.6.1: preferred, colored
Changes since revision 1.121.6.1.2.29: +13 -16 lines
Make MIPS use a multi-level page table for the kernel address space.
(just like the user address does).   XXX fix mips1

Revision 1.141.2.1: download - view: text, markup, annotated - select for diffs
Tue Apr 17 00:06:40 2012 UTC (13 years ago) by yamt
Branches: yamt-pagecache
CVS tags: yamt-pagecache-tag8
Diff to: previous 1.141: preferred, colored
Changes since revision 1.141: +9 -23 lines
sync with head

Revision 1.141.6.1: download - view: text, markup, annotated - select for diffs
Fri Feb 24 09:11:32 2012 UTC (13 years, 2 months ago) by mrg
Branches: jmcneill-usbmp
Diff to: previous 1.141: preferred, colored; next MAIN 1.142: preferred, colored
Changes since revision 1.141: +9 -23 lines
sync to -current.

Revision 1.142: download - view: text, markup, annotated - select for diffs
Sun Feb 19 21:06:20 2012 UTC (13 years, 2 months ago) by rmind
Branches: MAIN
CVS tags: yamt-pagecache-base8, yamt-pagecache-base7, yamt-pagecache-base6, yamt-pagecache-base5, yamt-pagecache-base4, riastradh-xf86-video-intel-2-7-1-pre-2-21-15, riastradh-drm2-base3, riastradh-drm2-base2, riastradh-drm2-base1, riastradh-drm2-base, riastradh-drm2, 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, tls-earlyentropy, rmind-smpnet
Diff to: previous 1.141: preferred, colored
Changes since revision 1.141: +9 -23 lines
Remove COMPAT_SA / KERN_SA.  Welcome to 6.99.3!
Approved by core@.

Revision 1.121.6.1.2.29: download - view: text, markup, annotated - select for diffs
Thu Feb 16 18:58:57 2012 UTC (13 years, 2 months ago) by matt
Branches: matt-nb5-mips64
Diff to: previous 1.121.6.1.2.28: preferred, colored; branchpoint 1.121.6.1: preferred, colored
Changes since revision 1.121.6.1.2.28: +1 -1 lines
mips_nfreelist is the one past the highest freelist used.

Revision 1.121.6.1.2.28: download - view: text, markup, annotated - select for diffs
Tue Feb 14 01:51:12 2012 UTC (13 years, 2 months ago) by matt
Branches: matt-nb5-mips64
Diff to: previous 1.121.6.1.2.27: preferred, colored; branchpoint 1.121.6.1: preferred, colored
Changes since revision 1.121.6.1.2.27: +2 -0 lines
Fix various LP64 thinkos.

Revision 1.121.6.1.2.27: download - view: text, markup, annotated - select for diffs
Mon Feb 13 18:20:26 2012 UTC (13 years, 2 months ago) by matt
Branches: matt-nb5-mips64
Diff to: previous 1.121.6.1.2.26: preferred, colored; branchpoint 1.121.6.1: preferred, colored
Changes since revision 1.121.6.1.2.26: +23 -56 lines
Add mm_md_direct_mapped_virt (inverse of mm_md_direct_mapped_phys).  Add a
third argument, vsize_t *, which, if not NULL, returns the amount of virtual
space left in that direct mapped segment.
Get rid most of the individual direct_mapped assert and use the above
routines instead.
Improve kernel core dump code.

Revision 1.121.6.1.2.26: download - view: text, markup, annotated - select for diffs
Thu Feb 9 03:35:59 2012 UTC (13 years, 2 months ago) by matt
Branches: matt-nb5-mips64
Diff to: previous 1.121.6.1.2.25: preferred, colored; branchpoint 1.121.6.1: preferred, colored
Changes since revision 1.121.6.1.2.25: +6 -0 lines
Recognize KSEGX as FIRST512M (even though it isn't in the 512M it is
conceptually part of it since it's direct-mapped).

Revision 1.121.6.1.2.25: download - view: text, markup, annotated - select for diffs
Thu Feb 9 03:14:45 2012 UTC (13 years, 2 months ago) by matt
Branches: matt-nb5-mips64
Diff to: previous 1.121.6.1.2.24: preferred, colored; branchpoint 1.121.6.1: preferred, colored
Changes since revision 1.121.6.1.2.24: +34 -0 lines
Add mips_page_to_pggroup which return what pggroup a page belongs to.
Eradicate VM_FREELIST_MAX
When adding pages to the system, track what freelists get pages.

Revision 1.121.6.1.2.24: download - view: text, markup, annotated - select for diffs
Thu Jan 19 08:28:50 2012 UTC (13 years, 3 months ago) by matt
Branches: matt-nb5-mips64
Diff to: previous 1.121.6.1.2.23: preferred, colored; branchpoint 1.121.6.1: preferred, colored
Changes since revision 1.121.6.1.2.23: +4 -1 lines
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.121.6.1.2.23: download - view: text, markup, annotated - select for diffs
Thu Dec 1 23:59:14 2011 UTC (13 years, 4 months ago) by matt
Branches: matt-nb5-mips64
Diff to: previous 1.121.6.1.2.22: preferred, colored; branchpoint 1.121.6.1: preferred, colored
Changes since revision 1.121.6.1.2.22: +30 -1 lines
Add code to deal with direct mapped uareas.

Revision 1.121.6.1.2.22: download - view: text, markup, annotated - select for diffs
Tue Nov 29 07:48:31 2011 UTC (13 years, 5 months ago) by matt
Branches: matt-nb5-mips64
Diff to: previous 1.121.6.1.2.21: preferred, colored; branchpoint 1.121.6.1: preferred, colored
Changes since revision 1.121.6.1.2.21: +7 -0 lines
Take part of the KSEG2 space and use it to "almost" direct another 256MB
of memory so that N32 kernels can make use of ram outside of KSEG0.  This
allows N32 kernels to be useful on systems with 4GB of RAM or more.

Revision 1.141: download - view: text, markup, annotated - select for diffs
Tue Sep 27 01:02:34 2011 UTC (13 years, 7 months ago) by jym
Branches: MAIN
CVS tags: yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base, 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-0-RELEASE, netbsd-6-0-RC2, netbsd-6-0-RC1, netbsd-6-0-6-RELEASE, netbsd-6-0-5-RELEASE, netbsd-6-0-4-RELEASE, netbsd-6-0-3-RELEASE, netbsd-6-0-2-RELEASE, netbsd-6-0-1-RELEASE, matt-nb6-plus-nbase, matt-nb6-plus-base, matt-nb6-plus, jmcneill-usbmp-pre-base2, jmcneill-usbmp-base2, jmcneill-usbmp-base, jmcneill-audiomp3-base, jmcneill-audiomp3
Branch point for: yamt-pagecache, netbsd-6-1, netbsd-6-0, netbsd-6, jmcneill-usbmp
Diff to: previous 1.140: preferred, colored
Changes since revision 1.140: +6 -6 lines
Modify *ASSERTMSG() so they are now used as variadic macros. The main goal
is to provide routines that do as KASSERT(9) says: append a message
to the panic format string when the assertion triggers, with optional
arguments.

Fix call sites to reflect the new definition.

Discussed on tech-kern@. See
http://mail-index.netbsd.org/tech-kern/2011/09/07/msg011427.html

Revision 1.140: download - view: text, markup, annotated - select for diffs
Thu Sep 1 06:41:38 2011 UTC (13 years, 7 months ago) by matt
Branches: MAIN
Diff to: previous 1.139: preferred, colored
Changes since revision 1.139: +18 -34 lines
Use UVM_KMF_COLORMATCH and switch to pmap_kenter_pa for vmapbuf/vunmapbuf.

Revision 1.138.2.1: download - view: text, markup, annotated - select for diffs
Thu Jun 23 14:19:23 2011 UTC (13 years, 10 months ago) by cherry
Branches: cherry-xenmp
Diff to: previous 1.138: preferred, colored; next MAIN 1.139: preferred, colored
Changes since revision 1.138: +3 -9 lines
Catchup with rmind-uvmplock merge.

Revision 1.130.4.3: download - view: text, markup, annotated - select for diffs
Sun Jun 12 00:24:01 2011 UTC (13 years, 10 months ago) by rmind
Branches: rmind-uvmplock
Diff to: previous 1.130.4.2: preferred, colored; branchpoint 1.130: preferred, colored; next MAIN 1.131: preferred, colored
Changes since revision 1.130.4.2: +1 -7 lines
sync with head

Revision 1.139: download - view: text, markup, annotated - select for diffs
Mon Jun 6 22:04:34 2011 UTC (13 years, 10 months ago) by matt
Branches: MAIN
CVS tags: rmind-uvmplock-nbase, rmind-uvmplock-base
Diff to: previous 1.138: preferred, colored
Changes since revision 1.138: +3 -9 lines
Add some more MI hook points for PCU.  Discard the PCU state at lwp_exit and
at exec time.  Before forking, save the PCU state so that cpu_lwp_fork
doesn't have.  Remove MD code which did that before.

Revision 1.132.2.1: download - view: text, markup, annotated - select for diffs
Mon Jun 6 09:06:08 2011 UTC (13 years, 10 months ago) by jruoho
Branches: jruoho-x86intr
Diff to: previous 1.132: preferred, colored; next MAIN 1.133: preferred, colored
Changes since revision 1.132: +194 -90 lines
Sync with HEAD.

Revision 1.130.4.2: download - view: text, markup, annotated - select for diffs
Tue May 31 03:04:10 2011 UTC (13 years, 11 months ago) by rmind
Branches: rmind-uvmplock
Diff to: previous 1.130.4.1: preferred, colored; branchpoint 1.130: preferred, colored
Changes since revision 1.130.4.1: +7 -8 lines
sync with head

Revision 1.121.6.1.2.21: download - view: text, markup, annotated - select for diffs
Thu May 26 19:21:57 2011 UTC (13 years, 11 months ago) by matt
Branches: matt-nb5-mips64
Diff to: previous 1.121.6.1.2.20: preferred, colored; branchpoint 1.121.6.1: preferred, colored
Changes since revision 1.121.6.1.2.20: +5 -1 lines
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.121.6.1.2.20: download - view: text, markup, annotated - select for diffs
Wed May 25 23:58:48 2011 UTC (13 years, 11 months ago) by matt
Branches: matt-nb5-mips64
Diff to: previous 1.121.6.1.2.19: preferred, colored; branchpoint 1.121.6.1: preferred, colored
Changes since revision 1.121.6.1.2.19: +5 -19 lines
Make uvm_map recognize UVM_FLAG_COLORMATCH which tells uvm_map that the
'align' argument specifies the starting color of the KVA range to be returned.

When calling uvm_km_alloc with UVM_KMF_VAONLY, also specify the starting
color of the kva range returned (UMV_KMF_COLORMATCH) and pass those to
uvm_map.

In uvm_pglistalloc, make sure the pages being returned have sequentially
advancing colors (so they can be mapped in a contiguous address range).
Add a few missing UVM_FLAG_COLORMATCH flags to uvm_pagealloc calls.

Make the socket and pipe loan color-safe.

Make the mips pmap enforce strict page color (color(VA) == color(PA)).

Revision 1.138: download - view: text, markup, annotated - select for diffs
Mon May 2 00:29:54 2011 UTC (13 years, 11 months ago) by rmind
Branches: MAIN
CVS tags: jym-xensuspend-nbase, jym-xensuspend-base, cherry-xenmp-base
Branch point for: cherry-xenmp
Diff to: previous 1.137: preferred, colored
Changes since revision 1.137: +3 -3 lines
Extend PCU:
- Add pcu_ops_t::pcu_state_release() operation for PCU_RELEASE case.
- Add pcu_switchpoint() to perform release operation on context switch.
- Sprinkle const, misc.  Also, sync MIPS with changes.

Per discussions with matt@.

Revision 1.137: download - view: text, markup, annotated - select for diffs
Fri Apr 29 22:07:46 2011 UTC (14 years ago) by matt
Branches: MAIN
Diff to: previous 1.136: preferred, colored
Changes since revision 1.136: +8 -9 lines
Deal with uarea mapped in either kseg0 or xkphys.

Revision 1.121.6.1.2.19: download - view: text, markup, annotated - select for diffs
Fri Apr 29 08:26:31 2011 UTC (14 years ago) by matt
Branches: matt-nb5-mips64
Diff to: previous 1.121.6.1.2.18: preferred, colored; branchpoint 1.121.6.1: preferred, colored
Changes since revision 1.121.6.1.2.18: +73 -111 lines
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.130.4.1: download - view: text, markup, annotated - select for diffs
Sat Mar 5 20:51:09 2011 UTC (14 years, 1 month ago) by rmind
Branches: rmind-uvmplock
Diff to: previous 1.130: preferred, colored
Changes since revision 1.130: +193 -89 lines
sync with head

Revision 1.132.4.3: download - view: text, markup, annotated - select for diffs
Sat Mar 5 15:09:50 2011 UTC (14 years, 1 month ago) by bouyer
Branches: bouyer-quota2
Diff to: previous 1.132.4.2: preferred, colored; branchpoint 1.132: preferred, colored; next MAIN 1.133: preferred, colored
Changes since revision 1.132.4.2: +153 -47 lines
Sync with HEAD

Revision 1.136: download - view: text, markup, annotated - select for diffs
Sun Feb 20 07:45:48 2011 UTC (14 years, 2 months ago) by matt
Branches: MAIN
CVS tags: bouyer-quota2-nbase
Diff to: previous 1.135: preferred, colored
Changes since revision 1.135: +153 -47 lines
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.132.4.2: download - view: text, markup, annotated - select for diffs
Thu Feb 17 11:59:49 2011 UTC (14 years, 2 months ago) by bouyer
Branches: bouyer-quota2
Diff to: previous 1.132.4.1: preferred, colored; branchpoint 1.132: preferred, colored
Changes since revision 1.132.4.1: +7 -43 lines
Sync with HEAD

Revision 1.135: download - view: text, markup, annotated - select for diffs
Thu Feb 10 14:46:47 2011 UTC (14 years, 2 months ago) by pooka
Branches: MAIN
CVS tags: uebayasi-xip-base7, bouyer-quota2-base
Diff to: previous 1.134: preferred, colored
Changes since revision 1.134: +5 -3 lines
Make vmapbuf() return success/error and make physio deal with a
failure.

Revision 1.134: download - view: text, markup, annotated - select for diffs
Tue Feb 8 20:20:19 2011 UTC (14 years, 2 months ago) by rmind
Branches: MAIN
Diff to: previous 1.133: preferred, colored
Changes since revision 1.133: +4 -42 lines
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.132.4.1: download - view: text, markup, annotated - select for diffs
Tue Feb 8 16:19:29 2011 UTC (14 years, 2 months ago) by bouyer
Branches: bouyer-quota2
Diff to: previous 1.132: preferred, colored
Changes since revision 1.132: +37 -2 lines
Sync with HEAD

Revision 1.133: download - view: text, markup, annotated - select for diffs
Wed Jan 26 01:18:55 2011 UTC (14 years, 3 months ago) by pooka
Branches: MAIN
Diff to: previous 1.132: preferred, colored
Changes since revision 1.132: +37 -2 lines
Add support for the Extensible MIPS ("eMIPS") platform.  The
NetBSD/emips port runs on Xilinx and Beecube FPGA systems and the
Giano system simulator.

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

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

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

Revision 1.132: download - view: text, markup, annotated - select for diffs
Fri Jan 14 02:06:28 2011 UTC (14 years, 3 months ago) by rmind
Branches: MAIN
CVS tags: jruoho-x86intr-base
Branch point for: jruoho-x86intr, bouyer-quota2
Diff to: previous 1.131: preferred, colored
Changes since revision 1.131: +4 -3 lines
Retire struct user, remove sys/user.h inclusions.  Note sys/user.h header
as obsolete.  Remove USER_TO_UAREA/UAREA_TO_USER macros.

Various #include fixes and review by matt@.

Revision 1.121.6.1.2.18: download - view: text, markup, annotated - select for diffs
Wed Dec 29 00:39:40 2010 UTC (14 years, 4 months ago) by matt
Branches: matt-nb5-mips64
CVS tags: matt-nb5-mips64-premerge-20101231
Diff to: previous 1.121.6.1.2.17: preferred, colored; branchpoint 1.121.6.1: preferred, colored
Changes since revision 1.121.6.1.2.17: +6 -4 lines
Janitorial work.
Move emulation prototypes here and get rid of StudLyCaps.
Remove kludgery for lwp/setfunc trampoline and just grab them of the damn
structure.
Make mips_locore_jumpvec contain the routines that don't get reassigned
and move wbflush to mips_locoresw since it does get overridden.

Revision 1.121.6.1.2.17: download - view: text, markup, annotated - select for diffs
Wed Dec 22 05:57:13 2010 UTC (14 years, 4 months ago) by matt
Branches: matt-nb5-mips64
Diff to: previous 1.121.6.1.2.16: preferred, colored; branchpoint 1.121.6.1: preferred, colored
Changes since revision 1.121.6.1.2.16: +3 -3 lines
Fix a panic message.

Revision 1.131: download - view: text, markup, annotated - select for diffs
Wed Dec 22 01:34:17 2010 UTC (14 years, 4 months ago) by nisimura
Branches: MAIN
CVS tags: matt-mips64-premerge-20101231
Diff to: previous 1.130: preferred, colored
Changes since revision 1.130: +2 -4 lines
- make sure cpu_switchto() not to touch MIPS_CURLWP register at newlwp
  switchframe restoration stage.
- discard MIPS_CURLWP assignments exposed in cpu_lwp_fork() and
  cpu_setfunc().
- use plain 'jal' instruction to call lwp_startup().

Revision 1.121.6.1.2.16: download - view: text, markup, annotated - select for diffs
Wed Jun 9 18:16:27 2010 UTC (14 years, 10 months ago) by matt
Branches: matt-nb5-mips64
CVS tags: matt-nb5-mips64-k15
Diff to: previous 1.121.6.1.2.15: preferred, colored; branchpoint 1.121.6.1: preferred, colored
Changes since revision 1.121.6.1.2.15: +3 -3 lines
only copy PK_32, left rest of p_flag along.

Revision 1.121.6.1.2.15: download - view: text, markup, annotated - select for diffs
Wed Jun 9 14:20:00 2010 UTC (14 years, 10 months ago) by matt
Branches: matt-nb5-mips64
Diff to: previous 1.121.6.1.2.14: preferred, colored; branchpoint 1.121.6.1: preferred, colored
Changes since revision 1.121.6.1.2.14: +15 -2 lines
Add support for setting/clearing PK_32 on _LP64 kernels.  Make cpu_proc_fork
a real function and add it to vm_machdep.c and let it copy PK_32 on fork.
Properly clear/set PK_32 depending on ABI in setregs.  Lack of PX_32 use
tracked down by Cliff Neighbors.  [Ya! ps now works!]

Revision 1.120.20.5: download - view: text, markup, annotated - select for diffs
Thu Mar 11 15:02:41 2010 UTC (15 years, 1 month ago) by yamt
Branches: yamt-nfs-mp
Diff to: previous 1.120.20.4: preferred, colored; branchpoint 1.120: preferred, colored; next MAIN 1.121: preferred, colored
Changes since revision 1.120.20.4: +78 -95 lines
sync with head

Revision 1.121.6.1.2.14: download - view: text, markup, annotated - select for diffs
Mon Mar 1 19:27:21 2010 UTC (15 years, 2 months ago) by matt
Branches: matt-nb5-mips64
Diff to: previous 1.121.6.1.2.13: preferred, colored; branchpoint 1.121.6.1: preferred, colored
Changes since revision 1.121.6.1.2.13: +4 -4 lines
Fix comment.

Revision 1.121.6.1.2.13: download - view: text, markup, annotated - select for diffs
Sun Feb 28 23:45:07 2010 UTC (15 years, 2 months ago) by matt
Branches: matt-nb5-mips64
Diff to: previous 1.121.6.1.2.12: preferred, colored; branchpoint 1.121.6.1: preferred, colored
Changes since revision 1.121.6.1.2.12: +16 -9 lines
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.121.6.1.2.12: download - view: text, markup, annotated - select for diffs
Mon Feb 15 07:36:04 2010 UTC (15 years, 2 months ago) by matt
Branches: matt-nb5-mips64
Diff to: previous 1.121.6.1.2.11: preferred, colored; branchpoint 1.121.6.1: preferred, colored
Changes since revision 1.121.6.1.2.11: +4 -8 lines
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.121.6.1.2.11: download - view: text, markup, annotated - select for diffs
Fri Feb 5 17:16:05 2010 UTC (15 years, 2 months ago) by matt
Branches: matt-nb5-mips64
Diff to: previous 1.121.6.1.2.10: preferred, colored; branchpoint 1.121.6.1: preferred, colored
Changes since revision 1.121.6.1.2.10: +9 -10 lines
remove a debugging printf.  cleanup the reinit of the lwp.

Revision 1.121.6.1.2.10: download - view: text, markup, annotated - select for diffs
Fri Feb 5 07:36:50 2010 UTC (15 years, 2 months ago) by matt
Branches: matt-nb5-mips64
Diff to: previous 1.121.6.1.2.9: preferred, colored; branchpoint 1.121.6.1: preferred, colored
Changes since revision 1.121.6.1.2.9: +99 -3 lines
Add __HAVE_FAST_SOFTINTS support.
Add routine to remap an uarea via a direct-mapped address.  This avoids
TLB machinations when swtching to/from the softint thread.  This can only
be done for lwp which won't exit.

Revision 1.121.6.1.2.9: download - view: text, markup, annotated - select for diffs
Mon Feb 1 04:16:20 2010 UTC (15 years, 2 months ago) by matt
Branches: matt-nb5-mips64
Diff to: previous 1.121.6.1.2.8: preferred, colored; branchpoint 1.121.6.1: preferred, colored
Changes since revision 1.121.6.1.2.8: +14 -14 lines
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.121.6.1.2.8: download - view: text, markup, annotated - select for diffs
Sat Jan 30 23:49:31 2010 UTC (15 years, 2 months ago) by matt
Branches: matt-nb5-mips64
Diff to: previous 1.121.6.1.2.7: preferred, colored; branchpoint 1.121.6.1: preferred, colored
Changes since revision 1.121.6.1.2.7: +4 -4 lines
Change MIPS_CURLWP from s7 to t8.  In a MALTA64 kernel, s6 is used 9155 times
which means the compiler could really use s7 is was free to do so.  The least
used temporary was t8 (288 times).  Once the kernel was switched to use t8 for
MIPS_CURLWP, s7 was used 7524 times.

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

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

Revision 1.121.6.1.2.7: download - view: text, markup, annotated - select for diffs
Thu Jan 28 01:57:45 2010 UTC (15 years, 3 months ago) by nisimura
Branches: matt-nb5-mips64
Diff to: previous 1.121.6.1.2.6: preferred, colored; branchpoint 1.121.6.1: preferred, colored
Changes since revision 1.121.6.1.2.6: +4 -4 lines
fix a comment to tell register S7 ($23) is used for curlwp pointer.

Revision 1.121.6.1.2.6: download - view: text, markup, annotated - select for diffs
Tue Jan 26 21:07:14 2010 UTC (15 years, 3 months ago) by matt
Branches: matt-nb5-mips64
Diff to: previous 1.121.6.1.2.5: preferred, colored; branchpoint 1.121.6.1: preferred, colored
Changes since revision 1.121.6.1.2.5: +19 -4 lines
Make sure the kernel pages allocated for vmmapbuf have the same page color.

Revision 1.130: download - view: text, markup, annotated - select for diffs
Mon Dec 14 04:37:02 2009 UTC (15 years, 4 months ago) by matt
Branches: MAIN
CVS tags: yamt-nfs-mp-base9, yamt-nfs-mp-base11, yamt-nfs-mp-base10, uebayasi-xip-base6, uebayasi-xip-base5, uebayasi-xip-base4, uebayasi-xip-base3, uebayasi-xip-base2, uebayasi-xip-base1, uebayasi-xip-base, uebayasi-xip
Branch point for: rmind-uvmplock
Diff to: previous 1.129: preferred, colored
Changes since revision 1.129: +3 -3 lines
Get rid of l_addr references pulled in via merge.

Revision 1.129: download - view: text, markup, annotated - select for diffs
Mon Dec 14 00:46:07 2009 UTC (15 years, 4 months ago) by matt
Branches: MAIN
Diff to: previous 1.128: preferred, colored
Changes since revision 1.128: +47 -29 lines
Merge from matt-nb5-mips64
Merge mips-specific arch files.

Revision 1.128: download - view: text, markup, annotated - select for diffs
Sun Nov 29 04:11:51 2009 UTC (15 years, 5 months ago) by rmind
Branches: MAIN
CVS tags: matt-premerge-20091211
Diff to: previous 1.127: preferred, colored
Changes since revision 1.127: +41 -51 lines
cpu_lwp_fork (MIPS): replace l_addr with uvm_lwp_getuarea(), clean up a little.

Revision 1.127: download - view: text, markup, annotated - select for diffs
Sat Nov 21 17:40:28 2009 UTC (15 years, 5 months ago) by rmind
Branches: MAIN
Diff to: previous 1.126: preferred, colored
Changes since revision 1.126: +14 -13 lines
Use lwp_getpcb() on mips, powerpc and sh3, clean from struct user usage.

Revision 1.126: download - view: text, markup, annotated - select for diffs
Wed Oct 21 21:12:01 2009 UTC (15 years, 6 months ago) by rmind
Branches: MAIN
Diff to: previous 1.125: preferred, colored
Changes since revision 1.125: +2 -28 lines
Remove uarea swap-out functionality:

- Addresses the issue described in PR/38828.
- Some simplification in threading and sleepq subsystems.
- Eliminates pmap_collect() and, as a side note, allows pmap optimisations.
- Eliminates XS_CTL_DATA_ONSTACK in scsipi code.
- Avoids few scans on LWP list and thus potentially long holds of proc_lock.
- Cuts ~1.5k lines of code.  Reduces amd64 kernel size by ~4k.
- Removes __SWAP_BROKEN cases.

Tested on x86, mips, acorn32 (thanks <mpumford>) and partly tested on
acorn26 (thanks to <bjh21>).

Discussed on <tech-kern>, reviewed by <ad>.

Revision 1.120.20.4: download - view: text, markup, annotated - select for diffs
Wed Sep 16 13:37:40 2009 UTC (15 years, 7 months ago) by yamt
Branches: yamt-nfs-mp
Diff to: previous 1.120.20.3: preferred, colored; branchpoint 1.120: preferred, colored
Changes since revision 1.120.20.3: +4 -2 lines
sync with head

Revision 1.121.6.1.2.5: download - view: text, markup, annotated - select for diffs
Tue Sep 8 07:46:14 2009 UTC (15 years, 7 months ago) by uebayasi
Branches: matt-nb5-mips64
CVS tags: matt-nb5-mips64-u2-k2-k4-k7-k8-k9, matt-nb5-mips64-premerge-20091211
Diff to: previous 1.121.6.1.2.4: preferred, colored; branchpoint 1.121.6.1: preferred, colored
Changes since revision 1.121.6.1.2.4: +3 -3 lines
To be consistent, always cast pointers to (intptr_t) even if the address is
in userspace.

Reviewed By:	matt

Revision 1.121.6.1.2.4: download - view: text, markup, annotated - select for diffs
Mon Sep 7 21:54:39 2009 UTC (15 years, 7 months ago) by matt
Branches: matt-nb5-mips64
CVS tags: matt-nb4-mips64-k7-u2a-k9b
Diff to: previous 1.121.6.1.2.3: preferred, colored; branchpoint 1.121.6.1: preferred, colored
Changes since revision 1.121.6.1.2.3: +21 -17 lines
Use the new symbolic constants for label_t.
Use label_t where appropriate.
Add some LP64 KASSERTs

Revision 1.121.6.1.2.3: download - view: text, markup, annotated - select for diffs
Sun Sep 6 22:57:11 2009 UTC (15 years, 7 months ago) by matt
Branches: matt-nb5-mips64
Diff to: previous 1.121.6.1.2.2: preferred, colored; branchpoint 1.121.6.1: preferred, colored
Changes since revision 1.121.6.1.2.2: +6 -12 lines
Use VM_MIN_KERNEL_ADDRESS instead of MIPS_KSEG2_START.
Switch to MIPS_KSEG?_P

Revision 1.121.6.1.2.2: download - view: text, markup, annotated - select for diffs
Sun Aug 23 04:06:01 2009 UTC (15 years, 8 months ago) by matt
Branches: matt-nb5-mips64
CVS tags: matt-nb5-mips64-u1-k1-k5
Diff to: previous 1.121.6.1.2.1: preferred, colored; branchpoint 1.121.6.1: preferred, colored
Changes since revision 1.121.6.1.2.1: +4 -3 lines
Deal with fp save/restore changes.  Remove some more unneeded casts in trap.

Revision 1.121.6.1.2.1: download - view: text, markup, annotated - select for diffs
Fri Aug 21 17:43:14 2009 UTC (15 years, 8 months ago) by matt
Branches: matt-nb5-mips64
Diff to: previous 1.121.6.1: preferred, colored
Changes since revision 1.121.6.1: +25 -15 lines
Cast MIPS_K* to vaddr_t
Fix comments in cpu_lwp_fork
Stop casting l_md.md_regs

Revision 1.125: download - view: text, markup, annotated - select for diffs
Thu Aug 20 01:33:04 2009 UTC (15 years, 8 months ago) by cliff
Branches: MAIN
CVS tags: yamt-nfs-mp-base8
Diff to: previous 1.124: preferred, colored
Changes since revision 1.124: +4 -2 lines
if USPACE <= PAGE_SIZE then the (single) upage will be mapped in kseg0 or xphys and cpu_swapin is null func.

Revision 1.120.20.3: download - view: text, markup, annotated - select for diffs
Wed Aug 19 18:46:31 2009 UTC (15 years, 8 months ago) by yamt
Branches: yamt-nfs-mp
Diff to: previous 1.120.20.2: preferred, colored; branchpoint 1.120: preferred, colored
Changes since revision 1.120.20.2: +13 -10 lines
sync with head.

Revision 1.124: download - view: text, markup, annotated - select for diffs
Mon Aug 17 18:56:10 2009 UTC (15 years, 8 months ago) by matt
Branches: MAIN
CVS tags: yamt-nfs-mp-base7
Diff to: previous 1.123: preferred, colored
Changes since revision 1.123: +13 -10 lines
Only include md_uptes if USPACE > PAGE_SIZE

Revision 1.120.20.2: download - view: text, markup, annotated - select for diffs
Sat Jun 20 07:20:07 2009 UTC (15 years, 10 months ago) by yamt
Branches: yamt-nfs-mp
Diff to: previous 1.120.20.1: preferred, colored; branchpoint 1.120: preferred, colored
Changes since revision 1.120.20.1: +3 -3 lines
sync with head

Revision 1.121.6.1: download - view: text, markup, annotated - select for diffs
Tue Jun 9 17:48:20 2009 UTC (15 years, 10 months ago) by snj
Branches: netbsd-5-0
CVS tags: netbsd-5-0-2-RELEASE, netbsd-5-0-1-RELEASE
Branch point for: matt-nb5-mips64
Diff to: previous 1.121: preferred, colored; next MAIN 1.122: preferred, colored
Changes since revision 1.121: +3 -3 lines
Pull up following revision(s) (requested by martin in ticket #799):
	sys/arch/mips/include/locore.h: revision 1.79
	sys/arch/mips/mips/locore_mips1.S: revision 1.65
	sys/arch/mips/mips/mipsX_subr.S: revision 1.28
	sys/arch/mips/mips/mips_machdep.c: revision 1.211
	sys/arch/mips/mips/vm_machdep.c: revision 1.123
Do not use the same trampoline for cpu_lwp_fork and cpu_setfunc - only
the former needs to call lwp_startup().

Revision 1.121.4.1: download - view: text, markup, annotated - select for diffs
Tue Jun 9 17:45:01 2009 UTC (15 years, 10 months ago) by snj
Branches: netbsd-5
CVS tags: netbsd-5-2-RELEASE, netbsd-5-2-RC1, netbsd-5-2-3-RELEASE, netbsd-5-2-2-RELEASE, netbsd-5-2-1-RELEASE, netbsd-5-2, netbsd-5-1-RELEASE, netbsd-5-1-RC4, netbsd-5-1-RC3, netbsd-5-1-RC2, netbsd-5-1-RC1, netbsd-5-1-5-RELEASE, netbsd-5-1-4-RELEASE, netbsd-5-1-3-RELEASE, netbsd-5-1-2-RELEASE, netbsd-5-1-1-RELEASE, netbsd-5-1, matt-nb5-pq3-base, matt-nb5-pq3
Diff to: previous 1.121: preferred, colored; next MAIN 1.122: preferred, colored
Changes since revision 1.121: +3 -3 lines
Pull up following revision(s) (requested by martin in ticket #799):
	sys/arch/mips/include/locore.h: revision 1.79
	sys/arch/mips/mips/locore_mips1.S: revision 1.65
	sys/arch/mips/mips/mipsX_subr.S: revision 1.28
	sys/arch/mips/mips/mips_machdep.c: revision 1.211
	sys/arch/mips/mips/vm_machdep.c: revision 1.123
Do not use the same trampoline for cpu_lwp_fork and cpu_setfunc - only
the former needs to call lwp_startup().

Revision 1.123: download - view: text, markup, annotated - select for diffs
Sat May 30 18:26:06 2009 UTC (15 years, 11 months ago) by martin
Branches: MAIN
CVS tags: yamt-nfs-mp-base6, yamt-nfs-mp-base5, jymxensuspend-base
Diff to: previous 1.122: preferred, colored
Changes since revision 1.122: +3 -3 lines
Do not use the same trampoline for cpu_lwp_fork and cpu_setfunc - only
the former needs to call lwp_startup().

Revision 1.120.20.1: download - view: text, markup, annotated - select for diffs
Mon May 4 08:11:31 2009 UTC (15 years, 11 months ago) by yamt
Branches: yamt-nfs-mp
Diff to: previous 1.120: preferred, colored
Changes since revision 1.120: +6 -47 lines
sync with head.

Revision 1.121.2.1: download - view: text, markup, annotated - select for diffs
Mon Jan 19 13:16:30 2009 UTC (16 years, 3 months ago) by skrll
Branches: nick-hppapmap
Diff to: previous 1.121: preferred, colored; next MAIN 1.122: preferred, colored
Changes since revision 1.121: +4 -47 lines
Sync with HEAD.

Revision 1.120.16.1: download - view: text, markup, annotated - select for diffs
Sat Jan 17 13:28:17 2009 UTC (16 years, 3 months ago) by mjf
Branches: mjf-devfs2
Diff to: previous 1.120: preferred, colored; next MAIN 1.121: preferred, colored
Changes since revision 1.120: +6 -47 lines
Sync with HEAD.

Revision 1.120.26.2: download - view: text, markup, annotated - select for diffs
Sat Dec 13 01:13:18 2008 UTC (16 years, 4 months ago) by haad
Branches: haad-dm
Diff to: previous 1.120.26.1: preferred, colored; branchpoint 1.120: preferred, colored; next MAIN 1.121: preferred, colored
Changes since revision 1.120.26.1: +4 -47 lines
Update haad-dm branch to haad-dm-base2.

Revision 1.122: download - view: text, markup, annotated - select for diffs
Wed Nov 19 18:36:00 2008 UTC (16 years, 5 months ago) by ad
Branches: MAIN
CVS tags: yamt-nfs-mp-base4, yamt-nfs-mp-base3, nick-hppapmap-base4, nick-hppapmap-base3, nick-hppapmap-base2, nick-hppapmap-base, mjf-devfs2-base, jym-xensuspend, haad-nbase2, haad-dm-base2, haad-dm-base, ad-audiomp2-base, ad-audiomp2
Diff to: previous 1.121: preferred, colored
Changes since revision 1.121: +4 -47 lines
Make the emulations, exec formats, coredump, NFS, and the NFS server
into modules. By and large this commit:

- shuffles header files and ifdefs
- splits code out where necessary to be modular
- adds module glue for each of the components
- adds/replaces hooks for things that can be installed at runtime

Revision 1.120.26.1: download - view: text, markup, annotated - select for diffs
Sun Oct 19 22:15:52 2008 UTC (16 years, 6 months ago) by haad
Branches: haad-dm
Diff to: previous 1.120: preferred, colored
Changes since revision 1.120: +4 -2 lines
Sync with HEAD.

Revision 1.121: download - view: text, markup, annotated - select for diffs
Wed Oct 15 06:51:18 2008 UTC (16 years, 6 months ago) by wrstuden
Branches: MAIN
CVS tags: netbsd-5-base, netbsd-5-0-RELEASE, netbsd-5-0-RC4, netbsd-5-0-RC3, netbsd-5-0-RC2, netbsd-5-0-RC1, matt-mips64-base2, haad-dm-base1
Branch point for: nick-hppapmap, netbsd-5-0, netbsd-5
Diff to: previous 1.120: preferred, colored
Changes since revision 1.120: +4 -2 lines
Merge wrstuden-revivesa into HEAD.

Revision 1.120.22.1: download - view: text, markup, annotated - select for diffs
Sat May 10 23:48:45 2008 UTC (16 years, 11 months ago) by wrstuden
Branches: wrstuden-revivesa
Diff to: previous 1.120: preferred, colored; next MAIN 1.121: preferred, colored
Changes since revision 1.120: +4 -2 lines
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.119.2.1: download - view: text, markup, annotated - select for diffs
Tue Nov 6 23:19:16 2007 UTC (17 years, 5 months ago) by matt
Branches: matt-armv6
CVS tags: matt-armv6-prevmlocking
Diff to: previous 1.119: preferred, colored; next MAIN 1.120: preferred, colored
Changes since revision 1.119: +2 -2 lines
sync with HEAD

Revision 1.120: download - view: text, markup, annotated - select for diffs
Wed Oct 17 19:55:39 2007 UTC (17 years, 6 months ago) by garbled
Branches: MAIN
CVS tags: yamt-x86pmap-base4, yamt-pf42-baseX, yamt-pf42-base4, yamt-pf42-base3, yamt-pf42-base2, yamt-pf42-base, yamt-pf42, yamt-nfs-mp-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, mjf-devfs, matt-armv6-nbase, matt-armv6-base, keiichi-mipv6-nbase, keiichi-mipv6-base, keiichi-mipv6, jmcneill-pm-base, jmcneill-base, hpcarm-cleanup-nbase, hpcarm-cleanup-base, cube-autoconf-base, cube-autoconf, bouyer-xeni386-nbase, bouyer-xeni386-merge1, bouyer-xeni386-base, bouyer-xeni386, bouyer-xenamd64-base2, bouyer-xenamd64-base, ad-socklock-base1
Branch point for: yamt-nfs-mp, wrstuden-revivesa, mjf-devfs2, haad-dm
Diff to: previous 1.119: preferred, colored
Changes since revision 1.119: +2 -2 lines
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.116.10.2: download - view: text, markup, annotated - select for diffs
Wed Oct 3 19:24:25 2007 UTC (17 years, 6 months ago) by garbled
Branches: ppcoea-renovation
Diff to: previous 1.116.10.1: preferred, colored; branchpoint 1.116: preferred, colored; next MAIN 1.117: preferred, colored
Changes since revision 1.116.10.1: +6 -4 lines
Sync with HEAD

Revision 1.118.4.1: download - view: text, markup, annotated - select for diffs
Mon Sep 3 16:47:34 2007 UTC (17 years, 7 months ago) by jmcneill
Branches: jmcneill-pm
Diff to: previous 1.118: preferred, colored; next MAIN 1.119: preferred, colored
Changes since revision 1.118: +6 -2 lines
Sync with HEAD.

Revision 1.108.2.4: download - view: text, markup, annotated - select for diffs
Mon Sep 3 14:28:04 2007 UTC (17 years, 7 months ago) by yamt
Branches: yamt-lazymbuf
Diff to: previous 1.108.2.3: preferred, colored; branchpoint 1.108: preferred, colored; next MAIN 1.109: preferred, colored
Changes since revision 1.108.2.3: +18 -32 lines
sync with head.

Revision 1.117.4.2: download - view: text, markup, annotated - select for diffs
Mon Sep 3 10:19:28 2007 UTC (17 years, 7 months ago) by skrll
Branches: nick-csl-alignment
Diff to: previous 1.117.4.1: preferred, colored; branchpoint 1.117: preferred, colored; next MAIN 1.118: preferred, colored
Changes since revision 1.117.4.1: +6 -2 lines
Sync with HEAD.

Revision 1.116.2.3: download - view: text, markup, annotated - select for diffs
Mon Aug 20 18:38:31 2007 UTC (17 years, 8 months ago) by ad
Branches: vmlocking
Diff to: previous 1.116.2.2: preferred, colored; branchpoint 1.116: preferred, colored; next MAIN 1.117: preferred, colored
Changes since revision 1.116.2.2: +6 -2 lines
Sync with HEAD.

Revision 1.116.2.2: download - view: text, markup, annotated - select for diffs
Sun Aug 19 19:18:59 2007 UTC (17 years, 8 months ago) by ad
Branches: vmlocking
Diff to: previous 1.116.2.1: preferred, colored; branchpoint 1.116: preferred, colored
Changes since revision 1.116.2.1: +2 -4 lines
Pull up a change from HEAD: don't start new LWPs with interrupts enabled.

Revision 1.119: download - view: text, markup, annotated - select for diffs
Fri Aug 17 23:58:46 2007 UTC (17 years, 8 months ago) by ad
Branches: MAIN
CVS tags: yamt-x86pmap-base3, yamt-x86pmap-base2, yamt-x86pmap-base, yamt-x86pmap, vmlocking-base, ppcoea-renovation-base, nick-csl-alignment-base5, bouyer-xenamd64
Branch point for: matt-armv6
Diff to: previous 1.118: preferred, colored
Changes since revision 1.118: +6 -2 lines
cpu_lwp_fork: don't rely on struct mdlwp being zeroed in advance.

Revision 1.117.4.1: download - view: text, markup, annotated - select for diffs
Wed Aug 15 13:47:31 2007 UTC (17 years, 8 months ago) by skrll
Branches: nick-csl-alignment
Diff to: previous 1.117: preferred, colored
Changes since revision 1.117: +2 -4 lines
Sync with HEAD.

Revision 1.117.2.1: download - view: text, markup, annotated - select for diffs
Tue Aug 7 18:05:30 2007 UTC (17 years, 8 months ago) by matt
Branches: matt-mips64
Diff to: previous 1.117: preferred, colored; next MAIN 1.118: preferred, colored
Changes since revision 1.117: +2 -4 lines
Sync with HEAD.

Revision 1.118: download - view: text, markup, annotated - select for diffs
Wed Jul 18 13:46:46 2007 UTC (17 years, 9 months ago) by tsutsui
Branches: MAIN
CVS tags: matt-mips64-base, hpcarm-cleanup
Branch point for: jmcneill-pm
Diff to: previous 1.117: preferred, colored
Changes since revision 1.117: +2 -4 lines
Don't set PSL_LOWIPL to SR on switching to lwp_trampoline().
If interrupts are enabled when kernel is switched to lwp_trampoline(),
we could get lock errors by interrupts before lwp_unlock() in lwp_startup()
is called. The spl is lowered by spl0() in lwp_startup() after lwp_unlock().

Ok'ed by mhitch@ and ad@ on port-mips.

Revision 1.116.4.1: download - view: text, markup, annotated - select for diffs
Wed Jul 11 20:00:52 2007 UTC (17 years, 9 months ago) by mjf
Branches: mjf-ufs-trans
Diff to: previous 1.116: preferred, colored; next MAIN 1.117: preferred, colored
Changes since revision 1.116: +10 -26 lines
Sync with head.

Revision 1.116.2.1: download - view: text, markup, annotated - select for diffs
Sun May 27 12:27:49 2007 UTC (17 years, 11 months ago) by ad
Branches: vmlocking
Diff to: previous 1.116: preferred, colored
Changes since revision 1.116: +10 -26 lines
Sync with head.

Revision 1.116.10.1: download - view: text, markup, annotated - select for diffs
Tue May 22 17:27:13 2007 UTC (17 years, 11 months ago) by matt
Branches: ppcoea-renovation
Diff to: previous 1.116: preferred, colored
Changes since revision 1.116: +10 -26 lines
Update to HEAD.

Revision 1.117: download - view: text, markup, annotated - select for diffs
Thu May 17 14:51:25 2007 UTC (17 years, 11 months ago) by yamt
Branches: MAIN
CVS tags: nick-csl-alignment-base, mjf-ufs-trans-base
Branch point for: nick-csl-alignment, matt-mips64
Diff to: previous 1.116: preferred, colored
Changes since revision 1.116: +10 -26 lines
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.113.2.3: download - view: text, markup, annotated - select for diffs
Wed Apr 18 20:27:55 2007 UTC (18 years ago) by ad
Branches: yamt-idlelwp
Diff to: previous 1.113.2.2: preferred, colored; branchpoint 1.113: preferred, colored; next MAIN 1.114: preferred, colored
Changes since revision 1.113.2.2: +8 -6 lines
- Further adaptations to MIPS for the yamt-idlelwp branch.
- Make curlwp a register variable on MIPS.

Revision 1.113.2.2: download - view: text, markup, annotated - select for diffs
Wed Mar 21 21:21:43 2007 UTC (18 years, 1 month ago) by ad
Branches: yamt-idlelwp
Diff to: previous 1.113.2.1: preferred, colored; branchpoint 1.113: preferred, colored
Changes since revision 1.113.2.1: +4 -22 lines
Initial changes for MIPS. Not yet working under gxemul.

Revision 1.113.2.1: download - view: text, markup, annotated - select for diffs
Mon Mar 12 05:49:23 2007 UTC (18 years, 1 month ago) by rmind
Branches: yamt-idlelwp
Diff to: previous 1.113: preferred, colored
Changes since revision 1.113: +6 -6 lines
Sync with HEAD.

Revision 1.116: download - view: text, markup, annotated - select for diffs
Sun Mar 4 12:33:32 2007 UTC (18 years, 1 month ago) by tsutsui
Branches: MAIN
CVS tags: yamt-idlelwp-base8, thorpej-atomic-base, thorpej-atomic, reinoud-bufcleanup
Branch point for: vmlocking, ppcoea-renovation, mjf-ufs-trans
Diff to: previous 1.115: preferred, colored
Changes since revision 1.115: +4 -4 lines
Use (char *) on pointer arith.

Revision 1.115: download - view: text, markup, annotated - select for diffs
Sun Mar 4 06:00:12 2007 UTC (18 years, 1 month ago) by christos
Branches: MAIN
Diff to: previous 1.114: preferred, colored
Changes since revision 1.114: +5 -5 lines
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.

Revision 1.114: download - view: text, markup, annotated - select for diffs
Wed Feb 28 04:21:54 2007 UTC (18 years, 2 months ago) by thorpej
Branches: MAIN
Diff to: previous 1.113: preferred, colored
Changes since revision 1.113: +3 -3 lines
TRUE -> true, FALSE -> false

Revision 1.108.2.3: download - view: text, markup, annotated - select for diffs
Mon Feb 26 09:07:31 2007 UTC (18 years, 2 months ago) by yamt
Branches: yamt-lazymbuf
Diff to: previous 1.108.2.2: preferred, colored; branchpoint 1.108: preferred, colored
Changes since revision 1.108.2.2: +9 -4 lines
sync with head.

Revision 1.113: download - view: text, markup, annotated - select for diffs
Fri Feb 9 21:55:06 2007 UTC (18 years, 2 months ago) by ad
Branches: MAIN
CVS tags: post-newlock2-merge, ad-audiomp-base, ad-audiomp
Branch point for: yamt-idlelwp
Diff to: previous 1.112: preferred, colored
Changes since revision 1.112: +9 -4 lines
Merge newlock2 to head.

Revision 1.112.2.2: download - view: text, markup, annotated - select for diffs
Tue Jan 30 13:49:36 2007 UTC (18 years, 3 months ago) by ad
Branches: newlock2
Diff to: previous 1.112.2.1: preferred, colored; branchpoint 1.112: preferred, colored; next MAIN 1.113: preferred, colored
Changes since revision 1.112.2.1: +2 -4 lines
Remove support for SA. Ok core@.

Revision 1.112.2.1: download - view: text, markup, annotated - select for diffs
Sat Jan 27 14:00:51 2007 UTC (18 years, 3 months ago) by ad
Branches: newlock2
Diff to: previous 1.112: preferred, colored
Changes since revision 1.112: +9 -2 lines
Make mips systems work.

Revision 1.108.2.2: download - view: text, markup, annotated - select for diffs
Sat Dec 30 20:46:33 2006 UTC (18 years, 4 months ago) by yamt
Branches: yamt-lazymbuf
Diff to: previous 1.108.2.1: preferred, colored; branchpoint 1.108: preferred, colored
Changes since revision 1.108.2.1: +16 -13 lines
sync with head.

Revision 1.109.4.1: download - view: text, markup, annotated - select for diffs
Sat Sep 9 02:41:26 2006 UTC (18 years, 7 months ago) by rpaulo
Branches: rpaulo-netinet-merge-pcb
Diff to: previous 1.109: preferred, colored; next MAIN 1.110: preferred, colored
Changes since revision 1.109: +18 -22 lines
sync with head

Revision 1.109.8.2: download - view: text, markup, annotated - select for diffs
Sun Sep 3 15:23:21 2006 UTC (18 years, 7 months ago) by yamt
Branches: yamt-pdpolicy
Diff to: previous 1.109.8.1: preferred, colored; branchpoint 1.109: preferred, colored; next MAIN 1.110: preferred, colored
Changes since revision 1.109.8.1: +16 -13 lines
sync with head.

Revision 1.112: download - view: text, markup, annotated - select for diffs
Thu Aug 31 16:49:21 2006 UTC (18 years, 8 months ago) by matt
Branches: 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, wrstuden-fixsa-newbase, wrstuden-fixsa-base-1, wrstuden-fixsa-base, wrstuden-fixsa, rpaulo-netinet-merge-pcb-base, newlock2-nbase, newlock2-base, netbsd-4-base, netbsd-4-0-RELEASE, netbsd-4-0-RC5, netbsd-4-0-RC4, netbsd-4-0-RC3, netbsd-4-0-RC2, netbsd-4-0-RC1, netbsd-4-0-1-RELEASE, netbsd-4-0, netbsd-4, matt-nb4-arm-base, matt-nb4-arm
Branch point for: newlock2
Diff to: previous 1.111: preferred, colored
Changes since revision 1.111: +5 -2 lines
Make cpu_coredump dependent on COREDUMP

Revision 1.111: download - view: text, markup, annotated - select for diffs
Sat Aug 26 20:18:36 2006 UTC (18 years, 8 months ago) by matt
Branches: MAIN
Diff to: previous 1.110: preferred, colored
Changes since revision 1.110: +13 -13 lines
Use vaddr_t for virtual addresses.  Don't cast pointers with int or
unsigned, use intptr_t or uintptr_t as appropriate.

Revision 1.108.2.1: download - view: text, markup, annotated - select for diffs
Wed Jun 21 14:53:44 2006 UTC (18 years, 10 months ago) by yamt
Branches: yamt-lazymbuf
Diff to: previous 1.108: preferred, colored
Changes since revision 1.108: +4 -11 lines
sync with head.

Revision 1.109.6.1: download - view: text, markup, annotated - select for diffs
Sat Apr 22 11:37:42 2006 UTC (19 years ago) by simonb
Branches: simonb-timecounters
CVS tags: simonb-timcounters-final
Diff to: previous 1.109: preferred, colored; next MAIN 1.110: preferred, colored
Changes since revision 1.109: +4 -11 lines
Sync with head.

Revision 1.109.10.1: download - view: text, markup, annotated - select for diffs
Wed Apr 19 02:33:18 2006 UTC (19 years ago) by elad
Branches: elad-kernelauth
Diff to: previous 1.109: preferred, colored; next MAIN 1.110: preferred, colored
Changes since revision 1.109: +4 -11 lines
sync with head - hopefully this will work

Revision 1.109.8.1: download - view: text, markup, annotated - select for diffs
Sat Apr 1 12:06:22 2006 UTC (19 years, 1 month ago) by yamt
Branches: yamt-pdpolicy
Diff to: previous 1.109: preferred, colored
Changes since revision 1.109: +4 -11 lines
sync with head.

Revision 1.109.12.1: download - view: text, markup, annotated - select for diffs
Fri Mar 31 09:45:05 2006 UTC (19 years, 1 month ago) by tron
Branches: peter-altq
Diff to: previous 1.109: preferred, colored; next MAIN 1.110: preferred, colored
Changes since revision 1.109: +4 -11 lines
Merge 2006-03-31 NetBSD-current into the "peter-altq" branch.

Revision 1.110: download - view: text, markup, annotated - select for diffs
Thu Mar 30 04:05:05 2006 UTC (19 years, 1 month ago) by chs
Branches: MAIN
CVS tags: yamt-pdpolicy-base7, yamt-pdpolicy-base6, yamt-pdpolicy-base5, yamt-pdpolicy-base4, yamt-pdpolicy-base3, simonb-timecounters-base, gdamore-uart-base, gdamore-uart, elad-kernelauth-base, chap-midi-nbase, chap-midi-base, chap-midi, abandoned-netbsd-4-base, abandoned-netbsd-4
Diff to: previous 1.109: preferred, colored
Changes since revision 1.109: +4 -11 lines
use uvm_km_alloc() instead of uvm_map().

Revision 1.109: download - view: text, markup, annotated - select for diffs
Sun Dec 11 12:18:09 2005 UTC (19 years, 4 months ago) by christos
Branches: MAIN
CVS tags: yamt-uio_vmspace-base5, yamt-uio_vmspace, yamt-pdpolicy-base2, yamt-pdpolicy-base, peter-altq-base
Branch point for: yamt-pdpolicy, simonb-timecounters, rpaulo-netinet-merge-pcb, peter-altq, elad-kernelauth
Diff to: previous 1.108: preferred, colored
Changes since revision 1.108: +2 -2 lines
merge ktrace-lwp.

Revision 1.105.8.1: download - view: text, markup, annotated - select for diffs
Mon Nov 21 20:02:26 2005 UTC (19 years, 5 months ago) by tron
Branches: netbsd-3
CVS tags: 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-3-RELEASE, netbsd-3-0-2-RELEASE, netbsd-3-0-1-RELEASE, netbsd-3-0
Diff to: previous 1.105: preferred, colored; next MAIN 1.106: preferred, colored
Changes since revision 1.105: +2 -14 lines
Pull up following revision(s) (requested by tsutsui in ticket #961):
	sys/arch/mips/mips/cache.c: revision 1.27
	sys/arch/mips/include/cache.h: revision 1.8
	sys/arch/mips/mips/pmap.c: revision 1.158
	sys/arch/mips/mips/vm_machdep.c: revision 1.106
	sys/arch/mips/mips/mem.c: revision 1.30
	sys/arch/mips/include/pmap.h: revision 1.47
Add a workaround to handle virtual alias which may cause data corruption
on R5000/Rm52xx machines:
- Add a new global variable mips_cache_virtual_alias in mips/cache.c,
  which indicates that VIPT cache on the CPU could cause virtual alias
  and software support is required to handle it. (i.e. no VCED/VCEI)
- Add several cache flush/invalidate ops around KSEG0 access which
  might cause virtual alias if mips_cache_virtual_alias is true.
  (note checking mips_sdcache_line_size isn't valid for R5000/Rm52xx
   because only R4000/R4400 with L2 cache have VCED/VCEI)
- Remove a global variable mips_sdcache_forceinv, which is now superseded
  by new mips_cache_virtual_alias.
While here, also change some R4000/R4400 cache ops:
- Don't override mips_cache_alias_mask and mips_cache_prefer_mask with
  values based on MIPS3_MAX_PCACHE_SIZE for R4000/R4400 with L2 cache
  because it's still worth to reduce VCED/VCEI.
- Flush dcache in pmap_zero_page(9) unconditionally on all MIPS_HAS_R4K_MMU
  CPUs and remove cache flush code from cpu_lwp_fork() in vm_machdep.c.
Thanks to Markus W Kilbinger for testing patches on port-cobalt/port-mips.
XXX This fix is just a workaround because it doesn't handle all possible
XXX virtual aliases. As discussed on port-mips, maybe the real fix
XXX for virtual alias is to change MI UVM to adapt it to VIPT cache.
XXX (all VA mappings against the same PA must have the same VAC index etc.)

Revision 1.97.2.8: download - view: text, markup, annotated - select for diffs
Thu Nov 10 13:57:34 2005 UTC (19 years, 5 months ago) by skrll
Branches: ktrace-lwp
Diff to: previous 1.97.2.7: preferred, colored; next MAIN 1.98: preferred, colored
Changes since revision 1.97.2.7: +16 -21 lines
Sync with HEAD. Here we go again...

Revision 1.108: download - view: text, markup, annotated - select for diffs
Fri Jun 10 05:10:12 2005 UTC (19 years, 10 months ago) by matt
Branches: 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
Branch point for: yamt-lazymbuf
Diff to: previous 1.107: preferred, colored
Changes since revision 1.107: +16 -21 lines
Rework the coredump code to have no explicit knownledge of how coredump
i/o is done.  Instead, pass an opaque cookie which is then passed to a
new routine, coredump_write, which does the actual i/o.  This allows the
method of doing i/o to change without affecting any future MD code.
Also, make netbsd32_core.c [re]use core_netbsd.c (in a similar manner that
core_elf64.c uses core_elf32.c) and eliminate that code duplication.
cpu_coredump{,32} is now called twice, first with a NULL iocookie to fill
the core structure and a second to actually write md parts of the coredump.
All i/o is nolonger random access and is suitable for shipping over a stream.

Revision 1.105.2.1: download - view: text, markup, annotated - select for diffs
Fri Apr 29 11:28:16 2005 UTC (20 years ago) by kent
Branches: kent-audio2
Diff to: previous 1.105: preferred, colored; next MAIN 1.106: preferred, colored
Changes since revision 1.105: +10 -16 lines
sync with -current

Revision 1.97.2.7: download - view: text, markup, annotated - select for diffs
Fri Apr 1 14:27:54 2005 UTC (20 years, 1 month ago) by skrll
Branches: ktrace-lwp
Diff to: previous 1.97.2.6: preferred, colored
Changes since revision 1.97.2.6: +10 -16 lines
Sync with HEAD.

Revision 1.107: download - view: text, markup, annotated - select for diffs
Fri Apr 1 11:59:33 2005 UTC (20 years, 1 month ago) by yamt
Branches: MAIN
CVS tags: kent-audio2-base
Diff to: previous 1.106: preferred, colored
Changes since revision 1.106: +10 -4 lines
merge yamt-km branch.
- don't use managed mappings/backing objects for wired memory allocations.
  save some resources like pv_entry.  also fix (most of) PR/27030.
- simplify kernel memory management API.
- simplify pmap bootstrap of some ports.
- some related cleanups.

Revision 1.105.4.3: download - view: text, markup, annotated - select for diffs
Sat Mar 26 18:19:17 2005 UTC (20 years, 1 month ago) by yamt
Branches: yamt-km
Diff to: previous 1.105.4.2: preferred, colored; branchpoint 1.105: preferred, colored; next MAIN 1.106: preferred, colored
Changes since revision 1.105.4.2: +0 -12 lines
sync with head.

Revision 1.106: download - view: text, markup, annotated - select for diffs
Sat Mar 26 09:51:02 2005 UTC (20 years, 1 month ago) by tsutsui
Branches: MAIN
CVS tags: yamt-km-base4
Diff to: previous 1.105: preferred, colored
Changes since revision 1.105: +2 -14 lines
Add a workaround to handle virtual alias which may cause data corruption
on R5000/Rm52xx machines:
- Add a new global variable mips_cache_virtual_alias in mips/cache.c,
  which indicates that VIPT cache on the CPU could cause virtual alias
  and software support is required to handle it. (i.e. no VCED/VCEI)
- Add several cache flush/invalidate ops around KSEG0 access which
  might cause virtual alias if mips_cache_virtual_alias is true.
  (note checking mips_sdcache_line_size isn't valid for R5000/Rm52xx
   because only R4000/R4400 with L2 cache have VCED/VCEI)
- Remove a global variable mips_sdcache_forceinv, which is now superseded
  by new mips_cache_virtual_alias.

While here, also change some R4000/R4400 cache ops:
- Don't override mips_cache_alias_mask and mips_cache_prefer_mask with
  values based on MIPS3_MAX_PCACHE_SIZE for R4000/R4400 with L2 cache
  because it's still worth to reduce VCED/VCEI.
- Flush dcache in pmap_zero_page(9) unconditionally on all MIPS_HAS_R4K_MMU
  CPUs and remove cache flush code from cpu_lwp_fork() in vm_machdep.c.

Thanks to Markus W Kilbinger for testing patches on port-cobalt/port-mips.


XXX This fix is just a workaround because it doesn't handle all possible
XXX virtual aliases. As discussed on port-mips, maybe the real fix
XXX for virtual alias is to change MI UVM to adapt it to VIPT cache.
XXX (all VA mappings against the same PA must have the same VAC index etc.)

Revision 1.105.4.2: download - view: text, markup, annotated - select for diffs
Wed Mar 9 23:06:13 2005 UTC (20 years, 1 month ago) by yamt
Branches: yamt-km
Diff to: previous 1.105.4.1: preferred, colored; branchpoint 1.105: preferred, colored
Changes since revision 1.105.4.1: +4 -3 lines
vunmapbuf: unmap correct range.

Revision 1.105.4.1: download - view: text, markup, annotated - select for diffs
Mon Jan 31 12:15:52 2005 UTC (20 years, 3 months ago) by yamt
Branches: yamt-km
Diff to: previous 1.105: preferred, colored
Changes since revision 1.105: +9 -4 lines
convert arch/mips to new apis.

Revision 1.97.2.6: download - view: text, markup, annotated - select for diffs
Mon Jan 17 19:29:58 2005 UTC (20 years, 3 months ago) by skrll
Branches: ktrace-lwp
Diff to: previous 1.97.2.5: preferred, colored
Changes since revision 1.97.2.5: +3 -3 lines
Sync with HEAD.

Revision 1.105: download - view: text, markup, annotated - select for diffs
Sat Jan 1 03:25:46 2005 UTC (20 years, 4 months ago) by simonb
Branches: MAIN
CVS tags: yamt-km-base3, yamt-km-base2, yamt-km-base, netbsd-3-base, netbsd-3-0-RC1, kent-audio1-beforemerge
Branch point for: yamt-km, netbsd-3, kent-audio2
Diff to: previous 1.104: preferred, colored
Changes since revision 1.104: +3 -3 lines
Use "NULL" instead of "(something-or-other *)0".

Revision 1.97.2.5: download - view: text, markup, annotated - select for diffs
Tue Sep 21 13:18:52 2004 UTC (20 years, 7 months ago) by skrll
Branches: ktrace-lwp
Diff to: previous 1.97.2.4: preferred, colored
Changes since revision 1.97.2.4: +2 -2 lines
Fix the sync with head I botched.

Revision 1.97.2.4: download - view: text, markup, annotated - select for diffs
Sat Sep 18 14:37:26 2004 UTC (20 years, 7 months ago) by skrll
Branches: ktrace-lwp
Diff to: previous 1.97.2.3: preferred, colored
Changes since revision 1.97.2.3: +4 -4 lines
Sync with HEAD.

Revision 1.104: download - view: text, markup, annotated - select for diffs
Fri Sep 17 14:11:21 2004 UTC (20 years, 7 months ago) by skrll
Branches: MAIN
CVS tags: kent-audio1-base, kent-audio1
Diff to: previous 1.103: preferred, colored
Changes since revision 1.103: +4 -5 lines
There's no need to pass a proc value when using UIO_SYSSPACE with
vn_rdwr(9) and uiomove(9).

OK'd by Jason Thorpe

Revision 1.97.2.3: download - view: text, markup, annotated - select for diffs
Fri Sep 3 12:44:57 2004 UTC (20 years, 7 months ago) by skrll
Branches: ktrace-lwp
Diff to: previous 1.97.2.2: preferred, colored
Changes since revision 1.97.2.2: +2 -35 lines
Sync with HEAD

Revision 1.103: download - view: text, markup, annotated - select for diffs
Sat Aug 28 22:12:41 2004 UTC (20 years, 8 months ago) by thorpej
Branches: MAIN
Diff to: previous 1.102: preferred, colored
Changes since revision 1.102: +2 -35 lines
Garbage-collect pagemove(); nothing use it anymore (YAY!!!)

Revision 1.97.2.2: download - view: text, markup, annotated - select for diffs
Tue Aug 3 10:37:51 2004 UTC (20 years, 8 months ago) by skrll
Branches: ktrace-lwp
Diff to: previous 1.97.2.1: preferred, colored
Changes since revision 1.97.2.1: +65 -43 lines
Sync with HEAD

Revision 1.102: download - view: text, markup, annotated - select for diffs
Sat Feb 28 16:02:03 2004 UTC (21 years, 2 months ago) by simonb
Branches: 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
Diff to: previous 1.101: preferred, colored
Changes since revision 1.101: +3 -3 lines
Catch up with the November 2002 (!!) change to remove ABI exposure
from cpu_fork and the proc trampoline.  pthreads programs that fork
now work (at least the regress test case does).
Program reported by Florian Stöhr on port-sgimips.

Revision 1.101: download - view: text, markup, annotated - select for diffs
Sat Feb 28 15:44:34 2004 UTC (21 years, 2 months ago) by simonb
Branches: MAIN
Diff to: previous 1.100: preferred, colored
Changes since revision 1.100: +19 -34 lines
ANSIfy, wrap long lines.

Revision 1.100: download - view: text, markup, annotated - select for diffs
Sun Jan 4 11:33:30 2004 UTC (21 years, 3 months ago) by jdolecek
Branches: MAIN
Diff to: previous 1.99: preferred, colored
Changes since revision 1.99: +12 -9 lines
Rearrange process exit path to avoid need to free resources from different
process context ('reaper').

From within the exiting process context:
* deactivate pmap and free vmspace while we can still block
* introduce MD cpu_lwp_free() - this cleans all MD-specific context (such
  as FPU state), and is the last potentially blocking operation;
  all of cpu_wait(), and most of cpu_exit(), is now folded into cpu_lwp_free()
* process is now immediatelly marked as zombie and made available for pickup
  by parent; the remaining last lwp continues the exit as fully detached
* MI (rather than MD) code bumps uvmexp.swtch, cpu_exit() is now same
  for both 'process' and 'lwp' exit

uvm_lwp_exit() is modified to never block; the u-area memory is now
always just linked to the list of available u-areas. Introduce (blocking)
uvm_uarea_drain(), which is called to release the excessive u-area memory;
this is called by parent within wait4(), or by pagedaemon on memory shortage.
uvm_uarea_free() is now private function within uvm_glue.c.

MD process/lwp exit code now always calls lwp_exit2() immediatelly after
switching away from the exiting lwp.

g/c now unneeded routines and variables, including the reaper kernel thread

Revision 1.99: download - view: text, markup, annotated - select for diffs
Wed Nov 26 08:36:51 2003 UTC (21 years, 5 months ago) by he
Branches: MAIN
Diff to: previous 1.98: preferred, colored
Changes since revision 1.98: +3 -3 lines
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.98: download - view: text, markup, annotated - select for diffs
Thu Aug 7 16:28:34 2003 UTC (21 years, 8 months ago) by agc
Branches: MAIN
Diff to: previous 1.97: preferred, colored
Changes since revision 1.97: +37 -3 lines
Move UCB-licensed code from 4-clause to 3-clause licence.

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

Revision 1.97.2.1: download - view: text, markup, annotated - select for diffs
Thu Jul 3 02:01:20 2003 UTC (21 years, 10 months ago) by wrstuden
Branches: ktrace-lwp
Diff to: previous 1.97: preferred, colored
Changes since revision 1.97: +4 -5 lines
LWP-ify to get algor/P4032 working.

Revision 1.97: download - view: text, markup, annotated - select for diffs
Sun Jun 29 22:28:39 2003 UTC (21 years, 10 months ago) by fvdl
Branches: MAIN
Branch point for: ktrace-lwp
Diff to: previous 1.96: preferred, colored
Changes since revision 1.96: +3 -2 lines
Back out the lwp/ktrace changes. They contained a lot of colateral damage,
and need to be examined and discussed more.

Revision 1.96: download - view: text, markup, annotated - select for diffs
Sun Jun 29 09:24:54 2003 UTC (21 years, 10 months ago) by simonb
Branches: MAIN
Diff to: previous 1.95: preferred, colored
Changes since revision 1.95: +4 -5 lines
Fix more needless 'struct proc *' to 'struct lwp *' fallout.

Revision 1.95: download - view: text, markup, annotated - select for diffs
Wed Apr 2 03:27:35 2003 UTC (22 years, 1 month ago) by thorpej
Branches: MAIN
Diff to: previous 1.94: preferred, colored
Changes since revision 1.94: +5 -5 lines
Use PAGE_SIZE rather than NBPG.

Revision 1.94: download - view: text, markup, annotated - select for diffs
Wed Jan 22 13:55:09 2003 UTC (22 years, 3 months ago) by simonb
Branches: MAIN
Diff to: previous 1.93: preferred, colored
Changes since revision 1.93: +4 -4 lines
Assign to pcb->pcb_context[] in the same order in cpu_lwp_fork() and
cpu_setfunc().

Revision 1.93: download - view: text, markup, annotated - select for diffs
Fri Jan 17 23:36:20 2003 UTC (22 years, 3 months ago) by thorpej
Branches: MAIN
Diff to: previous 1.92: preferred, colored
Changes since revision 1.92: +65 -34 lines
Merge the nathanw_sa branch.

Revision 1.85.2.10: download - view: text, markup, annotated - select for diffs
Fri Jan 3 21:34:06 2003 UTC (22 years, 3 months ago) by thorpej
Branches: nathanw_sa
CVS tags: nathanw_sa_end
Diff to: previous 1.85.2.9: preferred, colored; next MAIN 1.86: preferred, colored
Changes since revision 1.85.2.9: +4 -8 lines
Merge switch_exit() and switch_lwp_exit().

Revision 1.85.2.9: download - view: text, markup, annotated - select for diffs
Wed Dec 11 06:11:15 2002 UTC (22 years, 4 months ago) by thorpej
Branches: nathanw_sa
Diff to: previous 1.85.2.8: preferred, colored
Changes since revision 1.85.2.8: +3 -4 lines
Sync with HEAD.

Revision 1.92: download - view: text, markup, annotated - select for diffs
Tue Nov 12 14:00:42 2002 UTC (22 years, 5 months ago) by nisimura
Branches: MAIN
CVS tags: nathanw_sa_before_merge, nathanw_sa_base, gmcgarry_ucred_base, gmcgarry_ucred, gmcgarry_ctxsw_base, gmcgarry_ctxsw, fvdl_fs64_base
Diff to: previous 1.91: preferred, colored
Changes since revision 1.91: +3 -4 lines
Remove o32 stack layout exposure form cpu_fork().
Tested on R4000 and R3000.

Revision 1.85.2.8: download - view: text, markup, annotated - select for diffs
Mon Nov 11 22:00:55 2002 UTC (22 years, 5 months ago) by nathanw
Branches: nathanw_sa
Diff to: previous 1.85.2.7: preferred, colored
Changes since revision 1.85.2.7: +32 -30 lines
Catch up to -current

Revision 1.91: download - view: text, markup, annotated - select for diffs
Sun Nov 10 05:29:18 2002 UTC (22 years, 5 months ago) by nisimura
Branches: MAIN
Diff to: previous 1.90: preferred, colored
Changes since revision 1.90: +5 -4 lines
Change pmap_kenter_pa/pmap_kremove pair back to pmap_enter/pmap_remove
in fear of the case choosen kva results in occupying inconsistent
distinctive cache lines of uva.

Revision 1.90: download - view: text, markup, annotated - select for diffs
Sun Nov 10 02:27:50 2002 UTC (22 years, 5 months ago) by nisimura
Branches: MAIN
Diff to: previous 1.89: preferred, colored
Changes since revision 1.89: +30 -29 lines
Use pmap_enter_pa and pmap_kremove for vmapbuf/vunmapbuf, respectively.
Have variable names renamed for the logic clarity.

Revision 1.89: download - view: text, markup, annotated - select for diffs
Sat Nov 9 19:35:52 2002 UTC (22 years, 5 months ago) by thorpej
Branches: MAIN
Diff to: previous 1.88: preferred, colored
Changes since revision 1.88: +3 -3 lines
Fix signed/unsigned comparison warnings.

Revision 1.85.2.7: download - view: text, markup, annotated - select for diffs
Mon Jun 24 22:06:07 2002 UTC (22 years, 10 months ago) by nathanw
Branches: nathanw_sa
Diff to: previous 1.85.2.6: preferred, colored
Changes since revision 1.85.2.6: +9 -9 lines
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.85.2.6: download - view: text, markup, annotated - select for diffs
Fri Jun 21 06:24:37 2002 UTC (22 years, 10 months ago) by gmcgarry
Branches: nathanw_sa
Diff to: previous 1.85.2.5: preferred, colored
Changes since revision 1.85.2.5: +3 -2 lines
Pull in <sys/sa.h>

Revision 1.85.2.5: download - view: text, markup, annotated - select for diffs
Mon Apr 1 07:41:14 2002 UTC (23 years, 1 month ago) by nathanw
Branches: nathanw_sa
Diff to: previous 1.85.2.4: preferred, colored
Changes since revision 1.85.2.4: +11 -13 lines
Catch up to -current.
(CVS: It's not just a program. It's an adventure!)

Revision 1.80.2.4: download - view: text, markup, annotated - select for diffs
Sat Mar 16 15:58:44 2002 UTC (23 years, 1 month ago) by jdolecek
Branches: kqueue
Diff to: previous 1.80.2.3: preferred, colored; next MAIN 1.81: preferred, colored
Changes since revision 1.80.2.3: +10 -12 lines
Catch up with -current.

Revision 1.88: download - view: text, markup, annotated - select for diffs
Tue Mar 5 15:57:20 2002 UTC (23 years, 1 month ago) by simonb
Branches: MAIN
CVS tags: newlock-base, newlock, 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, kqueue-beforemerge, kqueue-base, kqueue-aftermerge, gehenna-devsw-base, gehenna-devsw, eeh-devprop-base, eeh-devprop
Diff to: previous 1.87: preferred, colored
Changes since revision 1.87: +10 -10 lines
Add support for MIPS32 and MIPS64 architectures:
 - Move away from using CPUISMIPS3; use MIPS_HAS_R4K_MMU instead.
 - ANSIfy.

Revision 1.87: download - view: text, markup, annotated - select for diffs
Mon Mar 4 02:43:24 2002 UTC (23 years, 2 months ago) by simonb
Branches: MAIN
Diff to: previous 1.86: preferred, colored
Changes since revision 1.86: +2 -4 lines
Don't need to declare phys_map - it is declared in <uvm/uvm_extern.h>.

Revision 1.80.2.3: download - view: text, markup, annotated - select for diffs
Thu Jan 10 19:46:14 2002 UTC (23 years, 3 months ago) by thorpej
Branches: kqueue
Diff to: previous 1.80.2.2: preferred, colored
Changes since revision 1.80.2.2: +13 -7 lines
Sync kqueue branch with -current.

Revision 1.85.2.4: download - view: text, markup, annotated - select for diffs
Tue Jan 8 00:26:27 2002 UTC (23 years, 3 months ago) by nathanw
Branches: nathanw_sa
Diff to: previous 1.85.2.3: preferred, colored
Changes since revision 1.85.2.3: +3 -3 lines
Catch up to -current.

Revision 1.85.2.3: download - view: text, markup, annotated - select for diffs
Sat Dec 8 04:22:21 2001 UTC (23 years, 4 months ago) by thorpej
Branches: nathanw_sa
Diff to: previous 1.85.2.2: preferred, colored
Changes since revision 1.85.2.2: +4 -4 lines
cpu_fork() -> cpu_lwp_fork().  This logically forks an LWP, not a
complete process.  As noted by Gregory McGarry on tech-kern.

Revision 1.86: download - view: text, markup, annotated - select for diffs
Wed Nov 28 08:49:19 2001 UTC (23 years, 5 months ago) by nisimura
Branches: MAIN
CVS tags: ifpoll-base
Diff to: previous 1.85: preferred, colored
Changes since revision 1.85: +3 -3 lines
Fix a small typo in comment.

Revision 1.85.2.2: download - view: text, markup, annotated - select for diffs
Sat Nov 17 23:43:45 2001 UTC (23 years, 5 months ago) by wdk
Branches: nathanw_sa
Diff to: previous 1.85.2.1: preferred, colored
Changes since revision 1.85.2.1: +425 -0 lines
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.85.2.1
Wed Nov 14 18:15:27 2001 UTC (23 years, 5 months ago) by wdk
Branches: nathanw_sa
FILE REMOVED
Changes since revision 1.85: +0 -391 lines
file vm_machdep.c was added on branch nathanw_sa on 2001-11-17 23:43:45 +0000

Revision 1.85: download - view: text, markup, annotated - select for diffs
Wed Nov 14 18:15:27 2001 UTC (23 years, 5 months ago) by thorpej
Branches: MAIN
Branch point for: nathanw_sa
Diff to: previous 1.84: preferred, colored
Changes since revision 1.84: +10 -7 lines
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.84.2.1: download - view: text, markup, annotated - select for diffs
Wed Oct 24 17:38:11 2001 UTC (23 years, 6 months ago) by thorpej
Branches: thorpej-mips-cache
Diff to: previous 1.84: preferred, colored; next MAIN 1.85: preferred, colored
Changes since revision 1.84: +10 -7 lines
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.84: download - view: text, markup, annotated - select for diffs
Tue Oct 16 16:31:39 2001 UTC (23 years, 6 months ago) by uch
Branches: MAIN
CVS tags: thorpej-mips-cache-base
Branch point for: thorpej-mips-cache
Diff to: previous 1.83: preferred, colored
Changes since revision 1.83: +5 -2 lines
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.82.2.1: download - view: text, markup, annotated - select for diffs
Mon Oct 1 12:40:50 2001 UTC (23 years, 7 months ago) by fvdl
Branches: thorpej-devvp
Diff to: previous 1.82: preferred, colored; next MAIN 1.83: preferred, colored
Changes since revision 1.82: +4 -4 lines
Catch up with -current.

Revision 1.80.2.2: download - view: text, markup, annotated - select for diffs
Thu Sep 13 01:14:00 2001 UTC (23 years, 7 months ago) by thorpej
Branches: kqueue
Diff to: previous 1.80.2.1: preferred, colored
Changes since revision 1.80.2.1: +4 -4 lines
Update the kqueue branch to HEAD.

Revision 1.83: download - view: text, markup, annotated - select for diffs
Mon Sep 10 21:19:18 2001 UTC (23 years, 7 months ago) by chris
Branches: MAIN
CVS tags: thorpej-devvp-base3, thorpej-devvp-base2, pre-chs-ubcperf, post-chs-ubcperf
Diff to: previous 1.82: preferred, colored
Changes since revision 1.82: +4 -4 lines
Update pmap_update to now take the updated pmap as an argument.
This will allow improvements to the pmaps so that they can more easily defer expensive operations, eg tlb/cache flush, til the last possible moment.

Currently this is a no-op on most platforms, so they should see no difference.

Reviewed by Jason.

Revision 1.80.2.1: download - view: text, markup, annotated - select for diffs
Sat Aug 25 06:15:34 2001 UTC (23 years, 8 months ago) by thorpej
Branches: kqueue
Diff to: previous 1.80: preferred, colored
Changes since revision 1.80: +4 -2 lines
Merge Aug 24 -current into the kqueue branch.

Revision 1.82: download - view: text, markup, annotated - select for diffs
Sun Aug 19 18:09:22 2001 UTC (23 years, 8 months ago) by chs
Branches: MAIN
CVS tags: thorpej-devvp-base
Branch point for: thorpej-devvp
Diff to: previous 1.81: preferred, colored
Changes since revision 1.81: +3 -2 lines
add missing pmap_update().

Revision 1.65.2.2: download - view: text, markup, annotated - select for diffs
Thu Aug 16 13:33:15 2001 UTC (23 years, 8 months ago) by tv
Branches: netbsd-1-5
CVS tags: netbsd-1-5-PATCH003, netbsd-1-5-PATCH002
Diff to: previous 1.65.2.1: preferred, colored; branchpoint 1.65: preferred, colored; next MAIN 1.66: preferred, colored
Changes since revision 1.65.2.1: +4 -7 lines
Pullup [shin]:

sys/arch/mips/mips/locore_mips3.S		1.70
sys/arch/mips/mips/vm_machdep.c			1.77-1.78

  Fix bugs in handling of SR on mips3 machines, causing TLB miss panics.

Revision 1.81: download - view: text, markup, annotated - select for diffs
Sat Aug 4 04:28:49 2001 UTC (23 years, 8 months ago) by chs
Branches: MAIN
Diff to: previous 1.80: preferred, colored
Changes since revision 1.80: +3 -2 lines
in vunmapbuf(), call pmap_remove() explicitly since uvm_km_free_wakeup()
will soon no longer do it for us.

Revision 1.72.2.2: download - view: text, markup, annotated - select for diffs
Thu Jun 21 19:28:15 2001 UTC (23 years, 10 months ago) by nathanw
Diff to: previous 1.72.2.1: preferred, colored; next MAIN 1.73: preferred, colored
Changes since revision 1.72.2.1: +8 -5 lines
Catch up to -current.

Revision 1.80: download - view: text, markup, annotated - select for diffs
Sat Jun 2 18:09:16 2001 UTC (23 years, 11 months ago) by chs
Branches: MAIN
Branch point for: kqueue
Diff to: previous 1.79: preferred, colored
Changes since revision 1.79: +3 -3 lines
replace vm_map{,_entry}_t with struct vm_map{,_entry} *.

Revision 1.79: download - view: text, markup, annotated - select for diffs
Thu May 31 19:41:57 2001 UTC (23 years, 11 months ago) by soda
Branches: MAIN
Diff to: previous 1.78: preferred, colored
Changes since revision 1.78: +4 -4 lines
"opt_ddb.h" should be included at the beginning of source file,
because some headers (in this case <systm.h>) refers symbols (e.g. DDB)
defined in the opt_ddb.h

Revision 1.65.2.1: download - view: text, markup, annotated - select for diffs
Tue May 15 20:33:14 2001 UTC (23 years, 11 months ago) by he
Branches: netbsd-1-5
CVS tags: netbsd-1-5-PATCH001
Diff to: previous 1.65: preferred, colored
Changes since revision 1.65: +7 -2 lines
Pull up revisions 1.75-1.76 (via patch, requested by simonb):
  Make sure new processes (and kernel threads) gets created in spl0
  level.

Revision 1.78: download - view: text, markup, annotated - select for diffs
Tue May 15 06:01:23 2001 UTC (23 years, 11 months ago) by nisimura
Branches: MAIN
Diff to: previous 1.77: preferred, colored
Changes since revision 1.77: +3 -3 lines
Rather better to have |= to make sure spl0 condition, allowing to preserve
processor model specific SR bit pattern on pcb0 initialization.

Revision 1.77: download - view: text, markup, annotated - select for diffs
Fri May 11 02:03:01 2001 UTC (23 years, 11 months ago) by thorpej
Branches: MAIN
Diff to: previous 1.76: preferred, colored
Changes since revision 1.76: +4 -7 lines
Set SR to PSL_LOWIPL rather than MIPS_INT_MASK | MIPS_SR_INT_IE,
as the former accounts for some mips3-related options.

From Rafal K. Boni.

Revision 1.76: download - view: text, markup, annotated - select for diffs
Tue May 8 06:02:14 2001 UTC (23 years, 11 months ago) by nisimura
Branches: MAIN
Diff to: previous 1.75: preferred, colored
Changes since revision 1.75: +6 -2 lines
Add comment to tell what cpu_fork() does around at its bottom.

What's wrong; the initial SR value in pcb0 gets overwritten before
the first kthread_create1() is called.  For a normal process which
has user mode it doesn't matter because proc_trampoline() makes
the process to have spl0 during exception return path to user mode,
however, kthreads stay in kernel mode mistakenly left in splhigh
condition.  The trouble is visible as severe clock drifts when
system activity is high.

Revision 1.75: download - view: text, markup, annotated - select for diffs
Tue May 8 05:36:01 2001 UTC (23 years, 11 months ago) by nisimura
Branches: MAIN
Diff to: previous 1.74: preferred, colored
Changes since revision 1.74: +3 -2 lines
Make sure to have spl0 condition whenever a new thread of control
is created.  System kthreads are mistakenly left splhigh state.

pcb0 has an initial SR value for spl0 condition which are expected to
be propagated to all of children

Revision 1.74: download - view: text, markup, annotated - select for diffs
Tue Apr 24 04:31:03 2001 UTC (24 years ago) by thorpej
Branches: MAIN
CVS tags: thorpej_scsipi_beforemerge
Diff to: previous 1.73: preferred, colored
Changes since revision 1.73: +3 -2 lines
Sprinkle pmap_update() calls after calls to:
- pmap_enter()
- pmap_remove()
- pmap_protect()
- pmap_kenter_pa()
- pmap_kremove()
as described in pmap(9).

These calls are relatively conservative.  It may be possible to
optimize these a little more.

Revision 1.42.2.3: download - view: text, markup, annotated - select for diffs
Sat Apr 21 17:54:02 2001 UTC (24 years ago) by bouyer
Branches: thorpej_scsipi
Diff to: previous 1.42.2.2: preferred, colored; branchpoint 1.42: preferred, colored; next MAIN 1.43: preferred, colored
Changes since revision 1.42.2.2: +4 -2 lines
Sync with HEAD

Revision 1.72.2.1: download - view: text, markup, annotated - select for diffs
Mon Apr 9 01:53:59 2001 UTC (24 years ago) by nathanw
Diff to: previous 1.72: preferred, colored
Changes since revision 1.72: +4 -2 lines
Catch up with -current.

Revision 1.73: download - view: text, markup, annotated - select for diffs
Wed Mar 28 18:03:49 2001 UTC (24 years, 1 month ago) by drochner
Branches: MAIN
CVS tags: thorpej_scsipi_nbase, thorpej_scsipi_base
Diff to: previous 1.72: preferred, colored
Changes since revision 1.72: +4 -2 lines
include "opt_ddb.h" explicitely

Revision 1.42.2.2: download - view: text, markup, annotated - select for diffs
Wed Nov 22 16:00:47 2000 UTC (24 years, 5 months ago) by bouyer
Branches: thorpej_scsipi
Diff to: previous 1.42.2.1: preferred, colored; branchpoint 1.42: preferred, colored
Changes since revision 1.42.2.1: +3 -5 lines
Sync with HEAD.

Revision 1.42.2.1: download - view: text, markup, annotated - select for diffs
Mon Nov 20 20:13:37 2000 UTC (24 years, 5 months ago) by bouyer
Branches: thorpej_scsipi
Diff to: previous 1.42: preferred, colored
Changes since revision 1.42: +56 -75 lines
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.72: download - view: text, markup, annotated - select for diffs
Tue Oct 31 21:21:11 2000 UTC (24 years, 6 months ago) by jeffs
Branches: MAIN
Diff to: previous 1.71: preferred, colored
Changes since revision 1.71: +3 -5 lines
Add mips_indexof() macro to make code for checking the cache index
easier to read.

Revision 1.71: download - view: text, markup, annotated - select for diffs
Wed Sep 13 01:53:01 2000 UTC (24 years, 7 months ago) by nisimura
Branches: MAIN
Diff to: previous 1.70: preferred, colored
Changes since revision 1.70: +2 -3 lines
Introduce 'segbase' global variable to hold the pointer to current
process's segtab, retiring 'pcb_segtab' field from 'struct pcb'.
This would be another MULTIPROCESSOR unfriendly and the necessity
might be eliminated when the way to hold PTE is redesigned.

Revision 1.70: download - view: text, markup, annotated - select for diffs
Tue Aug 1 22:45:05 2000 UTC (24 years, 9 months ago) by jeffs
Branches: MAIN
Diff to: previous 1.69: preferred, colored
Changes since revision 1.69: +4 -3 lines
Fix vmapbuf() to call uvm_km_valloc_perfer_wait() call, but trunc_page()
to the prefer arg so we free the correct page.

Revision 1.69: download - view: text, markup, annotated - select for diffs
Wed Jul 26 16:24:38 2000 UTC (24 years, 9 months ago) by jeffs
Branches: MAIN
Diff to: previous 1.68: preferred, colored
Changes since revision 1.68: +3 -3 lines
Back-out vmapbuf() change for now as locally it has been found to sleep
in some circumstances that don't sleep when not using pmap_prefer().

Revision 1.68: download - view: text, markup, annotated - select for diffs
Mon Jul 24 20:16:29 2000 UTC (24 years, 9 months ago) by jeffs
Branches: MAIN
Diff to: previous 1.67: preferred, colored
Changes since revision 1.67: +3 -3 lines
Use new uvm_km_valloc_prefer_wait() in vmapbuf().  This lets the K2
mapping of b_data have the same virtual index, so the mapping does
not degenerate into uncached in pmap_enter().

Revision 1.67: download - view: text, markup, annotated - select for diffs
Thu Jun 29 08:11:27 2000 UTC (24 years, 10 months ago) by mrg
Branches: MAIN
Diff to: previous 1.66: preferred, colored
Changes since revision 1.66: +2 -4 lines
remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h>

Revision 1.66: download - view: text, markup, annotated - select for diffs
Mon Jun 26 14:20:49 2000 UTC (24 years, 10 months ago) by mrg
Branches: MAIN
Diff to: previous 1.65: preferred, colored
Changes since revision 1.65: +2 -4 lines
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.58.2.1: download - view: text, markup, annotated - select for diffs
Thu Jun 22 17:01:38 2000 UTC (24 years, 10 months ago) by minoura
Branches: minoura-xpg4dl
Diff to: previous 1.58: preferred, colored; next MAIN 1.59: preferred, colored
Changes since revision 1.58: +20 -44 lines
Sync w/ netbsd-1-5-base.

Revision 1.65: download - view: text, markup, annotated - select for diffs
Thu Jun 15 13:04:05 2000 UTC (24 years, 10 months ago) by shin
Branches: MAIN
CVS tags: netbsd-1-5-base, netbsd-1-5-RELEASE, netbsd-1-5-BETA2, netbsd-1-5-BETA, netbsd-1-5-ALPHA2
Branch point for: netbsd-1-5
Diff to: previous 1.64: preferred, colored
Changes since revision 1.64: +12 -2 lines
backout previous change.
cache operation in cpu_fork() is necessary for CPU's which
detect virtual alias by hardware (ex. R4000 with secondary cache).

Revision 1.64: download - view: text, markup, annotated - select for diffs
Wed Jun 14 22:17:59 2000 UTC (24 years, 10 months ago) by soren
Branches: MAIN
Diff to: previous 1.63: preferred, colored
Changes since revision 1.63: +2 -9 lines
Remove unnecessary HitFlushCache from cpu_fork(). From Toru Nishimura.

Revision 1.63: download - view: text, markup, annotated - select for diffs
Fri Jun 9 05:51:49 2000 UTC (24 years, 10 months ago) by soda
Branches: MAIN
Diff to: previous 1.62: preferred, colored
Changes since revision 1.62: +3 -3 lines
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.62: download - view: text, markup, annotated - select for diffs
Tue May 30 01:42:43 2000 UTC (24 years, 11 months ago) by nisimura
Branches: MAIN
Diff to: previous 1.61: preferred, colored
Changes since revision 1.61: +3 -3 lines
Add a missing closing parenthesis.

Revision 1.61: download - view: text, markup, annotated - select for diffs
Tue May 30 01:30:01 2000 UTC (24 years, 11 months ago) by nisimura
Branches: MAIN
Diff to: previous 1.60: preferred, colored
Changes since revision 1.60: +5 -13 lines
FPA ownership is now guarded by MDP_FPUSED flag and there is no necessity
to have #if ... around savefpregs() calls.

Revision 1.60: download - view: text, markup, annotated - select for diffs
Mon May 29 09:43:33 2000 UTC (24 years, 11 months ago) by nisimura
Branches: MAIN
Diff to: previous 1.59: preferred, colored
Changes since revision 1.59: +4 -4 lines
Put addtional checks to see the curproc is an FPA owner process.

Revision 1.59: download - view: text, markup, annotated - select for diffs
Sun May 28 05:49:02 2000 UTC (24 years, 11 months ago) by thorpej
Branches: MAIN
Diff to: previous 1.58: preferred, colored
Changes since revision 1.58: +8 -27 lines
Rather than starting init and creating kthreads by forking and then
doing a cpu_set_kpc(), just pass the entry point and argument all
the way down the fork path starting with fork1().  In order to
avoid special-casing the normal fork in every cpu_fork(), MI code
passes down child_return() and the child process pointer explicitly.

This fixes a race condition on multiprocessor systems; a CPU could
grab the newly created processes (which has been placed on a run queue)
before cpu_set_kpc() would be performed.

Revision 1.58: download - view: text, markup, annotated - select for diffs
Wed May 24 18:42:03 2000 UTC (24 years, 11 months ago) by soren
Branches: MAIN
CVS tags: minoura-xpg4dl-base
Branch point for: minoura-xpg4dl
Diff to: previous 1.57: preferred, colored
Changes since revision 1.57: +5 -5 lines
Appease gcc.

Revision 1.57: download - view: text, markup, annotated - select for diffs
Wed May 10 08:55:22 2000 UTC (24 years, 11 months ago) by nisimura
Branches: MAIN
Diff to: previous 1.56: preferred, colored
Changes since revision 1.56: +3 -10 lines
Take a straight way for pagemove() PTE manipulation, abandoning to
use MIPS_TBRPL().  When PTEs are modified, both src and dst TLBs
are invalidated.  MIPS3 single TLB entry has paired double PTE
and pagemove() likely walks through multiple pages.  The positive
effect of of MachTLBUpdate() or TBRPL() is unclear.

Revision 1.56: download - view: text, markup, annotated - select for diffs
Sun Apr 16 10:08:32 2000 UTC (25 years ago) by nisimura
Branches: MAIN
Diff to: previous 1.55: preferred, colored
Changes since revision 1.55: +3 -3 lines
Fix a typo in the previous change.

Revision 1.55: download - view: text, markup, annotated - select for diffs
Sun Apr 16 09:09:42 2000 UTC (25 years ago) by nisimura
Branches: MAIN
Diff to: previous 1.54: preferred, colored
Changes since revision 1.54: +12 -6 lines
Change the way to implement zero copy data move in pagemove() using
MIPS_TBRPL().  It saves about 20 instructions to run for each
iteration, and avoids TLB polution.  Currently works for MIPS1 only
configuration.

Revision 1.54: download - view: text, markup, annotated - select for diffs
Wed Apr 12 01:37:58 2000 UTC (25 years ago) by nisimura
Branches: MAIN
Diff to: previous 1.53: preferred, colored
Changes since revision 1.53: +6 -7 lines
- Move a loop invariant of 'if (CPUISMIPS3)' out of pagemove().
- XXX I'm not sure whether the anticipatory MachTLBUpdate(to, pte) is
  a gain or loss on runtime.  If not a loss, it should be MIPS_TBIS().

Revision 1.53: download - view: text, markup, annotated - select for diffs
Wed Apr 12 01:05:36 2000 UTC (25 years ago) by nisimura
Branches: MAIN
Diff to: previous 1.52: preferred, colored
Changes since revision 1.52: +4 -4 lines
- Implement mips3_TBIAP().
- Remove obsoluted routines in locore_mips3.S
- addiu -> addu, andi -> and, ori -> or.

Revision 1.52: download - view: text, markup, annotated - select for diffs
Tue Mar 28 03:11:28 2000 UTC (25 years, 1 month ago) by simonb
Branches: MAIN
Diff to: previous 1.51: preferred, colored
Changes since revision 1.51: +2 -5 lines
Move fpcurproc declaration to <mips/cpu.h>.

Revision 1.51: download - view: text, markup, annotated - select for diffs
Tue Mar 28 02:58:50 2000 UTC (25 years, 1 month ago) by simonb
Branches: MAIN
Diff to: previous 1.50: preferred, colored
Changes since revision 1.50: +6 -6 lines
Don't `extern' function declarations.  While we're there, remove trailing
blank lines and white space.

Revision 1.50: download - view: text, markup, annotated - select for diffs
Sun Mar 26 20:42:31 2000 UTC (25 years, 1 month ago) by kleink
Branches: MAIN
Diff to: previous 1.49: preferred, colored
Changes since revision 1.49: +4 -4 lines
Merge parts of chs-ubc2 into the trunk:
* Remove the casts to vaddr_t from the round_page() and trunc_page() macros to
  make them type-generic, which is necessary i.e. to operate on file offsets
  without truncating them.
* In due course, cast pointer arguments to these macros to an appropriate
  integral type (paddr_t, vaddr_t).

Originally done by Chuck Silvers, updated by myself.

Revision 1.49: download - view: text, markup, annotated - select for diffs
Sun Mar 19 19:16:14 2000 UTC (25 years, 1 month ago) by soren
Branches: MAIN
Diff to: previous 1.48: preferred, colored
Changes since revision 1.48: +4 -4 lines
Updated RM5231 cache code from Jeff Smith and Ethan Solomita at Geocast.
Many thanks.

Revision 1.48: download - view: text, markup, annotated - select for diffs
Tue Mar 14 14:08:55 2000 UTC (25 years, 1 month ago) by soren
Branches: MAIN
Diff to: previous 1.47: preferred, colored
Changes since revision 1.47: +3 -3 lines
Actually use KSEG1 offset for KSEG1 addresses in kvtophys().
From Jeff Smith and Ethan Solomita at Geocast.

Revision 1.47: download - view: text, markup, annotated - select for diffs
Thu Jan 20 22:18:57 2000 UTC (25 years, 3 months ago) by sommerfeld
Branches: MAIN
CVS tags: chs-ubc2-newbase
Diff to: previous 1.46: preferred, colored
Changes since revision 1.46: +17 -7 lines
Fix PR9240: comment above cpu_fork() out of synch with reality on most ports.
(comment change only, but was wrong for more than just i386).

Revision 1.46: download - view: text, markup, annotated - select for diffs
Sun Jan 9 08:01:55 2000 UTC (25 years, 3 months ago) by shin
Branches: MAIN
Diff to: previous 1.45: preferred, colored
Changes since revision 1.45: +4 -4 lines
split 'options SOFTFLOAT' to

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

Revision 1.42.8.1: download - view: text, markup, annotated - select for diffs
Mon Dec 27 18:32:49 1999 UTC (25 years, 4 months ago) by wrstuden
Branches: wrstuden-devbsize
Diff to: previous 1.42: preferred, colored; next MAIN 1.43: preferred, colored
Changes since revision 1.42: +9 -5 lines
Pull up to last week's -current.

Revision 1.45: download - view: text, markup, annotated - select for diffs
Sat Dec 4 21:20:51 1999 UTC (25 years, 4 months ago) by ragge
Branches: MAIN
CVS tags: wrstuden-devbsize-base, wrstuden-devbsize-19991221
Diff to: previous 1.44: preferred, colored
Changes since revision 1.44: +4 -4 lines
CL* discarding.

Revision 1.44: download - view: text, markup, annotated - select for diffs
Thu Nov 18 06:47:49 1999 UTC (25 years, 5 months ago) by jun
Branches: MAIN
Diff to: previous 1.43: preferred, colored
Changes since revision 1.43: +6 -2 lines
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.42.4.1: download - view: text, markup, annotated - select for diffs
Mon Nov 15 00:38:42 1999 UTC (25 years, 5 months ago) by fvdl
Branches: fvdl-softdep
Diff to: previous 1.42: preferred, colored; next MAIN 1.43: preferred, colored
Changes since revision 1.42: +3 -3 lines
Sync with -current

Revision 1.43: download - view: text, markup, annotated - select for diffs
Sat Nov 13 00:30:39 1999 UTC (25 years, 5 months ago) by thorpej
Branches: MAIN
CVS tags: fvdl-softdep-base
Diff to: previous 1.42: preferred, colored
Changes since revision 1.42: +3 -3 lines
Update for pmap_enter() API change.  No functional difference.

Revision 1.34.4.2: download - view: text, markup, annotated - select for diffs
Mon Aug 2 19:55:51 1999 UTC (25 years, 9 months ago) by thorpej
Branches: chs-ubc2
Diff to: previous 1.34.4.1: preferred, colored; branchpoint 1.34: preferred, colored; next MAIN 1.35: preferred, colored
Changes since revision 1.34.4.1: +4 -4 lines
Update from trunk.

Revision 1.42: download - view: text, markup, annotated - select for diffs
Thu Jul 8 18:08:55 1999 UTC (25 years, 9 months ago) by thorpej
Branches: MAIN
CVS tags: comdex-fall-1999-base, comdex-fall-1999, chs-ubc2-base
Branch point for: wrstuden-devbsize, thorpej_scsipi, fvdl-softdep
Diff to: previous 1.41: preferred, colored
Changes since revision 1.41: +4 -4 lines
Change the pmap_extract() interface to:
	boolean_t pmap_extract(pmap_t, vaddr_t, paddr_t *);
This makes it possible for the pmap to map physical address 0.

Revision 1.34.4.1: download - view: text, markup, annotated - select for diffs
Mon Jun 21 00:52:12 1999 UTC (25 years, 10 months ago) by thorpej
Branches: chs-ubc2
Diff to: previous 1.34: preferred, colored
Changes since revision 1.34: +48 -47 lines
Sync w/ -current.

Revision 1.41: download - view: text, markup, annotated - select for diffs
Fri May 28 22:59:40 1999 UTC (25 years, 11 months ago) by thorpej
Branches: MAIN
Diff to: previous 1.40: preferred, colored
Changes since revision 1.40: +17 -24 lines
Clone vmapbuf() and vunmapbuf() from the Alpha port.

Revision 1.40: download - view: text, markup, annotated - select for diffs
Thu May 27 01:56:34 1999 UTC (25 years, 11 months ago) by nisimura
Branches: MAIN
Diff to: previous 1.39: preferred, colored
Changes since revision 1.39: +4 -4 lines
- Change a symbolic name of TLB entrylo from 'PG_M' to 'PG_D' to reflect
processor design.  MIPS 'dirty bit' is not the same as i386 'dirty bit'.
There is a growing concern of misuse in NetBSD/mips.

Revision 1.39: download - view: text, markup, annotated - select for diffs
Wed May 26 22:19:36 1999 UTC (25 years, 11 months ago) by thorpej
Branches: MAIN
Diff to: previous 1.38: preferred, colored
Changes since revision 1.38: +3 -4 lines
Generally update the comment above vunmapbuf().

Revision 1.38: download - view: text, markup, annotated - select for diffs
Wed May 26 22:07:39 1999 UTC (25 years, 11 months ago) by thorpej
Branches: MAIN
Diff to: previous 1.37: preferred, colored
Changes since revision 1.37: +5 -6 lines
Generally update the comment above the vmapbuf() implementations.

Revision 1.37: download - view: text, markup, annotated - select for diffs
Fri May 14 02:12:00 1999 UTC (25 years, 11 months ago) by nisimura
Branches: MAIN
Diff to: previous 1.36: preferred, colored
Changes since revision 1.36: +18 -16 lines
- Adjust descriptive comment of cpu_fork() which returns nothing and
returns once.
- Minor fixes in mips/vm_machdep.c.

Revision 1.36: download - view: text, markup, annotated - select for diffs
Thu May 13 21:58:34 1999 UTC (25 years, 11 months ago) by thorpej
Branches: MAIN
Diff to: previous 1.35: preferred, colored
Changes since revision 1.35: +11 -3 lines
Allow the caller to specify a stack for the child process.  If NULL,
the child inherits the stack pointer from the parent (traditional
behavior).  Like the signal stack, the stack area is secified as
a low address and a size; machine-dependent code accounts for stack
direction.

This is required for clone(2).

Revision 1.35: download - view: text, markup, annotated - select for diffs
Sat Apr 24 08:10:42 1999 UTC (26 years ago) by simonb
Branches: MAIN
Diff to: previous 1.34: preferred, colored
Changes since revision 1.34: +4 -4 lines
Nuke register and remove trailling white space.

Revision 1.34: download - view: text, markup, annotated - select for diffs
Wed Mar 24 05:51:05 1999 UTC (26 years, 1 month ago) by mrg
Branches: 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, kame_14_19990705, kame_14_19990628, kame_141_19991130, kame
Branch point for: chs-ubc2
Diff to: previous 1.33: preferred, colored
Changes since revision 1.33: +2 -18 lines
completely remove Mach VM support.  all that is left is the all the
header files as UVM still uses (most of) these.

Revision 1.33: download - view: text, markup, annotated - select for diffs
Fri Jan 15 01:23:15 1999 UTC (26 years, 3 months ago) by castor
Branches: MAIN
Diff to: previous 1.32: preferred, colored
Changes since revision 1.32: +63 -55 lines
* 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.32: download - view: text, markup, annotated - select for diffs
Wed Jan 6 04:11:30 1999 UTC (26 years, 3 months ago) by nisimura
Branches: MAIN
Diff to: previous 1.31: preferred, colored
Changes since revision 1.31: +20 -18 lines
- Complete vm_offset_t purge for mips processor.
- bzero() -> memset() and bcopy() -> memcpy().
- Garbage collection in trap.c and db_interface.c.

Revision 1.31: download - view: text, markup, annotated - select for diffs
Thu Dec 3 06:28:46 1998 UTC (26 years, 5 months ago) by nisimura
Branches: MAIN
CVS tags: kenh-if-detach-base, kenh-if-detach
Diff to: previous 1.30: preferred, colored
Changes since revision 1.30: +10 -11 lines
- Use explicite structure member reference with 'struct frame' to alter
register values of exception frame pointed with p->p_md.md_regs.
- Local auto variable 'cpustate' in cpu_coredump() was never used correctly.

Revision 1.29.2.3: download - view: text, markup, annotated - select for diffs
Mon Nov 16 10:41:35 1998 UTC (26 years, 5 months ago) by nisimura
Branches: nisimura-pmax-wscons
Diff to: previous 1.29.2.2: preferred, colored; branchpoint 1.29: preferred, colored; next MAIN 1.30: preferred, colored
Changes since revision 1.29.2.2: +31 -22 lines
- 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.29.2.2: download - view: text, markup, annotated - select for diffs
Sat Nov 14 15:44:41 1998 UTC (26 years, 5 months ago) by drochner
Branches: nisimura-pmax-wscons
Diff to: previous 1.29.2.1: preferred, colored; branchpoint 1.29: preferred, colored
Changes since revision 1.29.2.1: +8 -4 lines
update for cpu_set_kpc() argument change

Revision 1.30: download - view: text, markup, annotated - select for diffs
Wed Nov 11 06:41:27 1998 UTC (26 years, 5 months ago) by thorpej
Branches: MAIN
Diff to: previous 1.29: preferred, colored
Changes since revision 1.29: +16 -5 lines
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.29.2.1: download - view: text, markup, annotated - select for diffs
Thu Oct 15 03:16:49 1998 UTC (26 years, 6 months ago) by nisimura
Branches: nisimura-pmax-wscons
Diff to: previous 1.29: preferred, colored
Changes since revision 1.29: +3 -5 lines
- 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.29: download - view: text, markup, annotated - select for diffs
Wed Sep 9 11:17:28 1998 UTC (26 years, 7 months ago) by thorpej
Branches: MAIN
CVS tags: nisimura-pmax-wscons-base, chs-ubc-base, chs-ubc
Branch point for: nisimura-pmax-wscons
Diff to: previous 1.28: preferred, colored
Changes since revision 1.28: +4 -4 lines
In cpu_coredump(), use MID_MACHINE rather than MID_* (whatever it expands
to).

Revision 1.28: download - view: text, markup, annotated - select for diffs
Wed Sep 9 00:07:53 1998 UTC (26 years, 7 months ago) by thorpej
Branches: MAIN
Diff to: previous 1.27: preferred, colored
Changes since revision 1.27: +7 -10 lines
Adjust for the new "reaper" kernel thread: do not free the vmspace and
u-area in machine-dependent code.  Instead, call exit2() to schedule
the reaper to free them for us, once it is safe to do so (i.e. we are
no longer running on the dead proc's vmspace and stack).

Revision 1.27: download - view: text, markup, annotated - select for diffs
Wed Sep 2 06:41:22 1998 UTC (26 years, 8 months ago) by nisimura
Branches: MAIN
Diff to: previous 1.26: preferred, colored
Changes since revision 1.26: +23 -34 lines
- kernel boot flag 'd' now means "enter DDB asap" like as other ports.
- bump cpu_model[] length as the longest name occupies over 30 characters.
- place machine_arch[] beside machine[] for clearity.
- nuke useless #include directives.
- small scale cleanup in vm_machdep.c

Revision 1.26: download - view: text, markup, annotated - select for diffs
Tue Jul 28 18:34:55 1998 UTC (26 years, 9 months ago) by thorpej
Branches: MAIN
CVS tags: eeh-paddr_t-base, eeh-paddr_t
Diff to: previous 1.25: preferred, colored
Changes since revision 1.25: +4 -4 lines
Don't cast the null residual pointer passed to vn_rdwr().

Revision 1.25: download - view: text, markup, annotated - select for diffs
Thu Mar 12 05:45:07 1998 UTC (27 years, 1 month ago) by thorpej
Branches: MAIN
Diff to: previous 1.24: preferred, colored
Changes since revision 1.24: +22 -2 lines
Add support for UVM.

Revision 1.24: download - view: text, markup, annotated - select for diffs
Fri Oct 17 09:35:08 1997 UTC (27 years, 6 months ago) by jonathan
Branches: MAIN
CVS tags: netbsd-1-3-base, netbsd-1-3-RELEASE, netbsd-1-3-PATCH003-CANDIDATE2, netbsd-1-3-PATCH003-CANDIDATE1, netbsd-1-3-PATCH003-CANDIDATE0, netbsd-1-3-PATCH003, netbsd-1-3-PATCH002, netbsd-1-3-PATCH001, netbsd-1-3-BETA, netbsd-1-3
Diff to: previous 1.23: preferred, colored
Changes since revision 1.23: +8 -5 lines
Add explicit #include <vm/vm.h> before mips/pte.h is included.

Revision 1.23: download - view: text, markup, annotated - select for diffs
Sun Jun 22 07:43:06 1997 UTC (27 years, 10 months ago) by jonathan
Branches: MAIN
CVS tags: thorpej-signal-base, thorpej-signal, marc-pcmcia-bp, marc-pcmcia-base, marc-pcmcia, bouyer-scsipi
Diff to: previous 1.22: preferred, colored
Changes since revision 1.22: +6 -6 lines
* 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.22: download - view: text, markup, annotated - select for diffs
Sat Jun 21 04:24:45 1997 UTC (27 years, 10 months ago) by mhitch
Branches: MAIN
Diff to: previous 1.21: preferred, colored
Changes since revision 1.21: +4 -2 lines
Merged mips1/mips3:  cache alias test in pagemove().

Revision 1.21: download - view: text, markup, annotated - select for diffs
Thu Jun 19 06:34:16 1997 UTC (27 years, 10 months ago) by mhitch
Branches: MAIN
Diff to: previous 1.20: preferred, colored
Changes since revision 1.20: +4 -4 lines
Use same cachesize variables for mips1 and mips3, and rename the variables
per Jonathan's request.
Remove switch_exit() declaration - it's now called via the locore jump vector.

Revision 1.20: download - view: text, markup, annotated - select for diffs
Wed Jun 18 04:51:17 1997 UTC (27 years, 10 months ago) by jonathan
Branches: MAIN
Diff to: previous 1.19: preferred, colored
Changes since revision 1.19: +4 -2 lines
MachHitFlushDCache() -> mips3_HitFlushDCache() outside pmap.c.

Revision 1.19: download - view: text, markup, annotated - select for diffs
Mon Jun 16 23:41:56 1997 UTC (27 years, 10 months ago) by jonathan
Branches: MAIN
Diff to: previous 1.18: preferred, colored
Changes since revision 1.18: +25 -20 lines
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.18: download - view: text, markup, annotated - select for diffs
Mon Jun 16 09:50:37 1997 UTC (27 years, 10 months ago) by jonathan
Branches: MAIN
Diff to: previous 1.17: preferred, colored
Changes since revision 1.17: +1 -5 lines
Garbage-collect redundant declarations:
mips/include/locore.h:
  Add prototypes for HitFlushDCache() functions. Moe cpu_prid definition here.
mips/include/cpu.h:
  remove  cpu_prid definition.
pmax/pmax/machdep.c:
   remove local protoypes of HitFlushDCache() functions.
mips/mips/vm_machdep.c, mips/mips/vm_machdep.c::
   remove local protoypes of HitFlushDCache() functions.

Revision 1.17: download - view: text, markup, annotated - select for diffs
Mon Jun 16 00:16:12 1997 UTC (27 years, 10 months ago) by jonathan
Branches: MAIN
Diff to: previous 1.16: preferred, colored
Changes since revision 1.16: +3 -3 lines
Generic mips pmap/vm code: move the merged pmax mips1/mips3 vm_machdep
and pmap code to arch/mips/mips.
Use <mips/XXX.h> header files, not <machine/XXX.h>.

Revision 1.16: download - view: text, markup, annotated - select for diffs
Sun Jun 15 18:21:17 1997 UTC (27 years, 10 months ago) by mhitch
Branches: MAIN
Diff to: previous 1.15: preferred, colored
Changes since revision 1.15: +120 -138 lines
From Toru Nishimura: _FORKBRAINDAMAGE is gone, user process entered through
proc_trampoline().
More merged MIPS1/MIPS3 support.

Revision 1.15: download - view: text, markup, annotated - select for diffs
Sun May 25 10:16:17 1997 UTC (27 years, 11 months ago) by jonathan
Branches: MAIN
Diff to: previous 1.14: preferred, colored
Changes since revision 1.14: +5 -2 lines
lint: add prototype for kvtophys().

Revision 1.14: download - view: text, markup, annotated - select for diffs
Sun May 18 17:26:31 1997 UTC (27 years, 11 months ago) by mhitch
Branches: MAIN
Diff to: previous 1.13: preferred, colored
Changes since revision 1.13: +2 -2 lines
Eliminate vm_pmap.

Revision 1.13: download - view: text, markup, annotated - select for diffs
Sun Oct 13 03:39:57 1996 UTC (28 years, 6 months ago) by christos
Branches: MAIN
CVS tags: thorpej-setroot, mrg-vm-swap, is-newarp-before-merge, is-newarp-base, is-newarp
Diff to: previous 1.12: preferred, colored
Changes since revision 1.12: +5 -5 lines
backout previous kprintf change

Revision 1.12: download - view: text, markup, annotated - select for diffs
Fri Oct 11 00:45:22 1996 UTC (28 years, 6 months ago) by christos
Branches: MAIN
Diff to: previous 1.11: preferred, colored
Changes since revision 1.11: +5 -5 lines
printf -> kprintf, sprintf -> ksprintf

Revision 1.11: download - view: text, markup, annotated - select for diffs
Sun May 19 15:55:31 1996 UTC (28 years, 11 months ago) by jonathan
Branches: MAIN
Diff to: previous 1.10: preferred, colored
Changes since revision 1.10: +13 -6 lines
Add local declarations for locore functions. Fix pagemove() return
type to be void. Add explicit "int" return types.
Fix format/argument mismatches for vm_offset_t's in diagnostic messages.

Revision 1.10: download - view: text, markup, annotated - select for diffs
Sun May 19 02:00:58 1996 UTC (28 years, 11 months ago) by jonathan
Branches: MAIN
Diff to: previous 1.9: preferred, colored
Changes since revision 1.9: +5 -3 lines
Include <machine/locore.h>, to force all MIPS cpu-model specific
locore calls to go via a locore-entry jumptable.

Cast the (int) arguments  to MachTLBUpdateEntry() to avoid
warnings.  Variables TLB entries are still type-punned as either structs
or ints, without any regard, when the pmax-specific VM code passes
them as arguments to functions.

Revision 1.9: download - view: text, markup, annotated - select for diffs
Tue Feb 6 00:31:51 1996 UTC (29 years, 2 months ago) by jonathan
Branches: MAIN
Diff to: previous 1.8: preferred, colored
Changes since revision 1.8: +23 -29 lines
The prototyping `fixes' broke vmapbuf() and vunmapbuf(), due to a "sz"
parameter parameters shadowing locals.  Replace vmapbuf() and vunmapbuf()
with the Alpha-port versions, which are cleaner (use round_page(),
trunc_page(), etc.)

Revision 1.8: download - view: text, markup, annotated - select for diffs
Mon Feb 5 02:11:46 1996 UTC (29 years, 2 months ago) by christos
Branches: MAIN
Diff to: previous 1.7: preferred, colored
Changes since revision 1.7: +9 -3 lines
vm prototype changes

Revision 1.7: download - view: text, markup, annotated - select for diffs
Mon Sep 25 20:36:23 1995 UTC (29 years, 7 months ago) by jonathan
Branches: MAIN
Diff to: previous 1.6: preferred, colored
Changes since revision 1.6: +67 -1 lines
Add "kvtophys()", which maps MIPS R2000 kernel-virtual addresses to physical addresses,
so they can (e.g.) be written to DMA mapping registers.

Revision 1.6: download - view: text, markup, annotated - select for diffs
Wed Jan 18 06:52:46 1995 UTC (30 years, 3 months ago) by mellon
Branches: MAIN
Diff to: previous 1.5: preferred, colored
Changes since revision 1.5: +37 -7 lines
Write out new-style core files

Revision 1.5: download - view: text, markup, annotated - select for diffs
Wed Oct 26 21:10:46 1994 UTC (30 years, 6 months ago) by cgd
Branches: MAIN
Diff to: previous 1.4: preferred, colored
Changes since revision 1.4: +3 -2 lines
new RCS ID format.

Revision 1.4: download - view: text, markup, annotated - select for diffs
Fri May 27 09:04:32 1994 UTC (30 years, 11 months ago) by glass
Branches: MAIN
Diff to: previous 1.3: preferred, colored
Changes since revision 1.3: +2 -2 lines
bsd 4.4-lite pmax port as ported to NetBSD

Revision 1.3: download - view: text, markup, annotated - select for diffs
Fri May 27 08:42:26 1994 UTC (30 years, 11 months ago) by glass
Branches: MAIN
CVS tags: bsd44-lite
Diff to: previous 1.2: preferred, colored
Changes since revision 1.2: +39 -12 lines
upgrade to bsd 4.4-lite code base. only mod is rcsids

Revision 1.2: download - view: text, markup, annotated - select for diffs
Sun Jan 16 00:53:44 1994 UTC (31 years, 3 months ago) by deraadt
Branches: MAIN
CVS tags: pre-bsd44
Diff to: previous 1.1: preferred, colored
Changes since revision 1.1: +2 -1 lines
cpu_exit returns void

Revision 1.1.1.1 (vendor branch): download - view: text, markup, annotated - select for diffs
Tue Oct 12 03:22:33 1993 UTC (31 years, 6 months ago) by deraadt
Branches: pmax-base
CVS tags: pmax-initial-import
Diff to: previous 1.1: preferred, colored
Changes since revision 1.1: +0 -0 lines
pmax code from <ralphc@pyramid.com> & <rick@snowhite.cis.uoguelph.ca>

Revision 1.1: download - view: text, markup, annotated - select for diffs
Tue Oct 12 03:22:32 1993 UTC (31 years, 6 months ago) by deraadt
Branches: MAIN
Initial revision

Diff request

This form allows you to request diffs 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.

Log view options

CVSweb <webmaster@jp.NetBSD.org>