|
@@ -303,7 +303,6 @@ __ioremap_pfn(unsigned long pfn, unsigned long offset, size_t size,
|
|
int err;
|
|
int err;
|
|
unsigned long addr;
|
|
unsigned long addr;
|
|
struct vm_struct * area;
|
|
struct vm_struct * area;
|
|
- unsigned int cr = get_cr();
|
|
|
|
|
|
|
|
/*
|
|
/*
|
|
* High mappings must be supersection aligned
|
|
* High mappings must be supersection aligned
|
|
@@ -317,7 +316,7 @@ __ioremap_pfn(unsigned long pfn, unsigned long offset, size_t size,
|
|
addr = (unsigned long)area->addr;
|
|
addr = (unsigned long)area->addr;
|
|
|
|
|
|
#ifndef CONFIG_SMP
|
|
#ifndef CONFIG_SMP
|
|
- if ((((cpu_architecture() >= CPU_ARCH_ARMv6) && (cr & CR_XP)) ||
|
|
|
|
|
|
+ if ((((cpu_architecture() >= CPU_ARCH_ARMv6) && (get_cr() & CR_XP)) ||
|
|
cpu_is_xsc3()) &&
|
|
cpu_is_xsc3()) &&
|
|
!((__pfn_to_phys(pfn) | size | addr) & ~SUPERSECTION_MASK)) {
|
|
!((__pfn_to_phys(pfn) | size | addr) & ~SUPERSECTION_MASK)) {
|
|
area->flags |= VM_ARM_SECTION_MAPPING;
|
|
area->flags |= VM_ARM_SECTION_MAPPING;
|