The NetBSD Project

CVS log for src/sys/arch/mips/mips/Attic/pmap.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.208.2.2
Sun Dec 3 11:36:28 2017 UTC (7 years, 2 months ago) by jdolecek
Branches: tls-maxphys
FILE REMOVED
Changes since revision 1.208.2.1: +2 -2 lines
update from HEAD

Revision 1.207.2.1.6.3: download - view: text, markup, annotated - select for diffs
Wed Nov 8 21:28:24 2017 UTC (7 years, 3 months ago) by snj
Branches: netbsd-6-1
Diff to: previous 1.207.2.1.6.2: preferred, colored; branchpoint 1.207.2.1: preferred, colored; next MAIN 1.207.2.2: preferred, colored
Changes since revision 1.207.2.1.6.2: +149 -38 lines
Pull up following revision(s) (requested by skrll in ticket #1390):
	sys/arch/mips/mips/pmap.c: 1.221-1.223
Fix a bug introduced by me in 1.214 where unmanaged mappings would be
affected by calls to pmap_page_protect which is wrong.  Now PV_KENTER
mappings are left intact.
Thanks to chuq for spotting my mistake and reviewing this diff.
Thanks to everyone who tested it as well.
Fix PR/51288 reproducable panic on evbmips64-eb (erlite)
pmap_page_remove from the previous change neglected to terminate the pv
list correctly when it started with an initial unmanaged mapping and
subsequent managed mappings.  Fix this.
Fix MIPS3_NO_PV_UNCACHED alias handling by looping through the pv_list
looking for bad aliases and removing the bad entries.  That is, revert
to the code before the matt-mips64 merge.
Additionally, fix the pmap_update call to not use the (recently
  removed/freed) pv for the pmap_t.
Fixes the following two PRs
PR/49903: Panic during installation on WorkPad Z50 (hpcmips) whilst uncompressing base.tgz
PR/51226: Install bug for hpcmips NetBSD V7 using FTP Full installation

Revision 1.207.2.1.4.3: download - view: text, markup, annotated - select for diffs
Wed Nov 8 21:28:18 2017 UTC (7 years, 3 months ago) by snj
Branches: netbsd-6-0
Diff to: previous 1.207.2.1.4.2: preferred, colored; branchpoint 1.207.2.1: preferred, colored; next MAIN 1.207.2.2: preferred, colored
Changes since revision 1.207.2.1.4.2: +149 -38 lines
Pull up following revision(s) (requested by skrll in ticket #1390):
	sys/arch/mips/mips/pmap.c: 1.221-1.223
Fix a bug introduced by me in 1.214 where unmanaged mappings would be
affected by calls to pmap_page_protect which is wrong.  Now PV_KENTER
mappings are left intact.
Thanks to chuq for spotting my mistake and reviewing this diff.
Thanks to everyone who tested it as well.
Fix PR/51288 reproducable panic on evbmips64-eb (erlite)
pmap_page_remove from the previous change neglected to terminate the pv
list correctly when it started with an initial unmanaged mapping and
subsequent managed mappings.  Fix this.
Fix MIPS3_NO_PV_UNCACHED alias handling by looping through the pv_list
looking for bad aliases and removing the bad entries.  That is, revert
to the code before the matt-mips64 merge.
Additionally, fix the pmap_update call to not use the (recently
  removed/freed) pv for the pmap_t.
Fixes the following two PRs
PR/49903: Panic during installation on WorkPad Z50 (hpcmips) whilst uncompressing base.tgz
PR/51226: Install bug for hpcmips NetBSD V7 using FTP Full installation

Revision 1.207.2.1.6.2: download - view: text, markup, annotated - select for diffs
Wed Nov 8 21:22:57 2017 UTC (7 years, 3 months ago) by snj
Branches: netbsd-6-1
Diff to: previous 1.207.2.1.6.1: preferred, colored; branchpoint 1.207.2.1: preferred, colored
Changes since revision 1.207.2.1.6.1: +77 -64 lines
Pull up following revision(s) (requested by skrll in ticket #1068):
	sys/arch/mips/include/pmap.h: revision 1.63
	sys/arch/mips/mips/pmap.c: revision 1.214
	sys/arch/mips/mips/pmap_segtab.c: revision 1.8
Deal with incompatible cache aliases. Specifically,
- always flush an ephemeral page on unmap
- track unmanaged mappings (mappings entered via pmap_kenter_pa) for
    aliases where required and handle appropriately (via pmap_enter_pv)
Hopefully this (finally) addresses the instability reported in the
following PRs:
PR/44900 - R5000/Rm5200 mips ports are broken
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.207.2.1.4.2: download - view: text, markup, annotated - select for diffs
Wed Nov 8 21:22:48 2017 UTC (7 years, 3 months ago) by snj
Branches: netbsd-6-0
Diff to: previous 1.207.2.1.4.1: preferred, colored; branchpoint 1.207.2.1: preferred, colored
Changes since revision 1.207.2.1.4.1: +77 -64 lines
Pull up following revision(s) (requested by skrll in ticket #1068):
	sys/arch/mips/include/pmap.h: revision 1.63
	sys/arch/mips/mips/pmap.c: revision 1.214
	sys/arch/mips/mips/pmap_segtab.c: revision 1.8
Deal with incompatible cache aliases. Specifically,
- always flush an ephemeral page on unmap
- track unmanaged mappings (mappings entered via pmap_kenter_pa) for
    aliases where required and handle appropriately (via pmap_enter_pv)
Hopefully this (finally) addresses the instability reported in the
following PRs:
PR/44900 - R5000/Rm5200 mips ports are broken
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.207.2.1.6.1: download - view: text, markup, annotated - select for diffs
Wed Nov 8 21:19:46 2017 UTC (7 years, 3 months ago) by snj
Branches: netbsd-6-1
Diff to: previous 1.207.2.1: preferred, colored
Changes since revision 1.207.2.1: +22 -35 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.207.2.1.4.1: download - view: text, markup, annotated - select for diffs
Wed Nov 8 21:17:46 2017 UTC (7 years, 3 months ago) by snj
Branches: netbsd-6-0
Diff to: previous 1.207.2.1: preferred, colored
Changes since revision 1.207.2.1: +22 -35 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.214.4.4
Wed Oct 5 20:55:32 2016 UTC (8 years, 4 months ago) by skrll
Branches: nick-nhusb
FILE REMOVED
Changes since revision 1.214.4.3: +2 -2 lines
Sync with HEAD

Revision 1.207.2.4: download - view: text, markup, annotated - select for diffs
Sat Aug 27 14:34:55 2016 UTC (8 years, 5 months ago) by bouyer
Branches: netbsd-6
Diff to: previous 1.207.2.3: preferred, colored; branchpoint 1.207: preferred, colored; next MAIN 1.208: preferred, colored
Changes since revision 1.207.2.3: +149 -38 lines
Pull up following revision(s) (requested by skrll in ticket #1390):
	sys/arch/mips/mips/pmap.c: revision 1.221
	sys/arch/mips/mips/pmap.c: revision 1.222
	sys/arch/mips/mips/pmap.c: revision 1.223
Fix a bug introduced by me in 1.214 where unmanaged mappings would be
affected by calls to pmap_page_protect which is wrong.  Now PV_KENTER
mappings are left intact.
Thanks to chuq for spotting my mistake and reviewing this diff.
Thanks to everyone who tested it as well.
Fix PR/51288 reproducable panic on evbmips64-eb (erlite)
pmap_page_remove from the previous change neglected to terminate the pv
list correctly when it started with an initial unmanaged mapping and
subsequent managed mappings.  Fix this.
Fix MIPS3_NO_PV_UNCACHED alias handling by looping through the pv_list
looking for bad aliases and removing the bad entries.  That is, revert
to the code before the matt-mips64 merge.
Additionally, fix the pmap_update call to not use the (recently
  removed/freed) pv for the pmap_t.
Fixes the following two PRs
PR/49903: Panic during installation on WorkPad Z50 (hpcmips) whilst uncompressing base.tgz
PR/51226: Install bug for hpcmips NetBSD V7 using FTP Full installation

Revision 1.224
Mon Jul 11 16:15:36 2016 UTC (8 years, 7 months ago) by matt
Branches: MAIN
CVS tags: thorpej-futex-base, prg-localcount2-base3, prg-localcount2-base2, prg-localcount2-base1, prg-localcount2-base, prg-localcount2, phil-wifi-20200421, phil-wifi-20200411, phil-wifi-20200406, pgoyette-localcount-base, pgoyette-localcount-20170426, pgoyette-localcount-20170320, pgoyette-localcount-20170107, pgoyette-localcount-20161104, pgoyette-localcount-20160806, pgoyette-localcount-20160726, pgoyette-localcount, 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, perseant-stdc-iso10646, perseant-exfatfs-base-20240630, perseant-exfatfs-base, perseant-exfatfs, localcount-20160914, isaki-audio2-base, isaki-audio2, cjep_sun2x-base, cjep_sun2x, cjep_staticlib_x-base1, cjep_staticlib_x-base, cjep_staticlib_x, bouyer-xenpvh-base2, bouyer-xenpvh-base1, bouyer-xenpvh-base, bouyer-xenpvh, bouyer-sunxi-drm-base, bouyer-sunxi-drm, bouyer-socketcan-base1, bouyer-socketcan-base, bouyer-socketcan, ad-namecache-base3, ad-namecache-base2, ad-namecache-base1, ad-namecache-base, ad-namecache, HEAD
FILE REMOVED
Changes since revision 1.223: +2 -2 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.214.2.1: download - view: text, markup, annotated - select for diffs
Sun Jul 10 10:33:42 2016 UTC (8 years, 7 months ago) by martin
Branches: netbsd-7
CVS tags: netbsd-7-nhusb-base-20170116, netbsd-7-nhusb-base, netbsd-7-nhusb, 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
Diff to: previous 1.214: preferred, colored; next MAIN 1.215: preferred, colored
Changes since revision 1.214: +149 -38 lines
Pull up following revision(s) (requested by skrll in ticket #1200):
	sys/arch/mips/mips/pmap.c: revision 1.221
	sys/arch/mips/mips/pmap.c: revision 1.222
	sys/arch/mips/mips/pmap.c: revision 1.223
Fix a bug introduced by me in 1.214 where unmanaged mappings would be
affected by calls to pmap_page_protect which is wrong.  Now PV_KENTER
mappings are left intact.
Thanks to chuq for spotting my mistake and reviewing this diff.
Thanks to everyone who tested it as well.
Fix PR/51288 reproducable panic on evbmips64-eb (erlite)
pmap_page_remove from the previous change neglected to terminate the pv
list correctly when it started with an initial unmanaged mapping and
subsequent managed mappings.  Fix this.
Fix MIPS3_NO_PV_UNCACHED alias handling by looping through the pv_list
looking for bad aliases and removing the bad entries.  That is, revert
to the code before the matt-mips64 merge.
Additionally, fix the pmap_update call to not use the (recently
  removed/freed) pv for the pmap_t.
Fixes the following two PRs
PR/49903: Panic during installation on WorkPad Z50 (hpcmips) whilst uncompressing base.tgz
PR/51226: Install bug for hpcmips NetBSD V7 using FTP Full installation

Revision 1.214.6.1: download - view: text, markup, annotated - select for diffs
Sun Jul 10 08:44:07 2016 UTC (8 years, 7 months ago) by martin
Branches: netbsd-7-0
CVS tags: netbsd-7-0-2-RELEASE
Diff to: previous 1.214: preferred, colored; next MAIN 1.215: preferred, colored
Changes since revision 1.214: +149 -38 lines
Pull up following revision(s) (requested by skrll in ticket #1200):
	sys/arch/mips/mips/pmap.c: revision 1.221
	sys/arch/mips/mips/pmap.c: revision 1.222
	sys/arch/mips/mips/pmap.c: revision 1.223
Fix a bug introduced by me in 1.214 where unmanaged mappings would be
affected by calls to pmap_page_protect which is wrong.  Now PV_KENTER
mappings are left intact.
Thanks to chuq for spotting my mistake and reviewing this diff.
Thanks to everyone who tested it as well.
Fix PR/51288 reproducable panic on evbmips64-eb (erlite)
pmap_page_remove from the previous change neglected to terminate the pv
list correctly when it started with an initial unmanaged mapping and
subsequent managed mappings.  Fix this.
Fix MIPS3_NO_PV_UNCACHED alias handling by looping through the pv_list
looking for bad aliases and removing the bad entries.  That is, revert
to the code before the matt-mips64 merge.
Additionally, fix the pmap_update call to not use the (recently
  removed/freed) pv for the pmap_t.
Fixes the following two PRs
PR/49903: Panic during installation on WorkPad Z50 (hpcmips) whilst uncompressing base.tgz
PR/51226: Install bug for hpcmips NetBSD V7 using FTP Full installation

Revision 1.214.4.3: download - view: text, markup, annotated - select for diffs
Sat Jul 9 20:24:54 2016 UTC (8 years, 7 months ago) by skrll
Branches: nick-nhusb
Diff to: previous 1.214.4.2: preferred, colored; branchpoint 1.214: preferred, colored
Changes since revision 1.214.4.2: +149 -38 lines
Sync with HEAD

Revision 1.223: download - view: text, markup, annotated - select for diffs
Thu Jun 30 12:57:35 2016 UTC (8 years, 7 months ago) by skrll
Branches: MAIN
CVS tags: nick-nhusb-base-20160907
Diff to: previous 1.222: preferred, colored
Changes since revision 1.222: +8 -8 lines
Fix MIPS3_NO_PV_UNCACHED alias handling by looping through the pv_list
looking for bad aliases and removing the bad entries.  That is, revert
to the code before the matt-mips64 merge.

Additionally, fix the pmap_update call to not use the (recently
 removed/freed) pv for the pmap_t.

Fixes the following two PRs

PR/49903: Panic during installation on WorkPad Z50 (hpcmips) whilst uncompressing base.tgz
PR/51226: Install bug for hpcmips NetBSD V7 using FTP Full installation

Revision 1.222: download - view: text, markup, annotated - select for diffs
Tue Jun 28 09:31:15 2016 UTC (8 years, 7 months ago) by skrll
Branches: MAIN
Diff to: previous 1.221: preferred, colored
Changes since revision 1.221: +10 -5 lines
Fix PR/51288 reproducable panic on evbmips64-eb (erlite)

pmap_page_remove from the previous change neglected to terminate the pv
list correctly when it started with an initial unmanaged mapping and
subsequent managed mappings.  Fix this.

Revision 1.221: download - view: text, markup, annotated - select for diffs
Mon Jun 27 07:12:18 2016 UTC (8 years, 7 months ago) by skrll
Branches: MAIN
Diff to: previous 1.220: preferred, colored
Changes since revision 1.220: +138 -32 lines
Fix a bug introduced by me in 1.214 where unmanaged mappings would be
affected by calls to pmap_page_protect which is wrong.  Now PV_KENTER
mappings are left intact.

Thanks to chuq for spotting my mistake and reviewing this diff.

Thanks to everyone who tested it as well.

Revision 1.214.4.2: download - view: text, markup, annotated - select for diffs
Sun Dec 27 12:09:39 2015 UTC (9 years, 1 month ago) by skrll
Branches: nick-nhusb
Diff to: previous 1.214.4.1: preferred, colored; branchpoint 1.214: preferred, colored
Changes since revision 1.214.4.1: +2 -8 lines
Sync with HEAD (as of 26th Dec)

Revision 1.220: download - view: text, markup, annotated - select for diffs
Thu Nov 5 06:26:15 2015 UTC (9 years, 3 months ago) by pgoyette
Branches: MAIN
CVS tags: nick-nhusb-base-20160529, nick-nhusb-base-20160422, nick-nhusb-base-20160319, nick-nhusb-base-20151226
Diff to: previous 1.219: preferred, colored
Changes since revision 1.219: +2 -8 lines
Remove SYSVSHM-specific code.  The value of shminfo.shmall is zero at
the time this pmap initialization code is called, so the increment is
a no-op.  (Thanks christos@ for pointing it out.)

Revision 1.214.4.1: download - view: text, markup, annotated - select for diffs
Tue Sep 22 12:05:47 2015 UTC (9 years, 4 months ago) by skrll
Branches: nick-nhusb
Diff to: previous 1.214: preferred, colored
Changes since revision 1.214: +85 -108 lines
Sync with HEAD

Revision 1.219: download - view: text, markup, annotated - select for diffs
Thu Jun 11 15:58:49 2015 UTC (9 years, 8 months ago) by matt
Branches: MAIN
CVS tags: nick-nhusb-base-20150921
Diff to: previous 1.218: preferred, colored
Changes since revision 1.218: +6 -56 lines
Remove PMAP_POOLPAGE_DEBUG latent code since it never worked.

Revision 1.218: download - view: text, markup, annotated - select for diffs
Thu Jun 11 15:50:17 2015 UTC (9 years, 8 months ago) by matt
Branches: MAIN
Diff to: previous 1.217: preferred, colored
Changes since revision 1.217: +5 -7 lines
Define (but not use) separate kernel and user pagetables.
Move to the new names.

Revision 1.217: download - view: text, markup, annotated - select for diffs
Thu Jun 11 15:13:34 2015 UTC (9 years, 8 months ago) by matt
Branches: MAIN
Diff to: previous 1.216: preferred, colored
Changes since revision 1.216: +3 -3 lines
XXX cast NBPG to vaddr_t to avoid promotion to unsigned long.

Revision 1.216: download - view: text, markup, annotated - select for diffs
Thu Jun 11 08:22:09 2015 UTC (9 years, 8 months ago) by matt
Branches: MAIN
Diff to: previous 1.215: preferred, colored
Changes since revision 1.215: +40 -42 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.215: download - view: text, markup, annotated - select for diffs
Wed Jun 10 22:31:00 2015 UTC (9 years, 8 months ago) by matt
Branches: MAIN
Diff to: previous 1.214: preferred, colored
Changes since revision 1.214: +45 -14 lines
Transition from __cpuset_t to kcpuset_t *.  This brings the local pmap one
step closer to uvm/pmap, its eventual replacement.  Tested on ERLITE MP kernel.

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

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

Revision 1.207.2.3: download - view: text, markup, annotated - select for diffs
Wed Jun 11 15:38:05 2014 UTC (10 years, 8 months ago) by msaitoh
Branches: netbsd-6
Diff to: previous 1.207.2.2: preferred, colored; branchpoint 1.207: preferred, colored
Changes since revision 1.207.2.2: +77 -64 lines
Pull up following revision(s) (requested by skrll in ticket #1068):
	sys/arch/mips/mips/pmap.c: revision 1.214
	sys/arch/mips/include/pmap.h: revision 1.63
	sys/arch/mips/mips/pmap_segtab.c: revision 1.8
Deal with incompatible cache aliases. Specifically,
- always flush an ephemeral page on unmap
- track unmanaged mappings (mappings entered via pmap_kenter_pa) for
    aliases where required and handle appropriately (via pmap_enter_pv)
Hopefully this (finally) addresses the instability reported in the
following PRs:
PR/44900 - R5000/Rm5200 mips ports are broken
PR/46890 - upcoming NetBSD 6.0 release is very unstable/unusable on cobalt qube2
PR/48628 - cobalt and hpcmips ports are dead

Revision 1.205.2.3: download - view: text, markup, annotated - select for diffs
Thu May 22 11:39:57 2014 UTC (10 years, 8 months ago) by yamt
Branches: yamt-pagecache
Diff to: previous 1.205.2.2: preferred, colored; branchpoint 1.205: preferred, colored; next MAIN 1.206: preferred, colored
Changes since revision 1.205.2.2: +84 -82 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.207.2.2: download - view: text, markup, annotated - select for diffs
Wed May 21 20:39:17 2014 UTC (10 years, 8 months ago) by bouyer
Branches: netbsd-6
Diff to: previous 1.207.2.1: preferred, colored; branchpoint 1.207: preferred, colored
Changes since revision 1.207.2.1: +22 -35 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.208.4.1: download - view: text, markup, annotated - select for diffs
Sun May 18 17:45:17 2014 UTC (10 years, 9 months ago) by rmind
Branches: rmind-smpnet
Diff to: previous 1.208: preferred, colored; next MAIN 1.209: preferred, colored
Changes since revision 1.208: +84 -82 lines
sync with head

Revision 1.214: download - view: text, markup, annotated - select for diffs
Sun May 11 07:53:28 2014 UTC (10 years, 9 months 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-base, netbsd-7-0-RELEASE, netbsd-7-0-RC3, netbsd-7-0-RC2, netbsd-7-0-RC1, netbsd-7-0-1-RELEASE
Branch point for: nick-nhusb, netbsd-7-0, netbsd-7
Diff to: previous 1.213: preferred, colored
Changes since revision 1.213: +77 -64 lines
Deal with incompatible cache aliases. Specifically,

- always flush an ephemeral page on unmap
- track unmanaged mappings (mappings entered via pmap_kenter_pa) for
  aliases where required and handle appropriately (via pmap_enter_pv)

Hopefully this (finally) addresses the instability reported in the
following PRs:

PR/44900 - R5000/Rm5200 mips ports are broken
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.213: download - view: text, markup, annotated - select for diffs
Sat May 3 12:50:01 2014 UTC (10 years, 9 months ago) by skrll
Branches: MAIN
Diff to: previous 1.212: preferred, colored
Changes since revision 1.212: +4 -20 lines
Use pmap_tlb_asid_check to reduce code c&p.

Revision 1.212: download - view: text, markup, annotated - select for diffs
Sat May 3 07:06:31 2014 UTC (10 years, 9 months ago) by skrll
Branches: MAIN
Diff to: previous 1.211: preferred, colored
Changes since revision 1.211: +6 -5 lines
Make PARANOIADIAG compile.

Revision 1.211: download - view: text, markup, annotated - select for diffs
Sat May 3 06:55:04 2014 UTC (10 years, 9 months ago) by skrll
Branches: MAIN
Diff to: previous 1.210: preferred, colored
Changes since revision 1.210: +4 -4 lines
Grab pv_list lock in pmap_unmap_ephemeral_page only when needed.

Revision 1.210: download - view: text, markup, annotated - select for diffs
Wed Apr 23 20:57:15 2014 UTC (10 years, 9 months ago) by skrll
Branches: MAIN
Diff to: previous 1.209: preferred, colored
Changes since revision 1.209: +14 -12 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.179.16.47: download - view: text, markup, annotated - select for diffs
Fri Feb 14 18:38:16 2014 UTC (11 years ago) by matt
Branches: matt-nb5-mips64
Diff to: previous 1.179.16.46: preferred, colored; branchpoint 1.179: preferred, colored; next MAIN 1.180: preferred, colored
Changes since revision 1.179.16.46: +4 -4 lines
Change KASSERTMSG/KDASSERTMSG to use varadic arguments like HEAD.
panic -> vpanic, add panic wrapper to vpanic.

Revision 1.209: download - view: text, markup, annotated - select for diffs
Sun Nov 10 18:27:15 2013 UTC (11 years, 3 months ago) by christos
Branches: MAIN
CVS tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15, riastradh-drm2-base3
Branch point for: tls-earlyentropy
Diff to: previous 1.208: preferred, colored
Changes since revision 1.208: +4 -2 lines
fix unused variable warnings

Revision 1.205.2.2: download - view: text, markup, annotated - select for diffs
Tue Oct 30 17:20:00 2012 UTC (12 years, 3 months ago) by yamt
Branches: yamt-pagecache
CVS tags: yamt-pagecache-tag8
Diff to: previous 1.205.2.1: preferred, colored; branchpoint 1.205: preferred, colored
Changes since revision 1.205.2.1: +13 -8 lines
sync with head

Revision 1.179.16.46: download - view: text, markup, annotated - select for diffs
Sat Aug 4 07:20:31 2012 UTC (12 years, 6 months ago) by matt
Branches: matt-nb5-mips64
Diff to: previous 1.179.16.45: preferred, colored; branchpoint 1.179: preferred, colored
Changes since revision 1.179.16.45: +191 -219 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.179.16.45: download - view: text, markup, annotated - select for diffs
Mon Jul 9 17:23:37 2012 UTC (12 years, 7 months ago) by matt
Branches: matt-nb5-mips64
Diff to: previous 1.179.16.44: preferred, colored; branchpoint 1.179: preferred, colored
Changes since revision 1.179.16.44: +5 -0 lines
Use a spinlock to protect the segtab queues.  Use union pmap_segmap and
pmap_segmap_t to track -HEAD.  Use KERNEL_PID for the same reason.

Revision 1.207.2.1: download - view: text, markup, annotated - select for diffs
Thu Jul 5 18:39:42 2012 UTC (12 years, 7 months ago) by riz
Branches: netbsd-6
CVS tags: netbsd-6-1-RELEASE, netbsd-6-1-RC4, netbsd-6-1-RC3, netbsd-6-1-RC2, netbsd-6-1-RC1, netbsd-6-1-5-RELEASE, netbsd-6-1-4-RELEASE, netbsd-6-1-3-RELEASE, netbsd-6-1-2-RELEASE, netbsd-6-1-1-RELEASE, netbsd-6-0-RELEASE, netbsd-6-0-RC2, netbsd-6-0-RC1, netbsd-6-0-6-RELEASE, netbsd-6-0-5-RELEASE, netbsd-6-0-4-RELEASE, netbsd-6-0-3-RELEASE, netbsd-6-0-2-RELEASE, netbsd-6-0-1-RELEASE, matt-nb6-plus-nbase, matt-nb6-plus-base, matt-nb6-plus
Branch point for: netbsd-6-1, netbsd-6-0
Diff to: previous 1.207: preferred, colored
Changes since revision 1.207: +13 -8 lines
Pull up following revision(s) (requested by matt in ticket #406):
	sys/arch/mips/include/pmap.h: revision 1.62
	sys/arch/mips/mips/pmap.c: revision 1.208
	sys/arch/mips/mips/pmap_segtab.c: revision 1.5
Change lockless segtab management to use a mutex for protection.  Some =
minor
changes to make this closer to common/pmap/tlb/pmap_segtab.c
=20
=20

Revision 1.208: download - view: text, markup, annotated - select for diffs
Thu Jul 5 17:21:02 2012 UTC (12 years, 7 months ago) by matt
Branches: MAIN
CVS tags: yamt-pagecache-base8, yamt-pagecache-base7, yamt-pagecache-base6, riastradh-drm2-base2, riastradh-drm2-base1, riastradh-drm2-base, riastradh-drm2, khorben-n900, agc-symver-base, agc-symver
Branch point for: tls-maxphys, rmind-smpnet
Diff to: previous 1.207: preferred, colored
Changes since revision 1.207: +13 -8 lines
Change lockless segtab management to use a mutex for protection.  Some minor
changes to make this closer to common/pmap/tlb/pmap_segtab.c

Revision 1.205.2.1: download - view: text, markup, annotated - select for diffs
Tue Apr 17 00:06:40 2012 UTC (12 years, 10 months ago) by yamt
Branches: yamt-pagecache
Diff to: previous 1.205: preferred, colored
Changes since revision 1.205: +3 -3 lines
sync with head

Revision 1.179.16.44: download - view: text, markup, annotated - select for diffs
Mon Feb 27 16:57:06 2012 UTC (12 years, 11 months ago) by matt
Branches: matt-nb5-mips64
Diff to: previous 1.179.16.43: preferred, colored; branchpoint 1.179: preferred, colored
Changes since revision 1.179.16.43: +6 -1 lines
Add a page-table-page cache to keep reuse just released page table tables.
Actually remove the addresses in pmap_remove_all.

Revision 1.205.6.1: download - view: text, markup, annotated - select for diffs
Sat Feb 18 07:32:41 2012 UTC (13 years ago) by mrg
Branches: jmcneill-usbmp
Diff to: previous 1.205: preferred, colored; next MAIN 1.206: preferred, colored
Changes since revision 1.205: +3 -3 lines
merge to -current.

Revision 1.179.16.43: download - view: text, markup, annotated - select for diffs
Thu Feb 16 23:02:22 2012 UTC (13 years ago) by matt
Branches: matt-nb5-mips64
Diff to: previous 1.179.16.42: preferred, colored; branchpoint 1.179: preferred, colored
Changes since revision 1.179.16.42: +33 -17 lines
Move the ksegx tlb init code into its own function.
Fix a problem with concurrent shootdowns by tracking what cpus want a
shootdown for a pmap, and if anoter cpu wants a shootdown, perform the
shootdown on ourselves.

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

Revision 1.179.16.41: download - view: text, markup, annotated - select for diffs
Mon Feb 13 18:20:26 2012 UTC (13 years ago) by matt
Branches: matt-nb5-mips64
Diff to: previous 1.179.16.40: preferred, colored; branchpoint 1.179: preferred, colored
Changes since revision 1.179.16.40: +13 -88 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.179.16.40: download - view: text, markup, annotated - select for diffs
Sun Feb 12 07:48:37 2012 UTC (13 years ago) by matt
Branches: matt-nb5-mips64
Diff to: previous 1.179.16.39: preferred, colored; branchpoint 1.179: preferred, colored
Changes since revision 1.179.16.39: +9 -2 lines
pmap pv pages can come from KSEGX too.

Revision 1.179.16.39: download - view: text, markup, annotated - select for diffs
Fri Feb 10 08:15:58 2012 UTC (13 years ago) by matt
Branches: matt-nb5-mips64
Diff to: previous 1.179.16.38: preferred, colored; branchpoint 1.179: preferred, colored
Changes since revision 1.179.16.38: +1 -1 lines
Fix typo.

Revision 1.179.16.38: download - view: text, markup, annotated - select for diffs
Fri Feb 10 07:19:44 2012 UTC (13 years ago) by matt
Branches: matt-nb5-mips64
Diff to: previous 1.179.16.37: preferred, colored; branchpoint 1.179: preferred, colored
Changes since revision 1.179.16.37: +6 -0 lines
Teach pmap_extract about KSEGX.

Revision 1.179.16.37: download - view: text, markup, annotated - select for diffs
Fri Feb 10 07:14:49 2012 UTC (13 years ago) by matt
Branches: matt-nb5-mips64
Diff to: previous 1.179.16.36: preferred, colored; branchpoint 1.179: preferred, colored
Changes since revision 1.179.16.36: +1 -3 lines
Don't double claim a kmem page.

Revision 1.179.16.36: download - view: text, markup, annotated - select for diffs
Thu Feb 9 03:14:45 2012 UTC (13 years ago) by matt
Branches: matt-nb5-mips64
Diff to: previous 1.179.16.35: preferred, colored; branchpoint 1.179: preferred, colored
Changes since revision 1.179.16.35: +11 -5 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.207: download - view: text, markup, annotated - select for diffs
Thu Feb 2 18:59:44 2012 UTC (13 years ago) by para
Branches: MAIN
CVS tags: yamt-pagecache-base5, yamt-pagecache-base4, netbsd-6-base, jmcneill-usbmp-base9, jmcneill-usbmp-base8, jmcneill-usbmp-base7, jmcneill-usbmp-base6, jmcneill-usbmp-base5, jmcneill-usbmp-base4, jmcneill-usbmp-base3, jmcneill-usbmp-base2, jmcneill-usbmp-base10
Branch point for: netbsd-6
Diff to: previous 1.206: preferred, colored
Changes since revision 1.206: +8 -3 lines
- bringing kmeminit_nkmempages back and revert pmaps that called this early
- use nkmempages to scale the kmem_arena
- reducing diff to pre kmem/vmem change
   (NKMEMPAGES_MAX_DEFAULT will need adjusting on some archs)

Revision 1.206: download - view: text, markup, annotated - select for diffs
Fri Jan 27 19:48:39 2012 UTC (13 years ago) by para
Branches: MAIN
Diff to: previous 1.205: preferred, colored
Changes since revision 1.205: +3 -8 lines
extending vmem(9) to be able to allocated resources for it's own needs.
simplifying uvm_map handling (no special kernel entries anymore no relocking)
make malloc(9) a thin wrapper around kmem(9)
(with private interface for interrupt safety reasons)

releng@ acknowledged

Revision 1.179.16.35: download - view: text, markup, annotated - select for diffs
Fri Dec 23 22:31:30 2011 UTC (13 years, 1 month ago) by matt
Branches: matt-nb5-mips64
Diff to: previous 1.179.16.34: preferred, colored; branchpoint 1.179: preferred, colored
Changes since revision 1.179.16.34: +26 -101 lines
Split syncicache functions into separate file: pmap_syncicache.
Support up to 1024 ASIDs.
Always use atomic ops for manipulating pm_shootdown_pending
Nuke PMAP_POOLPAGE_DEBUG
defparam MIPS_PAGE_SHIFT
Track colors of execpages.

Revision 1.179.16.34: download - view: text, markup, annotated - select for diffs
Fri Dec 16 23:15:39 2011 UTC (13 years, 2 months ago) by matt
Branches: matt-nb5-mips64
Diff to: previous 1.179.16.33: preferred, colored; branchpoint 1.179: preferred, colored
Changes since revision 1.179.16.33: +22 -12 lines
Fix a bug spotted by a user (resident flag becoming stale).
Add a few more KSEGX tests.
Only set pmap_page_colormask if virtual caches aliases are possible.

Revision 1.179.16.33: download - view: text, markup, annotated - select for diffs
Thu Dec 1 23:53:54 2011 UTC (13 years, 2 months ago) by matt
Branches: matt-nb5-mips64
Diff to: previous 1.179.16.32: preferred, colored; branchpoint 1.179: preferred, colored
Changes since revision 1.179.16.32: +1 -1 lines
don't compare pfn against phys_addr.

Revision 1.179.16.32: download - view: text, markup, annotated - select for diffs
Thu Dec 1 02:58:23 2011 UTC (13 years, 2 months ago) by matt
Branches: matt-nb5-mips64
Diff to: previous 1.179.16.31: preferred, colored; branchpoint 1.179: preferred, colored
Changes since revision 1.179.16.31: +2 -1 lines
Deal with uvmexp.ncolors being 0.

Revision 1.179.16.31: download - view: text, markup, annotated - select for diffs
Tue Nov 29 07:48:31 2011 UTC (13 years, 2 months ago) by matt
Branches: matt-nb5-mips64
Diff to: previous 1.179.16.30: preferred, colored; branchpoint 1.179: preferred, colored
Changes since revision 1.179.16.30: +46 -4 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.205: download - view: text, markup, annotated - select for diffs
Fri Sep 23 23:02:23 2011 UTC (13 years, 4 months ago) by macallan
Branches: MAIN
CVS tags: yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base, jmcneill-usbmp-pre-base2, jmcneill-usbmp-base, jmcneill-audiomp3-base, jmcneill-audiomp3
Branch point for: yamt-pagecache, jmcneill-usbmp
Diff to: previous 1.204: preferred, colored
Changes since revision 1.204: +8 -5 lines
the cached/not cached stuff doesn't build when both MIPS1 and MIPS3 are
defined so put it back to #if defined(_MIPS_PADDR_T_64BIT) || defined(_LP64)
there is no good reason why it can't work on MIPS1 though.

Revision 1.204: download - view: text, markup, annotated - select for diffs
Thu Sep 22 05:08:52 2011 UTC (13 years, 4 months ago) by macallan
Branches: MAIN
Diff to: previous 1.203: preferred, colored
Changes since revision 1.203: +16 -6 lines
support BUS_SPACE_MAP_PREFETCH in order to allow mapping device memory and
DMA buffers with cacheing disabled but things like write combining, relaxed
ordering etc. allowed when the CPU supports it
so far enabled only on Loongson, should work on R1xk and probably newer CPUs

Revision 1.203: download - view: text, markup, annotated - select for diffs
Wed Sep 21 16:37:54 2011 UTC (13 years, 4 months ago) by macallan
Branches: MAIN
Diff to: previous 1.202: preferred, colored
Changes since revision 1.202: +7 -12 lines
make the code that deals with mapping regular memory non-cached work again:
- honour PMAP_NOCACHE
- move the PGC_NOCACHE stuff out of #ifdef PARANOIADIAG
we need this to mmap DMA buffers non-cached on sgimips

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

Revision 1.202: download - view: text, markup, annotated - select for diffs
Sun Jun 12 01:28:29 2011 UTC (13 years, 8 months ago) by tsutsui
Branches: MAIN
Diff to: previous 1.201: preferred, colored
Changes since revision 1.201: +4 -4 lines
Set iospace and virtual_end address properly.
Fixes TLB miss panic during device attach on emips.

Revision 1.192.2.1: download - view: text, markup, annotated - select for diffs
Mon Jun 6 09:06:07 2011 UTC (13 years, 8 months ago) by jruoho
Branches: jruoho-x86intr
Diff to: previous 1.192: preferred, colored; next MAIN 1.193: preferred, colored
Changes since revision 1.192: +1232 -862 lines
Sync with HEAD.

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

Revision 1.179.16.30: download - view: text, markup, annotated - select for diffs
Sat May 28 06:50:07 2011 UTC (13 years, 8 months ago) by matt
Branches: matt-nb5-mips64
Diff to: previous 1.179.16.29: preferred, colored; branchpoint 1.179: preferred, colored
Changes since revision 1.179.16.29: +36 -3 lines
Change pmap_steal_memory, if it can, to prefer stealing from the physseg with
the least amount of free pages.

Revision 1.179.16.29: download - view: text, markup, annotated - select for diffs
Wed May 25 23:58:48 2011 UTC (13 years, 8 months ago) by matt
Branches: matt-nb5-mips64
Diff to: previous 1.179.16.28: preferred, colored; branchpoint 1.179: preferred, colored
Changes since revision 1.179.16.28: +16 -7 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.201: download - view: text, markup, annotated - select for diffs
Sat May 7 14:37:46 2011 UTC (13 years, 9 months ago) by tsutsui
Branches: MAIN
CVS tags: rmind-uvmplock-nbase, rmind-uvmplock-base, cherry-xenmp-base
Branch point for: cherry-xenmp
Diff to: previous 1.200: preferred, colored
Changes since revision 1.200: +3 -3 lines
Fix a MIPS3 dependent KASSERT.

Revision 1.200: download - view: text, markup, annotated - select for diffs
Mon May 2 15:31:01 2011 UTC (13 years, 9 months ago) by tsutsui
Branches: MAIN
Diff to: previous 1.199: preferred, colored
Changes since revision 1.199: +4 -2 lines
Fix "removing options MIPS3 cause DS5000 to loop during boot"
(i.e. no options MIPS3 kernel doesn't work on MIPS1) problem.

Reported and tested by Erik Bertelsen on port-pmax:
http://mail-index.NetBSD.org/port-pmax/2011/04/21/msg000099.html

Revision 1.199: download - view: text, markup, annotated - select for diffs
Fri Apr 29 22:18:53 2011 UTC (13 years, 9 months ago) by matt
Branches: MAIN
CVS tags: jym-xensuspend-nbase, jym-xensuspend-base
Diff to: previous 1.198: preferred, colored
Changes since revision 1.198: +11 -10 lines
whitespace cleanup.

Revision 1.179.16.28: download - view: text, markup, annotated - select for diffs
Fri Apr 29 08:26:29 2011 UTC (13 years, 9 months ago) by matt
Branches: matt-nb5-mips64
Diff to: previous 1.179.16.27: preferred, colored; branchpoint 1.179: preferred, colored
Changes since revision 1.179.16.27: +175 -130 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.188.4.2: download - view: text, markup, annotated - select for diffs
Thu Apr 21 01:41:12 2011 UTC (13 years, 10 months ago) by rmind
Branches: rmind-uvmplock
Diff to: previous 1.188.4.1: preferred, colored; branchpoint 1.188: preferred, colored
Changes since revision 1.188.4.1: +2 -2 lines
sync with head

Revision 1.198: download - view: text, markup, annotated - select for diffs
Tue Mar 15 07:31:33 2011 UTC (13 years, 11 months ago) by matt
Branches: MAIN
Diff to: previous 1.197: preferred, colored
Changes since revision 1.197: +4 -4 lines
Make sure we do proper locking if LOCKDEBUG is defined

Revision 1.188.4.1: download - view: text, markup, annotated - select for diffs
Sat Mar 5 20:51:08 2011 UTC (13 years, 11 months ago) by rmind
Branches: rmind-uvmplock
Diff to: previous 1.188: preferred, colored
Changes since revision 1.188: +1228 -841 lines
sync with head

Revision 1.192.4.3: download - view: text, markup, annotated - select for diffs
Sat Mar 5 15:09:50 2011 UTC (13 years, 11 months ago) by bouyer
Branches: bouyer-quota2
Diff to: previous 1.192.4.2: preferred, colored; branchpoint 1.192: preferred, colored; next MAIN 1.193: preferred, colored
Changes since revision 1.192.4.2: +1205 -850 lines
Sync with HEAD

Revision 1.197: download - view: text, markup, annotated - select for diffs
Wed Mar 2 13:26:41 2011 UTC (13 years, 11 months ago) by tsutsui
Branches: MAIN
CVS tags: bouyer-quota2-nbase
Diff to: previous 1.196: preferred, colored
Changes since revision 1.196: +6 -6 lines
Make this compile with PMAP_POOLPAGE_DEBUG.
XXX: not sure if this is ever used

Revision 1.196: download - view: text, markup, annotated - select for diffs
Fri Feb 25 19:32:51 2011 UTC (13 years, 11 months ago) by tsutsui
Branches: MAIN
Diff to: previous 1.195: preferred, colored
Changes since revision 1.195: +7 -3 lines
Fix LOCKDEBUG spin lock held panic on MIPS_CACHE_VIRTUAL_ALIAS CPUs.

Now cobalt boots multiuser, but many programs complains
"clntudp_create: RPC: Program not registered"
as well as R5000 sgimips O2.  Smells virtual cache alias issue around pool...

Revision 1.195: download - view: text, markup, annotated - select for diffs
Sun Feb 20 07:45:48 2011 UTC (13 years, 11 months ago) by matt
Branches: MAIN
Diff to: previous 1.194: preferred, colored
Changes since revision 1.194: +1201 -850 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.192.4.2: download - view: text, markup, annotated - select for diffs
Thu Feb 17 11:59:49 2011 UTC (14 years ago) by bouyer
Branches: bouyer-quota2
Diff to: previous 1.192.4.1: preferred, colored; branchpoint 1.192: preferred, colored
Changes since revision 1.192.4.1: +5 -6 lines
Sync with HEAD

Revision 1.194: download - view: text, markup, annotated - select for diffs
Thu Feb 10 06:42:17 2011 UTC (14 years ago) by macallan
Branches: MAIN
CVS tags: uebayasi-xip-base7, bouyer-quota2-base
Diff to: previous 1.193: preferred, colored
Changes since revision 1.193: +5 -6 lines
unbork PMAP_NOCACHE vs. PGC_NOCACHE

Revision 1.192.4.1: download - view: text, markup, annotated - select for diffs
Tue Feb 8 16:19:28 2011 UTC (14 years ago) by bouyer
Branches: bouyer-quota2
Diff to: previous 1.192: preferred, colored
Changes since revision 1.192: +17 -4 lines
Sync with HEAD

Revision 1.193: download - view: text, markup, annotated - select for diffs
Wed Jan 26 01:18:54 2011 UTC (14 years ago) by pooka
Branches: MAIN
Diff to: previous 1.192: preferred, colored
Changes since revision 1.192: +17 -4 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.192: download - view: text, markup, annotated - select for diffs
Fri Nov 12 07:59:26 2010 UTC (14 years, 3 months ago) by uebayasi
Branches: MAIN
CVS tags: uebayasi-xip-base6, matt-mips64-premerge-20101231, jruoho-x86intr-base
Branch point for: jruoho-x86intr, bouyer-quota2
Diff to: previous 1.191: preferred, colored
Changes since revision 1.191: +0 -2 lines
Put VM_PAGE_TO_MD() definition in one place.  No functional changes.

Revision 1.191: download - view: text, markup, annotated - select for diffs
Wed Nov 10 09:27:23 2010 UTC (14 years, 3 months ago) by uebayasi
Branches: MAIN
Diff to: previous 1.190: preferred, colored
Changes since revision 1.190: +12 -12 lines
Use more VM_PHYSMEM_*() accessors.  No functional changes.

Revision 1.188.2.11: download - view: text, markup, annotated - select for diffs
Wed Nov 10 08:59:13 2010 UTC (14 years, 3 months ago) by uebayasi
Branches: uebayasi-xip
Diff to: previous 1.188.2.10: preferred, colored; branchpoint 1.188: preferred, colored; next MAIN 1.189: preferred, colored
Changes since revision 1.188.2.10: +1 -1 lines
Fix thinko; make vm_physseg ptr swap really work.

Revision 1.188.2.10: download - view: text, markup, annotated - select for diffs
Wed Nov 10 03:36:28 2010 UTC (14 years, 3 months ago) by uebayasi
Branches: uebayasi-xip
Diff to: previous 1.188.2.9: preferred, colored; branchpoint 1.188: preferred, colored
Changes since revision 1.188.2.9: +2 -2 lines
Always use VM_PHYSMEM_PTR().

Revision 1.188.2.9: download - view: text, markup, annotated - select for diffs
Sat Nov 6 08:08:20 2010 UTC (14 years, 3 months ago) by uebayasi
Branches: uebayasi-xip
Diff to: previous 1.188.2.8: preferred, colored; branchpoint 1.188: preferred, colored
Changes since revision 1.188.2.8: +3 -1 lines
Sync with HEAD.

Revision 1.188.2.8: download - view: text, markup, annotated - select for diffs
Sat Nov 6 06:10:55 2010 UTC (14 years, 3 months ago) by uebayasi
Branches: uebayasi-xip
Diff to: previous 1.188.2.7: preferred, colored; branchpoint 1.188: preferred, colored
Changes since revision 1.188.2.7: +1 -1 lines
Fix build.

Revision 1.188.2.7: download - view: text, markup, annotated - select for diffs
Thu Nov 4 08:47:37 2010 UTC (14 years, 3 months ago) by uebayasi
Branches: uebayasi-xip
Diff to: previous 1.188.2.6: preferred, colored; branchpoint 1.188: preferred, colored
Changes since revision 1.188.2.6: +3 -2 lines
Split physical device segment pages from "managed" to "managed
device".  Cache that information as a flag PG_DEVICE so that callers
don't need to walk physsegs everytime.

Remove PQ_FIXED, which means that page daemon doesn't need to know
device segment pages at all.  But still fault handlers need to know
them.

I think this is what I can do best now.

Revision 1.188.2.6: download - view: text, markup, annotated - select for diffs
Sun Oct 31 03:46:18 2010 UTC (14 years, 3 months ago) by uebayasi
Branches: uebayasi-xip
Diff to: previous 1.188.2.5: preferred, colored; branchpoint 1.188: preferred, colored
Changes since revision 1.188.2.5: +1 -1 lines
We already have a flag PMAP_NOCACHE.  s/PMAP_UNMANAGED/PMAN_NOCACHE/.
Pointed out by Chuck Silvers, thanks.

Revision 1.190: download - view: text, markup, annotated - select for diffs
Sat Oct 30 17:44:04 2010 UTC (14 years, 3 months ago) by uebayasi
Branches: MAIN
CVS tags: uebayasi-xip-base5, uebayasi-xip-base4
Diff to: previous 1.189: preferred, colored
Changes since revision 1.189: +39 -20 lines
Use VM_PAGE_TO_MD() to locate struct vm_page_md.  No functional
changes.

Revision 1.188.2.5: download - view: text, markup, annotated - select for diffs
Sat Oct 30 08:41:09 2010 UTC (14 years, 3 months ago) by uebayasi
Branches: uebayasi-xip
Diff to: previous 1.188.2.4: preferred, colored; branchpoint 1.188: preferred, colored
Changes since revision 1.188.2.4: +13 -0 lines
Implement pmap_physload_device(9) to replace xmd(4) MD backend.
Implement pmap_mmap(9) and use it from mem(4) and xmd(4).

Revision 1.188.2.4: download - view: text, markup, annotated - select for diffs
Tue Aug 17 06:44:52 2010 UTC (14 years, 6 months ago) by uebayasi
Branches: uebayasi-xip
Diff to: previous 1.188.2.3: preferred, colored; branchpoint 1.188: preferred, colored
Changes since revision 1.188.2.3: +5 -2 lines
Sync with HEAD.

Revision 1.179.16.27: download - view: text, markup, annotated - select for diffs
Mon Aug 16 18:01:13 2010 UTC (14 years, 6 months ago) by matt
Branches: matt-nb5-mips64
CVS tags: matt-nb5-mips64-premerge-20101231, matt-nb5-mips64-k15
Diff to: previous 1.179.16.26: preferred, colored; branchpoint 1.179: preferred, colored
Changes since revision 1.179.16.26: +43 -8 lines
Support user VAs > 4GB (but less than 1TB for now) using a 3 level page table.
Add debug code to help find redundant faults (PMAP_FAULTINFO).

Revision 1.178.10.6: download - view: text, markup, annotated - select for diffs
Wed Aug 11 22:52:23 2010 UTC (14 years, 6 months ago) by yamt
Branches: yamt-nfs-mp
Diff to: previous 1.178.10.5: preferred, colored; branchpoint 1.178: preferred, colored; next MAIN 1.179: preferred, colored
Changes since revision 1.178.10.5: +7 -4 lines
sync with head.

Revision 1.189: download - view: text, markup, annotated - select for diffs
Tue Jul 6 20:50:34 2010 UTC (14 years, 7 months ago) by cegger
Branches: MAIN
CVS tags: yamt-nfs-mp-base11, yamt-nfs-mp-base10, uebayasi-xip-base3, uebayasi-xip-base2
Diff to: previous 1.188: preferred, colored
Changes since revision 1.188: +7 -4 lines
Turn PMAP_NOCACHE into MI flag.
Add MI flags PMAP_WRITE_COMBINE, PMAP_WRITE_BACK, PMAP_NOCACHE_OVR.
Update pmap(9) manpage.

hppa: Remove MD PMAP_NOCACHE flag as it exists as MI flag
mips: Rename MD PMAP_NOCACHE to PGC_NOCACHE.

x86: Implement new MI flags using Page-Attribute Tables.
x86: Implement BUS_SPACE_MAP_PREFETCHABLE.

Patch presented on tech-kern@:
http://mail-index.netbsd.org/tech-kern/2010/06/30/msg008458.html

No comments on this last version.

Revision 1.179.16.26: download - view: text, markup, annotated - select for diffs
Thu Jun 10 05:45:50 2010 UTC (14 years, 8 months ago) by cliff
Branches: matt-nb5-mips64
Diff to: previous 1.179.16.25: preferred, colored; branchpoint 1.179: preferred, colored
Changes since revision 1.179.16.25: +3 -3 lines
Move "space on 256MB sbmips" comment into alternate of #ifdef where it applies.
Matthew Green noticed this one, thanks.

Revision 1.179.16.25: download - view: text, markup, annotated - select for diffs
Thu Jun 10 00:37:58 2010 UTC (14 years, 8 months ago) by cliff
Branches: matt-nb5-mips64
Diff to: previous 1.179.16.24: preferred, colored; branchpoint 1.179: preferred, colored
Changes since revision 1.179.16.24: +7 -3 lines
in pmap_bootstrap:
- increase Sysmapsize to allow mapping all memory (e.g. for big tmpfs)
- when calculating mips_virtual_end, cast Sysmapsize to vaddr_t
before multiplying by NBPG to avoid overflow

Revision 1.179.16.24: download - view: text, markup, annotated - select for diffs
Tue May 4 17:15:36 2010 UTC (14 years, 9 months ago) by matt
Branches: matt-nb5-mips64
Diff to: previous 1.179.16.23: preferred, colored; branchpoint 1.179: preferred, colored
Changes since revision 1.179.16.23: +18 -9 lines
Add code after pmap_remove_all nukes the ASID to reestablish it after the
subsequent pmap_update.

Revision 1.188.2.3: download - view: text, markup, annotated - select for diffs
Wed Apr 28 08:31:06 2010 UTC (14 years, 9 months ago) by uebayasi
Branches: uebayasi-xip
Diff to: previous 1.188.2.2: preferred, colored; branchpoint 1.188: preferred, colored
Changes since revision 1.188.2.2: +12 -12 lines
Always use struct vm_physseg *vm_physmem_ptrs[] in MD code.

Revision 1.188.2.2: download - view: text, markup, annotated - select for diffs
Tue Apr 27 07:19:28 2010 UTC (14 years, 9 months ago) by uebayasi
Branches: uebayasi-xip
Diff to: previous 1.188.2.1: preferred, colored; branchpoint 1.188: preferred, colored
Changes since revision 1.188.2.1: +4 -1 lines
Support PMAP_UNMANAGED in some pmaps.

(Others should be converted eventually, but no problem while managed
device page is not used.)

Revision 1.179.16.23: download - view: text, markup, annotated - select for diffs
Thu Apr 8 16:05:31 2010 UTC (14 years, 10 months ago) by matt
Branches: matt-nb5-mips64
Diff to: previous 1.179.16.22: preferred, colored; branchpoint 1.179: preferred, colored
Changes since revision 1.179.16.22: +8 -8 lines
Fix problem where pmap_clear_modify could go into an infinite loop.
Spotted by cyber.

Revision 1.178.10.5: download - view: text, markup, annotated - select for diffs
Thu Mar 11 15:02:41 2010 UTC (14 years, 11 months ago) by yamt
Branches: yamt-nfs-mp
Diff to: previous 1.178.10.4: preferred, colored; branchpoint 1.178: preferred, colored
Changes since revision 1.178.10.4: +163 -94 lines
sync with head

Revision 1.179.16.22: download - view: text, markup, annotated - select for diffs
Thu Mar 11 08:19:01 2010 UTC (14 years, 11 months ago) by matt
Branches: matt-nb5-mips64
Diff to: previous 1.179.16.21: preferred, colored; branchpoint 1.179: preferred, colored
Changes since revision 1.179.16.21: +77 -26 lines
Add MP-aware icache support.

Revision 1.179.16.21: download - view: text, markup, annotated - select for diffs
Sun Feb 28 23:45:06 2010 UTC (14 years, 11 months ago) by matt
Branches: matt-nb5-mips64
Diff to: previous 1.179.16.20: preferred, colored; branchpoint 1.179: preferred, colored
Changes since revision 1.179.16.20: +2 -3 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.179.16.20: download - view: text, markup, annotated - select for diffs
Sat Feb 27 19:49:26 2010 UTC (14 years, 11 months ago) by snj
Branches: matt-nb5-mips64
Diff to: previous 1.179.16.19: preferred, colored; branchpoint 1.179: preferred, colored
Changes since revision 1.179.16.19: +7 -7 lines
It's "PARANOIADIAG", not "PARANIOADIAG".  Fix a couple small errors in
comments.

Revision 1.179.16.19: download - view: text, markup, annotated - select for diffs
Sat Feb 27 07:58:52 2010 UTC (14 years, 11 months ago) by matt
Branches: matt-nb5-mips64
Diff to: previous 1.179.16.18: preferred, colored; branchpoint 1.179: preferred, colored
Changes since revision 1.179.16.18: +3 -3 lines
Add mipsXX_tlb_enter which modifies/sets a specific TLB entry with a new
mapping (useful for wired TLB entries).
Add mips_fixup_exceptions which will walk through the exception vectors
and allows the fixup of any cpu_info references to be changed to a more
MP-friendly incarnation.
Define a common fixup method to use a wired TLB entry at -PAGE_SIZE allowing
direct loads using a negative based from the zero register.
Change varible pmap_tlb_info t pmap_tlb0_info.

Revision 1.179.16.18: download - view: text, markup, annotated - select for diffs
Thu Feb 25 05:53:23 2010 UTC (14 years, 11 months ago) by matt
Branches: matt-nb5-mips64
Diff to: previous 1.179.16.17: preferred, colored; branchpoint 1.179: preferred, colored
Changes since revision 1.179.16.17: +3 -5 lines
Make the UP and MP ASID allocation algorithm common.  Significantly improve
the algorithm.  Now when we exhaust the ASIDs, interrogate the TLB for active
ASIDS and release all the other for future allocations.  This leaves the
TLB entries with ASIDs valid avoiding the need to re-incur TLB misses for
them.

Revision 1.188.2.1: download - view: text, markup, annotated - select for diffs
Thu Feb 25 04:46:28 2010 UTC (14 years, 11 months ago) by uebayasi
Branches: uebayasi-xip
Diff to: previous 1.188: preferred, colored
Changes since revision 1.188: +37 -20 lines
Use VM_PAGE_TO_MD().  Only compile tested.

Revision 1.179.16.17: download - view: text, markup, annotated - select for diffs
Wed Feb 24 00:09:04 2010 UTC (14 years, 11 months ago) by matt
Branches: matt-nb5-mips64
Diff to: previous 1.179.16.16: preferred, colored; branchpoint 1.179: preferred, colored
Changes since revision 1.179.16.16: +40 -3 lines
Fix bug because of typo: "if (foo); something" is not the
same as "if (foo) something".  Add some more KASSERTs (used to find the bug).

Revision 1.179.16.16: download - view: text, markup, annotated - select for diffs
Tue Feb 23 20:33:48 2010 UTC (14 years, 11 months ago) by matt
Branches: matt-nb5-mips64
Diff to: previous 1.179.16.15: preferred, colored; branchpoint 1.179: preferred, colored
Changes since revision 1.179.16.15: +263 -61 lines
Make sure <mips/locore.h> is not included by MI code.
Add send_ipi and cpu_offline_md hooks to locoresw.
Add MP support to pmap (pvlist locking, tlb locking).
Add TLB shootdown support (see comment at the top of mips/pmap_tlb.c).
Add mipsXX_tlb_invalidate_globals routine

Revision 1.179.16.15: download - view: text, markup, annotated - select for diffs
Sat Feb 6 06:02:29 2010 UTC (15 years ago) by matt
Branches: matt-nb5-mips64
Diff to: previous 1.179.16.14: preferred, colored; branchpoint 1.179: preferred, colored
Changes since revision 1.179.16.14: +66 -10 lines
Add some prelim poolpage debugging code.
Don't use ptoa to expand pfns to paddrs since it's cast with a vaddr_t.

Revision 1.179.16.14: download - view: text, markup, annotated - select for diffs
Tue Jan 26 22:49:58 2010 UTC (15 years ago) by snj
Branches: matt-nb5-mips64
Diff to: previous 1.179.16.13: preferred, colored; branchpoint 1.179: preferred, colored
Changes since revision 1.179.16.13: +6 -6 lines
Fix comment gimplish.

Revision 1.179.16.13: download - view: text, markup, annotated - select for diffs
Tue Jan 26 21:19:25 2010 UTC (15 years ago) by matt
Branches: matt-nb5-mips64
Diff to: previous 1.179.16.12: preferred, colored; branchpoint 1.179: preferred, colored
Changes since revision 1.179.16.12: +489 -432 lines
Revamp pmap.  Add exec page caching logic from powerpc oea pmap.  Shrink struct
vm_page by placing the first pv_entry in it.  Remove pv_flags since nothing
really needed it.  Add pmap counters.  Rework virtual cache alias logic.
Allow pmap_copy_page and pmap_zero_page to deal with non-KSEG0 mappable pages.

Revision 1.179.16.12: download - view: text, markup, annotated - select for diffs
Fri Jan 22 07:41:10 2010 UTC (15 years ago) by matt
Branches: matt-nb5-mips64
Diff to: previous 1.179.16.11: preferred, colored; branchpoint 1.179: preferred, colored
Changes since revision 1.179.16.11: +63 -134 lines
Seperate the pmap TLB functions into their own file.
For 32 bit kernels, make sure that mips_virtual_end doesn't go past
VM_MAX_KERNEL_ADDRESS.

Revision 1.179.16.11: download - view: text, markup, annotated - select for diffs
Wed Jan 20 06:58:36 2010 UTC (15 years, 1 month ago) by matt
Branches: matt-nb5-mips64
Diff to: previous 1.179.16.10: preferred, colored; branchpoint 1.179: preferred, colored
Changes since revision 1.179.16.10: +105 -63 lines
Revamp things a bit.  Move of the globals mips uses into either cpu_info,
mips_options, or mips_cache_info.  Make MALT64 be able to boot MULTIPROCESSOR.
(some pmap MP work).

Revision 1.179.16.10: download - view: text, markup, annotated - select for diffs
Fri Jan 15 06:46:59 2010 UTC (15 years, 1 month ago) by matt
Branches: matt-nb5-mips64
Diff to: previous 1.179.16.9: preferred, colored; branchpoint 1.179: preferred, colored
Changes since revision 1.179.16.9: +111 -101 lines
Get rid of most of the studly caps.
First to MULTIPROCESSOR support for pmap: move some pmap globals to cpu_info.
Define per-cpu ASID number spaces.
Remove some mips1/!mips1 difference in db_interface.c
Add mips32/64 knowledge to stacktrace.

Revision 1.179.16.9: download - view: text, markup, annotated - select for diffs
Sun Jan 10 02:48:47 2010 UTC (15 years, 1 month ago) by matt
Branches: matt-nb5-mips64
Diff to: previous 1.179.16.8: preferred, colored; branchpoint 1.179: preferred, colored
Changes since revision 1.179.16.8: +10 -10 lines
Add generic support for DMA bounce buffers and real version of
bus_dmatag_subregion.  MALTA uses it for ISADMA.  Make RMIXL use
for creating 32bit and 29bit subregions.

Revision 1.179.16.8: download - view: text, markup, annotated - select for diffs
Sat Jan 9 06:01:18 2010 UTC (15 years, 1 month ago) by matt
Branches: matt-nb5-mips64
Diff to: previous 1.179.16.7: preferred, colored; branchpoint 1.179: preferred, colored
Changes since revision 1.179.16.7: +5 -5 lines
On _LP64, allocate kernel memory from the first 4GB.  Otherwise first 512MB.
Until we get full bounce buffer support, this should with device that only
support <4GB addresses.

Revision 1.179.16.7: download - view: text, markup, annotated - select for diffs
Wed Dec 30 04:51:26 2009 UTC (15 years, 1 month ago) by matt
Branches: matt-nb5-mips64
Diff to: previous 1.179.16.6: preferred, colored; branchpoint 1.179: preferred, colored
Changes since revision 1.179.16.6: +128 -251 lines
Please segtab lookups into separate file.
Add mips_add_physload
Add mips_init_lwp0_uarea
cleanup lwp0/cpu_info_store initialization.

Revision 1.179.16.6: download - view: text, markup, annotated - select for diffs
Sat Dec 19 06:58:30 2009 UTC (15 years, 2 months ago) by matt
Branches: matt-nb5-mips64
Diff to: previous 1.179.16.5: preferred, colored; branchpoint 1.179: preferred, colored
Changes since revision 1.179.16.5: +18 -10 lines
Change pmap_steal_memory to map allocated memory in XKPHYS is _LP64 kernels.
The CCA used is the one used for KSEG0.

Revision 1.188: download - view: text, markup, annotated - select for diffs
Mon Dec 14 00:46:07 2009 UTC (15 years, 2 months ago) by matt
Branches: MAIN
CVS tags: yamt-nfs-mp-base9, uebayasi-xip-base1, uebayasi-xip-base
Branch point for: uebayasi-xip, rmind-uvmplock
Diff to: previous 1.187: preferred, colored
Changes since revision 1.187: +162 -71 lines
Merge from matt-nb5-mips64
Merge mips-specific arch files.

Revision 1.187: download - view: text, markup, annotated - select for diffs
Sat Nov 21 17:40:28 2009 UTC (15 years, 2 months ago) by rmind
Branches: MAIN
CVS tags: matt-premerge-20091211
Diff to: previous 1.186: preferred, colored
Changes since revision 1.186: +2 -3 lines
Use lwp_getpcb() on mips, powerpc and sh3, clean from struct user usage.

Revision 1.186: download - view: text, markup, annotated - select for diffs
Sat Nov 7 07:27:45 2009 UTC (15 years, 3 months ago) by cegger
Branches: MAIN
Diff to: previous 1.185: preferred, colored
Changes since revision 1.185: +3 -3 lines
Add a flags argument to pmap_kenter_pa(9).
Patch showed on tech-kern@ http://mail-index.netbsd.org/tech-kern/2009/11/04/msg006434.html
No objections.

Revision 1.185: download - view: text, markup, annotated - select for diffs
Wed Oct 21 21:12:01 2009 UTC (15 years, 3 months ago) by rmind
Branches: MAIN
Diff to: previous 1.184: preferred, colored
Changes since revision 1.184: +2 -23 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.179.16.5: download - view: text, markup, annotated - select for diffs
Tue Sep 8 08:11:29 2009 UTC (15 years, 5 months ago) by matt
Branches: matt-nb5-mips64
CVS tags: matt-nb5-mips64-u2-k2-k4-k7-k8-k9, matt-nb5-mips64-premerge-20091211
Diff to: previous 1.179.16.4: preferred, colored; branchpoint 1.179: preferred, colored
Changes since revision 1.179.16.4: +49 -55 lines
For LP64 kernels, only use KSEG0 for pmap_steal_memory.  Everything else uses
XKPHYS.  Use the new MIPS_PHYS_TO_XKPHYS_{,UN}CACHED macros.

Revision 1.179.16.4: download - view: text, markup, annotated - select for diffs
Mon Sep 7 22:19:53 2009 UTC (15 years, 5 months ago) by matt
Branches: matt-nb5-mips64
CVS tags: matt-nb4-mips64-k7-u2a-k9b
Diff to: previous 1.179.16.3: preferred, colored; branchpoint 1.179: preferred, colored
Changes since revision 1.179.16.3: +11 -11 lines
Fix MIPS_PHYS_TO_XKPHYS calls.

Revision 1.179.16.3: download - view: text, markup, annotated - select for diffs
Mon Sep 7 22:08:31 2009 UTC (15 years, 5 months ago) by matt
Branches: matt-nb5-mips64
Diff to: previous 1.179.16.2: preferred, colored; branchpoint 1.179: preferred, colored
Changes since revision 1.179.16.2: +90 -34 lines
Add LP64 support.

Revision 1.179.16.2: download - view: text, markup, annotated - select for diffs
Sun Aug 23 06:38:07 2009 UTC (15 years, 5 months ago) by matt
Branches: matt-nb5-mips64
CVS tags: matt-nb5-mips64-u1-k1-k5
Diff to: previous 1.179.16.1: preferred, colored; branchpoint 1.179: preferred, colored
Changes since revision 1.179.16.1: +38 -38 lines
PRIxVADDR, PRIdVSIZE, PRIxVSIZE, or PRIxPADDR as appropriate.
Use __intXX_t or __uintXX_t as appropriate in <mips/types.h>

Revision 1.179.16.1: download - view: text, markup, annotated - select for diffs
Fri Aug 21 17:37:30 2009 UTC (15 years, 5 months ago) by matt
Branches: matt-nb5-mips64
Diff to: previous 1.179: preferred, colored
Changes since revision 1.179: +49 -8 lines
Add CTASSERTS to make sure MIPS_KSEG* are correctly defined.
Use PRIx{PADDR,VADDR}.
Deal with XKPHYS in {,un}map_poolpage and kvtophys.

Revision 1.178.10.4: download - view: text, markup, annotated - select for diffs
Wed Aug 19 18:46:31 2009 UTC (15 years, 6 months ago) by yamt
Branches: yamt-nfs-mp
Diff to: previous 1.178.10.3: preferred, colored; branchpoint 1.178: preferred, colored
Changes since revision 1.178.10.3: +3 -4 lines
sync with head.

Revision 1.184: download - view: text, markup, annotated - select for diffs
Tue Aug 18 18:06:53 2009 UTC (15 years, 6 months ago) by thorpej
Branches: MAIN
CVS tags: yamt-nfs-mp-base8, yamt-nfs-mp-base7
Diff to: previous 1.183: preferred, colored
Changes since revision 1.183: +3 -4 lines
Add a real API for testing if a page is a managed page, and adjust callers
to stop relying on vm_physseg_find() for this purpose.

Revision 1.178.10.3: download - view: text, markup, annotated - select for diffs
Sat Jul 18 14:52:54 2009 UTC (15 years, 7 months ago) by yamt
Branches: yamt-nfs-mp
Diff to: previous 1.178.10.2: preferred, colored; branchpoint 1.178: preferred, colored
Changes since revision 1.178.10.2: +13 -21 lines
sync with head.

Revision 1.183: download - view: text, markup, annotated - select for diffs
Mon Jun 29 13:22:51 2009 UTC (15 years, 7 months ago) by tsutsui
Branches: MAIN
CVS tags: yamt-nfs-mp-base6, jymxensuspend-base
Diff to: previous 1.182: preferred, colored
Changes since revision 1.182: +13 -21 lines
Since pmap.c rev 1.163, page attributes of PV_MODIFIED and PV_REFERENCED
have beem moved from pv_flags in struct pv_entry to pvh_attrs in
struct vm_page_md, so no need to copy pv_flags to keep these flags
in pv header in pmap_remove_pv(). Pointed out by uebayasi@ on port-mips.
Also rename those page attribute flags from PV_FOO to PGA_FOO like alpha.
While here, make pv_flags unsigned.

Briefly tested on sgimips O2.

Revision 1.181.2.1: download - view: text, markup, annotated - select for diffs
Wed May 13 17:18:03 2009 UTC (15 years, 9 months ago) by jym
Branches: jym-xensuspend
Diff to: previous 1.181: preferred, colored; next MAIN 1.182: preferred, colored
Changes since revision 1.181: +3 -3 lines
Sync with HEAD.

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

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

Revision 1.179.8.2: download - view: text, markup, annotated - select for diffs
Tue Apr 28 07:34:25 2009 UTC (15 years, 9 months ago) by skrll
Branches: nick-hppapmap
Diff to: previous 1.179.8.1: preferred, colored; branchpoint 1.179: preferred, colored; next MAIN 1.180: preferred, colored
Changes since revision 1.179.8.1: +3 -3 lines
Sync with HEAD.

Revision 1.182: download - view: text, markup, annotated - select for diffs
Tue Apr 21 21:29:59 2009 UTC (15 years, 9 months ago) by cegger
Branches: MAIN
CVS tags: yamt-nfs-mp-base5, yamt-nfs-mp-base4, yamt-nfs-mp-base3, nick-hppapmap-base4, nick-hppapmap-base3, nick-hppapmap-base
Diff to: previous 1.181: preferred, colored
Changes since revision 1.181: +3 -3 lines
change pmap flags argument from int to u_int.
discussed with christos@ on source-changes-d@

Revision 1.179.8.1: download - view: text, markup, annotated - select for diffs
Mon Jan 19 13:16:30 2009 UTC (16 years, 1 month ago) by skrll
Branches: nick-hppapmap
Diff to: previous 1.179: preferred, colored
Changes since revision 1.179: +4 -3 lines
Sync with HEAD.

Revision 1.178.6.2: download - view: text, markup, annotated - select for diffs
Sat Jan 17 13:28:16 2009 UTC (16 years, 1 month ago) by mjf
Branches: mjf-devfs2
Diff to: previous 1.178.6.1: preferred, colored; branchpoint 1.178: preferred, colored; next MAIN 1.179: preferred, colored
Changes since revision 1.178.6.1: +2 -1 lines
Sync with HEAD.

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

Revision 1.181: download - view: text, markup, annotated - select for diffs
Wed Dec 10 11:10:19 2008 UTC (16 years, 2 months ago) by pooka
Branches: MAIN
CVS tags: nick-hppapmap-base2, mjf-devfs2-base, haad-nbase2, haad-dm-base2, haad-dm-base
Branch point for: jym-xensuspend
Diff to: previous 1.180: preferred, colored
Changes since revision 1.180: +3 -3 lines
Make kernel_pmap_ptr a const.  Requested by steve_martin.

Revision 1.180: download - view: text, markup, annotated - select for diffs
Tue Dec 9 20:45:45 2008 UTC (16 years, 2 months ago) by pooka
Branches: MAIN
Diff to: previous 1.179: preferred, colored
Changes since revision 1.179: +4 -3 lines
Make pmap_kernel() a MI macro for struct pmap *kernel_pmap_ptr,
which is now the "API" provided by the pmap module.  pmap_kernel()
remains as the syntactic sugar.

Bonus cosmetics round: move all the pmap_t pointer typedefs into
uvm_pmap.h.

Thanks to Greg Oster for providing cpu muscle for doing test builds.

Revision 1.178.6.1: download - view: text, markup, annotated - select for diffs
Mon Jun 2 13:22:25 2008 UTC (16 years, 8 months ago) by mjf
Branches: mjf-devfs2
Diff to: previous 1.178: preferred, colored
Changes since revision 1.178: +2 -9 lines
Sync with HEAD.

Revision 1.178.8.1: download - view: text, markup, annotated - select for diffs
Sun May 18 12:32:26 2008 UTC (16 years, 9 months ago) by yamt
Branches: yamt-pf42
Diff to: previous 1.178: preferred, colored; next MAIN 1.179: preferred, colored
Changes since revision 1.178: +2 -9 lines
sync with head.

Revision 1.178.10.1: download - view: text, markup, annotated - select for diffs
Fri May 16 02:22:51 2008 UTC (16 years, 9 months ago) by yamt
Branches: yamt-nfs-mp
Diff to: previous 1.178: preferred, colored
Changes since revision 1.178: +2 -9 lines
sync with head.

Revision 1.179: download - view: text, markup, annotated - select for diffs
Mon Apr 28 20:23:28 2008 UTC (16 years, 9 months ago) by martin
Branches: MAIN
CVS tags: yamt-pf42-base4, yamt-pf42-base3, yamt-pf42-base2, yamt-nfs-mp-base2, wrstuden-revivesa-base-4, wrstuden-revivesa-base-3, wrstuden-revivesa-base-2, wrstuden-revivesa-base-1, wrstuden-revivesa-base, wrstuden-revivesa, simonb-wapbl-nbase, simonb-wapbl-base, simonb-wapbl, netbsd-5-base, netbsd-5-2-RELEASE, netbsd-5-2-RC1, netbsd-5-2-3-RELEASE, netbsd-5-2-2-RELEASE, netbsd-5-2-1-RELEASE, netbsd-5-2, netbsd-5-1-RELEASE, netbsd-5-1-RC4, netbsd-5-1-RC3, netbsd-5-1-RC2, netbsd-5-1-RC1, netbsd-5-1-5-RELEASE, netbsd-5-1-4-RELEASE, netbsd-5-1-3-RELEASE, netbsd-5-1-2-RELEASE, netbsd-5-1-1-RELEASE, netbsd-5-1, netbsd-5-0-RELEASE, netbsd-5-0-RC4, netbsd-5-0-RC3, netbsd-5-0-RC2, netbsd-5-0-RC1, netbsd-5-0-2-RELEASE, netbsd-5-0-1-RELEASE, netbsd-5-0, netbsd-5, matt-nb5-pq3-base, matt-nb5-pq3, matt-mips64-base2, hpcarm-cleanup-nbase, haad-dm-base1, ad-audiomp2-base, ad-audiomp2
Branch point for: nick-hppapmap, matt-nb5-mips64, haad-dm
Diff to: previous 1.178: preferred, colored
Changes since revision 1.178: +2 -9 lines
Remove clause 3 and 4 from TNF licenses

Revision 1.177.2.1: download - view: text, markup, annotated - select for diffs
Mon Feb 18 21:04:46 2008 UTC (17 years ago) by mjf
Branches: mjf-devfs
Diff to: previous 1.177: preferred, colored; next MAIN 1.178: preferred, colored
Changes since revision 1.177: +3 -9 lines
Sync with HEAD.

Revision 1.159.2.6: download - view: text, markup, annotated - select for diffs
Mon Jan 21 09:37:34 2008 UTC (17 years ago) by yamt
Branches: yamt-lazymbuf
Diff to: previous 1.159.2.5: preferred, colored; branchpoint 1.159: preferred, colored; next MAIN 1.160: preferred, colored
Changes since revision 1.159.2.5: +3 -9 lines
sync with head

Revision 1.175.10.2: download - view: text, markup, annotated - select for diffs
Wed Jan 9 01:47:18 2008 UTC (17 years, 1 month ago) by matt
Branches: matt-armv6
Diff to: previous 1.175.10.1: preferred, colored; branchpoint 1.175: preferred, colored; next MAIN 1.176: preferred, colored
Changes since revision 1.175.10.1: +3 -9 lines
sync with HEAD

Revision 1.177.8.1: download - view: text, markup, annotated - select for diffs
Wed Jan 2 21:48:42 2008 UTC (17 years, 1 month ago) by bouyer
Branches: bouyer-xeni386
CVS tags: bouyer-xeni386-merge1
Diff to: previous 1.177: preferred, colored; next MAIN 1.178: preferred, colored
Changes since revision 1.177: +1 -7 lines
Sync with HEAD

Revision 1.178: download - view: text, markup, annotated - select for diffs
Wed Dec 26 16:01:34 2007 UTC (17 years, 1 month ago) by ad
Branches: MAIN
CVS tags: yamt-pf42-baseX, yamt-pf42-base, yamt-nfs-mp-base, yamt-lazymbuf-base15, yamt-lazymbuf-base14, vmlocking2-base3, nick-net80211-sync-base, nick-net80211-sync, mjf-devfs-base, matt-armv6-nbase, matt-armv6-base, keiichi-mipv6-nbase, keiichi-mipv6-base, keiichi-mipv6, hpcarm-cleanup-base, bouyer-xeni386-nbase, bouyer-xeni386-base, ad-socklock-base1
Branch point for: yamt-pf42, yamt-nfs-mp, mjf-devfs2
Diff to: previous 1.177: preferred, colored
Changes since revision 1.177: +3 -9 lines
Merge more changes from vmlocking2, mainly:

- Locking improvements.
- Use pool_cache for more items.

Revision 1.177.4.2: download - view: text, markup, annotated - select for diffs
Mon Dec 24 20:18:38 2007 UTC (17 years, 1 month ago) by ad
Branches: vmlocking2
Diff to: previous 1.177.4.1: preferred, colored; branchpoint 1.177: preferred, colored; next MAIN 1.178: preferred, colored
Changes since revision 1.177.4.1: +2 -10 lines
Get rid of the mutex for now.

Revision 1.177.4.1: download - view: text, markup, annotated - select for diffs
Tue Dec 4 13:02:51 2007 UTC (17 years, 2 months ago) by ad
Branches: vmlocking2
Diff to: previous 1.177: preferred, colored
Changes since revision 1.177: +10 -8 lines
Pull the vmlocking changes into a new branch.

Revision 1.172.2.4: download - view: text, markup, annotated - select for diffs
Mon Dec 3 18:37:31 2007 UTC (17 years, 2 months ago) by ad
Branches: vmlocking
Diff to: previous 1.172.2.3: preferred, colored; next MAIN 1.173: preferred, colored
Changes since revision 1.172.2.3: +3 -3 lines
Sync with HEAD.

Revision 1.175.14.1: download - view: text, markup, annotated - select for diffs
Tue Nov 13 15:58:47 2007 UTC (17 years, 3 months ago) by bouyer
Branches: bouyer-xenamd64
Diff to: previous 1.175: preferred, colored; next MAIN 1.176: preferred, colored
Changes since revision 1.175: +3 -3 lines
Sync with HEAD

Revision 1.175.10.1: download - view: text, markup, annotated - select for diffs
Tue Nov 6 23:19:14 2007 UTC (17 years, 3 months ago) by matt
Branches: matt-armv6
CVS tags: matt-armv6-prevmlocking
Diff to: previous 1.175: preferred, colored
Changes since revision 1.175: +3 -3 lines
sync with HEAD

Revision 1.175.8.1: download - view: text, markup, annotated - select for diffs
Sun Oct 28 20:10:42 2007 UTC (17 years, 3 months ago) by joerg
Branches: jmcneill-pm
Diff to: previous 1.175: preferred, colored; next MAIN 1.176: preferred, colored
Changes since revision 1.175: +3 -3 lines
Sync with HEAD.

Revision 1.159.2.5: download - view: text, markup, annotated - select for diffs
Sat Oct 27 11:27:15 2007 UTC (17 years, 3 months ago) by yamt
Branches: yamt-lazymbuf
Diff to: previous 1.159.2.4: preferred, colored; branchpoint 1.159: preferred, colored
Changes since revision 1.159.2.4: +3 -3 lines
sync with head.

Revision 1.177: download - view: text, markup, annotated - select for diffs
Thu Oct 25 13:03:04 2007 UTC (17 years, 3 months ago) by yamt
Branches: MAIN
CVS tags: yamt-kmem-base3, yamt-kmem-base2, yamt-kmem-base, yamt-kmem, vmlocking2-base2, vmlocking2-base1, vmlocking-nbase, reinoud-bufcleanup-nbase, reinoud-bufcleanup-base, jmcneill-pm-base, jmcneill-base, cube-autoconf-base, cube-autoconf, bouyer-xenamd64-base2, bouyer-xenamd64-base
Branch point for: vmlocking2, mjf-devfs, bouyer-xeni386
Diff to: previous 1.176: preferred, colored
Changes since revision 1.176: +3 -3 lines
defparam PAGER_MAP_SIZE.

Revision 1.176: download - view: text, markup, annotated - select for diffs
Wed Oct 17 19:55:39 2007 UTC (17 years, 4 months ago) by garbled
Branches: MAIN
CVS tags: yamt-x86pmap-base4
Diff to: previous 1.175: preferred, colored
Changes since revision 1.175: +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.173.8.1: download - view: text, markup, annotated - select for diffs
Wed Oct 3 19:24:24 2007 UTC (17 years, 4 months ago) by garbled
Branches: ppcoea-renovation
Diff to: previous 1.173: preferred, colored; next MAIN 1.174: preferred, colored
Changes since revision 1.173: +28 -16 lines
Sync with HEAD

Revision 1.159.2.4: download - view: text, markup, annotated - select for diffs
Mon Sep 3 14:28:02 2007 UTC (17 years, 5 months ago) by yamt
Branches: yamt-lazymbuf
Diff to: previous 1.159.2.3: preferred, colored; branchpoint 1.159: preferred, colored
Changes since revision 1.159.2.3: +43 -31 lines
sync with head.

Revision 1.172.2.3: download - view: text, markup, annotated - select for diffs
Mon Aug 20 18:38:29 2007 UTC (17 years, 6 months ago) by ad
Branches: vmlocking
Diff to: previous 1.172.2.2: preferred, colored
Changes since revision 1.172.2.2: +28 -16 lines
Sync with HEAD.

Revision 1.175: download - view: text, markup, annotated - select for diffs
Tue Jul 17 04:01:34 2007 UTC (17 years, 7 months ago) by macallan
Branches: MAIN
CVS tags: yamt-x86pmap-base3, yamt-x86pmap-base2, yamt-x86pmap-base, yamt-x86pmap, vmlocking-base, ppcoea-renovation-base, nick-csl-alignment-base5, nick-csl-alignment-base, nick-csl-alignment, matt-mips64-base, matt-mips64, hpcarm-cleanup
Branch point for: matt-armv6, jmcneill-pm, bouyer-xenamd64
Diff to: previous 1.174: preferred, colored
Changes since revision 1.174: +26 -3 lines
if we have 64bit paddr_t add a flag which indicates non-cachable for use
with mmap*() and pmap_enter()
Mainly for allowing userland to mmap() the O2's framebuffer uncached

Revision 1.174: download - view: text, markup, annotated - select for diffs
Mon Jul 16 23:48:05 2007 UTC (17 years, 7 months ago) by macallan
Branches: MAIN
Diff to: previous 1.173: preferred, colored
Changes since revision 1.173: +2 -13 lines
change pmap_phys_address()s parameter to paddr_t since that's what it gets
fed from mmap*() anyway
approved by gimpy

Revision 1.172.2.2: download - view: text, markup, annotated - select for diffs
Sun Jul 15 22:20:24 2007 UTC (17 years, 7 months ago) by ad
Branches: vmlocking
Diff to: previous 1.172.2.1: preferred, colored
Changes since revision 1.172.2.1: +10 -8 lines
Get pmax working.

Revision 1.169.2.3: download - view: text, markup, annotated - select for diffs
Sat Mar 24 14:54:54 2007 UTC (17 years, 10 months ago) by yamt
Branches: yamt-idlelwp
Diff to: previous 1.169.2.2: preferred, colored; branchpoint 1.169: preferred, colored; next MAIN 1.170: preferred, colored
Changes since revision 1.169.2.2: +4 -4 lines
sync with head.

Revision 1.172.2.1: download - view: text, markup, annotated - select for diffs
Tue Mar 13 16:50:01 2007 UTC (17 years, 11 months ago) by ad
Branches: vmlocking
Diff to: previous 1.172: preferred, colored
Changes since revision 1.172: +4 -4 lines
Sync with head.

Revision 1.173: download - view: text, markup, annotated - select for diffs
Mon Mar 12 18:18:25 2007 UTC (17 years, 11 months ago) by ad
Branches: MAIN
CVS tags: yamt-idlelwp-base8, thorpej-atomic-base, thorpej-atomic, reinoud-bufcleanup, mjf-ufs-trans-base, mjf-ufs-trans
Branch point for: ppcoea-renovation
Diff to: previous 1.172: preferred, colored
Changes since revision 1.172: +4 -4 lines
Pass an ipl argument to pool_init/POOL_INIT to be used when initializing
the pool's lock.

Revision 1.169.2.2: download - view: text, markup, annotated - select for diffs
Mon Mar 12 05:49:23 2007 UTC (17 years, 11 months ago) by rmind
Branches: yamt-idlelwp
Diff to: previous 1.169.2.1: preferred, colored; branchpoint 1.169: preferred, colored
Changes since revision 1.169.2.1: +15 -15 lines
Sync with HEAD.

Revision 1.172: download - view: text, markup, annotated - select for diffs
Sun Mar 4 06:00:12 2007 UTC (17 years, 11 months ago) by christos
Branches: MAIN
Branch point for: vmlocking
Diff to: previous 1.171: preferred, colored
Changes since revision 1.171: +6 -6 lines
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.

Revision 1.171: download - view: text, markup, annotated - select for diffs
Wed Feb 28 04:21:53 2007 UTC (17 years, 11 months ago) by thorpej
Branches: MAIN
Diff to: previous 1.170: preferred, colored
Changes since revision 1.170: +11 -11 lines
TRUE -> true, FALSE -> false

Revision 1.169.2.1: download - view: text, markup, annotated - select for diffs
Tue Feb 27 16:52:09 2007 UTC (17 years, 11 months ago) by yamt
Branches: yamt-idlelwp
Diff to: previous 1.169: preferred, colored
Changes since revision 1.169: +12 -12 lines
- sync with head.
- move sched_changepri back to kern_synch.c as it doesn't know PPQ anymore.

Revision 1.159.2.3: download - view: text, markup, annotated - select for diffs
Mon Feb 26 09:07:30 2007 UTC (17 years, 11 months ago) by yamt
Branches: yamt-lazymbuf
Diff to: previous 1.159.2.2: preferred, colored; branchpoint 1.159: preferred, colored
Changes since revision 1.159.2.2: +12 -12 lines
sync with head.

Revision 1.170: download - view: text, markup, annotated - select for diffs
Wed Feb 21 22:59:48 2007 UTC (17 years, 11 months ago) by thorpej
Branches: MAIN
CVS tags: ad-audiomp-base, ad-audiomp
Diff to: previous 1.169: preferred, colored
Changes since revision 1.169: +12 -12 lines
Replace the Mach-derived boolean_t type with the C99 bool type.  A
future commit will replace use of TRUE and FALSE with true and false.

Revision 1.167.8.1: download - view: text, markup, annotated - select for diffs
Fri Jan 12 01:00:54 2007 UTC (18 years, 1 month ago) by ad
Branches: newlock2
Diff to: previous 1.167: preferred, colored; next MAIN 1.168: preferred, colored
Changes since revision 1.167: +45 -5 lines
Sync with head.

Revision 1.159.2.2: download - view: text, markup, annotated - select for diffs
Sat Dec 30 20:46:33 2006 UTC (18 years, 1 month ago) by yamt
Branches: yamt-lazymbuf
Diff to: previous 1.159.2.1: preferred, colored; branchpoint 1.159: preferred, colored
Changes since revision 1.159.2.1: +45 -5 lines
sync with head.

Revision 1.168.2.1: download - view: text, markup, annotated - select for diffs
Wed Dec 20 22:49:41 2006 UTC (18 years, 2 months ago) by bouyer
Branches: netbsd-4
CVS tags: wrstuden-fixsa-newbase, wrstuden-fixsa-base-1, wrstuden-fixsa-base, wrstuden-fixsa, netbsd-4-0-RELEASE, netbsd-4-0-RC5, netbsd-4-0-RC4, netbsd-4-0-RC3, netbsd-4-0-RC2, netbsd-4-0-RC1, netbsd-4-0-1-RELEASE, netbsd-4-0, matt-nb4-arm-base, matt-nb4-arm
Diff to: previous 1.168: preferred, colored; next MAIN 1.169: preferred, colored
Changes since revision 1.168: +23 -5 lines
Pull up following revision(s) (requested by simonb in ticket #289):
	sys/arch/mips/mips/pmap.c: revision 1.169
Handle KSEG0 addresses specifically in pmap_extract(), similar
to how other KSEG-style pmaps (alpha, sh3, sh5) do.
Add a DIAGNOSTIC panic for KSEG1 addresses (nothing should touch
uncached memory, right?)
Clean up the the pmapdebug printfs a little too (athough with
more ugly #ifdef DEBUG bits of code).
XXX: should use DPRINTF() type printfs here.
Fixes panic running regress/sys/kern/umount on MIPS platforms
reported by Martin Husemann.
--

Revision 1.167.10.2: download - view: text, markup, annotated - select for diffs
Mon Dec 18 11:42:05 2006 UTC (18 years, 2 months ago) by yamt
Branches: yamt-splraiseipl
Diff to: previous 1.167.10.1: preferred, colored; branchpoint 1.167: preferred, colored; next MAIN 1.168: preferred, colored
Changes since revision 1.167.10.1: +23 -5 lines
sync with head.

Revision 1.169: download - view: text, markup, annotated - select for diffs
Mon Dec 18 00:40:26 2006 UTC (18 years, 2 months ago) by simonb
Branches: MAIN
CVS tags: yamt-splraiseipl-base5, yamt-splraiseipl-base4, post-newlock2-merge, newlock2-nbase, newlock2-base
Branch point for: yamt-idlelwp
Diff to: previous 1.168: preferred, colored
Changes since revision 1.168: +23 -5 lines
Handle KSEG0 addresses specifically in pmap_extract(), similar
to how other KSEG-style pmaps (alpha, sh3, sh5) do.

Add a DIAGNOSTIC panic for KSEG1 addresses (nothing should touch
uncached memory, right?)

Clean up the the pmapdebug printfs a little too (athough with
more ugly #ifdef DEBUG bits of code).
XXX: should use DPRINTF() type printfs here.


Fixes panic running regress/sys/kern/umount on MIPS platforms
reported by Martin Husemann.

Revision 1.167.10.1: download - view: text, markup, annotated - select for diffs
Sun Dec 10 07:16:27 2006 UTC (18 years, 2 months ago) by yamt
Branches: yamt-splraiseipl
Diff to: previous 1.167: preferred, colored
Changes since revision 1.167: +24 -2 lines
sync with head.

Revision 1.168: download - view: text, markup, annotated - select for diffs
Sat Nov 18 14:25:39 2006 UTC (18 years, 3 months ago) by tsutsui
Branches: MAIN
CVS tags: yamt-splraiseipl-base3, netbsd-4-base
Branch point for: netbsd-4
Diff to: previous 1.167: preferred, colored
Changes since revision 1.167: +24 -2 lines
Disable sosend_loan() in sys/kern/uipc_socket.c temporarily on CPUs
which have virtual address indexed cache and whose pmaps don't always
allow normal shared mappings even for read only pages.

In future, these pmaps should be rewritten to handle such read only
shared mappings properly like ARM pmap, but currently we just disable
sosend_loan() to avoid unnecessary uncached mappings and cache flushes
on MIPS3 CPUs, or map/unmap thrashing on SH4.

Discussed with thorpej a while ago.

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

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

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

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

Revision 1.166.8.1: download - view: text, markup, annotated - select for diffs
Sat Apr 1 12:06:21 2006 UTC (18 years, 10 months ago) by yamt
Branches: yamt-pdpolicy
Diff to: previous 1.166: preferred, colored; next MAIN 1.167: preferred, colored
Changes since revision 1.166: +6 -4 lines
sync with head.

Revision 1.166.12.1: download - view: text, markup, annotated - select for diffs
Fri Mar 31 09:45:04 2006 UTC (18 years, 10 months ago) by tron
Branches: peter-altq
Diff to: previous 1.166: preferred, colored; next MAIN 1.167: preferred, colored
Changes since revision 1.166: +6 -4 lines
Merge 2006-03-31 NetBSD-current into the "peter-altq" branch.

Revision 1.167: download - view: text, markup, annotated - select for diffs
Thu Mar 30 05:57:01 2006 UTC (18 years, 10 months ago) by gdamore
Branches: MAIN
CVS tags: yamt-splraiseipl-base2, yamt-splraiseipl-base, yamt-pdpolicy-base9, yamt-pdpolicy-base8, yamt-pdpolicy-base7, yamt-pdpolicy-base6, yamt-pdpolicy-base5, yamt-pdpolicy-base4, yamt-pdpolicy-base3, simonb-timecounters-base, rpaulo-netinet-merge-pcb-base, gdamore-uart-base, gdamore-uart, elad-kernelauth-base, chap-midi-nbase, chap-midi-base, chap-midi, abandoned-netbsd-4-base, abandoned-netbsd-4
Branch point for: yamt-splraiseipl, newlock2
Diff to: previous 1.166: preferred, colored
Changes since revision 1.166: +6 -4 lines
Don't pmap_remove_pv mappings for unmanaged pages.
Closes PR mips/33166.  Reviewed by chuq@

Revision 1.166: download - view: text, markup, annotated - select for diffs
Sat Dec 24 20:07:19 2005 UTC (19 years, 1 month ago) by perry
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.165: preferred, colored
Changes since revision 1.165: +5 -5 lines
Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.

Revision 1.165: download - view: text, markup, annotated - select for diffs
Sat Dec 17 05:44:11 2005 UTC (19 years, 2 months ago) by jmc
Branches: MAIN
Diff to: previous 1.164: preferred, colored
Changes since revision 1.164: +4 -4 lines
Fix some places pa's got left in the conversion to vm_page

Revision 1.164: download - view: text, markup, annotated - select for diffs
Tue Dec 13 16:32:33 2005 UTC (19 years, 2 months ago) by tsutsui
Branches: MAIN
Diff to: previous 1.163: preferred, colored
Changes since revision 1.163: +83 -129 lines
ANSIfy and some KNF.

Revision 1.163: download - view: text, markup, annotated - select for diffs
Tue Dec 13 15:41:50 2005 UTC (19 years, 2 months ago) by tsutsui
Branches: MAIN
Diff to: previous 1.162: preferred, colored
Changes since revision 1.162: +73 -83 lines
Move pv_entry stuff from MD pmap_physseg to MD vm_page.
Suggested and OK'ed by thorpej, and tested on R3000/R4400/R5000/Rm5200 CPUs.

Revision 1.148.2.8: download - view: text, markup, annotated - select for diffs
Sun Dec 11 10:28:21 2005 UTC (19 years, 2 months ago) by christos
Branches: ktrace-lwp
Diff to: previous 1.148.2.7: preferred, colored; next MAIN 1.149: preferred, colored
Changes since revision 1.148.2.7: +8 -8 lines
Sync with head.

Revision 1.162: download - view: text, markup, annotated - select for diffs
Fri Dec 9 20:50:25 2005 UTC (19 years, 2 months ago) by tsutsui
Branches: MAIN
CVS tags: ktrace-lwp-base
Diff to: previous 1.161: preferred, colored
Changes since revision 1.161: +5 -5 lines
Fix function names in panic messages.

Revision 1.160.2.1: download - view: text, markup, annotated - select for diffs
Tue Nov 29 21:22:59 2005 UTC (19 years, 2 months ago) by yamt
Branches: yamt-readahead
Diff to: previous 1.160: preferred, colored; next MAIN 1.161: preferred, colored
Changes since revision 1.160: +5 -5 lines
sync with head.

Revision 1.161: download - view: text, markup, annotated - select for diffs
Fri Nov 25 11:50:55 2005 UTC (19 years, 2 months ago) by simonb
Branches: MAIN
CVS tags: yamt-readahead-base3
Diff to: previous 1.160: preferred, colored
Changes since revision 1.160: +5 -5 lines
KNF.

Revision 1.157.2.1: download - view: text, markup, annotated - select for diffs
Mon Nov 21 20:02:26 2005 UTC (19 years, 2 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.157: preferred, colored; next MAIN 1.158: preferred, colored
Changes since revision 1.157: +86 -18 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.148.2.7: download - view: text, markup, annotated - select for diffs
Thu Nov 10 13:57:33 2005 UTC (19 years, 3 months ago) by skrll
Branches: ktrace-lwp
Diff to: previous 1.148.2.6: preferred, colored
Changes since revision 1.148.2.6: +9 -9 lines
Sync with HEAD. Here we go again...

Revision 1.160: download - view: text, markup, annotated - select for diffs
Sat Nov 5 10:57:49 2005 UTC (19 years, 3 months ago) by tsutsui
Branches: MAIN
CVS tags: yamt-readahead-pervnode, yamt-readahead-perfile, yamt-readahead-base2, yamt-readahead-base
Branch point for: yamt-readahead
Diff to: previous 1.159: preferred, colored
Changes since revision 1.159: +9 -7 lines
Most use of mips_paddr_to_tlbpfn() is inside if (MIPS_HAS_R4K_MMU) so
call mips[13]_paddr_to_tlbpfn() directly instead.

Revision 1.159: download - view: text, markup, annotated - select for diffs
Wed Jun 1 16:53:51 2005 UTC (19 years, 8 months ago) by drochner
Branches: MAIN
CVS tags: yamt-vop-base3, yamt-vop-base2, yamt-vop-base, yamt-vop, thorpej-vnode-attr-base, thorpej-vnode-attr
Branch point for: yamt-lazymbuf
Diff to: previous 1.158: preferred, colored
Changes since revision 1.158: +2 -4 lines
quell shadow variable warnings

Revision 1.155.8.1: download - view: text, markup, annotated - select for diffs
Fri Apr 29 11:28:16 2005 UTC (19 years, 9 months ago) by kent
Branches: kent-audio2
Diff to: previous 1.155: preferred, colored; next MAIN 1.156: preferred, colored
Changes since revision 1.155: +90 -16 lines
sync with -current

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

Revision 1.156.2.2: download - view: text, markup, annotated - select for diffs
Sat Mar 26 18:19:17 2005 UTC (19 years, 10 months ago) by yamt
Branches: yamt-km
Diff to: previous 1.156.2.1: preferred, colored; branchpoint 1.156: preferred, colored; next MAIN 1.157: preferred, colored
Changes since revision 1.156.2.1: +86 -18 lines
sync with head.

Revision 1.158: download - view: text, markup, annotated - select for diffs
Sat Mar 26 09:51:02 2005 UTC (19 years, 10 months ago) by tsutsui
Branches: MAIN
CVS tags: yamt-km-base4, kent-audio2-base
Diff to: previous 1.157: preferred, colored
Changes since revision 1.157: +86 -18 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.156.2.1: download - view: text, markup, annotated - select for diffs
Sat Mar 19 08:33:05 2005 UTC (19 years, 11 months ago) by yamt
Branches: yamt-km
Diff to: previous 1.156: preferred, colored
Changes since revision 1.156: +8 -5 lines
sync with head.  xen and whitespace.  xen part is not finished.

Revision 1.148.2.5: download - view: text, markup, annotated - select for diffs
Fri Mar 4 16:38:48 2005 UTC (19 years, 11 months ago) by skrll
Branches: ktrace-lwp
Diff to: previous 1.148.2.4: preferred, colored
Changes since revision 1.148.2.4: +8 -5 lines
Sync with HEAD.

Hi Perry!

Revision 1.157: download - view: text, markup, annotated - select for diffs
Tue Mar 1 04:23:44 2005 UTC (19 years, 11 months ago) by sekiya
Branches: MAIN
CVS tags: yamt-km-base3, netbsd-3-base, netbsd-3-0-RC1
Branch point for: netbsd-3
Diff to: previous 1.156: preferred, colored
Changes since revision 1.156: +8 -5 lines
Add a hint variable (mips_sdcache_forceinv, explicitly initialized to zero)
that tells pmap_zero_page() and pmap_copy_page() to unconditionally invalidate
pages for r5k-class CPUs with secondary cache.

This behavior must be explicitly enabled by setting mips_sdcache_forceinv to 1.

This is the last bit of a patch that has been kicked around since 2000 between
rafal@, tsutsui@, and myself.

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

Revision 1.156: download - view: text, markup, annotated - select for diffs
Mon Jan 17 04:54:14 2005 UTC (20 years, 1 month ago) by atatat
Branches: MAIN
CVS tags: yamt-km-base2, yamt-km-base
Branch point for: yamt-km
Diff to: previous 1.155: preferred, colored
Changes since revision 1.155: +6 -3 lines
Teach mips pmap_prefer() to deal with topdown.

Tested by simonb.

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

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

Revision 1.148.2.1: download - view: text, markup, annotated - select for diffs
Tue Aug 3 10:37:49 2004 UTC (20 years, 6 months ago) by skrll
Branches: ktrace-lwp
Diff to: previous 1.148: preferred, colored
Changes since revision 1.148: +35 -25 lines
Sync with HEAD

Revision 1.155: download - view: text, markup, annotated - select for diffs
Tue Dec 30 12:33:16 2003 UTC (21 years, 1 month ago) by pk
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, kent-audio1-beforemerge, kent-audio1-base, kent-audio1
Branch point for: kent-audio2
Diff to: previous 1.154: preferred, colored
Changes since revision 1.154: +10 -4 lines
Replace the traditional buffer memory management -- based on fixed per buffer
virtual memory reservation and a private pool of memory pages -- by a scheme
based on memory pools.

This allows better utilization of memory because buffers can now be allocated
with a granularity finer than the system's native page size (useful for
filesystems with e.g. 1k or 2k fragment sizes).  It also avoids fragmentation
of virtual to physical memory mappings (due to the former fixed virtual
address reservation) resulting in better utilization of MMU resources on some
platforms.  Finally, the scheme is more flexible by allowing run-time decisions
on the amount of memory to be used for buffers.

On the other hand, the effectiveness of the LRU queue for buffer recycling
may be somewhat reduced compared to the traditional method since, due to the
nature of the pool based memory allocation, the actual least recently used
buffer may release its memory to a pool different from the one needed by a
newly allocated buffer. However, this effect will kick in only if the
system is under memory pressure.

Revision 1.154: download - view: text, markup, annotated - select for diffs
Fri Dec 12 14:55:58 2003 UTC (21 years, 2 months ago) by sekiya
Branches: MAIN
Diff to: previous 1.153: preferred, colored
Changes since revision 1.153: +13 -14 lines
Remove preprocessor conditional MIPS3_L2CACHE_ABSENT, which was rendered
superfluous by Tsutsui-san's previous changes.

(this change differs slightly from that posted to port-mips@, as
mips_flushcache_allpvh should be compiled iff MIPS3_PLUS is defined and
MIPS3_L2CACHE_ABSENT should be removed from files.mips as well)

Revision 1.153: download - view: text, markup, annotated - select for diffs
Sat Nov 1 14:48:16 2003 UTC (21 years, 3 months ago) by tsutsui
Branches: MAIN
Diff to: previous 1.152: preferred, colored
Changes since revision 1.152: +6 -6 lines
- Flush cache only if mips_sdcache_line_size == 0 in pmap_copy_page() when
  options MIPS3_L2CACHE_ABSENT is defined.
- Fix comments following #endif for MIPS3_L2CACHE_ABSENT.

Revision 1.152: download - view: text, markup, annotated - select for diffs
Wed Oct 29 23:39:45 2003 UTC (21 years, 3 months ago) by christos
Branches: MAIN
Diff to: previous 1.151: preferred, colored
Changes since revision 1.151: +4 -2 lines
first pass siginfo glue for mips

Revision 1.151: download - view: text, markup, annotated - select for diffs
Sun Oct 5 16:38:03 2003 UTC (21 years, 4 months ago) by tsutsui
Branches: MAIN
Diff to: previous 1.150: preferred, colored
Changes since revision 1.150: +3 -2 lines
Include opt_mips_cache.h for options MIPS3_L2CACHE_ABSENT and
MIPS3_NO_PV_UNCACHED.

Revision 1.150: download - view: text, markup, annotated - select for diffs
Fri Sep 12 15:29:16 2003 UTC (21 years, 5 months ago) by chs
Branches: MAIN
Diff to: previous 1.149: preferred, colored
Changes since revision 1.149: +11 -5 lines
handle pmap_procwr() on kernel procs (MIPS1).
needed for new signal trampoline stuff.

Revision 1.149: download - view: text, markup, annotated - select for diffs
Thu Aug 7 16:28:33 2003 UTC (21 years, 6 months ago) by agc
Branches: MAIN
Diff to: previous 1.148: preferred, colored
Changes since revision 1.148: +3 -7 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.148: download - view: text, markup, annotated - select for diffs
Sat May 10 21:10:33 2003 UTC (21 years, 9 months ago) by thorpej
Branches: MAIN
Branch point for: ktrace-lwp
Diff to: previous 1.147: preferred, colored
Changes since revision 1.147: +17 -8 lines
Back out the following chagne:
    http://mail-index.netbsd.org/source-changes/2003/05/08/0068.html

There were some side-effects that I didn't anticipate, and fixing them
is proving to be more difficult than I thought, do just eject for now.
Maybe one day we can look at this again.

Fixes PR kern/21517.

Revision 1.147: download - view: text, markup, annotated - select for diffs
Thu May 8 18:13:19 2003 UTC (21 years, 9 months ago) by thorpej
Branches: MAIN
Diff to: previous 1.146: preferred, colored
Changes since revision 1.146: +10 -19 lines
Simplify the way the bounds of the managed kernel virtual address
space is advertised to UVM by making virtual_avail and virtual_end
first-class exported variables by UVM.  Machine-dependent code is
responsible for initializing them before main() is called.  Anything
that steals KVA must adjust these variables accordingly.

This reduces the number of instances of this info from 3 to 1, and
simplifies the pmap(9) interface by removing the pmap_virtual_space()
function call, and removing two arguments from pmap_steal_memory().

This also eliminates some kludges such as having to burn kernel_map
entries on space used by the kernel and stolen KVA.

This also eliminates use of VM_{MIN,MAX}_KERNEL_ADDRESS from MI code,
this giving MD code greater flexibility over the bounds of the managed
kernel virtual address space if a given port's specific platforms can
vary in this regard (this is especially true of the evb* ports).

Revision 1.146: download - view: text, markup, annotated - select for diffs
Fri Jan 17 23:36:17 2003 UTC (22 years, 1 month ago) by thorpej
Branches: MAIN
Diff to: previous 1.145: preferred, colored
Changes since revision 1.145: +17 -16 lines
Merge the nathanw_sa branch.

Revision 1.138.2.10: download - view: text, markup, annotated - select for diffs
Tue Jan 7 21:12:02 2003 UTC (22 years, 1 month ago) by thorpej
Branches: nathanw_sa
CVS tags: nathanw_sa_end
Diff to: previous 1.138.2.9: preferred, colored; next MAIN 1.139: preferred, colored
Changes since revision 1.138.2.9: +3 -3 lines
Sync with HEAD.

Revision 1.145: download - view: text, markup, annotated - select for diffs
Mon Jan 6 20:30:32 2003 UTC (22 years, 1 month ago) by wiz
Branches: MAIN
CVS tags: nathanw_sa_before_merge, nathanw_sa_base
Diff to: previous 1.144: preferred, colored
Changes since revision 1.144: +3 -3 lines
writable, not writeable.

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

Revision 1.138.2.8: download - view: text, markup, annotated - select for diffs
Mon Dec 2 06:12:13 2002 UTC (22 years, 2 months ago) by wdk
Branches: nathanw_sa
Diff to: previous 1.138.2.7: preferred, colored
Changes since revision 1.138.2.7: +7 -7 lines
Tidy up for Scheduler Activations:
 - Change curproc -> curlwp
 - Display LWP id along with PID for kernel generated messages

Revision 1.144: download - view: text, markup, annotated - select for diffs
Mon Nov 11 22:30:15 2002 UTC (22 years, 3 months ago) by he
Branches: MAIN
CVS tags: gmcgarry_ucred_base, gmcgarry_ucred, gmcgarry_ctxsw_base, gmcgarry_ctxsw, fvdl_fs64_base
Diff to: previous 1.143: preferred, colored
Changes since revision 1.143: +2 -6 lines
Remove a PARANOIADIAG check which is a bit too paranoid.  This one
would now trigger whenever a previously used "cached" uarea was reused.

Reviewed by thorpej and chs.

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

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

Revision 1.138.2.6: download - view: text, markup, annotated - select for diffs
Mon Jun 24 22:06:01 2002 UTC (22 years, 7 months ago) by nathanw
Branches: nathanw_sa
Diff to: previous 1.138.2.5: preferred, colored
Changes since revision 1.138.2.5: +10 -10 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.127.2.6: download - view: text, markup, annotated - select for diffs
Sun Jun 23 17:38:05 2002 UTC (22 years, 7 months ago) by jdolecek
Branches: kqueue
Diff to: previous 1.127.2.5: preferred, colored; next MAIN 1.128: preferred, colored
Changes since revision 1.127.2.5: +6 -2 lines
catch up with -current on kqueue branch

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

Revision 1.142: download - view: text, markup, annotated - select for diffs
Wed Mar 20 02:50:19 2002 UTC (22 years, 11 months ago) by chs
Branches: MAIN
CVS tags: netbsd-1-6-base, netbsd-1-6-RELEASE, netbsd-1-6-RC3, netbsd-1-6-RC2, netbsd-1-6-RC1, netbsd-1-6-PATCH002-RELEASE, netbsd-1-6-PATCH002-RC4, netbsd-1-6-PATCH002-RC3, netbsd-1-6-PATCH002-RC2, netbsd-1-6-PATCH002-RC1, netbsd-1-6-PATCH002, netbsd-1-6-PATCH001-RELEASE, netbsd-1-6-PATCH001-RC3, netbsd-1-6-PATCH001-RC2, netbsd-1-6-PATCH001-RC1, netbsd-1-6-PATCH001, netbsd-1-6, kqueue-beforemerge, kqueue-base, kqueue-aftermerge, gehenna-devsw-base, gehenna-devsw, eeh-devprop-base, eeh-devprop
Diff to: previous 1.141: preferred, colored
Changes since revision 1.141: +6 -2 lines
add missing cache flushes in pmap_protect().  fixes PR 15965.

Revision 1.127.2.5: download - view: text, markup, annotated - select for diffs
Sat Mar 16 15:58:43 2002 UTC (22 years, 11 months ago) by jdolecek
Branches: kqueue
Diff to: previous 1.127.2.4: preferred, colored
Changes since revision 1.127.2.4: +95 -77 lines
Catch up with -current.

Revision 1.141: download - view: text, markup, annotated - select for diffs
Fri Mar 8 20:48:32 2002 UTC (22 years, 11 months ago) by thorpej
Branches: MAIN
CVS tags: newlock-base, newlock
Diff to: previous 1.140: preferred, colored
Changes since revision 1.140: +12 -8 lines
Pool deals fairly well with physical memory shortage, but it doesn't
deal with shortages of the VM maps where the backing pages are mapped
(usually kmem_map).  Try to deal with this:

* Group all information about the backend allocator for a pool in a
  separate structure.  The pool references this structure, rather than
  the individual fields.
* Change the pool_init() API accordingly, and adjust all callers.
* Link all pools using the same backend allocator on a list.
* The backend allocator is responsible for waiting for physical memory
  to become available, but will still fail if it cannot callocate KVA
  space for the pages.  If this happens, carefully drain all pools using
  the same backend allocator, so that some KVA space can be freed.
* Change pool_reclaim() to indicate if it actually succeeded in freeing
  some pages, and use that information to make draining easier and more
  efficient.
* Get rid of PR_URGENT.  There was only one use of it, and it could be
  dealt with by the caller.

From art@openbsd.org.

Revision 1.140: download - view: text, markup, annotated - select for diffs
Tue Mar 5 16:01:25 2002 UTC (22 years, 11 months ago) by simonb
Branches: MAIN
Diff to: previous 1.139: preferred, colored
Changes since revision 1.139: +85 -71 lines
Add support for MIPS32 and MIPS64 architectures:
 - Move away from using CPUISMIPS3; use MIPS_HAS_R4K_MMU instead.
 - Bump the Sysmap size a little for large-memory machines.
XXX: still need work, especially in pmap_procwr().

Revision 1.138.2.4: download - view: text, markup, annotated - select for diffs
Fri Jan 11 10:32:53 2002 UTC (23 years, 1 month ago) by wdk
Branches: nathanw_sa
Diff to: previous 1.138.2.3: preferred, colored
Changes since revision 1.138.2.3: +3 -3 lines
Fix curproc->l_proc reference in changes brought in from current

Revision 1.127.2.4: download - view: text, markup, annotated - select for diffs
Thu Jan 10 19:46:12 2002 UTC (23 years, 1 month ago) by thorpej
Branches: kqueue
Diff to: previous 1.127.2.3: preferred, colored
Changes since revision 1.127.2.3: +68 -70 lines
Sync kqueue branch with -current.

Revision 1.138.2.3: download - view: text, markup, annotated - select for diffs
Tue Jan 8 00:26:24 2002 UTC (23 years, 1 month ago) by nathanw
Branches: nathanw_sa
Diff to: previous 1.138.2.2: preferred, colored
Changes since revision 1.138.2.2: +4 -4 lines
Catch up to -current.

Revision 1.139: download - view: text, markup, annotated - select for diffs
Sun Nov 18 03:47:53 2001 UTC (23 years, 3 months ago) by simonb
Branches: MAIN
CVS tags: ifpoll-base
Diff to: previous 1.138: preferred, colored
Changes since revision 1.138: +3 -3 lines
White space nit.

Revision 1.138.2.2: download - view: text, markup, annotated - select for diffs
Sat Nov 17 23:43:43 2001 UTC (23 years, 3 months ago) by wdk
Branches: nathanw_sa
Diff to: previous 1.138.2.1: preferred, colored
Changes since revision 1.138.2.1: +2132 -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.99.2.2: download - view: text, markup, annotated - select for diffs
Thu Nov 15 22:43:39 2001 UTC (23 years, 3 months ago) by he
Branches: netbsd-1-5
CVS tags: netbsd-1-5-PATCH003
Diff to: previous 1.99.2.1: preferred, colored; branchpoint 1.99: preferred, colored; next MAIN 1.100: preferred, colored
Changes since revision 1.99.2.1: +4 -5 lines
Pull up revision 1.135 (via patch, requested by shin):
  Fix problems on MIPS machines without secondary cache.
  Manifestations are random /bin/sh core dumps and log messages like
  ``pmap_unwire: wiring for pmap 0x... va 0x... didn't change''.
  Caused by virtual alias problem in pmap_copy_page().  Fixes PR#13587.

Revision 1.138.2.1
Wed Nov 14 18:15:25 2001 UTC (23 years, 3 months ago) by wdk
Branches: nathanw_sa
FILE REMOVED
Changes since revision 1.138: +0 -2131 lines
file pmap.c was added on branch nathanw_sa on 2001-11-17 23:43:43 +0000

Revision 1.138: download - view: text, markup, annotated - select for diffs
Wed Nov 14 18:15:25 2001 UTC (23 years, 3 months ago) by thorpej
Branches: MAIN
Branch point for: nathanw_sa
Diff to: previous 1.137: preferred, colored
Changes since revision 1.137: +50 -50 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.134.2.4: download - view: text, markup, annotated - select for diffs
Mon Nov 12 21:17:14 2001 UTC (23 years, 3 months ago) by thorpej
Branches: thorpej-mips-cache
Diff to: previous 1.134.2.3: preferred, colored; branchpoint 1.134: preferred, colored; next MAIN 1.135: preferred, colored
Changes since revision 1.134.2.3: +20 -20 lines
Sync the thorpej-mips-cache branch with -current.

Revision 1.134.2.3: download - view: text, markup, annotated - select for diffs
Sun Nov 11 03:47:38 2001 UTC (23 years, 3 months ago) by shin
Branches: thorpej-mips-cache
Diff to: previous 1.134.2.2: preferred, colored; branchpoint 1.134: preferred, colored
Changes since revision 1.134.2.2: +5 -3 lines
sync with trunk (rev. 1.135).
fix virtual alias problem in pmap_copy_page().

Revision 1.137: download - view: text, markup, annotated - select for diffs
Sun Nov 4 14:07:13 2001 UTC (23 years, 3 months ago) by tsutsui
Branches: MAIN
CVS tags: thorpej-mips-cache-base
Diff to: previous 1.136: preferred, colored
Changes since revision 1.136: +17 -17 lines
Cast pa values to u_long in DEBUG printfs for _MIPS_PADDR_T_64BIT ports.
XXX should use unsigned long long format?

Revision 1.134.2.2: download - view: text, markup, annotated - select for diffs
Sun Nov 4 03:41:24 2001 UTC (23 years, 3 months ago) by shin
Branches: thorpej-mips-cache
Diff to: previous 1.134.2.1: preferred, colored; branchpoint 1.134: preferred, colored
Changes since revision 1.134.2.1: +5 -27 lines
 * remove unused function pmap_zero_page_uncached().
 * s/MachFlushDCache/mips_dcache_wbinv_range_index/
 * s/MachHitFlushDCache/mips_dcache_wbinv_range/

Revision 1.136: download - view: text, markup, annotated - select for diffs
Thu Nov 1 07:37:36 2001 UTC (23 years, 3 months ago) by chs
Branches: MAIN
Diff to: previous 1.135: preferred, colored
Changes since revision 1.135: +5 -5 lines
in pmap_extract(), detect unmapped users addresses too.

Revision 1.135: download - view: text, markup, annotated - select for diffs
Sat Oct 27 05:44:45 2001 UTC (23 years, 3 months ago) by shin
Branches: MAIN
Diff to: previous 1.134: preferred, colored
Changes since revision 1.134: +4 -6 lines
fix virtual alias problem in pmap_copy_page().
to eliminate virtual alias, source page should also be flushed.
fixes PR/13587.

Revision 1.134.2.1: download - view: text, markup, annotated - select for diffs
Wed Oct 24 17:38:10 2001 UTC (23 years, 3 months ago) by thorpej
Branches: thorpej-mips-cache
Diff to: previous 1.134: preferred, colored
Changes since revision 1.134: +69 -51 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.132.2.1: download - view: text, markup, annotated - select for diffs
Mon Oct 1 12:40:48 2001 UTC (23 years, 4 months ago) by fvdl
Branches: thorpej-devvp
Diff to: previous 1.132: preferred, colored; next MAIN 1.133: preferred, colored
Changes since revision 1.132: +62 -17 lines
Catch up with -current.

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

Revision 1.134: download - view: text, markup, annotated - select for diffs
Mon Sep 10 21:19:18 2001 UTC (23 years, 5 months ago) by chris
Branches: MAIN
CVS tags: thorpej-devvp-base3, thorpej-devvp-base2, pre-chs-ubcperf, post-chs-ubcperf
Branch point for: thorpej-mips-cache
Diff to: previous 1.133: preferred, colored
Changes since revision 1.133: +5 -5 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.133: download - view: text, markup, annotated - select for diffs
Sun Sep 9 19:48:12 2001 UTC (23 years, 5 months ago) by chs
Branches: MAIN
Diff to: previous 1.132: preferred, colored
Changes since revision 1.132: +59 -14 lines
 - in PMAP_IS_ACTIVE(), the kernel pmap is always active, and we don't
   need to check for curproc being non-NULL since none of the pmap
   interfaces which are legal to use in interrupt handlers use this macro.
 - use the hit op when flushing the cache in pmap_kremove().
 - avoid trusting the optimizer in pmap_clear_reference().
 - fix pmap_clear_modify() to reset the mod-bit emulation so we can
   detect further modifications to the page, also flushing the cache
   for any mappings which might have dirty lines.

Revision 1.132: download - view: text, markup, annotated - select for diffs
Sat Sep 1 17:08:19 2001 UTC (23 years, 5 months ago) by chs
Branches: MAIN
CVS tags: thorpej-devvp-base
Branch point for: thorpej-devvp
Diff to: previous 1.131: preferred, colored
Changes since revision 1.131: +25 -11 lines
rearrange pmap_kenter_pa() to map unmanaged pages uncached as well.
this is apparently needed on the arc port.
slight optimization in pmap_kremove().

Revision 1.131: download - view: text, markup, annotated - select for diffs
Sun Aug 26 06:03:11 2001 UTC (23 years, 5 months ago) by chs
Branches: MAIN
Diff to: previous 1.130: preferred, colored
Changes since revision 1.130: +8 -3 lines
handle unmanaged pages correctly in pmap_remove_pv(),
fixes crashes when exiting X.

Revision 1.127.2.2: download - view: text, markup, annotated - select for diffs
Sat Aug 25 06:15:33 2001 UTC (23 years, 5 months ago) by thorpej
Branches: kqueue
Diff to: previous 1.127.2.1: preferred, colored
Changes since revision 1.127.2.1: +50 -200 lines
Merge Aug 24 -current into the kqueue branch.

Revision 1.130: download - view: text, markup, annotated - select for diffs
Sat Aug 4 04:25:37 2001 UTC (23 years, 6 months ago) by chs
Branches: MAIN
Diff to: previous 1.129: preferred, colored
Changes since revision 1.129: +50 -200 lines
remove remaining spl calls, they're not needed.
remove some checks for impossible conditions.
in pmap_enter(), only call pmap_remove() to remove an existing mapping
if there actually is an existing mapping.

in pmap_remove_pv(), don't flush the MIPS1 cache when removing the last mapping.
this was added in rev 1.97, to avoid stale data being left in the cache
when the page is zeroed bypassing the cache in pmap_zero_page_uncached().
we've since found that bypassing the cache for idle-loop page zeroing
doesn't work very well anyway, so we don't do that anymore.
so now we can remove the extra cache-flush.
remove pmap_zero_page_uncached() while I'm thinking of it.

various other cleanup.

Revision 1.127.2.1: download - view: text, markup, annotated - select for diffs
Fri Aug 3 04:11:59 2001 UTC (23 years, 6 months ago) by lukem
Branches: kqueue
Diff to: previous 1.127: preferred, colored
Changes since revision 1.127: +17 -20 lines
update to -current

Revision 1.129: download - view: text, markup, annotated - select for diffs
Tue Jul 31 05:29:24 2001 UTC (23 years, 6 months ago) by chs
Branches: MAIN
Diff to: previous 1.128: preferred, colored
Changes since revision 1.128: +7 -5 lines
fix think-o in pmap_kenter_pa().

Revision 1.128: download - view: text, markup, annotated - select for diffs
Sat Jul 28 17:18:59 2001 UTC (23 years, 6 months ago) by chs
Branches: MAIN
Diff to: previous 1.127: preferred, colored
Changes since revision 1.127: +12 -17 lines
fix pmap_extract() to handle unmapped kernel addresses.

Revision 1.127: download - view: text, markup, annotated - select for diffs
Tue Jun 26 00:31:32 2001 UTC (23 years, 7 months ago) by thorpej
Branches: MAIN
Branch point for: kqueue
Diff to: previous 1.126: preferred, colored
Changes since revision 1.126: +218 -67 lines
- Implement a real pmap_kenter_pa()/pmap_kremove().
- Use pools for pmap structures and pv_entry structures.
- Remove a bunch of splvm()/splx(), no longer needed now that
  pmap_kenter_pa() and pmap_kremove() are as they should be.

Mostly from Chuck Silvers.

Revision 1.117.2.2: download - view: text, markup, annotated - select for diffs
Thu Jun 21 19:28:11 2001 UTC (23 years, 8 months ago) by nathanw
Diff to: previous 1.117.2.1: preferred, colored; next MAIN 1.118: preferred, colored
Changes since revision 1.117.2.1: +38 -59 lines
Catch up to -current.

Revision 1.126: download - view: text, markup, annotated - select for diffs
Sat May 26 21:27:09 2001 UTC (23 years, 8 months ago) by chs
Branches: MAIN
Diff to: previous 1.125: preferred, colored
Changes since revision 1.125: +4 -4 lines
replace vm_page_t with struct vm_page *.

Revision 1.125: download - view: text, markup, annotated - select for diffs
Tue Apr 24 04:31:03 2001 UTC (23 years, 9 months ago) by thorpej
Branches: MAIN
CVS tags: thorpej_scsipi_beforemerge
Diff to: previous 1.124: preferred, colored
Changes since revision 1.124: +5 -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.124: download - view: text, markup, annotated - select for diffs
Mon Apr 23 17:14:17 2001 UTC (23 years, 9 months ago) by thorpej
Branches: MAIN
Diff to: previous 1.123: preferred, colored
Changes since revision 1.123: +19 -15 lines
Make sure virtual_end is initialized before calling uvm_pageboot_alloc(),
and garbage-collect the virtual_avail variable (it is not necessary in
this pmap implementation).

Revision 1.72.2.8: download - view: text, markup, annotated - select for diffs
Mon Apr 23 09:41:54 2001 UTC (23 years, 10 months ago) by bouyer
Branches: thorpej_scsipi
Diff to: previous 1.72.2.7: preferred, colored; next MAIN 1.73: preferred, colored
Changes since revision 1.72.2.7: +18 -46 lines
Sync with HEAD.

Revision 1.123: download - view: text, markup, annotated - select for diffs
Sun Apr 22 23:42:15 2001 UTC (23 years, 10 months ago) by thorpej
Branches: MAIN
CVS tags: thorpej_scsipi_nbase, thorpej_scsipi_base
Diff to: previous 1.122: preferred, colored
Changes since revision 1.122: +2 -16 lines
Remove pmap_kenter_pgs().  It was never really adopted by
anything, and the interface itself wasn't as flexible as
callers would have probably liked.

Revision 1.122: download - view: text, markup, annotated - select for diffs
Sun Apr 22 18:21:50 2001 UTC (23 years, 10 months ago) by thorpej
Branches: MAIN
Diff to: previous 1.121: preferred, colored
Changes since revision 1.121: +4 -5 lines
Use uvm_pageboot_alloc() for early memory allocation, rather than
calling pmap_steal_memory() directly.  On these platforms, since
uvm_pageboot_alloc() is a wrapper around pmap_steal_memory(), there
is no functional change.  This is merely for API consistency.

Revision 1.121: download - view: text, markup, annotated - select for diffs
Sun Apr 22 17:22:57 2001 UTC (23 years, 10 months ago) by thorpej
Branches: MAIN
Diff to: previous 1.120: preferred, colored
Changes since revision 1.120: +16 -11 lines
Make pmap_virtual_space() a required pmap function, even on platforms
which have pmap_steal_memory().  This is to reduce the API differences
between pmaps that implement pmap_steal_memory() and pmaps which do
not.

Note that pmap_steal_memory() needs to adjust *vstartp and/or
*vendp only if it used addresses within the range provided to UVM
via the pmap_virtual_space() call.  I.e. it is not necessary to do
so in any current pmap_steal_memory() implementation.

Revision 1.120: download - view: text, markup, annotated - select for diffs
Sat Apr 21 23:51:18 2001 UTC (23 years, 10 months ago) by thorpej
Branches: MAIN
Diff to: previous 1.119: preferred, colored
Changes since revision 1.119: +2 -20 lines
#define away pmap_update() in <machine/pmap.h> so that no function
call overhead is incurred as we start sprinkling pmap_update() calls
throughout the source tree (no pmaps currently defer operations, but
we are adding the infrastructure to allow them to do so).

Revision 1.117.2.1: download - view: text, markup, annotated - select for diffs
Mon Apr 9 01:53:56 2001 UTC (23 years, 10 months ago) by nathanw
Diff to: previous 1.117: preferred, colored
Changes since revision 1.117: +6 -6 lines
Catch up with -current.

Revision 1.72.2.7: download - view: text, markup, annotated - select for diffs
Tue Mar 27 15:31:11 2001 UTC (23 years, 10 months ago) by bouyer
Branches: thorpej_scsipi
Diff to: previous 1.72.2.6: preferred, colored
Changes since revision 1.72.2.6: +4 -4 lines
Sync with HEAD.

Revision 1.119: download - view: text, markup, annotated - select for diffs
Wed Mar 21 03:16:06 2001 UTC (23 years, 11 months ago) by chs
Branches: MAIN
Diff to: previous 1.118: preferred, colored
Changes since revision 1.118: +3 -3 lines
use ubc_winshift instead of ubc_winsize in pmaps to set up kernel
virtual space.  the latter isn't initialized yet when the value is needed.
fixes PR 12440.

Revision 1.118: download - view: text, markup, annotated - select for diffs
Thu Mar 15 06:10:43 2001 UTC (23 years, 11 months ago) by chs
Branches: MAIN
Diff to: previous 1.117: preferred, colored
Changes since revision 1.117: +5 -5 lines
eliminate the KERN_* error codes in favor of the traditional E* codes.
the mapping is:

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

Revision 1.72.2.6: download - view: text, markup, annotated - select for diffs
Thu Jan 18 09:22:44 2001 UTC (24 years, 1 month ago) by bouyer
Branches: thorpej_scsipi
Diff to: previous 1.72.2.5: preferred, colored
Changes since revision 1.72.2.5: +8 -8 lines
Sync with head (for UBC+NFS fixes, mostly).

Revision 1.117: download - view: text, markup, annotated - select for diffs
Sun Jan 14 03:28:57 2001 UTC (24 years, 1 month ago) by thorpej
Branches: MAIN
Diff to: previous 1.116: preferred, colored
Changes since revision 1.116: +10 -10 lines
splimp() -> splvm()

Revision 1.72.2.5: download - view: text, markup, annotated - select for diffs
Fri Jan 5 17:34:44 2001 UTC (24 years, 1 month ago) by bouyer
Branches: thorpej_scsipi
Diff to: previous 1.72.2.4: preferred, colored
Changes since revision 1.72.2.4: +1 -1 lines
Sync with HEAD

Revision 1.116: download - view: text, markup, annotated - select for diffs
Thu Dec 21 00:52:01 2000 UTC (24 years, 2 months ago) by chs
Branches: MAIN
Diff to: previous 1.115: preferred, colored
Changes since revision 1.115: +3 -3 lines
expose the tunables ubc_nwins and ubc_winsize in uvm_param.h.
add the space used by UBC mappings to the initial PTE calculations
for pmaps that do that (mips and alpha).

Revision 1.72.2.4: download - view: text, markup, annotated - select for diffs
Wed Dec 13 15:49:33 2000 UTC (24 years, 2 months ago) by bouyer
Branches: thorpej_scsipi
Diff to: previous 1.72.2.3: preferred, colored
Changes since revision 1.72.2.3: +2 -11 lines
Sync with HEAD (for UBC fixes).

Revision 1.115: download - view: text, markup, annotated - select for diffs
Sun Dec 10 19:25:44 2000 UTC (24 years, 2 months ago) by chs
Branches: MAIN
Diff to: previous 1.114: preferred, colored
Changes since revision 1.114: +4 -13 lines
in pmap_enter(), do not mark the page modified just because we mapped it
for write to a kernel address.  callers may now use the "flags" argument
to cause this to happen when desired.

Revision 1.72.2.3: download - view: text, markup, annotated - select for diffs
Fri Dec 8 09:28:22 2000 UTC (24 years, 2 months ago) by bouyer
Branches: thorpej_scsipi
Diff to: previous 1.72.2.2: preferred, colored
Changes since revision 1.72.2.2: +1 -3 lines
Sync with HEAD.

Revision 1.114: download - view: text, markup, annotated - select for diffs
Fri Nov 24 22:41:39 2000 UTC (24 years, 2 months ago) by chs
Branches: MAIN
Diff to: previous 1.113: preferred, colored
Changes since revision 1.113: +3 -5 lines
increase PAGER_MAP_SIZE to 16MB and move it to uvm_pager.h
since the alpha and mips pmaps use it.

Revision 1.72.2.2: download - view: text, markup, annotated - select for diffs
Wed Nov 22 16:00:46 2000 UTC (24 years, 2 months ago) by bouyer
Branches: thorpej_scsipi
Diff to: previous 1.72.2.1: preferred, colored
Changes since revision 1.72.2.1: +61 -129 lines
Sync with HEAD.

Revision 1.72.2.1: download - view: text, markup, annotated - select for diffs
Mon Nov 20 20:13:36 2000 UTC (24 years, 3 months ago) by bouyer
Branches: thorpej_scsipi
Diff to: previous 1.72: preferred, colored
Changes since revision 1.72: +254 -160 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.113: download - view: text, markup, annotated - select for diffs
Tue Oct 31 23:39:25 2000 UTC (24 years, 3 months ago) by jeffs
Branches: MAIN
Diff to: previous 1.112: preferred, colored
Changes since revision 1.112: +9 -104 lines
Add mips_pagecopy/zero assembly loops for use by pmap_copy/zero_page*()
to allow the almost-64-bit compilation use ld/sd.

Revision 1.112: download - view: text, markup, annotated - select for diffs
Tue Oct 31 23:16:31 2000 UTC (24 years, 3 months ago) by jeffs
Branches: MAIN
Diff to: previous 1.111: preferred, colored
Changes since revision 1.111: +10 -8 lines
At the end of pmap_zero/copy_page() use hit instead of index op when
running with multi-way caches.  Since we know the ops will mostly
hit as we just dirtied those lines a single hit op is cheaper than
an index op for each way.

Revision 1.111: download - view: text, markup, annotated - select for diffs
Tue Oct 31 22:46:36 2000 UTC (24 years, 3 months ago) by jeffs
Branches: MAIN
Diff to: previous 1.110: preferred, colored
Changes since revision 1.110: +45 -20 lines
Add MIPS3_NO_PV_UNCACHED option to handle virtual coherency issues by
only allowing one mapping at a time instead of mapping uncached.  Done
by removing conflicting mappings from the pmap when entering a new
mapping.  UVM will remember and re-fault the requested page when needed
for the original mapping.  Originally done to support our internal machine
that does not support uncached memory completely.  Not enabled by default
currently.  It may make sense to try on the cobalt or sgi ports.

Revision 1.110: download - view: text, markup, annotated - select for diffs
Tue Oct 31 21:21:11 2000 UTC (24 years, 3 months ago) by jeffs
Branches: MAIN
Diff to: previous 1.109: preferred, colored
Changes since revision 1.109: +5 -5 lines
Add mips_indexof() macro to make code for checking the cache index
easier to read.

Revision 1.109: download - view: text, markup, annotated - select for diffs
Tue Oct 10 20:39:42 2000 UTC (24 years, 4 months ago) by jeffs
Branches: MAIN
Diff to: previous 1.108: preferred, colored
Changes since revision 1.108: +22 -15 lines
Fix race between pmap_enter() and pagedaemon.  If we are low on memory and
pmap_enter() cannot allocate the segmap return failure if PMAP_CANFAIL
instead of sleeping.  Otherwise panic.  Both alpha and i386 do this.  Do
not pmap_enter_pv() until after this is done so the data structures are
not partially allocated.  This should prevent pmap_page_protect() from
getting stuck when called from pagedaemon.

Revision 1.108: download - view: text, markup, annotated - select for diffs
Thu Sep 21 17:46:06 2000 UTC (24 years, 5 months ago) by thorpej
Branches: MAIN
Diff to: previous 1.107: preferred, colored
Changes since revision 1.107: +7 -4 lines
Make PMAP_PAGEIDLEZERO() return a boolean value.  FALSE indidcates
that the page being zero'd was not completed and that page zeroing
should be aborted.  This may be used by machine-dependent code doing
slow page access to reduce the latency of running a process that has
become runnable while in the middle of doing a slow page zero.

Revision 1.107: download - view: text, markup, annotated - select for diffs
Wed Sep 13 01:53:01 2000 UTC (24 years, 5 months ago) by nisimura
Branches: MAIN
Diff to: previous 1.106: preferred, colored
Changes since revision 1.106: +1 -7 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.106: download - view: text, markup, annotated - select for diffs
Wed Sep 13 01:12:47 2000 UTC (24 years, 5 months ago) by chuck
Branches: MAIN
Diff to: previous 1.105: preferred, colored
Changes since revision 1.105: +4 -3 lines
modify mips3 locore to elminate the abuse of XContext
so that we can run on systems that do not have XContext
(e.g. IDT 32364).

Revision 1.105: download - view: text, markup, annotated - select for diffs
Tue Aug 1 23:38:26 2000 UTC (24 years, 6 months ago) by jeffs
Branches: MAIN
Diff to: previous 1.104: preferred, colored
Changes since revision 1.104: +3 -4 lines
Make mips3_FlushICache() convert a0 into a KSEG0 + virtual index like
the _2way and mips3_FlushDCache(). This lets all mips3 cache ops accept
user virtual addresss w/o a tlb miss.  Since this is now done in both
ICache flush routines, no need to do it in pmap.c.  Fixed R4400
stability problems with setregs() cache flushing.

Revision 1.104: download - view: text, markup, annotated - select for diffs
Thu Jul 20 18:33:43 2000 UTC (24 years, 7 months ago) by jeffs
Branches: MAIN
Diff to: previous 1.103: preferred, colored
Changes since revision 1.103: +6 -5 lines
Make pmap_prefer() use a global setting based on cache size
instead of assuming 64KB.   This allows best fit and will
support bigger caches.

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

Revision 1.102: download - view: text, markup, annotated - select for diffs
Mon Jun 26 14:20:49 2000 UTC (24 years, 7 months ago) by mrg
Branches: MAIN
Diff to: previous 1.101: preferred, colored
Changes since revision 1.101: +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.101: download - view: text, markup, annotated - select for diffs
Mon Jun 26 03:05:04 2000 UTC (24 years, 7 months ago) by nisimura
Branches: MAIN
Diff to: previous 1.100: preferred, colored
Changes since revision 1.100: +2 -7 lines
Abandon {mips1,mips3}_TBRPL() which have little gain than TLBUpdate().

Revision 1.97.2.1: download - view: text, markup, annotated - select for diffs
Thu Jun 22 17:01:37 2000 UTC (24 years, 8 months ago) by minoura
Branches: minoura-xpg4dl
Diff to: previous 1.97: preferred, colored; next MAIN 1.98: preferred, colored
Changes since revision 1.97: +32 -21 lines
Sync w/ netbsd-1-5-base.

Revision 1.99.2.1: download - view: text, markup, annotated - select for diffs
Thu Jun 22 05:11:21 2000 UTC (24 years, 8 months ago) by soren
Branches: netbsd-1-5
CVS tags: netbsd-1-5-RELEASE, netbsd-1-5-PATCH002, netbsd-1-5-PATCH001, netbsd-1-5-BETA2, netbsd-1-5-BETA, netbsd-1-5-ALPHA2
Diff to: previous 1.99: preferred, colored
Changes since revision 1.99: +3 -6 lines
Pull-up from trunk: correct _TBRPL() prototype and remove from pmap.c.

Revision 1.100: download - view: text, markup, annotated - select for diffs
Thu Jun 22 05:00:48 2000 UTC (24 years, 8 months ago) by soren
Branches: MAIN
Diff to: previous 1.99: preferred, colored
Changes since revision 1.99: +3 -6 lines
Remove extraneous mips1_TBRPL() prototype.

Revision 1.99: download - view: text, markup, annotated - select for diffs
Fri Jun 9 05:51:46 2000 UTC (24 years, 8 months ago) by soda
Branches: MAIN
CVS tags: netbsd-1-5-base
Branch point for: netbsd-1-5
Diff to: previous 1.98: preferred, colored
Changes since revision 1.98: +16 -15 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.98: download - view: text, markup, annotated - select for diffs
Fri Jun 9 04:37:52 2000 UTC (24 years, 8 months ago) by soda
Branches: MAIN
Diff to: previous 1.97: preferred, colored
Changes since revision 1.97: +19 -9 lines
make paddr_t 64bit on arc port by introducing _MIPS_PADDR_T_64BIT.

Revision 1.97: download - view: text, markup, annotated - select for diffs
Tue May 9 13:40:13 2000 UTC (24 years, 9 months ago) by shin
Branches: MAIN
CVS tags: minoura-xpg4dl-base
Branch point for: minoura-xpg4dl
Diff to: previous 1.96: preferred, colored
Changes since revision 1.96: +7 -20 lines
bugfix: make sure there is no valid data in data cache, when last
	mapping to the physical page is removed (R3000/MIPS1).

delete cache operations in pmap_zero_page_uncached().

Revision 1.96: download - view: text, markup, annotated - select for diffs
Sun Apr 30 23:30:47 2000 UTC (24 years, 9 months ago) by soren
Branches: MAIN
Diff to: previous 1.95: preferred, colored
Changes since revision 1.95: +3 -17 lines
No need for flushing the cache after zeroing a page uncached.

Revision 1.95: download - view: text, markup, annotated - select for diffs
Fri Apr 28 19:25:56 2000 UTC (24 years, 9 months ago) by soren
Branches: MAIN
Diff to: previous 1.94: preferred, colored
Changes since revision 1.94: +73 -6 lines
Zero free pages in the idle loop.

Revision 1.55.2.2: download - view: text, markup, annotated - select for diffs
Wed Apr 26 22:14:39 2000 UTC (24 years, 9 months ago) by he
Branches: netbsd-1-4
CVS tags: netbsd-1-4-PATCH003
Diff to: previous 1.55.2.1: preferred, colored; branchpoint 1.55: preferred, colored; next MAIN 1.56: preferred, colored
Changes since revision 1.55.2.1: +3 -3 lines
Pull up revision 1.88 (requested by thorpej):
  Use a more reliable method to determine if uvm_page_init() has
  completed.  This fixes a problem observed on some i386 configs
  (typically with lots of memory) where the kernel page table needs
  to grow during initialization.

Revision 1.94: download - view: text, markup, annotated - select for diffs
Fri Apr 21 14:10:39 2000 UTC (24 years, 10 months ago) by shin
Branches: MAIN
Diff to: previous 1.93: preferred, colored
Changes since revision 1.93: +3 -4 lines
make it compile with -DDEBUG.

Revision 1.93: download - view: text, markup, annotated - select for diffs
Sun Apr 16 10:16:19 2000 UTC (24 years, 10 months ago) by nisimura
Branches: MAIN
Diff to: previous 1.92: preferred, colored
Changes since revision 1.92: +12 -7 lines
Change the way how pmap_protect() modifies the protection of KSEG2
space using MIPS_TBRPL() call.  It avoils to 'vistimize' a possibly
useful TLB entry. XXX MachTLBUpdate() will be retired, soon.

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

Revision 1.91: download - view: text, markup, annotated - select for diffs
Mon Apr 10 08:50:20 2000 UTC (24 years, 10 months ago) by simonb
Branches: MAIN
Diff to: previous 1.90: preferred, colored
Changes since revision 1.90: +6 -6 lines
Use UVM_PGA_ZERO in uvm_pagealloc() calls instead of using pmap_zero_page().

Revision 1.90: download - view: text, markup, annotated - select for diffs
Mon Apr 10 05:34:27 2000 UTC (24 years, 10 months ago) by nisimura
Branches: MAIN
Diff to: previous 1.89: preferred, colored
Changes since revision 1.89: +19 -24 lines
Make sure ASID management is done in the same way of NetBSD/alpha.  Rename
and change 'pmap_alloc_asid()' into 'pmap_asid_alloc()'

Revision 1.89: download - view: text, markup, annotated - select for diffs
Mon Apr 10 01:53:11 2000 UTC (24 years, 10 months ago) by simonb
Branches: MAIN
Diff to: previous 1.88: preferred, colored
Changes since revision 1.88: +26 -25 lines
Small white space and 80col wraparound cleanups.

Revision 1.88: download - view: text, markup, annotated - select for diffs
Sun Apr 2 20:39:16 2000 UTC (24 years, 10 months ago) by thorpej
Branches: MAIN
Diff to: previous 1.87: preferred, colored
Changes since revision 1.87: +3 -3 lines
Instead of checking vm_physmem[<physseg>].pgs to determine if
uvm_page_init() has completed, add a boolean uvm.page_init_done,
and test against that.  Use this same boolean (rather than
pmap_initialized) in pmap_growkernel() to determine if we are
being called via uvm_page_init() to grow the kernel address space.

This fixes a problem on some i386 configurations where pmap_init()
itself was needing to have the kernel page table grown, and since
pmap_initialized was not yet set to TRUE, pmap_growkernel() was
choosing the wrong code path.

Fix tested by Havard Eidnes.

Revision 1.87: download - view: text, markup, annotated - select for diffs
Tue Mar 28 05:58:33 2000 UTC (24 years, 10 months ago) by nisimura
Branches: MAIN
Diff to: previous 1.86: preferred, colored
Changes since revision 1.86: +3 -3 lines
Abandon the initial microscale optimization of pmap_alloc_asid(),
leaving the second change intact.  It'd be rather less costly to
extend the case analysis.

Revision 1.86: download - view: text, markup, annotated - select for diffs
Tue Mar 28 01:04:22 2000 UTC (24 years, 10 months ago) by simonb
Branches: MAIN
Diff to: previous 1.85: preferred, colored
Changes since revision 1.85: +2 -4 lines
Remove duplicate declaration of pmap_is_page_ro() (in <mips/pte.h> and
pmap_zero_page() (in <vm/pmap.h>).

Revision 1.85: download - view: text, markup, annotated - select for diffs
Tue Mar 28 01:00:00 2000 UTC (24 years, 10 months ago) by nisimura
Branches: MAIN
Diff to: previous 1.84: preferred, colored
Changes since revision 1.84: +18 -10 lines
The previous microscale optimazation in pmap_asid_alloc() was
half-baked and resulted in one superfluous ASID bump if new pmaps
are created when pmap_asid_generation > 0.   Need to initialize pmap
fields correctly.

Yet, this possibly might not be the perfect solution.  If one
process bumped pmap_asid_generation _after_ a new pmap was created
and initialized with then-current pmap_asid_generation value.  In
that case, the new pmap would have another (superfluous) ASID bump
when 2nd (not 1st) CPU tick is assigned.  I'm not sure if this case
would happen.

Have pmap_max_asid variable to hold the maximum number of ASID
(TLBpid) supported by processor anticipating the possible runtime
cost of ((CPUISMIPS3)? MIPS3_TLB_NUM_ASIDS : MIPS1_TLB_NUM_PIDS).

Revision 1.84: download - view: text, markup, annotated - select for diffs
Mon Mar 27 08:56:21 2000 UTC (24 years, 10 months ago) by nisimura
Branches: MAIN
Diff to: previous 1.83: preferred, colored
Changes since revision 1.83: +4 -4 lines
It's not necessary to (re-) assign pmap->pm_asidgen whenever ASID
(TLBpid) is bumped.  It's ok just in the case when pmap_asid_generation
is bumped.

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

Revision 1.82: download - view: text, markup, annotated - select for diffs
Tue Mar 14 14:10:08 2000 UTC (24 years, 11 months ago) by soren
Branches: MAIN
Diff to: previous 1.81: preferred, colored
Changes since revision 1.81: +3 -3 lines
Fix typo.

Revision 1.81: download - view: text, markup, annotated - select for diffs
Fri Feb 11 19:25:16 2000 UTC (25 years ago) by thorpej
Branches: MAIN
CVS tags: chs-ubc2-newbase
Diff to: previous 1.80: preferred, colored
Changes since revision 1.80: +9 -4 lines
Update for the NKMEMPAGES changes.

Revision 1.71.2.1: download - view: text, markup, annotated - select for diffs
Mon Dec 27 18:32:49 1999 UTC (25 years, 1 month ago) by wrstuden
Branches: wrstuden-devbsize
Diff to: previous 1.71: preferred, colored; next MAIN 1.72: preferred, colored
Changes since revision 1.71: +81 -39 lines
Pull up to last week's -current.

Revision 1.80: download - view: text, markup, annotated - select for diffs
Sat Dec 11 14:05:04 1999 UTC (25 years, 2 months ago) by simonb
Branches: MAIN
CVS tags: wrstuden-devbsize-base, wrstuden-devbsize-19991221
Diff to: previous 1.79: preferred, colored
Changes since revision 1.79: +3 -3 lines
Don't need "extern int physmem" - <sys/systm.h> has this already.

Revision 1.79: download - view: text, markup, annotated - select for diffs
Mon Nov 29 11:14:49 1999 UTC (25 years, 2 months ago) by uch
Branches: MAIN
Diff to: previous 1.78: preferred, colored
Changes since revision 1.78: +5 -2 lines
Some TX39 I/O region lies over 512MByte. KSEG2IOBUFSIZE reserves PTE to map there.

Revision 1.72.4.1: download - view: text, markup, annotated - select for diffs
Mon Nov 15 00:38:41 1999 UTC (25 years, 3 months ago) by fvdl
Branches: fvdl-softdep
Diff to: previous 1.72: preferred, colored; next MAIN 1.73: preferred, colored
Changes since revision 1.72: +77 -38 lines
Sync with -current

Revision 1.78: download - view: text, markup, annotated - select for diffs
Sat Nov 13 23:16:39 1999 UTC (25 years, 3 months ago) by mhitch
Branches: MAIN
CVS tags: fvdl-softdep-base
Diff to: previous 1.77: preferred, colored
Changes since revision 1.77: +20 -8 lines
Fix an additonal return in pmap_enter() that wasn't returning a value.
Use flags (formerly access_type) to set page reference/modified status.
Don't use the PG_CLEAN flag from the UVM when checking to see if a
writeable page has been marked as modified.
When updating page status to modified from the UTLBmiss handler, set
the referenced bit in addition to the modified bit.

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

Revision 1.76: download - view: text, markup, annotated - select for diffs
Sun Nov 7 19:42:23 1999 UTC (25 years, 3 months ago) by mhitch
Branches: MAIN
Diff to: previous 1.75: preferred, colored
Changes since revision 1.75: +8 -4 lines
Don't use MIPS3_L2CACHE_ABSENT to control compiling the Level 2 cache flush
in pmap_remove_pv().  Also comment why I'm doing the second cache flush
operation.

Revision 1.75: download - view: text, markup, annotated - select for diffs
Sat Nov 6 23:18:04 1999 UTC (25 years, 3 months ago) by mhitch
Branches: MAIN
Diff to: previous 1.74: preferred, colored
Changes since revision 1.74: +44 -23 lines
Cleanup pmap_remove_pv() a bit:
  Page mod/ref status is stored in the pv header, and needs to be copied to
    the following entry when removing the head entry, otherwise the status
    will be lost (oops!).
  Move the common MIPS3 cache flush into pmap_remove_pv() and eliminate the
    unnecessary testing of the return value when only compiled for MIPS1.
  If the pv entry had the cache inhibited, and we remove the last cache index
    alias conflict, restore caching on the mappings for that entry.
  Eliminate possible extra cache flushing inherited from the pica pmap:  it
    was doing the flush when the head entry was being removed - not just the last
    entry.  Now the flush is done only when the last mapping has been removed.
    Also make sure the secondary cache gets flushed [MIPS3 cache flushing needs
    to be re-thought/re-done someday].
  Update comment for pmap_remove_pv() to reflect these changes.

Revision 1.74: download - view: text, markup, annotated - select for diffs
Sat Nov 6 16:56:33 1999 UTC (25 years, 3 months ago) by mhitch
Branches: MAIN
Diff to: previous 1.73: preferred, colored
Changes since revision 1.73: +3 -3 lines
The previous change to pmap_create() to fix DEBUG compiles was incorrect.  The
original debug output was printing the argument to pmap_create(), but
pmap_create() no longer has an argument.  The incorrect change now prints
an un-initialized pointer.  Change to just print out the function name.

Revision 1.73: download - view: text, markup, annotated - select for diffs
Thu Nov 4 17:20:57 1999 UTC (25 years, 3 months ago) by mhitch
Branches: MAIN
CVS tags: comdex-fall-1999-base, comdex-fall-1999
Diff to: previous 1.72: preferred, colored
Changes since revision 1.72: +4 -4 lines
Only check for cache index compatiblity on MIPS3 if there is no secondary
cache.  With secondary cache, the CPU will detect cache coherency errors
and the Virtual Coherency Exception handler will flush the appropriate
cache lines to maintain cache coherency.  This allows much better
performance than inhibiting the cache for the entire page.  This is
very noticable when shared library mappings occur with incompatible
mappings, since there's a very likely chance the mappings will remain
for long periods of time.  Systems without secondary cache will still
have the cache inhibited, so there will still be performance issues if
shared libraries don't get mmaped() on correct memory alignments.

This fixes the current problems on DECstations using the R4x00 getting
coredumped programs.

Revision 1.72: download - view: text, markup, annotated - select for diffs
Mon Oct 18 17:17:09 1999 UTC (25 years, 4 months ago) by soren
Branches: MAIN
Branch point for: thorpej_scsipi, fvdl-softdep
Diff to: previous 1.71: preferred, colored
Changes since revision 1.71: +3 -3 lines
Make it compile with DEBUG.

Revision 1.71: download - view: text, markup, annotated - select for diffs
Sat Sep 25 00:00:39 1999 UTC (25 years, 4 months ago) by shin
Branches: MAIN
Branch point for: wrstuden-devbsize
Diff to: previous 1.70: preferred, colored
Changes since revision 1.70: +4 -9 lines
Changes for NetBSD/hpcmips.

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

Fix virtual alias problem(physio() case).

[new options]

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

Revision 1.70: download - view: text, markup, annotated - select for diffs
Sun Sep 12 01:17:12 1999 UTC (25 years, 5 months ago) by chs
Branches: MAIN
Diff to: previous 1.69: preferred, colored
Changes since revision 1.69: +67 -28 lines
eliminate the PMAP_NEW option by making it required for all ports.
ports which previously had no support for PMAP_NEW now implement
the pmap_k* interfaces as wrappers around the non-k versions.

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

Revision 1.69: download - view: text, markup, annotated - select for diffs
Thu Jul 8 18:08:55 1999 UTC (25 years, 7 months ago) by thorpej
Branches: MAIN
CVS tags: chs-ubc2-base
Diff to: previous 1.68: preferred, colored
Changes since revision 1.68: +11 -9 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.55.2.1.2.1: download - view: text, markup, annotated - select for diffs
Mon Jun 21 00:52:10 1999 UTC (25 years, 8 months ago) by thorpej
Branches: chs-ubc2
Diff to: previous 1.55.2.1: preferred, colored
Changes since revision 1.55.2.1: +241 -259 lines
Sync w/ -current.

Revision 1.68: download - view: text, markup, annotated - select for diffs
Thu Jun 17 19:23:25 1999 UTC (25 years, 8 months ago) by thorpej
Branches: MAIN
Diff to: previous 1.67: preferred, colored
Changes since revision 1.67: +28 -19 lines
pmap_change_wiring() -> pmap_unwire().

Revision 1.67: download - view: text, markup, annotated - select for diffs
Thu Jun 17 18:21:31 1999 UTC (25 years, 8 months ago) by thorpej
Branches: MAIN
Diff to: previous 1.66: preferred, colored
Changes since revision 1.66: +2 -30 lines
Remove pmap_pageable(); no pmap implements it, and it is not really useful,
because pmap_enter()/pmap_change_wiring() (soon to be pmap_unwire())
communicate the information in greater detail.

Revision 1.66: download - view: text, markup, annotated - select for diffs
Tue Jun 8 03:44:18 1999 UTC (25 years, 8 months ago) by mhitch
Branches: MAIN
Diff to: previous 1.65: preferred, colored
Changes since revision 1.65: +3 -3 lines
When entering a read-only page for MIPS3, va does not need to be adjusted by PAGE_SIZE
when flushing the I-cache.

Revision 1.65: download - view: text, markup, annotated - select for diffs
Thu May 27 01:56:34 1999 UTC (25 years, 8 months ago) by nisimura
Branches: MAIN
Diff to: previous 1.64: preferred, colored
Changes since revision 1.64: +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.64: download - view: text, markup, annotated - select for diffs
Fri May 21 06:19:55 1999 UTC (25 years, 9 months ago) by nisimura
Branches: MAIN
Diff to: previous 1.63: preferred, colored
Changes since revision 1.63: +5 -5 lines
- Make sure ASID PARANOIADIAG work with MIPS3.

Revision 1.63: download - view: text, markup, annotated - select for diffs
Fri May 21 05:28:31 1999 UTC (25 years, 9 months ago) by nisimura
Branches: MAIN
Diff to: previous 1.62: preferred, colored
Changes since revision 1.62: +108 -92 lines
- Rename '#ifdef DIAGNOSTIC' to '#ifdef PARANOIADIAG' to detect
catastrophic events to break VM machinary.  Add some more diags to
track ASID.

Revision 1.62: download - view: text, markup, annotated - select for diffs
Thu May 20 10:50:08 1999 UTC (25 years, 9 months ago) by nisimura
Branches: MAIN
Diff to: previous 1.61: preferred, colored
Changes since revision 1.61: +31 -26 lines
- Avoid recomputations inside inner-most loop which produce identical
values evreytime.

Revision 1.61: download - view: text, markup, annotated - select for diffs
Thu May 20 05:32:06 1999 UTC (25 years, 9 months ago) by nisimura
Branches: MAIN
Diff to: previous 1.60: preferred, colored
Changes since revision 1.60: +12 -11 lines
- Change pmap_alloc_asid() and pmap_activate() to make sure that
'pm_asid' member of 'pmap' structure is assigned a new value after
uvmspace_alloc() provides afresh pmap.
- ASID generation number 0 is not a reserved value anymore.

Revision 1.60: download - view: text, markup, annotated - select for diffs
Tue May 18 01:36:51 1999 UTC (25 years, 9 months ago) by nisimura
Branches: MAIN
Diff to: previous 1.59: preferred, colored
Changes since revision 1.59: +76 -42 lines
- Move MachSetPID(1) call to pmap_bootstrap() adajacent to kernel pmap
initialization code.
- Abandon mips_init_proc0() and do the 4 lines straightly in MD mach_init().
- Restore a block of code accidentally lost in prevous commit.
- Change the term 'tlbpid' to a MIPS3 nomenclature 'asid'.
- Hide PTE size exposures by symbolic names in locore.S

Revision 1.59: download - view: text, markup, annotated - select for diffs
Mon May 17 11:12:44 1999 UTC (25 years, 9 months ago) by nisimura
Branches: MAIN
Diff to: previous 1.58: preferred, colored
Changes since revision 1.58: +21 -71 lines
- Nuke one unused global variable 'mem_size'.
- Kernel pmap is now dectected by "if (pmap = pmap_kernel())" clause.

Revision 1.58: download - view: text, markup, annotated - select for diffs
Mon May 17 01:10:51 1999 UTC (25 years, 9 months ago) by nisimura
Branches: MAIN
Diff to: previous 1.57: preferred, colored
Changes since revision 1.57: +14 -19 lines
- Minor code and comment adjustments for pmap_alloc_tlbpid() and
pmap_activate(), no functional change.

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

Revision 1.55.2.1: download - view: text, markup, annotated - select for diffs
Fri Apr 16 16:19:54 1999 UTC (25 years, 10 months ago) by chs
Branches: netbsd-1-4
CVS tags: netbsd-1-4-RELEASE, netbsd-1-4-PATCH002, netbsd-1-4-PATCH001, kame_14_19990705, kame_14_19990628, kame_141_19991130, kame
Branch point for: chs-ubc2
Diff to: previous 1.55: preferred, colored
Changes since revision 1.55: +4 -4 lines
pull up 1.55 -> 1.56:
add a `flags' argument to uvm_pagealloc_strat().
define a flag UVM_PGA_USERESERVE to allow non-kernel object
allocations to use pages from the reserve.
use the new flag for allocations in pmap modules.

Revision 1.56: download - view: text, markup, annotated - select for diffs
Mon Apr 12 17:59:29 1999 UTC (25 years, 10 months ago) by drochner
Branches: MAIN
Diff to: previous 1.55: preferred, colored
Changes since revision 1.55: +4 -4 lines
adapt to uvm_pagealloc() changes - use UVM_PGA_USERESERVE to allocate
page table pages

Revision 1.55: download - view: text, markup, annotated - select for diffs
Fri Mar 26 23:41:31 1999 UTC (25 years, 10 months ago) by mycroft
Branches: MAIN
CVS tags: netbsd-1-4-base
Branch point for: netbsd-1-4
Diff to: previous 1.54: preferred, colored
Changes since revision 1.54: +4 -3 lines
Changes for modified pmap_enter() API:
* Map the message buffer with access_type = VM_PROT_READ|VM_PROT_WRITE `just
  because'.
* Map the file system buffers with access_type = VM_PROT_READ|VM_PROT_WRITE to
  avoid possible problems with pagemove().
* Do not use VM_PROT_EXEC with either of the above.
* Map pages for /dev/mem with access_type = prot.  Also, DO NOT use
  pmap_kenter() for this, as we DO NOT want to lose modification information.
* Map pages in dumpsys() with VM_PROT_READ.
* Map pages in m68k mappedcopyin()/mappedcopyout() and writeback() with
  access_type = prot.
* For now, bus_dma*(), pmap_map(), vmapbuf(), and similar functions still use
  access_type = 0.  This should probably be revisited.

Revision 1.54: download - view: text, markup, annotated - select for diffs
Fri Mar 26 00:15:05 1999 UTC (25 years, 10 months ago) by thorpej
Branches: MAIN
Diff to: previous 1.53: preferred, colored
Changes since revision 1.53: +3 -3 lines
Don't bother allocating mb_map on these systems.  Mbuf clusters are
allocated from a pool, and the MIPS and Alpha use KSEG to map pool
pages.  So, mb_map wasn't actually being used.  Saves around 4MB of
kernel virtual address space in a typical configuration.

Garbage-collect the related VM_MBUF_SIZE constant.

Revision 1.53: download - view: text, markup, annotated - select for diffs
Wed Mar 24 05:51:05 1999 UTC (25 years, 11 months ago) by mrg
Branches: MAIN
Diff to: previous 1.52: preferred, colored
Changes since revision 1.52: +2 -56 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.52: download - view: text, markup, annotated - select for diffs
Fri Mar 5 22:25:07 1999 UTC (25 years, 11 months ago) by mhitch
Branches: MAIN
Diff to: previous 1.51: preferred, colored
Changes since revision 1.51: +14 -15 lines
Read-only unnmanaged pages on MIPS3 need the RO attribute bit, otherwise the
tlbmod exception panics.  This appears to have been incorrect even in the pica
pmap.c, which I pulled in for the pmax.  Fixes Xcfbpmax crashes on R40x0
systems with sfb framebuffer.

Fix resident_count tracking so it doesn't go negative.  UVM will change a
page mapping without removing the original mapping.  That was causing a
problem early on when getting UVM working on the mips, and the explicit
pmap_remove() done by pmap_enter() was decrementing the resident_count.
Do the pmap_remove() first, then check if the current mapping is not valid
and increment the resident_count.

Revision 1.51: download - view: text, markup, annotated - select for diffs
Fri Feb 26 19:03:40 1999 UTC (25 years, 11 months ago) by is
Branches: MAIN
Diff to: previous 1.50: preferred, colored
Changes since revision 1.50: +44 -2 lines
MIPS part of fix for PR 6152, sligtly changed from M.Hitch's version

Revision 1.50: download - view: text, markup, annotated - select for diffs
Sat Jan 16 08:51:04 1999 UTC (26 years, 1 month ago) by nisimura
Branches: MAIN
Diff to: previous 1.49: preferred, colored
Changes since revision 1.49: +3 -3 lines
- Restore 'cpuregs.h'.

Revision 1.49: download - view: text, markup, annotated - select for diffs
Fri Jan 15 22:26:43 1999 UTC (26 years, 1 month ago) by castor
Branches: MAIN
Diff to: previous 1.48: preferred, colored
Changes since revision 1.48: +9 -19 lines
* Add prototype for mips1_clean_tlb
* Add the correct version of locore_mips1.S [ See previous revision for
	description of changes ]
* Use defopt'ed MIPS3_L2CACHE_ABSENT in mips_machdep.c and pmap.c
	to avoid generating extraneous code.
* GC pmap_set_referenced in pmap.c

Revision 1.48: download - view: text, markup, annotated - select for diffs
Fri Jan 15 01:23:15 1999 UTC (26 years, 1 month ago) by castor
Branches: MAIN
Diff to: previous 1.47: preferred, colored
Changes since revision 1.47: +41 -18 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.47: download - view: text, markup, annotated - select for diffs
Wed Jan 6 04:11:29 1999 UTC (26 years, 1 month ago) by nisimura
Branches: MAIN
Diff to: previous 1.46: preferred, colored
Changes since revision 1.46: +106 -103 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.41.2.5: download - view: text, markup, annotated - select for diffs
Sun Dec 6 21:04:00 1998 UTC (26 years, 2 months ago) by drochner
Branches: nisimura-pmax-wscons
Diff to: previous 1.41.2.4: preferred, colored; branchpoint 1.41: preferred, colored; next MAIN 1.42: preferred, colored
Changes since revision 1.41.2.4: +64 -29 lines
pull up 1.44-1.46 - PV_REFERENCED, Sysmapsize

Revision 1.46: download - view: text, markup, annotated - select for diffs
Sat Dec 5 09:13:09 1998 UTC (26 years, 2 months ago) by jonathan
Branches: MAIN
CVS tags: kenh-if-detach-base, kenh-if-detach
Diff to: previous 1.45: preferred, colored
Changes since revision 1.45: +26 -12 lines
Track PV_REFERENCED bit as for PV_MODIFIED,  to make mdsetimage work correctly.
Compatiblity with Mach VM: clear pmap-private bits in pmap_remove() if !UVM.

Revision 1.45: download - view: text, markup, annotated - select for diffs
Sat Dec 5 07:50:12 1998 UTC (26 years, 2 months ago) by jonathan
Branches: MAIN
Diff to: previous 1.44: preferred, colored
Changes since revision 1.44: +19 -5 lines
Clean up kernel PTE allocation. Allocate space for maxproc kernel stacks.
Bump UVM swap-map to avoid panics on large swap machines.

Revision 1.44: download - view: text, markup, annotated - select for diffs
Sun Nov 29 03:18:32 1998 UTC (26 years, 2 months ago) by jonathan
Branches: MAIN
Diff to: previous 1.43: preferred, colored
Changes since revision 1.43: +24 -18 lines
Add PV_REFERENCED and track as for PV_MODIFIED,.

UVM relies on pmap modules keeping track of modified/referenced bits
after a page has been removed from all mappings.  So *dont* clear
PV_REFERENCED or PV_MODIFIED flags in pmap_remove().

Revision 1.41.2.4: download - view: text, markup, annotated - select for diffs
Mon Nov 16 10:41:33 1998 UTC (26 years, 3 months ago) by nisimura
Branches: nisimura-pmax-wscons
Diff to: previous 1.41.2.3: preferred, colored; branchpoint 1.41: preferred, colored
Changes since revision 1.41.2.3: +103 -100 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.41.2.3: download - view: text, markup, annotated - select for diffs
Sun Nov 15 16:20:49 1998 UTC (26 years, 3 months ago) by drochner
Branches: nisimura-pmax-wscons
Diff to: previous 1.41.2.2: preferred, colored; branchpoint 1.41: preferred, colored
Changes since revision 1.41.2.2: +41 -47 lines
sync to trunk (page modified bit handling, needed for UVM)

Revision 1.43: download - view: text, markup, annotated - select for diffs
Sun Nov 15 02:34:37 1998 UTC (26 years, 3 months ago) by mhitch
Branches: MAIN
Diff to: previous 1.42: preferred, colored
Changes since revision 1.42: +41 -47 lines
Change page modification emulation:  don't fiddle with VM flags directly.
Track page modification status in the PV entry like the alpha, and let
pmap_is_modified() return current status back to the VM system.  UVM now
works reliably.

Garbage collect the old pmap_attribute[] stuff.

Revision 1.41.2.2: download - view: text, markup, annotated - select for diffs
Tue Oct 20 09:29:25 1998 UTC (26 years, 4 months ago) by drochner
Branches: nisimura-pmax-wscons
Diff to: previous 1.41.2.1: preferred, colored; branchpoint 1.41: preferred, colored
Changes since revision 1.41.2.1: +3 -2 lines
sync to trunk rev. 1.42

Revision 1.42: download - view: text, markup, annotated - select for diffs
Mon Oct 19 22:09:19 1998 UTC (26 years, 4 months ago) by tron
Branches: MAIN
CVS tags: chs-ubc-base, chs-ubc
Diff to: previous 1.41: preferred, colored
Changes since revision 1.41: +3 -2 lines
Defopt SYSVMSG, SYSVSEM and SYSVSHM.

Revision 1.41.2.1: download - view: text, markup, annotated - select for diffs
Thu Oct 15 05:29:30 1998 UTC (26 years, 4 months ago) by nisimura
Branches: nisimura-pmax-wscons
Diff to: previous 1.41: preferred, colored
Changes since revision 1.41: +3 -4 lines
- change from mips/cpureg.h to mips/cpuarch.h.

Revision 1.41: download - view: text, markup, annotated - select for diffs
Fri Sep 11 16:46:33 1998 UTC (26 years, 5 months ago) by jonathan
Branches: MAIN
CVS tags: nisimura-pmax-wscons-base
Branch point for: nisimura-pmax-wscons
Diff to: previous 1.40: preferred, colored
Changes since revision 1.40: +7 -6 lines
Changes to sys/arch/mips from ARC port, from Noriyuki Soda <soda@sra.co.jp>.
Adds (most) support for ARC platform to port-independent mips code.

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

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

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

Revision 1.40: download - view: text, markup, annotated - select for diffs
Tue May 19 19:00:16 1998 UTC (26 years, 9 months ago) by thorpej
Branches: MAIN
CVS tags: eeh-paddr_t-base, eeh-paddr_t
Diff to: previous 1.39: preferred, colored
Changes since revision 1.39: +5 -2 lines
It is no longer necessary for pmap_pinit() and pmap_release() to be
pmap interface functions, as NetBSD no longer uses statically allocated
pmaps (except for the kernel pmap, which is special-cased anyhow).

Revision 1.39: download - view: text, markup, annotated - select for diffs
Wed May 6 21:53:53 1998 UTC (26 years, 9 months ago) by mhitch
Branches: MAIN
Diff to: previous 1.38: preferred, colored
Changes since revision 1.38: +13 -2 lines
When changing the mapping on a page, remove the previous mapping if
there is one.  The Mach VM system seems to take care of this, so it
hasn't knowingly caused a problem.  UVM does change mappings without
removing the current mapping, and will pmap_page_protect() hangs
if pmap_enter() doesn't remove the previous mapping.

Revision 1.38: download - view: text, markup, annotated - select for diffs
Sun Mar 22 23:12:15 1998 UTC (26 years, 11 months ago) by thorpej
Branches: MAIN
Diff to: previous 1.37: preferred, colored
Changes since revision 1.37: +16 -3 lines
Implement pmap_deactivate() (a noop in this pmap) and clean up
pmap_activate() a little.

Revision 1.37: download - view: text, markup, annotated - select for diffs
Thu Mar 12 06:26:26 1998 UTC (26 years, 11 months ago) by thorpej
Branches: MAIN
Diff to: previous 1.36: preferred, colored
Changes since revision 1.36: +2 -94 lines
Garbage-collect; vm_page_alloc1() and vm_page_free1() are now in MI code.

Revision 1.36: download - view: text, markup, annotated - select for diffs
Thu Mar 12 05:45:06 1998 UTC (26 years, 11 months ago) by thorpej
Branches: MAIN
Diff to: previous 1.35: preferred, colored
Changes since revision 1.35: +50 -3 lines
Add support for UVM.

Revision 1.35: download - view: text, markup, annotated - select for diffs
Wed Feb 25 23:26:41 1998 UTC (26 years, 11 months ago) by thorpej
Branches: MAIN
Diff to: previous 1.34: preferred, colored
Changes since revision 1.34: +213 -78 lines
Implement and switch to MACHINE_NEW_NONCONTIG.

Revision 1.33.2.1: download - view: text, markup, annotated - select for diffs
Sun Feb 8 07:09:54 1998 UTC (27 years ago) by mellon
Branches: netbsd-1-3
CVS tags: netbsd-1-3-PATCH003-CANDIDATE2, netbsd-1-3-PATCH003-CANDIDATE1, netbsd-1-3-PATCH003-CANDIDATE0, netbsd-1-3-PATCH003, netbsd-1-3-PATCH002, netbsd-1-3-PATCH001
Diff to: previous 1.33: preferred, colored; next MAIN 1.34: preferred, colored
Changes since revision 1.33: +6 -4 lines
Pull up 1.34 (ross)

Revision 1.34: download - view: text, markup, annotated - select for diffs
Sun Feb 1 01:55:15 1998 UTC (27 years ago) by jonathan
Branches: MAIN
Diff to: previous 1.33: preferred, colored
Changes since revision 1.33: +6 -4 lines
Change VM_WAIT --> vm_wait() in mips pmap code, where waiting after
vm_page_alloc1() fails to return a page for use as a segtab.

XXX there must be a better way to do this.

Revision 1.33: download - view: text, markup, annotated - select for diffs
Fri Oct 17 09:35:17 1997 UTC (27 years, 4 months ago) by jonathan
Branches: MAIN
CVS tags: netbsd-1-3-base, netbsd-1-3-RELEASE, netbsd-1-3-BETA
Branch point for: netbsd-1-3
Diff to: previous 1.32: preferred, colored
Changes since revision 1.32: +3 -2 lines
Add explicit #include <vm/vm.h> before mips/pte.h is included.

Revision 1.32: download - view: text, markup, annotated - select for diffs
Fri Oct 17 05:57:20 1997 UTC (27 years, 4 months ago) by jonathan
Branches: MAIN
Diff to: previous 1.31: preferred, colored
Changes since revision 1.31: +21 -5 lines
* Performance improvements from July 1997:
  Avoid unecessary cache writebacks on mips3. 10% win on kernel builds.
* _KERNEL_RCSID.

Revision 1.30.2.1: download - view: text, markup, annotated - select for diffs
Sat Aug 23 07:11:22 1997 UTC (27 years, 6 months ago) by thorpej
Branches: marc-pcmcia
Diff to: previous 1.30: preferred, colored; next MAIN 1.31: preferred, colored
Changes since revision 1.30: +16 -1 lines
Update marc-pcmcia branch from trunk.

Revision 1.31: download - view: text, markup, annotated - select for diffs
Sat Aug 9 03:41:08 1997 UTC (27 years, 6 months ago) by jonathan
Branches: MAIN
CVS tags: thorpej-signal-base, thorpej-signal, marc-pcmcia-base
Diff to: previous 1.30: preferred, colored
Changes since revision 1.30: +16 -1 lines
mips pmap_activate:
 * prototype and definition for pmap_activate(p). Updates the segtab,
   and changes the active ASID if p == curproc.
 * Make reserved fixed-address (UADDR) kernelstack PTEs global,
   so we still have a kernel stack after pmap_activate() on curproc.
 * make KSEG2 mappings for p_addr global (see above.)

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

Revision 1.30: download - view: text, markup, annotated - select for diffs
Tue Jul 29 01:41:46 1997 UTC (27 years, 6 months ago) by mhitch
Branches: MAIN
CVS tags: marc-pcmcia-bp
Branch point for: marc-pcmcia
Diff to: previous 1.29: preferred, colored
Changes since revision 1.29: +30 -28 lines
Get rid of the MIPS3 mess I left in pmap_enter_pv().  The cache inhibit
of cache-index incompatible virtual mappings for a physical page may be
required for hardware without secondary (level 2) cache to detect and
correct virtual coherency problems.  I'm not sure this is really needed
anymore, since pmap_prefer() took care of of the cache-index
incompatible mappings that I have seen.  Count the times a page is
cache inhibited in enter_stats if DEBUG.

Wait for memory instead of panic() on failure to allocate a page for the
segtab or segmap [from OpenBSD arc port].  Also check for malloc()
failure on allocation of a new pv entry and panic().

Increment resident_count when adding a new page to a pmap [also from
OpenBSD].  Process resident size is now valid.

Revision 1.29: download - view: text, markup, annotated - select for diffs
Mon Jul 28 20:41:58 1997 UTC (27 years, 6 months ago) by jonathan
Branches: MAIN
Diff to: previous 1.28: preferred, colored
Changes since revision 1.28: +29 -1 lines
Add comments to pmap_copy_page() and pmap_zero_page() describing the
cache flush operations required on a virtually-indexed, physically-tagged
mips3 with no L2 cache to provide cache-coherence exceptions.

(Similar to what's needed with a virtually-indexed, virtually-tagged cache.)

Revision 1.28: download - view: text, markup, annotated - select for diffs
Wed Jul 23 05:41:17 1997 UTC (27 years, 7 months ago) by jonathan
Branches: MAIN
Diff to: previous 1.27: preferred, colored
Changes since revision 1.27: +48 -4 lines
Unroll pmap_copy_page() and pmap_zero_page() inlined loops even further.

Revision 1.27: download - view: text, markup, annotated - select for diffs
Sun Jun 22 07:43:02 1997 UTC (27 years, 8 months ago) by jonathan
Branches: MAIN
CVS tags: bouyer-scsipi
Diff to: previous 1.26: preferred, colored
Changes since revision 1.26: +11 -11 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.26: download - view: text, markup, annotated - select for diffs
Sun Jun 22 03:17:43 1997 UTC (27 years, 8 months ago) by jonathan
Branches: MAIN
Diff to: previous 1.25: preferred, colored
Changes since revision 1.25: +6 -6 lines
Final changes for configuring MIPS1 and MIPS3 in a single kernel.

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

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

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

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

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

Revision 1.25: download - view: text, markup, annotated - select for diffs
Sat Jun 21 04:36:22 1997 UTC (27 years, 8 months ago) by mhitch
Branches: MAIN
Diff to: previous 1.24: preferred, colored
Changes since revision 1.24: +26 -56 lines
Fix pmap_prefer() to work in merged for mips1/mips3.
Remove unused debug procedure I forgot to remove previously.
Consolidate the vm_page_free1() calls in pmap_release().  Duplicate code
was a result of the way I merged the MIPS3 support from the pica pmap.c.
Enhance the comment on flushing the cache when releasing the segmap pages,
and add a comment about the currently unused code to uncache pages in
pmap_enter_pv().

Revision 1.24: download - view: text, markup, annotated - select for diffs
Fri Jun 20 07:35:03 1997 UTC (27 years, 8 months ago) by jonathan
Branches: MAIN
Diff to: previous 1.23: preferred, colored
Changes since revision 1.23: +3 -2 lines
Correct cast type on mips3_MachHitFlushDCache().

Revision 1.23: download - view: text, markup, annotated - select for diffs
Fri Jun 20 04:34:38 1997 UTC (27 years, 8 months ago) by jonathan
Branches: MAIN
Diff to: previous 1.22: preferred, colored
Changes since revision 1.22: +3 -3 lines
MachHitFlushDCache -> mips3_HitFlushDCache().
Add  XXX reminder to d-cache flush I don't understand.

Revision 1.22: download - view: text, markup, annotated - select for diffs
Thu Jun 19 06:30:47 1997 UTC (27 years, 8 months ago) by mhitch
Branches: MAIN
Diff to: previous 1.21: preferred, colored
Changes since revision 1.21: +2 -2 lines
Use same cachesize variables for mips1 and mips3, and rename the variables
per Jonathan's request.

Revision 1.21: download - view: text, markup, annotated - select for diffs
Tue Jun 17 01:38:21 1997 UTC (27 years, 8 months ago) by jonathan
Branches: MAIN
Diff to: previous 1.20: preferred, colored
Changes since revision 1.20: +48 -30 lines
Check for '#ifdef MIPS1', not '#ifndef MIPS3', since we can now have both.

Add runtime check for 'if (CPUISMIPS3)' inside #ifdef MIPS3.
Add runtime check for 'if (!CPUISMIPS3)' inside #ifdef MIPS1.

Revision 1.20: download - view: text, markup, annotated - select for diffs
Mon Jun 16 23:41:53 1997 UTC (27 years, 8 months ago) by jonathan
Branches: MAIN
Diff to: previous 1.19: preferred, colored
Changes since revision 1.19: +82 -73 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.19: download - view: text, markup, annotated - select for diffs
Mon Jun 16 00:16:08 1997 UTC (27 years, 8 months ago) by jonathan
Branches: MAIN
Diff to: previous 1.18: preferred, colored
Changes since revision 1.18: +2 -2 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.18: download - view: text, markup, annotated - select for diffs
Sun Jun 15 18:19:47 1997 UTC (27 years, 8 months ago) by mhitch
Branches: MAIN
Diff to: previous 1.17: preferred, colored
Changes since revision 1.17: +359 -124 lines
More merged MIPS1/MIPS3 support - from pica pmap.c

Revision 1.17: download - view: text, markup, annotated - select for diffs
Mon May 26 23:02:11 1997 UTC (27 years, 8 months ago) by jonathan
Branches: MAIN
Diff to: previous 1.16: preferred, colored
Changes since revision 1.16: +28 -26 lines
Lint: printf formats inside #ifdef DEBUG (long vs int, %x vs pointer).
Add XXX to inconsistency: sometimes pmap.c calls blkclr(), sometimes it uses
an inline C loop tuned for 4-entry writebuffer.  Why?

Revision 1.16: download - view: text, markup, annotated - select for diffs
Sun May 25 05:19:51 1997 UTC (27 years, 8 months ago) by jonathan
Branches: MAIN
Diff to: previous 1.15: preferred, colored
Changes since revision 1.15: +10 -5 lines
Lint: move  forward declarations to beginning of file and protoize.
      delete unused variables and add redundant parens where suggested.

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

Revision 1.13.2.1: download - view: text, markup, annotated - select for diffs
Sat Jan 18 04:26:39 1997 UTC (28 years, 1 month ago) by thorpej
Diff to: previous 1.13: preferred, colored; next MAIN 1.14: preferred, colored
Changes since revision 1.13: +9 -9 lines
Update from trunk.

Revision 1.14: download - view: text, markup, annotated - select for diffs
Tue Jan 14 22:29:54 1997 UTC (28 years, 1 month ago) by jonathan
Branches: MAIN
Diff to: previous 1.13: preferred, colored
Changes since revision 1.13: +9 -9 lines
pmaxpagesperpage -> mipspagesperpage

Revision 1.13: download - view: text, markup, annotated - select for diffs
Sun Oct 13 03:39:53 1996 UTC (28 years, 4 months ago) by christos
Branches: MAIN
Diff to: previous 1.12: preferred, colored
Changes since revision 1.12: +36 -36 lines
backout previous kprintf change

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

Revision 1.11: download - view: text, markup, annotated - select for diffs
Mon Oct 7 02:17:34 1996 UTC (28 years, 4 months ago) by jonathan
Branches: MAIN
Diff to: previous 1.10: preferred, colored
Changes since revision 1.10: +3 -3 lines
Use "MIPS1" and "MIPS3" as preprocessor tokens to select {config,compile}-time
support for mips-1 (r2000 family) and mips-3 (r4000 family) CPUs.
Avoids inconsistent use of CPU_R2000 and CPU_R3000.

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

Use mips_btop(), mips_round_page, mips_trunc_seg() instead
of pmax_btop(), pmax_round_page, pmax_trunc_seg().

Add Per's software-readonly-bit mechanism, since the r2000 and r4000
hardware TLB entries are  very different, and the r4k has no space for
software bits in TLB entries.  That is, this pmap code still won't work
on r4000 machines. Some other solution, like another jump table for
clients of the  pmap code, is necessary.

Revision 1.9: download - view: text, markup, annotated - select for diffs
Mon Apr 10 12:45:59 1995 UTC (29 years, 10 months ago) by mycroft
Branches: MAIN
Diff to: previous 1.8: preferred, colored
Changes since revision 1.8: +3 -3 lines
Oops; finish that last change.

Revision 1.8: download - view: text, markup, annotated - select for diffs
Mon Apr 10 12:42:20 1995 UTC (29 years, 10 months ago) by mycroft
Branches: MAIN
Diff to: previous 1.7: preferred, colored
Changes since revision 1.7: +1 -3 lines
Bring back pmap_kernel(), for now always inlined as a pointer to
kernel_pmap_store.

Revision 1.7: download - view: text, markup, annotated - select for diffs
Wed Nov 23 20:46:20 1994 UTC (30 years, 3 months ago) by dean
Branches: MAIN
Diff to: previous 1.6: preferred, colored
Changes since revision 1.6: +2 -2 lines
thread_wakeup wants (void *) not (int)

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

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

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

Revision 1.3: download - view: text, markup, annotated - select for diffs
Sun Jan 16 00:58:07 1994 UTC (31 years, 1 month ago) by deraadt
Branches: MAIN
CVS tags: pre-bsd44
Diff to: previous 1.2: preferred, colored
Changes since revision 1.2: +12 -1 lines
add a pmap_kernel() function

Revision 1.2: download - view: text, markup, annotated - select for diffs
Fri Oct 15 02:57:27 1993 UTC (31 years, 4 months ago) by deraadt
Branches: MAIN
Diff to: previous 1.1: preferred, colored
Changes since revision 1.1: +9 -1 lines
update from rick, tarfile of Oct 11 10:46

Revision 1.1.1.1 (vendor branch): download - view: text, markup, annotated - select for diffs
Tue Oct 12 03:22:32 1993 UTC (31 years, 4 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:31 1993 UTC (31 years, 4 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>