summaryrefslogtreecommitdiffstats
path: root/Documentation/ia64/aliasing-test.c
diff options
context:
space:
mode:
authorBjorn Helgaas <bjorn.helgaas@hp.com>2007-03-30 18:35:43 +0200
committerTony Luck <tony.luck@intel.com>2007-03-30 18:38:25 +0200
commit6d40fc514c9ea886dc18ddd20043a411816b63d1 (patch)
tree023271ce661d3b19bbaece0e84b04f855b9d11b3 /Documentation/ia64/aliasing-test.c
parent[IA64] allow WB /sys/.../legacy_mem mmaps (diff)
downloadlinux-6d40fc514c9ea886dc18ddd20043a411816b63d1.tar.xz
linux-6d40fc514c9ea886dc18ddd20043a411816b63d1.zip
[IA64] fail mmaps that span areas with incompatible attributes
Example memory map (from HP sx1000 with VGA enabled): 0x00000 - 0x9FFFF supports only WB (cacheable) access 0xA0000 - 0xBFFFF supports only UC (uncacheable) access 0xC0000 - 0xFFFFF supports only WB (cacheable) access Some versions of X map the entire 0x00000-0xFFFFF area at once. With the example above, this mmap must fail because there's no memory attribute that's safe for the entire area. Prior to this patch, we performed the mmap with a UC mapping. When X accessed the WB memory at 0xC0000, it caused an MCA. The crash can happen when mapping 0xC0000 from either /dev/mem or a /sys/.../legacy_mem file. Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
Diffstat (limited to 'Documentation/ia64/aliasing-test.c')
0 files changed, 0 insertions, 0 deletions