History log of /netbsd/sys/arch/amd64/include/vmparam.h (Results 1 – 25 of 55)
Revision Date Author Comments
# 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.


123