History log of /src/sys/arch/powerpc/oea/pmap_kernel.c |
Revision | | Date | Author | Comments |
1.14 |
| 15-Dec-2023 |
rin | powerpc: oea: For OEA64_BRIDGE, 1:1 map up to 3GiB memory
As done for OEA. Note that kva over 3GiB is reserved.
Provide PMAP_MAP_POOLPAGE for OEA64_BRIDGE at the same time, by which direct-mapped memory is utilized in order to work around starvation of 512MiB kernel virtual space.
PR kern/57621
|
1.13 |
| 16-Feb-2022 |
riastradh | branches: 1.13.4; powerpc: Implement pv-tracking for unmanaged pages.
Needed for drm.
|
1.12 |
| 02-Mar-2021 |
thorpej | Complete the pmap symbol renaming shenanigans for pmap_bootstrap[12]().
|
1.11 |
| 06-Jul-2020 |
rin | branches: 1.11.2; Style and cosmetic changes. No binary changes intended.
|
1.10 |
| 28-Jul-2012 |
matt | Fix -fno-common fallout.
|
1.9 |
| 30-Jun-2011 |
matt | branches: 1.9.2; Modify mapiodev to take a third argument indicating whether the space should be prefetchable (true) or not (false).
|
1.8 |
| 20-Jun-2011 |
matt | Add #error for unknown PPC variant Now that oea calls cpu_fixup_stubs, we don't need pmap_fixup_stubs.
|
1.7 |
| 27-Feb-2011 |
rjs | branches: 1.7.2; Missing semicolon.
|
1.6 |
| 26-Feb-2011 |
matt | Can't pass a void.
|
1.5 |
| 18-Feb-2011 |
matt | Make sure stub routines are not profiled.
|
1.4 |
| 18-Feb-2011 |
matt | Move powerpc_mmap_flags since pmap.c can get compiled multiple time resulting in multiple defintions of powerpc_mmap_flags.
|
1.3 |
| 12-Feb-2011 |
matt | When an OEA kernel is configured for multiple MMU types, use the new powerpc fixup mechanism to bind the kernel to a particular MMU. This avoids an indirect call for every pmap call.
|
1.2 |
| 11-Dec-2008 |
pooka | branches: 1.2.2; 1.2.4; 1.2.6; 1.2.10; 1.2.14; 1.2.16; 1.2.18; rcs id police
|
1.1 |
| 11-Dec-2008 |
pooka | Since oea pmap.c is #included many times, put kernel_pmap_ptr into its own source module to avoid multiple initialized data definitions.
|
1.2.18.2 |
| 05-Mar-2011 |
bouyer | Sync with HEAD
|
1.2.18.1 |
| 17-Feb-2011 |
bouyer | Sync with HEAD
|
1.2.16.1 |
| 06-Jun-2011 |
jruoho | Sync with HEAD.
|
1.2.14.1 |
| 05-Mar-2011 |
rmind | sync with head
|
1.2.10.2 |
| 04-May-2009 |
yamt | sync with head.
|
1.2.10.1 |
| 11-Dec-2008 |
yamt | file pmap_kernel.c was added on branch yamt-nfs-mp on 2009-05-04 08:11:44 +0000
|
1.2.6.2 |
| 19-Jan-2009 |
skrll | Sync with HEAD.
|
1.2.6.1 |
| 11-Dec-2008 |
skrll | file pmap_kernel.c was added on branch nick-hppapmap on 2009-01-19 13:16:37 +0000
|
1.2.4.2 |
| 17-Jan-2009 |
mjf | Sync with HEAD.
|
1.2.4.1 |
| 11-Dec-2008 |
mjf | file pmap_kernel.c was added on branch mjf-devfs2 on 2009-01-17 13:28:26 +0000
|
1.2.2.2 |
| 13-Dec-2008 |
haad | Update haad-dm branch to haad-dm-base2.
|
1.2.2.1 |
| 11-Dec-2008 |
haad | file pmap_kernel.c was added on branch haad-dm on 2008-12-13 01:13:24 +0000
|
1.7.2.1 |
| 23-Jun-2011 |
cherry | Catchup with rmind-uvmplock merge.
|
1.9.2.1 |
| 30-Oct-2012 |
yamt | sync with head
|
1.11.2.1 |
| 03-Apr-2021 |
thorpej | Sync with HEAD.
|
1.13.4.1 |
| 29-Dec-2023 |
martin | Additionally pull up following revision(s) (requested by rin in ticket #400):
sys/arch/powerpc/include/oea/pmap.h: revision 1.39 sys/arch/powerpc/include/pmap.h: revision 1.43 sys/arch/powerpc/oea/pmap_kernel.c: revision 1.14 sys/arch/powerpc/oea/pmap.c: revision 1.117 sys/arch/powerpc/oea/pmap.c: revision 1.118 sys/arch/powerpc/oea/pmap.c: revision 1.119 sys/arch/powerpc/include/vmparam.h: revision 1.27 sys/arch/powerpc/powerpc/trap.c: revision 1.165 sys/arch/powerpc/oea/pmap.c: revision 1.120 sys/arch/powerpc/oea/pmap.c: revision 1.121 sys/arch/powerpc/powerpc/vm_machdep.c: revision 1.106 sys/arch/powerpc/powerpc/bus_dma.c: revision 1.56
powerpc/oea: trap: pmap_{pte,ste}_spill() even in the interrupt context
Page table for oea is something like L2 TLB on memory; kernel and processes share its entries, and process entries can be spilled out.
As done for MMU based on software-managed TLB, we need to restore such entries even in the interrupt context.
Note that pmap_pte_spill() require no resouce to restore entries. Still-not-implemented pmap_ste_spill() for OEA64 should also. Part of PR kern/57621
powerpc/oea: pmap: Drop unused argument for pmap_pvo_reclaim(), NFC Part of PR kern/57621
powerpc/oea: pmap: Rework pmap_pte_spill()
It was broken in many ways... Now, it gets working stable both for OEA and OEA64_BRIDGE, as far as I can see. Part of PR kern/57621
powerpc/oea: pmap: Fix mostly-pointless overhead of pmap_pvo_pool (1) Drop __aligned(32) from struct pvo_entry; otherwise, sizeof(struct pvo_entry) is round-up'ed to a multiple of 32. (2) Do not set sizeof(struct pvo_entry) to `align` argument for pool_init(9); it must be power of 2. (3) Align pvo_entry to 32-byte boundary only if reasonably possible, i.e., OEA without DIAGNOSTIC (--> POOL_REDZONE) for now. Part of PR kern/57621
powerpc/oea: pmap_create: Use PR_ZERO and drop memset(9), NFC Part of PR kern/57621
powerpc: oea: For OEA64_BRIDGE, 1:1 map up to 3GiB memory As done for OEA. Note that kva over 3GiB is reserved.
Provide PMAP_MAP_POOLPAGE for OEA64_BRIDGE at the same time, by which direct-mapped memory is utilized in order to work around starvation of 512MiB kernel virtual space. PR kern/57621
powerpc: Make sure direct-mapped buffer fits within correct range
For OEA and OEA64_BRIDGE, only first 3GiB memory is direct-mapped. Part of PR kern/57621
|