The NetBSD Project

CVS log for src/sys/arch/i386/i386/Attic/pmap.c

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

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.181.2.2.4.1 / (download) - annotate - [select for diffs], Thu Apr 30 20:40:58 2009 UTC (14 years, 6 months ago) by snj
Branch: netbsd-3-1
Changes since 1.181.2.2: +8 -2 lines
Diff to previous 1.181.2.2 (colored) next main 1.181.2.3 (colored)

Apply patch (requested by bouyer in ticket #2012):
Fix a pmap race.

Revision 1.181.2.2.2.1 / (download) - annotate - [select for diffs], Thu Apr 30 20:33:12 2009 UTC (14 years, 6 months ago) by snj
Branch: netbsd-3-0
Changes since 1.181.2.2: +8 -2 lines
Diff to previous 1.181.2.2 (colored) next main 1.181.2.3 (colored)

Apply patch (requested by bouyer in ticket #2012):
Fix a pmap race.

Revision 1.181.2.3 / (download) - annotate - [select for diffs], Thu Apr 30 20:28:21 2009 UTC (14 years, 6 months ago) by snj
Branch: netbsd-3
Changes since 1.181.2.2: +8 -2 lines
Diff to previous 1.181.2.2 (colored) to branchpoint 1.181 (colored) next main 1.182 (colored)

Apply patch (requested by bouyer in ticket #2012):
Fix an i386 pmap race.

Revision 1.207.10.1, Tue Nov 6 23:17:32 2007 UTC (16 years ago) by matt
Branch: matt-armv6
Changes since 1.207: +2 -2 lines
FILE REMOVED

sync with HEAD

Revision 1.183.2.5, Sat Oct 27 11:26:39 2007 UTC (16 years, 1 month ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.183.2.4: +2 -2 lines
FILE REMOVED

sync with head.

Revision 1.207.8.4, Fri Oct 26 15:42:36 2007 UTC (16 years, 1 month ago) by joerg
Branch: jmcneill-pm
Changes since 1.207.8.3: +2 -2 lines
FILE REMOVED

Sync with HEAD.

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

Revision 1.216.2.1, Thu Oct 25 22:35:51 2007 UTC (16 years, 1 month ago) by bouyer
Branch: bouyer-xenamd64
Changes since 1.216: +2 -2 lines
FILE REMOVED

Sync with HEAD.

Revision 1.202.2.28, Tue Oct 23 20:13:04 2007 UTC (16 years, 1 month ago) by ad
Branch: vmlocking
Changes since 1.202.2.27: +2 -2 lines
FILE REMOVED

Sync with head.

Revision 1.218, Thu Oct 18 15:28:36 2007 UTC (16 years, 1 month ago) by yamt
Branch: MAIN
CVS Tags: yamt-pf42-base4, yamt-pf42-base3, yamt-pf42-base2, yamt-pf42-base, yamt-pf42, yamt-pagecache-tag8, yamt-pagecache-base9, yamt-pagecache-base8, yamt-pagecache-base7, yamt-pagecache-base6, yamt-pagecache-base5, yamt-pagecache-base4, yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base, yamt-pagecache, yamt-nfs-mp-base9, yamt-nfs-mp-base8, yamt-nfs-mp-base7, yamt-nfs-mp-base6, yamt-nfs-mp-base5, yamt-nfs-mp-base4, yamt-nfs-mp-base3, yamt-nfs-mp-base2, yamt-nfs-mp-base11, yamt-nfs-mp-base10, yamt-nfs-mp-base, yamt-nfs-mp, yamt-lazymbuf-base15, yamt-lazymbuf-base14, yamt-kmem-base3, yamt-kmem-base2, yamt-kmem-base, yamt-kmem, vmlocking2-base3, vmlocking2-base2, vmlocking2-base1, vmlocking2, vmlocking-nbase, uebayasi-xip-base2, uebayasi-xip-base, uebayasi-xip, tls-maxphys-base, tls-earlyentropy-base, tls-earlyentropy, thorpej-futex-base, simonb-wapbl-nbase, simonb-wapbl-base, simonb-wapbl, rmind-uvmplock-nbase, rmind-uvmplock-base, rmind-uvmplock, rmind-smpnet-nbase, rmind-smpnet-base, rmind-smpnet, riastradh-xf86-video-intel-2-7-1-pre-2-21-15, riastradh-drm2-base3, reinoud-bufcleanup-nbase, reinoud-bufcleanup-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, netbsd-5-base, netbsd-5-2-RELEASE, netbsd-5-2-RC1, netbsd-5-2-3-RELEASE, netbsd-5-2-2-RELEASE, netbsd-5-2-1-RELEASE, netbsd-5-2, netbsd-5-1-RELEASE, netbsd-5-1-RC4, netbsd-5-1-RC3, netbsd-5-1-RC2, netbsd-5-1-RC1, netbsd-5-1-5-RELEASE, netbsd-5-1-4-RELEASE, netbsd-5-1-3-RELEASE, netbsd-5-1-2-RELEASE, netbsd-5-1-1-RELEASE, netbsd-5-1, netbsd-5-0-RELEASE, netbsd-5-0-RC4, netbsd-5-0-RC3, netbsd-5-0-RC2, netbsd-5-0-RC1, netbsd-5-0-2-RELEASE, netbsd-5-0-1-RELEASE, netbsd-5-0, netbsd-5, mjf-devfs2-base, mjf-devfs2, mjf-devfs-base, mjf-devfs, matt-nb5-pq3-base, matt-nb5-pq3, localcount-20160914, keiichi-mipv6-nbase, keiichi-mipv6-base, keiichi-mipv6, jymxensuspend-base, jym-xensuspend-nbase, jym-xensuspend-base, jym-xensuspend, jruoho-x86intr-base, jruoho-x86intr, jmcneill-usbmp-base, jmcneill-usbmp, jmcneill-pm-base, jmcneill-base, jmcneill-audiomp3-base, jmcneill-audiomp3, isaki-audio2-base, isaki-audio2, hpcarm-cleanup-nbase, hpcarm-cleanup-base, haad-nbase2, haad-dm-base2, haad-dm-base1, haad-dm-base, haad-dm, cube-autoconf-base, cube-autoconf, 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-xeni386-nbase, bouyer-xeni386-merge1, bouyer-xeni386-base, bouyer-xeni386, bouyer-xenamd64-base2, bouyer-xenamd64-base, bouyer-sunxi-drm-base, bouyer-sunxi-drm, bouyer-socketcan-base1, bouyer-socketcan-base, bouyer-socketcan, bouyer-quota2-nbase, bouyer-quota2-base, bouyer-quota2, agc-symver-base, agc-symver, ad-socklock-base1, ad-namecache-base3, ad-namecache-base2, ad-namecache-base1, ad-namecache-base, ad-namecache, ad-audiomp2-base, ad-audiomp2, HEAD
Changes since 1.217: +2 -2 lines
FILE REMOVED

merge yamt-x86pmap branch.

- reduce differences between amd64 and i386.  notably, share pmap.c
  between them.  it makes several i386 pmap improvements available to
  amd64, including tlb shootdown reduction and bug fixes from Stephan Uphoff.
- implement deferred pmap switching for amd64.
- remove LARGEPAGES option.  always use large pages if available.
  also, make it work on amd64.

Revision 1.217 / (download) - annotate - [select for diffs], Wed Oct 17 19:54:46 2007 UTC (16 years, 1 month ago) by garbled
Branch: MAIN
CVS Tags: yamt-x86pmap-base4
Changes since 1.216: +2 -2 lines
Diff to previous 1.216 (colored)

Merge the ppcoea-renovation branch to HEAD.

This branch was a major cleanup and rototill of many of the various OEA
cpu based PPC ports that focused on sharing as much code as possible
between the various ports to eliminate near-identical copies of files in
every tree.  Additionally there is a new PIC system that unifies the
interface to interrupt code for all different OEA ppc arches.  The work
for this branch was done by a variety of people, too long to list here.

TODO:
bebox still needs work to complete the transition to -renovation.
ofppc still needs a bunch of work, which I will be looking at.
ev64260 still needs to be renovated
amigappc was not attempted.

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.

Revision 1.205.2.4 / (download) - annotate - [select for diffs], Tue Oct 16 18:23:41 2007 UTC (16 years, 1 month ago) by garbled
Branch: ppcoea-renovation
Changes since 1.205.2.3: +2 -4 lines
Diff to previous 1.205.2.3 (colored) to branchpoint 1.205 (colored) next main 1.206 (colored)

Sync with HEAD

Revision 1.216 / (download) - annotate - [select for diffs], Fri Oct 12 13:38:08 2007 UTC (16 years, 1 month ago) by ad
Branch: MAIN
CVS Tags: yamt-x86pmap-base3, vmlocking-base, ppcoea-renovation-base
Branch point for: bouyer-xenamd64
Changes since 1.215: +2 -4 lines
Diff to previous 1.215 (colored)

crit_enter/crit_exit are now available.

Revision 1.202.2.27 / (download) - annotate - [select for diffs], Tue Oct 9 15:22:04 2007 UTC (16 years, 1 month ago) by ad
Branch: vmlocking
Changes since 1.202.2.26: +13 -8 lines
Diff to previous 1.202.2.26 (colored)

Sync with head.

Revision 1.205.2.3 / (download) - annotate - [select for diffs], Wed Oct 3 19:23:47 2007 UTC (16 years, 1 month ago) by garbled
Branch: ppcoea-renovation
Changes since 1.205.2.2: +826 -916 lines
Diff to previous 1.205.2.2 (colored) to branchpoint 1.205 (colored)

Sync with HEAD

Revision 1.207.8.3 / (download) - annotate - [select for diffs], Tue Oct 2 18:27:21 2007 UTC (16 years, 1 month ago) by joerg
Branch: jmcneill-pm
Changes since 1.207.8.2: +3 -3 lines
Diff to previous 1.207.8.2 (colored) to branchpoint 1.207 (colored)

Sync with HEAD.

Revision 1.214.2.3, Sat Sep 29 08:26:35 2007 UTC (16 years, 1 month ago) by yamt
Branch: yamt-x86pmap
Changes since 1.214.2.2: +2 -2 lines
FILE REMOVED

move i386/i386/pmap.c to x86/x86/pmap.c.

Revision 1.215 / (download) - annotate - [select for diffs], Wed Sep 26 19:48:37 2007 UTC (16 years, 2 months ago) by ad
Branch: MAIN
CVS Tags: yamt-x86pmap-base2
Changes since 1.214: +3 -3 lines
Diff to previous 1.214 (colored)

x86 changes for pcc and LKMs.

- Replace most inline assembly with proper functions. As a side effect
  this reduces the size of amd64 GENERIC by about 120kB, and i386 by a
  smaller amount. Nearly all of the inlines did something slow, or something
  that does not need to be fast.
- Make curcpu() and curlwp functions proper, unless __GNUC__ && _KERNEL.
  In that case make them inlines. Makes curlwp LKM and preemption safe.
- Make bus_space and bus_dma more LKM friendly.
- Share a few more files between the ports.
- Other minor changes.

Revision 1.214.2.2 / (download) - annotate - [select for diffs], Mon Sep 24 10:56:49 2007 UTC (16 years, 2 months ago) by yamt
Branch: yamt-x86pmap
Changes since 1.214.2.1: +5 -3 lines
Diff to previous 1.214.2.1 (colored) to branchpoint 1.214 (colored)

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

Revision 1.214.2.1 / (download) - annotate - [select for diffs], Sun Sep 23 18:28:17 2007 UTC (16 years, 2 months ago) by yamt
Branch: yamt-x86pmap
Changes since 1.214: +600 -372 lines
Diff to previous 1.214 (colored)

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

Revision 1.207.8.2 / (download) - annotate - [select for diffs], Mon Sep 10 15:00:09 2007 UTC (16 years, 2 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.207.8.1: +46 -2 lines
Diff to previous 1.207.8.1 (colored) to branchpoint 1.207 (colored)

Introduce pmap_init_tmp_pgtbl to build a temporary copy of the kernel
side page mapping and an identity mapping low page for use in real mode.
Switch MP bootstrap and i386 ACPI wakeup code to use it.

Revision 1.202.2.26 / (download) - annotate - [select for diffs], Mon Sep 10 00:07:08 2007 UTC (16 years, 2 months ago) by ad
Branch: vmlocking
Changes since 1.202.2.25: +3 -2 lines
Diff to previous 1.202.2.25 (colored)

pmap_growkernel: add missing nkpde++.

Revision 1.202.2.25 / (download) - annotate - [select for diffs], Sun Sep 9 23:23:52 2007 UTC (16 years, 2 months ago) by ad
Branch: vmlocking
Changes since 1.202.2.24: +12 -7 lines
Diff to previous 1.202.2.24 (colored)

- pmap_pdp_ctor: cache the value of nkpde, so that no matter what the
  outcome, the newly initialized page directory is self-consistent.
- pmap_growkernel: increment nkpde while holding pmaps_lock. Read only
  access can be had by holding pmap_kernel()->pm_obj.vmobjlock.

Revision 1.202.2.24 / (download) - annotate - [select for diffs], Sun Sep 9 23:10:28 2007 UTC (16 years, 2 months ago) by ad
Branch: vmlocking
Changes since 1.202.2.23: +5 -13 lines
Diff to previous 1.202.2.23 (colored)

Garbage collect the pdp_cache generation stuff. Instead, when checking
to see if a cached page directory is valid, test to see if there is a
PDE matching the current value of nkpde while we hold pmaps_lock.

Revision 1.207.8.1 / (download) - annotate - [select for diffs], Mon Sep 3 16:47:23 2007 UTC (16 years, 2 months ago) by jmcneill
Branch: jmcneill-pm
Changes since 1.207: +825 -915 lines
Diff to previous 1.207 (colored)

Sync with HEAD.

Revision 1.183.2.4 / (download) - annotate - [select for diffs], Mon Sep 3 14:26:43 2007 UTC (16 years, 2 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.183.2.3: +936 -1090 lines
Diff to previous 1.183.2.3 (colored)

sync with head.

Revision 1.207.4.1 / (download) - annotate - [select for diffs], Mon Sep 3 10:19:03 2007 UTC (16 years, 2 months ago) by skrll
Branch: nick-csl-alignment
Changes since 1.207: +825 -915 lines
Diff to previous 1.207 (colored) next main 1.208 (colored)

Sync with HEAD.

Revision 1.202.2.23 / (download) - annotate - [select for diffs], Sat Sep 1 12:56:44 2007 UTC (16 years, 2 months ago) by ad
Branch: vmlocking
Changes since 1.202.2.22: +10 -14 lines
Diff to previous 1.202.2.22 (colored)

Update for pool_cache API changes.

Revision 1.214 / (download) - annotate - [select for diffs], Sat Sep 1 10:47:43 2007 UTC (16 years, 2 months ago) by yamt
Branch: MAIN
CVS Tags: yamt-x86pmap-base, nick-csl-alignment-base5, nick-csl-alignment-base4
Branch point for: yamt-x86pmap
Changes since 1.213: +25 -26 lines
Diff to previous 1.213 (colored)

reduce cosmetic differences between i386 and amd64 pmaps.
(whitespace, ansify, etc.)
no functional changes are intended.

Revision 1.213 / (download) - annotate - [select for diffs], Sat Sep 1 09:15:09 2007 UTC (16 years, 2 months ago) by yamt
Branch: MAIN
Changes since 1.212: +3 -4 lines
Diff to previous 1.212 (colored)

remove a stale comment.

Revision 1.212 / (download) - annotate - [select for diffs], Sat Sep 1 09:14:31 2007 UTC (16 years, 2 months ago) by yamt
Branch: MAIN
Changes since 1.211: +3 -7 lines
Diff to previous 1.211 (colored)

use UVM_OBJ_INIT.

Revision 1.211 / (download) - annotate - [select for diffs], Sat Sep 1 09:12:29 2007 UTC (16 years, 2 months ago) by yamt
Branch: MAIN
Changes since 1.210: +11 -14 lines
Diff to previous 1.210 (colored)

remove arguments which is no longer necessary.

Revision 1.210 / (download) - annotate - [select for diffs], Thu Aug 30 18:14:11 2007 UTC (16 years, 2 months ago) by ad
Branch: MAIN
Changes since 1.209: +3 -3 lines
Diff to previous 1.209 (colored)

Fix build failure in pmap_tlb_shootdown().

Revision 1.209 / (download) - annotate - [select for diffs], Thu Aug 30 11:30:29 2007 UTC (16 years, 2 months ago) by ad
Branch: MAIN
Changes since 1.208: +7 -2 lines
Diff to previous 1.208 (colored)

Grr. Add a couple more #ifdef MULTIPROCESSOR.

Revision 1.208 / (download) - annotate - [select for diffs], Wed Aug 29 23:38:04 2007 UTC (16 years, 2 months ago) by ad
Branch: MAIN
Changes since 1.207: +799 -885 lines
Diff to previous 1.207 (colored)

Merge most x86 changes from the vmlocking branch, except the threaded soft
interrupt stuff. This is mostly comprised of changes to the pmap modules to
work on multiprocessor systems without kernel_lock, and changes to speed up
tlb shootdowns.

Revision 1.202.2.22 / (download) - annotate - [select for diffs], Tue Aug 28 12:03:58 2007 UTC (16 years, 3 months ago) by yamt
Branch: vmlocking
Changes since 1.202.2.21: +3 -8 lines
Diff to previous 1.202.2.21 (colored)

remove a TRYLOCK which is no longer necessary.

Revision 1.202.2.21 / (download) - annotate - [select for diffs], Tue Aug 28 11:59:51 2007 UTC (16 years, 3 months ago) by yamt
Branch: vmlocking
Changes since 1.202.2.20: +8 -8 lines
Diff to previous 1.202.2.20 (colored)

fix a use-after-free.

Revision 1.202.2.20 / (download) - annotate - [select for diffs], Sun Aug 26 07:07:31 2007 UTC (16 years, 3 months ago) by yamt
Branch: vmlocking
Changes since 1.202.2.19: +2 -4 lines
Diff to previous 1.202.2.19 (colored)

revert a debug printf which slipped in mistakenly.

Revision 1.202.2.19 / (download) - annotate - [select for diffs], Thu Aug 23 17:11:05 2007 UTC (16 years, 3 months ago) by ad
Branch: vmlocking
Changes since 1.202.2.18: +10 -11 lines
Diff to previous 1.202.2.18 (colored)

- pmap_write_protect: test the PTE after modification when deciding whether
  or not to invalidate the page.
- Cosmetic changes.

Revision 1.202.2.18 / (download) - annotate - [select for diffs], Thu Aug 23 12:10:14 2007 UTC (16 years, 3 months ago) by ad
Branch: vmlocking
Changes since 1.202.2.17: +6 -8 lines
Diff to previous 1.202.2.17 (colored)

pmap_remove_ptes: always shoot down the PTE if the refcnt drops to zero.
Preserves old behaviour.

Revision 1.202.2.17 / (download) - annotate - [select for diffs], Tue Aug 21 13:06:53 2007 UTC (16 years, 3 months ago) by ad
Branch: vmlocking
Changes since 1.202.2.16: +9 -7 lines
Diff to previous 1.202.2.16 (colored)

pmap_enter: if allocating a pv fails, don't complain unless it's really
needed.

Revision 1.202.2.16 / (download) - annotate - [select for diffs], Tue Aug 21 10:41:31 2007 UTC (16 years, 3 months ago) by ad
Branch: vmlocking
Changes since 1.202.2.15: +4 -4 lines
Diff to previous 1.202.2.15 (colored)

Fix pastos.

Revision 1.202.2.15 / (download) - annotate - [select for diffs], Tue Aug 21 10:36:51 2007 UTC (16 years, 3 months ago) by ad
Branch: vmlocking
Changes since 1.202.2.14: +70 -28 lines
Diff to previous 1.202.2.14 (colored)

- Add ci_cpumask and use in preference to (1 << ci_cpuid). Some processors
  are bad at shifting by non-constant amounts.
- pmap_tlb_shootdown() must be called with preemption disabled.
- Defer waiting for tlb shootdown to complete after kenter_pa()/kremove().
  Spin in pmap_update() and in pmap_detactivate(), in case the LWP has been
  preempted
- When preparing to send a multicast shootdown IPI, avoid scanning the list
  of CPUs if the pmap's bitmask indicates that it's only active locally.

Revision 1.202.2.14 / (download) - annotate - [select for diffs], Sat Aug 18 06:04:11 2007 UTC (16 years, 3 months ago) by yamt
Branch: vmlocking
Changes since 1.202.2.13: +25 -7 lines
Diff to previous 1.202.2.13 (colored)

- fix TLB problems in recursive PTE mappings, which causes various crashes.
 as they are used by the kernel itself, they need to be synced regardless
 of lazy tlb flushing mode.

- pmap_tlb_shootdown: fix the case of sva != -1 && eva == 0.

ok'ed by Andrew Doran.

Revision 1.202.2.13 / (download) - annotate - [select for diffs], Sat Aug 18 05:59:33 2007 UTC (16 years, 3 months ago) by yamt
Branch: vmlocking
Changes since 1.202.2.12: +14 -3 lines
Diff to previous 1.202.2.12 (colored)

- pmap_map_ptes: be more careful about blocking.  don't leave *APDP_PDE
 modified in the case of retry.
- pmap_unmap_ptes: add an assertion.

Revision 1.202.2.12 / (download) - annotate - [select for diffs], Sat Aug 18 05:56:04 2007 UTC (16 years, 3 months ago) by yamt
Branch: vmlocking
Changes since 1.202.2.11: +3 -4 lines
Diff to previous 1.202.2.11 (colored)

pmap_load: correct an assertion in the case of "goto retry".
ok'ed by Andrew Doran.

Revision 1.202.2.11 / (download) - annotate - [select for diffs], Sat Aug 18 05:50:59 2007 UTC (16 years, 3 months ago) by yamt
Branch: vmlocking
Changes since 1.202.2.10: +3 -3 lines
Diff to previous 1.202.2.10 (colored)

pmap_collect: don't try to collect recursive PTE mapping.

Revision 1.202.2.10 / (download) - annotate - [select for diffs], Sat Aug 18 05:47:38 2007 UTC (16 years, 3 months ago) by yamt
Branch: vmlocking
Changes since 1.202.2.9: +16 -2 lines
Diff to previous 1.202.2.9 (colored)

add assertions.  ok'ed by Andrew Doran.

Revision 1.202.2.9 / (download) - annotate - [select for diffs], Sun Jul 29 10:18:49 2007 UTC (16 years, 4 months ago) by ad
Branch: vmlocking
Changes since 1.202.2.8: +301 -546 lines
Diff to previous 1.202.2.8 (colored)

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

Revision 1.203.2.1 / (download) - annotate - [select for diffs], Wed Jul 11 20:00:01 2007 UTC (16 years, 4 months ago) by mjf
Branch: mjf-ufs-trans
Changes since 1.203: +105 -169 lines
Diff to previous 1.203 (colored) next main 1.204 (colored)

Sync with head.

Revision 1.205.2.2 / (download) - annotate - [select for diffs], Tue Jun 26 18:12:42 2007 UTC (16 years, 5 months ago) by garbled
Branch: ppcoea-renovation
Changes since 1.205.2.1: +59 -142 lines
Diff to previous 1.205.2.1 (colored) to branchpoint 1.205 (colored)

Sync with HEAD.

Revision 1.202.2.8 / (download) - annotate - [select for diffs], Sat Jun 9 23:55:12 2007 UTC (16 years, 5 months ago) by ad
Branch: vmlocking
Changes since 1.202.2.7: +60 -147 lines
Diff to previous 1.202.2.7 (colored)

Sync with head.

Revision 1.207 / (download) - annotate - [select for diffs], Tue Jun 5 00:12:54 2007 UTC (16 years, 5 months ago) by xtraeme
Branch: MAIN
CVS Tags: nick-csl-alignment-base3, nick-csl-alignment-base2, nick-csl-alignment-base, mjf-ufs-trans-base, matt-mips64-base, matt-mips64, matt-armv6-base, hpcarm-cleanup
Branch point for: nick-csl-alignment, matt-armv6, jmcneill-pm
Changes since 1.206: +59 -142 lines
Diff to previous 1.206 (colored)

By popular demand, ANSIfy to be able to diff easily with amd64.

Revision 1.202.2.7 / (download) - annotate - [select for diffs], Sun May 27 12:27:31 2007 UTC (16 years, 6 months ago) by ad
Branch: vmlocking
Changes since 1.202.2.6: +58 -35 lines
Diff to previous 1.202.2.6 (colored)

Sync with head.

Revision 1.205.2.1 / (download) - annotate - [select for diffs], Tue May 22 17:26:59 2007 UTC (16 years, 6 months ago) by matt
Branch: ppcoea-renovation
Changes since 1.205: +9 -21 lines
Diff to previous 1.205 (colored)

Update to HEAD.

Revision 1.206 / (download) - annotate - [select for diffs], Thu May 17 14:51:21 2007 UTC (16 years, 6 months ago) by yamt
Branch: MAIN
Changes since 1.205: +9 -21 lines
Diff to previous 1.205 (colored)

merge yamt-idlelwp branch.  asked by core@.  some ports still needs work.

from doc/BRANCHES:

	idle lwp, and some changes depending on it.

	1. separate context switching and thread scheduling.
	   (cf. gmcgarry_ctxsw)
	2. implement idle lwp.
	3. clean up related MD/MI interfaces.
	4. make scheduler(s) modular.

Revision 1.196.2.6 / (download) - annotate - [select for diffs], Mon May 7 10:54:57 2007 UTC (16 years, 6 months ago) by yamt
Branch: yamt-idlelwp
Changes since 1.196.2.5: +41 -10 lines
Diff to previous 1.196.2.5 (colored) to branchpoint 1.196 (colored) next main 1.197 (colored)

sync with head.

Revision 1.202.2.6 / (download) - annotate - [select for diffs], Sun Apr 29 15:50:23 2007 UTC (16 years, 7 months ago) by ad
Branch: vmlocking
Changes since 1.202.2.5: +28 -39 lines
Diff to previous 1.202.2.5 (colored)

The pv cache locks no longer need to be spinlocks.

Revision 1.202.2.5 / (download) - annotate - [select for diffs], Sun Apr 29 14:25:37 2007 UTC (16 years, 7 months ago) by ad
Branch: vmlocking
Changes since 1.202.2.4: +34 -30 lines
Diff to previous 1.202.2.4 (colored)

- Fix error in previous.
- Defer freeing pvs until all other locks are released.

Revision 1.202.2.4 / (download) - annotate - [select for diffs], Sat Apr 28 21:05:52 2007 UTC (16 years, 7 months ago) by ad
Branch: vmlocking
Changes since 1.202.2.3: +243 -225 lines
Diff to previous 1.202.2.3 (colored)

- Make the PV cache per-CPU and eliminate the global pvalloc_lock. Cuts
  contention on the freelist locks by a factor of ~50 on a dual core box.
- Mirror a patch for amd64 posted by oster@, and make the TLB shootdown
  freelist per-CPU. Increase the number of TLB shootdown jobs from 16
  to 32 per CPU.

Revision 1.196.2.5 / (download) - annotate - [select for diffs], Wed Apr 25 05:52:41 2007 UTC (16 years, 7 months ago) by skrll
Branch: yamt-idlelwp
Changes since 1.196.2.4: +2 -3 lines
Diff to previous 1.196.2.4 (colored) to branchpoint 1.196 (colored)

Correct a comment.

Revision 1.203.6.1 / (download) - annotate - [select for diffs], Wed Apr 18 04:45:12 2007 UTC (16 years, 7 months ago) by thorpej
Branch: thorpej-atomic
Changes since 1.203: +25 -29 lines
Diff to previous 1.203 (colored) next main 1.204 (colored)

Convert i386 and amd64 to the new atomic ops API.

Revision 1.205 / (download) - annotate - [select for diffs], Mon Apr 16 19:12:18 2007 UTC (16 years, 7 months ago) by ad
Branch: MAIN
CVS Tags: yamt-idlelwp-base8
Branch point for: ppcoea-renovation
Changes since 1.204: +6 -3 lines
Diff to previous 1.204 (colored)

Share the sysarch stuff between the x86 ports. PR kern/36046.

Revision 1.204 / (download) - annotate - [select for diffs], Mon Apr 16 17:24:19 2007 UTC (16 years, 7 months ago) by ad
Branch: MAIN
Changes since 1.203: +38 -10 lines
Diff to previous 1.203 (colored)

Fix crappy locking around LDT updates. i386 part of PR kern/36046.

Revision 1.202.2.3 / (download) - annotate - [select for diffs], Thu Apr 5 21:53:36 2007 UTC (16 years, 7 months ago) by ad
Branch: vmlocking
Changes since 1.202.2.2: +112 -97 lines
Diff to previous 1.202.2.2 (colored)

Fix the pmap locking.

Revision 1.196.2.4 / (download) - annotate - [select for diffs], Sat Mar 24 14:54:46 2007 UTC (16 years, 8 months ago) by yamt
Branch: yamt-idlelwp
Changes since 1.196.2.3: +5 -5 lines
Diff to previous 1.196.2.3 (colored) to branchpoint 1.196 (colored)

sync with head.

Revision 1.202.2.2 / (download) - annotate - [select for diffs], Tue Mar 13 17:50:23 2007 UTC (16 years, 8 months ago) by ad
Branch: vmlocking
Changes since 1.202.2.1: +205 -162 lines
Diff to previous 1.202.2.1 (colored)

Pull in the initial set of changes for the vmlocking branch.

Revision 1.202.2.1 / (download) - annotate - [select for diffs], Tue Mar 13 16:49:59 2007 UTC (16 years, 8 months ago) by ad
Branch: vmlocking
Changes since 1.202: +5 -5 lines
Diff to previous 1.202 (colored)

Sync with head.

Revision 1.203 / (download) - annotate - [select for diffs], Mon Mar 12 18:18:25 2007 UTC (16 years, 8 months ago) by ad
Branch: MAIN
CVS Tags: thorpej-atomic-base, reinoud-bufcleanup
Branch point for: thorpej-atomic, mjf-ufs-trans
Changes since 1.202: +5 -5 lines
Diff to previous 1.202 (colored)

Pass an ipl argument to pool_init/POOL_INIT to be used when initializing
the pool's lock.

Revision 1.196.2.3 / (download) - annotate - [select for diffs], Mon Mar 12 05:48:23 2007 UTC (16 years, 8 months ago) by rmind
Branch: yamt-idlelwp
Changes since 1.196.2.2: +43 -43 lines
Diff to previous 1.196.2.2 (colored) to branchpoint 1.196 (colored)

Sync with HEAD.

Revision 1.202 / (download) - annotate - [select for diffs], Wed Mar 7 21:43:45 2007 UTC (16 years, 8 months ago) by thorpej
Branch: MAIN
Branch point for: vmlocking
Changes since 1.201: +28 -28 lines
Diff to previous 1.201 (colored)

TRUE -> true, FALSE -> false

Revision 1.201 / (download) - annotate - [select for diffs], Sun Mar 4 18:00:28 2007 UTC (16 years, 8 months ago) by ad
Branch: MAIN
Changes since 1.200: +15 -17 lines
Diff to previous 1.200 (colored)

Back out 1.199. It may be causing problems even on UP systems.

Revision 1.200 / (download) - annotate - [select for diffs], Sun Mar 4 05:59:57 2007 UTC (16 years, 8 months ago) by christos
Branch: MAIN
Changes since 1.199: +17 -17 lines
Diff to previous 1.199 (colored)

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

Revision 1.199 / (download) - annotate - [select for diffs], Fri Mar 2 17:10:58 2007 UTC (16 years, 8 months ago) by ad
Branch: MAIN
Changes since 1.198: +17 -15 lines
Diff to previous 1.198 (colored)

pmap_reference, pmap_destroy: update the pmap reference count using
_lock_cas. This is ugly and needs to be redone when atomic ops are
available, but for now it knocks about 5% contention off the kernel
lock in one test that I have done.

Revision 1.196.2.2 / (download) - annotate - [select for diffs], Tue Feb 27 16:51:42 2007 UTC (16 years, 9 months ago) by yamt
Branch: yamt-idlelwp
Changes since 1.196.2.1: +25 -25 lines
Diff to previous 1.196.2.1 (colored) to branchpoint 1.196 (colored)

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

Revision 1.183.2.3 / (download) - annotate - [select for diffs], Mon Feb 26 09:06:57 2007 UTC (16 years, 9 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.183.2.2: +29 -35 lines
Diff to previous 1.183.2.2 (colored)

sync with head.

Revision 1.198 / (download) - annotate - [select for diffs], Wed Feb 21 22:59:44 2007 UTC (16 years, 9 months ago) by thorpej
Branch: MAIN
CVS Tags: ad-audiomp-base, ad-audiomp
Changes since 1.197: +23 -23 lines
Diff to previous 1.197 (colored)

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.197 / (download) - annotate - [select for diffs], Sun Feb 18 15:51:54 2007 UTC (16 years, 9 months ago) by dsl
Branch: MAIN
Changes since 1.196: +4 -4 lines
Diff to previous 1.196 (colored)

There is no point acquiring locks if we don't do anything.

Revision 1.196.2.1 / (download) - annotate - [select for diffs], Sat Feb 17 10:30:47 2007 UTC (16 years, 9 months ago) by yamt
Branch: yamt-idlelwp
Changes since 1.196: +9 -20 lines
Diff to previous 1.196 (colored)

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

Revision 1.196 / (download) - annotate - [select for diffs], Fri Feb 9 21:55:04 2007 UTC (16 years, 9 months ago) by ad
Branch: MAIN
CVS Tags: post-newlock2-merge
Branch point for: yamt-idlelwp
Changes since 1.195: +6 -6 lines
Diff to previous 1.195 (colored)

Merge newlock2 to head.

Revision 1.194.2.1 / (download) - annotate - [select for diffs], Wed Feb 7 12:51:44 2007 UTC (16 years, 9 months ago) by tron
Branch: 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
Changes since 1.194: +2 -8 lines
Diff to previous 1.194 (colored) next main 1.195 (colored)

Pull up following revision(s) (requested by pavel in ticket #397):
	sys/arch/i386/i386/machdep.c: revision 1.589
	sys/arch/i386/i386/pmap.c: revision 1.195
PR port-i386/34186 by Wolfgang Stukenbrock:
mapping of msgbuf during startup may map invalid physical adresses
"If the last available physical memory segment on a system is less 16k,
than the startup code that will map the kernel message buffer, will fail
and map physical pages behind the last segment.  This may either only lead
to a message buffer without physical memory behind it, or to an
overlapping message buffer with something else."
Fix by allowing multiple physical memory segments to be used for msgbuf.
Also remove some leftover msgbuf manipulation from pmap.c.
Fix supplied by Wolfgang Stukenbrock in the PR, with some modifications
from me, mainly to use the already existing constant VM_PHYSSEG_MAX as the
static limit of number of msgbuf segments.

Revision 1.192.8.4 / (download) - annotate - [select for diffs], Fri Jan 12 01:00:50 2007 UTC (16 years, 10 months ago) by ad
Branch: newlock2
Changes since 1.192.8.3: +2 -8 lines
Diff to previous 1.192.8.3 (colored) to branchpoint 1.192 (colored) next main 1.193 (colored)

Sync with head.

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

Checkpoint work in progress.

Revision 1.195 / (download) - annotate - [select for diffs], Sat Jan 6 15:29:02 2007 UTC (16 years, 10 months ago) by pavel
Branch: MAIN
CVS Tags: newlock2-nbase, newlock2-base
Changes since 1.194: +2 -8 lines
Diff to previous 1.194 (colored)

PR port-i386/34186 by Wolfgang Stukenbrock:
mapping of msgbuf during startup may map invalid physical adresses

"If the last available physical memory segment on a system is less 16k,
than the startup code that will map the kernel message buffer, will fail
and map physical pages behind the last segment.  This may either only lead
to a message buffer without physical memory behind it, or to an
overlapping message buffer with something else."

Fix by allowing multiple physical memory segments to be used for msgbuf.
Also remove some leftover msgbuf manipulation from pmap.c.

Fix supplied by Wolfgang Stukenbrock in the PR, with some modifications
from me, mainly to use the already existing constant VM_PHYSSEG_MAX as the
static limit of number of msgbuf segments.

Revision 1.183.2.2 / (download) - annotate - [select for diffs], Sat Dec 30 20:46:10 2006 UTC (16 years, 10 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.183.2.1: +5 -9 lines
Diff to previous 1.183.2.1 (colored)

sync with head.

Revision 1.192.10.2 / (download) - annotate - [select for diffs], Sun Dec 10 07:16:10 2006 UTC (16 years, 11 months ago) by yamt
Branch: yamt-splraiseipl
Changes since 1.192.10.1: +6 -6 lines
Diff to previous 1.192.10.1 (colored) to branchpoint 1.192 (colored) next main 1.193 (colored)

sync with head.

Revision 1.192.8.2 / (download) - annotate - [select for diffs], Sat Nov 18 21:29:19 2006 UTC (17 years ago) by ad
Branch: newlock2
Changes since 1.192.8.1: +5 -9 lines
Diff to previous 1.192.8.1 (colored) to branchpoint 1.192 (colored)

Sync with head.

Revision 1.192.8.1 / (download) - annotate - [select for diffs], Fri Nov 17 16:34:32 2006 UTC (17 years ago) by ad
Branch: newlock2
Changes since 1.192: +6 -6 lines
Diff to previous 1.192 (colored)

Checkpoint work in progress.

Revision 1.194 / (download) - annotate - [select for diffs], Thu Nov 16 01:32:38 2006 UTC (17 years ago) by christos
Branch: MAIN
CVS Tags: yamt-splraiseipl-base5, yamt-splraiseipl-base4, yamt-splraiseipl-base3, netbsd-4-base
Branch point for: netbsd-4
Changes since 1.193: +6 -6 lines
Diff to previous 1.193 (colored)

__unused removal on arguments; approved by core.

Revision 1.192.10.1 / (download) - annotate - [select for diffs], Sun Oct 22 06:04:44 2006 UTC (17 years, 1 month ago) by yamt
Branch: yamt-splraiseipl
Changes since 1.192: +7 -11 lines
Diff to previous 1.192 (colored)

sync with head

Revision 1.193 / (download) - annotate - [select for diffs], Thu Oct 12 01:30:42 2006 UTC (17 years, 1 month ago) by christos
Branch: MAIN
CVS Tags: yamt-splraiseipl-base2
Changes since 1.192: +7 -11 lines
Diff to previous 1.192 (colored)

- sprinkle __unused on function decls.
- fix a couple of unused bugs
- no more -Wno-unused for i386

Revision 1.188.4.1 / (download) - annotate - [select for diffs], Sat Sep 9 02:40:07 2006 UTC (17 years, 2 months ago) by rpaulo
Branch: rpaulo-netinet-merge-pcb
Changes since 1.188: +3 -90 lines
Diff to previous 1.188 (colored) next main 1.189 (colored)

sync with head

Revision 1.183.2.1 / (download) - annotate - [select for diffs], Wed Jun 21 14:52:19 2006 UTC (17 years, 5 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.183: +30 -131 lines
Diff to previous 1.183 (colored)

sync with head.

Revision 1.188.6.2 / (download) - annotate - [select for diffs], Thu Jun 1 22:34:51 2006 UTC (17 years, 5 months ago) by kardel
Branch: simonb-timecounters
CVS Tags: simonb-timcounters-final
Changes since 1.188.6.1: +3 -90 lines
Diff to previous 1.188.6.1 (colored) to branchpoint 1.188 (colored) next main 1.189 (colored)

Sync with head.

Revision 1.190.2.1 / (download) - annotate - [select for diffs], Wed May 24 15:47:58 2006 UTC (17 years, 6 months ago) by tron
Branch: peter-altq
Changes since 1.190: +3 -90 lines
Diff to previous 1.190 (colored) next main 1.191 (colored)

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

Revision 1.188.8.1 / (download) - annotate - [select for diffs], Wed May 24 10:56:51 2006 UTC (17 years, 6 months ago) by yamt
Branch: yamt-pdpolicy
Changes since 1.188: +3 -90 lines
Diff to previous 1.188 (colored) next main 1.189 (colored)

sync with head.

Revision 1.192 / (download) - annotate - [select for diffs], Mon May 15 12:47:42 2006 UTC (17 years, 6 months ago) by dogcow
Branch: MAIN
CVS Tags: yamt-splraiseipl-base, yamt-pdpolicy-base9, yamt-pdpolicy-base8, yamt-pdpolicy-base7, yamt-pdpolicy-base6, yamt-pdpolicy-base5, simonb-timecounters-base, rpaulo-netinet-merge-pcb-base, gdamore-uart-base, gdamore-uart, chap-midi-nbase, chap-midi-base, chap-midi, abandoned-netbsd-4-base, abandoned-netbsd-4
Branch point for: yamt-splraiseipl, newlock2
Changes since 1.191: +2 -89 lines
Diff to previous 1.191 (colored)

remove bitrotted functions that have never been used, and have been
cargo-culted from one port to another.

Revision 1.191 / (download) - annotate - [select for diffs], Sun May 14 05:30:31 2006 UTC (17 years, 6 months ago) by christos
Branch: MAIN
Changes since 1.190: +3 -3 lines
Diff to previous 1.190 (colored)

XXX: GCC uninitialized.

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

Sync with head.

Revision 1.188.10.1 / (download) - annotate - [select for diffs], Wed Apr 19 02:32:45 2006 UTC (17 years, 7 months ago) by elad
Branch: elad-kernelauth
Changes since 1.188: +2 -2 lines
Diff to previous 1.188 (colored) next main 1.189 (colored)

sync with head - hopefully this will work

Revision 1.190 / (download) - annotate - [select for diffs], Thu Mar 16 10:13:55 2006 UTC (17 years, 8 months ago) by drochner
Branch: MAIN
CVS Tags: yamt-pdpolicy-base4, yamt-pdpolicy-base3, peter-altq-base, elad-kernelauth-base
Branch point for: peter-altq
Changes since 1.189: +13 -11 lines
Diff to previous 1.189 (colored)

revert accidental commit of local changes, pointed out by
Geoff Wing and Tom Spindler

Revision 1.189 / (download) - annotate - [select for diffs], Wed Mar 15 18:12:02 2006 UTC (17 years, 8 months ago) by drochner
Branch: MAIN
Changes since 1.188: +13 -15 lines
Diff to previous 1.188 (colored)

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

Revision 1.188 / (download) - annotate - [select for diffs], Mon Dec 26 19:23:59 2005 UTC (17 years, 11 months ago) by perry
Branch: MAIN
CVS Tags: yamt-uio_vmspace-base5, yamt-uio_vmspace, yamt-pdpolicy-base2, yamt-pdpolicy-base
Branch point for: yamt-pdpolicy, simonb-timecounters, rpaulo-netinet-merge-pcb, elad-kernelauth
Changes since 1.187: +8 -8 lines
Diff to previous 1.187 (colored)

u_intN_t -> uintN_t

Revision 1.187 / (download) - annotate - [select for diffs], Sat Dec 24 20:07:10 2005 UTC (17 years, 11 months ago) by perry
Branch: MAIN
Changes since 1.186: +24 -24 lines
Diff to previous 1.186 (colored)

Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.

Revision 1.186 / (download) - annotate - [select for diffs], Sun Dec 11 12:17:41 2005 UTC (17 years, 11 months ago) by christos
Branch: MAIN
Changes since 1.185: +2 -2 lines
Diff to previous 1.185 (colored)

merge ktrace-lwp.

Revision 1.155.2.8 / (download) - annotate - [select for diffs], Thu Nov 10 13:56:47 2005 UTC (18 years ago) by skrll
Branch: ktrace-lwp
Changes since 1.155.2.7: +5 -21 lines
Diff to previous 1.155.2.7 (colored) next main 1.156 (colored)

Sync with HEAD. Here we go again...

Revision 1.181.2.2 / (download) - annotate - [select for diffs], Mon Sep 26 20:24:52 2005 UTC (18 years, 2 months ago) by tron
Branch: 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-0-RELEASE, netbsd-3-0-RC6, netbsd-3-0-RC5, netbsd-3-0-RC4, netbsd-3-0-RC3, netbsd-3-0-RC2, netbsd-3-0-RC1, netbsd-3-0-3-RELEASE, netbsd-3-0-2-RELEASE, netbsd-3-0-1-RELEASE
Branch point for: netbsd-3-1, netbsd-3-0
Changes since 1.181.2.1: +0 -16 lines
Diff to previous 1.181.2.1 (colored) to branchpoint 1.181 (colored)

Pull up following revision(s) (requested by chs in ticket #813):
	sys/arch/xen/i386/pmap.c: revision 1.15
	sys/arch/i386/i386/pmap.c: revision 1.185
remove the part of rev. 1.168 that skips TLB invalidations in pmap_enter().
it's wrong for wired mappings.  fixes PR 29804.

Revision 1.185 / (download) - annotate - [select for diffs], Sun Sep 11 14:30:31 2005 UTC (18 years, 2 months ago) by chs
Branch: MAIN
CVS Tags: yamt-vop-base3, yamt-vop-base2, yamt-vop-base, yamt-vop, yamt-readahead-pervnode, yamt-readahead-perfile, yamt-readahead-base3, yamt-readahead-base2, yamt-readahead-base, yamt-readahead, thorpej-vnode-attr-base, thorpej-vnode-attr, ktrace-lwp-base
Changes since 1.184: +2 -18 lines
Diff to previous 1.184 (colored)

remove the part of rev. 1.168 that skips TLB invalidations in pmap_enter().
it's wrong for wired mappings.  fixes PR 29804.

Revision 1.171.2.1.2.2 / (download) - annotate - [select for diffs], Wed Aug 24 04:08:09 2005 UTC (18 years, 3 months ago) by riz
Branch: netbsd-2
CVS Tags: netbsd-2-1-RELEASE, netbsd-2-1-RC6, netbsd-2-1-RC5, netbsd-2-1-RC4, netbsd-2-1-RC3, netbsd-2-1-RC2, netbsd-2-1-RC1, netbsd-2-1
Changes since 1.171.2.1.2.1: +5 -3 lines
Diff to previous 1.171.2.1.2.1 (colored) to branchpoint 1.171.2.1 (colored) next main 1.171.2.2 (colored)

Pull up following revision(s) (requested by yamt in ticket #5611):
	sys/arch/i386/i386/pmap.c: revision 1.184
pmap_enter: fix an uninitialized variable bug which can cause
"TLB IPI rendezvous failed".

Revision 1.181.2.1 / (download) - annotate - [select for diffs], Sun Aug 21 22:07:41 2005 UTC (18 years, 3 months ago) by tron
Branch: netbsd-3
Changes since 1.181: +5 -3 lines
Diff to previous 1.181 (colored)

Pull up revision 1.184 (requested by yamt in ticket #680):
pmap_enter: fix an uninitialized variable bug which can cause
"TLB IPI rendezvous failed".

Revision 1.184 / (download) - annotate - [select for diffs], Fri Aug 12 10:04:24 2005 UTC (18 years, 3 months ago) by yamt
Branch: MAIN
Changes since 1.183: +5 -3 lines
Diff to previous 1.183 (colored)

pmap_enter: fix an uninitialized variable bug which can cause
"TLB IPI rendezvous failed".

Revision 1.171.2.1.2.1 / (download) - annotate - [select for diffs], Wed Jun 8 11:29:43 2005 UTC (18 years, 5 months ago) by tron
Branch: netbsd-2
Changes since 1.171.2.1: +7 -0 lines
Diff to previous 1.171.2.1 (colored)

Pull up revision 1.181 (requested by chs in ticket #1979):
Preload the referenced and modified bits when entering a page due to a fault.

Revision 1.171.2.2 / (download) - annotate - [select for diffs], Wed Jun 8 11:29:40 2005 UTC (18 years, 5 months ago) by tron
Branch: netbsd-2-0
CVS Tags: netbsd-2-0-3-RELEASE
Changes since 1.171.2.1: +7 -0 lines
Diff to previous 1.171.2.1 (colored) to branchpoint 1.171 (colored) next main 1.172 (colored)

Pull up revision 1.181 (requested by chs in ticket #1979):
Preload the referenced and modified bits when entering a page due to a fault.

Revision 1.183 / (download) - annotate - [select for diffs], Sun May 29 15:58:33 2005 UTC (18 years, 6 months ago) by chs
Branch: MAIN
Branch point for: yamt-lazymbuf
Changes since 1.182: +2 -4 lines
Diff to previous 1.182 (colored)

remove "#if 1" around some necessary code.

Revision 1.180.2.1 / (download) - annotate - [select for diffs], Fri Apr 29 11:28:12 2005 UTC (18 years, 7 months ago) by kent
Branch: kent-audio2
Changes since 1.180: +30 -85 lines
Diff to previous 1.180 (colored) next main 1.181 (colored)

sync with -current

Revision 1.155.2.7 / (download) - annotate - [select for diffs], Fri Apr 1 14:27:39 2005 UTC (18 years, 7 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.155.2.6: +23 -85 lines
Diff to previous 1.155.2.6 (colored)

Sync with HEAD.

Revision 1.182 / (download) - annotate - [select for diffs], Fri Apr 1 11:59:31 2005 UTC (18 years, 7 months ago) by yamt
Branch: MAIN
CVS Tags: kent-audio2-base
Changes since 1.181: +23 -85 lines
Diff to previous 1.181 (colored)

merge yamt-km branch.
- don't use managed mappings/backing objects for wired memory allocations.
  save some resources like pv_entry.  also fix (most of) PR/27030.
- simplify kernel memory management API.
- simplify pmap bootstrap of some ports.
- some related cleanups.

Revision 1.180.4.3 / (download) - annotate - [select for diffs], Sat Mar 19 08:33:02 2005 UTC (18 years, 8 months ago) by yamt
Branch: yamt-km
Changes since 1.180.4.2: +9 -2 lines
Diff to previous 1.180.4.2 (colored) to branchpoint 1.180 (colored) next main 1.181 (colored)

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

Revision 1.155.2.6 / (download) - annotate - [select for diffs], Fri Mar 4 16:38:39 2005 UTC (18 years, 8 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.155.2.5: +9 -2 lines
Diff to previous 1.155.2.5 (colored)

Sync with HEAD.

Hi Perry!

Revision 1.181 / (download) - annotate - [select for diffs], Fri Mar 4 06:26:58 2005 UTC (18 years, 8 months ago) by mycroft
Branch: MAIN
CVS Tags: yamt-km-base4, yamt-km-base3, netbsd-3-base
Branch point for: netbsd-3
Changes since 1.180: +9 -2 lines
Diff to previous 1.180 (colored)

Preload the referenced and modified bits when entering a page due to a fault.

Revision 1.180.4.2 / (download) - annotate - [select for diffs], Wed Jan 26 09:20:45 2005 UTC (18 years, 10 months ago) by yamt
Branch: yamt-km
Changes since 1.180.4.1: +18 -57 lines
Diff to previous 1.180.4.1 (colored) to branchpoint 1.180 (colored)

- simplify pvpage allocation.
- assert that pmap_enter is never called before pmap_init.

Revision 1.180.4.1 / (download) - annotate - [select for diffs], Tue Jan 25 13:01:08 2005 UTC (18 years, 10 months ago) by yamt
Branch: yamt-km
Changes since 1.180: +11 -34 lines
Diff to previous 1.180 (colored)

- convert i386 to new apis.
- remove a pmap bootstrap kludge, which is no longer needed.

Revision 1.155.2.5 / (download) - annotate - [select for diffs], Mon Jan 17 19:29:29 2005 UTC (18 years, 10 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.155.2.4: +3 -3 lines
Diff to previous 1.155.2.4 (colored)

Sync with HEAD.

Revision 1.180 / (download) - annotate - [select for diffs], Sat Jan 1 21:00:06 2005 UTC (18 years, 10 months ago) by yamt
Branch: MAIN
CVS Tags: yamt-km-base2, yamt-km-base, kent-audio1-beforemerge
Branch point for: yamt-km, kent-audio2
Changes since 1.179: +3 -3 lines
Diff to previous 1.179 (colored)

for in-kernel maps,
- allocate kva for vm_map_entry from the map itsself and
  remove the static limit, MAX_KMAPENT.
- keep merged entries for later splitting to fix allocate-to-free problem.
  PR/24039.

Revision 1.155.2.4 / (download) - annotate - [select for diffs], Tue Oct 19 15:56:36 2004 UTC (19 years, 1 month ago) by skrll
Branch: ktrace-lwp
Changes since 1.155.2.3: +39 -24 lines
Diff to previous 1.155.2.3 (colored)

Sync with HEAD

Revision 1.179 / (download) - annotate - [select for diffs], Sun Oct 10 09:55:24 2004 UTC (19 years, 1 month ago) by yamt
Branch: MAIN
CVS Tags: kent-audio1-base, kent-audio1
Changes since 1.178: +21 -5 lines
Diff to previous 1.178 (colored)

pmap_pageidlezero: use sse2 non-temporal store insn if available
to avoid undesired cache pollution.

Revision 1.178 / (download) - annotate - [select for diffs], Sun Oct 10 09:54:46 2004 UTC (19 years, 1 month ago) by yamt
Branch: MAIN
Changes since 1.177: +3 -3 lines
Diff to previous 1.177 (colored)

pmap_pageidlezero: update a function name in a panic message.

Revision 1.177 / (download) - annotate - [select for diffs], Sun Oct 10 09:53:59 2004 UTC (19 years, 1 month ago) by yamt
Branch: MAIN
Changes since 1.176: +2 -4 lines
Diff to previous 1.176 (colored)

remove a stale comment.

Revision 1.176 / (download) - annotate - [select for diffs], Sun Oct 10 09:53:23 2004 UTC (19 years, 1 month ago) by yamt
Branch: MAIN
Changes since 1.175: +6 -6 lines
Diff to previous 1.175 (colored)

pmap_zero_page, pmap_copy_page, pmap_pageidlezero:
preset PG_M and PG_U where appropriate to eliminate pte writebacks.
from freebsd.

Revision 1.175 / (download) - annotate - [select for diffs], Sun Oct 10 09:52:29 2004 UTC (19 years, 1 month ago) by yamt
Branch: MAIN
Changes since 1.174: +15 -14 lines
Diff to previous 1.174 (colored)

pmap_enter, pmap_clear_attrs: minor optimizations.

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

Fix the sync with head I botched.

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

Sync with HEAD.

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

Sync with HEAD

Revision 1.174 / (download) - annotate - [select for diffs], Mon Jul 5 11:19:46 2004 UTC (19 years, 4 months ago) by yamt
Branch: MAIN
Changes since 1.173: +23 -5 lines
Diff to previous 1.173 (colored)

for uniprocessor, splvm() is enough to protect tlb flush queue.

Revision 1.173 / (download) - annotate - [select for diffs], Thu May 13 12:24:05 2004 UTC (19 years, 6 months ago) by yamt
Branch: MAIN
Changes since 1.172: +6 -2 lines
Diff to previous 1.172 (colored)

pmap_load: assert that being able to take ipis.

Revision 1.171.2.1 / (download) - annotate - [select for diffs], Fri Apr 16 07:58:45 2004 UTC (19 years, 7 months ago) by tron
Branch: netbsd-2-0
CVS Tags: netbsd-2-base, netbsd-2-0-RELEASE, netbsd-2-0-RC5, netbsd-2-0-RC4, netbsd-2-0-RC3, netbsd-2-0-RC2, netbsd-2-0-RC1, netbsd-2-0-2-RELEASE, netbsd-2-0-1-RELEASE
Branch point for: netbsd-2
Changes since 1.171: +20 -8 lines
Diff to previous 1.171 (colored)

Pull up revision 1.172 (requested by yamt in ticket #138):
- keep cr3 register and its copy in TSS synchronized.
  otherwise an interrupt vector using a task gate (ie. ddbipi) messes it up.
- defer LDTR loading as well as cr3.
- tweak comments to make three copies of switching code more synchronized.

Revision 1.172 / (download) - annotate - [select for diffs], Mon Apr 12 13:17:46 2004 UTC (19 years, 7 months ago) by yamt
Branch: MAIN
Changes since 1.171: +20 -8 lines
Diff to previous 1.171 (colored)

- keep cr3 register and its copy in TSS synchronized.
  otherwise an interrupt vector using a task gate (ie. ddbipi) messes it up.
- defer LDTR loading as well as cr3.
- tweak comments to make three copies of switching code more synchronized.

Revision 1.171 / (download) - annotate - [select for diffs], Fri Feb 20 17:35:01 2004 UTC (19 years, 9 months ago) by yamt
Branch: MAIN
CVS Tags: netbsd-2-0-base
Branch point for: netbsd-2-0
Changes since 1.170: +270 -41 lines
Diff to previous 1.170 (colored)

defer pmap switching until it's really needed
to avoid frequent loading of cr3 register, which involves tlb flush.

with some fixes/improvements from Stephan Uphoff and Bang Jun-Young.

Revision 1.170 / (download) - annotate - [select for diffs], Fri Feb 13 11:36:14 2004 UTC (19 years, 9 months ago) by wiz
Branch: MAIN
Changes since 1.169: +3 -3 lines
Diff to previous 1.169 (colored)

Uppercase CPU, plural is CPUs.

Revision 1.169 / (download) - annotate - [select for diffs], Wed Feb 11 12:15:12 2004 UTC (19 years, 9 months ago) by yamt
Branch: MAIN
Changes since 1.168: +3 -2 lines
Diff to previous 1.168 (colored)

pmap_create: initialize pm_cpus.

Revision 1.168 / (download) - annotate - [select for diffs], Tue Dec 30 03:55:01 2003 UTC (19 years, 11 months ago) by yamt
Branch: MAIN
Changes since 1.167: +233 -139 lines
Diff to previous 1.167 (colored)

fixes and optimizations from Stephan Uphoff.
- pmap_enter: zap PTE and read attributes atomically to
  eliminate a race window which could cause lost of attributes.
- reduce number of TLB shootdown by using some assumptions
  about PTE handling.

for more details, see "SMP improvements for pmap" thread on port-i386@
around May 2003.

Revision 1.167 / (download) - annotate - [select for diffs], Fri Dec 26 11:50:51 2003 UTC (19 years, 11 months ago) by yamt
Branch: MAIN
Changes since 1.166: +29 -5 lines
Diff to previous 1.166 (colored)

postpone freeing PTPs until TLBs are flushed
to avoid loading invalid TLB entries.  from Stephan Uphoff.

for more details,
see "i386 pmap bug" thread on port-i386@ around Feb, 2003.

Revision 1.166 / (download) - annotate - [select for diffs], Wed Dec 10 18:13:32 2003 UTC (19 years, 11 months ago) by drochner
Branch: MAIN
Changes since 1.165: +3 -2 lines
Diff to previous 1.165 (colored)

if the code segment is not enlarged, return 0 in pmap_exec_fixup
so that the trap is not retried
(fixes cases where a program traps for good reasons)

Revision 1.165 / (download) - annotate - [select for diffs], Wed Dec 10 13:59:48 2003 UTC (19 years, 11 months ago) by drochner
Branch: MAIN
Changes since 1.164: +3 -3 lines
Diff to previous 1.164 (colored)

Just checking a global marker (pm_hiexec) for the highest executable
address currently in effect does not always work: There might be more
instances of the code segment selector in other threads, on other CPUs
and in *jmp_bufs.
So always check whether the CS needs updating, if it is not already
set to the "BIG" value.
This code needs more cleanup, this is considered a stopgap fix only.

Revision 1.164 / (download) - annotate - [select for diffs], Mon Nov 3 04:02:13 2003 UTC (20 years ago) by yamt
Branch: MAIN
Changes since 1.163: +3 -46 lines
Diff to previous 1.163 (colored)

retire PG_ZERO zero-fill checks.  uvm_pagefree now check it for us.

Revision 1.163 / (download) - annotate - [select for diffs], Sat Nov 1 15:21:02 2003 UTC (20 years ago) by yamt
Branch: MAIN
Changes since 1.162: +49 -3 lines
Diff to previous 1.162 (colored)

as we know PTPs are zero-filled when being freed,
mark them PG_ZERO so that they'll be used to serve UVM_PGA_ZERO requests.

Revision 1.162 / (download) - annotate - [select for diffs], Sat Nov 1 09:07:11 2003 UTC (20 years ago) by yamt
Branch: MAIN
Changes since 1.161: +5 -10 lines
Diff to previous 1.161 (colored)

as there shouldn't be any mappings when pmap_destroy() is called,
assert there is no remaining PTPs at that point.

Revision 1.161 / (download) - annotate - [select for diffs], Mon Oct 27 14:11:47 2003 UTC (20 years, 1 month ago) by junyoung
Branch: MAIN
Changes since 1.160: +35 -37 lines
Diff to previous 1.160 (colored)

Nuke __P().

Revision 1.160 / (download) - annotate - [select for diffs], Sun Oct 26 11:09:13 2003 UTC (20 years, 1 month ago) by yamt
Branch: MAIN
Changes since 1.159: +5 -6 lines
Diff to previous 1.159 (colored)

issue PAUSE during ipi rendezvous even with DIAGNOSTIC.

Revision 1.159 / (download) - annotate - [select for diffs], Thu Oct 23 08:30:21 2003 UTC (20 years, 1 month ago) by chs
Branch: MAIN
Changes since 1.158: +12 -15 lines
Diff to previous 1.158 (colored)

rename pv_next to pv_node.  use SPLAY_RIGHT() instead of expanding it inline.

Revision 1.158 / (download) - annotate - [select for diffs], Thu Oct 23 03:03:20 2003 UTC (20 years, 1 month ago) by provos
Branch: MAIN
Changes since 1.157: +49 -33 lines
Diff to previous 1.157 (colored)

changed linked list in pmap_remove_pv to a splay tree; approved: fvdl@

Revision 1.157 / (download) - annotate - [select for diffs], Sun Aug 24 17:52:31 2003 UTC (20 years, 3 months ago) by chs
Branch: MAIN
Changes since 1.156: +72 -6 lines
Diff to previous 1.156 (colored)

add support for non-executable mappings (where the hardware allows this)
and make the stack and heap non-executable by default.  the changes
fall into two basic catagories:

 - pmap and trap-handler changes.  these are all MD:
   = alpha: we already track per-page execute permission with the (software)
	PG_EXEC bit, so just have the trap handler pay attention to it.
   = i386: use a new GDT segment for %cs for processes that have no
	executable mappings above a certain threshold (currently the
	bottom of the stack).  track per-page execute permission with
	the last unused PTE bit.
   = powerpc/ibm4xx: just use the hardware exec bit.
   = powerpc/oea: we already track per-page exec bits, but the hardware only
	implements non-exec mappings at the segment level.  so track the
	number of executable mappings in each segment and turn on the no-exec
	segment bit iff the count is 0.  adjust the trap handler to deal.
   = sparc (sun4m): fix our use of the hardware protection bits.
	fix the trap handler to recognize text faults.
   = sparc64: split the existing unified TSB into data and instruction TSBs,
	and only load TTEs into the appropriate TSB(s) for the permissions.
	fix the trap handler to check for execute permission.
   = not yet implemented: amd64, hppa, sh5

 - changes in all the emulations that put a signal trampoline on the stack.
   instead, we now put the trampoline into a uvm_aobj and map that into
   the process separately.

originally from openbsd, adapted for netbsd by me.

Revision 1.136.4.1 / (download) - annotate - [select for diffs], Wed Aug 13 13:32:58 2003 UTC (20 years, 3 months ago) by grant
Branch: netbsd-1-6
CVS Tags: 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
Changes since 1.136: +3 -3 lines
Diff to previous 1.136 (colored) next main 1.137 (colored)

Pull up revision 1.144 (requested by tls in ticket #1388):

Fix a sign extension bug that caused pmap_growkernel() to fail with >2GB KVA.
Symptom observed and verified fixed by tls.

Revision 1.156 / (download) - annotate - [select for diffs], Tue Jul 22 13:55:31 2003 UTC (20 years, 4 months ago) by yamt
Branch: MAIN
Changes since 1.155: +71 -118 lines
Diff to previous 1.155 (colored)

move pv_head and page attributes into md part of vm_page structure
instead of having separate arrays for them.
(i.e. use __HAVE_VM_PAGE_MD instead of __HAVE_PMAP_PHYSSEG.)

Revision 1.155 / (download) - annotate - [select for diffs], Mon Jun 23 11:01:20 2003 UTC (20 years, 5 months ago) by martin
Branch: MAIN
Branch point for: ktrace-lwp
Changes since 1.154: +4 -2 lines
Diff to previous 1.154 (colored)

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

Revision 1.154 / (download) - annotate - [select for diffs], Sat May 10 21:10:31 2003 UTC (20 years, 6 months ago) by thorpej
Branch: MAIN
Changes since 1.153: +28 -3 lines
Diff to previous 1.153 (colored)

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.153 / (download) - annotate - [select for diffs], Thu May 8 18:13:17 2003 UTC (20 years, 6 months ago) by thorpej
Branch: MAIN
Changes since 1.152: +5 -30 lines
Diff to previous 1.152 (colored)

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.152 / (download) - annotate - [select for diffs], Thu May 8 01:04:36 2003 UTC (20 years, 6 months ago) by fvdl
Branch: MAIN
Changes since 1.151: +3 -3 lines
Diff to previous 1.151 (colored)

Add x86_pause() inline function, containing the "pause" instruction
for i386, and nothing for amd64. Sprinkle it in various spinloops,
as recommended by Intel.

Revision 1.151 / (download) - annotate - [select for diffs], Tue Apr 1 20:54:23 2003 UTC (20 years, 7 months ago) by thorpej
Branch: MAIN
Changes since 1.150: +3 -3 lines
Diff to previous 1.150 (colored)

Use PAGE_SIZE rather than NBPG.

Revision 1.150 / (download) - annotate - [select for diffs], Wed Feb 26 21:28:24 2003 UTC (20 years, 9 months ago) by fvdl
Branch: MAIN
Changes since 1.149: +48 -48 lines
Diff to previous 1.149 (colored)

Adapt for move of files to arch/x86.

Revision 1.149 / (download) - annotate - [select for diffs], Mon Feb 3 23:16:30 2003 UTC (20 years, 9 months ago) by chris
Branch: MAIN
Changes since 1.148: +3 -3 lines
Diff to previous 1.148 (colored)

Trivial change, convert a tqh_first to TAILQ_FIRST().

Revision 1.148 / (download) - annotate - [select for diffs], Wed Jan 22 18:32:18 2003 UTC (20 years, 10 months ago) by hannken
Branch: MAIN
Changes since 1.147: +3 -3 lines
Diff to previous 1.147 (colored)

Increase time to wait for TLB IPI rendezvous.

Approved by: Frank van der Linden <fvdl@netbsd.org>

Revision 1.147 / (download) - annotate - [select for diffs], Wed Jan 22 12:52:17 2003 UTC (20 years, 10 months ago) by yamt
Branch: MAIN
Changes since 1.146: +10 -10 lines
Diff to previous 1.146 (colored)

make KSTACK_CHECK_* compile after sa merge.

Revision 1.146 / (download) - annotate - [select for diffs], Fri Jan 17 23:10:31 2003 UTC (20 years, 10 months ago) by thorpej
Branch: MAIN
Changes since 1.145: +17 -17 lines
Diff to previous 1.145 (colored)

Merge the nathanw_sa branch.

Revision 1.118.2.13 / (download) - annotate - [select for diffs], Tue Jan 7 21:11:42 2003 UTC (20 years, 10 months ago) by thorpej
Branch: nathanw_sa
CVS Tags: nathanw_sa_end
Changes since 1.118.2.12: +6 -4 lines
Diff to previous 1.118.2.12 (colored) next main 1.119 (colored)

Sync with HEAD.

Revision 1.145 / (download) - annotate - [select for diffs], Tue Jan 7 18:50:13 2003 UTC (20 years, 10 months ago) by fvdl
Branch: MAIN
CVS Tags: nathanw_sa_before_merge, nathanw_sa_base
Changes since 1.144: +6 -4 lines
Diff to previous 1.144 (colored)

Don't use any cpu_info structures until at least one CPU was attached.

Revision 1.118.2.12 / (download) - annotate - [select for diffs], Fri Oct 18 04:08:34 2002 UTC (21 years, 1 month ago) by nathanw
Branch: nathanw_sa
Changes since 1.118.2.11: +3 -3 lines
Diff to previous 1.118.2.11 (colored)

p => l->l_proc in pmap_deactivate().

Revision 1.118.2.11 / (download) - annotate - [select for diffs], Fri Oct 18 02:37:47 2002 UTC (21 years, 1 month ago) by nathanw
Branch: nathanw_sa
Changes since 1.118.2.10: +784 -298 lines
Diff to previous 1.118.2.10 (colored)

Catch up to -current.

Revision 1.144 / (download) - annotate - [select for diffs], Wed Oct 16 18:48:05 2002 UTC (21 years, 1 month ago) by mycroft
Branch: MAIN
CVS Tags: kqueue-beforemerge, kqueue-aftermerge, gmcgarry_ucred_base, gmcgarry_ucred, gmcgarry_ctxsw_base, gmcgarry_ctxsw, fvdl_fs64_base
Changes since 1.143: +3 -3 lines
Diff to previous 1.143 (colored)

Fix a sign extension bug that caused pmap_growkernel() to fail with >2GB KVA.
Symptom observed and verified fixed by tls.

Revision 1.143 / (download) - annotate - [select for diffs], Fri Oct 11 17:30:39 2002 UTC (21 years, 1 month ago) by fvdl
Branch: MAIN
Changes since 1.142: +5 -11 lines
Diff to previous 1.142 (colored)

Remove redundant TLB entry flush from pmap_zero_page and friends.
Some of these were a merge-o from the i386 mp merge.

Pointed out by YAMAMOTO Takashi.

Revision 1.128.2.6 / (download) - annotate - [select for diffs], Thu Oct 10 18:33:24 2002 UTC (21 years, 1 month ago) by jdolecek
Branch: kqueue
Changes since 1.128.2.5: +812 -300 lines
Diff to previous 1.128.2.5 (colored) to branchpoint 1.128 (colored) next main 1.129 (colored)

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

Revision 1.142 / (download) - annotate - [select for diffs], Tue Oct 8 20:19:16 2002 UTC (21 years, 1 month ago) by fvdl
Branch: MAIN
Changes since 1.141: +5 -2 lines
Diff to previous 1.141 (colored)

Add a comment about why taking the pmap spinlock is not needed
for one particular ldt_free call.

Revision 1.141 / (download) - annotate - [select for diffs], Sat Oct 5 21:30:42 2002 UTC (21 years, 1 month ago) by fvdl
Branch: MAIN
Changes since 1.140: +65 -88 lines
Diff to previous 1.140 (colored)

Do rendezvous for TLB shootdown IPI. The sender sets a bitmask
of all CPUs it wants entries shot down on, and waits until it
clears. pmap_tlb_doshootdown clears the bit of the current CPU
in this mask.

Also, change simple_lock -> __cpu_simple_lock in IPI path.

Revision 1.140 / (download) - annotate - [select for diffs], Tue Oct 1 19:36:06 2002 UTC (21 years, 1 month ago) by fvdl
Branch: MAIN
CVS Tags: kqueue-base
Changes since 1.139: +40 -60 lines
Diff to previous 1.139 (colored)

Don't use pool(9) for TLB shootdown queue elements. Recent pool
changes made the usage here clash with the pool code, and the
pool code is overkill for this case (fixed number of elements,
always NOWAIT).

Use a simple static freelist allocator instead (pv_list-like).

Revision 1.139 / (download) - annotate - [select for diffs], Tue Oct 1 12:56:58 2002 UTC (21 years, 1 month ago) by fvdl
Branch: MAIN
Changes since 1.138: +831 -299 lines
Diff to previous 1.138 (colored)

Merge Bill Sommerfeld's i386 MP branch. This code has some known
caveats, but works quite well in a lot of MP cases, and all
UP cases that I have tested. Parts of this will hopefully be
reworked in the not-too-distant future.

Revision 1.138 / (download) - annotate - [select for diffs], Fri Sep 27 15:36:10 2002 UTC (21 years, 2 months ago) by provos
Branch: MAIN
Changes since 1.137: +3 -3 lines
Diff to previous 1.137 (colored)

remove trailing \n in panic().  approved perry.

Revision 1.128.2.5 / (download) - annotate - [select for diffs], Fri Sep 6 08:36:19 2002 UTC (21 years, 2 months ago) by jdolecek
Branch: kqueue
Changes since 1.128.2.4: +13 -2 lines
Diff to previous 1.128.2.4 (colored) to branchpoint 1.128 (colored)

sync kqueue branch with HEAD

Revision 1.83.2.50 / (download) - annotate - [select for diffs], Mon Aug 19 01:22:32 2002 UTC (21 years, 3 months ago) by sommerfeld
Branch: sommerfeld_i386mp_1
Changes since 1.83.2.49: +13 -2 lines
Diff to previous 1.83.2.49 (colored) to branchpoint 1.83 (colored) next main 1.84 (colored)

merged with -current as of today.
rearranged gdt init to deal with KVM86 changes; however, KVM86 has no
chance of working yet; good thing it's not part of GENERIC

Revision 1.118.2.10 / (download) - annotate - [select for diffs], Thu Aug 1 02:42:06 2002 UTC (21 years, 3 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.118.2.9: +13 -2 lines
Diff to previous 1.118.2.9 (colored)

Catch up to -current.

Revision 1.136.2.1 / (download) - annotate - [select for diffs], Tue Jul 16 08:29:38 2002 UTC (21 years, 4 months ago) by gehenna
Branch: gehenna-devsw
Changes since 1.136: +13 -2 lines
Diff to previous 1.136 (colored) next main 1.137 (colored)

catch up with -current.

Revision 1.118.2.9 / (download) - annotate - [select for diffs], Fri Jul 12 01:39:31 2002 UTC (21 years, 4 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.118.2.8: +2 -3 lines
Diff to previous 1.118.2.8 (colored)

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

Revision 1.137 / (download) - annotate - [select for diffs], Wed Jul 3 02:46:13 2002 UTC (21 years, 4 months ago) by yamt
Branch: MAIN
CVS Tags: sommerfeld_i386mpnext, sommerfeld_i386mpbase_1, gehenna-devsw-base
Changes since 1.136: +13 -2 lines
Diff to previous 1.136 (colored)

add KSTACK_CHECK_DR0.

Revision 1.118.2.8 / (download) - annotate - [select for diffs], Mon Jun 24 22:05:02 2002 UTC (21 years, 5 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.118.2.7: +4 -4 lines
Diff to previous 1.118.2.7 (colored)

Curproc->curlwp renaming.

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

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

Revision 1.128.2.4 / (download) - annotate - [select for diffs], Sun Jun 23 17:37:26 2002 UTC (21 years, 5 months ago) by jdolecek
Branch: kqueue
Changes since 1.128.2.3: +27 -14 lines
Diff to previous 1.128.2.3 (colored) to branchpoint 1.128 (colored)

catch up with -current on kqueue branch

Revision 1.83.2.49 / (download) - annotate - [select for diffs], Sun May 19 01:15:13 2002 UTC (21 years, 6 months ago) by sommerfeld
Branch: sommerfeld_i386mp_1
CVS Tags: i386mp_plus16_stable
Changes since 1.83.2.48: +2 -3 lines
Diff to previous 1.83.2.48 (colored) to branchpoint 1.83 (colored)

Nuke some no-longer-needed debug printfs

Revision 1.83.2.48 / (download) - annotate - [select for diffs], Sat Apr 27 20:24:47 2002 UTC (21 years, 7 months ago) by sommerfeld
Branch: sommerfeld_i386mp_1
Changes since 1.83.2.47: +48 -23 lines
Diff to previous 1.83.2.47 (colored) to branchpoint 1.83 (colored)

Merge with current as of today

Revision 1.118.2.7 / (download) - annotate - [select for diffs], Mon Apr 1 07:40:40 2002 UTC (21 years, 7 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.118.2.6: +28 -15 lines
Diff to previous 1.118.2.6 (colored)

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

Revision 1.94.2.4 / (download) - annotate - [select for diffs], Thu Mar 28 22:45:17 2002 UTC (21 years, 8 months ago) by he
Branch: netbsd-1-5
CVS Tags: netbsd-1-5-PATCH003
Changes since 1.94.2.3: +24 -12 lines
Diff to previous 1.94.2.3 (colored) to branchpoint 1.94 (colored) next main 1.95 (colored)

Pull up revision 1.136 (via patch, requested by chs):
  Avoid accounting errors in pmap_enter() by only updating the counters
  once the operation can no longer fail.  Fixes PR#16028.

Revision 1.136 / (download) - annotate - [select for diffs], Wed Mar 27 04:47:28 2002 UTC (21 years, 8 months ago) by chs
Branch: MAIN
CVS Tags: netbsd-1-6-base, netbsd-1-6-RELEASE, netbsd-1-6-RC3, netbsd-1-6-RC2, netbsd-1-6-RC1, netbsd-1-6-PATCH001-RELEASE, netbsd-1-6-PATCH001-RC3, netbsd-1-6-PATCH001-RC2, netbsd-1-6-PATCH001-RC1, netbsd-1-6-PATCH001
Branch point for: netbsd-1-6, gehenna-devsw
Changes since 1.135: +25 -13 lines
Diff to previous 1.135 (colored)

avoid accounting errors in pmap_enter() by only updating the counters
once the operation can no longer fail.  fixes PR 16028.

Revision 1.135 / (download) - annotate - [select for diffs], Sat Mar 23 18:39:46 2002 UTC (21 years, 8 months ago) by thorpej
Branch: MAIN
Changes since 1.134: +4 -3 lines
Diff to previous 1.134 (colored)

pmap_bootstrap(): Correct arithmetic on pte when advancing past
the newly-allocated msgbuf.  (Note, it happened to work before
because nothing used pte afterwards, but in the event something
is added that does, pte should be correct.)

Revision 1.128.2.3 / (download) - annotate - [select for diffs], Sat Mar 16 15:58:15 2002 UTC (21 years, 8 months ago) by jdolecek
Branch: kqueue
Changes since 1.128.2.2: +4 -4 lines
Diff to previous 1.128.2.2 (colored) to branchpoint 1.128 (colored)

Catch up with -current.

Revision 1.134 / (download) - annotate - [select for diffs], Fri Mar 8 20:48:30 2002 UTC (21 years, 8 months ago) by thorpej
Branch: MAIN
CVS Tags: newlock-base, newlock, eeh-devprop-base, eeh-devprop
Changes since 1.133: +4 -4 lines
Diff to previous 1.133 (colored)

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.83.2.47 / (download) - annotate - [select for diffs], Mon Jan 28 04:21:39 2002 UTC (21 years, 10 months ago) by sommerfeld
Branch: sommerfeld_i386mp_1
Changes since 1.83.2.46: +0 -13 lines
Diff to previous 1.83.2.46 (colored) to branchpoint 1.83 (colored)

Yet Another mergeup with -current.

Revision 1.128.2.2 / (download) - annotate - [select for diffs], Thu Jan 10 19:44:44 2002 UTC (21 years, 10 months ago) by thorpej
Branch: kqueue
Changes since 1.128.2.1: +52 -102 lines
Diff to previous 1.128.2.1 (colored) to branchpoint 1.128 (colored)

Sync kqueue branch with -current.

Revision 1.118.2.6 / (download) - annotate - [select for diffs], Tue Jan 8 00:25:26 2002 UTC (21 years, 10 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.118.2.5: +19 -18 lines
Diff to previous 1.118.2.5 (colored)

Catch up to -current.

Revision 1.133 / (download) - annotate - [select for diffs], Wed Jan 2 00:51:35 2002 UTC (21 years, 10 months ago) by chs
Branch: MAIN
CVS Tags: ifpoll-base
Changes since 1.132: +2 -14 lines
Diff to previous 1.132 (colored)

pmap_page_protect(VM_PROT_NONE) must remove all mappings in the PV list,
even if they are wired.  we need to be able to remove all mappings to
pages that are being freed due to (eg.) file truncation.

Revision 1.132 / (download) - annotate - [select for diffs], Tue Jan 1 22:52:11 2002 UTC (21 years, 10 months ago) by chs
Branch: MAIN
Changes since 1.131: +17 -7 lines
Diff to previous 1.131 (colored)

merge in a bit from the MP branch to cut down on LOCKDEBUG spew:
Use optimistic locking in pmap_create() so that we don't lock against
ourself if allocating the page directory causes pmap_growkernel() to
be called.

Revision 1.83.2.46 / (download) - annotate - [select for diffs], Sat Dec 29 20:59:22 2001 UTC (21 years, 11 months ago) by sommerfeld
Branch: sommerfeld_i386mp_1
Changes since 1.83.2.45: +26 -9 lines
Diff to previous 1.83.2.45 (colored) to branchpoint 1.83 (colored)

Fix from Frank van der Linden to TLB shootdown:

"... both a 'flushu' (do a normal TLB flush, but not the PG_G entries)
and one or more PG_G entries could have been in the shootdown
queue. pmap_tlb_shootnow() would then only have done a plain tlb
flush, meaning that the PG_G address(es) on the shootdown queue
weren't handled.

"For this to happen you'd have to have 2 conditions: 1) the max. number
of items on the queue was exceeded, with only plain (user) entries
on the queue, and 2) after this event happened, a few PG_G entries were
added.

"This could triggered by an exec, which unmaps the whole process'
map, usually causing > 16 'plain' entries, and pmap_remove_ptes
wanting to free a pv page, causing a PG_G entry. The latter would
then not be flushed from the TLB."

Fix is to make we don't miss PG_G entries after a flushu.

Revision 1.131 / (download) - annotate - [select for diffs], Thu Nov 15 07:03:30 2001 UTC (22 years ago) by lukem
Branch: MAIN
Changes since 1.130: +4 -1 lines
Diff to previous 1.130 (colored)

add RCSID

Revision 1.128.4.1 / (download) - annotate - [select for diffs], Mon Oct 1 12:39:52 2001 UTC (22 years, 1 month ago) by fvdl
Branch: thorpej-devvp
Changes since 1.128: +37 -88 lines
Diff to previous 1.128 (colored) next main 1.129 (colored)

Catch up with -current.

Revision 1.83.2.45 / (download) - annotate - [select for diffs], Sat Sep 22 23:07:29 2001 UTC (22 years, 2 months ago) by sommerfeld
Branch: sommerfeld_i386mp_1
Changes since 1.83.2.44: +1 -45 lines
Diff to previous 1.83.2.44 (colored) to branchpoint 1.83 (colored)

Move tlbflushg to cpufunc.h

Revision 1.83.2.44 / (download) - annotate - [select for diffs], Sat Sep 22 23:01:12 2001 UTC (22 years, 2 months ago) by sommerfeld
Branch: sommerfeld_i386mp_1
Changes since 1.83.2.43: +45 -86 lines
Diff to previous 1.83.2.43 (colored) to branchpoint 1.83 (colored)

Merge branch with current, post ubcperf, MTRR, etc., etc.,
with the recent fifo_putpages fix to the trunk, GENERIC.MPDEBUG config
boots multiuser on my BP6.

Revision 1.118.2.5 / (download) - annotate - [select for diffs], Fri Sep 21 22:35:06 2001 UTC (22 years, 2 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.118.2.4: +37 -88 lines
Diff to previous 1.118.2.4 (colored)

Catch up to -current.

Revision 1.130 / (download) - annotate - [select for diffs], Sat Sep 15 20:36:33 2001 UTC (22 years, 2 months ago) by chs
Branch: MAIN
CVS Tags: thorpej-mips-cache-base, thorpej-mips-cache, thorpej-devvp-base3, thorpej-devvp-base2, post-chs-ubcperf
Changes since 1.129: +35 -86 lines
Diff to previous 1.129 (colored)

a whole bunch of changes to improve performance and robustness under load:

 - remove special treatment of pager_map mappings in pmaps.  this is
   required now, since I've removed the globals that expose the address range.
   pager_map now uses pmap_kenter_pa() instead of pmap_enter(), so there's
   no longer any need to special-case it.
 - eliminate struct uvm_vnode by moving its fields into struct vnode.
 - rewrite the pageout path.  the pager is now responsible for handling the
   high-level requests instead of only getting control after a bunch of work
   has already been done on its behalf.  this will allow us to UBCify LFS,
   which needs tighter control over its pages than other filesystems do.
   writing a page to disk no longer requires making it read-only, which
   allows us to write wired pages without causing all kinds of havoc.
 - use a new PG_PAGEOUT flag to indicate that a page should be freed
   on behalf of the pagedaemon when it's unlocked.  this flag is very similar
   to PG_RELEASED, but unlike PG_RELEASED, PG_PAGEOUT can be cleared if the
   pageout fails due to eg. an indirect-block buffer being locked.
   this allows us to remove the "version" field from struct vm_page,
   and together with shrinking "loan_count" from 32 bits to 16,
   struct vm_page is now 4 bytes smaller.
 - no longer use PG_RELEASED for swap-backed pages.  if the page is busy
   because it's being paged out, we can't release the swap slot to be
   reallocated until that write is complete, but unlike with vnodes we
   don't keep a count of in-progress writes so there's no good way to
   know when the write is done.  instead, when we need to free a busy
   swap-backed page, just sleep until we can get it busy ourselves.
 - implement a fast-path for extending writes which allows us to avoid
   zeroing new pages.  this substantially reduces cpu usage.
 - encapsulate the data used by the genfs code in a struct genfs_node,
   which must be the first element of the filesystem-specific vnode data
   for filesystems which use genfs_{get,put}pages().
 - eliminate many of the UVM pagerops, since they aren't needed anymore
   now that the pager "put" operation is a higher-level operation.
 - enhance the genfs code to allow NFS to use the genfs_{get,put}pages
   instead of a modified copy.
 - clean up struct vnode by removing all the fields that used to be used by
   the vfs_cluster.c code (which we don't use anymore with UBC).
 - remove kmem_object and mb_object since they were useless.
   instead of allocating pages to these objects, we now just allocate
   pages with no object.  such pages are mapped in the kernel until they
   are freed, so we can use the mapping to find the page to free it.
   this allows us to remove splvm() protection in several places.

The sum of all these changes improves write throughput on my
decstation 5000/200 to within 1% of the rate of NetBSD 1.5
and reduces the elapsed time for "make release" of a NetBSD 1.5
source tree on my 128MB pc to 10% less than a 1.5 kernel took.

Revision 1.128.2.1 / (download) - annotate - [select for diffs], Thu Sep 13 01:13:47 2001 UTC (22 years, 2 months ago) by thorpej
Branch: kqueue
Changes since 1.128: +3 -3 lines
Diff to previous 1.128 (colored)

Update the kqueue branch to HEAD.

Revision 1.129 / (download) - annotate - [select for diffs], Mon Sep 10 21:19:15 2001 UTC (22 years, 2 months ago) by chris
Branch: MAIN
CVS Tags: pre-chs-ubcperf
Changes since 1.128: +3 -3 lines
Diff to previous 1.128 (colored)

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.118.2.4 / (download) - annotate - [select for diffs], Fri Aug 24 00:08:32 2001 UTC (22 years, 3 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.118.2.3: +2 -2 lines
Diff to previous 1.118.2.3 (colored)

Catch up with -current.

Revision 1.83.2.43 / (download) - annotate - [select for diffs], Thu Jul 19 08:57:29 2001 UTC (22 years, 4 months ago) by sommerfeld
Branch: sommerfeld_i386mp_1
Changes since 1.83.2.42: +1 -1 lines
Diff to previous 1.83.2.42 (colored) to branchpoint 1.83 (colored)

catch up with -current

Revision 1.128 / (download) - annotate - [select for diffs], Thu Jul 5 20:54:28 2001 UTC (22 years, 4 months ago) by hubertf
Branch: MAIN
CVS Tags: thorpej-devvp-base
Branch point for: thorpej-devvp, kqueue
Changes since 1.127: +2 -2 lines
Diff to previous 1.127 (colored)

fix typo in comment

Revision 1.83.2.42 / (download) - annotate - [select for diffs], Sun Jun 24 19:44:58 2001 UTC (22 years, 5 months ago) by sommerfeld
Branch: sommerfeld_i386mp_1
Changes since 1.83.2.41: +2 -2 lines
Diff to previous 1.83.2.41 (colored) to branchpoint 1.83 (colored)

Correct mismerge; delete now-useless message.

Revision 1.118.2.3 / (download) - annotate - [select for diffs], Thu Jun 21 19:25:35 2001 UTC (22 years, 5 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.118.2.2: +38 -65 lines
Diff to previous 1.118.2.2 (colored)

Catch up to -current.

Revision 1.83.2.41 / (download) - annotate - [select for diffs], Mon Jun 18 03:33:30 2001 UTC (22 years, 5 months ago) by sommerfeld
Branch: sommerfeld_i386mp_1
Changes since 1.83.2.40: +2 -2 lines
Diff to previous 1.83.2.40 (colored) to branchpoint 1.83 (colored)

checkpoint merge-in-progress from mainline.

Revision 1.127 / (download) - annotate - [select for diffs], Sat Jun 2 18:09:13 2001 UTC (22 years, 5 months ago) by chs
Branch: MAIN
Changes since 1.126: +2 -2 lines
Diff to previous 1.126 (colored)

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

Revision 1.126 / (download) - annotate - [select for diffs], Sun May 27 14:31:27 2001 UTC (22 years, 6 months ago) by sommerfeld
Branch: MAIN
Changes since 1.125: +3 -2 lines
Diff to previous 1.125 (colored)

Fix kern/13049: missing unlock on failure exit from pmap_enter()

Revision 1.83.2.40 / (download) - annotate - [select for diffs], Sat May 26 20:05:42 2001 UTC (22 years, 6 months ago) by sommerfeld
Branch: sommerfeld_i386mp_1
Changes since 1.83.2.39: +3 -3 lines
Diff to previous 1.83.2.39 (colored) to branchpoint 1.83 (colored)

Merge up with -current

Revision 1.125 / (download) - annotate - [select for diffs], Sat May 26 16:32:41 2001 UTC (22 years, 6 months ago) by chs
Branch: MAIN
Changes since 1.124: +6 -6 lines
Diff to previous 1.124 (colored)

replace {simple_,}lock{_data,}_t with struct {simple,}lock {,*}.

Revision 1.83.2.39 / (download) - annotate - [select for diffs], Wed May 23 04:37:25 2001 UTC (22 years, 6 months ago) by sommerfeld
Branch: sommerfeld_i386mp_1
Changes since 1.83.2.38: +2 -1 lines
Diff to previous 1.83.2.38 (colored) to branchpoint 1.83 (colored)

Pull up fix from -current:
In kern/12554 workaround in pmap_page_remove, don't forget to unmap
(and unlock) the other pmap's pte's before continuing on to the next
pmap.  Avoids pmap lock leaks, manifested as warning messages for
LOCKDEBUG and deadlocks with MULTIPROCESSOR.

Revision 1.124 / (download) - annotate - [select for diffs], Wed May 23 04:25:35 2001 UTC (22 years, 6 months ago) by sommerfeld
Branch: MAIN
Changes since 1.123: +2 -1 lines
Diff to previous 1.123 (colored)

In kern/12554 workaround in pmap_page_remove, don't forget to unmap
(and unlock) the other pmap's pte's before continuing to the next
pmap.  Avoids pmap lock leaks (generates LOCKDEBUG warning, deadlocks
MULTIPROCESSOR).

Revision 1.83.2.38 / (download) - annotate - [select for diffs], Sun May 13 00:45:03 2001 UTC (22 years, 6 months ago) by sommerfeld
Branch: sommerfeld_i386mp_1
Changes since 1.83.2.37: +27 -3 lines
Diff to previous 1.83.2.37 (colored) to branchpoint 1.83 (colored)

Cope with pool_prime API change by supplying the shootdown job pool with an
(extremely simple) page allocator function.

Revision 1.83.2.37 / (download) - annotate - [select for diffs], Fri May 11 15:54:35 2001 UTC (22 years, 6 months ago) by sommerfeld
Branch: sommerfeld_i386mp_1
Changes since 1.83.2.36: +8 -3 lines
Diff to previous 1.83.2.36 (colored) to branchpoint 1.83 (colored)

Back out untested code

Revision 1.83.2.36 / (download) - annotate - [select for diffs], Thu May 10 04:57:06 2001 UTC (22 years, 6 months ago) by thorpej
Branch: sommerfeld_i386mp_1
Changes since 1.83.2.35: +4 -9 lines
Diff to previous 1.83.2.35 (colored) to branchpoint 1.83 (colored)

Adjust for pool_prime() changes.

Revision 1.83.2.35 / (download) - annotate - [select for diffs], Fri May 4 20:19:57 2001 UTC (22 years, 6 months ago) by thorpej
Branch: sommerfeld_i386mp_1
Changes since 1.83.2.34: +15 -6 lines
Diff to previous 1.83.2.34 (colored) to branchpoint 1.83 (colored)

Use optimisitc locking in pmap_create() so that we don't lock against
ourself if allocating the page directory causes pmap_growkernel() to
be called.

Revision 1.83.2.34 / (download) - annotate - [select for diffs], Fri May 4 01:32:58 2001 UTC (22 years, 6 months ago) by thorpej
Branch: sommerfeld_i386mp_1
Changes since 1.83.2.33: +4 -1 lines
Diff to previous 1.83.2.33 (colored) to branchpoint 1.83 (colored)

Make sure to go to splipi() when holding the shootdown queue lock.

Revision 1.83.2.33 / (download) - annotate - [select for diffs], Mon Apr 30 16:23:11 2001 UTC (22 years, 7 months ago) by sommerfeld
Branch: sommerfeld_i386mp_1
Changes since 1.83.2.32: +30 -46 lines
Diff to previous 1.83.2.32 (colored) to branchpoint 1.83 (colored)

Merge sommerfeld_i386mp_1 branch with -current as of today.
GENERIC.MP kernel boots and runs multiuser on my ABIT BP6

Revision 1.123 / (download) - annotate - [select for diffs], Sun Apr 29 04:42:04 2001 UTC (22 years, 7 months ago) by thorpej
Branch: MAIN
Changes since 1.122: +6 -7 lines
Diff to previous 1.122 (colored)

The idle loop page zero'er no longer needs to do uncached access
now that we have page coloring.

Revision 1.122 / (download) - annotate - [select for diffs], Wed Apr 25 16:18:24 2001 UTC (22 years, 7 months ago) by thorpej
Branch: MAIN
CVS Tags: thorpej_scsipi_beforemerge
Changes since 1.121: +20 -4 lines
Diff to previous 1.121 (colored)

Work around the problem that causes kern/12554.  Basically,
there are some pathological cases that cause pmap_page_protect()
to be called on a wired page to revoke all mappings.  We
need to skip mappings that are actually wired to prevent Bad
things from happening later.

THIS IS JUST A WORK-AROUND.  We need to prevent the pathological
behavior from happening in UVM to begin with.  But it's unclear
what the right solution is there, right now.

Revision 1.121 / (download) - annotate - [select for diffs], Tue Apr 24 04:30:58 2001 UTC (22 years, 7 months ago) by thorpej
Branch: MAIN
Changes since 1.120: +3 -1 lines
Diff to previous 1.120 (colored)

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.79.2.8 / (download) - annotate - [select for diffs], Mon Apr 23 09:41:49 2001 UTC (22 years, 7 months ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.79.2.7: +3 -49 lines
Diff to previous 1.79.2.7 (colored) to branchpoint 1.79 (colored) next main 1.80 (colored)

Sync with HEAD.

Revision 1.120 / (download) - annotate - [select for diffs], Sun Apr 22 23:42:14 2001 UTC (22 years, 7 months ago) by thorpej
Branch: MAIN
CVS Tags: thorpej_scsipi_nbase, thorpej_scsipi_base
Changes since 1.119: +3 -49 lines
Diff to previous 1.119 (colored)

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.118.2.2 / (download) - annotate - [select for diffs], Mon Apr 9 01:53:32 2001 UTC (22 years, 7 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.118.2.1: +6 -7 lines
Diff to previous 1.118.2.1 (colored)

Catch up with -current.

Revision 1.79.2.7 / (download) - annotate - [select for diffs], Tue Mar 27 15:31:03 2001 UTC (22 years, 8 months ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.79.2.6: +5 -6 lines
Diff to previous 1.79.2.6 (colored) to branchpoint 1.79 (colored)

Sync with HEAD.

Revision 1.83.2.32 / (download) - annotate - [select for diffs], Fri Mar 16 05:00:48 2001 UTC (22 years, 8 months ago) by sommerfeld
Branch: sommerfeld_i386mp_1
Changes since 1.83.2.31: +6 -7 lines
Diff to previous 1.83.2.31 (colored) to branchpoint 1.83 (colored)

Merge branch with -current; top of branch + current builds a working
GENERIC.MP again.

Revision 1.119 / (download) - annotate - [select for diffs], Thu Mar 15 06:10:40 2001 UTC (22 years, 8 months ago) by chs
Branch: MAIN
Changes since 1.118: +6 -7 lines
Diff to previous 1.118 (colored)

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

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

Revision 1.118.2.1 / (download) - annotate - [select for diffs], Mon Mar 5 22:49:13 2001 UTC (22 years, 8 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.118: +15 -14 lines
Diff to previous 1.118 (colored)

Initial commit of scheduler activations and lightweight process support.

Revision 1.83.2.31 / (download) - annotate - [select for diffs], Mon Feb 12 04:05:46 2001 UTC (22 years, 9 months ago) by enami
Branch: sommerfeld_i386mp_1
Changes since 1.83.2.30: +2 -25 lines
Diff to previous 1.83.2.30 (colored) to branchpoint 1.83 (colored)

Back out previous; the solution might cause a deadlock between pool cache's
lock and pmaps_lock.  Probably, just detect nkpde update may be easier.

Revision 1.83.2.30 / (download) - annotate - [select for diffs], Sun Feb 11 09:12:15 2001 UTC (22 years, 9 months ago) by enami
Branch: sommerfeld_i386mp_1
Changes since 1.83.2.29: +26 -3 lines
Diff to previous 1.83.2.29 (colored) to branchpoint 1.83 (colored)

Release the pmaps_lock once before allocating new page for PDP cache and
reacquire it before constructing the cache.  Otherwise it will be locked
again if pmap_growkernel() is called during the page allocation.

Revision 1.79.2.6 / (download) - annotate - [select for diffs], Thu Jan 18 09:22:35 2001 UTC (22 years, 10 months ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.79.2.5: +5 -5 lines
Diff to previous 1.79.2.5 (colored) to branchpoint 1.79 (colored)

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

Revision 1.83.2.29 / (download) - annotate - [select for diffs], Sun Jan 14 23:25:49 2001 UTC (22 years, 10 months ago) by thorpej
Branch: sommerfeld_i386mp_1
Changes since 1.83.2.28: +6 -6 lines
Diff to previous 1.83.2.28 (colored) to branchpoint 1.83 (colored)

splimp() -> splvm()

Revision 1.118 / (download) - annotate - [select for diffs], Sun Jan 14 03:30:28 2001 UTC (22 years, 10 months ago) by thorpej
Branch: MAIN
Branch point for: nathanw_sa
Changes since 1.117: +6 -6 lines
Diff to previous 1.117 (colored)

splimp() -> splvm()

Revision 1.83.2.28 / (download) - annotate - [select for diffs], Tue Jan 9 03:19:49 2001 UTC (22 years, 10 months ago) by sommerfeld
Branch: sommerfeld_i386mp_1
Changes since 1.83.2.27: +3 -1 lines
Diff to previous 1.83.2.27 (colored) to branchpoint 1.83 (colored)

Fix build on !MULTIPROCESSOR

Revision 1.83.2.27 / (download) - annotate - [select for diffs], Mon Jan 8 13:57:24 2001 UTC (22 years, 10 months ago) by sommerfeld
Branch: sommerfeld_i386mp_1
Changes since 1.83.2.26: +2 -23 lines
Diff to previous 1.83.2.26 (colored) to branchpoint 1.83 (colored)

Fix a merge botch which caused to fail to find the end of memory on
some systems.

Revision 1.83.2.26 / (download) - annotate - [select for diffs], Sun Jan 7 22:59:24 2001 UTC (22 years, 10 months ago) by sommerfeld
Branch: sommerfeld_i386mp_1
Changes since 1.83.2.25: +1 -36 lines
Diff to previous 1.83.2.25 (colored) to branchpoint 1.83 (colored)

Correct merge botches.
Post-merge kernel now boots multiuser.

Revision 1.83.2.25 / (download) - annotate - [select for diffs], Sun Jan 7 22:12:43 2001 UTC (22 years, 10 months ago) by sommerfeld
Branch: sommerfeld_i386mp_1
Changes since 1.83.2.24: +304 -125 lines
Diff to previous 1.83.2.24 (colored) to branchpoint 1.83 (colored)

Snapshot of merge-in-progress with -current.

[Not expected to build].  Catch up with the last N months worth of
changes to -current.

Revision 1.79.2.5 / (download) - annotate - [select for diffs], Fri Jan 5 17:34:30 2001 UTC (22 years, 10 months ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.79.2.4: +30 -738 lines
Diff to previous 1.79.2.4 (colored) to branchpoint 1.79 (colored)

Sync with HEAD

Revision 1.83.2.24 / (download) - annotate - [select for diffs], Thu Jan 4 06:07:45 2001 UTC (22 years, 10 months ago) by thorpej
Branch: sommerfeld_i386mp_1
Changes since 1.83.2.23: +1 -6 lines
Diff to previous 1.83.2.23 (colored) to branchpoint 1.83 (colored)

Make sure that there's at least one "cpu_info" slot, so that we don't
trash random memory in the non-MULTIPROCESSOR case.

Revision 1.83.2.23 / (download) - annotate - [select for diffs], Thu Jan 4 04:59:41 2001 UTC (22 years, 10 months ago) by thorpej
Branch: sommerfeld_i386mp_1
Changes since 1.83.2.22: +5 -4 lines
Diff to previous 1.83.2.22 (colored) to branchpoint 1.83 (colored)

Make this build again in non-MULTIPROCESSOR kernels.

Revision 1.83.2.22 / (download) - annotate - [select for diffs], Thu Jan 4 04:44:33 2001 UTC (22 years, 10 months ago) by thorpej
Branch: sommerfeld_i386mp_1
Changes since 1.83.2.21: +7 -6 lines
Diff to previous 1.83.2.21 (colored) to branchpoint 1.83 (colored)

Always statically allocated the primary CPU's cpu_info, and make the
cpu_info list available in the non-MULTIPROCESSOR case, as well.

Revision 1.117 / (download) - annotate - [select for diffs], Thu Jan 4 00:17:43 2001 UTC (22 years, 10 months ago) by thorpej
Branch: MAIN
Changes since 1.116: +21 -729 lines
Diff to previous 1.116 (colored)

Just garbage-collect the #if 0'd pmap_transfer() stuff.

Revision 1.83.2.21 / (download) - annotate - [select for diffs], Thu Jan 4 00:16:58 2001 UTC (22 years, 10 months ago) by thorpej
Branch: sommerfeld_i386mp_1
Changes since 1.83.2.20: +1 -8 lines
Diff to previous 1.83.2.20 (colored) to branchpoint 1.83 (colored)

Remove some more #if 0'd stuff.

Revision 1.83.2.20 / (download) - annotate - [select for diffs], Wed Jan 3 16:55:46 2001 UTC (22 years, 10 months ago) by thorpej
Branch: sommerfeld_i386mp_1
Changes since 1.83.2.19: +161 -1043 lines
Diff to previous 1.83.2.19 (colored) to branchpoint 1.83 (colored)

Clean up the TLB invalidation logic.  Remove the last vestiges of
the old "remove record" stuff, and just use the shootdown path, even
for uniprocessor kernels.  Change the shootdown path to defer actually
peforming work (or sending the IPI to signal other processors to begin
work) until explicitly triggered by a call to pmap_tlb_shootnow().

Also remove all of the PTP and PV entry stealing code -- it's complicated,
not often called, and not really useful anymore now that UVM itself can
handle pmap_enter() failures.

Revision 1.83.2.19 / (download) - annotate - [select for diffs], Tue Jan 2 06:58:08 2001 UTC (22 years, 10 months ago) by thorpej
Branch: sommerfeld_i386mp_1
Changes since 1.83.2.18: +9 -9 lines
Diff to previous 1.83.2.18 (colored) to branchpoint 1.83 (colored)

Mirror a change made on the trunk:

Don't equate pmap_update() with tlbflush(), but instead call
tlbflush() when that's what we mean (currently everywhere, except
in the one place in MI code where it is called).

The whole pmap_update() thing needs to be reexamined, but this helps
to clarify things a little with the currently-defined semantics of
that function.

Revision 1.83.2.18 / (download) - annotate - [select for diffs], Tue Jan 2 04:13:16 2001 UTC (22 years, 10 months ago) by thorpej
Branch: sommerfeld_i386mp_1
Changes since 1.83.2.17: +12 -25 lines
Diff to previous 1.83.2.17 (colored) to branchpoint 1.83 (colored)

Only do TLB shootdowns on CPUs where the pmap in question is active.

Revision 1.116 / (download) - annotate - [select for diffs], Mon Jan 1 22:13:54 2001 UTC (22 years, 10 months ago) by thorpej
Branch: MAIN
Changes since 1.115: +12 -12 lines
Diff to previous 1.115 (colored)

Don't equate pmap_update() with tlbflush(), but instead call
tlbflush() when that's what we mean (currently everywhere, except
in the one place in MI code where it is called).

The whole pmap_update() thing needs to be reexamined, but this helps
to clarify things a little with the currently-defined semantics of
that function.

Revision 1.83.2.17 / (download) - annotate - [select for diffs], Mon Jan 1 20:40:10 2001 UTC (22 years, 10 months ago) by thorpej
Branch: sommerfeld_i386mp_1
Changes since 1.83.2.16: +2 -3 lines
Diff to previous 1.83.2.16 (colored) to branchpoint 1.83 (colored)

Use pmap_is_active() in pmap_apte_flush().

Revision 1.83.2.16 / (download) - annotate - [select for diffs], Mon Jan 1 20:34:24 2001 UTC (22 years, 10 months ago) by thorpej
Branch: sommerfeld_i386mp_1
Changes since 1.83.2.15: +7 -7 lines
Diff to previous 1.83.2.15 (colored) to branchpoint 1.83 (colored)

Give a "cpu_id" argument to pmap_is_active().

Revision 1.83.2.15 / (download) - annotate - [select for diffs], Mon Jan 1 19:24:27 2001 UTC (22 years, 10 months ago) by sommerfeld
Branch: sommerfeld_i386mp_1
Changes since 1.83.2.14: +56 -13 lines
Diff to previous 1.83.2.14 (colored) to branchpoint 1.83 (colored)

Miscellaneous TLB invalidation/shootdown fixes.
 - when deleting PTP's, make sure to invalidate and shoot down the PTP mapping.
(code from Jason Thorpe)

 - when we run out of shootdown queue jobs, don't lose the deferred
shootdowns for the current cpu (<homer>Doh!</homer>)

All this needs to be rewritten again.

Revision 1.83.2.14 / (download) - annotate - [select for diffs], Sun Dec 31 18:01:21 2000 UTC (22 years, 10 months ago) by thorpej
Branch: sommerfeld_i386mp_1
Changes since 1.83.2.13: +97 -68 lines
Diff to previous 1.83.2.13 (colored) to branchpoint 1.83 (colored)

- Keep track of which CPUs are using a given pmap, and use this
  information to flush the APTE space of other CPUs as necessary.
- Use atomic operations in the appropriate places to avoid race
  conditions between the kernel and the CPU microcode which could
  lose modified/referenced information.

Reviewed by Bill Sommerfeld.

Revision 1.79.2.4 / (download) - annotate - [select for diffs], Wed Dec 13 15:49:27 2000 UTC (22 years, 11 months ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.79.2.3: +82 -57 lines
Diff to previous 1.79.2.3 (colored) to branchpoint 1.79 (colored)

Sync with HEAD (for UBC fixes).

Revision 1.79.2.3 / (download) - annotate - [select for diffs], Fri Dec 8 09:26:37 2000 UTC (22 years, 11 months ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.79.2.2: +14 -26 lines
Diff to previous 1.79.2.2 (colored) to branchpoint 1.79 (colored)

Sync with HEAD.

Revision 1.115 / (download) - annotate - [select for diffs], Thu Dec 7 21:53:46 2000 UTC (22 years, 11 months ago) by thorpej
Branch: MAIN
Changes since 1.114: +27 -15 lines
Diff to previous 1.114 (colored)

Fix a silly MP race condition introduced in the previous.

Revision 1.114 / (download) - annotate - [select for diffs], Thu Dec 7 20:19:05 2000 UTC (22 years, 11 months ago) by thorpej
Branch: MAIN
Changes since 1.113: +66 -25 lines
Diff to previous 1.113 (colored)

Use a pool cache for PDPs.  This results in a 20% improvement in a
loop of 10000 fork/exit operations on a 400MHz Celeron.

Revision 1.113 / (download) - annotate - [select for diffs], Thu Dec 7 17:12:21 2000 UTC (22 years, 11 months ago) by thorpej
Branch: MAIN
Changes since 1.112: +4 -22 lines
Diff to previous 1.112 (colored)

Nothing calls pmap_release() except for pmap_destroy().  Merge the two.

Revision 1.112 / (download) - annotate - [select for diffs], Thu Dec 7 17:09:26 2000 UTC (22 years, 11 months ago) by thorpej
Branch: MAIN
Changes since 1.111: +5 -15 lines
Diff to previous 1.111 (colored)

Nothing calls pmap_pinit() except for pmap_create(), so merge the two.

Revision 1.111 / (download) - annotate - [select for diffs], Fri Nov 24 03:59:08 2000 UTC (23 years ago) by chs
Branch: MAIN
Changes since 1.110: +15 -27 lines
Diff to previous 1.110 (colored)

adjust the spinlock macros in the non-MULTIPROCESSOR, non-LOCKDEBUG case
so that gcc will think that static spinlock are used.
this allows us to remove the ugly conditionalization of
static spinlock declarations.

Revision 1.79.2.2 / (download) - annotate - [select for diffs], Wed Nov 22 16:00:21 2000 UTC (23 years ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.79.2.1: +30 -29 lines
Diff to previous 1.79.2.1 (colored) to branchpoint 1.79 (colored)

Sync with HEAD.

Revision 1.79.2.1 / (download) - annotate - [select for diffs], Mon Nov 20 20:09:23 2000 UTC (23 years ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.79: +326 -150 lines
Diff to previous 1.79 (colored)

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

Revision 1.83.2.13 / (download) - annotate - [select for diffs], Sat Nov 18 23:10:52 2000 UTC (23 years ago) by sommerfeld
Branch: sommerfeld_i386mp_1
Changes since 1.83.2.12: +3 -1 lines
Diff to previous 1.83.2.12 (colored) to branchpoint 1.83 (colored)

More TLB flush paranoia.

Revision 1.83.2.12 / (download) - annotate - [select for diffs], Sat Nov 18 22:48:10 2000 UTC (23 years ago) by sommerfeld
Branch: sommerfeld_i386mp_1
Changes since 1.83.2.11: +30 -15 lines
Diff to previous 1.83.2.11 (colored) to branchpoint 1.83 (colored)

add some minor instrumentation framework.
cache-line align shootdown job pool entries.
rewrite tlbflushg to use the {r,l}cr{3,4}; minimise the pain based on
which CPU we support..

Revision 1.110 / (download) - annotate - [select for diffs], Tue Nov 14 22:55:06 2000 UTC (23 years ago) by thorpej
Branch: MAIN
Changes since 1.109: +30 -29 lines
Diff to previous 1.109 (colored)

NBPG -> PAGE_SIZE

Revision 1.94.2.3 / (download) - annotate - [select for diffs], Mon Oct 9 04:46:00 2000 UTC (23 years, 1 month ago) by thorpej
Branch: 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
Changes since 1.94.2.2: +5 -15 lines
Diff to previous 1.94.2.2 (colored) to branchpoint 1.94 (colored)

Pull up rev. 1.109 (via patch):
Re-order the TLB operations in pmap_zero_page() and
pmap_zero_page_uncached().  This seems to prevent the
lossage with those functions people have seen on Cyrix
CPUs.

Revision 1.109 / (download) - annotate - [select for diffs], Sun Oct 8 22:59:38 2000 UTC (23 years, 1 month ago) by thorpej
Branch: MAIN
Changes since 1.108: +6 -14 lines
Diff to previous 1.108 (colored)

Re-order the TLB operations in pmap_zero_page() and
pmap_zero_page_uncached().  This seems to prevent the
lossage with those functions people have seen on Cyrix
CPUs.

Revision 1.108 / (download) - annotate - [select for diffs], Thu Sep 28 18:31:36 2000 UTC (23 years, 2 months ago) by thorpej
Branch: MAIN
Changes since 1.107: +5 -64 lines
Diff to previous 1.107 (colored)

Reintroduce the ACPI memory map code.  The bug that caused the
IDT to be scribbled over on some systems was found and fixed by
T.SHIOZAKI <tshiozak@netbsd.org>.

Revision 1.107 / (download) - annotate - [select for diffs], Thu Sep 21 21:43:24 2000 UTC (23 years, 2 months ago) by thorpej
Branch: MAIN
Changes since 1.106: +19 -3 lines
Diff to previous 1.106 (colored)

When doing uncached page zeroing, abort if a process becomes
runnable before we're finished zeroing the pages.

Revision 1.106 / (download) - annotate - [select for diffs], Thu Sep 21 17:46:05 2000 UTC (23 years, 2 months ago) by thorpej
Branch: MAIN
Changes since 1.105: +6 -3 lines
Diff to previous 1.105 (colored)

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.94.2.2 / (download) - annotate - [select for diffs], Thu Sep 21 14:20:24 2000 UTC (23 years, 2 months ago) by chs
Branch: netbsd-1-5
Changes since 1.94.2.1: +38 -9 lines
Diff to previous 1.94.2.1 (colored) to branchpoint 1.94 (colored)

pull up rev. 1.105, approved by thorpej:
> move the guts of pmap_remove() to pmap_do_remove(), which has a flags arg
> to tell it whether or not to remove wired mappings.  pmap_remove() wants
> to remove wired mappings, pmap_collect() doesn't.  fixes PRs 10363 and 10761.

Revision 1.105 / (download) - annotate - [select for diffs], Sun Sep 10 03:45:58 2000 UTC (23 years, 2 months ago) by chs
Branch: MAIN
Changes since 1.104: +38 -10 lines
Diff to previous 1.104 (colored)

move the guts of pmap_remove() to pmap_do_remove(), which has a flags arg
to tell it whether or not to remove wired mappings.  pmap_remove() wants
to remove wired mappings, pmap_collect() doesn't.  fixes PRs 10363 and 10761.

Revision 1.104 / (download) - annotate - [select for diffs], Thu Sep 7 18:46:19 2000 UTC (23 years, 2 months ago) by thorpej
Branch: MAIN
Changes since 1.103: +4 -8 lines
Diff to previous 1.103 (colored)

Replace the old db_memrw.c with the hp300 version, modified for i386
and large page support.  This version is a bit more intelligent about
how it deals with kernel text pages.

Now that this is fixed, don't map the kernel text read-write if
DDB is configured.

Revision 1.103 / (download) - annotate - [select for diffs], Thu Sep 7 17:20:59 2000 UTC (23 years, 2 months ago) by thorpej
Branch: MAIN
Changes since 1.102: +71 -1 lines
Diff to previous 1.102 (colored)

Add optional support for mapping the kernel with large (4MB) pages.
Right now, only does kernel text, and wastes a little memory, but
there is some noticeable performance improvement even with just text.

Revision 1.102 / (download) - annotate - [select for diffs], Thu Sep 7 06:06:52 2000 UTC (23 years, 2 months ago) by thorpej
Branch: MAIN
Changes since 1.101: +13 -4 lines
Diff to previous 1.101 (colored)

Deal with low addresses in pmap_k{enter_remove}.  port-i386/10966.

Revision 1.101 / (download) - annotate - [select for diffs], Wed Sep 6 22:09:58 2000 UTC (23 years, 2 months ago) by thorpej
Branch: MAIN
Changes since 1.100: +4 -4 lines
Diff to previous 1.100 (colored)

Use kvtopte() for kernel addresses.

Revision 1.100 / (download) - annotate - [select for diffs], Wed Sep 6 19:09:45 2000 UTC (23 years, 2 months ago) by thorpej
Branch: MAIN
Changes since 1.99: +18 -1 lines
Diff to previous 1.99 (colored)

Remove some vto*() macros that won't stand a chance of working
with PSE or PAE, and reimplement vtphys() in terms of pmap_extract().

Revision 1.83.2.11 / (download) - annotate - [select for diffs], Wed Sep 6 03:28:36 2000 UTC (23 years, 2 months ago) by sommerfeld
Branch: sommerfeld_i386mp_1
Changes since 1.83.2.10: +96 -68 lines
Diff to previous 1.83.2.10 (colored) to branchpoint 1.83 (colored)

If MULTIPROCESSOR, allocate per-cpu VA space and special PTE for page
zero, page copy, and ptp mapping.  Eliminate the locks which were used
to protect those special PTE/VA pairs since they're no longer
necessary.

Revision 1.99 / (download) - annotate - [select for diffs], Tue Sep 5 21:56:41 2000 UTC (23 years, 2 months ago) by thorpej
Branch: MAIN
Changes since 1.98: +17 -8 lines
Diff to previous 1.98 (colored)

In pmap_extract():
- Return FALSE if the PTE does not have PG_V set (previously, you would
  get always get true of the PDE was valid, even if the PTE was not).
- Teach it about 4MB pages.

Revision 1.98 / (download) - annotate - [select for diffs], Sat Aug 19 19:48:53 2000 UTC (23 years, 3 months ago) by thorpej
Branch: MAIN
Changes since 1.97: +7 -2 lines
Diff to previous 1.97 (colored)

Initialize PV head simple locks, done slightly differently than
in the sommerfeld_i386mp_1 branch.

Revision 1.83.2.10 / (download) - annotate - [select for diffs], Sat Aug 19 17:27:28 2000 UTC (23 years, 3 months ago) by sommerfeld
Branch: sommerfeld_i386mp_1
Changes since 1.83.2.9: +20 -1 lines
Diff to previous 1.83.2.9 (colored) to branchpoint 1.83 (colored)

If LOCKDEBUG, initialize pvh locks.

Revision 1.83.2.9 / (download) - annotate - [select for diffs], Fri Aug 18 03:22:48 2000 UTC (23 years, 3 months ago) by sommerfeld
Branch: sommerfeld_i386mp_1
Changes since 1.83.2.8: +15 -7 lines
Diff to previous 1.83.2.8 (colored) to branchpoint 1.83 (colored)

Do tlb shootdown work at splipi().
Pass cpu_info to tlb shootdown ipi entrypoint.

Revision 1.94.2.1 / (download) - annotate - [select for diffs], Wed Aug 16 23:18:23 2000 UTC (23 years, 3 months ago) by thorpej
Branch: netbsd-1-5
Changes since 1.94: +3 -3 lines
Diff to previous 1.94 (colored)

Update from trunk:
Move the TSS selector out of the PCB and put it into mdproc.  We
need to access this when we have the proclist locked for reading,
and thus cannot store it in the PCB (which may be swapped out).

As part of this, call pmap_activate() from cpu_switch() to switch
to the new address space, and refresh the PCB's copy of the LDT
selector from the pmap structure (see above paragraph).  We need
to do this for MP support anyhow.

Fixes a "panic: spinlock_switchcheck: CPU 0 has 1 spin locks" via
gdt_compact() reported by Nathan Williams.

Revision 1.97 / (download) - annotate - [select for diffs], Wed Aug 16 04:44:36 2000 UTC (23 years, 3 months ago) by thorpej
Branch: MAIN
Changes since 1.96: +3 -3 lines
Diff to previous 1.96 (colored)

Move the TSS selector out of the PCB and put it into mdproc.  We
need to access this when we have the proclist locked for reading,
and thus cannot store it in the PCB (which may be swapped out).

As part of this, call pmap_activate() from cpu_switch() to switch
to the new address space, and refresh the PCB's copy of the LDT
selector from the pmap structure (see above paragraph).  We need
to do this for MP support anyhow.

Fixes a "panic: spinlock_switchcheck: CPU 0 has 1 spin locks" via
gdt_compact() reported by Nathan Williams.

Revision 1.83.2.8 / (download) - annotate - [select for diffs], Mon Aug 7 01:08:45 2000 UTC (23 years, 3 months ago) by sommerfeld
Branch: sommerfeld_i386mp_1
Changes since 1.83.2.7: +1 -5 lines
Diff to previous 1.83.2.7 (colored) to branchpoint 1.83 (colored)

Merge sommerfeld_i386mp_1 branch forward to 20000806 sources

Revision 1.96 / (download) - annotate - [select for diffs], Thu Jun 29 08:44:53 2000 UTC (23 years, 5 months ago) by mrg
Branch: MAIN
Changes since 1.95: +1 -3 lines
Diff to previous 1.95 (colored)

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

Revision 1.95 / (download) - annotate - [select for diffs], Mon Jun 26 14:20:44 2000 UTC (23 years, 5 months ago) by mrg
Branch: MAIN
Changes since 1.94: +1 -3 lines
Diff to previous 1.94 (colored)

remove/move more mach vm header files:

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

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

Revision 1.83.2.7 / (download) - annotate - [select for diffs], Mon Jun 26 02:04:10 2000 UTC (23 years, 5 months ago) by sommerfeld
Branch: sommerfeld_i386mp_1
Changes since 1.83.2.6: +4 -3 lines
Diff to previous 1.83.2.6 (colored) to branchpoint 1.83 (colored)

Start making npx.c MP-safe; Interface to npx now specifies the process
and/or cpu to act on.  Implement an IPI for MP lazy FP save.
Tested and working when only one CPU is running; untested in the MP
case since we can't run user processes on multiple CPU's yet.

Along for the ride:
 - Change i386_send_ipi to take a "struct cpu_info *" rather than a cpu number.
 - Turn off the "give me the brain" test IPI's.

Revision 1.83.2.6 / (download) - annotate - [select for diffs], Sun Jun 25 19:37:05 2000 UTC (23 years, 5 months ago) by sommerfeld
Branch: sommerfeld_i386mp_1
Changes since 1.83.2.5: +11 -6 lines
Diff to previous 1.83.2.5 (colored) to branchpoint 1.83 (colored)

Merge up to just-post-1.5 -current

Revision 1.90.2.1 / (download) - annotate - [select for diffs], Thu Jun 22 17:00:27 2000 UTC (23 years, 5 months ago) by minoura
Branch: minoura-xpg4dl
Changes since 1.90: +6 -1 lines
Diff to previous 1.90 (colored) next main 1.91 (colored)

Sync w/ netbsd-1-5-base.

Revision 1.94 / (download) - annotate - [select for diffs], Thu Jun 15 13:35:27 2000 UTC (23 years, 5 months ago) by mycroft
Branch: MAIN
CVS Tags: sommerfeld_i386mp_houseclean, netbsd-1-5-base, netbsd-1-5-ALPHA2
Branch point for: netbsd-1-5
Changes since 1.93: +5 -1 lines
Diff to previous 1.93 (colored)

Disable pmap_copy() for now.

Revision 1.93 / (download) - annotate - [select for diffs], Sat Jun 3 17:33:28 2000 UTC (23 years, 5 months ago) by fvdl
Branch: MAIN
Changes since 1.92: +63 -4 lines
Diff to previous 1.92 (colored)

Revert previous change until the problem it has has been analyzed.

Revision 1.92 / (download) - annotate - [select for diffs], Fri Jun 2 18:33:16 2000 UTC (23 years, 5 months ago) by thorpej
Branch: MAIN
Changes since 1.91: +5 -64 lines
Diff to previous 1.91 (colored)

Rearrange the code that loads pages into the VM system somewhat, and
use the ACPI memory map if provided by the boot program.

Revision 1.91 / (download) - annotate - [select for diffs], Fri Jun 2 17:46:37 2000 UTC (23 years, 5 months ago) by thorpej
Branch: MAIN
Changes since 1.90: +2 -1 lines
Diff to previous 1.90 (colored)

When allocating new PT pages during early bootstrap (i.e. before
pmap_init() has finished), make sure to zero them.

Revision 1.90 / (download) - annotate - [select for diffs], Fri May 19 04:34:40 2000 UTC (23 years, 6 months ago) by thorpej
Branch: MAIN
CVS Tags: minoura-xpg4dl-base
Branch point for: minoura-xpg4dl
Changes since 1.89: +6 -6 lines
Diff to previous 1.89 (colored)

NULL != 0

Revision 1.83.2.5 / (download) - annotate - [select for diffs], Wed May 3 14:42:32 2000 UTC (23 years, 6 months ago) by sommerfeld
Branch: sommerfeld_i386mp_1
Changes since 1.83.2.4: +38 -6 lines
Diff to previous 1.83.2.4 (colored) to branchpoint 1.83 (colored)

Merge with -current

Revision 1.89 / (download) - annotate - [select for diffs], Mon Apr 24 17:18:17 2000 UTC (23 years, 7 months ago) by thorpej
Branch: MAIN
Changes since 1.88: +35 -7 lines
Diff to previous 1.88 (colored)

Glue in uvm_pageidlezero().  While here, improve some panic messages
in pmap.c, as requested by Jonathan Stone.

Revision 1.83.2.4 / (download) - annotate - [select for diffs], Mon Apr 17 01:43:24 2000 UTC (23 years, 7 months ago) by sommerfeld
Branch: sommerfeld_i386mp_1
Changes since 1.83.2.3: +13 -6 lines
Diff to previous 1.83.2.3 (colored) to branchpoint 1.83 (colored)

Catch up sommerfeld_i386mp_1 branch with -current.

Revision 1.88 / (download) - annotate - [select for diffs], Tue Apr 11 06:30:28 2000 UTC (23 years, 7 months ago) by matthias
Branch: MAIN
CVS Tags: sommerfeld_i386mpbase_20000422
Changes since 1.87: +2 -2 lines
Diff to previous 1.87 (colored)

Fix typo, DIAGNOSITC -> DIAGNOSTIC

Revision 1.87 / (download) - annotate - [select for diffs], Mon Apr 10 06:34:11 2000 UTC (23 years, 7 months ago) by thorpej
Branch: MAIN
Changes since 1.86: +4 -3 lines
Diff to previous 1.86 (colored)

Use UVM_PGA_ZERO in pmap_alloc_ptp().

Revision 1.86 / (download) - annotate - [select for diffs], Mon Apr 10 01:21:06 2000 UTC (23 years, 7 months ago) by chs
Branch: MAIN
Changes since 1.85: +2 -2 lines
Diff to previous 1.85 (colored)

add newline at end of debug printf.

Revision 1.85 / (download) - annotate - [select for diffs], Sun Apr 2 20:39:16 2000 UTC (23 years, 7 months ago) by thorpej
Branch: MAIN
Changes since 1.84: +8 -2 lines
Diff to previous 1.84 (colored)

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.83.2.3 / (download) - annotate - [select for diffs], Mon Feb 21 19:49:54 2000 UTC (23 years, 9 months ago) by sommerfeld
Branch: sommerfeld_i386mp_1
Changes since 1.83.2.2: +83 -32 lines
Diff to previous 1.83.2.2 (colored) to branchpoint 1.83 (colored)

Merge in rev 1.84 of pmap.c

Revision 1.83.2.2 / (download) - annotate - [select for diffs], Mon Feb 21 18:44:50 2000 UTC (23 years, 9 months ago) by sommerfeld
Branch: sommerfeld_i386mp_1
Changes since 1.83.2.1: +1 -5 lines
Diff to previous 1.83.2.1 (colored) to branchpoint 1.83 (colored)

#if 0 patrol

Revision 1.84 / (download) - annotate - [select for diffs], Mon Feb 21 02:01:24 2000 UTC (23 years, 9 months ago) by chs
Branch: MAIN
Changes since 1.83: +82 -32 lines
Diff to previous 1.83 (colored)

several fixes:
  1.  in pmap_steal_ptp(), don't trylock the pmap that wants a ptp,
      the caller already has it locked.
  2.  do not panic in pmap_enter() due to memory allocation failures when
      the PMAP_CANFAIL flag is given.  to this end, move all such panics
      from the lower-level routines to pmap_enter() and pmap_growkernel()
      where we can check for this flag.
  3.  add #ifdef DIAGNOSTIC around all panics which are only reachable
      if there's a bug or a hardware error.

Revision 1.83.2.1 / (download) - annotate - [select for diffs], Sun Feb 20 18:14:44 2000 UTC (23 years, 9 months ago) by sommerfeld
Branch: sommerfeld_i386mp_1
Changes since 1.83: +622 -92 lines
Diff to previous 1.83 (colored)

Preliminary TLB shootdown support.
In liu of previous deferred invalidation support, use TLB shootdown
queues even on uniprocessor.

Defer enabling global page support in CR4 until processor class has
been identified.  On a GENERIC kernel which includes 386 support,
turning on global page support before identifycpu has set cpu_class
results in stale global TLB entries which confuse the MP BIOS probe
code.

Revision 1.79.8.1 / (download) - annotate - [select for diffs], Mon Dec 27 18:32:21 1999 UTC (23 years, 11 months ago) by wrstuden
Branch: wrstuden-devbsize
Changes since 1.79: +17 -13 lines
Diff to previous 1.79 (colored) next main 1.80 (colored)

Pull up to last week's -current.

Revision 1.83 / (download) - annotate - [select for diffs], Sat Dec 11 19:39:31 1999 UTC (23 years, 11 months ago) by sommerfeld
Branch: MAIN
CVS Tags: wrstuden-devbsize-base, wrstuden-devbsize-19991221, chs-ubc2-newbase
Branch point for: sommerfeld_i386mp_1
Changes since 1.82: +2 -2 lines
Diff to previous 1.82 (colored)

MP: spinlockinit actually takes 3 args, not 4.

Revision 1.82 / (download) - annotate - [select for diffs], Fri Dec 3 18:49:37 1999 UTC (23 years, 11 months ago) by thorpej
Branch: MAIN
Changes since 1.81: +6 -6 lines
Diff to previous 1.81 (colored)

Make pmap_main_lock a spin lock, not a sleep lock.

Revision 1.81 / (download) - annotate - [select for diffs], Wed Nov 24 18:32:50 1999 UTC (24 years ago) by drochner
Branch: MAIN
Changes since 1.80: +5 -3 lines
Diff to previous 1.80 (colored)

fix vm_page initialization for the case where kernel+symbols+tables
exceed 16M

Revision 1.79.4.1 / (download) - annotate - [select for diffs], Mon Nov 15 00:38:02 1999 UTC (24 years ago) by fvdl
Branch: fvdl-softdep
Changes since 1.79: +8 -6 lines
Diff to previous 1.79 (colored) next main 1.80 (colored)

Sync with -current

Revision 1.80 / (download) - annotate - [select for diffs], Sat Nov 13 00:30:34 1999 UTC (24 years ago) by thorpej
Branch: MAIN
CVS Tags: fvdl-softdep-base
Changes since 1.79: +8 -6 lines
Diff to previous 1.79 (colored)

Update for pmap_enter() API change.  No functional difference.

Revision 1.79 / (download) - annotate - [select for diffs], Wed Aug 18 03:59:36 1999 UTC (24 years, 3 months ago) by chs
Branch: MAIN
CVS Tags: comdex-fall-1999-base, comdex-fall-1999
Branch point for: wrstuden-devbsize, thorpej_scsipi, fvdl-softdep
Changes since 1.78: +16 -87 lines
Diff to previous 1.78 (colored)

two changes to prevent the kernel's pmap from being locked recursively
via interrupts:

(1) pmap_map_ptes() and pmap_unmap_ptes() don't need to do anything to
    map the kernel's pmap, since all pmaps contain the kernel's PTPs.
    this fixes interrupt-context calls to pmap_extract().
(2) pmap_kenter_*() and pmap_kremove() no longer adjust the kernel pmap's
    resident and wired counters.

Revision 1.68.4.2 / (download) - annotate - [select for diffs], Mon Aug 2 19:50:33 1999 UTC (24 years, 3 months ago) by thorpej
Branch: chs-ubc2
Changes since 1.68.4.1: +2499 -2517 lines
Diff to previous 1.68.4.1 (colored) to branchpoint 1.68 (colored) next main 1.69 (colored)

Update from trunk.

Revision 1.78 / (download) - annotate - [select for diffs], Wed Jul 28 06:54:41 1999 UTC (24 years, 4 months ago) by thorpej
Branch: MAIN
CVS Tags: chs-ubc2-base
Changes since 1.77: +23 -11 lines
Diff to previous 1.77 (colored)

Fix another locking error: if freeing a PV entry, don't attempt to
free a PV page if the PV entry was associated with the kernel pmap,
since the kernel pmap is locked, and freeing the page will execute
a code path which will attempt to lock it again, resulting in deadlock.
No real loss, since the next time a PV entry is freed, the page will
be freed, too.

Revision 1.77 / (download) - annotate - [select for diffs], Wed Jul 28 05:37:54 1999 UTC (24 years, 4 months ago) by thorpej
Branch: MAIN
Changes since 1.76: +37 -14 lines
Diff to previous 1.76 (colored)

Fix a locking error: When allocating a PV page for the kernel pmap,
the pmap would be locked, and we would deadlock when mapping the
newly allocate PV page.

Revision 1.76 / (download) - annotate - [select for diffs], Wed Jul 28 01:17:01 1999 UTC (24 years, 4 months ago) by thorpej
Branch: MAIN
Changes since 1.75: +25 -36 lines
Diff to previous 1.75 (colored)

Slight adjustment to last; move pmap_kenter_pa() to where the other
pmap_k* functions are.

Revision 1.75 / (download) - annotate - [select for diffs], Wed Jul 28 01:07:58 1999 UTC (24 years, 4 months ago) by thorpej
Branch: MAIN
Changes since 1.74: +33 -1 lines
Diff to previous 1.74 (colored)

Don't inline pmap_kenter_pa().  It doesn't buy us much to do so, and
it's nice to have it show up in stack traces.

Revision 1.74 / (download) - annotate - [select for diffs], Sun Jul 18 21:33:20 1999 UTC (24 years, 4 months ago) by chs
Branch: MAIN
Changes since 1.73: +2423 -2497 lines
Diff to previous 1.73 (colored)

KNF.

Revision 1.73 / (download) - annotate - [select for diffs], Thu Jul 8 18:05:28 1999 UTC (24 years, 4 months ago) by thorpej
Branch: MAIN
Changes since 1.72: +9 -9 lines
Diff to previous 1.72 (colored)

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.68.4.1 / (download) - annotate - [select for diffs], Mon Jun 21 00:49:59 1999 UTC (24 years, 5 months ago) by thorpej
Branch: chs-ubc2
Changes since 1.68: +3434 -1530 lines
Diff to previous 1.68 (colored)

Sync w/ -current.

Revision 1.72 / (download) - annotate - [select for diffs], Thu Jun 17 19:23:24 1999 UTC (24 years, 5 months ago) by thorpej
Branch: MAIN
Changes since 1.71: +16 -10 lines
Diff to previous 1.71 (colored)

pmap_change_wiring() -> pmap_unwire().

Revision 1.71 / (download) - annotate - [select for diffs], Thu Jun 17 18:21:30 1999 UTC (24 years, 5 months ago) by thorpej
Branch: MAIN
Changes since 1.70: +1 -20 lines
Diff to previous 1.70 (colored)

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.70 / (download) - annotate - [select for diffs], Thu Jun 17 00:12:11 1999 UTC (24 years, 5 months ago) by thorpej
Branch: MAIN
Changes since 1.69: +3437 -1617 lines
Diff to previous 1.69 (colored)

PMAP_NEW is no longer optional on the i386; the old pmap's page table
allocation strategy no longer works at all.  Move pmap.new.* to pmap.*.

To read the revision history of PMAP_NEW up until this merge, use cvs
rlog of the old pmap.new.* files.

Revision 1.69 / (download) - annotate - [select for diffs], Wed May 12 19:28:29 1999 UTC (24 years, 6 months ago) by thorpej
Branch: MAIN
Changes since 1.68: +98 -1 lines
Diff to previous 1.68 (colored)

Move the user-set LDT out of the PCB and into the pmap.  Applications
which set the LDT and share VM space (e.g. new versions of WINE) expect
the LDT to be logically coupled to the address space.  Use the new pmap_fork()
interface to copy non-shared user-set LDTs when the address space is forked.

Revision 1.68 / (download) - annotate - [select for diffs], Sat Mar 27 05:57:04 1999 UTC (24 years, 8 months ago) by mycroft
Branch: MAIN
CVS Tags: netbsd-1-4-base, netbsd-1-4-RELEASE, netbsd-1-4-PATCH003, netbsd-1-4-PATCH002, netbsd-1-4-PATCH001, netbsd-1-4, kame_14_19990705, kame_14_19990628, kame_141_19991130, kame
Branch point for: chs-ubc2
Changes since 1.67: +6 -4 lines
Diff to previous 1.67 (colored)

Fix a bug in pmap_collect_pv(), even though nobody currently uses it:
When we put a page on the collection list, we must subtract NPVPPG from the
total free count: one for each pv_entry that's free in that page, and one for
each free pv_entry in other pages that we're going to eat by moving the ones
in the page being collected.

Revision 1.67 / (download) - annotate - [select for diffs], Fri Mar 26 23:41:30 1999 UTC (24 years, 8 months ago) by mycroft
Branch: MAIN
Changes since 1.66: +4 -3 lines
Diff to previous 1.66 (colored)

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.66 / (download) - annotate - [select for diffs], Wed Mar 24 05:51:01 1999 UTC (24 years, 8 months ago) by mrg
Branch: MAIN
Changes since 1.65: +1 -49 lines
Diff to previous 1.65 (colored)

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

Revision 1.65 / (download) - annotate - [select for diffs], Fri Mar 19 05:13:17 1999 UTC (24 years, 8 months ago) by cgd
Branch: MAIN
Changes since 1.64: +2 -2 lines
Diff to previous 1.64 (colored)

pull isa_machdep.h in from machine/ instead of from $(MACHINE)/isa/

Revision 1.64 / (download) - annotate - [select for diffs], Sat Jan 16 20:30:35 1999 UTC (24 years, 10 months ago) by chuck
Branch: MAIN
Changes since 1.63: +1 -150 lines
Diff to previous 1.63 (colored)

remove non MNN code

Revision 1.63 / (download) - annotate - [select for diffs], Fri Nov 20 17:44:39 1998 UTC (25 years ago) by drochner
Branch: MAIN
CVS Tags: kenh-if-detach-base, kenh-if-detach
Changes since 1.62: +7 -4 lines
Diff to previous 1.62 (colored)

Set the p-v list head to NULL if there are no valid mappings.
This should be not necessary because the pv_pmap member is already set to
NULL in this case which should keep the pv_next pointer from being
followed. However, PR port-i386/5291 reports that this measure helps in
at least one case (VINO).
Reviewed by Chuck Cranor, final fix is functionally identical to the PR's
proposal.

Revision 1.62 / (download) - annotate - [select for diffs], Sat Aug 15 04:49:48 1998 UTC (25 years, 3 months ago) by mycroft
Branch: MAIN
CVS Tags: chs-ubc-base, chs-ubc
Changes since 1.61: +37 -2 lines
Diff to previous 1.61 (colored)

Assign my copyrights to TNF.

Revision 1.61 / (download) - annotate - [select for diffs], Sat Aug 15 03:02:38 1998 UTC (25 years, 3 months ago) by mycroft
Branch: MAIN
Changes since 1.60: +2 -2 lines
Diff to previous 1.60 (colored)

Make copyright notices with my name consistent.

Revision 1.60 / (download) - annotate - [select for diffs], Thu Aug 13 21:36:03 1998 UTC (25 years, 3 months ago) by thorpej
Branch: MAIN
Changes since 1.59: +80 -75 lines
Diff to previous 1.59 (colored)

vm_offset_t -> {vaddr_t,paddr_t}, vm_size_t -> vsize_t

Revision 1.59 / (download) - annotate - [select for diffs], Wed Aug 5 02:45:09 1998 UTC (25 years, 3 months ago) by perry
Branch: MAIN
Changes since 1.58: +8 -8 lines
Diff to previous 1.58 (colored)

bzero->memset, bcopy->memcpy, bcmp->memcmp

Revision 1.58 / (download) - annotate - [select for diffs], Wed Jul 8 05:41:59 1998 UTC (25 years, 4 months ago) by thorpej
Branch: MAIN
CVS Tags: eeh-paddr_t-base, eeh-paddr_t
Changes since 1.57: +20 -4 lines
Diff to previous 1.57 (colored)

From pmap.new.c (UVM case only):

Put the first 16M of RAM onto the "first16" free list, and everthing
else onto the default free list.

Revision 1.57 / (download) - annotate - [select for diffs], Tue May 19 19:00:15 1998 UTC (25 years, 6 months ago) by thorpej
Branch: MAIN
Changes since 1.56: +3 -1 lines
Diff to previous 1.56 (colored)

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.56 / (download) - annotate - [select for diffs], Tue Feb 10 14:11:11 1998 UTC (25 years, 9 months ago) by mrg
Branch: MAIN
Changes since 1.55: +2 -1 lines
Diff to previous 1.55 (colored)

- add defopt's for UVM, UVMHIST and PMAP_NEW.
- remove unnecessary UVMHIST_DECL's.

Revision 1.55 / (download) - annotate - [select for diffs], Fri Feb 6 07:21:58 1998 UTC (25 years, 9 months ago) by mrg
Branch: MAIN
Changes since 1.54: +56 -2 lines
Diff to previous 1.54 (colored)

add the i386 MD portions for UVM.

Revision 1.54 / (download) - annotate - [select for diffs], Fri Jan 23 00:44:08 1998 UTC (25 years, 10 months ago) by mycroft
Branch: MAIN
Changes since 1.53: +9 -8 lines
Diff to previous 1.53 (colored)

Some rearrangement of the startup code:
* Move some of the memory bootstrapping and the DDB startup earlier.
* Always put the IDT and the initial GDT and LDT in a separate page.
* Various minor changes.

Revision 1.53 / (download) - annotate - [select for diffs], Tue Jan 20 12:48:05 1998 UTC (25 years, 10 months ago) by drochner
Branch: MAIN
Changes since 1.52: +2 -2 lines
Diff to previous 1.52 (colored)

fix typo in DEBUG code

Revision 1.52 / (download) - annotate - [select for diffs], Thu Jan 15 19:47:42 1998 UTC (25 years, 10 months ago) by thorpej
Branch: MAIN
Changes since 1.51: +3 -1 lines
Diff to previous 1.51 (colored)

Generate dependencies on the CPU type options (I386_CPU, I486_CPU, ...)

Revision 1.51 / (download) - annotate - [select for diffs], Tue Jan 13 12:52:21 1998 UTC (25 years, 10 months ago) by mrg
Branch: MAIN
Changes since 1.50: +203 -19 lines
Diff to previous 1.50 (colored)

this is the i386 MD portion of the MACHINE_NEW_NONCONTIG code, as
written by chuck cranor.  thanks to mycroft for helping me find the
one little line of code i accidentally deleted while merging it.

this is not enabled by default.  `options MACHINE_NEW_NONCONTIG'
will use this code.  eventually, this should go into <machine/vmparam.h>
insteaed of MACHINE_NONCONTIG.

Revision 1.50 / (download) - annotate - [select for diffs], Fri Jan 9 04:37:56 1998 UTC (25 years, 10 months ago) by mrg
Branch: MAIN
Changes since 1.49: +6 -1 lines
Diff to previous 1.49 (colored)

call vm_set_page_size().

Revision 1.49 / (download) - annotate - [select for diffs], Tue Jan 6 07:16:06 1998 UTC (25 years, 10 months ago) by thorpej
Branch: MAIN
Changes since 1.48: +1 -2 lines
Diff to previous 1.48 (colored)

Garbage-collect pm_pdchanged; it's not used by anything.

Revision 1.44.2.2 / (download) - annotate - [select for diffs], Wed Nov 19 21:22:22 1997 UTC (26 years ago) by mellon
Branch: netbsd-1-3
CVS Tags: netbsd-1-3-RELEASE, netbsd-1-3-PATCH003-CANDIDATE2, netbsd-1-3-PATCH003-CANDIDATE1, netbsd-1-3-PATCH003-CANDIDATE0, netbsd-1-3-PATCH003, netbsd-1-3-PATCH002, netbsd-1-3-PATCH001, netbsd-1-3-BETA
Changes since 1.44.2.1: +2 -2 lines
Diff to previous 1.44.2.1 (colored) to branchpoint 1.44 (colored) next main 1.45 (colored)

Pull rev 1.48 up from trunk (mycroft)

Revision 1.48 / (download) - annotate - [select for diffs], Wed Nov 19 11:11:29 1997 UTC (26 years ago) by mycroft
Branch: MAIN
Changes since 1.47: +2 -2 lines
Diff to previous 1.47 (colored)

Do the Pentium bug fix differently.  Put the IDT in a read-only page and check
for a write fault on the illegal instruction descriptor.  Don't ask why this
works unless you have a strong stomach.

Revision 1.44.2.1 / (download) - annotate - [select for diffs], Thu Nov 13 08:06:11 1997 UTC (26 years ago) by mellon
Branch: netbsd-1-3
Changes since 1.44: +30 -27 lines
Diff to previous 1.44 (colored)

Pull rev 1.46 and 1.47 up from trunk (mycroft)

Revision 1.47 / (download) - annotate - [select for diffs], Thu Nov 13 03:25:33 1997 UTC (26 years ago) by mycroft
Branch: MAIN
Changes since 1.46: +13 -2 lines
Diff to previous 1.46 (colored)

Implement the BSDI kluge for the Pentium `hang'; leave the first 7 IDT
descriptors in an unmapped page, and patch up the trap information inside
the page fault handler if the faulting VA is inside the IDT.

Revision 1.46 / (download) - annotate - [select for diffs], Thu Nov 13 03:16:49 1997 UTC (26 years ago) by mycroft
Branch: MAIN
Changes since 1.45: +19 -27 lines
Diff to previous 1.45 (colored)

Some general cleanup:
* Call gdt_init() earlier on.
* Don't bother to check for TSS and LDT descriptors in verr_gdt().
* Nuke the sti special case for trace and breakpoint traps.
* Move some variable declarations into more appropriate locations.

Revision 1.45 / (download) - annotate - [select for diffs], Tue Nov 4 01:37:01 1997 UTC (26 years ago) by thorpej
Branch: MAIN
Changes since 1.44: +21 -15 lines
Diff to previous 1.44 (colored)

Make pmap_{,de}activate() take a pointer to a proc.

Revision 1.43.4.1 / (download) - annotate - [select for diffs], Mon Sep 22 06:31:07 1997 UTC (26 years, 2 months ago) by thorpej
Branch: marc-pcmcia
Changes since 1.43: +7 -7 lines
Diff to previous 1.43 (colored) next main 1.44 (colored)

Update marc-pcmcia branch from trunk.

Revision 1.44 / (download) - annotate - [select for diffs], Fri Sep 19 13:54:17 1997 UTC (26 years, 2 months ago) by leo
Branch: MAIN
CVS Tags: netbsd-1-3-base, marc-pcmcia-base
Branch point for: netbsd-1-3
Changes since 1.43: +7 -7 lines
Diff to previous 1.43 (colored)

Implement the kernel part of pr-1891. This allows for a more flexible sized
msgbuf. Note that old 'dmesg' and 'syslogd' binaries will continue running,
though old 'dmesg' binaries will output a few bytes of junk at the start of
the buffer, and will miss a few bytes at the end of the buffer.

Revision 1.43 / (download) - annotate - [select for diffs], Thu Jun 12 23:57:28 1997 UTC (26 years, 5 months ago) by thorpej
Branch: MAIN
CVS Tags: thorpej-signal-base, thorpej-signal, marc-pcmcia-bp, bouyer-scsipi
Branch point for: marc-pcmcia
Changes since 1.42: +3 -3 lines
Diff to previous 1.42 (colored)

Nuke __VM_PMAP_HACK.

Revision 1.42 / (download) - annotate - [select for diffs], Fri Jun 6 23:14:22 1997 UTC (26 years, 5 months ago) by thorpej
Branch: MAIN
Changes since 1.41: +1 -10 lines
Diff to previous 1.41 (colored)

Pull thorpej-bus-dma branch into mainline.

Revision 1.41.8.1 / (download) - annotate - [select for diffs], Tue May 13 02:51:24 1997 UTC (26 years, 6 months ago) by thorpej
Branch: thorpej-bus-dma
Changes since 1.41: +1 -10 lines
Diff to previous 1.41 (colored) next main 1.42 (colored)

Garbage-collect the isaphysmem hack; it is no longer needed.

Revision 1.41 / (download) - annotate - [select for diffs], Mon Nov 18 01:06:14 1996 UTC (27 years ago) by fvdl
Branch: MAIN
CVS Tags: thorpej-setroot, thorpej-bus-dma-base, mrg-vm-swap, is-newarp-before-merge, is-newarp-base, is-newarp
Branch point for: thorpej-bus-dma
Changes since 1.40: +10 -4 lines
Diff to previous 1.40 (colored)

Changes for NKPDE calculation from cgd.

- New variables: biosextmem, biosbasemem, nkpde
- Above can be set by using the options BIOSEXTMEM, BIOSBASEMEM,
  and NKPDE respectively (EXTMEM_SIZE is now called BIOSEXTMEM).
  When preset this way, they won't be filled in / calculated.
- Readable by sysctl using machdep.nkpde, machdep.biosbasemem
  and machdep.biosextmem.
- nkpde is calculated as:

	min(NKPDE_MAX, NKPDE_BASE + (biosextmem >> 10) * NKPDE_SCALE)

  Where NKPDE_MAX is 31, NKPDE_BASE is 4, NKPDE_SCALE = 1.

Revision 1.40 / (download) - annotate - [select for diffs], Fri Oct 18 09:03:42 1996 UTC (27 years, 1 month ago) by fvdl
Branch: MAIN
Changes since 1.39: +9 -8 lines
Diff to previous 1.39 (colored)

Fix some printf formatting strings within DEBUG and DIAGNOSTIC defines.
From Mike Long, PR 2859

Revision 1.39 / (download) - annotate - [select for diffs], Thu Oct 17 05:11:47 1996 UTC (27 years, 1 month ago) by jonathan
Branch: MAIN
Changes since 1.38: +40 -33 lines
Diff to previous 1.38 (colored)

Remove lint inside #ifdef DEBUG:
  * fix pmap debugging format strings: "%x" -> "%lx" for vm_offset_t
         "%x" -> "%p" for pointers.
  * add prottypes for pmap dumping functions
  * add missing return types on pmap dumping functions
  * move initialization of pamp_enter_pv():pv  before #ifdef DEBUG code
    which uses pv.

Revision 1.38 / (download) - annotate - [select for diffs], Sun Oct 13 03:19:50 1996 UTC (27 years, 1 month ago) by christos
Branch: MAIN
Changes since 1.37: +42 -42 lines
Diff to previous 1.37 (colored)

backout previous kprintf changes

Revision 1.37 / (download) - annotate - [select for diffs], Fri Oct 11 00:26:53 1996 UTC (27 years, 1 month ago) by christos
Branch: MAIN
Changes since 1.36: +42 -42 lines
Diff to previous 1.36 (colored)

printf -> kprintf, sprintf -> ksprintf

Revision 1.36 / (download) - annotate - [select for diffs], Fri May 3 19:42:22 1996 UTC (27 years, 6 months ago) by christos
Branch: MAIN
CVS Tags: netbsd-1-2-base, netbsd-1-2-RELEASE, netbsd-1-2-PATCH001, netbsd-1-2-BETA, netbsd-1-2
Changes since 1.35: +17 -15 lines
Diff to previous 1.35 (colored)

Prototype and gcc -Wall cleanups

Revision 1.35 / (download) - annotate - [select for diffs], Wed Apr 3 08:21:05 1996 UTC (27 years, 7 months ago) by mycroft
Branch: MAIN
Changes since 1.34: +3 -1 lines
Diff to previous 1.34 (colored)

Add explicit return types.

Revision 1.33.2.1 / (download) - annotate - [select for diffs], Tue Dec 26 21:12:33 1995 UTC (27 years, 11 months ago) by mycroft
Branch: netbsd-1-1
CVS Tags: netbsd-1-1-PATCH001
Changes since 1.33: +3 -4 lines
Diff to previous 1.33 (colored) next main 1.34 (colored)

Pull in NISA->NISADMA fix from trunk.

Revision 1.34 / (download) - annotate - [select for diffs], Sat Dec 9 07:39:02 1995 UTC (27 years, 11 months ago) by mycroft
Branch: MAIN
Changes since 1.33: +3 -4 lines
Diff to previous 1.33 (colored)

NISA --> NISADMA, per Neil McRae.

Revision 1.33 / (download) - annotate - [select for diffs], Mon Jun 26 05:21:58 1995 UTC (28 years, 5 months ago) by cgd
Branch: MAIN
CVS Tags: netbsd-1-1-base, netbsd-1-1-RELEASE
Branch point for: netbsd-1-1
Changes since 1.32: +1 -5 lines
Diff to previous 1.32 (colored)

reserve VM to map pages being dumped

Revision 1.32 / (download) - annotate - [select for diffs], Fri May 12 20:57:22 1995 UTC (28 years, 6 months ago) by mycroft
Branch: MAIN
Changes since 1.31: +2 -2 lines
Diff to previous 1.31 (colored)

Map the source page of a copy read-only.

Revision 1.31 / (download) - annotate - [select for diffs], Mon May 1 08:06:46 1995 UTC (28 years, 7 months ago) by mycroft
Branch: MAIN
Changes since 1.30: +5 -5 lines
Diff to previous 1.30 (colored)

Update to match include files.  Eliminate _ucodesel, _udatasel, and IdlePTD.

Revision 1.30 / (download) - annotate - [select for diffs], Fri Apr 21 06:23:56 1995 UTC (28 years, 7 months ago) by mycroft
Branch: MAIN
Changes since 1.29: +3 -6 lines
Diff to previous 1.29 (colored)

Remove the (unused) extra mapping of the first 1MB.  Undo the double-mapping
of the first 4MB earlier.

Revision 1.29 / (download) - annotate - [select for diffs], Mon Apr 17 12:06:49 1995 UTC (28 years, 7 months ago) by cgd
Branch: MAIN
Changes since 1.28: +3 -2 lines
Diff to previous 1.28 (colored)

clean up several ISA device interfaces: autoconfiguration, header
inclusion, and interrupt configuration.  more work still needs to be done,
but it's getting better...

Revision 1.28 / (download) - annotate - [select for diffs], Mon Apr 10 12:42:02 1995 UTC (28 years, 7 months ago) by mycroft
Branch: MAIN
Changes since 1.27: +20 -20 lines
Diff to previous 1.27 (colored)

Bring back pmap_kernel(), for now always inlined as a pointer to
kernel_pmap_store.

Revision 1.27 / (download) - annotate - [select for diffs], Tue Nov 8 01:17:19 1994 UTC (29 years ago) by mycroft
Branch: MAIN
Changes since 1.26: +4 -4 lines
Diff to previous 1.26 (colored)

Allocate pv_pages differently.

Revision 1.26 / (download) - annotate - [select for diffs], Fri Nov 4 00:01:02 1994 UTC (29 years ago) by mycroft
Branch: MAIN
Changes since 1.25: +3 -3 lines
Diff to previous 1.25 (colored)

isa.h -> isareg.h

Revision 1.25 / (download) - annotate - [select for diffs], Thu Oct 27 04:15:41 1994 UTC (29 years, 1 month ago) by cgd
Branch: MAIN
CVS Tags: before_newconf_base
Changes since 1.24: +3 -2 lines
Diff to previous 1.24 (colored)

new RCS ID format.

Revision 1.19.2.3 / (download) - annotate - [select for diffs], Tue Oct 18 10:06:18 1994 UTC (29 years, 1 month ago) by cgd
Branch: netbsd-1-0
CVS Tags: netbsd-1-0-RELEASE, netbsd-1-0-PATCH1, netbsd-1-0-PATCH06, netbsd-1-0-PATCH05, netbsd-1-0-PATCH04, netbsd-1-0-PATCH03, netbsd-1-0-PATCH02, netbsd-1-0-PATCH0
Changes since 1.19.2.2: +2 -3 lines
Diff to previous 1.19.2.2 (colored) next main 1.20 (colored)

from trunk

Revision 1.24 / (download) - annotate - [select for diffs], Tue Oct 18 06:11:15 1994 UTC (29 years, 1 month ago) by cgd
Branch: MAIN
Changes since 1.23: +2 -3 lines
Diff to previous 1.23 (colored)

there are no flags between us (and compiling) any more.

Revision 1.19.2.2 / (download) - annotate - [select for diffs], Tue Oct 11 10:01:16 1994 UTC (29 years, 1 month ago) by mycroft
Branch: netbsd-1-0
Changes since 1.19.2.1: +1719 -0 lines
Diff to previous 1.19.2.1 (colored)

Update from trunk.

Revision 1.23 / (download) - annotate - [select for diffs], Sun Oct 9 15:02:12 1994 UTC (29 years, 1 month ago) by mycroft
Branch: MAIN
Changes since 1.22: +1 -2 lines
Diff to previous 1.22 (colored)

#include cpufunc.h from pmap.h.

Revision 1.22 / (download) - annotate - [select for diffs], Fri Sep 9 23:58:48 1994 UTC (29 years, 2 months ago) by mycroft
Branch: MAIN
Changes since 1.21: +34 -16 lines
Diff to previous 1.21 (colored)

Make kernel_pmap a macro that points directly to kernel_pmap_store.

Revision 1.21 / (download) - annotate - [select for diffs], Thu Sep 8 21:03:43 1994 UTC (29 years, 2 months ago) by mycroft
Branch: MAIN
Changes since 1.20: +76 -14 lines
Diff to previous 1.20 (colored)

Add a simple pv_page garbage collector (currently disabled).

Revision 1.20 / (download) - annotate - [select for diffs], Wed Sep 7 20:48:55 1994 UTC (29 years, 2 months ago) by mycroft
Branch: MAIN
Changes since 1.19: +336 -350 lines
Diff to previous 1.19 (colored)

Various changes:
* Inline some functions.
* Eliminate redundant calls to pmap_page_index().
* Reduce the number of TLB flushes in accordance with the i386 SSWG.
* Inline pmap_remove() in pmap_remove_all().  (Most if it is unnecessary.)
* Allocate pv_entry's in pages, and keep a list of free entries in each page,
and a list of pages with free entries.  (Trying to reduce malloc() overhead,
and improve locality of reference.)
* Remove a couple of macros that aren't really useful.
* Remove pmap_kernel() completely.

Revision 1.19.2.1, Fri Sep 2 05:12:12 1994 UTC (29 years, 2 months ago) by mycroft
Branch: netbsd-1-0
Changes since 1.19: +0 -1654 lines
FILE REMOVED

file pmap.c was added on branch netbsd-1-0 on 1994-10-11 10:01:16 +0000

Revision 1.19 / (download) - annotate - [select for diffs], Fri Sep 2 05:12:12 1994 UTC (29 years, 2 months ago) by mycroft
Branch: MAIN
Branch point for: netbsd-1-0
Changes since 1.18: +7 -9 lines
Diff to previous 1.18 (colored)

Fix some ugly code.

Revision 1.17.2.1 / (download) - annotate - [select for diffs], Mon Aug 15 14:47:23 1994 UTC (29 years, 3 months ago) by mycroft
Changes since 1.17: +43 -45 lines
Diff to previous 1.17 (colored) next main 1.18 (colored)

update from trunk

Revision 1.18 / (download) - annotate - [select for diffs], Mon Aug 15 14:46:48 1994 UTC (29 years, 3 months ago) by mycroft
Branch: MAIN
Changes since 1.17: +43 -45 lines
Diff to previous 1.17 (colored)

Eliminate struct pte and struct pde.

Revision 1.17 / (download) - annotate - [select for diffs], Mon May 23 03:02:41 1994 UTC (29 years, 6 months ago) by cgd
Branch: MAIN
CVS Tags: netbsd-1-0-base
Changes since 1.16: +3 -2 lines
Diff to previous 1.16 (colored)

casts to quiet warnings

Revision 1.16 / (download) - annotate - [select for diffs], Mon May 23 02:26:37 1994 UTC (29 years, 6 months ago) by cgd
Branch: MAIN
Changes since 1.15: +11 -11 lines
Diff to previous 1.15 (colored)

pg() -> printf()

Revision 1.15 / (download) - annotate - [select for diffs], Fri Apr 29 04:41:02 1994 UTC (29 years, 7 months ago) by cgd
Branch: MAIN
Changes since 1.14: +3 -3 lines
Diff to previous 1.14 (colored)

kill syscall name aliases. no user-visible changes

Revision 1.14 / (download) - annotate - [select for diffs], Mon Mar 7 22:30:30 1994 UTC (29 years, 8 months ago) by mycroft
Branch: MAIN
Changes since 1.13: +126 -84 lines
Diff to previous 1.13 (colored)

Some minor speed improvements; inspired by John Dyson's code.

Revision 1.13 / (download) - annotate - [select for diffs], Sat Feb 12 07:14:15 1994 UTC (29 years, 9 months ago) by mycroft
Branch: MAIN
Changes since 1.12: +10 -8 lines
Diff to previous 1.12 (colored)

Avoid some TLB flushes.

Revision 1.12 / (download) - annotate - [select for diffs], Tue Jan 4 00:15:26 1994 UTC (29 years, 10 months ago) by mycroft
Branch: MAIN
CVS Tags: magnum-base
Changes since 1.11: +2 -2 lines
Diff to previous 1.11 (colored)

Fix two off-by-one errors.

Revision 1.8.2.17 / (download) - annotate - [select for diffs], Tue Jan 4 00:07:32 1994 UTC (29 years, 10 months ago) by mycroft
Branch: magnum
Changes since 1.8.2.16: +2 -2 lines
Diff to previous 1.8.2.16 (colored) next main 1.9 (colored)

Fix two off-by-one errors.

Revision 1.8.2.16 / (download) - annotate - [select for diffs], Wed Dec 15 15:02:46 1993 UTC (29 years, 11 months ago) by mycroft
Branch: magnum
Changes since 1.8.2.15: +3 -3 lines
Diff to previous 1.8.2.15 (colored)

Bug fix from trunk.

Revision 1.11 / (download) - annotate - [select for diffs], Wed Dec 15 14:47:38 1993 UTC (29 years, 11 months ago) by mycroft
Branch: MAIN
Changes since 1.10: +3 -3 lines
Diff to previous 1.10 (colored)

Fix a serious bug I introduced.

Revision 1.8.2.15 / (download) - annotate - [select for diffs], Tue Dec 14 13:03:19 1993 UTC (29 years, 11 months ago) by mycroft
Branch: magnum
Changes since 1.8.2.14: +109 -119 lines
Diff to previous 1.8.2.14 (colored)

Some general code cleanup.

Revision 1.10 / (download) - annotate - [select for diffs], Tue Dec 14 13:02:52 1993 UTC (29 years, 11 months ago) by mycroft
Branch: MAIN
Changes since 1.9: +109 -119 lines
Diff to previous 1.9 (colored)

Some general code cleanup.

Revision 1.9 / (download) - annotate - [select for diffs], Tue Dec 14 05:31:25 1993 UTC (29 years, 11 months ago) by mycroft
Branch: MAIN
Changes since 1.8: +327 -559 lines
Diff to previous 1.8 (colored)

Fold in most of the magnum vm changes.

Revision 1.8.2.14 / (download) - annotate - [select for diffs], Tue Nov 9 10:53:58 1993 UTC (30 years ago) by mycroft
Branch: magnum
Changes since 1.8.2.13: +1 -3 lines
Diff to previous 1.8.2.13 (colored)

Put back code to set PG_W, which I bogusly deleted.

Revision 1.8.2.13 / (download) - annotate - [select for diffs], Mon Nov 8 20:27:32 1993 UTC (30 years ago) by mycroft
Branch: magnum
Changes since 1.8.2.12: +61 -70 lines
Diff to previous 1.8.2.12 (colored)

Remove some redundant operations, and make sure we actually clear the PG_RW
bit when necessary.

Revision 1.8.2.12 / (download) - annotate - [select for diffs], Fri Nov 5 08:45:15 1993 UTC (30 years ago) by mycroft
Branch: magnum
Changes since 1.8.2.11: +48 -57 lines
Diff to previous 1.8.2.11 (colored)

Check the PTE's `valid' bit rather than comparing the page frame number with
zero.  Flush the TLB less often.

Revision 1.8.2.11 / (download) - annotate - [select for diffs], Fri Nov 5 07:25:56 1993 UTC (30 years ago) by mycroft
Branch: magnum
Changes since 1.8.2.10: +206 -224 lines
Diff to previous 1.8.2.10 (colored)

Smaller, simpler, faster.  Still works, though.  B-)

Revision 1.8.2.10 / (download) - annotate - [select for diffs], Sat Oct 30 13:15:43 1993 UTC (30 years, 1 month ago) by mycroft
Branch: magnum
Changes since 1.8.2.9: +1 -3 lines
Diff to previous 1.8.2.9 (colored)

Dunk unused `mem_size' variable.

Revision 1.8.2.9 / (download) - annotate - [select for diffs], Tue Oct 26 12:02:46 1993 UTC (30 years, 1 month ago) by mycroft
Branch: magnum
Changes since 1.8.2.8: +34 -84 lines
Diff to previous 1.8.2.8 (colored)

Minor cleanup.

Revision 1.8.2.8 / (download) - annotate - [select for diffs], Sat Oct 16 02:34:01 1993 UTC (30 years, 1 month ago) by mycroft
Branch: magnum
Changes since 1.8.2.7: +5 -5 lines
Diff to previous 1.8.2.7 (colored)

VM_MIN_KERNEL_ADDRESS --> VM_MAX_ADDRESS

Revision 1.8.2.7 / (download) - annotate - [select for diffs], Fri Oct 15 13:11:29 1993 UTC (30 years, 1 month ago) by mycroft
Branch: magnum
Changes since 1.8.2.6: +11 -13 lines
Diff to previous 1.8.2.6 (colored)

Major cleanup of include files and constants.

Revision 1.8.2.6 / (download) - annotate - [select for diffs], Fri Oct 15 03:21:11 1993 UTC (30 years, 1 month ago) by mycroft
Branch: magnum
Changes since 1.8.2.5: +3 -3 lines
Diff to previous 1.8.2.5 (colored)

Hace isaphysmem bogosity depend on NDMA, not NISA.

Revision 1.8.2.5 / (download) - annotate - [select for diffs], Sun Oct 10 09:35:59 1993 UTC (30 years, 1 month ago) by mycroft
Branch: magnum
Changes since 1.8.2.4: +2 -3 lines
Diff to previous 1.8.2.4 (colored)

Change some occurances of `lcr3(rcr3())' to `tlbflush()'.

Revision 1.8.2.4 / (download) - annotate - [select for diffs], Sun Oct 10 08:43:39 1993 UTC (30 years, 1 month ago) by mycroft
Branch: magnum
Changes since 1.8.2.3: +6 -8 lines
Diff to previous 1.8.2.3 (colored)

load_cr3 --> lcr3

Revision 1.8.2.3 / (download) - annotate - [select for diffs], Wed Sep 29 15:35:46 1993 UTC (30 years, 2 months ago) by mycroft
Branch: magnum
Changes since 1.8.2.2: +2 -1 lines
Diff to previous 1.8.2.2 (colored)

#include machine/cpu.h.

Revision 1.8.2.2 / (download) - annotate - [select for diffs], Fri Sep 24 08:46:04 1993 UTC (30 years, 2 months ago) by mycroft
Branch: magnum
Changes since 1.8.2.1: +2 -1 lines
Diff to previous 1.8.2.1 (colored)

Changes from trunk.
conf.c: Make strategy functions return void.  Also, we really only need
to declare swstrategy() once, not thrice.
disksubr.c: Strategy functions return void.
machdep.c: Add #ifdef DIAGNOSTIC around unexpected internal failure.
Enable PSL checks in sigreturn().
pmap.c: Add a XXXX.
trap.c: Move common return code from trap() and syscall() into new userret().

Revision 1.8.2.1 / (download) - annotate - [select for diffs], Tue Sep 14 17:28:44 1993 UTC (30 years, 2 months ago) by mycroft
Branch: magnum
Changes since 1.8: +10 -153 lines
Diff to previous 1.8 (colored)

New i386 code.

Revision 1.8 / (download) - annotate - [select for diffs], Fri Aug 27 23:52:58 1993 UTC (30 years, 3 months ago) by brezak
Branch: MAIN
Branch point for: magnum
Changes since 1.7: +122 -3 lines
Diff to previous 1.7 (colored)

i386 Machine dependant changes to handle non-contiguous memory.

Revision 1.7 / (download) - annotate - [select for diffs], Sun Jul 18 08:43:19 1993 UTC (30 years, 4 months ago) by mycroft
Branch: MAIN
CVS Tags: netbsd-0-9-patch-001, netbsd-0-9-base, netbsd-0-9-RELEASE, netbsd-0-9-BETA, netbsd-0-9-ALPHA2, netbsd-0-9-ALPHA, netbsd-0-9
Changes since 1.6: +2 -2 lines
Diff to previous 1.6 (colored)

Add a `XXX'...

Revision 1.6 / (download) - annotate - [select for diffs], Sun Jul 18 08:23:12 1993 UTC (30 years, 4 months ago) by andrew
Branch: MAIN
Changes since 1.5: +16 -5 lines
Diff to previous 1.5 (colored)

* copyin/out(), copyin/outstr(), s/fubyte() et al protection fixes,
including COW support, using code based on that from Wolfgang Solfrank and
Christoph Robitschko.

* user segment descriptors fixed to disallow access to user area.

* bde's boot >= 1MB fixes.

Revision 1.5 / (download) - annotate - [select for diffs], Sun Jun 27 06:02:54 1993 UTC (30 years, 5 months ago) by andrew
Branch: MAIN
Changes since 1.4: +3 -1 lines
Diff to previous 1.4 (colored)

ANSIfications - removed all implicit function return types and argument
definitions.  Ensured that all files include "systm.h" to gain access to
general prototypes.  Casts where necessary.

Revision 1.4 / (download) - annotate - [select for diffs], Sat May 22 07:59:57 1993 UTC (30 years, 6 months ago) by cgd
Branch: MAIN
Changes since 1.3: +2 -9 lines
Diff to previous 1.3 (colored)

add rcsids to everything and clean up headers

Revision 1.3 / (download) - annotate - [select for diffs], Sat Apr 10 00:52:34 1993 UTC (30 years, 7 months ago) by mycroft
Branch: MAIN
CVS Tags: netbsd-alpha-1, netbsd-0-8
Changes since 1.2: +3 -1 lines
Diff to previous 1.2 (colored)

Check for malloc() failure in pmap_enter().

Revision 1.2 / (download) - annotate - [select for diffs], Sun Mar 21 18:04:42 1993 UTC (30 years, 8 months ago) by cgd
Branch: MAIN
CVS Tags: patchkit-0-2-2
Changes since 1.1: +77 -20 lines
Diff to previous 1.1 (colored)

after 0.2.2 "stable" patches applied

Revision 1.1.1.1 / (download) - annotate - [select for diffs] (vendor branch), Sun Mar 21 09:45:37 1993 UTC (30 years, 8 months ago) by cgd
Branch: WFJ-920714
CVS Tags: WFJ-386bsd-01
Changes since 1.1: +0 -0 lines
Diff to previous 1.1 (colored)

initial import of 386bsd-0.1 sources

Revision 1.1 / (download) - annotate - [select for diffs], Sun Mar 21 09:45:37 1993 UTC (30 years, 8 months ago) by cgd
Branch: MAIN

Initial revision

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




CVSweb <webmaster@jp.NetBSD.org>