linux/arch/ia64/mm
Bjorn Helgaas 32e62c636a [IA64] rework memory attribute aliasing
This closes a couple holes in our attribute aliasing avoidance scheme:

  - The current kernel fails mmaps of some /dev/mem MMIO regions because
    they don't appear in the EFI memory map.  This keeps X from working
    on the Intel Tiger box.

  - The current kernel allows UC mmap of the 0-1MB region of
    /sys/.../legacy_mem even when the chipset doesn't support UC
    access.  This causes an MCA when starting X on HP rx7620 and rx8620
    boxes in the default configuration.

There's more detail in the Documentation/ia64/aliasing.txt file this
adds, but the general idea is that if a region might be covered by
a granule-sized kernel identity mapping, any access via /dev/mem or
mmap must use the same attribute as the identity mapping.

Otherwise, we fall back to using an attribute that is supported
according to the EFI memory map, or to using UC if the EFI memory
map doesn't mention the region.

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
2006-05-08 16:32:05 -07:00
..
contig.c [IA64] add init declaration to memory initialization functions 2006-03-22 16:54:15 -08:00
discontig.c [IA64] Make show_mem() skip holes in a pgdat 2006-04-13 15:34:45 -07:00
extable.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
fault.c [IA64] Prefetch mmap_sem in ia64_do_page_fault() 2006-04-07 23:08:16 -07:00
hugetlbpage.c [IA64] fix ia64 is_hugepage_only_range 2006-03-22 14:35:08 -08:00
init.c Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 2006-03-30 12:38:18 -08:00
ioremap.c [IA64] rework memory attribute aliasing 2006-05-08 16:32:05 -07:00
Makefile [PATCH] ia64: ioremap: check EFI for valid memory attributes 2006-03-26 08:56:54 -08:00
numa.c [PATCH] V5 ia64 SPARSEMEM - SPARSEMEM code changes 2005-10-04 13:21:38 -07:00
tlb.c [IA64] optimize flush_tlb_range on large numa box 2006-03-27 10:20:03 -08:00