The NetBSD Project

CVS log for src/sys/arch/arm/include/arm32/pmap.h

[BACK] Up to [cvs.NetBSD.org] / src / sys / arch / arm / include / arm32

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.173 / (download) - annotate - [select for diffs], Sat Apr 2 11:16:07 2022 UTC (10 months ago) by skrll
Branch: MAIN
CVS Tags: netbsd-10-base, netbsd-10, bouyer-sunxi-drm-base, bouyer-sunxi-drm, HEAD
Changes since 1.172: +11 -1 lines
Diff to previous 1.172 (colored)

Update to support EFI runtime outside the kernel virtual address space
by creating an EFI RT pmap that can be activated / deactivated when
required.

Adds support for EFI RT to ARM_MMU_EXTENDED (ASID) 32-bit Arm machines.

On Arm64 the usage of pmapboot_enter is reduced and the mappings are
created much later in the boot process -- now in cpu_startup_hook.
Backward compatiblity for KVA mapped RT from old bootaa64.efi is
maintained.

Adding support to other platforms should be easier as a result.

Revision 1.172 / (download) - annotate - [select for diffs], Sat Jan 15 08:14:37 2022 UTC (12 months, 3 weeks ago) by skrll
Branch: MAIN
Changes since 1.171: +2 -2 lines
Diff to previous 1.171 (colored)

Remove unnecessary brackets

Revision 1.171 / (download) - annotate - [select for diffs], Sat Oct 16 07:04:36 2021 UTC (15 months, 3 weeks ago) by skrll
Branch: MAIN
Changes since 1.170: +2 -3 lines
Diff to previous 1.170 (colored)

pm_remove_all is a shared field so move it out the #ifdefs

Revision 1.169.6.1 / (download) - annotate - [select for diffs], Thu May 13 00:47:23 2021 UTC (20 months, 3 weeks ago) by thorpej
Branch: thorpej-i2c-spi-conf
Changes since 1.169: +15 -1 lines
Diff to previous 1.169 (colored) next main 1.170 (colored)

Sync with HEAD.

Revision 1.170 / (download) - annotate - [select for diffs], Tue May 4 09:02:21 2021 UTC (21 months ago) by skrll
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, cjep_sun2x-base1, cjep_sun2x-base, cjep_sun2x, cjep_staticlib_x-base1, cjep_staticlib_x-base, cjep_staticlib_x
Changes since 1.169: +15 -1 lines
Diff to previous 1.169 (colored)

Provide pte_{value,valid_p}

Revision 1.169 / (download) - annotate - [select for diffs], Fri Oct 30 18:54:36 2020 UTC (2 years, 3 months ago) by skrll
Branch: MAIN
CVS Tags: thorpej-futex-base, thorpej-futex, thorpej-cfargs-base, thorpej-cfargs
Branch point for: thorpej-i2c-spi-conf
Changes since 1.168: +2 -2 lines
Diff to previous 1.168 (colored)

Retire arm_[di]sb in favour of the isb() and dsb(sy) macro invocations.

Revision 1.168 / (download) - annotate - [select for diffs], Fri Jul 3 06:49:26 2020 UTC (2 years, 7 months ago) by skrll
Branch: MAIN
Changes since 1.167: +48 -48 lines
Diff to previous 1.167 (colored)

Consistency...#define<tab>

Revision 1.155.2.3 / (download) - annotate - [select for diffs], Tue Apr 21 18:42:04 2020 UTC (2 years, 9 months ago) by martin
Branch: phil-wifi
Changes since 1.155.2.2: +0 -2 lines
Diff to previous 1.155.2.2 (colored) to branchpoint 1.155 (colored) next main 1.156 (colored)

Sync with HEAD

Revision 1.166.2.1 / (download) - annotate - [select for diffs], Mon Apr 20 11:28:53 2020 UTC (2 years, 9 months ago) by bouyer
Branch: bouyer-xenpvh
Changes since 1.166: +1 -3 lines
Diff to previous 1.166 (colored) next main 1.167 (colored)

Sync with HEAD

Revision 1.167 / (download) - annotate - [select for diffs], Sat Apr 18 11:00:38 2020 UTC (2 years, 9 months ago) by skrll
Branch: MAIN
CVS Tags: phil-wifi-20200421, bouyer-xenpvh-base2, bouyer-xenpvh-base1
Changes since 1.166: +1 -3 lines
Diff to previous 1.166 (colored)

PMAP_DEBUG has been deleted on arm

Revision 1.155.2.2 / (download) - annotate - [select for diffs], Wed Apr 8 14:07:29 2020 UTC (2 years, 9 months ago) by martin
Branch: phil-wifi
Changes since 1.155.2.1: +36 -19 lines
Diff to previous 1.155.2.1 (colored) to branchpoint 1.155 (colored)

Merge changes from current as of 20200406

Revision 1.166 / (download) - annotate - [select for diffs], Sun Mar 29 21:34:33 2020 UTC (2 years, 10 months ago) by skrll
Branch: MAIN
CVS Tags: phil-wifi-20200411, phil-wifi-20200406, bouyer-xenpvh-base
Branch point for: bouyer-xenpvh
Changes since 1.165: +3 -3 lines
Diff to previous 1.165 (colored)

Don't define pt_entry_t if _LOCORE

Reported by Patrick Welche

Revision 1.165 / (download) - annotate - [select for diffs], Sun Mar 29 09:01:32 2020 UTC (2 years, 10 months ago) by skrll
Branch: MAIN
Changes since 1.164: +7 -1 lines
Diff to previous 1.164 (colored)

Provide a pt_entry_t and PRIxPTE

