.\" in kernel commit fa28237cfcc5827553044cbd6ee52e33692b0faa
.\" both written by Paul Mackerras <paulus@samba.org>
.\"
-.TH SUBPAGE_PROT 2 2012-07-13 "Linux" "Linux Programmer's Manual"
+.TH SUBPAGE_PROT 2 2019-03-06 "Linux" "Linux Programmer's Manual"
.SH NAME
subpage_prot \- define a subpage protection for an address range
.SH SYNOPSIS
.BI "long subpage_prot(unsigned long " addr ", unsigned long " len ,
.BI " uint32_t *" map ");
.fi
-
+.PP
.IR Note :
There is no glibc wrapper for this system call; see NOTES.
.SH DESCRIPTION
The PowerPC-specific
.BR subpage_prot ()
system call provides the facility to control the access
-permissions on individual 4kB subpages on systems configured with
-a page size of 64kB.
-
+permissions on individual 4\ kB subpages on systems configured with
+a page size of 64\ kB.
+.PP
The protection map is applied to the memory pages in the region starting at
.I addr
and continuing for
.I len
bytes.
Both of these arguments must be aligned to a 64-kB boundary.
-
+.PP
The protection map is specified in the buffer pointed to by
.IR map .
-The map has 2 bits per 4kB subpage;
-thus each 32-bit word specifies the protections of 16 4kB subpages
-inside a 64kB page
+The map has 2 bits per 4\ kB subpage;
+thus each 32-bit word specifies the protections of 16 4\ kB subpages
+inside a 64\ kB page
(so, the number of 32-bit words pointed to by
.I map
should equate to the number of 64-kB pages specified by
.SH NOTES
Glibc does not provide a wrapper for this system call; call it using
.BR syscall (2).
-
+.PP
Normal page protections (at the 64-kB page level) also apply;
the subpage protection mechanism is an additional constraint,
so putting 0 in a 2-bit field won't allow writes to a page that is otherwise
protected are switched to use 4-kB hardware pages rather than 64-kB
hardware pages (on machines with hardware 64-kB page support).
.\" In the initial implementation, it was the case that:
-.\" In fact the whole process is switched to use 4k hardware pages when the
+.\" In fact the whole process is switched to use 4 kB hardware pages when the
.\" subpage_prot system call is used, but this could be improved in future
.\" to switch only the affected segments.
.\" But Paul Mackerass says (Oct 2010): I'm pretty sure we now only switch
.SH SEE ALSO
.BR mprotect (2),
.BR syscall (2)
-
-.IR Documentation/vm/hugetlbpage.txt
+.PP
+.IR Documentation/admin-guide/mm/hugetlbpage.rst
in the Linux kernel source tree