History log of /src/sys/arch/powerpc/include/vmparam.h |
Revision | | Date | Author | Comments |
1.27 |
| 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.26 |
| 11-May-2022 |
andvar | branches: 1.26.4; s/varible/variable/
|
1.25 |
| 06-Jan-2021 |
rin | Drop unused headers. No functional changes intended.
|
1.24 |
| 06-Jul-2020 |
rin | branches: 1.24.2; Correct #ifdef; _MODULE not _MODULAR here.
Now __HAVE_PMAP_PHYSSEG is defined correctly for modules, which was missing accidentally.
|
1.23 |
| 27-Jun-2020 |
rin | Restrict {MIN,MAX}_PAGE_SIZE for MODULAR || _MODULE, which makes non-MODULAR kernel a little bit efficient.
They are also exposed to userland for jemalloc.
|
1.22 |
| 29-Mar-2019 |
christos | Go back to not always defining PAGE_{SIZE,SHIFT,MASK}
|
1.21 |
| 27-Mar-2019 |
christos | Provide the (max) defaults for page size for userland.
|
1.20 |
| 23-Jun-2017 |
joerg | branches: 1.20.6; Recommit exec_subr.c revision 1.79: Always include a 1MB guard area beyond the end of stack. While ASLR will normally create a guard area as well, this provides a deterministic area for all binaries.
Mitigates the rest of CVE-2017-1000374 and CVE-2017-1000375 from Qualys.
Additionally, change VM_DEFAULT_ADDRESS_TOPDOWN to include user_stack_guard_size in the size reservation.
|
1.19 |
| 18-Oct-2014 |
snj | branches: 1.19.2; 1.19.12; src is too big these days to tolerate superfluous apostrophes. It's "its", people!
|
1.18 |
| 25-Jan-2014 |
christos | delete VM_DEFAULT_ADDRESS; some of those should be GC'ed because they match the default definition.
|
1.17 |
| 23-Feb-2012 |
matt | branches: 1.17.2; 1.17.4; Export MIN_PAGE_SIZE and MAX_PAGE_SIZE for modular kernels.
|
1.16 |
| 20-Jun-2011 |
matt | branches: 1.16.2; 1.16.4; 1.16.8; 1.16.10; Readd powerpc/include/vmparam.h to the set lists Export it to powerpc/include.h Protect pmap.h and vmparam.h from getting an #error when included from userland. Export safe definitions of VM_MAXUSER_ADDRESS, VM_MIN_ADDRESS, VM_MAX_ADDRESS when _RUMPKERNEL is defined.
|
1.15 |
| 20-Jun-2011 |
matt | PowerPC now exports a common view of cpu.h, vmparam.h and pmap.h when building a MODULAR kernel or compiling _MODULE. It should be noted that MODULAR or _MODULE export a view of the kernel as being MULTIPROCESSOR (even if isn't). The shared pmap TLB uses mdpg in places where it used mdpg to avoid deadly embrance inclusion problems.
|
1.14 |
| 20-Jun-2011 |
matt | Don't export USER_SR if _MODULE is defined. Add a common <powerpc/vmparam.h> like we have for <powerpc/pmap.h>
|
1.13 |
| 16-Feb-2000 |
tsubai | Unused. (PR 9424)
|
1.12 |
| 11-Feb-2000 |
thorpej | Update for the NKMEMPAGES changes.
|
1.11 |
| 04-Dec-1999 |
ragge | CL* discarding.
|
1.10 |
| 02-May-1999 |
kleink | branches: 1.10.2; 1.10.8; Garbage-collect VM_MBUF_SIZE leftover.
|
1.9 |
| 23-Mar-1999 |
thorpej | branches: 1.9.4; VM_MBUF_SIZE is in terms of MCLBYTES, not CLBYTES.
|
1.8 |
| 16-Jan-1999 |
chuck | MNN is no longer optional, remove old code
|
1.7 |
| 31-Aug-1998 |
tsubai | vm_offset_t --> [pv]addr_t
|
1.6 |
| 08-Jul-1998 |
thorpej | Define one page free list, and put all pages on it.
|
1.5 |
| 05-Jun-1998 |
sakamoto | Merge in MACHINE_NEW_NONCONTIG support and some fix from Tsubai-San. UVM support.
|
1.4 |
| 18-Feb-1998 |
mycroft | Fix typo.
|
1.3 |
| 12-Jun-1997 |
mrg | bring mrg-vm-swap2 onto mainilne.
|
1.2 |
| 16-Apr-1997 |
thorpej | branches: 1.2.2; Always define MACHINE_NONCONTIG.
|
1.1 |
| 30-Sep-1996 |
ws | branches: 1.1.4; PowerPC port
|
1.1.4.1 |
| 12-Feb-1997 |
mrg | initial work for dynamic swap additions.
|
1.2.2.1 |
| 04-May-1997 |
mrg | re-merge mrg-vm-swap into -current, and call it mrg-vm-swap2.
|
1.9.4.2 |
| 06-Aug-1999 |
chs | take an initial guess at UBC parameters.
|
1.9.4.1 |
| 21-Jun-1999 |
thorpej | Sync w/ -current.
|
1.10.8.1 |
| 27-Dec-1999 |
wrstuden | Pull up to last week's -current.
|
1.10.2.1 |
| 20-Nov-2000 |
bouyer | Remove files that are no longer on the trunck
|
1.16.10.1 |
| 17-May-2012 |
riz | Pull up following revision(s) (requested by matt in ticket #255): sys/arch/powerpc/include/vmparam.h: revision 1.17 Export MIN_PAGE_SIZE and MAX_PAGE_SIZE for modular kernels.
|
1.16.8.1 |
| 24-Feb-2012 |
mrg | sync to -current.
|
1.16.4.2 |
| 22-May-2014 |
yamt | 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")
|
1.16.4.1 |
| 17-Apr-2012 |
yamt | sync with head
|
1.16.2.2 |
| 23-Jun-2011 |
cherry | Catchup with rmind-uvmplock merge.
|
1.16.2.1 |
| 20-Jun-2011 |
cherry | file vmparam.h was added on branch cherry-xenmp on 2011-06-23 14:19:31 +0000
|
1.17.4.1 |
| 18-May-2014 |
rmind | sync with head
|
1.17.2.2 |
| 03-Dec-2017 |
jdolecek | update from HEAD
|
1.17.2.1 |
| 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.19.12.1 |
| 31-Aug-2017 |
bouyer | Pull up following revision(s) (requested by joerg in ticket #234): sys/arch/amd64/include/vmparam.h: revision 1.43 sys/kern/exec_subr.c: revision 1.79 lib/libpthread/pthread_int.h: revision 1.94 sys/arch/mips/include/vmparam.h: revision 1.58 sys/arch/mips/include/vmparam.h: revision 1.59 lib/libpthread/TODO: revision 1.19 sys/arch/powerpc/include/vmparam.h: revision 1.20 sys/arch/riscv/include/vmparam.h: revision 1.2 sys/arch/riscv/include/vmparam.h: revision 1.3 sys/arch/i386/include/vmparam.h: revision 1.85 tests/lib/libpthread/t_join.c: revision 1.9 sys/uvm/uvm_meter.c: revision 1.66 sys/uvm/uvm_param.h: revision 1.36 sys/kern/exec_subr.c: revision 1.80 sys/uvm/uvm_param.h: revision 1.37 sys/kern/exec_subr.c: revision 1.81 sys/kern/exec_subr.c: revision 1.82 lib/libpthread/pthread_attr_getguardsize.3: revision 1.4 lib/libpthread/pthread.c: revision 1.148 lib/libpthread/pthread_attr.c: revision 1.17 sys/arch/amd64/include/vmparam.h: revision 1.42 Always include a 1MB guard area beyond the end of stack. While ASLR will normally create a guard area as well, this provides a deterministic area for all binaries. Mitigates the rest of CVE-2017-1000374 and CVE-2017-1000375 from Qualys. Revert for the moment, creates problems on i386. Recommit exec_subr.c revision 1.79: Always include a 1MB guard area beyond the end of stack. While ASLR will normally create a guard area as well, this provides a deterministic area for all binaries. Mitigates the rest of CVE-2017-1000374 and CVE-2017-1000375 from Qualys. Additionally, change VM_DEFAULT_ADDRESS_TOPDOWN to include user_stack_guard_size in the size reservation. Update VM_DEFAULT_ADDRESS32_TOPDOWN to include guard area. Export the guard size of the main thread via vm.guard_size. Add a complementary writable sysctl for the initial guard size of threads created via pthread_create. Let the existing attribut accessors do the right thing. Raise the default guard size for threads to 64KB.
|
1.19.2.1 |
| 28-Aug-2017 |
skrll | Sync with HEAD
|
1.20.6.1 |
| 10-Jun-2019 |
christos | Sync with HEAD
|
1.24.2.1 |
| 03-Apr-2021 |
thorpej | Sync with HEAD.
|
1.26.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
|