The NetBSD Project

CVS log for src/sys/arch/usermode/usermode/pmap.c

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

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.117 / (download) - annotate - [select for diffs], Sun Mar 20 18:56:29 2022 UTC (2 years ago) by andvar
Branch: MAIN
CVS Tags: thorpej-ifq-base, thorpej-ifq, thorpej-altq-separation-base, thorpej-altq-separation, netbsd-10-base, netbsd-10-0-RELEASE, netbsd-10-0-RC6, netbsd-10-0-RC5, netbsd-10-0-RC4, netbsd-10-0-RC3, netbsd-10-0-RC2, netbsd-10-0-RC1, netbsd-10, bouyer-sunxi-drm-base, bouyer-sunxi-drm, HEAD
Changes since 1.116: +6 -6 lines
Diff to previous 1.116 (colored)

fix typos in debug/panic messages: isued->issued, initialiased->initialised.

Revision 1.115.8.1 / (download) - annotate - [select for diffs], Sun Aug 1 22:42:18 2021 UTC (2 years, 8 months ago) by thorpej
Branch: thorpej-i2c-spi-conf
Changes since 1.115: +3 -3 lines
Diff to previous 1.115 (colored) next main 1.116 (colored)

Sync with HEAD.

Revision 1.116 / (download) - annotate - [select for diffs], Sat Jul 24 21:31:36 2021 UTC (2 years, 8 months ago) by andvar
Branch: MAIN
CVS Tags: thorpej-i2c-spi-conf2-base, thorpej-i2c-spi-conf2, thorpej-i2c-spi-conf-base, thorpej-futex2-base, thorpej-futex2, thorpej-cfargs2-base, thorpej-cfargs2
Changes since 1.115: +3 -3 lines
Diff to previous 1.115 (colored)

Fix all remaining typos, mainly in comments but also in few definitions and log messages, reported by me in PR kern/54889.
Also fixed some additional typos in comments, found on review of same files or typos.

Revision 1.107.2.2 / (download) - annotate - [select for diffs], Wed Apr 8 14:07:56 2020 UTC (4 years ago) by martin
Branch: phil-wifi
Changes since 1.107.2.1: +5 -4 lines
Diff to previous 1.107.2.1 (colored) to branchpoint 1.107 (colored) next main 1.108 (colored)

Merge changes from current as of 20200406

Revision 1.115 / (download) - annotate - [select for diffs], Sat Mar 14 14:05:44 2020 UTC (4 years, 1 month ago) by ad
Branch: MAIN
CVS Tags: thorpej-futex-base, thorpej-futex, thorpej-cfargs-base, thorpej-cfargs, phil-wifi-20200421, phil-wifi-20200411, phil-wifi-20200406, cjep_sun2x-base1, 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
Branch point for: thorpej-i2c-spi-conf
Changes since 1.114: +5 -4 lines
Diff to previous 1.114 (colored)

pmap_remove_all(): Return a boolean value to indicate the behaviour.  If
true, all mappings have been removed, the pmap is totally cleared out, and
UVM can then avoid doing the work to call pmap_remove() for each map entry.
If false, either nothing has been done, or some helpful arch-specific voodoo
has taken place.

Revision 1.107.2.1 / (download) - annotate - [select for diffs], Mon Jun 10 22:06:51 2019 UTC (4 years, 10 months ago) by christos
Branch: phil-wifi
Changes since 1.107: +63 -35 lines
Diff to previous 1.107 (colored)

Sync with HEAD

Revision 1.106.16.3 / (download) - annotate - [select for diffs], Sun Sep 30 01:45:48 2018 UTC (5 years, 6 months ago) by pgoyette
Branch: pgoyette-compat
CVS Tags: pgoyette-compat-merge-20190127
Changes since 1.106.16.2: +3 -3 lines
Diff to previous 1.106.16.2 (colored) to branchpoint 1.106 (colored) next main 1.107 (colored)

Ssync with HEAD

Revision 1.114 / (download) - annotate - [select for diffs], Sun Sep 16 09:25:47 2018 UTC (5 years, 6 months ago) by skrll
Branch: MAIN
CVS Tags: phil-wifi-20191119, phil-wifi-20190609, pgoyette-compat-20190127, pgoyette-compat-20190118, pgoyette-compat-1226, pgoyette-compat-1126, pgoyette-compat-1020, pgoyette-compat-0930, netbsd-9-base, netbsd-9-3-RELEASE, netbsd-9-2-RELEASE, netbsd-9-1-RELEASE, netbsd-9-0-RELEASE, netbsd-9-0-RC2, netbsd-9-0-RC1, netbsd-9, isaki-audio2-base, isaki-audio2, is-mlppp-base, is-mlppp, ad-namecache-base3, ad-namecache-base2, ad-namecache-base1, ad-namecache-base, ad-namecache
Changes since 1.113: +3 -3 lines
Diff to previous 1.113 (colored)

interrupt has two 'r's

fix another typo while I'm here (flsah)

Revision 1.106.16.2 / (download) - annotate - [select for diffs], Thu Sep 6 06:55:43 2018 UTC (5 years, 7 months ago) by pgoyette
Branch: pgoyette-compat
Changes since 1.106.16.1: +62 -34 lines
Diff to previous 1.106.16.1 (colored) to branchpoint 1.106 (colored)

Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)

Revision 1.113 / (download) - annotate - [select for diffs], Sun Aug 5 16:51:59 2018 UTC (5 years, 8 months ago) by reinoud
Branch: MAIN
CVS Tags: pgoyette-compat-0906
Changes since 1.112: +20 -19 lines
Diff to previous 1.112 (colored)

To avoid possible collisions between the NetBSD/userland kernel and possible
host kernel memory allocation schemes, allocate two dedicated pages for page
copying and page zeroing.

Revision 1.112 / (download) - annotate - [select for diffs], Fri Aug 3 11:18:22 2018 UTC (5 years, 8 months ago) by reinoud
Branch: MAIN
Changes since 1.111: +17 -6 lines
Diff to previous 1.111 (colored)

Allow for setting kernel breakpoints in our remote kgdb

Revision 1.111 / (download) - annotate - [select for diffs], Fri Aug 3 06:52:50 2018 UTC (5 years, 8 months ago) by reinoud
Branch: MAIN
Changes since 1.110: +23 -12 lines
Diff to previous 1.110 (colored)

Fix physical memory size issue. It will now happily run on more than one gb.

Revision 1.110 / (download) - annotate - [select for diffs], Wed Aug 1 12:09:01 2018 UTC (5 years, 8 months ago) by reinoud
Branch: MAIN
Changes since 1.109: +6 -5 lines
Diff to previous 1.109 (colored)

Revert to working state

Revision 1.109 / (download) - annotate - [select for diffs], Wed Aug 1 09:44:31 2018 UTC (5 years, 8 months ago) by reinoud
Branch: MAIN
Changes since 1.108: +2 -3 lines
Diff to previous 1.108 (colored)

Oops, forgot a debug printf

Revision 1.108 / (download) - annotate - [select for diffs], Wed Aug 1 09:43:17 2018 UTC (5 years, 8 months ago) by reinoud
Branch: MAIN
Changes since 1.107: +10 -5 lines
Diff to previous 1.107 (colored)

Allow the usermode pmaps to also contain the kernel itself. This is needed for
the kernel pmap.

Revision 1.106.16.1 / (download) - annotate - [select for diffs], Mon May 21 04:36:02 2018 UTC (5 years, 10 months ago) by pgoyette
Branch: pgoyette-compat
Changes since 1.106: +10 -9 lines
Diff to previous 1.106 (colored)

Sync with HEAD

