#
e8cbb42e |
| 20-Aug-2022 |
riastradh <riastradh@NetBSD.org> |
x86: Split most of pmap.h into pmap_private.h or vmparam.h.
This way pmap.h only contains the MD definition of the MI pmap(9) API, which loads of things in the kernel rely on, so changing x86 pmap i
x86: Split most of pmap.h into pmap_private.h or vmparam.h.
This way pmap.h only contains the MD definition of the MI pmap(9) API, which loads of things in the kernel rely on, so changing x86 pmap internals no longer requires recompiling the entire kernel every time.
Callers needing these internals must now use machine/pmap_private.h. Note: This is not x86/pmap_private.h because it contains three parts:
1. CPU-specific (different for i386/amd64) definitions used by...
2. common definitions, including Xenisms like xpmap_ptetomach, further used by...
3. more CPU-specific inlines for pmap_pte_* operations
So {amd64,i386}/pmap_private.h defines 1, includes x86/pmap_private.h for 2, and then defines 3. Maybe we should split that out into a new pmap_pte.h to reduce this trouble.
No functional change intended, other than that some .c files must include machine/pmap_private.h when previously uvm/uvm_pmap.h polluted the namespace with pmap internals.
Note: This migrates part of i386/pmap.h into i386/vmparam.h -- specifically the parts that are needed for several constants defined in vmparam.h:
VM_MAXUSER_ADDRESS VM_MAX_ADDRESS VM_MAX_KERNEL_ADDRESS VM_MIN_KERNEL_ADDRESS
Since i386 needs PDP_SIZE in vmparam.h, I added it there on amd64 too, just to keep things parallel.
show more ...
|
#
ccb0544f |
| 26-Nov-2020 |
christos <christos@NetBSD.org> |
make the max text size the same as the max data size
|
#
165abdd5 |
| 06-Oct-2020 |
christos <christos@NetBSD.org> |
GC unused MAXTSIZ32
|
#
cd1891ff |
| 22-Jan-2020 |
ad <ad@NetBSD.org> |
Move the UBC defaults into vmparam.h
|
#
bf5abc14 |
| 11-Feb-2019 |
cherry <cherry@NetBSD.org> |
We reorganise definitions for XEN source support as follows:
XEN - common sources required for baseline XEN support. XENPV - sources required for support of XEN in PV mode. XENPVHVM - sources requir
We reorganise definitions for XEN source support as follows:
XEN - common sources required for baseline XEN support. XENPV - sources required for support of XEN in PV mode. XENPVHVM - sources required for support for XEN in HVM mode. XENPVH - sources required for support for XEN in PVH mode.
show more ...
|
#
58a10d0e |
| 17-Jan-2019 |
maxv <maxv@NetBSD.org> |
Increase VM_PHYSSEG_MAX from 32 to 64. Saw an example on tech-kern@ of a heavily fragmented memory map.
|
#
cae19469 |
| 29-Oct-2018 |
maya <maya@NetBSD.org> |
Make VM_MIN_KERNEL_ADDRESS and others available in the _KMEMUSER case as well. This affects ddb. Tested by htodd.
|
#
ffa45b6a |
| 28-Oct-2018 |
maxv <maxv@NetBSD.org> |
Add #ifdef _KERNEL, vaddr_t does not exist in userland, and we don't want externs anyway.
|
#
c1197dc0 |
| 12-Aug-2018 |
maxv <maxv@NetBSD.org> |
Randomize the main memory on Xen, same as native. Tested on amd64-dom0.
|
#
5c5377bf |
| 12-Aug-2018 |
maxv <maxv@NetBSD.org> |
More ASLR: randomize the kernel main memory. VM_MIN_KERNEL_ADDRESS becomes variable, and its location is chosen at boot time. There is room for improvement, since for now we ask for an alignment of N
More ASLR: randomize the kernel main memory. VM_MIN_KERNEL_ADDRESS becomes variable, and its location is chosen at boot time. There is room for improvement, since for now we ask for an alignment of NBPD_L4.
This is enabled by default in GENERIC, but not in Xen. Tested extensively on GENERIC and GENERIC_KASLR, XEN3_DOM0 still boots fine.
show more ...
|
#
47c9a68b |
| 13-Nov-2017 |
wiz <wiz@NetBSD.org> |
Remove superfluous word in comment. Noted by Geoff Wing.
|
#
877c231d |
| 11-Nov-2017 |
mrg <mrg@NetBSD.org> |
bump PAGER_MAP_DEFAULT_SIZE to 512MB. this should allow more concurrent IOs to be possible, and i'm unable to see pager_map contention any more.
other larger platforms should probably do this too.
bump PAGER_MAP_DEFAULT_SIZE to 512MB. this should allow more concurrent IOs to be possible, and i'm unable to see pager_map contention any more.
other larger platforms should probably do this too.
ok chs@.
show more ...
|
#
114ae9c1 |
| 24-Jun-2017 |
joerg <joerg@NetBSD.org> |
Update VM_DEFAULT_ADDRESS32_TOPDOWN to include guard area.
|
#
3f0d64f4 |
| 23-Jun-2017 |
joerg <joerg@NetBSD.org> |
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 bin
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.
show more ...
|
#
2490c6e6 |
| 17-Jun-2017 |
maxv <maxv@NetBSD.org> |
Increase the kernel heap size from 512GB to 32TB, in such a way that it is able to map the maximum amount of ram supported twice (16TB x 2).
|
#
e048936b |
| 15-Jun-2017 |
maxv <maxv@NetBSD.org> |
Correct these values. They must be consistent with NKL4_MAX_ENTRIES, otherwise the kernel thinks it has ~126TB of va while pmap knows it has only 512GB.
|
#
37da66d6 |
| 11-Feb-2017 |
maxv <maxv@NetBSD.org> |
Remove VM_MAX_KERNEL_BUF (unused). Looks like several other ports could do the same.
|
#
db93f0fa |
| 19-Nov-2016 |
maxv <maxv@NetBSD.org> |
Put a one-page redzone between userland and the PTE space on amd64 and i386.
The PTE space is a critical region that maps the page tree, and bugs have been found in both amd64 and i386 where the ker
Put a one-page redzone between userland and the PTE space on amd64 and i386.
The PTE space is a critical region that maps the page tree, and bugs have been found in both amd64 and i386 where the kernel would wrongly overflow userland data on this area. This kind of bug is terrible, since it allows userland to overwrite some entries of the page tree, which makes it easy to patch the kernel text and get ring0 privileges.
show more ...
|
#
296be229 |
| 07-Aug-2016 |
dholland <dholland@NetBSD.org> |
Remove unused <sys/tree.h>.
|
#
867f26a2 |
| 24-Jul-2014 |
riastradh <riastradh@NetBSD.org> |
Add a FIRST1G page freelist to x86, for old graphics devices.
|
#
87595df5 |
| 12-Jun-2014 |
riastradh <riastradh@NetBSD.org> |
Tweak x86 page freelists and add x86_select_freelist.
- Add 4G freelist to i386 -- there may be higher addresses if PAE. - Add 64G and 1T freelists to amd64. - Simplify freelist setup code and conde
Tweak x86 page freelists and add x86_select_freelist.
- Add 4G freelist to i386 -- there may be higher addresses if PAE. - Add 64G and 1T freelists to amd64. - Simplify freelist setup code and condense it into a table. - Add x86_select_freelist to get a freelist guaranteed to yield addresses no greater than a prescribed maximum address.
x86_select_freelist takes a uint64_t, not a paddr_t or bus_addr_t, so that you can pass in, e.g., a 36-bit maximum address without needing to write conditionals for i386/PAE.
No objections on port-x86:
https://mail-index.netbsd.org/port-i386/2014/05/21/msg003277.html https://mail-index.netbsd.org/port-amd64/2014/05/21/msg002062.html
show more ...
|
#
45cf6629 |
| 25-Jan-2014 |
christos <christos@NetBSD.org> |
delete VM_DEFAULT_ADDRESS; some of those should be GC'ed because they match the default definition.
|
#
d0f2cd09 |
| 25-Jan-2014 |
christos <christos@NetBSD.org> |
provide propert address defaults for topdown and bottomup allocation
|
#
7bd853c3 |
| 13-Nov-2012 |
chs <chs@NetBSD.org> |
bump VM_PHYSSEG_MAX to 32, we've seen a system where 16 wasn't enough.
|
#
163b8356 |
| 15-Aug-2012 |
sborrill <sborrill@NetBSD.org> |
Bump VM_PHYSSEG_MAX to 16 from 10. Modern IBM hardware requires VM_PHYSSEG_MAX to be turned up to 11 to avoid an early panic.
|