Home | History | Annotate | Download | only in include
History log of /src/sys/arch/amd64/include/pte.h
RevisionDateAuthorComments
 1.17  21-Aug-2022  riastradh x86 Move VA_SIGN_POS/NEG to machine/pte.h.

It's used by pl[1-4]_pi, also defined in machine/pte.h, and used in
libkvm without pmap_private.h.
 1.16  20-Aug-2022  riastradh x86: Forbid using x86/pte.h directly; use machine/pte.h.

machine/pte.h already used outside sys/arch, so let's make it the
primary thing and make sure to use x86/pte.h only as a subroutine.
 1.15  20-Aug-2022  riastradh amd64/pte.h, i386/pte.h: Need sys/stdint.h for uintN_t.
 1.14  25-Apr-2020  bouyer Merge the bouyer-xenpvh branch, bringing in Xen PV drivers support under HVM
guests in GENERIC.
Xen support can be disabled at runtime with
boot -c
disable hypervisor
 1.13  25-Apr-2020  maxv Switch to the new PTE naming. The old naming is now unused, remove it.
 1.12  09-Mar-2019  maxv branches: 1.12.10;
Start replacing the x86 PTE bits.
 1.11  07-Mar-2019  maxv Introduce a new set of PTE bits, with a different naming convention.

PG_V -> PTE_P /* Present */
PG_RW -> PTE_W /* Write */
PG_u -> PTE_U /* User */
PG_WT -> PTE_PWT /* Write-Through */
PG_N -> PTE_PCD /* Cache-Disable */
PG_U -> PTE_A /* Accessed */
PG_M -> PTE_D /* Dirty */
PG_PAT -> PTE_PAT /* PAT on 4KB Pages */
PG_PS -> PTE_PS /* Large Page Size */
PG_G -> PTE_G /* Global Translation */
PG_AVAIL1 -> PTE_AVL1 /* Ignored by Hardware */
PG_AVAIL2 -> PTE_AVL2 /* Ignored by Hardware */
PG_AVAIL3 -> PTE_AVL3 /* Ignored by Hardware */
PG_LGPAT -> PTE_LGPAT /* PAT on Large Pages */
PG_NX -> PTE_NX /* No Execute */

Until now we were using "PG_BIT". The "BIT" part of the naming did not
follow the x86 naming convention in the spec, and was very confusing. We
don't want the "PG_" part of it either, because UVM has similar flags
(ie PG_BUSY).
 1.10  07-Mar-2019  maxv Drop PG_RO, PG_KR and PG_PROT, they are useless and create confusion.
 1.9  13-May-2016  maxv branches: 1.9.18;
KNF, so it appears aligned on NXR.
 1.8  24-Jul-2010  njoly branches: 1.8.18; 1.8.36;
Pull i386 pte.h on amd64 for 32bit compat.
 1.7  06-Jul-2010  cegger Turn PMAP_NOCACHE into MI flag.
Add MI flags PMAP_WRITE_COMBINE, PMAP_WRITE_BACK, PMAP_NOCACHE_OVR.
Update pmap(9) manpage.

hppa: Remove MD PMAP_NOCACHE flag as it exists as MI flag
mips: Rename MD PMAP_NOCACHE to PGC_NOCACHE.

x86: Implement new MI flags using Page-Attribute Tables.
x86: Implement BUS_SPACE_MAP_PREFETCHABLE.

Patch presented on tech-kern@:
http://mail-index.netbsd.org/tech-kern/2010/06/30/msg008458.html

No comments on this last version.
 1.6  26-Feb-2010  jym branches: 1.6.2;
Fixes regarding paddr_t/pd_entry_t types in MD x86 code, exposed by PAE:

- NBPD_* macros are set to the types that better match their architecture
(UL for i386 and amd64, ULL for i386 PAE) - will revisit when paddr_t is
set to 64 bits for i386 non-PAE.

- type fixes in printf/printk messages (Use PRIxPADDR when printing paddr_t
values, instead of %lx - paddr_t/pd_entry_t being 64 bits with PAE)

- remove casts that are no more needed now that Xen2 support has been dropped

Some fixes are from jmorse@ patches for PAE.

Compile + tested for i386 GENERIC and XEN3 kernels. Only compile tested for
amd64.

Reviewed by bouyer@.

See also http://mail-index.netbsd.org/tech-kern/2010/02/22/msg007373.html
 1.5  28-Jan-2010  mbalmer branches: 1.5.2;
Fix language.
 1.4  16-Apr-2008  cegger branches: 1.4.4; 1.4.18;
use POSIX integer types
 1.3  11-Dec-2005  christos branches: 1.3.74;
merge ktrace-lwp.
 1.2  19-Feb-2004  drochner use no-execute page permissions if supported
 1.1  26-Apr-2003  fvdl branches: 1.1.2;
Rename the x86_64 port to amd64, as this is the actual name used for
the processor family now. x86_64 is kept as the MACHINE_ARCH value,
since it's already widely used (by e.g. the toolchain, etc), and
by other operating systems.
 1.1.2.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.2.2  18-Sep-2004  skrll Sync with HEAD.
 1.1.2.1  03-Aug-2004  skrll Sync with HEAD
 1.3.74.1  02-Jun-2008  mjf Sync with HEAD.
 1.4.18.1  24-Oct-2010  jym Sync with HEAD
 1.4.4.2  11-Aug-2010  yamt sync with head.
 1.4.4.1  11-Mar-2010  yamt sync with head
 1.5.2.2  17-Aug-2010  uebayasi Sync with HEAD.
 1.5.2.1  30-Apr-2010  uebayasi Sync with HEAD.
 1.6.2.1  05-Mar-2011  rmind sync with head
 1.8.36.1  29-May-2016  skrll Sync with HEAD
 1.8.18.1  03-Dec-2017  jdolecek update from HEAD
 1.9.18.1  10-Jun-2019  christos Sync with HEAD
 1.12.10.1  25-Apr-2020  bouyer Sync with bouyer-xenpvh-base2 (HEAD)

RSS XML Feed