Revision 1.107 / (download) - annotate - [select for diffs], Thu May 17 19:06:02 2018 UTC (5 years, 10 months ago) by reinoud
Branch: MAIN
CVS Tags: phil-wifi-base, pgoyette-compat-0728, pgoyette-compat-0625, pgoyette-compat-0521
Branch point for: phil-wifi
Changes since 1.106: +10 -9 lines
Diff to previous 1.106 (colored)

Don't dynamically allocate memory we are only going to use once; so allocate
it on the stack.

While here, also include some more sanity checks.

Revision 1.105.2.1 / (download) - annotate - [select for diffs], Sun Dec 3 11:36:47 2017 UTC (6 years, 4 months ago) by jdolecek
Branch: tls-maxphys
Changes since 1.105: +4 -4 lines
Diff to previous 1.105 (colored) next main 1.106 (colored)

update from HEAD

Revision 1.105.16.1 / (download) - annotate - [select for diffs], Sat Jul 9 20:24:58 2016 UTC (7 years, 9 months ago) by skrll
Branch: nick-nhusb
Changes since 1.105: +4 -4 lines
Diff to previous 1.105 (colored) next main 1.106 (colored)

Sync with HEAD

Revision 1.106 / (download) - annotate - [select for diffs], Thu Jul 7 06:55:39 2016 UTC (7 years, 9 months ago) by msaitoh
Branch: MAIN
CVS Tags: tls-maxphys-base-20171202, prg-localcount2-base3, prg-localcount2-base2, prg-localcount2-base1, prg-localcount2-base, prg-localcount2, 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-base, pgoyette-compat-0502, pgoyette-compat-0422, pgoyette-compat-0415, pgoyette-compat-0407, pgoyette-compat-0330, pgoyette-compat-0322, pgoyette-compat-0315, perseant-stdc-iso10646-base, perseant-stdc-iso10646, nick-nhusb-base-20170825, nick-nhusb-base-20170204, nick-nhusb-base-20161204, nick-nhusb-base-20161004, nick-nhusb-base-20160907, netbsd-8-base, netbsd-8-2-RELEASE, netbsd-8-1-RELEASE, netbsd-8-1-RC1, netbsd-8-0-RELEASE, netbsd-8-0-RC2, netbsd-8-0-RC1, netbsd-8, matt-nb8-mediatek-base, matt-nb8-mediatek, localcount-20160914, jdolecek-ncq-base, jdolecek-ncq, bouyer-socketcan-base1, bouyer-socketcan-base, bouyer-socketcan
Branch point for: pgoyette-compat
Changes since 1.105: +4 -4 lines
Diff to previous 1.105 (colored)

KNF. Remove extra spaces. No functional change.

Revision 1.73.2.2 / (download) - annotate - [select for diffs], Tue Oct 30 17:20:28 2012 UTC (11 years, 5 months ago) by yamt
Branch: yamt-pagecache
CVS Tags: yamt-pagecache-tag8
Changes since 1.73.2.1: +8 -3 lines
Diff to previous 1.73.2.1 (colored) to branchpoint 1.73 (colored) next main 1.74 (colored)

sync with head

Revision 1.105 / (download) - annotate - [select for diffs], Sat Jul 28 19:08:26 2012 UTC (11 years, 8 months ago) by matt
Branch: MAIN
CVS Tags: yamt-pagecache-base9, yamt-pagecache-base8, yamt-pagecache-base7, yamt-pagecache-base6, tls-maxphys-base, tls-earlyentropy-base, tls-earlyentropy, rmind-smpnet-nbase, rmind-smpnet-base, rmind-smpnet, riastradh-xf86-video-intel-2-7-1-pre-2-21-15, riastradh-drm2-base3, riastradh-drm2-base2, riastradh-drm2-base1, riastradh-drm2-base, riastradh-drm2, nick-nhusb-base-20160529, nick-nhusb-base-20160422, nick-nhusb-base-20160319, nick-nhusb-base-20151226, nick-nhusb-base-20150921, nick-nhusb-base-20150606, nick-nhusb-base-20150406, nick-nhusb-base, netbsd-7-nhusb-base-20170116, netbsd-7-nhusb-base, netbsd-7-nhusb, netbsd-7-base, netbsd-7-2-RELEASE, netbsd-7-1-RELEASE, netbsd-7-1-RC2, netbsd-7-1-RC1, netbsd-7-1-2-RELEASE, netbsd-7-1-1-RELEASE, netbsd-7-1, netbsd-7-0-RELEASE, netbsd-7-0-RC3, netbsd-7-0-RC2, netbsd-7-0-RC1, netbsd-7-0-2-RELEASE, netbsd-7-0-1-RELEASE, netbsd-7-0, netbsd-7, khorben-n900, agc-symver-base, agc-symver
Branch point for: tls-maxphys, nick-nhusb
Changes since 1.104: +2 -3 lines
Diff to previous 1.104 (colored)

Remove declartions of physmem

Revision 1.104 / (download) - annotate - [select for diffs], Tue Jul 24 13:59:26 2012 UTC (11 years, 8 months ago) by reinoud
Branch: MAIN
Changes since 1.103: +8 -2 lines
Diff to previous 1.103 (colored)

Adding an assert that checks for struct pmap_l2 not being bigger than
PAGE_SIZE.

While here, also add possible bug allerts of temporary mmaps that might screw
up memory.

