[PATCH 00/10] Enhance /dev/mem to allow read/write of arbitrary physical addresses
From: Petr Tesarik <hidden>
Date: 2011-06-27 07:47:34
Also in:
linux-sh, lkml
Am?rico Wang p??e v Po 20. 06. 2011 v 10:42 +0800:
On Fri, Jun 17, 2011 at 5:55 PM, Petr Tesarik [off-list ref] wrote:quoted
Dne P? 17. ?ervna 2011 11:30:32 Ingo Molnar napsal(a):quoted
* Petr Tesarik [off-list ref] wrote:quoted
This patch series enhances /dev/mem, so that read and write is possible at any address. The patchset includes actual implementation for x86.This series lacks a description of why this is desired.Hi Ingo,quoted
My strong opinion is that it's not desired at all: /dev/mem never worked beyond 4G addresses so by today it has become largely obsolete and is on the way out really. I'm aware of these current /dev/mem uses: - Xorg maps below 4G non-RAM addresses and the video BIOS - It used to have some debugging role but these days kexec and kgdb has largely taken over that role - partly due to the 4G limit.It is still used as a "memory source" by Dave Anderson's crash utility for live examination of a running system. Redhat has "overcome" the /dev/mem deficiencies by writing an out-of-tree re-implementation of /dev/mem, which uses /dev/crash instead. As it is an "unnecessary duplication of an existing driver", this method was rejected by the project manager here at SUSE. The suggested alternative was to enhance (or fix) the existing driver. Without this patch series there is no way to access high memory. In conjunction with CONFIG_HIGHPTE, it makes the crash utility near to useless on anything with high memory, because crash can no longer translate virtual to physical addresses.How about /proc/kcore? AFAIK, it can access highmem, but Dave didn't consider it for some reason.
(Sorry for the dealy, I was on vacation.) /proc/kcore is in fact supported by the crash utility and it does work with highmem to some extent. Unfortunately, it cannot handle all of it, because it is ELF32 format, so there's no way to describe regions beyond 4GB. Petr Tesarik