Revision 1.164 / (download) - annotate - [select for diffs], Sat Mar 14 14:05:42 2020 UTC (2 years, 10 months ago) by ad
Branch: MAIN
Changes since 1.163: +2 -2 lines
Diff to previous 1.163 (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.157.2.3 / (download) - annotate - [select for diffs], Sat Feb 29 20:18:19 2020 UTC (2 years, 11 months ago) by ad
Branch: ad-namecache
Changes since 1.157.2.2: +19 -12 lines
Diff to previous 1.157.2.2 (colored) to branchpoint 1.157 (colored) next main 1.158 (colored)

Sync with head.

Revision 1.156.4.1 / (download) - annotate - [select for diffs], Thu Feb 27 19:06:23 2020 UTC (2 years, 11 months ago) by martin
Branch: netbsd-9
CVS Tags: netbsd-9-3-RELEASE, netbsd-9-2-RELEASE, netbsd-9-1-RELEASE
Changes since 1.156: +17 -7 lines
Diff to previous 1.156 (colored) next main 1.157 (colored)

Pull up following revision(s) (requested by skrll in ticket #742):

	sys/arch/arm/arm32/pmap.c: revision 1.388
	sys/arch/arm/arm32/armv7_generic_space.c: revision 1.11
	sys/arch/arm/arm/cpufunc.c: revision 1.176
	sys/arch/arm/conf/Makefile.arm: revision 1.54 (via patch)
	sys/arch/arm/include/arm32/pmap.h: revision 1.161

Fix the armv[67] memory attributes for uncached memory.  Previously it was
mapped as strongly-ordered which meant that unaligned accesses would fault.
armv7_generic_bs_map now maps pages with PMAP_DEV which is treated as SO
bus_dma continues to use PMAP_NOCACHE as appropriate, but this now get
mapped to the correct memory attribute bits for armv[67]

DEVMAP_ENTRY usees a new flag PTE_DEV.

The workaround for the unaligned access faults is now removed.
XXX Other armv[67] boards bus_space implementations should be checked.
XXX There is scope to reduce the difference to aarch64

Revision 1.163 / (download) - annotate - [select for diffs], Mon Feb 24 20:31:56 2020 UTC (2 years, 11 months ago) by ad
Branch: MAIN
CVS Tags: is-mlppp-base, is-mlppp, ad-namecache-base3
Changes since 1.162: +3 -4 lines
Diff to previous 1.162 (colored)

Adjust for UVM locking changes

Revision 1.162 / (download) - annotate - [select for diffs], Sun Feb 23 15:12:18 2020 UTC (2 years, 11 months ago) by skrll
Branch: MAIN
Changes since 1.161: +1 -3 lines
Diff to previous 1.161 (colored)

G/C l1pte_pgindex

Revision 1.161 / (download) - annotate - [select for diffs], Wed Feb 5 07:37:36 2020 UTC (3 years ago) by skrll
Branch: MAIN
Changes since 1.160: +17 -7 lines
Diff to previous 1.160 (colored)

Fix the armv[67] memory attributes for uncached memory.  Previously it was
mapped as strongly-ordered which meant that unaligned accesses would fault.

armv7_generic_bs_map now maps pages with PMAP_DEV which is treated as SO

bus_dma continues to use PMAP_NOCACHE as appropriate, but this now get
mapped to the correct memory attribute bits for armv[67]

DEVMAP_ENTRY usees a new flag PTE_DEV.

The workaround for the unaligned access faults is now removed.

XXX Other armv[67] boards bus_space implementations should be checked.
XXX There is scope to reduce the difference to aarch64

Revision 1.157.2.2 / (download) - annotate - [select for diffs], Sat Jan 25 22:38:38 2020 UTC (3 years ago) by ad
Branch: ad-namecache
Changes since 1.157.2.1: +5 -1 lines
Diff to previous 1.157.2.1 (colored) to branchpoint 1.157 (colored)

Sync with head.

Revision 1.160 / (download) - annotate - [select for diffs], Mon Jan 20 22:13:58 2020 UTC (3 years ago) by skrll
Branch: MAIN
CVS Tags: ad-namecache-base2
Changes since 1.159: +2 -2 lines
Diff to previous 1.159 (colored)

s/_ARM_ARCH_6/ARM_MMU_EXTENDED/ in the #ifdef for the recent 4k pages
change

Revision 1.159 / (download) - annotate - [select for diffs], Sat Jan 18 14:40:04 2020 UTC (3 years ago) by skrll
Branch: MAIN
Changes since 1.158: +5 -1 lines
Diff to previous 1.158 (colored)

Use 4K pages on ARM_MMU_EXTENDED platforms (all armv[67] except RPI) by
creating a new pool l1ttpl for the userland L1 translation table which
needs to be 8KB and 8KB aligned.

Limit the pool to maxproc and add hooks to allow the sysctl changing of
maxproc to adjust the pool.

This comes at a 5% performance penalty for build.sh -j8 kernel on a
Tegra TK1.

Revision 1.157.2.1 / (download) - annotate - [select for diffs], Fri Jan 17 21:47:24 2020 UTC (3 years ago) by ad
Branch: ad-namecache
Changes since 1.157: +6 -6 lines
Diff to previous 1.157 (colored)

Sync with head.

Revision 1.158 / (download) - annotate - [select for diffs], Sun Jan 12 20:06:52 2020 UTC (3 years ago) by christos
Branch: MAIN
CVS Tags: ad-namecache-base1
Changes since 1.157: +6 -6 lines
Diff to previous 1.157 (colored)

fix -Wsign-compare because module tests trigger it.

Revision 1.157 / (download) - annotate - [select for diffs], Tue Dec 10 18:02:14 2019 UTC (3 years, 1 month ago) by ad
Branch: MAIN
CVS Tags: ad-namecache-base
Branch point for: ad-namecache
Changes since 1.156: +2 -2 lines
Diff to previous 1.156 (colored)

pg->phys_addr -> VM_PAGE_TO_PHYS(pg)

Revision 1.155.2.1 / (download) - annotate - [select for diffs], Mon Jun 10 22:05:54 2019 UTC (3 years, 7 months ago) by christos
Branch: phil-wifi
Changes since 1.155: +6 -1 lines
Diff to previous 1.155 (colored)

Sync with HEAD

Revision 1.154.2.2 / (download) - annotate - [select for diffs], Sat Oct 20 06:58:25 2018 UTC (4 years, 3 months ago) by pgoyette
Branch: pgoyette-compat
CVS Tags: pgoyette-compat-merge-20190127
Changes since 1.154.2.1: +6 -1 lines
Diff to previous 1.154.2.1 (colored) to branchpoint 1.154 (colored) next main 1.155 (colored)

Sync with head

Revision 1.156 / (download) - annotate - [select for diffs], Thu Oct 18 09:01:52 2018 UTC (4 years, 3 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, netbsd-9-base, netbsd-9-0-RELEASE, netbsd-9-0-RC2, netbsd-9-0-RC1, isaki-audio2-base, isaki-audio2
Branch point for: netbsd-9
Changes since 1.155: +6 -1 lines
Diff to previous 1.155 (colored)

Provide generic start code that assumes the MMU is off and caches are
disabled as per the linux booting protocol for ARMv6 and ARMv7 boards.
u-boot image type should be changed to 'linux' for correct behaviour.

The new start code builds a minimal "bootstrap" L1PT with cached access
disabled and uses the same table for all processors.  AP startup is
performed in less steps and more code is written in C.

The bootstrap tables and stack are placed into an (orphaned) section
"_init_memory" which is given to uvm when it is no longer used.

Various kernels have been converted to use this code and tested.  Some
boards were provided by TNF. Thanks!

The GENERIC kernel now boots on boards using the TEGRA, SUNXI and EXYNOS
kernels. The GENERIC kernel will also work on RPI2 using u-boot.

Thanks to martin@ and aymeric@ for testing on parallella and nanosoc
respectively

Revision 1.154.2.1 / (download) - annotate - [select for diffs], Sat Apr 7 04:12:12 2018 UTC (4 years, 10 months ago) by pgoyette
Branch: pgoyette-compat
Changes since 1.154: +10 -1 lines
Diff to previous 1.154 (colored)

Sync with HEAD.  77 conflicts resolved - all of them $NetBSD$

Revision 1.155 / (download) - annotate - [select for diffs], Sun Apr 1 04:35:04 2018 UTC (4 years, 10 months ago) by ryo
Branch: MAIN
CVS Tags: phil-wifi-base, 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
Branch point for: phil-wifi
Changes since 1.154: +10 -1 lines
Diff to previous 1.154 (colored)

Add initial support for ARMv8 (AARCH64) (by nisimura@ and ryo@)

- sys/arch/evbarm64 is gone and integrated into sys/arch/evbarm. (by skrll@)
- add support fdt. evbarm/conf/GENERIC64 fdt (bcm2837,sunxi,tegra) based generic 64bit kernel config. (by skrll@, jmcneill@)

Revision 1.154 / (download) - annotate - [select for diffs], Wed Jan 24 09:04:45 2018 UTC (5 years ago) by skrll
Branch: MAIN
CVS Tags: pgoyette-compat-base, pgoyette-compat-0330, pgoyette-compat-0322, pgoyette-compat-0315
Branch point for: pgoyette-compat
Changes since 1.153: +1 -3 lines
Diff to previous 1.153 (colored)

Remove port-acorn26

OK core@

Revision 1.111.2.5 / (download) - annotate - [select for diffs], Sun Dec 3 11:35:54 2017 UTC (5 years, 2 months ago) by jdolecek
Branch: tls-maxphys
Changes since 1.111.2.4: +95 -35 lines
Diff to previous 1.111.2.4 (colored) next main 1.112 (colored)

update from HEAD

Revision 1.153 / (download) - annotate - [select for diffs], Sun Oct 22 20:35:32 2017 UTC (5 years, 3 months ago) by skrll
Branch: MAIN
CVS Tags: tls-maxphys-base-20171202
Changes since 1.152: +13 -1 lines
Diff to previous 1.152 (colored)

Centralise defines for DEVMAP_{ALIGN,SIZE,ENTRY,ENTRY_END}

Revision 1.152 / (download) - annotate - [select for diffs], Tue Aug 29 06:28:26 2017 UTC (5 years, 5 months ago) by skrll
Branch: MAIN
Changes since 1.151: +37 -24 lines
Diff to previous 1.151 (colored)

Revert the *_PROT_RO_* define changes and do all the work in the *_PROT()
macros for RO kernel pages.

cats boots again - no idea how it slipped through my testing previously

Revision 1.137.2.6 / (download) - annotate - [select for diffs], Mon Aug 28 17:51:31 2017 UTC (5 years, 5 months ago) by skrll
Branch: nick-nhusb
Changes since 1.137.2.5: +41 -24 lines
Diff to previous 1.137.2.5 (colored) to branchpoint 1.137 (colored) next main 1.138 (colored)

Sync with HEAD

Revision 1.151 / (download) - annotate - [select for diffs], Tue Jul 11 20:42:17 2017 UTC (5 years, 6 months ago) by skrll
Branch: MAIN
CVS Tags: perseant-stdc-iso10646-base, perseant-stdc-iso10646, nick-nhusb-base-20170825
Changes since 1.150: +7 -4 lines
Diff to previous 1.150 (colored)

Fix up L{1_S,2_L,2_S}_PROT for recent changes to the
L{1_S,2_L,2_S}_PROT_RO* values.

Revision 1.150 / (download) - annotate - [select for diffs], Thu Jul 6 15:17:47 2017 UTC (5 years, 7 months ago) by skrll
Branch: MAIN
Changes since 1.149: +9 -5 lines
Diff to previous 1.149 (colored)

KNF two comments

Revision 1.149 / (download) - annotate - [select for diffs], Thu Jul 6 15:07:56 2017 UTC (5 years, 7 months ago) by skrll
Branch: MAIN
Changes since 1.148: +14 -10 lines
Diff to previous 1.148 (colored)

Re-define the L*_PROT_RO for MMUs that don't really support RO mapping
and adjust l2pte_set_{writeable,readony} to the new values.

This allows RO mappings for MMUs that actually support them.

Revision 1.148 / (download) - annotate - [select for diffs], Thu Jul 6 06:31:24 2017 UTC (5 years, 7 months ago) by skrll
Branch: MAIN
Changes since 1.147: +2 -2 lines
Diff to previous 1.147 (colored)

Trailing whitespace

Revision 1.147 / (download) - annotate - [select for diffs], Thu May 25 20:42:41 2017 UTC (5 years, 8 months ago) by skrll
Branch: MAIN
CVS Tags: 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
Changes since 1.146: +2 -2 lines
Diff to previous 1.146 (colored)

Use the define name PMAP_HWPAGEWALKER and not PMAP_TLB_HWPAGEWALKER

Revision 1.146 / (download) - annotate - [select for diffs], Thu May 25 20:32:48 2017 UTC (5 years, 8 months ago) by skrll
Branch: MAIN
Changes since 1.145: +2 -2 lines
Diff to previous 1.145 (colored)

Spell ARM_MMU_EXTENDED correctly

Revision 1.144.4.1 / (download) - annotate - [select for diffs], Fri Apr 21 16:53:23 2017 UTC (5 years, 9 months ago) by bouyer
Branch: bouyer-socketcan
Changes since 1.144: +12 -6 lines
Diff to previous 1.144 (colored) next main 1.145 (colored)

Sync with HEAD

Revision 1.144.2.1 / (download) - annotate - [select for diffs], Mon Mar 20 06:57:11 2017 UTC (5 years, 10 months ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.144: +12 -6 lines
Diff to previous 1.144 (colored) next main 1.145 (colored)

Sync with HEAD

Revision 1.135.2.2.4.1 / (download) - annotate - [select for diffs], Mon Mar 13 07:41:26 2017 UTC (5 years, 10 months ago) by skrll
Branch: netbsd-7-nhusb
Changes since 1.135.2.2: +12 -6 lines
Diff to previous 1.135.2.2 (colored) next main 1.135.2.3 (colored)

Sync with netbsd-7-1-RELEASE

Revision 1.135.2.3 / (download) - annotate - [select for diffs], Sat Mar 11 07:40:21 2017 UTC (5 years, 10 months ago) by snj
Branch: netbsd-7
CVS Tags: netbsd-7-2-RELEASE, netbsd-7-1-RELEASE, netbsd-7-1-2-RELEASE, netbsd-7-1-1-RELEASE, netbsd-7-1
Changes since 1.135.2.2: +12 -6 lines
Diff to previous 1.135.2.2 (colored) to branchpoint 1.135 (colored) next main 1.136 (colored)

Pull up following revision(s) (requested by skrll in ticket #1366):
	sys/arch/arm/include/arm32/pmap.h: 1.145
	sys/arch/arm/arm32/pmap.c: 1.343, 1.344
	sys/arch/evbarm/gumstix/gumstix_machdep.c: 1.58 via patch
Fixup the compile time decisions around PMAP_{INCLUDE,NEEDS}_PTE_SYNC and
fix the options for xscale boards which require the code in
pmap_l2ptp_ctor marked as #ifndef PMAP_INCLUDE_PTE_SYNC.
Fix the typo (pte -> opte) in this code block and consistently use opte
elsewhere.
PR/51990: Regression data_abort_handler: data_aborts fsr=0x406 far=0xbfffeff5  on copyout in init
--
fix unused.
--
Set xscale_cache_clean_addr appropriately and re-arrange default KVA
layout to allow direct map for all boards.
OVERO/DUOVERO/PEPPER aren't tested.
PR/52010: Regression: Gumstix Verdex is hanging in enabling cache + KASSERT ram_size

Revision 1.145 / (download) - annotate - [select for diffs], Thu Feb 23 08:22:20 2017 UTC (5 years, 11 months ago) by skrll
Branch: MAIN
CVS Tags: prg-localcount2-base3, prg-localcount2-base2, prg-localcount2-base1, prg-localcount2-base, prg-localcount2, pgoyette-localcount-20170426, pgoyette-localcount-20170320, jdolecek-ncq-base, jdolecek-ncq, bouyer-socketcan-base1
Changes since 1.144: +12 -6 lines
Diff to previous 1.144 (colored)

Fixup the compile time decisions around PMAP_{INCLUDE,NEEDS}_PTE_SYNC and
fix the options for xscale boards which require the code in
pmap_l2ptp_ctor marked as #ifndef PMAP_INCLUDE_PTE_SYNC.

Fix the typo (pte -> opte) in this code block and consistently use opte
elsewhere.

PR/51990: Regression data_abort_handler: data_aborts fsr=0x406 far=0xbfffeff5  on copyout in init

Revision 1.137.2.5 / (download) - annotate - [select for diffs], Wed Oct 5 20:55:25 2016 UTC (6 years, 4 months ago) by skrll
Branch: nick-nhusb
Changes since 1.137.2.4: +2 -2 lines
Diff to previous 1.137.2.4 (colored) to branchpoint 1.137 (colored)

Sync with HEAD

Revision 1.144 / (download) - annotate - [select for diffs], Thu Jul 14 05:00:51 2016 UTC (6 years, 6 months ago) by skrll
Branch: MAIN
CVS Tags: pgoyette-localcount-base, pgoyette-localcount-20170107, pgoyette-localcount-20161104, pgoyette-localcount-20160806, pgoyette-localcount-20160726, nick-nhusb-base-20170204, nick-nhusb-base-20161204, nick-nhusb-base-20161004, localcount-20160914, bouyer-socketcan-base
Branch point for: pgoyette-localcount, bouyer-socketcan
Changes since 1.143: +2 -2 lines
Diff to previous 1.143 (colored)

Spell PMAP_TLB_NEED_SHOOTDOWN correctly

Revision 1.137.2.4 / (download) - annotate - [select for diffs], Sun Dec 27 12:09:31 2015 UTC (7 years, 1 month ago) by skrll
Branch: nick-nhusb
Changes since 1.137.2.3: +24 -9 lines
Diff to previous 1.137.2.3 (colored) to branchpoint 1.137 (colored)

Sync with HEAD (as of 26th Dec)

Revision 1.143 / (download) - annotate - [select for diffs], Wed Nov 11 17:54:17 2015 UTC (7 years, 2 months ago) by skrll
Branch: MAIN
CVS Tags: nick-nhusb-base-20160907, nick-nhusb-base-20160529, nick-nhusb-base-20160422, nick-nhusb-base-20160319, nick-nhusb-base-20151226
Changes since 1.142: +24 -9 lines
Diff to previous 1.142 (colored)

Support pmap_pv_track and friends

Revision 1.137.2.3 / (download) - annotate - [select for diffs], Tue Sep 22 12:05:37 2015 UTC (7 years, 4 months ago) by skrll
Branch: nick-nhusb
Changes since 1.137.2.2: +2 -2 lines
Diff to previous 1.137.2.2 (colored) to branchpoint 1.137 (colored)

Sync with HEAD

Revision 1.142 / (download) - annotate - [select for diffs], Wed Sep 9 07:37:36 2015 UTC (7 years, 4 months ago) by skrll
Branch: MAIN
CVS Tags: nick-nhusb-base-20150921
Changes since 1.141: +2 -2 lines
Diff to previous 1.141 (colored)

Make L2_S_CACHE_MASK_armv6n consistent with other *_CACHE_MASK_armv6n

Revision 1.137.2.2 / (download) - annotate - [select for diffs], Sat Jun 6 14:39:56 2015 UTC (7 years, 8 months ago) by skrll
Branch: nick-nhusb
Changes since 1.137.2.1: +6 -3 lines
Diff to previous 1.137.2.1 (colored) to branchpoint 1.137 (colored)

Sync with HEAD

Revision 1.141 / (download) - annotate - [select for diffs], Mon Jun 1 19:16:44 2015 UTC (7 years, 8 months ago) by matt
Branch: MAIN
CVS Tags: nick-nhusb-base-20150606
Changes since 1.140: +2 -3 lines
Diff to previous 1.140 (colored)

pmap_directbase is a failed experiment, nuke it.

Revision 1.140 / (download) - annotate - [select for diffs], Sat May 30 23:59:33 2015 UTC (7 years, 8 months ago) by matt
Branch: MAIN
Changes since 1.139: +2 -1 lines
Diff to previous 1.139 (colored)

Support directmapped systems with >1GB that start memory at 0x80000000.

Revision 1.135.2.2 / (download) - annotate - [select for diffs], Wed May 27 05:33:29 2015 UTC (7 years, 8 months ago) by msaitoh
Branch: netbsd-7
CVS Tags: netbsd-7-nhusb-base-20170116, netbsd-7-nhusb-base, netbsd-7-1-RC2, netbsd-7-1-RC1, 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
Branch point for: netbsd-7-nhusb
Changes since 1.135.2.1: +3 -4 lines
Diff to previous 1.135.2.1 (colored) to branchpoint 1.135 (colored)

Pull up following revision(s) (requested by skrll in ticket #805):
	sys/arch/arm/include/arm32/pmap.h: revision 1.138
	sys/arch/arm/arm/cpufunc.c: revision 1.151
	sys/arch/arm/arm32/bus_dma.c: revision 1.90
	sys/arch/arm/broadcom/bcm53xx_pax.c: revision 1.14
	sys/arch/arm/arm32/bus_dma.c: revision 1.91
	sys/arch/arm/samsung/exynos_space.c: revision 1.2
	sys/arch/arm/arm32/db_machdep.c: revision 1.23
	sys/arch/arm/allwinner/awin_space.c: revision 1.4
	sys/arch/arm/include/rwlock.h: revision 1.9
	sys/arch/arm/amlogic/amlogic_space.c: revision 1.2
	sys/arch/arm/zynq/zynq_space.c: revision 1.2
	sys/arch/arm/broadcom/bcm2835_space.c: revision 1.7
	sys/arch/arm/arm32/pmap.c: revision 1.317
	sys/arch/arm/include/locore.h: revision 1.19
	sys/arch/arm/include/mutex.h: revision 1.20
	sys/arch/arm/include/lock.h: revision 1.31
	sys/arch/arm/include/lock.h: revision 1.32
	sys/arch/arm/broadcom/bcmgen_space.c: revision 1.5
- Kill redundant semicolons.
- Indentation.
- Improve inline asm around dsb/dmb/isb:
  - always use volatile and mark them as memory barrier
  - use the common version from locore.h in all places not included from
    userland

Revision 1.139 / (download) - annotate - [select for diffs], Tue May 12 07:07:16 2015 UTC (7 years, 8 months ago) by skrll
Branch: MAIN
Changes since 1.138: +4 -1 lines
Diff to previous 1.138 (colored)

Add some KASSERTs to catch similar bugs to the cnptes/nptes one

Revision 1.137.2.1 / (download) - annotate - [select for diffs], Mon Apr 6 15:17:53 2015 UTC (7 years, 10 months ago) by skrll
Branch: nick-nhusb
Changes since 1.137: +3 -4 lines
Diff to previous 1.137 (colored)

Sync with HEAD

Revision 1.138 / (download) - annotate - [select for diffs], Wed Feb 25 13:52:42 2015 UTC (7 years, 11 months ago) by joerg
Branch: MAIN
CVS Tags: nick-nhusb-base-20150406
Changes since 1.137: +3 -4 lines
Diff to previous 1.137 (colored)

Improve inline asm around dsb/dmb/isb:
- always use volatile and mark them as memory barrier
- use the common version from locore.h in all places not included from
  userland

Revision 1.135.2.1 / (download) - annotate - [select for diffs], Sun Nov 9 16:05:25 2014 UTC (8 years, 2 months ago) by martin
Branch: netbsd-7
Changes since 1.135: +2 -1 lines
Diff to previous 1.135 (colored)

Pull up following revision(s) (requested by skrll in ticket #188):
	sys/arch/arm/include/arm32/pmap.h: revision 1.136
	sys/arch/arm/include/armreg.h: revision 1.100
	sys/arch/arm/cortex/gic.c: revision 1.11
	sys/arch/arm/arm32/db_interface.c: revision 1.54
	sys/arch/arm/include/armreg.h: revision 1.101
	sys/arch/arm/cortex/gic.c: revision 1.12
	sys/arch/arm/arm32/arm32_machdep.c: revision 1.107
	sys/arch/arm/arm/cpufunc_asm_armv7.S: revision 1.19
	sys/arch/arm/cortex/a9_mpsubr.S: revision 1.20
	sys/arch/evbarm/conf/BPI: revision 1.5
	sys/arch/arm/cortex/a9_mpsubr.S: revision 1.21
	sys/arch/arm/arm32/pmap.c: revision 1.306
	sys/arch/arm/arm32/db_machdep.c: revision 1.22
	sys/arch/arm/arm32/arm32_tlb.c: revision 1.3
	sys/arch/arm/arm/undefined.c: revision 1.55
	sys/arch/arm/cortex/a9_mpsubr.S: revision 1.22
	sys/arch/arm/arm32/pmap.c: revision 1.307
	sys/arch/arm/arm32/arm32_tlb.c: revision 1.4
	sys/arch/arm/cortex/a9_mpsubr.S: revision 1.23
	sys/arch/arm/arm32/arm32_tlb.c: revision 1.5
	sys/arch/evbarm/conf/BPI: revision 1.8
	sys/arch/arm/cortex/a9_mpsubr.S: revision 1.24
	sys/arch/arm/arm32/arm32_tlb.c: revision 1.6
	sys/arch/arm/arm32/arm32_tlb.c: revision 1.7
	sys/arch/evbarm/conf/CUBIETRUCK: revision 1.5
	sys/arch/arm/pic/pic.c: revision 1.23
	sys/arch/arm/pic/pic.c: revision 1.24
	sys/arch/arm/pic/picvar.h: revision 1.11
	sys/arch/arm/arm/cpufunc_asm_armv7.S: revision 1.20
	sys/arch/arm/mainbus/cpu_mainbus.c: revision 1.16
	sys/arch/arm/arm32/pmap.c: revision 1.298
	sys/arch/arm/arm/cpufunc_asm_arm11.S: revision 1.17
	sys/arch/arm/arm/cpufunc_asm_pj4b.S: revision 1.5
	sys/arch/arm/arm32/pmap.c: revision 1.310
	sys/arch/arm/arm32/pmap.c: revision 1.311
	sys/arch/arm/arm32/arm32_kvminit.c: revision 1.32
	sys/arch/arm/cortex/a9_mpsubr.S: revision 1.19
	sys/arch/arm/arm32/arm32_boot.c: revision 1.10
	sys/arch/arm/arm/ast.c: revision 1.25
	sys/arch/arm/include/armreg.h: revision 1.98
	sys/uvm/pmap/pmap_tlb.c: revision 1.10
	sys/arch/arm/arm32/arm32_boot.c: revision 1.8
	sys/arch/arm/arm32/arm32_boot.c: revision 1.9
	sys/arch/arm/arm/arm_machdep.c: revision 1.43
Various ARM MP fixes.

Revision 1.137 / (download) - annotate - [select for diffs], Sat Nov 8 17:18:22 2014 UTC (8 years, 2 months ago) by skrll
Branch: MAIN
CVS Tags: nick-nhusb-base
Branch point for: nick-nhusb
Changes since 1.136: +3 -3 lines
Diff to previous 1.136 (colored)

Whitespace

Revision 1.136 / (download) - annotate - [select for diffs], Wed Oct 29 14:14:14 2014 UTC (8 years, 3 months ago) by skrll
Branch: MAIN
Changes since 1.135: +2 -1 lines
Diff to previous 1.135 (colored)

Sprinkle #include "opt_multiprocessor.h"

Revision 1.111.2.4 / (download) - annotate - [select for diffs], Wed Aug 20 00:02:46 2014 UTC (8 years, 5 months ago) by tls
Branch: tls-maxphys
Changes since 1.111.2.3: +188 -34 lines
Diff to previous 1.111.2.3 (colored)

Rebase to HEAD as of a few days ago.

Revision 1.130.2.1 / (download) - annotate - [select for diffs], Sun Aug 10 06:53:51 2014 UTC (8 years, 5 months ago) by tls
Branch: tls-earlyentropy
Changes since 1.130: +44 -17 lines
Diff to previous 1.130 (colored) next main 1.131 (colored)

Rebase.

Revision 1.135 / (download) - annotate - [select for diffs], Thu Jul 31 08:04:57 2014 UTC (8 years, 6 months ago) by skrll
Branch: MAIN
CVS Tags: tls-maxphys-base, tls-earlyentropy-base, netbsd-7-base
Branch point for: netbsd-7
Changes since 1.134: +9 -9 lines
Diff to previous 1.134 (colored)

Trailing whitespace

Revision 1.134 / (download) - annotate - [select for diffs], Sun Jul 27 21:31:34 2014 UTC (8 years, 6 months ago) by skrll
Branch: MAIN
Changes since 1.133: +9 -3 lines
Diff to previous 1.133 (colored)

More fixes as a step towards ARM_MMU_EXTENDED on RPI.

- don't set CPU_CONTROL_SYST_ENABLE in arm11x6_setup for ARM_MMU_EXTENDED

- Use the new MMU defines for V6N

- pull in arm/cpuconf.h in vmparam s that VM_MAXUSER_ADDRESS gets set
  correctly.

Revision 1.133 / (download) - annotate - [select for diffs], Sun Jun 15 03:27:46 2014 UTC (8 years, 7 months ago) by ozaki-r
Branch: MAIN
Changes since 1.132: +2 -2 lines
Diff to previous 1.132 (colored)

Fix macro name; PMAP_TLB_NEED_SHOOTDOWN => PMAP_NEED_TLB_SHOOTDOWN

Revision 1.100.2.4 / (download) - annotate - [select for diffs], Thu May 22 11:39:33 2014 UTC (8 years, 8 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.100.2.3: +177 -27 lines
Diff to previous 1.100.2.3 (colored) to branchpoint 1.100 (colored) next main 1.101 (colored)

sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs.  ("Protocol error: too many arguments")

Revision 1.120.2.2 / (download) - annotate - [select for diffs], Sun May 18 17:44:58 2014 UTC (8 years, 8 months ago) by rmind
Branch: rmind-smpnet
Changes since 1.120.2.1: +162 -36 lines
Diff to previous 1.120.2.1 (colored) next main 1.121 (colored)

sync with head

Revision 1.132 / (download) - annotate - [select for diffs], Wed Apr 16 07:29:52 2014 UTC (8 years, 9 months ago) by matt
Branch: MAIN
CVS Tags: yamt-pagecache-base9, rmind-smpnet-nbase, rmind-smpnet-base
Changes since 1.131: +7 -2 lines
Diff to previous 1.131 (colored)

Make to flush the secondary cache when syncing PTEs when the Sheeva L2 cache
is used.

Revision 1.131 / (download) - annotate - [select for diffs], Fri Apr 11 04:19:47 2014 UTC (8 years, 9 months ago) by matt
Branch: MAIN
Changes since 1.130: +21 -5 lines
Diff to previous 1.130 (colored)

Add a kernel for the CUBIETRUCK (CUBIEBOARD3).  Allow direct mapping of all
memory (but for now allow the memory mapped above KERNEL_BASE to used for
poolpages).

Revision 1.130 / (download) - annotate - [select for diffs], Fri Apr 4 16:12:28 2014 UTC (8 years, 10 months ago) by matt
Branch: MAIN
Branch point for: tls-earlyentropy
Changes since 1.129: +2 -2 lines
Diff to previous 1.129 (colored)

For ARM_MMU_V6C enable supersections

Revision 1.129 / (download) - annotate - [select for diffs], Mon Mar 31 18:33:21 2014 UTC (8 years, 10 months ago) by skrll
Branch: MAIN
CVS Tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
Changes since 1.128: +14 -8 lines
Diff to previous 1.128 (colored)

Deal with large page mappings in l2pte_set.

Now the RPI can get passed setting the new TTB.

ok matt@

Revision 1.128 / (download) - annotate - [select for diffs], Mon Mar 31 01:48:37 2014 UTC (8 years, 10 months ago) by matt
Branch: MAIN
Changes since 1.127: +3 -3 lines
Diff to previous 1.127 (colored)

For ARM_MMU_EXTENDED, a KERNEL_BASE >= 0x80000000 is ok but a
VM_USER_MAXADDRESS can not be more than 0x80000000 - PAGE_SIZE.

Revision 1.127 / (download) - annotate - [select for diffs], Mon Mar 31 01:35:05 2014 UTC (8 years, 10 months ago) by matt
Branch: MAIN
Changes since 1.126: +2 -2 lines
Diff to previous 1.126 (colored)

Add a missing 0 to an #error

Revision 1.126 / (download) - annotate - [select for diffs], Sun Mar 30 15:50:51 2014 UTC (8 years, 10 months ago) by matt
Branch: MAIN
Changes since 1.125: +13 -4 lines
Diff to previous 1.125 (colored)

Make the ARM pmap use ASIDs, split TTBRs, and MP safe.  This only happens for
ARMv6 or later CPUs.  This means that on context switch that the TLBs and
caches no longer to cleaned/flushed.  Also, eXecute Never (XN) protection has
been added so non-exec pages can not be run.  Change the page size for ARMv6+
to be 8KB while allows a L1PT to be a normal page.  This means that the L1PT
is not special.  Use the XN support to only sync pages that are executed from.

Revision 1.88.10.2 / (download) - annotate - [select for diffs], Mon Mar 24 16:50:56 2014 UTC (8 years, 10 months ago) by matt
Branch: matt-nb5-mips64
Changes since 1.88.10.1: +3 -3 lines
Diff to previous 1.88.10.1 (colored) to branchpoint 1.88 (colored) next main 1.89 (colored)

Define PMAP_KMPAGE

Revision 1.125 / (download) - annotate - [select for diffs], Wed Feb 26 01:51:51 2014 UTC (8 years, 11 months ago) by matt
Branch: MAIN
CVS Tags: riastradh-drm2-base3
Changes since 1.124: +1 -2 lines
Diff to previous 1.124 (colored)

Remove duplicate PMAP_PTE

Revision 1.124 / (download) - annotate - [select for diffs], Wed Feb 26 01:45:33 2014 UTC (8 years, 11 months ago) by matt
Branch: MAIN
Changes since 1.123: +117 -28 lines
Diff to previous 1.123 (colored)

Replace 1000 with PAGE_SIZE

Revision 1.123 / (download) - annotate - [select for diffs], Wed Feb 26 01:03:03 2014 UTC (8 years, 11 months ago) by matt
Branch: MAIN
Changes since 1.122: +3 -1 lines
Diff to previous 1.122 (colored)

Add PMAP_PTE flag.  (map page so it can be used as a PDE or PTE page)

Revision 1.88.10.1 / (download) - annotate - [select for diffs], Sat Feb 15 16:18:36 2014 UTC (8 years, 11 months ago) by matt
Branch: matt-nb5-mips64
Changes since 1.88: +366 -68 lines
Diff to previous 1.88 (colored)

Merge armv7 support from HEAD, specifically support for the BCM5301X
and BCM56340 evbarm kernels.

Revision 1.120.2.1 / (download) - annotate - [select for diffs], Wed Aug 28 23:59:12 2013 UTC (9 years, 5 months ago) by rmind
Branch: rmind-smpnet
Changes since 1.120: +23 -1 lines
Diff to previous 1.120 (colored)

sync with head

Revision 1.122 / (download) - annotate - [select for diffs], Sun Aug 18 05:01:47 2013 UTC (9 years, 5 months ago) by matt
Branch: MAIN
Changes since 1.121: +2 -1 lines
Diff to previous 1.121 (colored)

struct pcb; for a function prototype.

Revision 1.121 / (download) - annotate - [select for diffs], Wed Jul 3 21:37:35 2013 UTC (9 years, 7 months ago) by matt
Branch: MAIN
CVS Tags: riastradh-drm2-base2, riastradh-drm2-base1, riastradh-drm2-base, riastradh-drm2
Changes since 1.120: +22 -1 lines
Diff to previous 1.120 (colored)

Add l2pte_set and l2pte_reset inlines to set/reset a pte.  These will be
used to support > 4KB pages sizes.
Don't use >> L1_S_SHIFT, use L1_IDX() instead.

Revision 1.111.2.3 / (download) - annotate - [select for diffs], Sun Jun 23 06:20:00 2013 UTC (9 years, 7 months ago) by tls
Branch: tls-maxphys
Changes since 1.111.2.2: +3 -1 lines
Diff to previous 1.111.2.2 (colored)

resync from head

Revision 1.120 / (download) - annotate - [select for diffs], Wed Jun 12 21:34:12 2013 UTC (9 years, 7 months ago) by matt
Branch: MAIN
Branch point for: rmind-smpnet
Changes since 1.119: +3 -1 lines
Diff to previous 1.119 (colored)

Add a ARM_HAS_VBAR option which forces the use of the VBAR register.  This
allows much code to deal with vector_page mappings to be eliminated.  On a
BEAGLEBONE kernel, this saves 8KB of text and instructions that never have
to be executed.  (The PJ4B has VBAR but doesn't implement the security
extensions it is part of so a method was needed to allow it use VBAR with
relying on the default test for the security extensions.)

Revision 1.111.2.2 / (download) - annotate - [select for diffs], Mon Feb 25 00:28:30 2013 UTC (9 years, 11 months ago) by tls
Branch: tls-maxphys
Changes since 1.111.2.1: +13 -4 lines
Diff to previous 1.111.2.1 (colored)

resync with head

Revision 1.101.4.2 / (download) - annotate - [select for diffs], Thu Feb 7 06:52:54 2013 UTC (10 years ago) by matt
Branch: matt-nb6-plus
Changes since 1.101.4.1: +7 -3 lines
Diff to previous 1.101.4.1 (colored) to branchpoint 1.101 (colored) next main 1.102 (colored)

pullup pmap changes from HEAD

Revision 1.100.2.3 / (download) - annotate - [select for diffs], Wed Jan 16 05:32:48 2013 UTC (10 years ago) by yamt
Branch: yamt-pagecache
CVS Tags: yamt-pagecache-tag8
Changes since 1.100.2.2: +19 -10 lines
Diff to previous 1.100.2.2 (colored) to branchpoint 1.100 (colored)

sync with (a bit old) head

Revision 1.119 / (download) - annotate - [select for diffs], Wed Dec 12 15:09:37 2012 UTC (10 years, 1 month ago) by matt
Branch: MAIN
CVS Tags: yamt-pagecache-base8, yamt-pagecache-base7, khorben-n900, agc-symver-base, agc-symver
Changes since 1.118: +2 -3 lines
Diff to previous 1.118 (colored)

Protect more definitions with #ifndef _LOCORE

Revision 1.118 / (download) - annotate - [select for diffs], Wed Dec 12 00:29:17 2012 UTC (10 years, 1 month ago) by matt
Branch: MAIN
Changes since 1.117: +3 -1 lines
Diff to previous 1.117 (colored)

Enable direct-mapped poolpages if __HAVE_MM_MD_DIRECT_MAPPED_PHYS is defined.

Revision 1.117 / (download) - annotate - [select for diffs], Mon Dec 10 08:19:59 2012 UTC (10 years, 1 month ago) by matt
Branch: MAIN
Changes since 1.116: +8 -5 lines
Diff to previous 1.116 (colored)

Add b{zero,copy}_page{,_vfp} and physical_end

Revision 1.116 / (download) - annotate - [select for diffs], Mon Dec 10 06:53:52 2012 UTC (10 years, 1 month ago) by matt
Branch: MAIN
Changes since 1.115: +6 -1 lines
Diff to previous 1.115 (colored)

Add pmap_{copy,zero}_page_vfp

Revision 1.101.4.1 / (download) - annotate - [select for diffs], Wed Nov 28 22:40:32 2012 UTC (10 years, 2 months ago) by matt
Branch: matt-nb6-plus
Changes since 1.101: +70 -35 lines
Diff to previous 1.101 (colored)

Merge improved arm support (especially Cortex) from HEAD
including OMAP and BCM53xx support.

Revision 1.111.2.1 / (download) - annotate - [select for diffs], Tue Nov 20 03:01:06 2012 UTC (10 years, 2 months ago) by tls
Branch: tls-maxphys
Changes since 1.111: +20 -21 lines
Diff to previous 1.111 (colored)

Resync to 2012-11-19 00:00:00 UTC

Revision 1.115 / (download) - annotate - [select for diffs], Mon Nov 12 18:00:37 2012 UTC (10 years, 2 months ago) by skrll
Branch: MAIN
Changes since 1.114: +7 -7 lines
Diff to previous 1.114 (colored)

C99 types

Revision 1.100.2.2 / (download) - annotate - [select for diffs], Tue Oct 30 17:19:05 2012 UTC (10 years, 3 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.100.2.1: +64 -29 lines
Diff to previous 1.100.2.1 (colored) to branchpoint 1.100 (colored)

sync with head

Revision 1.114 / (download) - annotate - [select for diffs], Wed Oct 17 20:15:41 2012 UTC (10 years, 3 months ago) by matt
Branch: MAIN
CVS Tags: yamt-pagecache-base6
Changes since 1.113: +7 -2 lines
Diff to previous 1.113 (colored)

Add PMAP_MAP_POOLPAGE / PMAP_UNMAP_POOLPAGE if PMAP_NEED_ALLOC_POOLPAGE is
defined.

Revision 1.113 / (download) - annotate - [select for diffs], Wed Oct 17 18:52:15 2012 UTC (10 years, 3 months ago) by matt
Branch: MAIN
Changes since 1.112: +6 -1 lines
Diff to previous 1.112 (colored)

Add a PMAP_NEEDS_ALLOC_POOLPAGE / PMAP_ALLOC_POOLPAGE hook so systems can
allocate pool pages from a specific VM freelist.

Revision 1.112 / (download) - annotate - [select for diffs], Sat Sep 22 00:33:38 2012 UTC (10 years, 4 months ago) by matt
Branch: MAIN
Changes since 1.111: +4 -15 lines
Diff to previous 1.111 (colored)

Don't use an asm in pmap_activate to update the TTBR, use cpu_setttb instead
but add a second argument to it to indicate whether the TLB/caches need to be
flushed.  Default cortex to pmap_needs_fixup = 1.  But check the MMFR3 field
to see if the fixed can be skipped.
Use a cf_flag bit 0 to indicate whether the A9 L2 cache should disable (bit 0 = 1)
or enabeld (bit = 0).

With these changes, the A9 MMU can use traverse caches to do MMU tablewalks
Also, make sure all memory has the shareable bit for the A9.

Revision 1.111 / (download) - annotate - [select for diffs], Tue Sep 11 15:28:14 2012 UTC (10 years, 4 months ago) by matt
Branch: MAIN
Branch point for: tls-maxphys
Changes since 1.110: +4 -4 lines
Diff to previous 1.110 (colored)

Fix the CACHE_MASKs for armv6 to include TEX and S bits.
Fix a comment in pte.h

Revision 1.110 / (download) - annotate - [select for diffs], Fri Sep 7 11:48:59 2012 UTC (10 years, 5 months ago) by matt
Branch: MAIN
Changes since 1.109: +2 -2 lines
Diff to previous 1.109 (colored)

Switch cortex_a9 back to need_ptesync = 1
Add code to disable the L2 cache on cortex-a9 (for now).
Add evcnt for all the fault types.
Move cache info in a structure and have one for the pcache and one for scache.
Probe L1/L2 caches properly for ARMv7

Revision 1.109 / (download) - annotate - [select for diffs], Thu Sep 6 04:42:39 2012 UTC (10 years, 5 months ago) by matt
Branch: MAIN
Changes since 1.108: +10 -1 lines
Diff to previous 1.108 (colored)

Alas, Cortex-A8 can't TLB walk out of their caches so they need to sync each PTE.

Revision 1.108 / (download) - annotate - [select for diffs], Thu Sep 6 02:07:25 2012 UTC (10 years, 5 months ago) by matt
Branch: MAIN
Changes since 1.107: +2 -2 lines
Diff to previous 1.107 (colored)

Enable "shareable" access to the page table for armv7.  PTE_SYNC only does
a DSB now on an armv7 cpu and no longer needs to flush the cache line to ram.

Revision 1.107 / (download) - annotate - [select for diffs], Sun Sep 2 14:43:21 2012 UTC (10 years, 5 months ago) by matt
Branch: MAIN
Changes since 1.106: +2 -1 lines
Diff to previous 1.106 (colored)

Make bus_dma understand supersections.

Revision 1.106 / (download) - annotate - [select for diffs], Sat Sep 1 12:19:32 2012 UTC (10 years, 5 months ago) by martin
Branch: MAIN
Changes since 1.105: +15 -1 lines
Diff to previous 1.105 (colored)

Backout previous, Matt fixed it differently

Revision 1.105 / (download) - annotate - [select for diffs], Sat Sep 1 12:05:09 2012 UTC (10 years, 5 months ago) by martin
Branch: MAIN
Changes since 1.104: +2 -16 lines
Diff to previous 1.104 (colored)

Move struct pv_addr next to struct bootmem_info into machdep.h and have
pmap.h include that.
Seems to be the least intrusive build fix; Matt: feel free to revamp.

Revision 1.104 / (download) - annotate - [select for diffs], Thu Aug 30 02:10:15 2012 UTC (10 years, 5 months ago) by matt
Branch: MAIN
Changes since 1.103: +19 -14 lines
Diff to previous 1.103 (colored)

Add a l1pte_supersection_p macro.

Revision 1.103 / (download) - annotate - [select for diffs], Mon Aug 20 13:03:41 2012 UTC (10 years, 5 months ago) by matt
Branch: MAIN
Changes since 1.102: +28 -12 lines
Diff to previous 1.102 (colored)

Add support for mapping SuperSection on armv6 and armv7.  These always
a domain of 0 so move the kernel from domain 15 to domain 0.

Revision 1.102 / (download) - annotate - [select for diffs], Sun Jul 29 00:07:10 2012 UTC (10 years, 6 months ago) by matt
Branch: MAIN
Changes since 1.101: +6 -1 lines
Diff to previous 1.101 (colored)

Fix more -fno-common fallout.
Move more variables to common locations.

Revision 1.100.2.1 / (download) - annotate - [select for diffs], Tue Apr 17 00:06:05 2012 UTC (10 years, 9 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.100: +1 -3 lines
Diff to previous 1.100 (colored)

sync with head

Revision 1.100.6.1 / (download) - annotate - [select for diffs], Sat Feb 18 07:31:27 2012 UTC (10 years, 11 months ago) by mrg
Branch: jmcneill-usbmp
Changes since 1.100: +1 -3 lines
Diff to previous 1.100 (colored) next main 1.101 (colored)

merge to -current.

Revision 1.101 / (download) - annotate - [select for diffs], Sat Jan 28 00:18:30 2012 UTC (11 years ago) by matt
Branch: MAIN
CVS Tags: yamt-pagecache-base5, yamt-pagecache-base4, netbsd-6-base, netbsd-6-1-RELEASE, netbsd-6-1-RC4, netbsd-6-1-RC3, netbsd-6-1-RC2, netbsd-6-1-RC1, netbsd-6-1-5-RELEASE, netbsd-6-1-4-RELEASE, netbsd-6-1-3-RELEASE, netbsd-6-1-2-RELEASE, netbsd-6-1-1-RELEASE, netbsd-6-1, netbsd-6-0-RELEASE, netbsd-6-0-RC2, netbsd-6-0-RC1, netbsd-6-0-6-RELEASE, netbsd-6-0-5-RELEASE, netbsd-6-0-4-RELEASE, netbsd-6-0-3-RELEASE, netbsd-6-0-2-RELEASE, netbsd-6-0-1-RELEASE, netbsd-6-0, netbsd-6, matt-nb6-plus-nbase, matt-nb6-plus-base, jmcneill-usbmp-base9, jmcneill-usbmp-base8, jmcneill-usbmp-base7, jmcneill-usbmp-base6, jmcneill-usbmp-base5, jmcneill-usbmp-base4, jmcneill-usbmp-base3, jmcneill-usbmp-base2, jmcneill-usbmp-base10
Branch point for: matt-nb6-plus
Changes since 1.100: +1 -3 lines
Diff to previous 1.100 (colored)

Nuke the simplelock from vm_page_md

Revision 1.99.2.1 / (download) - annotate - [select for diffs], Thu Jun 23 14:19:00 2011 UTC (11 years, 7 months ago) by cherry
Branch: cherry-xenmp
Changes since 1.99: +2 -1 lines
Diff to previous 1.99 (colored) next main 1.100 (colored)

Catchup with rmind-uvmplock merge.

Revision 1.100 / (download) - annotate - [select for diffs], Sun Jun 12 03:35:39 2011 UTC (11 years, 7 months ago) by rmind
Branch: MAIN
CVS Tags: yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base, jmcneill-usbmp-pre-base2, jmcneill-usbmp-base, jmcneill-audiomp3-base, jmcneill-audiomp3
Branch point for: yamt-pagecache, jmcneill-usbmp
Changes since 1.99: +2 -1 lines
Diff to previous 1.99 (colored)

Welcome to 5.99.53!  Merge rmind-uvmplock branch:

- Reorganize locking in UVM and provide extra serialisation for pmap(9).
  New lock order: [vmpage-owner-lock] -> pmap-lock.

- Simplify locking in some pmap(9) modules by removing P->V locking.

- Use lock object on vmobjlock (and thus vnode_t::v_interlock) to share
  the locks amongst UVM objects where necessary (tmpfs, layerfs, unionfs).

- Rewrite and optimise x86 TLB shootdown code, make it simpler and cleaner.
  Add TLBSTATS option for x86 to collect statistics about TLB shootdowns.

- Unify /dev/mem et al in MI code and provide required locking (removes
  kernel-lock on some ports).  Also, avoid cache-aliasing issues.

Thanks to Andrew Doran and Joerg Sonnenberger, as their initial patches
formed the core changes of this branch.

Revision 1.97.2.1 / (download) - annotate - [select for diffs], Mon Jun 6 09:05:03 2011 UTC (11 years, 8 months ago) by jruoho
Branch: jruoho-x86intr
Changes since 1.97: +100 -2 lines
Diff to previous 1.97 (colored) next main 1.98 (colored)

Sync with HEAD.

Revision 1.94.4.4 / (download) - annotate - [select for diffs], Thu Apr 21 01:40:52 2011 UTC (11 years, 9 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.94.4.3: +91 -1 lines
Diff to previous 1.94.4.3 (colored) to branchpoint 1.94 (colored) next main 1.95 (colored)

sync with head

Revision 1.99 / (download) - annotate - [select for diffs], Thu Mar 10 07:47:15 2011 UTC (11 years, 11 months ago) by bsh
Branch: MAIN
CVS Tags: rmind-uvmplock-nbase, rmind-uvmplock-base, jym-xensuspend-nbase, jym-xensuspend-base, cherry-xenmp-base
Branch point for: cherry-xenmp
Changes since 1.98: +92 -2 lines
Diff to previous 1.98 (colored)

Preliminary ARM11 MPCore support.

I have confirmed this commit doesn't affect existing evbarm kernels by
comparing binaries.

Revision 1.94.4.3 / (download) - annotate - [select for diffs], Sat Mar 5 20:49:36 2011 UTC (11 years, 11 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.94.4.2: +55 -3 lines
Diff to previous 1.94.4.2 (colored) to branchpoint 1.94 (colored)

sync with head

Revision 1.97.4.1 / (download) - annotate - [select for diffs], Sat Mar 5 15:09:32 2011 UTC (11 years, 11 months ago) by bouyer
Branch: bouyer-quota2
Changes since 1.97: +8 -0 lines
Diff to previous 1.97 (colored) next main 1.98 (colored)

Sync with HEAD

Revision 1.98 / (download) - annotate - [select for diffs], Mon Feb 28 10:03:49 2011 UTC (11 years, 11 months ago) by macallan
Branch: MAIN
CVS Tags: bouyer-quota2-nbase
Changes since 1.97: +9 -1 lines
Diff to previous 1.97 (colored)

implement arm32_pmap_flags() to allow mappings with write buffering enabled,
mostly for video memory
Tested on shark

Revision 1.94.2.4 / (download) - annotate - [select for diffs], Mon Nov 15 14:38:22 2010 UTC (12 years, 2 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.94.2.3: +44 -0 lines
Diff to previous 1.94.2.3 (colored) to branchpoint 1.94 (colored) next main 1.95 (colored)

Sync with HEAD.

Revision 1.97 / (download) - annotate - [select for diffs], Sun Nov 14 13:33:21 2010 UTC (12 years, 2 months ago) by uebayasi
Branch: MAIN
CVS Tags: uebayasi-xip-base7, uebayasi-xip-base6, matt-mips64-premerge-20101231, jruoho-x86intr-base, bouyer-quota2-base
Branch point for: jruoho-x86intr, bouyer-quota2
Changes since 1.96: +44 -0 lines
Diff to previous 1.96 (colored)

Move struct vm_page_md definition from vmparam.h to pmap.h, because
it's used only by pmap.  vmparam.h has definitions for wider
audience.

All GENERIC kernels build tested, except ia64.

powerpc/include/booke/vmparam.h has one too, but it has no pmap.h,
so it's left as is.

Revision 1.96 / (download) - annotate - [select for diffs], Tue Nov 2 06:07:06 2010 UTC (12 years, 3 months ago) by uebayasi
Branch: MAIN
CVS Tags: uebayasi-xip-base5, uebayasi-xip-base4
Changes since 1.95: +3 -3 lines
Diff to previous 1.95 (colored)

Fix build of evbarm.

Revision 1.94.2.3 / (download) - annotate - [select for diffs], Tue Aug 17 06:44:04 2010 UTC (12 years, 5 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.94.2.2: +139 -16 lines
Diff to previous 1.94.2.2 (colored) to branchpoint 1.94 (colored)

Sync with HEAD.

Revision 1.84.10.6 / (download) - annotate - [select for diffs], Wed Aug 11 22:51:41 2010 UTC (12 years, 5 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.84.10.5: +140 -17 lines
Diff to previous 1.84.10.5 (colored) to branchpoint 1.84 (colored) next main 1.85 (colored)

sync with head.

Revision 1.94.4.2 / (download) - annotate - [select for diffs], Sat Jul 3 01:19:14 2010 UTC (12 years, 7 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.94.4.1: +140 -17 lines
Diff to previous 1.94.4.1 (colored) to branchpoint 1.94 (colored)

sync with head

Revision 1.95 / (download) - annotate - [select for diffs], Wed Jun 16 22:06:53 2010 UTC (12 years, 7 months ago) by jmcneill
Branch: MAIN
CVS Tags: yamt-nfs-mp-base11, yamt-nfs-mp-base10, uebayasi-xip-base3, uebayasi-xip-base2
Changes since 1.94: +140 -17 lines
Diff to previous 1.94 (colored)

PR port-arm/43299: Support added for igepv2/cortexa8/omap3530

Apply patch from PR, with build fixes. ok skrll, matt

Revision 1.94.4.1 / (download) - annotate - [select for diffs], Tue Mar 16 15:38:02 2010 UTC (12 years, 10 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.94: +2 -1 lines
Diff to previous 1.94 (colored)

Change struct uvm_object::vmobjlock to be dynamically allocated with
mutex_obj_alloc().  It allows us to share the locks among UVM objects.

Revision 1.84.10.5 / (download) - annotate - [select for diffs], Thu Mar 11 15:02:06 2010 UTC (12 years, 10 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.84.10.4: +4 -3 lines
Diff to previous 1.84.10.4 (colored) to branchpoint 1.84 (colored)

sync with head

Revision 1.94.2.2 / (download) - annotate - [select for diffs], Thu Feb 25 03:30:22 2010 UTC (12 years, 11 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.94.2.1: +3 -2 lines
Diff to previous 1.94.2.1 (colored) to branchpoint 1.94 (colored)

A few more VM_PAGE_TO_MD().

Revision 1.94.2.1 / (download) - annotate - [select for diffs], Wed Feb 10 14:20:23 2010 UTC (12 years, 11 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.94: +2 -2 lines
Diff to previous 1.94 (colored)

Missing bits of pmap_is_page_colored_p() conversion.

Revision 1.94 / (download) - annotate - [select for diffs], Sun Dec 27 05:14:56 2009 UTC (13 years, 1 month ago) by uebayasi
Branch: MAIN
CVS Tags: yamt-nfs-mp-base9, uebayasi-xip-base1, uebayasi-xip-base
Branch point for: uebayasi-xip, rmind-uvmplock
Changes since 1.93: +4 -1 lines
Diff to previous 1.93 (colored)

Add write-through cache work-around for ARM11 as well as ARM9/ARM10.  Analyzed
& tested on i.MX35 with help from Tsubai Masanari.

Revision 1.93 / (download) - annotate - [select for diffs], Thu Oct 22 19:50:55 2009 UTC (13 years, 3 months ago) by rmind
Branch: MAIN
CVS Tags: matt-premerge-20091211
Changes since 1.92: +1 -3 lines
Diff to previous 1.92 (colored)

Simplify pmap_remove() a little by avoiding pmap_do_remove() layer, since
possibility to skip wired mappings is not needed anymore.  Apart from that,
no functional differences are intended.

Revision 1.84.10.4 / (download) - annotate - [select for diffs], Wed Sep 16 13:37:36 2009 UTC (13 years, 4 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.84.10.3: +2 -1 lines
Diff to previous 1.84.10.3 (colored) to branchpoint 1.84 (colored)

sync with head

Revision 1.92 / (download) - annotate - [select for diffs], Wed Aug 19 23:54:33 2009 UTC (13 years, 5 months ago) by thorpej
Branch: MAIN
CVS Tags: yamt-nfs-mp-base8
Changes since 1.91: +2 -1 lines
Diff to previous 1.91 (colored)

Use PMAP_ENABLE_PMAP_KMPAGE to enable PMAP_KMPAGE.  We still want the bit
defined in the MI space, not in an MD header.

Revision 1.84.10.3 / (download) - annotate - [select for diffs], Wed Aug 19 18:46:00 2009 UTC (13 years, 5 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.84.10.2: +1 -4 lines
Diff to previous 1.84.10.2 (colored) to branchpoint 1.84 (colored)

sync with head.

Revision 1.91 / (download) - annotate - [select for diffs], Wed Aug 19 14:58:48 2009 UTC (13 years, 5 months ago) by thorpej
Branch: MAIN
CVS Tags: yamt-nfs-mp-base7
Changes since 1.90: +1 -4 lines
Diff to previous 1.90 (colored)

Rationalize the definition of PMAP_KMPAGE.

Revision 1.84.10.2 / (download) - annotate - [select for diffs], Mon May 4 08:10:43 2009 UTC (13 years, 9 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.84.10.1: +26 -16 lines
Diff to previous 1.84.10.1 (colored) to branchpoint 1.84 (colored)

sync with head.

Revision 1.88.2.1 / (download) - annotate - [select for diffs], Mon Jan 19 13:15:59 2009 UTC (14 years ago) by skrll
Branch: nick-hppapmap
Changes since 1.88: +18 -16 lines
Diff to previous 1.88 (colored) next main 1.89 (colored)

Sync with HEAD.

Revision 1.84.6.3 / (download) - annotate - [select for diffs], Sat Jan 17 13:27:53 2009 UTC (14 years ago) by mjf
Branch: mjf-devfs2
Changes since 1.84.6.2: +17 -15 lines
Diff to previous 1.84.6.2 (colored) to branchpoint 1.84 (colored) next main 1.85 (colored)

Sync with HEAD.

Revision 1.90 / (download) - annotate - [select for diffs], Tue Dec 30 05:51:19 2008 UTC (14 years, 1 month ago) by matt
Branch: MAIN
CVS Tags: yamt-nfs-mp-base6, yamt-nfs-mp-base5, yamt-nfs-mp-base4, yamt-nfs-mp-base3, nick-hppapmap-base4, nick-hppapmap-base3, nick-hppapmap-base2, nick-hppapmap-base, mjf-devfs2-base, jymxensuspend-base, jym-xensuspend
Changes since 1.89: +18 -12 lines
Diff to previous 1.89 (colored)

Reclaim PVF_KNC in VIPT to be PVF_MULTCLR (page has multiple colors).
Track when a page is mapping in multiple colors and deal with the ramifications.
When a page's MOD attribute is cleared, clean it from the cache.
Fix a logic inversion.

With these changes, the TI SDP2420 H4 board can successfully natively build a
TISDP2420 kernel.

Revision 1.85.6.2 / (download) - annotate - [select for diffs], Sat Dec 13 01:13:02 2008 UTC (14 years, 1 month ago) by haad
Branch: haad-dm
Changes since 1.85.6.1: +1 -5 lines
Diff to previous 1.85.6.1 (colored) to branchpoint 1.85 (colored) next main 1.86 (colored)

Update haad-dm branch to haad-dm-base2.

Revision 1.89 / (download) - annotate - [select for diffs], Tue Dec 9 20:45:44 2008 UTC (14 years, 2 months ago) by pooka
Branch: MAIN
CVS Tags: haad-nbase2, haad-dm-base2, haad-dm-base
Changes since 1.88: +1 -5 lines
Diff to previous 1.88 (colored)

Make pmap_kernel() a MI macro for struct pmap *kernel_pmap_ptr,
which is now the "API" provided by the pmap module.  pmap_kernel()
remains as the syntactic sugar.

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

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

Revision 1.85.6.1 / (download) - annotate - [select for diffs], Sun Oct 19 22:15:42 2008 UTC (14 years, 3 months ago) by haad
Branch: haad-dm
Changes since 1.85: +9 -1 lines
Diff to previous 1.85 (colored)

Sync with HEAD.

Revision 1.84.6.2 / (download) - annotate - [select for diffs], Sun Sep 28 10:39:50 2008 UTC (14 years, 4 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.84.6.1: +8 -0 lines
Diff to previous 1.84.6.1 (colored) to branchpoint 1.84 (colored)

Sync with HEAD.

Revision 1.85.2.1 / (download) - annotate - [select for diffs], Thu Sep 18 04:33:21 2008 UTC (14 years, 4 months ago) by wrstuden
Branch: wrstuden-revivesa
Changes since 1.85: +9 -1 lines
Diff to previous 1.85 (colored) next main 1.86 (colored)

Sync with wrstuden-revivesa-base-2.

Revision 1.88 / (download) - annotate - [select for diffs], Wed Aug 13 06:05:54 2008 UTC (14 years, 5 months ago) by matt
Branch: MAIN
CVS Tags: wrstuden-revivesa-base-4, wrstuden-revivesa-base-3, wrstuden-revivesa-base-2, netbsd-5-base, netbsd-5-2-RELEASE, netbsd-5-2-RC1, netbsd-5-2-3-RELEASE, netbsd-5-2-2-RELEASE, netbsd-5-2-1-RELEASE, netbsd-5-2, netbsd-5-1-RELEASE, netbsd-5-1-RC4, netbsd-5-1-RC3, netbsd-5-1-RC2, netbsd-5-1-RC1, netbsd-5-1-5-RELEASE, netbsd-5-1-4-RELEASE, netbsd-5-1-3-RELEASE, netbsd-5-1-2-RELEASE, netbsd-5-1-1-RELEASE, netbsd-5-1, netbsd-5-0-RELEASE, netbsd-5-0-RC4, netbsd-5-0-RC3, netbsd-5-0-RC2, netbsd-5-0-RC1, netbsd-5-0-2-RELEASE, netbsd-5-0-1-RELEASE, netbsd-5-0, netbsd-5, matt-nb5-pq3-base, matt-nb5-pq3, matt-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-nb4-mips64-k7-u2a-k9b, matt-mips64-base2, haad-dm-base1, ad-audiomp2-base, ad-audiomp2
Branch point for: nick-hppapmap, matt-nb5-mips64
Changes since 1.87: +4 -1 lines
Diff to previous 1.87 (colored)

Fix a few more corner cases.  Always KMPAGE or pages with unmanaged writeable
kernel mappings as modified.  Only ever set DIRTY bit is DMOD is true and
NC is false.  Don't modify unmanaged mappings in pmap_clearbit.

Revision 1.85.4.2 / (download) - annotate - [select for diffs], Mon Jul 28 14:37:26 2008 UTC (14 years, 6 months ago) by simonb
Branch: simonb-wapbl
Changes since 1.85.4.1: +5 -1 lines
Diff to previous 1.85.4.1 (colored) to branchpoint 1.85 (colored) next main 1.86 (colored)

Sync with head.

Revision 1.87 / (download) - annotate - [select for diffs], Mon Jul 21 07:33:54 2008 UTC (14 years, 6 months ago) by matt
Branch: MAIN
CVS Tags: simonb-wapbl-nbase, simonb-wapbl-base
Changes since 1.86: +5 -1 lines
Diff to previous 1.86 (colored)

Add PMAP_KMPAGE defintion (forgotten commit).  Also add PVF_DIRTY which will
be used by an update pmap.c shortly (to note what pages may have dirty
cache lines).

Revision 1.85.4.1 / (download) - annotate - [select for diffs], Fri Jul 18 16:37:27 2008 UTC (14 years, 6 months ago) by simonb
Branch: simonb-wapbl
Changes since 1.85: +2 -1 lines
Diff to previous 1.85 (colored)

Sync with head.

Revision 1.86 / (download) - annotate - [select for diffs], Wed Jul 16 00:19:57 2008 UTC (14 years, 6 months ago) by matt
Branch: MAIN
Changes since 1.85: +2 -1 lines
Diff to previous 1.85 (colored)

Revamp bookkeeping for pages entered by pmap_kenter_pa.  Keep track of them
on pvlists so that the cacheability can be properly tracked.

Revision 1.84.6.1 / (download) - annotate - [select for diffs], Mon Jun 2 13:21:54 2008 UTC (14 years, 8 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.84: +44 -13 lines
Diff to previous 1.84 (colored)

Sync with HEAD.

Revision 1.84.8.1 / (download) - annotate - [select for diffs], Sun May 18 12:31:36 2008 UTC (14 years, 8 months ago) by yamt
Branch: yamt-pf42
Changes since 1.84: +44 -13 lines
Diff to previous 1.84 (colored) next main 1.85 (colored)

sync with head.

Revision 1.84.10.1 / (download) - annotate - [select for diffs], Fri May 16 02:22:01 2008 UTC (14 years, 8 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.84: +44 -13 lines
Diff to previous 1.84 (colored)

sync with head.

Revision 1.85 / (download) - annotate - [select for diffs], Sun Apr 27 18:58:44 2008 UTC (14 years, 9 months ago) by matt
Branch: MAIN
CVS Tags: yamt-pf42-base4, yamt-pf42-base3, yamt-pf42-base2, yamt-nfs-mp-base2, wrstuden-revivesa-base-1, wrstuden-revivesa-base, hpcarm-cleanup-nbase
Branch point for: wrstuden-revivesa, simonb-wapbl, haad-dm
Changes since 1.84: +44 -13 lines
Diff to previous 1.84 (colored)

Merge kernel changes in matt-armv6 to HEAD.

Revision 1.81.18.2 / (download) - annotate - [select for diffs], Thu Feb 28 21:47:44 2008 UTC (14 years, 11 months ago) by rjs
Branch: hpcarm-cleanup
Changes since 1.81.18.1: +5 -1 lines
Diff to previous 1.81.18.1 (colored) to branchpoint 1.81 (colored) next main 1.82 (colored)

Sync with HEAD.

Revision 1.83.2.1 / (download) - annotate - [select for diffs], Mon Feb 18 21:04:23 2008 UTC (14 years, 11 months ago) by mjf
Branch: mjf-devfs
Changes since 1.83: +5 -1 lines
Diff to previous 1.83 (colored) next main 1.84 (colored)

Sync with HEAD.

Revision 1.77.16.4 / (download) - annotate - [select for diffs], Mon Jan 21 09:35:42 2008 UTC (15 years ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.77.16.3: +5 -1 lines
Diff to previous 1.77.16.3 (colored) to branchpoint 1.77 (colored) next main 1.78 (colored)

sync with head

Revision 1.81.24.5 / (download) - annotate - [select for diffs], Wed Jan 9 01:45:18 2008 UTC (15 years, 1 month ago) by matt
Branch: matt-armv6
Changes since 1.81.24.4: +5 -1 lines
Diff to previous 1.81.24.4 (colored) to branchpoint 1.81 (colored) next main 1.82 (colored)

sync with HEAD

Revision 1.83.8.1 / (download) - annotate - [select for diffs], Wed Jan 2 21:47:24 2008 UTC (15 years, 1 month ago) by bouyer
Branch: bouyer-xeni386
CVS Tags: bouyer-xeni386-merge1
Changes since 1.83: +5 -1 lines
Diff to previous 1.83 (colored) next main 1.84 (colored)

Sync with HEAD

Revision 1.81.22.1 / (download) - annotate - [select for diffs], Tue Jan 1 15:39:32 2008 UTC (15 years, 1 month ago) by chris
Branch: chris-arm-intr-rework
Changes since 1.81: +8 -1 lines
Diff to previous 1.81 (colored) next main 1.82 (colored)

Sync with HEAD.

Revision 1.84 / (download) - annotate - [select for diffs], Tue Jan 1 14:06:43 2008 UTC (15 years, 1 month ago) by chris
Branch: MAIN
CVS Tags: yamt-pf42-baseX, yamt-pf42-base, yamt-nfs-mp-base, yamt-lazymbuf-base15, yamt-lazymbuf-base14, nick-net80211-sync-base, nick-net80211-sync, mjf-devfs-base, matt-armv6-nbase, matt-armv6-base, keiichi-mipv6-nbase, keiichi-mipv6-base, keiichi-mipv6, hpcarm-cleanup-base, chris-arm-intr-rework-base7, chris-arm-intr-rework-base6, chris-arm-intr-rework-base5, chris-arm-intr-rework-base4, chris-arm-intr-rework-base3, bouyer-xeni386-nbase, bouyer-xeni386-base, ad-socklock-base1
Branch point for: yamt-pf42, yamt-nfs-mp, mjf-devfs2
Changes since 1.83: +5 -1 lines
Diff to previous 1.83 (colored)

Add support for kcore headers to arm32 kernel core dumps.

The kcore code is based on i386's kcore header handling.

Having an asm stub for dumpsys, to dump the registers onto the stack, and
then call the C code to do the memory dump is based on amd64's core dump
code.

This allows a successful core dump on cats.

Part of fixing PR cats/18026.

Revision 1.79.30.1 / (download) - annotate - [select for diffs], Sat Nov 10 02:56:42 2007 UTC (15 years, 3 months ago) by matt
Branch: matt-nb4-arm
Changes since 1.79: +27 -6 lines
Diff to previous 1.79 (colored) next main 1.80 (colored)

Add AT91 support from Sami Kantoluoto
Add TI OMAP2430 support from Marty Fouts @ Danger Inc

Revision 1.81.24.4 / (download) - annotate - [select for diffs], Fri Nov 9 19:24:48 2007 UTC (15 years, 3 months ago) by matt
Branch: matt-armv6
CVS Tags: matt-armv6-prevmlocking
Changes since 1.81.24.3: +3 -1 lines
Diff to previous 1.81.24.3 (colored) to branchpoint 1.81 (colored)

Add pmap_icache_sync_range and change arm32_sync_icache to use it.
This will only invalidate va that have valid PTEs.  This avoids cleaning
unneeded cache lines.

Revision 1.81.24.3 / (download) - annotate - [select for diffs], Fri Nov 9 05:37:39 2007 UTC (15 years, 3 months ago) by matt
Branch: matt-armv6
Changes since 1.81.24.2: +7 -7 lines
Diff to previous 1.81.24.2 (colored) to branchpoint 1.81 (colored)

Make all the evbarm kernels build again.  Fix lossage from rebase.

Revision 1.81.24.2 / (download) - annotate - [select for diffs], Tue Nov 6 23:15:05 2007 UTC (15 years, 3 months ago) by matt
Branch: matt-armv6
Changes since 1.81.24.1: +4 -1 lines
Diff to previous 1.81.24.1 (colored) to branchpoint 1.81 (colored)

sync with HEAD

Revision 1.81.18.1 / (download) - annotate - [select for diffs], Thu Nov 1 16:06:50 2007 UTC (15 years, 3 months ago) by rjs
Branch: hpcarm-cleanup
Changes since 1.81: +4 -1 lines
Diff to previous 1.81 (colored)

Sync with HEAD.

Revision 1.77.16.3 / (download) - annotate - [select for diffs], Sat Oct 27 11:25:25 2007 UTC (15 years, 3 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.77.16.2: +4 -1 lines
Diff to previous 1.77.16.2 (colored) to branchpoint 1.77 (colored)

sync with head.

Revision 1.83 / (download) - annotate - [select for diffs], Wed Oct 17 19:53:41 2007 UTC (15 years, 3 months ago) by garbled
Branch: MAIN
CVS Tags: yamt-x86pmap-base4, yamt-kmem-base3, yamt-kmem-base2, yamt-kmem-base, yamt-kmem, vmlocking2-base3, vmlocking2-base2, vmlocking2-base1, vmlocking2, vmlocking-nbase, reinoud-bufcleanup-nbase, reinoud-bufcleanup-base, jmcneill-pm-base, jmcneill-base, cube-autoconf-base, cube-autoconf, bouyer-xenamd64-base2, bouyer-xenamd64-base
Branch point for: mjf-devfs, bouyer-xeni386
Changes since 1.82: +1 -1 lines
Diff to previous 1.82 (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.81.24.1 / (download) - annotate - [select for diffs], Fri Oct 12 02:22:23 2007 UTC (15 years, 3 months ago) by matt
Branch: matt-armv6
Changes since 1.81: +36 -7 lines
Diff to previous 1.81 (colored)

Import TI OMAP 2430 and ARM11/ARMv6 support.  Now on ARMv6, the cache is
no longer purged on context switches.

Revision 1.81.4.1 / (download) - annotate - [select for diffs], Tue Oct 9 13:37:32 2007 UTC (15 years, 4 months ago) by ad
Branch: vmlocking
Changes since 1.81: +4 -1 lines
Diff to previous 1.81 (colored) next main 1.82 (colored)

Sync with head.

Revision 1.81.12.1 / (download) - annotate - [select for diffs], Wed Oct 3 19:22:43 2007 UTC (15 years, 4 months ago) by garbled
Branch: ppcoea-renovation
Changes since 1.81: +4 -1 lines
Diff to previous 1.81 (colored) next main 1.82 (colored)

Sync with HEAD

Revision 1.81.20.1 / (download) - annotate - [select for diffs], Tue Oct 2 18:26:55 2007 UTC (15 years, 4 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.81: +4 -1 lines
Diff to previous 1.81 (colored) next main 1.82 (colored)

Sync with HEAD.

Revision 1.82 / (download) - annotate - [select for diffs], Sat Sep 15 09:25:22 2007 UTC (15 years, 4 months ago) by scw
Branch: MAIN
CVS Tags: yamt-x86pmap-base3, yamt-x86pmap-base2, yamt-x86pmap-base, yamt-x86pmap, vmlocking-base, ppcoea-renovation-base, bouyer-xenamd64
Changes since 1.81: +4 -1 lines
Diff to previous 1.81 (colored)

ARM cpu_switchto() has been partially broken since yamt-idlelwp was merged
as its cache/tlb management smarts relied too heavily on pre-merge context-
switch behaviour. See PR kern/36548 for one manifestation of the breakage.

To address this:
 - Ditch the shadow pmap variables in the PCB (pagedir, l1vec, dacr, cstate)
   as it was too easy for them to get out of sync with the pmap.
 - Re-write (and fix) the convoluted cpuswitch.S cache/tlb ASM code in C.
   It's only slightly less efficient, but is much more readable/maintainable.
 - Document cpufuncs.cf_context_switch() as being C-callable.
 - pmap_activate() becomes a no-op if the lwp's vmspace is already active.
   (Good performance win, since pmap_activate() is now invoked on every
   context-switch, even though ARM's cpu_switchto() already does all the
   grunt work)

XXX: Some CPU-specific armXX_context_switch() implementations (arm67,
arm7tdmi, arm8) always flush the I+D caches. This should not be necessary.
Someone with access to hardware (acorn32?) needs to deal with this.

Revision 1.79.26.1 / (download) - annotate - [select for diffs], Tue Feb 27 16:49:37 2007 UTC (15 years, 11 months ago) by yamt
Branch: yamt-idlelwp
Changes since 1.79: +8 -8 lines
Diff to previous 1.79 (colored) next main 1.80 (colored)

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

Revision 1.77.16.2 / (download) - annotate - [select for diffs], Mon Feb 26 09:05:59 2007 UTC (15 years, 11 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.77.16.1: +8 -8 lines
Diff to previous 1.77.16.1 (colored) to branchpoint 1.77 (colored)

sync with head.

Revision 1.81 / (download) - annotate - [select for diffs], Thu Feb 22 05:14:05 2007 UTC (15 years, 11 months ago) by thorpej
Branch: MAIN
CVS Tags: yamt-idlelwp-base8, thorpej-atomic-base, thorpej-atomic, reinoud-bufcleanup, nick-csl-alignment-base5, nick-csl-alignment-base, nick-csl-alignment, mjf-ufs-trans-base, mjf-ufs-trans, matt-mips64-base, matt-mips64, chris-arm-intr-rework-base2, chris-arm-intr-rework-base, ad-audiomp-base, ad-audiomp
Branch point for: vmlocking, ppcoea-renovation, matt-armv6, jmcneill-pm, hpcarm-cleanup, chris-arm-intr-rework
Changes since 1.80: +3 -3 lines
Diff to previous 1.80 (colored)

TRUE -> true, FALSE -> false

Revision 1.80 / (download) - annotate - [select for diffs], Wed Feb 21 22:59:38 2007 UTC (15 years, 11 months ago) by thorpej
Branch: MAIN
Changes since 1.79: +6 -6 lines
Diff to previous 1.79 (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.77.16.1 / (download) - annotate - [select for diffs], Wed Jun 21 14:49:33 2006 UTC (16 years, 7 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.77: +6 -3 lines
Diff to previous 1.77 (colored)

sync with head.

Revision 1.79 / (download) - annotate - [select for diffs], Sat Dec 24 20:06:52 2005 UTC (17 years, 1 month ago) by perry
Branch: MAIN
CVS Tags: yamt-uio_vmspace-base5, yamt-uio_vmspace, yamt-splraiseipl-base5, yamt-splraiseipl-base4, yamt-splraiseipl-base3, yamt-splraiseipl-base2, yamt-splraiseipl-base, yamt-splraiseipl, yamt-pdpolicy-base9, yamt-pdpolicy-base8, yamt-pdpolicy-base7, yamt-pdpolicy-base6, yamt-pdpolicy-base5, yamt-pdpolicy-base4, yamt-pdpolicy-base3, yamt-pdpolicy-base2, yamt-pdpolicy-base, yamt-pdpolicy, wrstuden-fixsa-newbase, wrstuden-fixsa-base-1, wrstuden-fixsa-base, wrstuden-fixsa, simonb-timecounters-base, simonb-timecounters, simonb-timcounters-final, rpaulo-netinet-merge-pcb-base, rpaulo-netinet-merge-pcb, post-newlock2-merge, peter-altq-base, peter-altq, newlock2-nbase, newlock2-base, newlock2, netbsd-4-base, netbsd-4-0-RELEASE, netbsd-4-0-RC5, netbsd-4-0-RC4, netbsd-4-0-RC3, netbsd-4-0-RC2, netbsd-4-0-RC1, netbsd-4-0-1-RELEASE, netbsd-4-0, netbsd-4, matt-nb4-arm-base, gdamore-uart-base, gdamore-uart, elad-kernelauth-base, elad-kernelauth, chap-midi-nbase, chap-midi-base, chap-midi, abandoned-netbsd-4-base, abandoned-netbsd-4
Branch point for: yamt-idlelwp, matt-nb4-arm
Changes since 1.78: +3 -3 lines
Diff to previous 1.78 (colored)

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

Revision 1.75.2.4 / (download) - annotate - [select for diffs], Sun Dec 11 10:28:15 2005 UTC (17 years, 1 month ago) by christos
Branch: ktrace-lwp
Changes since 1.75.2.3: +4 -1 lines
Diff to previous 1.75.2.3 (colored) next main 1.76 (colored)

Sync with head.

Revision 1.78 / (download) - annotate - [select for diffs], Sat Dec 10 21:19:57 2005 UTC (17 years, 2 months ago) by scw
Branch: MAIN
CVS Tags: ktrace-lwp-base
Changes since 1.77: +4 -1 lines
Diff to previous 1.77 (colored)

Implement pmap_collect() for arm32.

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

Fix the sync with head I botched.

Revision 1.75.2.2 / (download) - annotate - [select for diffs], Sat Sep 18 14:32:31 2004 UTC (18 years, 4 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.75.2.1: +0 -0 lines
Diff to previous 1.75.2.1 (colored)

Sync with HEAD.

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

Sync with HEAD

Revision 1.77 / (download) - annotate - [select for diffs], Mon Oct 13 20:50:34 2003 UTC (19 years, 3 months ago) by scw
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, yamt-km-base4, yamt-km-base3, yamt-km-base2, yamt-km-base, yamt-km, thorpej-vnode-attr-base, thorpej-vnode-attr, netbsd-3-base, netbsd-3-1-RELEASE, netbsd-3-1-RC4, netbsd-3-1-RC3, netbsd-3-1-RC2, netbsd-3-1-RC1, netbsd-3-1-1-RELEASE, netbsd-3-1, netbsd-3-0-RELEASE, netbsd-3-0-RC6, netbsd-3-0-RC5, netbsd-3-0-RC4, netbsd-3-0-RC3, netbsd-3-0-RC2, netbsd-3-0-RC1, netbsd-3-0-3-RELEASE, netbsd-3-0-2-RELEASE, netbsd-3-0-1-RELEASE, netbsd-3-0, netbsd-3, netbsd-2-base, netbsd-2-1-RELEASE, netbsd-2-1-RC6, netbsd-2-1-RC5, netbsd-2-1-RC4, netbsd-2-1-RC3, netbsd-2-1-RC2, netbsd-2-1-RC1, netbsd-2-1, netbsd-2-0-base, netbsd-2-0-RELEASE, netbsd-2-0-RC5, netbsd-2-0-RC4, netbsd-2-0-RC3, netbsd-2-0-RC2, netbsd-2-0-RC1, netbsd-2-0-3-RELEASE, netbsd-2-0-2-RELEASE, netbsd-2-0-1-RELEASE, netbsd-2-0, netbsd-2, kent-audio2-base, kent-audio2, kent-audio1-beforemerge, kent-audio1-base, kent-audio1
Branch point for: yamt-lazymbuf
Changes since 1.76: +7 -1 lines
Diff to previous 1.76 (colored)

On Xscale, define PMAP_UAREA() and use it to tweak uarea mappings so
they use the mini D$.

This results in a small performance boost on xscale platforms, since
flushing the main cache on a context switch won't affect the kernel
stack/pcb.

Revision 1.76 / (download) - annotate - [select for diffs], Sat Sep 6 09:10:46 2003 UTC (19 years, 5 months ago) by rearnsha
Branch: MAIN
Changes since 1.75: +4 -1 lines
Diff to previous 1.75 (colored)

Add support for ARM10 class processors.

Revision 1.75 / (download) - annotate - [select for diffs], Wed Jun 18 02:58:09 2003 UTC (19 years, 7 months ago) by bsh
Branch: MAIN
Branch point for: ktrace-lwp
Changes since 1.74: +8 -2 lines
Diff to previous 1.74 (colored)

protect with #ifndef _LOCORE so that assembler codes can share
definitions in this file such as PMAP_DOMAIN_KERNEL.

Revision 1.74 / (download) - annotate - [select for diffs], Sun Jun 15 18:18:17 2003 UTC (19 years, 7 months ago) by thorpej
Branch: MAIN
Changes since 1.73: +2 -1 lines
Diff to previous 1.73 (colored)

Add another devmap routine that allows bootstrap code to register
a devmap reflecting mappings that are created by really early
bootstrap code before pmap_devmap_bootstrap() is called.

Revision 1.73 / (download) - annotate - [select for diffs], Sun Jun 15 17:45:23 2003 UTC (19 years, 7 months ago) by thorpej
Branch: MAIN
Changes since 1.72: +17 -1 lines
Diff to previous 1.72 (colored)

Replace the ad-hoc "section mapping table" for static device mappings
with a more generic "devmap" structure that can also handle mappings
made with large and small pages.  Add new pmap routines to enter these
mappings during bootstrap (and "remember" the devmap), and routines to
look up the static mappings once the kernel is running.

Revision 1.72 / (download) - annotate - [select for diffs], Wed May 21 18:04:43 2003 UTC (19 years, 8 months ago) by thorpej
Branch: MAIN
Changes since 1.71: +1 -106 lines
Diff to previous 1.71 (colored)

Remove #ifdefs supporting the old pmap, switching fully to the new.

Revision 1.71 / (download) - annotate - [select for diffs], Sat May 3 03:49:04 2003 UTC (19 years, 9 months ago) by thorpej
Branch: MAIN
Changes since 1.70: +2 -6 lines
Diff to previous 1.70 (colored)

Reduce differences between ARM32_NEW_VM_LAYOUT and not; always pass
the start and end of the kernel managed virtual address space to
pmap_bootstrap() in the new pmap.

Revision 1.70 / (download) - annotate - [select for diffs], Mon Apr 28 15:57:24 2003 UTC (19 years, 9 months ago) by scw
Branch: MAIN
Changes since 1.69: +2 -2 lines
Diff to previous 1.69 (colored)

Fix the bug reported by Richard Earnshaw in port-arm32/21349.

Make sure to check the access permissions before doing
ref/mod/domain fixups. This is particularly important
on machines with ARM_VECTORS_LOW.

Revision 1.69 / (download) - annotate - [select for diffs], Tue Apr 22 00:24:50 2003 UTC (19 years, 9 months ago) by thorpej
Branch: MAIN
Changes since 1.68: +53 -24 lines
Diff to previous 1.68 (colored)

Some ARM32_PMAP_NEW-related cleanup:
* Define a new "MMU type", ARM_MMU_SA1.  While the SA-1's MMU is basically
  compatible with the generic, the SA-1 cache does not have a write-through
  mode, and it is useful to know have an indication of this.
* Add a new PMAP_NEEDS_PTE_SYNC indicator, and try to evaluate it at
  compile time.  We evaluate it like so:
  - If SA-1-style MMU is the only type configured -> 1
  - If SA-1-style MMU is not configured -> 0
  - Otherwise, defer to a run-time variable.
  If PMAP_NEEDS_PTE_SYNC might evaluate to true (SA-1 only or run-time
  check), then we also define PMAP_INCLUDE_PTE_SYNC so that e.g. assembly
  code can include the necessary run-time support.  PMAP_INCLUDE_PTE_SYNC
  largely replaces the ARM32_PMAP_NEEDS_PTE_SYNC manual setting Steve
  included with the original new pmap.
* In the new pmap, make pmap_pte_init_generic() check to see if the CPU
  has a write-back cache.  If so, init the PT cache mode to C=1,B=0 to get
  write-through mode.  Otherwise, init the PT cache mode to C=1,B=1.
* Add a new pmap_pte_init_arm8().  Old pmap, same as generic.  New pmap,
  sets page table cacheability to 0 (ARM8 has a write-back cache, but
  flushing it is quite expensive).
* In the new pmap, make pmap_pte_init_arm9() reset the PT cache mode to
  C=1,B=0, since the write-back check in generic gets it wrong for ARM9,
  since we use write-through mode all the time on ARM9 right now.  (What
  this really tells me is that the test for write-through cache is less
  than perfect, but we can fix that later.)
* Add a new pmap_pte_init_sa1().  Old pmap, same as generic.  New pmap,
  does generic initialization, then resets page table cache mode to
  C=1,B=1, since C=1,B=0 does not produce write-through on the SA-1.

Revision 1.68 / (download) - annotate - [select for diffs], Fri Apr 18 23:45:50 2003 UTC (19 years, 9 months ago) by thorpej
Branch: MAIN
Changes since 1.67: +2 -2 lines
Diff to previous 1.67 (colored)

Gah, fix *another* typo.

Revision 1.67 / (download) - annotate - [select for diffs], Fri Apr 18 22:44:54 2003 UTC (19 years, 9 months ago) by thorpej
Branch: MAIN
Changes since 1.66: +2 -2 lines
Diff to previous 1.66 (colored)

Oops, fix typo.

Revision 1.66 / (download) - annotate - [select for diffs], Fri Apr 18 22:39:56 2003 UTC (19 years, 9 months ago) by thorpej
Branch: MAIN
Changes since 1.65: +11 -1 lines
Diff to previous 1.65 (colored)

Define two new macros to test if a mapping is mappable with an L1 Section
mapping or an L2 Large Page mapping.

Revision 1.65 / (download) - annotate - [select for diffs], Fri Apr 18 11:08:27 2003 UTC (19 years, 9 months ago) by scw
Branch: MAIN
Changes since 1.64: +188 -6 lines
Diff to previous 1.64 (colored)

Add the generic arm32 bits of the new pmap, contributed by Wasabi Systems.

Some features of the new pmap are:

 - It allows L1 descriptor tables to be shared efficiently between
   multiple processes. A typical "maxusers 32" kernel, where NPROC is set
   to 532, requires 35 L1s. A "maxusers 2" kernel runs quite happily
   with just 4 L1s. This completely solves the problem of running out
   of contiguous physical memory for allocating new L1s at runtime on a
   busy system.

 - Much improved cache/TLB management "smarts". This change ripples
   out to encompass the low-level context switch code, which is also
   much smarter about when to flush the cache/TLB, and when not to.

 - Faster allocation of L2 page tables and associated metadata thanks,
   in part, to the pool_cache enhancements recently contributed to
   NetBSD by Wasabi Systems.

 - Faster VM space teardown due to accurate referenced tracking of L2
   page tables.

 - Better/faster cache-alias tracking.

The new pmap is enabled by adding options ARM32_PMAP_NEW to the kernel
config file, and making the necessary changes to the port-specific
initarm() function. Several ports have already been converted and will
be committed shortly.

Revision 1.64 / (download) - annotate - [select for diffs], Wed Apr 9 18:22:14 2003 UTC (19 years, 10 months ago) by thorpej
Branch: MAIN
Changes since 1.63: +7 -2 lines
Diff to previous 1.63 (colored)

Add the ability for pool caches to cache the physical address of
objects.  Clients of the pool_cache API must consistently use
the "paddr" variants or not, otherwise behavior is undefined.

Enable this on Alpha, ARM, MIPS, and x86.  Other platforms must
define POOL_VTOPHYS() in the appropriate manner in order to enable
the feature.

Part 1 of a series of simple patches contributed by Wasabi Systems
to improve network performance.

Revision 1.63 / (download) - annotate - [select for diffs], Sun Mar 23 15:59:24 2003 UTC (19 years, 10 months ago) by chris
Branch: MAIN
Changes since 1.62: +2 -2 lines
Diff to previous 1.62 (colored)

Garbage collect pmap_map, the last (and only?) use has been removed.

Revision 1.16.2.9 / (download) - annotate - [select for diffs], Wed Dec 11 05:53:07 2002 UTC (20 years, 2 months ago) by thorpej
Branch: nathanw_sa
CVS Tags: nathanw_sa_end
Changes since 1.16.2.8: +2 -2 lines
Diff to previous 1.16.2.8 (colored) to branchpoint 1.16 (colored) next main 1.17 (colored)

Sync with HEAD.

Revision 1.62 / (download) - annotate - [select for diffs], Tue Nov 12 09:46:37 2002 UTC (20 years, 2 months ago) by chris
Branch: MAIN
CVS Tags: nathanw_sa_before_merge, nathanw_sa_base, gmcgarry_ucred_base, gmcgarry_ucred, gmcgarry_ctxsw_base, gmcgarry_ctxsw, fvdl_fs64_base
Changes since 1.61: +2 -2 lines
Diff to previous 1.61 (colored)

Fix PTE_FLUSH_RANGE macro, it should have had a cnt parameter.

Revision 1.16.2.8 / (download) - annotate - [select for diffs], Fri Oct 18 02:35:28 2002 UTC (20 years, 3 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.16.2.7: +7 -1 lines
Diff to previous 1.16.2.7 (colored) to branchpoint 1.16 (colored)

Catch up to -current.

Revision 1.10.2.9 / (download) - annotate - [select for diffs], Thu Oct 10 18:31:49 2002 UTC (20 years, 4 months ago) by jdolecek
Branch: kqueue
Changes since 1.10.2.8: +7 -1 lines
Diff to previous 1.10.2.8 (colored) next main 1.11 (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.61 / (download) - annotate - [select for diffs], Sun Sep 22 07:53:40 2002 UTC (20 years, 4 months ago) by chs
Branch: MAIN
CVS Tags: kqueue-beforemerge, kqueue-base, kqueue-aftermerge, bjh21-hydra-base, bjh21-hydra
Changes since 1.60: +2 -2 lines
Diff to previous 1.60 (colored)

it really helps to get the stub right before cutting + pasting it 27 times.
alas, I did not.  doh.

Revision 1.60 / (download) - annotate - [select for diffs], Sun Sep 22 07:17:10 2002 UTC (20 years, 4 months ago) by chs
Branch: MAIN
Changes since 1.59: +7 -1 lines
Diff to previous 1.59 (colored)

add pmap_remove_all() hook (empty on most platforms so far).

Revision 1.10.2.8 / (download) - annotate - [select for diffs], Fri Sep 6 08:32:41 2002 UTC (20 years, 5 months ago) by jdolecek
Branch: kqueue
Changes since 1.10.2.7: +26 -2 lines
Diff to previous 1.10.2.7 (colored)

sync kqueue branch with HEAD

Revision 1.53.2.1 / (download) - annotate - [select for diffs], Fri Aug 30 00:19:13 2002 UTC (20 years, 5 months ago) by gehenna
Branch: gehenna-devsw
Changes since 1.53: +26 -2 lines
Diff to previous 1.53 (colored) next main 1.54 (colored)

catch up with -current.

Revision 1.16.2.7 / (download) - annotate - [select for diffs], Tue Aug 27 06:03:17 2002 UTC (20 years, 5 months ago) by thorpej
Branch: nathanw_sa
Changes since 1.16.2.6: +24 -1 lines
Diff to previous 1.16.2.6 (colored) to branchpoint 1.16 (colored)

Sync with -current.

Revision 1.59 / (download) - annotate - [select for diffs], Sat Aug 24 02:48:50 2002 UTC (20 years, 5 months ago) by thorpej
Branch: MAIN
CVS Tags: gehenna-devsw-base
Changes since 1.58: +14 -1 lines
Diff to previous 1.58 (colored)

Define macros describing the 4M super-sections that our pmap
actually uses (since we allocate PT pages in 4K chunks, rather
than 1K chunks).

Revision 1.58 / (download) - annotate - [select for diffs], Sat Aug 24 02:16:32 2002 UTC (20 years, 5 months ago) by thorpej
Branch: MAIN
Changes since 1.57: +5 -7 lines
Diff to previous 1.57 (colored)

Enable caching on kernel and user page tables.  This saves having
to do uncached memory access during VM operations (which can be
quite expensive on some CPUs).

We currently write-back PTEs as soon as they're modified; there is
some room for optimization (to write them back in larger chunks).
For PTEs in the APTE space (i.e. PTEs for pmaps that describe another
process's address space), PTEs must also be evicted from the cache
complete (PTEs in PTE space will be evicted durint a context switch).

Revision 1.57 / (download) - annotate - [select for diffs], Thu Aug 22 01:13:55 2002 UTC (20 years, 5 months ago) by thorpej
Branch: MAIN
Changes since 1.56: +13 -1 lines
Diff to previous 1.56 (colored)

* Add PTE_SYNC() and PTE_SYNC_RANGE() macros.  These don't actually do
  anything yet.
* Use PTE_SYNC() and PTE_SYNC_RANGE() in some obvious places, i.e.
  where vtopte() is used.

Revision 1.16.2.6 / (download) - annotate - [select for diffs], Tue Aug 13 02:17:54 2002 UTC (20 years, 5 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.16.2.5: +3 -2 lines
Diff to previous 1.16.2.5 (colored) to branchpoint 1.16 (colored)

Catch up to -current.

Revision 1.56 / (download) - annotate - [select for diffs], Fri Aug 9 23:08:39 2002 UTC (20 years, 6 months ago) by thorpej
Branch: MAIN
Changes since 1.55: +3 -2 lines
Diff to previous 1.55 (colored)

Add a PVF_EXEC -- we don't use it yet, though.

Revision 1.55 / (download) - annotate - [select for diffs], Wed Jul 31 17:34:24 2002 UTC (20 years, 6 months ago) by thorpej
Branch: MAIN
Changes since 1.54: +1 -4 lines
Diff to previous 1.54 (colored)

Overhaul how DMA ranges work in the ARM bus_dma implementation.

A new "arm32_dma_range" structure now describes a DMA window, with
a system address base, bus address base, and length.  In addition to
providing info about which memory regions are legal for DMA, the new
structure provides address translation support, as well.

As before, if a tag does not list any ranges, then all addresses are
considered valid, and no DMA address translation is performed.

This allows us to remove a large chunk of code which was duplicated and
tweaked slightly (to do the address translation) from the stock ARM
bus_dma in the XScale IOP and ARM Integrator ports.

Test compiled on all ARM platforms, test booted on Intel IQ80321 and Shark.

Revision 1.54 / (download) - annotate - [select for diffs], Wed Jul 31 00:20:52 2002 UTC (20 years, 6 months ago) by thorpej
Branch: MAIN
Changes since 1.53: +4 -1 lines
Diff to previous 1.53 (colored)

Move the calls to uvm_page_physload() out of pmap_bootstrap() and
into platform-specific initialization code, giving platform-specific
code control over which free list a given chunk of memory gets put
onto.

Changes are essentially mechanical.  Test compiled for all ARM
platforms, test booted on Intel IQ80321 and Shark.

Discussed some time ago on port-arm.

Revision 1.10.2.7 / (download) - annotate - [select for diffs], Sun Jun 23 17:34:51 2002 UTC (20 years, 7 months ago) by jdolecek
Branch: kqueue
Changes since 1.10.2.6: +266 -88 lines
Diff to previous 1.10.2.6 (colored)

catch up with -current on kqueue branch

Revision 1.16.2.5 / (download) - annotate - [select for diffs], Wed Apr 17 00:02:31 2002 UTC (20 years, 9 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.16.2.4: +217 -11 lines
Diff to previous 1.16.2.4 (colored) to branchpoint 1.16 (colored)

Catch up to -current.

Revision 1.53 / (download) - annotate - [select for diffs], Fri Apr 12 21:52:48 2002 UTC (20 years, 9 months ago) by thorpej
Branch: MAIN
CVS Tags: netbsd-1-6-base, netbsd-1-6-RELEASE, netbsd-1-6-RC3, netbsd-1-6-RC2, netbsd-1-6-RC1, netbsd-1-6-PATCH002-RELEASE, netbsd-1-6-PATCH002-RC4, netbsd-1-6-PATCH002-RC3, netbsd-1-6-PATCH002-RC2, netbsd-1-6-PATCH002-RC1, netbsd-1-6-PATCH002, netbsd-1-6-PATCH001-RELEASE, netbsd-1-6-PATCH001-RC3, netbsd-1-6-PATCH001-RC2, netbsd-1-6-PATCH001-RC1, netbsd-1-6-PATCH001, netbsd-1-6
Branch point for: gehenna-devsw
Changes since 1.52: +1 -4 lines
Diff to previous 1.52 (colored)

Default all XScale core processors to the read/write-allocate write-back
cache mode.  Add a new XSCALE_CACHE_WRITE_THROUGH option for people who
are paranoid about the cache-related errata (you *do* have to line up
the planets correctly to trip them, but having the option is useful).

Revision 1.52 / (download) - annotate - [select for diffs], Fri Apr 12 18:50:32 2002 UTC (20 years, 9 months ago) by thorpej
Branch: MAIN
Changes since 1.51: +6 -30 lines
Diff to previous 1.51 (colored)

Centralize ARM CPU configuration information by adding a new header
file, <arm/cpuconf.h>, which pulls in "opt_cputypes.h" and then defines
the following:
* CPU_NTYPES -- now many CPU types are configured into the kernel.  What
  you really want to know is "== 1" or "> 1".
* Defines ARM_ARCH_2, ARM_ARCH_3, ARM_ARCH_4, ARM_ARCH_5, depending
  on which ARM architecture versions are configured (based on CPU_*
  options).  Also defines ARM_NARCH to determins how many architecture
  versions are configured.
* Defines ARM_MMU_MEMC, ARM_MMU_GENERIC, ARM_MMU_XSCALE depending on
  which classes of ARM MMUs are configured into the kernel, and ARM_NMMUS
  to determine how many MMU classes are configured.

Remove the needless inclusion of "opt_cputypes.h" in several places.
Convert remaining users to <arm/cpuconf.h>.

Revision 1.51 / (download) - annotate - [select for diffs], Wed Apr 10 00:45:43 2002 UTC (20 years, 10 months ago) by thorpej
Branch: MAIN
Changes since 1.50: +19 -1 lines
Diff to previous 1.50 (colored)

Add separate pmap_{zero,copy}_page() functions for generic ARM
vs. XScale.  Use the mini-data cache for the destination on XScale,
thus saving tossing out 4K of possible-useful data from the main
data cache each time.

This significantly improves every test in lmbench.

Revision 1.50 / (download) - annotate - [select for diffs], Tue Apr 9 23:44:02 2002 UTC (20 years, 10 months ago) by thorpej
Branch: MAIN
Changes since 1.49: +3 -1 lines
Diff to previous 1.49 (colored)

* Move the code that cleans the XScale mini-data cache into its
  own function.
* Add a new function which sets up the mini-data cache clean area
  properly.

Revision 1.49 / (download) - annotate - [select for diffs], Tue Apr 9 22:37:01 2002 UTC (20 years, 10 months ago) by thorpej
Branch: MAIN
Changes since 1.48: +28 -7 lines
Diff to previous 1.48 (colored)

* Split pte_cache_mode into pte_l1_s_cache_mode, pte_l2_l_cache_mode,
  and pte_l2_s_cache_mode.  The cache-meaningful bits are different
  for these descriptor types on some processor models.
* Add pte_*_cache_mask, corresponding to each above, which has a mask
  of the cache-meangful bits, and define those for generic and XScale
  MMU classes.  Note, the L2_S_CACHE_MASK_xscale definition requires
  use of the Extended Small Page L2 descriptor (the "X" bit overlaps
  with AP bits otherwise).

Revision 1.48 / (download) - annotate - [select for diffs], Tue Apr 9 21:23:16 2002 UTC (20 years, 10 months ago) by thorpej
Branch: MAIN
Changes since 1.47: +4 -4 lines
Diff to previous 1.47 (colored)

Use the "Extended Small Page" L2 descriptor type on XScale (note
this means that there are no 1K sub-pages on XScale, but we don't
use them anyway).

Revision 1.47 / (download) - annotate - [select for diffs], Tue Apr 9 21:11:31 2002 UTC (20 years, 10 months ago) by thorpej
Branch: MAIN
Changes since 1.46: +3 -3 lines
Diff to previous 1.46 (colored)

Remove the implementation-defined bits from L1_S_PROTO_xscale and
L1_C_PROTO_xscale; while they are supposed to be set to 1 on generic
ARM MMUs (according to the SA-110 and ARM920T manuals), they are listed
as "should be zero" in the i80200 manual.

Revision 1.46 / (download) - annotate - [select for diffs], Tue Apr 9 21:00:44 2002 UTC (20 years, 10 months ago) by thorpej
Branch: MAIN
Changes since 1.45: +142 -17 lines
Diff to previous 1.45 (colored)

Define 2 classes of ARM MMUs:
1. Generic (compatible with ARM6)
1. XScale (can be used as generic, but also has certainly nifty extensions).

Define abstract PTE bit defintions for each MMU class.  If only one MMU
class is configured into the kernel (based on CPU_* options), then we
get the constants for that MMU class.  Otherwise we indirect through
varaibles set up via set_cpufuncs().

XXX The XScale bits are currently the same as the generic bits.  Baby steps.

Revision 1.45 / (download) - annotate - [select for diffs], Tue Apr 9 19:37:17 2002 UTC (20 years, 10 months ago) by thorpej
Branch: MAIN
Changes since 1.44: +44 -12 lines
Diff to previous 1.44 (colored)

Use abstract names for the protection and PTE type bits in
L1 and L2 descriptors.  This will allow us to support different
PTE layouts that enable the use of extensions on different
processor models.

Revision 1.44 / (download) - annotate - [select for diffs], Fri Apr 5 16:58:05 2002 UTC (20 years, 10 months ago) by thorpej
Branch: MAIN
Changes since 1.43: +22 -8 lines
Diff to previous 1.43 (colored)

* Rewrite the 32-bit ARM pte.h based on the ARM architecture manual.
  Significant cleanup, here, including better PTE bit names.
* Add XScale PTE extensions (ECC enable, write-allocate cache mode).
* Mechanical changes everywhere else to update for new pte.h.  While
  doing this, two bugs (as a result of typos) were fixed in

	arm/arm32/bus_dma.c
	evbarm/integrator/int_bus_dma.c

Revision 1.43 / (download) - annotate - [select for diffs], Thu Apr 4 04:25:45 2002 UTC (20 years, 10 months ago) by thorpej
Branch: MAIN
Changes since 1.42: +22 -3 lines
Diff to previous 1.42 (colored)

Rename flags that are really part of the pv_entry/mdpage into
pmap.h and give them more descriptive names and better comments:
* PT_M  -> PVF_MOD (page is modified)
* PT_H  -> PVF_REF (page is referenced)
* PT_W  -> PVF_WIRED (mapping is wired)
* PT_Wr -> PVF_WRITE (mapping is writable)
* PT_NC -> PVF_NC (mapping is non-cacheable; multiple mappings)

Revision 1.42 / (download) - annotate - [select for diffs], Wed Apr 3 23:33:31 2002 UTC (20 years, 10 months ago) by thorpej
Branch: MAIN
Changes since 1.41: +3 -1 lines
Diff to previous 1.41 (colored)

Clean up handling of the vector page on 32-bit ARM systems:
* Don't refer to VA 0, instead refer to a new variable: vector_page
* Delete the old zero_page_*() functions, replacing them with a new
  one: vector_page_setprot().
* When manipulating vector page mappings in user pmaps, only do so if
  the vector page is below KERNEL_BASE (if it's above KERNEL_BASE, the
  vector page is mapped by the kernel pmap).
* Add a new function, arm32_vector_init(), which takes the virtual
  address of the vector page (which MUST be valid when the function
  is called) and a bitmask of vectors the kernel is going to take
  over, and performs all vector page initialization, including setting
  the V bit in the CPU Control register ("relocate vectors to high
  address"), if necessary.

Revision 1.16.2.4 / (download) - annotate - [select for diffs], Mon Apr 1 07:39:11 2002 UTC (20 years, 10 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.16.2.3: +71 -100 lines
Diff to previous 1.16.2.3 (colored) to branchpoint 1.16 (colored)

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

Revision 1.41 / (download) - annotate - [select for diffs], Mon Mar 25 19:53:39 2002 UTC (20 years, 10 months ago) by thorpej
Branch: MAIN
Changes since 1.40: +3 -1 lines
Diff to previous 1.40 (colored)

* Some cleanup.
* Delete the call to pmap_copy() in pmap.h

Revision 1.40 / (download) - annotate - [select for diffs], Mon Mar 25 03:00:28 2002 UTC (20 years, 10 months ago) by thorpej
Branch: MAIN
Changes since 1.39: +3 -27 lines
Diff to previous 1.39 (colored)

Move some private pmap data structures into pmap.c

Revision 1.39 / (download) - annotate - [select for diffs], Mon Mar 25 02:51:32 2002 UTC (20 years, 10 months ago) by thorpej
Branch: MAIN
Changes since 1.38: +12 -14 lines
Diff to previous 1.38 (colored)

Tidy a few things up.

Revision 1.38 / (download) - annotate - [select for diffs], Mon Mar 25 02:44:07 2002 UTC (20 years, 10 months ago) by thorpej
Branch: MAIN
Changes since 1.37: +26 -20 lines
Diff to previous 1.37 (colored)

Correct the comment describing the layout of the VM space.  In
particular, don't describe a recursive PTE mapping, since the ARM
port doesn't (and can't) use one.

Revision 1.37 / (download) - annotate - [select for diffs], Sun Mar 24 18:36:52 2002 UTC (20 years, 10 months ago) by thorpej
Branch: MAIN
Changes since 1.36: +1 -2 lines
Diff to previous 1.36 (colored)

Remove exported pmap_pte() prototype.

Revision 1.36 / (download) - annotate - [select for diffs], Sun Mar 24 04:38:33 2002 UTC (20 years, 10 months ago) by thorpej
Branch: MAIN
Changes since 1.35: +16 -10 lines
Diff to previous 1.35 (colored)

Clean up PTE access macros a bit.

Revision 1.35 / (download) - annotate - [select for diffs], Sun Mar 24 03:37:23 2002 UTC (20 years, 10 months ago) by thorpej
Branch: MAIN
Changes since 1.34: +7 -3 lines
Diff to previous 1.34 (colored)

* arm_byte_to_page() -> arm_btop()
* arm_page_to_byte() -> arm_ptob()

Revision 1.34 / (download) - annotate - [select for diffs], Sat Mar 23 19:21:59 2002 UTC (20 years, 10 months ago) by thorpej
Branch: MAIN
Changes since 1.33: +2 -13 lines
Diff to previous 1.33 (colored)

Garbage-collect the "pagehook" stuff.

Revision 1.33 / (download) - annotate - [select for diffs], Sat Mar 23 02:22:57 2002 UTC (20 years, 10 months ago) by thorpej
Branch: MAIN
Changes since 1.32: +2 -2 lines
Diff to previous 1.32 (colored)

* Rename PROCESS_PAGE_TBLS_BASE -> PTE_BASE
* Rename ALT_PAGE_TBLS_BASE -> APTE_BASE
* Garbage-collect PAGE_TABLE_SPACE_START

Revision 1.32 / (download) - annotate - [select for diffs], Sat Mar 23 01:56:31 2002 UTC (20 years, 10 months ago) by thorpej
Branch: MAIN
Changes since 1.31: +1 -9 lines
Diff to previous 1.31 (colored)

Remove redundant #ifdef _KERNEL

Revision 1.10.2.6 / (download) - annotate - [select for diffs], Sat Mar 16 15:56:09 2002 UTC (20 years, 10 months ago) by jdolecek
Branch: kqueue
Changes since 1.10.2.5: +39 -24 lines
Diff to previous 1.10.2.5 (colored)

Catch up with -current.

Revision 1.31 / (download) - annotate - [select for diffs], Tue Mar 5 04:48:03 2002 UTC (20 years, 11 months ago) by thorpej
Branch: MAIN
CVS Tags: newlock-base, newlock, eeh-devprop-base, eeh-devprop
Changes since 1.30: +4 -1 lines
Diff to previous 1.30 (colored)

* Make pmap_is_{modified,referenced}() macros in pmap.h that just
  test the attributes in the vm_page_md directly.
* Clean up pmap_clear_{modified,referenced}().
* Delete now-unused pmap_testbit().

Revision 1.30 / (download) - annotate - [select for diffs], Tue Mar 5 04:20:00 2002 UTC (20 years, 11 months ago) by thorpej
Branch: MAIN
Changes since 1.29: +1 -20 lines
Diff to previous 1.29 (colored)

Switch back to using vm_page_md (thanks chuq for finding the bug
in the code that made it unstable before!)

Revision 1.29 / (download) - annotate - [select for diffs], Sun Mar 3 11:22:59 2002 UTC (20 years, 11 months ago) by chris
Branch: MAIN
Changes since 1.28: +17 -2 lines
Diff to previous 1.28 (colored)

Implement pmap_growkernel for arm32 based ports.
Note that this has been compiled on some systems, cats, IQ80310, IPAQ, netwinder and shark (note that shark's build is currently broken due to other reasons), but only actually run on cats.
Shark doesn't make use of the functionality as I believe there has to be a correlation between OFW and the kernel tables so that calls into OFW work.

Revision 1.16.2.3 / (download) - annotate - [select for diffs], Thu Feb 28 04:07:35 2002 UTC (20 years, 11 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.16.2.2: +26 -4 lines
Diff to previous 1.16.2.2 (colored) to branchpoint 1.16 (colored)

Catch up to -current.

Revision 1.28 / (download) - annotate - [select for diffs], Thu Feb 21 21:58:01 2002 UTC (20 years, 11 months ago) by thorpej
Branch: MAIN
CVS Tags: ifpoll-base
Changes since 1.27: +7 -7 lines
Diff to previous 1.27 (colored)

Keep track of which kernel PTs are available during bootstrap,
and let pmap_map_chunk() lookup the correct one to use for the
current VA.  Eliminate the "l2table" argument to pmap_map_chunk().

Add a second L2 table for mapping kernel text/data/bss on the
IQ80310 (fixes booting kernels with ramdisks).

Revision 1.27 / (download) - annotate - [select for diffs], Thu Feb 21 02:52:21 2002 UTC (20 years, 11 months ago) by thorpej
Branch: MAIN
Changes since 1.26: +3 -1 lines
Diff to previous 1.26 (colored)

map_chunk() -> pmap_map_chunk(), and move it to pmap.c

Revision 1.26 / (download) - annotate - [select for diffs], Wed Feb 20 20:41:16 2002 UTC (20 years, 11 months ago) by thorpej
Branch: MAIN
Changes since 1.25: +2 -1 lines
Diff to previous 1.25 (colored)

map_pagetable() -> pmap_link_l2pt(), and move it to pmap.c

Revision 1.25 / (download) - annotate - [select for diffs], Wed Feb 20 02:32:58 2002 UTC (20 years, 11 months ago) by thorpej
Branch: MAIN
Changes since 1.24: +2 -1 lines
Diff to previous 1.24 (colored)

Collapse map_entry{,ro,nc}() into a single pmap_map_entry() that
takes a prot and a "cacheable" indicator.

Revision 1.24 / (download) - annotate - [select for diffs], Wed Feb 20 00:10:18 2002 UTC (20 years, 11 months ago) by thorpej
Branch: MAIN
Changes since 1.23: +13 -1 lines
Diff to previous 1.23 (colored)

Rename map_section() to pmap_map_section(), move it to pmap.c, and give it
an extra argument (prot - specifies protection of the mapping).

Revision 1.10.2.5 / (download) - annotate - [select for diffs], Mon Feb 11 20:07:21 2002 UTC (20 years, 11 months ago) by jdolecek
Branch: kqueue
Changes since 1.10.2.4: +7 -1 lines
Diff to previous 1.10.2.4 (colored)

Sync w/ -current.

Revision 1.23 / (download) - annotate - [select for diffs], Wed Feb 6 17:41:44 2002 UTC (21 years ago) by thorpej
Branch: MAIN
Changes since 1.22: +20 -6 lines
Diff to previous 1.22 (colored)

Back out all the vm_page_md changes.  They are causing some
mysterious problems (a similar change to the i386 pmap causes
mysterious problems there, as well), and the issue needs to
be investigated more.

Revision 1.22 / (download) - annotate - [select for diffs], Wed Feb 6 17:32:37 2002 UTC (21 years ago) by thorpej
Branch: MAIN
Changes since 1.21: +6 -1 lines
Diff to previous 1.21 (colored)

Efficiency tweaks, some made possible by vm_page_md.

Revision 1.21 / (download) - annotate - [select for diffs], Tue Feb 5 21:14:37 2002 UTC (21 years ago) by thorpej
Branch: MAIN
Changes since 1.20: +1 -20 lines
Diff to previous 1.20 (colored)

Use vm_page_md rather than pmap_physseg.  Saves lots of cycles in
common operations.

Revision 1.20 / (download) - annotate - [select for diffs], Sat Jan 19 16:55:22 2002 UTC (21 years ago) by chs
Branch: MAIN
Changes since 1.19: +7 -1 lines
Diff to previous 1.19 (colored)

add a new flag PMAP_CACHE_VIVT for the pmap to inform the MI code that
that the cache is virtually-indexed and virtually-tagged (such as on the ARM),
and use this flag in the UBC code to be more friendly to those caches.

Revision 1.10.2.4 / (download) - annotate - [select for diffs], Thu Jan 10 19:37:56 2002 UTC (21 years, 1 month ago) by thorpej
Branch: kqueue
Changes since 1.10.2.3: +11 -6 lines
Diff to previous 1.10.2.3 (colored)

Sync kqueue branch with -current.

Revision 1.16.2.2 / (download) - annotate - [select for diffs], Tue Jan 8 00:23:12 2002 UTC (21 years, 1 month ago) by nathanw
Branch: nathanw_sa
Changes since 1.16.2.1: +216 -0 lines
Diff to previous 1.16.2.1 (colored) to branchpoint 1.16 (colored)

Catch up to -current.

Revision 1.19 / (download) - annotate - [select for diffs], Fri Nov 23 19:21:48 2001 UTC (21 years, 2 months ago) by thorpej
Branch: MAIN
Changes since 1.18: +2 -2 lines
Diff to previous 1.18 (colored)

Use <arm/cpufunc.h>, not <machine/cpufunc.h>.

Revision 1.18 / (download) - annotate - [select for diffs], Fri Nov 23 17:39:04 2001 UTC (21 years, 2 months ago) by thorpej
Branch: MAIN
Changes since 1.17: +6 -2 lines
Diff to previous 1.17 (colored)

- Move more contents of various <machine/vmparam.h> files into
  <arm/arm32/vmparam.h> (mostly the stuff that's tied to the pmap
  implementation).
- Since the MMU definitions in pte.h are specific to ARM processors
  that support 32-bit mode, move pte.h to <arm/arm32/pte.h>.
- Make the Netwinder startup file build again (use PT_B|PT_C, rather
  than PT_CACHEABLE, since the latter expands to a variable these days).

Revision 1.17 / (download) - annotate - [select for diffs], Mon Nov 19 18:41:33 2001 UTC (21 years, 2 months ago) by thorpej
Branch: MAIN
Changes since 1.16: +1 -2 lines
Diff to previous 1.16 (colored)

Implement pmap_update().  Currently it just calls cpu_cpwait(),
which ensures that TLB/cache operations have completed.

Revision 1.15.2.1 / (download) - annotate - [select for diffs], Mon Nov 12 21:16:33 2001 UTC (21 years, 2 months ago) by thorpej
Branch: thorpej-mips-cache
Changes since 1.15: +5 -1 lines
Diff to previous 1.15 (colored) next main 1.16 (colored)

Sync the thorpej-mips-cache branch with -current.

Revision 1.16.2.1, Sat Nov 3 00:01:23 2001 UTC (21 years, 3 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.16: +0 -213 lines
FILE REMOVED

file pmap.h was added on branch nathanw_sa on 2002-01-08 00:23:12 +0000

Revision 1.16 / (download) - annotate - [select for diffs], Sat Nov 3 00:01:23 2001 UTC (21 years, 3 months ago) by rearnsha
Branch: MAIN
CVS Tags: thorpej-mips-cache-base
Branch point for: nathanw_sa
Changes since 1.15: +5 -1 lines
Diff to previous 1.15 (colored)

Define boolean predicates pmap_pde_page, pmap_pde_section & pmap_pde_fpage,
which return true if their pde argument is a coarse page, section or
fine page respectively.

Revision 1.13.2.1 / (download) - annotate - [select for diffs], Mon Oct 1 12:37:40 2001 UTC (21 years, 4 months ago) by fvdl
Branch: thorpej-devvp
Changes since 1.13: +2 -4 lines
Diff to previous 1.13 (colored) next main 1.14 (colored)

Catch up with -current.

Revision 1.15 / (download) - annotate - [select for diffs], Thu Sep 13 23:56:01 2001 UTC (21 years, 4 months ago) by chris
Branch: MAIN
CVS Tags: thorpej-devvp-base3, thorpej-devvp-base2, pre-chs-ubcperf, post-chs-ubcperf
Branch point for: thorpej-mips-cache
Changes since 1.14: +1 -3 lines
Diff to previous 1.14 (colored)

Sprinkle some static and inline into a couple of functions.  Remove dead entries from pmap.h.

Revision 1.10.2.3 / (download) - annotate - [select for diffs], Thu Sep 13 01:13:10 2001 UTC (21 years, 4 months ago) by thorpej
Branch: kqueue
Changes since 1.10.2.2: +2 -2 lines
Diff to previous 1.10.2.2 (colored)

Update the kqueue branch to HEAD.

Revision 1.14 / (download) - annotate - [select for diffs], Mon Sep 10 21:19:35 2001 UTC (21 years, 5 months ago) by chris
Branch: MAIN
Changes since 1.13: +2 -2 lines
Diff to previous 1.13 (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.10.2.2 / (download) - annotate - [select for diffs], Sat Aug 25 06:15:11 2001 UTC (21 years, 5 months ago) by thorpej
Branch: kqueue
Changes since 1.10.2.1: +26 -39 lines
Diff to previous 1.10.2.1 (colored)

Merge Aug 24 -current into the kqueue branch.

Revision 1.13 / (download) - annotate - [select for diffs], Sat Aug 11 13:20:20 2001 UTC (21 years, 6 months ago) by chris
Branch: MAIN
CVS Tags: thorpej-devvp-base
Branch point for: thorpej-devvp
Changes since 1.12: +26 -39 lines
Diff to previous 1.12 (colored)

Checking a whole host of pmap changes:
Improved locking (not that we actually use it on a uniprocessor, but one day :)
Removed unneeded splvm's
tweaked pmap_clean_page code to only flush the cache if the page is mapped in the current pmap  (based on diff from richard E)
Adopted pv entry allocation mechanism from i386.
Laid framework for returning ptp's when we've finished with them rather than holding onto them till the process exits.
ptp's are now allocated with a uvm object for the pmap, means that we can walk a list to free them off in pmap_release, until they get freed off by pmap_remove.

Also implemented a page zeroing function when the processor is idling.  Note that hpcarm may wish to disable this.

I believe this code to be stable, if anyone has any problems please shout up.

Revision 1.10.2.1 / (download) - annotate - [select for diffs], Fri Aug 3 04:11:02 2001 UTC (21 years, 6 months ago) by lukem
Branch: kqueue
Changes since 1.10: +37 -11 lines
Diff to previous 1.10 (colored)

update to -current

Revision 1.12 / (download) - annotate - [select for diffs], Sun Jul 29 12:45:27 2001 UTC (21 years, 6 months ago) by chris
Branch: MAIN
Changes since 1.11: +6 -7 lines
Diff to previous 1.11 (colored)

Rework the pmap_release code to not have to walk the ptpt, it now uses a uvm_object to track the allocated vm_pages, this means it can free off the entries in the uvm_object.

Testing shows that it's about 5% faster on the make configure step for gmake.

Revision 1.11 / (download) - annotate - [select for diffs], Sat Jul 28 18:12:44 2001 UTC (21 years, 6 months ago) by chris
Branch: MAIN
Changes since 1.10: +34 -7 lines
Diff to previous 1.10 (colored)

A couple of tidy ups to pmap:
pmap_t -> struct pmap * in pmap.c and pmap.h
kernel_pmap -> pmap_kernel() everywhere.

Compiled and booted on riscpc and cats.

Revision 1.10 / (download) - annotate - [select for diffs], Fri Jun 22 09:12:11 2001 UTC (21 years, 7 months ago) by chris
Branch: MAIN
Branch point for: kqueue
Changes since 1.9: +1 -3 lines
Diff to previous 1.9 (colored)

GC a couple of unused entries in the pmap struct

Revision 1.4.2.1 / (download) - annotate - [select for diffs], Thu Jun 21 19:19:00 2001 UTC (21 years, 7 months ago) by nathanw
Changes since 1.4: +4 -4 lines
Diff to previous 1.4 (colored) next main 1.5 (colored)

Catch up to -current.

Revision 1.9 / (download) - annotate - [select for diffs], Sat May 26 21:27:05 2001 UTC (21 years, 8 months ago) by chs
Branch: MAIN
Changes since 1.8: +2 -2 lines
Diff to previous 1.8 (colored)

replace vm_page_t with struct vm_page *.

Revision 1.8 / (download) - annotate - [select for diffs], Sat May 26 16:32:40 2001 UTC (21 years, 8 months ago) by chs
Branch: MAIN
Changes since 1.7: +2 -2 lines
Diff to previous 1.7 (colored)

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

Revision 1.4.4.3 / (download) - annotate - [select for diffs], Mon Apr 23 09:41:34 2001 UTC (21 years, 9 months ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.4.4.2: +2 -2 lines
Diff to previous 1.4.4.2 (colored) next main 1.5 (colored)

Sync with HEAD.

Revision 1.7 / (download) - annotate - [select for diffs], Sun Apr 22 23:19:31 2001 UTC (21 years, 9 months ago) by thorpej
Branch: MAIN
CVS Tags: thorpej_scsipi_nbase, thorpej_scsipi_beforemerge, thorpej_scsipi_base
Changes since 1.6: +2 -2 lines
Diff to previous 1.6 (colored)

Undo a misguided previous change to the pmap_update() API.

Revision 1.6 / (download) - annotate - [select for diffs], Sun Apr 22 00:34:04 2001 UTC (21 years, 9 months ago) by thorpej
Branch: MAIN
Changes since 1.5: +2 -2 lines
Diff to previous 1.5 (colored)

Give pmap_update() an argument (a pmap_t) so that it knows which
pmap it should be updating.

Revision 1.5 / (download) - annotate - [select for diffs], Sat Apr 21 17:13:12 2001 UTC (21 years, 9 months ago) by thorpej
Branch: MAIN
Changes since 1.4: +2 -2 lines
Diff to previous 1.4 (colored)

Update the comment for pmap_update().

Revision 1.4.4.2 / (download) - annotate - [select for diffs], Mon Mar 12 13:27:25 2001 UTC (21 years, 11 months ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.4.4.1: +200 -0 lines
Diff to previous 1.4.4.1 (colored)

Sync with HEAD.

Revision 1.4.4.1, Sun Mar 4 19:05:56 2001 UTC (21 years, 11 months ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.4: +0 -200 lines
FILE REMOVED

file pmap.h was added on branch thorpej_scsipi on 2001-03-12 13:27:25 +0000

Revision 1.4 / (download) - annotate - [select for diffs], Sun Mar 4 19:05:56 2001 UTC (21 years, 11 months ago) by matt
Branch: MAIN
Branch point for: thorpej_scsipi
Changes since 1.3: +13 -2 lines
Diff to previous 1.3 (colored)

more vm_offset_t/vm_size_t -> {p,v}{addr,size}_t changes
move pmap_* declarations to pmap.h.  fix conflicts this
exposed (e.g different definitions for pmap_bootstrap).

Revision 1.3 / (download) - annotate - [select for diffs], Sun Mar 4 07:30:20 2001 UTC (21 years, 11 months ago) by matt
Branch: MAIN
Changes since 1.2: +5 -5 lines
Diff to previous 1.2 (colored)

Convert some vm_size_t to vsize_t/psize_t.   Change vaddr_t to paddr_t
where appropriate.

Revision 1.2 / (download) - annotate - [select for diffs], Sun Mar 4 03:50:33 2001 UTC (21 years, 11 months ago) by matt
Branch: MAIN
Changes since 1.1: +13 -13 lines
Diff to previous 1.1 (colored)

s/vm_offset_t/vaddr_t/g

Revision 1.1 / (download) - annotate - [select for diffs], Fri Feb 23 21:23:49 2001 UTC (21 years, 11 months ago) by reinoud
Branch: MAIN

Big patch for merging common include files of the new hpcarm tree and the old arm32
tree into the new arm substree. All moved files are relinked with a stub that included
the file from the new location; this might be done better later.

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>