• Lianbo Jiang's avatar
    x86/mm: Rework ioremap resource mapping determination · 5da04cc8
    Lianbo Jiang authored
    On ioremap(), __ioremap_check_mem() does a couple of checks on the
    supplied memory range to determine how the range should be mapped and in
    particular what protection flags should be used.
    
    Generalize the procedure by introducing IORES_MAP_* flags which control
    different aspects of the ioremapping and use them in the respective
    helpers which determine which descriptor flags should be set per range.
    
     [ bp:
       - Rewrite commit message.
       - Add/improve comments.
       - Reflow __ioremap_caller()'s args.
       - s/__ioremap_check_desc/__ioremap_check_encrypted/g;
       - s/__ioremap_res_check/__ioremap_collect_map_flags/g;
       - clarify __ioremap_check_ram()'s purpose. ]
    Signed-off-by: default avatarLianbo Jiang <lijiang@redhat.com>
    Co-developed-by: default avatarBorislav Petkov <bp@suse.de>
    Signed-off-by: default avatarBorislav Petkov <bp@suse.de>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Cc: Andy Lutomirski <luto@kernel.org>
    Cc: bhe@redhat.com
    Cc: Dave Hansen <dave.hansen@linux.intel.com>
    Cc: dyoung@redhat.com
    Cc: "H. Peter Anvin" <hpa@zytor.com>
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: kexec@lists.infradead.org
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Tom Lendacky <thomas.lendacky@amd.com>
    Cc: x86-ml <x86@kernel.org>
    Link: https://lkml.kernel.org/r/20190423013007.17838-3-lijiang@redhat.com
    5da04cc8
ioremap.c 22.7 KB