Revision 1.73.2.1 / (download) - annotate - [select for diffs], Tue Apr 17 00:07:00 2012 UTC (11 years, 11 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.73: +359 -172 lines
Diff to previous 1.73 (colored)

sync with head

Revision 1.102.2.1 / (download) - annotate - [select for diffs], Wed Mar 7 23:23:50 2012 UTC (12 years, 1 month ago) by riz
Branch: netbsd-6
CVS Tags: netbsd-6-1-RELEASE, netbsd-6-1-RC4, netbsd-6-1-RC3, netbsd-6-1-RC2, netbsd-6-1-RC1, netbsd-6-1-5-RELEASE, netbsd-6-1-4-RELEASE, netbsd-6-1-3-RELEASE, netbsd-6-1-2-RELEASE, netbsd-6-1-1-RELEASE, netbsd-6-1, netbsd-6-0-RELEASE, netbsd-6-0-RC2, netbsd-6-0-RC1, netbsd-6-0-6-RELEASE, netbsd-6-0-5-RELEASE, netbsd-6-0-4-RELEASE, netbsd-6-0-3-RELEASE, netbsd-6-0-2-RELEASE, netbsd-6-0-1-RELEASE, netbsd-6-0, matt-nb6-plus-nbase, matt-nb6-plus-base, matt-nb6-plus
Changes since 1.102: +6 -8 lines
Diff to previous 1.102 (colored) next main 1.103 (colored)

Pull up following revision(s) (requested by reinoud in ticket #78):
	sys/arch/usermode/usermode/pmap.c: revision 1.103
Move from pool(9) to kmem_zalloc(9) for L2 page tables. A pool with PAGE_SIZE
elements is accepted but seems to panic now and then claiming it can't find
the header info.
XXX should this be PR'd?

Revision 1.74.2.4 / (download) - annotate - [select for diffs], Tue Mar 6 18:26:39 2012 UTC (12 years, 1 month ago) by mrg
Branch: jmcneill-usbmp
Changes since 1.74.2.3: +6 -8 lines
Diff to previous 1.74.2.3 (colored) to branchpoint 1.74 (colored) next main 1.75 (colored)

sync to -current

Revision 1.74.2.3 / (download) - annotate - [select for diffs], Tue Mar 6 09:56:11 2012 UTC (12 years, 1 month ago) by mrg
Branch: jmcneill-usbmp
Changes since 1.74.2.2: +8 -6 lines
Diff to previous 1.74.2.2 (colored) to branchpoint 1.74 (colored)

sync to -current

Revision 1.74.2.2 / (download) - annotate - [select for diffs], Sun Mar 4 00:46:14 2012 UTC (12 years, 1 month ago) by mrg
Branch: jmcneill-usbmp
Changes since 1.74.2.1: +6 -8 lines
Diff to previous 1.74.2.1 (colored) to branchpoint 1.74 (colored)

sync to latest -current.

Revision 1.103 / (download) - annotate - [select for diffs], Fri Mar 2 16:56:32 2012 UTC (12 years, 1 month ago) by reinoud
Branch: MAIN
CVS Tags: yamt-pagecache-base5, yamt-pagecache-base4, jmcneill-usbmp-base9, jmcneill-usbmp-base8, jmcneill-usbmp-base7, jmcneill-usbmp-base6, jmcneill-usbmp-base4, jmcneill-usbmp-base10
Changes since 1.102: +6 -8 lines
Diff to previous 1.102 (colored)

Move from pool(9) to kmem_zalloc(9) for L2 page tables. A pool with PAGE_SIZE
elements is accepted but seems to panic now and then claiming it can't find
the header info.

XXX should this be PR'd?

Revision 1.74.2.1 / (download) - annotate - [select for diffs], Sat Feb 18 07:33:25 2012 UTC (12 years, 1 month ago) by mrg
Branch: jmcneill-usbmp
Changes since 1.74: +359 -172 lines
Diff to previous 1.74 (colored)

merge to -current.

Revision 1.102 / (download) - annotate - [select for diffs], Sat Jan 14 17:42:52 2012 UTC (12 years, 3 months ago) by reinoud
Branch: MAIN
CVS Tags: netbsd-6-base, jmcneill-usbmp-base5, jmcneill-usbmp-base3, jmcneill-usbmp-base2
Branch point for: netbsd-6
Changes since 1.101: +14 -6 lines
Diff to previous 1.101 (colored)

Revamp the NetBSD/usermode pagefault and illegal instruction handing. It now
can handle recursive entry and is a lot more memory tight compared to the old
implementation. Performance wise:

* slightly less number of syscalls/sec possible though could be optimized
* a lot faster context creation / destruction making overall operation faster.

Revision 1.101 / (download) - annotate - [select for diffs], Tue Jan 10 12:07:17 2012 UTC (12 years, 3 months ago) by reinoud
Branch: MAIN
Changes since 1.100: +9 -2 lines
Diff to previous 1.100 (colored)

Use thunk_madvise() on the memory space hinting the kernel we are using it in
a random order and hint the kernel that we we need the memory.i

No measured effect on a memory file on tmpfs /tmp though.

Revision 1.100 / (download) - annotate - [select for diffs], Tue Jan 10 10:09:49 2012 UTC (12 years, 3 months ago) by reinoud
Branch: MAIN
Changes since 1.99: +2 -5 lines
Diff to previous 1.99 (colored)

Explicitly protect the kernel image against tampering by marking it R-X

Revision 1.99 / (download) - annotate - [select for diffs], Mon Jan 9 14:58:15 2012 UTC (12 years, 3 months ago) by reinoud
Branch: MAIN
Changes since 1.98: +2 -3 lines
Diff to previous 1.98 (colored)

As ppn is a uintptr_t, it can never be negative so the check is invalid.

Revision 1.98 / (download) - annotate - [select for diffs], Sat Jan 7 19:44:13 2012 UTC (12 years, 3 months ago) by reinoud
Branch: MAIN
Changes since 1.97: +16 -6 lines
Diff to previous 1.97 (colored)

Change prototype of logical page number in pv_lookop and pv_enter and add
diagnostic checks to check for out-of-bounds.

Revision 1.97 / (download) - annotate - [select for diffs], Thu Jan 5 12:12:58 2012 UTC (12 years, 3 months ago) by jmcneill
Branch: MAIN
Changes since 1.96: +7 -4 lines
Diff to previous 1.96 (colored)

Get rid of MAP_NOSYSCALLS usage; now this relies on a separate kmod that
you can get here: http://www.netbsd.org/~jmcneill/syscallemu.tar

Revision 1.96 / (download) - annotate - [select for diffs], Wed Jan 4 16:20:41 2012 UTC (12 years, 3 months ago) by reinoud
Branch: MAIN
Changes since 1.95: +8 -4 lines
Diff to previous 1.95 (colored)

Enhance the page_deactivate() to have less side effects. While here also make
a variable local to the debug routine that uses it.

Revision 1.95 / (download) - annotate - [select for diffs], Wed Jan 4 15:10:45 2012 UTC (12 years, 3 months ago) by reinoud
Branch: MAIN
Changes since 1.94: +8 -2 lines
Diff to previous 1.94 (colored)

don't try to unmap pv entries with munmap() that are / were already unmapped

Revision 1.94 / (download) - annotate - [select for diffs], Wed Jan 4 11:56:58 2012 UTC (12 years, 3 months ago) by reinoud
Branch: MAIN
Changes since 1.93: +3 -3 lines
Diff to previous 1.93 (colored)

This uint shouldn't be there

Revision 1.93 / (download) - annotate - [select for diffs], Wed Jan 4 11:53:09 2012 UTC (12 years, 3 months ago) by reinoud
Branch: MAIN
Changes since 1.92: +3 -3 lines
Diff to previous 1.92 (colored)

mmap ppl is always < 16 so make it an uint8_t

Revision 1.92 / (download) - annotate - [select for diffs], Tue Jan 3 21:28:50 2012 UTC (12 years, 3 months ago) by reinoud
Branch: MAIN
Changes since 1.91: +58 -63 lines
Diff to previous 1.91 (colored)

Rework NetBSD/usermode pmap fixing some oddities that were left over from
earlier times when we were forced to run PIE executables and were forced to
use a KVM above the kernel.

Revision 1.91 / (download) - annotate - [select for diffs], Tue Jan 3 12:16:16 2012 UTC (12 years, 3 months ago) by reinoud
Branch: MAIN
Changes since 1.90: +4 -3 lines
Diff to previous 1.90 (colored)

Set the total memory length to be ALL the space *before* the kernel.

Revision 1.90 / (download) - annotate - [select for diffs], Tue Jan 3 12:05:00 2012 UTC (12 years, 3 months ago) by reinoud
Branch: MAIN
Changes since 1.89: +51 -51 lines
Diff to previous 1.89 (colored)

Rename the debug printf's to use a thunk_ prefix to avoid confusion.

Revision 1.89 / (download) - annotate - [select for diffs], Mon Jan 2 09:49:12 2012 UTC (12 years, 3 months ago) by reinoud
Branch: MAIN
Changes since 1.88: +8 -2 lines
Diff to previous 1.88 (colored)

Do release all l2 pages on destroy

Revision 1.88 / (download) - annotate - [select for diffs], Sun Jan 1 21:40:22 2012 UTC (12 years, 3 months ago) by reinoud
Branch: MAIN
Changes since 1.87: +191 -73 lines
Diff to previous 1.87 (colored)

Rewrite usermodes pmap to use indirect adressing significantly reducing pmap
memory usage. Typically a decimation. This is done using L1 and L2 mappings.

Revision 1.87 / (download) - annotate - [select for diffs], Sun Jan 1 13:52:51 2012 UTC (12 years, 3 months ago) by reinoud
Branch: MAIN
Changes since 1.86: +3 -3 lines
Diff to previous 1.86 (colored)

Fix typo in comment

Revision 1.86 / (download) - annotate - [select for diffs], Sun Jan 1 13:52:13 2012 UTC (12 years, 3 months ago) by reinoud
Branch: MAIN
Changes since 1.85: +4 -4 lines
Diff to previous 1.85 (colored)

According to the pmap manpage wired pages should not track RWM, so map them RW

Revision 1.85 / (download) - annotate - [select for diffs], Fri Dec 30 19:30:59 2011 UTC (12 years, 3 months ago) by jmcneill
Branch: MAIN
Changes since 1.84: +2 -3 lines
Diff to previous 1.84 (colored)

provide pmap_phys_address

Revision 1.84 / (download) - annotate - [select for diffs], Fri Dec 30 06:59:54 2011 UTC (12 years, 3 months ago) by reinoud
Branch: MAIN
Changes since 1.83: +4 -4 lines
Diff to previous 1.83 (colored)

Change verbose kernel printing of kernel memory layout to increasing addresses
for clarity.

Revision 1.83 / (download) - annotate - [select for diffs], Tue Dec 27 14:55:31 2011 UTC (12 years, 3 months ago) by reinoud
Branch: MAIN
Changes since 1.82: +2 -5 lines
Diff to previous 1.82 (colored)

Implement physio() for NetBSD/usermode the right way!

Revision 1.82 / (download) - annotate - [select for diffs], Sun Dec 25 21:10:00 2011 UTC (12 years, 3 months ago) by reinoud
Branch: MAIN
Changes since 1.81: +5 -5 lines
Diff to previous 1.81 (colored)

Fix VM_MAX_ADDRESS that is NOT the max address BUT the max userland address
Fix VM_MAX_KERNEL_ADDRESS that is the absolute max address accesable by the
kernel...

Revision 1.81 / (download) - annotate - [select for diffs], Tue Dec 20 21:01:39 2011 UTC (12 years, 3 months ago) by jmcneill
Branch: MAIN
Changes since 1.80: +2 -9 lines
Diff to previous 1.80 (colored)

get rid of urkelvisor, and use same MD majors as the host

Revision 1.80 / (download) - annotate - [select for diffs], Tue Dec 20 15:45:37 2011 UTC (12 years, 3 months ago) by reinoud
Branch: MAIN
Changes since 1.79: +11 -6 lines
Diff to previous 1.79 (colored)

Use to the MAP_NOSYSCALLS argument to mmap() to allow for NetBSD/usermode to
execute bog-standard native programs.

Revision 1.79 / (download) - annotate - [select for diffs], Wed Dec 14 17:06:28 2011 UTC (12 years, 4 months ago) by reinoud
Branch: MAIN
Changes since 1.78: +8 -3 lines
Diff to previous 1.78 (colored)

OK, this is a temporary patch so usermode can run on 5.1 or old 5.99's. The
workaround mentioned here is not needed on newer 5.99 since it has just been
patched.

Revision 1.78 / (download) - annotate - [select for diffs], Wed Dec 14 12:29:59 2011 UTC (12 years, 4 months ago) by jmcneill
Branch: MAIN
Changes since 1.77: +5 -3 lines
Diff to previous 1.77 (colored)

only need to setup altstack after fork, not in lwp tramp

Revision 1.77 / (download) - annotate - [select for diffs], Tue Dec 13 15:43:55 2011 UTC (12 years, 4 months ago) by reinoud
Branch: MAIN
Changes since 1.76: +9 -3 lines
Diff to previous 1.76 (colored)

Don't allow unmapping of WIRED pages!

Also on unwire, call pmap_update_page() though this propably is not needed.

Revision 1.76 / (download) - annotate - [select for diffs], Tue Dec 13 12:29:19 2011 UTC (12 years, 4 months ago) by reinoud
Branch: MAIN
Changes since 1.75: +38 -12 lines
Diff to previous 1.75 (colored)

Implement a new TLB system. This fixes the TLB issues that has been plaguing
the pmap.

Revision 1.75 / (download) - annotate - [select for diffs], Tue Dec 13 11:11:03 2011 UTC (12 years, 4 months ago) by reinoud
Branch: MAIN
Changes since 1.74: +3 -3 lines
Diff to previous 1.74 (colored)

Fix typo TBL->TLB

Revision 1.74 / (download) - annotate - [select for diffs], Sun Nov 27 21:33:19 2011 UTC (12 years, 4 months ago) by reinoud
Branch: MAIN
CVS Tags: jmcneill-usbmp-pre-base2, jmcneill-usbmp-base
Branch point for: jmcneill-usbmp
Changes since 1.73: +4 -2 lines
Diff to previous 1.73 (colored)

Create two panics that signal inconsistent states.

Revision 1.73 / (download) - annotate - [select for diffs], Mon Sep 19 12:52:32 2011 UTC (12 years, 6 months ago) by reinoud
Branch: MAIN
CVS Tags: yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base, jmcneill-audiomp3-base, jmcneill-audiomp3
Branch point for: yamt-pagecache
Changes since 1.72: +12 -21 lines
Diff to previous 1.72 (colored)

Small cleanups on memory initialisation by using munmap() instead of mapping
unaccessible anon memory that we're never going to use anyway!

Revision 1.72 / (download) - annotate - [select for diffs], Fri Sep 16 16:27:39 2011 UTC (12 years, 6 months ago) by reinoud
Branch: MAIN
Changes since 1.71: +28 -17 lines
Diff to previous 1.71 (colored)

Print out the memory information on verbose booting too, its too handy to have
around without all the goo of debug printouts

Revision 1.71 / (download) - annotate - [select for diffs], Thu Sep 15 17:44:13 2011 UTC (12 years, 7 months ago) by reinoud
Branch: MAIN
Changes since 1.70: +38 -22 lines
Diff to previous 1.70 (colored)

Re-implement pmap_zero_page() and pmap_copy_page() by using
mmap + memset/memcpy + munmap.

Revision 1.70 / (download) - annotate - [select for diffs], Thu Sep 15 15:34:19 2011 UTC (12 years, 7 months ago) by reinoud
Branch: MAIN
Changes since 1.69: +15 -4 lines
Diff to previous 1.69 (colored)

Implement pmap_copy_page()! That was missing a long time!

Revision 1.69 / (download) - annotate - [select for diffs], Thu Sep 15 15:24:39 2011 UTC (12 years, 7 months ago) by reinoud
Branch: MAIN
Changes since 1.68: +4 -4 lines
Diff to previous 1.68 (colored)

Clarify pmap_copy's function as a dummy

Revision 1.68 / (download) - annotate - [select for diffs], Thu Sep 15 15:20:17 2011 UTC (12 years, 7 months ago) by reinoud
Branch: MAIN
Changes since 1.67: +8 -8 lines
Diff to previous 1.67 (colored)

Cleanup pmap_extract(); no functional change

Revision 1.67 / (download) - annotate - [select for diffs], Thu Sep 15 15:08:51 2011 UTC (12 years, 7 months ago) by reinoud
Branch: MAIN
Changes since 1.66: +18 -3 lines
Diff to previous 1.66 (colored)

Implement pmap_unwire(); not seen it called yet though

Revision 1.66 / (download) - annotate - [select for diffs], Thu Sep 15 15:02:35 2011 UTC (12 years, 7 months ago) by reinoud
Branch: MAIN
Changes since 1.65: +6 -3 lines
Diff to previous 1.65 (colored)

Remove temporary the optimalization code of pmap_remove_all() until the
suspected pmap problems are fixed/found.

Revision 1.65 / (download) - annotate - [select for diffs], Thu Sep 15 14:55:23 2011 UTC (12 years, 7 months ago) by reinoud
Branch: MAIN
Changes since 1.64: +7 -3 lines
Diff to previous 1.64 (colored)

On entering an entry to pmap, activate the entry directly if adding to an
already active pmap.

Revision 1.64 / (download) - annotate - [select for diffs], Thu Sep 15 14:45:22 2011 UTC (12 years, 7 months ago) by reinoud
Branch: MAIN
Changes since 1.63: +8 -4 lines
Diff to previous 1.63 (colored)

Only activate pages that are in active pmaps

Revision 1.63 / (download) - annotate - [select for diffs], Thu Sep 15 12:25:25 2011 UTC (12 years, 7 months ago) by reinoud
Branch: MAIN
Changes since 1.62: +61 -61 lines
Diff to previous 1.62 (colored)

Move to dprintf_debug()

Revision 1.62 / (download) - annotate - [select for diffs], Wed Sep 14 19:45:27 2011 UTC (12 years, 7 months ago) by reinoud
Branch: MAIN
Changes since 1.61: +4 -4 lines
Diff to previous 1.61 (colored)

Code audit revealed missing brackets and a silly old constant of 1024
lingering around. Fixed with the right values.

Revision 1.61 / (download) - annotate - [select for diffs], Wed Sep 14 18:28:36 2011 UTC (12 years, 7 months ago) by reinoud
Branch: MAIN
Changes since 1.60: +67 -50 lines
Diff to previous 1.60 (colored)

Implement in-place execution for binaries! No more MKPIE/MKPIC for userland
anymore!

Revision 1.60 / (download) - annotate - [select for diffs], Tue Sep 13 10:38:48 2011 UTC (12 years, 7 months ago) by reinoud
Branch: MAIN
Changes since 1.59: +50 -7 lines
Diff to previous 1.59 (colored)

Implement pmap_protect() and pmap_remove_all()

Revision 1.59 / (download) - annotate - [select for diffs], Fri Sep 9 12:41:12 2011 UTC (12 years, 7 months ago) by reinoud
Branch: MAIN
Changes since 1.58: +11 -8 lines
Diff to previous 1.58 (colored)

Make pmap.c not so chatty unless we've enabled debug and verbose

Revision 1.58 / (download) - annotate - [select for diffs], Fri Sep 9 12:28:05 2011 UTC (12 years, 7 months ago) by reinoud
Branch: MAIN
Changes since 1.57: +31 -10 lines
Diff to previous 1.57 (colored)

Implement TBL functionality by remembering if its mapped in or not before
guessing and adjusting access types.

While here, when we hit a read-access fault and reference the page, also mark
it for executable when its permissions permit it. Distinguising between the
two is neigh impossible as we need to guess/derive the access the process
tried to have to the memory: we dont know if its a read/write/exec try.

Also clean up some debug messages.

Revision 1.57 / (download) - annotate - [select for diffs], Tue Sep 6 09:37:41 2011 UTC (12 years, 7 months ago) by reinoud
Branch: MAIN
Changes since 1.56: +31 -7 lines
Diff to previous 1.56 (colored)

Implement switch to have a sparse memory file or to fill it beforehand.

Revision 1.56 / (download) - annotate - [select for diffs], Tue Sep 6 08:44:39 2011 UTC (12 years, 7 months ago) by reinoud
Branch: MAIN
Changes since 1.55: +2 -4 lines
Diff to previous 1.55 (colored)

Remove old comment that is no longer relevant

Revision 1.55 / (download) - annotate - [select for diffs], Mon Sep 5 12:19:12 2011 UTC (12 years, 7 months ago) by reinoud
Branch: MAIN
Changes since 1.54: +4 -4 lines
Diff to previous 1.54 (colored)

Install signal handlers just after pmap_bootstrap and don't defer it

Revision 1.54 / (download) - annotate - [select for diffs], Sun Sep 4 21:04:42 2011 UTC (12 years, 7 months ago) by jmcneill
Branch: MAIN
Changes since 1.53: +4 -3 lines
Diff to previous 1.53 (colored)

if pmap_page_activate fails, print the returned and expected addresses

Revision 1.53 / (download) - annotate - [select for diffs], Sat Sep 3 18:42:13 2011 UTC (12 years, 7 months ago) by jmcneill
Branch: MAIN
Changes since 1.52: +27 -25 lines
Diff to previous 1.52 (colored)

Let NetBSD/usermode build & link on a Linux host:
 - Need to add options CPU_HOST=i386 or CPU_HOST=amd64 for membar & atomic_ops
 - Don't use MAP_* and PROT_* with thunk API since the kernel and host
   might not be the same; add THUNK_MAP_* and THUNK_PROT_* and translate them
 - Add thunk_posix_memalign
 - allocate mem_uvm with thunk_posix_memalign instead of thunk_malloc
 - Fix thunk_mmap callers to always pass either THUNK_MAP_PRIVATE or
   THUNK_MAP_SHARED
 - mkstemp on Linux requires exactly 6 "X" characters at the end of the
   template string, so add an X

Revision 1.52 / (download) - annotate - [select for diffs], Sat Sep 3 12:33:03 2011 UTC (12 years, 7 months ago) by jmcneill
Branch: MAIN
Changes since 1.51: +2 -11 lines
Diff to previous 1.51 (colored)

move call of urkelvisor_init to main instead of pmap_bootstrap

Revision 1.51 / (download) - annotate - [select for diffs], Sat Sep 3 12:28:46 2011 UTC (12 years, 7 months ago) by jmcneill
Branch: MAIN
Changes since 1.50: +11 -2 lines
Diff to previous 1.50 (colored)

Add usermode kernel supervisor, can be disabled with 'no options URKELVISOR'

Revision 1.50 / (download) - annotate - [select for diffs], Thu Sep 1 16:23:55 2011 UTC (12 years, 7 months ago) by reinoud
Branch: MAIN
Changes since 1.49: +5 -5 lines
Diff to previous 1.49 (colored)

Oops used the wrong page flag for referenced and modified check

Revision 1.49 / (download) - annotate - [select for diffs], Wed Aug 31 12:42:41 2011 UTC (12 years, 7 months ago) by reinoud
Branch: MAIN
Changes since 1.48: +89 -23 lines
Diff to previous 1.48 (colored)

Completely redo R/M emulation and fault handling taking UVM as authorative
answer and not relying on UVM's pmap directions since UVM has its own schemes
for COW etc.

Revision 1.48 / (download) - annotate - [select for diffs], Tue Aug 30 12:02:38 2011 UTC (12 years, 7 months ago) by reinoud
Branch: MAIN
Changes since 1.47: +16 -5 lines
Diff to previous 1.47 (colored)

Implement pmap_clear_reference()

Revision 1.47 / (download) - annotate - [select for diffs], Tue Aug 30 11:57:20 2011 UTC (12 years, 7 months ago) by reinoud
Branch: MAIN
Changes since 1.46: +9 -5 lines
Diff to previous 1.46 (colored)

Implement pmap_is_referenced()

Revision 1.46 / (download) - annotate - [select for diffs], Tue Aug 30 11:53:22 2011 UTC (12 years, 7 months ago) by reinoud
Branch: MAIN
Changes since 1.45: +9 -5 lines
Diff to previous 1.45 (colored)

Cleanup PV_UNMAGED handling in pmap_do_enter

Revision 1.45 / (download) - annotate - [select for diffs], Tue Aug 30 11:40:46 2011 UTC (12 years, 7 months ago) by reinoud
Branch: MAIN
Changes since 1.44: +3 -3 lines
Diff to previous 1.44 (colored)

Make still unimplemented pmap_protect() more verbose

Revision 1.44 / (download) - annotate - [select for diffs], Tue Aug 30 11:31:57 2011 UTC (12 years, 7 months ago) by reinoud
Branch: MAIN
Changes since 1.43: +50 -4 lines
Diff to previous 1.43 (colored)

Implement pmap_page_protect()

Revision 1.43 / (download) - annotate - [select for diffs], Tue Aug 30 10:58:41 2011 UTC (12 years, 7 months ago) by reinoud
Branch: MAIN
Changes since 1.42: +34 -8 lines
Diff to previous 1.42 (colored)

Implement pmap_clear_modify() and pmap_is_modified()

Revision 1.42 / (download) - annotate - [select for diffs], Tue Aug 30 10:44:06 2011 UTC (12 years, 7 months ago) by reinoud
Branch: MAIN
Changes since 1.41: +20 -3 lines
Diff to previous 1.41 (colored)

Implement pmap_destroy() following Ben Harris's template

Revision 1.41 / (download) - annotate - [select for diffs], Tue Aug 30 10:37:42 2011 UTC (12 years, 7 months ago) by reinoud
Branch: MAIN
Changes since 1.40: +4 -3 lines
Diff to previous 1.40 (colored)

Implement pmap_reference(). Note that i have no idea as to when this reference
is released...

Revision 1.40 / (download) - annotate - [select for diffs], Tue Aug 30 10:29:34 2011 UTC (12 years, 7 months ago) by reinoud
Branch: MAIN
Changes since 1.39: +2 -3 lines
Diff to previous 1.39 (colored)

Remove panic that prevented multiple mappings of a pv entry

Revision 1.39 / (download) - annotate - [select for diffs], Mon Aug 29 14:59:09 2011 UTC (12 years, 7 months ago) by reinoud
Branch: MAIN
Changes since 1.38: +41 -2 lines
Diff to previous 1.38 (colored)

Implement read and modify detection code

Revision 1.38 / (download) - annotate - [select for diffs], Sat Aug 27 17:59:24 2011 UTC (12 years, 7 months ago) by reinoud
Branch: MAIN
Changes since 1.37: +5 -4 lines
Diff to previous 1.37 (colored)

Only return the result of pmap_extract() when the return variable is not NULL.

Revision 1.37 / (download) - annotate - [select for diffs], Fri Aug 26 11:16:50 2011 UTC (12 years, 7 months ago) by jmcneill
Branch: MAIN
Changes since 1.36: +3 -3 lines
Diff to previous 1.36 (colored)

pmap_remove_all: change panic to warning

Revision 1.36 / (download) - annotate - [select for diffs], Thu Aug 25 19:06:58 2011 UTC (12 years, 7 months ago) by reinoud
Branch: MAIN
Changes since 1.35: +22 -5 lines
Diff to previous 1.35 (colored)

Implement pmap_deactivate() and most importantly, share changes! i.e. it
should map in the SAME page and not a COW clone of the origional.

Revision 1.35 / (download) - annotate - [select for diffs], Thu Aug 25 15:06:09 2011 UTC (12 years, 7 months ago) by reinoud
Branch: MAIN
Changes since 1.34: +10 -8 lines
Diff to previous 1.34 (colored)

For all virtual to logical page translations we need to substract
VM_MIN_ADDRESS first! I forgot to add this to pmap_remove().

Now we are here, mark the lines with V->L or L->V.l

Revision 1.34 / (download) - annotate - [select for diffs], Thu Aug 25 14:37:57 2011 UTC (12 years, 7 months ago) by reinoud
Branch: MAIN
Changes since 1.33: +8 -4 lines
Diff to previous 1.33 (colored)

Implement first generation of memory access handler for the kernel.

Revision 1.33 / (download) - annotate - [select for diffs], Thu Aug 25 10:46:59 2011 UTC (12 years, 7 months ago) by reinoud
Branch: MAIN
Changes since 1.32: +4 -4 lines
Diff to previous 1.32 (colored)

Indent debug aprint_debug()'s

Revision 1.32 / (download) - annotate - [select for diffs], Wed Aug 24 20:13:56 2011 UTC (12 years, 7 months ago) by reinoud
Branch: MAIN
Changes since 1.31: +3 -3 lines
Diff to previous 1.31 (colored)

cpu_cache_flush doesn't exist yet or isn't included yet so comment it out

Revision 1.31 / (download) - annotate - [select for diffs], Wed Aug 24 20:13:07 2011 UTC (12 years, 7 months ago) by reinoud
Branch: MAIN
Changes since 1.30: +48 -7 lines
Diff to previous 1.30 (colored)

Implement pmap_activate() and pmap_deactivate()
Also add some debug messages

Note that the UVM area is still unprotected (for you Jared)

Revision 1.30 / (download) - annotate - [select for diffs], Wed Aug 24 12:54:46 2011 UTC (12 years, 7 months ago) by reinoud
Branch: MAIN
Changes since 1.29: +11 -10 lines
Diff to previous 1.29 (colored)

Swap userland code and kvm spaces so that userland lives from VM_MIN_ADDRESS
to VM_MAXUSER_ADDRESS and KVM is above that.

Note that the userspace is surrounded by a configurable amount of
non-accessible barrier space to prevent accidental out-of-boundaries access
even when reading.

Revision 1.29 / (download) - annotate - [select for diffs], Wed Aug 24 11:50:28 2011 UTC (12 years, 7 months ago) by reinoud
Branch: MAIN
Changes since 1.28: +4 -4 lines
Diff to previous 1.28 (colored)

Duh... fix stupid debug print bug.

Revision 1.28 / (download) - annotate - [select for diffs], Wed Aug 24 11:41:00 2011 UTC (12 years, 7 months ago) by reinoud
Branch: MAIN
Changes since 1.27: +4 -4 lines
Diff to previous 1.27 (colored)

Cleanup comments and debug stuff

Revision 1.27 / (download) - annotate - [select for diffs], Wed Aug 24 11:30:59 2011 UTC (12 years, 7 months ago) by reinoud
Branch: MAIN
Changes since 1.26: +5 -5 lines
Diff to previous 1.26 (colored)

Use the VM_MIN_ADDRESS `constant' for the offset calculation of virtual
address to a logical page address.

Revision 1.26 / (download) - annotate - [select for diffs], Wed Aug 24 11:02:31 2011 UTC (12 years, 7 months ago) by reinoud
Branch: MAIN
Changes since 1.25: +67 -68 lines
Diff to previous 1.25 (colored)

First pass of NetBSD/usermode's pmap.c cleanup:
	* use thunk_malloc() for UVM space allocation releasing sbrk()
	* make pmap.c 64 bit friendly for large page numbers

Revision 1.25 / (download) - annotate - [select for diffs], Tue Aug 23 18:37:51 2011 UTC (12 years, 7 months ago) by reinoud
Branch: MAIN
Changes since 1.24: +11 -2 lines
Diff to previous 1.24 (colored)

Give malloc(3) a barrier to allocate OVER... i.e. let the space at ease!
Note that it could use an extra barrier too.

Revision 1.24 / (download) - annotate - [select for diffs], Tue Aug 23 16:16:26 2011 UTC (12 years, 7 months ago) by jmcneill
Branch: MAIN
Changes since 1.23: +5 -2 lines
Diff to previous 1.23 (colored)

unlink pmap backing file immediately after opening it, so we don't leave
a bunch of 128MB turds sitting around in /tmp

Revision 1.23 / (download) - annotate - [select for diffs], Tue Aug 23 15:35:53 2011 UTC (12 years, 7 months ago) by reinoud
Branch: MAIN
Changes since 1.22: +34 -26 lines
Diff to previous 1.22 (colored)

Implement pmap_create()

Revision 1.22 / (download) - annotate - [select for diffs], Tue Aug 23 15:12:31 2011 UTC (12 years, 7 months ago) by reinoud
Branch: MAIN
Changes since 1.21: +3 -3 lines
Diff to previous 1.21 (colored)

Fix zero page cleaning. The supplied `pa' is a physical address and no page
number so don't multiply with PAGE_SIZE

Revision 1.21 / (download) - annotate - [select for diffs], Tue Aug 23 14:23:08 2011 UTC (12 years, 7 months ago) by reinoud
Branch: MAIN
Changes since 1.20: +26 -27 lines
Diff to previous 1.20 (colored)

Clean up chatty pmap.c and fix important bug that claimed too little kmem
space. Thanks go to jmcneill for finding it!

Revision 1.20 / (download) - annotate - [select for diffs], Tue Aug 23 13:37:32 2011 UTC (12 years, 7 months ago) by reinoud
Branch: MAIN
Changes since 1.19: +3 -3 lines
Diff to previous 1.19 (colored)

OOps... there is no aprintf_debug()

Revision 1.19 / (download) - annotate - [select for diffs], Tue Aug 23 13:35:57 2011 UTC (12 years, 7 months ago) by reinoud
Branch: MAIN
Changes since 1.18: +12 -3 lines
Diff to previous 1.18 (colored)

Braindead implementation of pmap_zero_page()

Revision 1.18 / (download) - annotate - [select for diffs], Tue Aug 23 12:46:58 2011 UTC (12 years, 7 months ago) by reinoud
Branch: MAIN
Changes since 1.17: +3 -3 lines
Diff to previous 1.17 (colored)

The pv_tables and the kernel pmap structure are not managed by UVM and thus
shouldn't be returned in pmap_virtual_space() for UVM.

Revision 1.17 / (download) - annotate - [select for diffs], Tue Aug 23 12:36:20 2011 UTC (12 years, 7 months ago) by jmcneill
Branch: MAIN
Changes since 1.16: +2 -36 lines
Diff to previous 1.16 (colored)

get rid of uvmhist stuff

Revision 1.16 / (download) - annotate - [select for diffs], Tue Aug 23 12:06:14 2011 UTC (12 years, 7 months ago) by reinoud
Branch: MAIN
Changes since 1.15: +84 -10 lines
Diff to previous 1.15 (colored)

Initial implementation of pmap_remove()

Also cleaned up some debug output to be aprint_debug()'d.

Revision 1.15 / (download) - annotate - [select for diffs], Tue Aug 23 11:36:11 2011 UTC (12 years, 7 months ago) by reinoud
Branch: MAIN
Changes since 1.14: +45 -6 lines
Diff to previous 1.14 (colored)

Implement pv_alloc() and pv_free() and add various printf's to see what
functions are called that might have side effects due to not being
implemented!

Revision 1.14 / (download) - annotate - [select for diffs], Tue Aug 23 10:41:47 2011 UTC (12 years, 7 months ago) by reinoud
Branch: MAIN
Changes since 1.13: +1 -5 lines
Diff to previous 1.13 (colored)

Cleanup pv_get() before enabling multiple-mappings

Revision 1.13 / (download) - annotate - [select for diffs], Tue Aug 23 00:52:33 2011 UTC (12 years, 7 months ago) by jmcneill
Branch: MAIN
Changes since 1.12: +3 -3 lines
Diff to previous 1.12 (colored)

pmap_enter: fix pmap_do_enter parameters

Revision 1.12 / (download) - annotate - [select for diffs], Mon Aug 22 21:59:09 2011 UTC (12 years, 7 months ago) by reinoud
Branch: MAIN
Changes since 1.11: +17 -9 lines
Diff to previous 1.11 (colored)

Dirty patch fixing the assert triggered on i386. On this arch the sbrk(0) HAS
been moved upward and will trigger the assert. When this situation is
encountered the kmem_data_end will be moved upward equaly.

Revision 1.11 / (download) - annotate - [select for diffs], Mon Aug 22 21:45:38 2011 UTC (12 years, 7 months ago) by jmcneill
Branch: MAIN
Changes since 1.10: +4 -4 lines
Diff to previous 1.10 (colored)

build fixes for netbsd-5 and i386

Revision 1.10 / (download) - annotate - [select for diffs], Mon Aug 22 16:22:16 2011 UTC (12 years, 7 months ago) by reinoud
Branch: MAIN
Changes since 1.9: +15 -6 lines
Diff to previous 1.9 (colored)

Implement pmap_extract() and print pmap_zero_page() pa address.

Revision 1.9 / (download) - annotate - [select for diffs], Mon Aug 22 15:36:23 2011 UTC (12 years, 7 months ago) by reinoud
Branch: MAIN
Changes since 1.8: +416 -32 lines
Diff to previous 1.8 (colored)

Start NetBSD/usermode's pmap. Its using a temp file as a physical memory
backup and that should be documented in the code. A physical address is thus a
file offset(!) and a virtual address is a `normal' accesible address.

Still to do: various misc functions and pmap_extract() in special.

Credits also go to Ben Harris for his work on the Acorn26 pmap that followed
the Daemon Book recommendation for systems without real page tables on wich
this implementation is modelled after.

Revision 1.8 / (download) - annotate - [select for diffs], Sat Aug 13 10:31:24 2011 UTC (12 years, 8 months ago) by jmcneill
Branch: MAIN
Changes since 1.7: +4 -9 lines
Diff to previous 1.7 (colored)

- initialize cpu_info_primary early, before cpu0 attaches
- track idepth in cpu_info struct and use it in cpu_intr_p
- for debug and diagnostic kernels, abort when rebooting
- fill in __cpu_simple_lock_* stubs
- splraise(IPL_HIGH) before calling kernmain
- pmap_extract: only return phys addr if pap is not NULL

Revision 1.7 / (download) - annotate - [select for diffs], Thu Aug 11 22:26:18 2011 UTC (12 years, 8 months ago) by jmcneill
Branch: MAIN
Changes since 1.6: +5 -4 lines
Diff to previous 1.6 (colored)

pmap_memory isn't a static array anymore so sizeof doesn't work on it

Revision 1.6 / (download) - annotate - [select for diffs], Wed Aug 10 01:32:44 2011 UTC (12 years, 8 months ago) by jmcneill
Branch: MAIN
Changes since 1.5: +11 -13 lines
Diff to previous 1.5 (colored)

fix build

Revision 1.5.2.1 / (download) - annotate - [select for diffs], Sat Oct 30 08:41:12 2010 UTC (13 years, 5 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.5: +9 -2 lines
Diff to previous 1.5 (colored) next main 1.6 (colored)

Implement pmap_physload_device(9) to replace xmd(4) MD backend.
Implement pmap_mmap(9) and use it from mem(4) and xmd(4).

Revision 1.1.18.2 / (download) - annotate - [select for diffs], Thu Mar 11 15:03:05 2010 UTC (14 years, 1 month ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.1.18.1: +3 -14 lines
Diff to previous 1.1.18.1 (colored) to branchpoint 1.1 (colored) next main 1.2 (colored)

sync with head

Revision 1.5 / (download) - annotate - [select for diffs], Sat Nov 7 07:27:48 2009 UTC (14 years, 5 months ago) by cegger
Branch: MAIN
CVS Tags: yamt-nfs-mp-base9, yamt-nfs-mp-base11, yamt-nfs-mp-base10, uebayasi-xip-base7, uebayasi-xip-base6, uebayasi-xip-base5, uebayasi-xip-base4, uebayasi-xip-base3, uebayasi-xip-base2, uebayasi-xip-base1, uebayasi-xip-base, rmind-uvmplock-nbase, rmind-uvmplock-base, rmind-uvmplock, matt-premerge-20091211, matt-mips64-premerge-20101231, jym-xensuspend-nbase, jym-xensuspend-base, jruoho-x86intr-base, jruoho-x86intr, cherry-xenmp-base, cherry-xenmp, bouyer-quota2-nbase, bouyer-quota2-base, bouyer-quota2
Branch point for: uebayasi-xip
Changes since 1.4: +3 -3 lines
Diff to previous 1.4 (colored)

Add a flags argument to pmap_kenter_pa(9).
Patch showed on tech-kern@ http://mail-index.netbsd.org/tech-kern/2009/11/04/msg006434.html
No objections.

Revision 1.4 / (download) - annotate - [select for diffs], Wed Oct 21 21:12:04 2009 UTC (14 years, 5 months ago) by rmind
Branch: MAIN
Changes since 1.3: +2 -7 lines
Diff to previous 1.3 (colored)

Remove uarea swap-out functionality:

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

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

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

Revision 1.3 / (download) - annotate - [select for diffs], Wed Oct 21 16:07:00 2009 UTC (14 years, 5 months ago) by snj
Branch: MAIN
Changes since 1.2: +2 -8 lines
Diff to previous 1.2 (colored)

Drop 3rd and 4th clauses.  OK jmcneill (copyright holder).

Revision 1.1.32.1 / (download) - annotate - [select for diffs], Wed May 13 17:18:40 2009 UTC (14 years, 11 months ago) by jym
Branch: jym-xensuspend
Changes since 1.1: +3 -3 lines
Diff to previous 1.1 (colored) next main 1.2 (colored)

Sync with HEAD.

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

Revision 1.1.18.1 / (download) - annotate - [select for diffs], Mon May 4 08:12:03 2009 UTC (14 years, 11 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.1: +3 -3 lines
Diff to previous 1.1 (colored)

sync with head.

Revision 1.1.26.1 / (download) - annotate - [select for diffs], Tue Apr 28 07:34:49 2009 UTC (14 years, 11 months ago) by skrll
Branch: nick-hppapmap
Changes since 1.1: +3 -3 lines
Diff to previous 1.1 (colored) next main 1.2 (colored)

Sync with HEAD.

Revision 1.2 / (download) - annotate - [select for diffs], Tue Apr 21 21:30:00 2009 UTC (14 years, 11 months ago) by cegger
Branch: MAIN
CVS Tags: yamt-nfs-mp-base8, yamt-nfs-mp-base7, yamt-nfs-mp-base6, yamt-nfs-mp-base5, yamt-nfs-mp-base4, yamt-nfs-mp-base3, nick-hppapmap-base4, nick-hppapmap-base3, nick-hppapmap-base, jymxensuspend-base
Changes since 1.1: +3 -3 lines
Diff to previous 1.1 (colored)

change pmap flags argument from int to u_int.
discussed with christos@ on source-changes-d@

Revision 1.1.8.2 / (download) - annotate - [select for diffs], Mon Feb 18 21:05:13 2008 UTC (16 years, 1 month ago) by mjf
Branch: mjf-devfs
Changes since 1.1.8.1: +272 -0 lines
Diff to previous 1.1.8.1 (colored) to branchpoint 1.1 (colored) next main 1.2 (colored)

Sync with HEAD.

Revision 1.1.6.2 / (download) - annotate - [select for diffs], Mon Jan 21 09:39:57 2008 UTC (16 years, 2 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.1.6.1: +272 -0 lines
Diff to previous 1.1.6.1 (colored) to branchpoint 1.1 (colored) next main 1.2 (colored)

sync with head

Revision 1.1.4.2 / (download) - annotate - [select for diffs], Wed Jan 9 01:49:30 2008 UTC (16 years, 3 months ago) by matt
Branch: matt-armv6
Changes since 1.1.4.1: +272 -0 lines
Diff to previous 1.1.4.1 (colored) to branchpoint 1.1 (colored) next main 1.2 (colored)

sync with HEAD

Revision 1.1.2.2 / (download) - annotate - [select for diffs], Wed Jan 2 21:51:05 2008 UTC (16 years, 3 months ago) by bouyer
Branch: bouyer-xeni386
CVS Tags: bouyer-xeni386-merge1
Changes since 1.1.2.1: +272 -0 lines
Diff to previous 1.1.2.1 (colored) to branchpoint 1.1 (colored) next main 1.2 (colored)

Sync with HEAD

Revision 1.1.8.1, Sat Dec 29 14:38:37 2007 UTC (16 years, 3 months ago) by mjf
Branch: mjf-devfs
Changes since 1.1: +0 -272 lines
FILE REMOVED

file pmap.c was added on branch mjf-devfs on 2008-02-18 21:05:13 +0000

Revision 1.1.6.1, Sat Dec 29 14:38:37 2007 UTC (16 years, 3 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.1: +0 -272 lines
FILE REMOVED

file pmap.c was added on branch yamt-lazymbuf on 2008-01-21 09:39:56 +0000

Revision 1.1.4.1, Sat Dec 29 14:38:37 2007 UTC (16 years, 3 months ago) by matt
Branch: matt-armv6
Changes since 1.1: +0 -272 lines
FILE REMOVED

file pmap.c was added on branch matt-armv6 on 2008-01-09 01:49:30 +0000

Revision 1.1.2.1, Sat Dec 29 14:38:37 2007 UTC (16 years, 3 months ago) by bouyer
Branch: bouyer-xeni386
Changes since 1.1: +0 -272 lines
FILE REMOVED

file pmap.c was added on branch bouyer-xeni386 on 2008-01-02 21:51:05 +0000

Revision 1.1 / (download) - annotate - [select for diffs], Sat Dec 29 14:38:37 2007 UTC (16 years, 3 months ago) by jmcneill
Branch: MAIN
CVS Tags: yamt-pf42-baseX, yamt-pf42-base4, yamt-pf42-base3, yamt-pf42-base2, yamt-pf42-base, yamt-pf42, yamt-nfs-mp-base2, yamt-nfs-mp-base, yamt-lazymbuf-base15, yamt-lazymbuf-base14, wrstuden-revivesa-base-4, wrstuden-revivesa-base-3, wrstuden-revivesa-base-2, wrstuden-revivesa-base-1, wrstuden-revivesa-base, wrstuden-revivesa, simonb-wapbl-nbase, simonb-wapbl-base, simonb-wapbl, nick-net80211-sync-base, nick-net80211-sync, nick-hppapmap-base2, 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, matt-nb5-pq3-base, matt-nb5-pq3, matt-nb5-mips64-u2-k2-k4-k7-k8-k9, matt-nb5-mips64-u1-k1-k5, matt-nb5-mips64-premerge-20101231, matt-nb5-mips64-premerge-20091211, matt-nb5-mips64-k15, matt-nb5-mips64, matt-nb4-mips64-k7-u2a-k9b, matt-mips64-base2, matt-armv6-nbase, matt-armv6-base, keiichi-mipv6-nbase, keiichi-mipv6-base, keiichi-mipv6, hpcarm-cleanup-nbase, hpcarm-cleanup-base, haad-nbase2, haad-dm-base2, haad-dm-base1, haad-dm-base, haad-dm, bouyer-xeni386-nbase, bouyer-xeni386-base, ad-socklock-base1, ad-audiomp2-base, ad-audiomp2
Branch point for: yamt-nfs-mp, yamt-lazymbuf, nick-hppapmap, mjf-devfs, matt-armv6, jym-xensuspend, bouyer-xeni386

Import work-in-progress NetBSD/usermode port.

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>