Implement a series of physical page management related functions in
authorhselasky <hselasky@FreeBSD.org>
Mon, 27 Mar 2017 17:04:11 +0000 (17:04 +0000)
committerhselasky <hselasky@FreeBSD.org>
Mon, 27 Mar 2017 17:04:11 +0000 (17:04 +0000)
commite31f6cc67182b622699924ce2b7c3da50249b572
tree2633a195935200865ff8ea2ff813bd780ca00bb9
parent4740c5564ab7a7cd872bee981e40d723eb174fc1
Implement a series of physical page management related functions in
the LinuxKPI for accessing user-space memory in the kernel.

Add functions to hold and wire physical page(s) based on a given range
of user-space virtual addresses.

Add functions to get and put a reference on, wire, hold, mark
accessed, copy and dirty a physical page.

Add new VM related structures and defines as a preparation step for
advancing the memory map capabilities of the LinuxKPI.

Add function to figure out if a virtual address was allocated using
malloc().

Add function to convert a virtual kernel address into its physical
page pointer.

Obtained from: kmacy @
MFC after: 1 week
Sponsored by: Mellanox Technologies
sys/compat/linuxkpi/common/include/asm/pgtable.h
sys/compat/linuxkpi/common/include/linux/mm.h
sys/compat/linuxkpi/common/include/linux/page.h
sys/compat/linuxkpi/common/include/linux/pfn.h [copied from sys/compat/linuxkpi/common/include/asm/pgtable.h with 73% similarity]
sys/compat/linuxkpi/common/include/linux/pfn_t.h [copied from sys/compat/linuxkpi/common/include/asm/pgtable.h with 67% similarity]
sys/compat/linuxkpi/common/include/linux/preempt.h [copied from sys/compat/linuxkpi/common/include/asm/pgtable.h with 82% similarity]
sys/compat/linuxkpi/common/include/linux/types.h
sys/compat/linuxkpi/common/src/linux_page.c