From 878d353c3dfd9c6a2bf5ca127a9ccebdb6fb8b63 Mon Sep 17 00:00:00 2001 From: Liav A Date: Sat, 30 Jan 2021 09:40:12 +0200 Subject: [PATCH] Documentation: Add a manual page about the new MemoryDevice file --- Base/usr/share/man/man4/mem.md | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 Base/usr/share/man/man4/mem.md diff --git a/Base/usr/share/man/man4/mem.md b/Base/usr/share/man/man4/mem.md new file mode 100644 index 0000000000..41e637b87c --- /dev/null +++ b/Base/usr/share/man/man4/mem.md @@ -0,0 +1,31 @@ +## Name + +mem - physical system memory + +## Description + +`/dev/mem` is a character device file that is used by other programs to examine +the physical memory. + +Trying to [`mmap`(2)](../mmap.md) a physical range results either with success, +or with an error. When invoking [`mmap`(2)](../mmap.md) on bad memory range, +the kernel will write a message about it to the kernel log. + +By default, the kernel limits the areas which can be accessed. The allowed areas +are the reserved ranges in physical memory, essentially limiting the access to +ROMs and memory-mapped PCI regions on x86. + +To create it manually: +```sh +mknod /dev/mem c 1 1 +chmod 660 /dev/mem +``` + +## Returned error values after [`mmap`(2)](../mmap.md) + +* `EINVAL`: An access violation was detected. +* `ENOMEM`: The requested range would wrap around, creating an access violation. + +## See also + +* [`mmap`(2)](../mmap.md)