mirror of
https://github.com/ukui/kernel.git
synced 2026-03-09 10:07:04 -07:00
Merge tag 'xtensa-next-20141215' of git://github.com/czankel/xtensa-linux
Pull Xtensa fixes from Chris Zankel: - fix nommu support - remove s6000 variant and s6105 platform - fix permissions for kmapped pages so that copy_to_user_page works with them - add power management menu to Kconfig to allow use of runtime PM - disable linker optimizations because of a linker bug - fix sparse error * tag 'xtensa-next-20141215' of git://github.com/czankel/xtensa-linux: xtensa: disable link optimization xtensa/uaccess: fix sparse errors xtensa: fix kmap_prot definition xtensa: add power management menu to Kconfig xtensa: remove s6000 variant and s6105 platform xtensa: make PLATFORM_DEFAULT_MEM parameters configurable xtensa: nommu: clean up memory map dump xtensa: nommu: reserve memory below PLATFORM_DEFAULT_MEM_START xtensa: nommu: set up cache and atomctl in initialize_mmu xtensa: move vecbase SR initialization to _startup xtensa: nommu: fix uImage load address xtensa: nommu: fix load address definitions xtensa: nommu: fix Image.elf reset code and ld script xtensa: nommu: add MMU dependency to DEBUG_TLB_SANITY xtensa: nommu: don't build most of the cache flushing code xtensa: nommu: don't provide arch_get_unmapped_area xtensa: nommu: provide MAP_UNINITIALIZED definition xtensa: nommu: provide _PAGE_CHG_MASK definition xtensa: nommu: provide __invalidate_dcache_page_alias stub xtensa: nommu: move init_mmu stub to nommu_context.h
This commit is contained in:
@@ -98,12 +98,6 @@ config XTENSA_VARIANT_DC233C
|
||||
help
|
||||
This variant refers to Tensilica's Diamond 233L Standard core Rev.C (LE).
|
||||
|
||||
config XTENSA_VARIANT_S6000
|
||||
bool "s6000 - Stretch software configurable processor"
|
||||
select VARIANT_IRQ_SWITCH
|
||||
select ARCH_REQUIRE_GPIOLIB
|
||||
select XTENSA_CALIBRATE_CCOUNT
|
||||
|
||||
config XTENSA_VARIANT_CUSTOM
|
||||
bool "Custom Xtensa processor configuration"
|
||||
select MAY_HAVE_SMP
|
||||
@@ -126,7 +120,6 @@ config XTENSA_VARIANT_NAME
|
||||
default "dc232b" if XTENSA_VARIANT_DC232B
|
||||
default "dc233c" if XTENSA_VARIANT_DC233C
|
||||
default "fsf" if XTENSA_VARIANT_FSF
|
||||
default "s6000" if XTENSA_VARIANT_S6000
|
||||
default XTENSA_VARIANT_CUSTOM_NAME if XTENSA_VARIANT_CUSTOM
|
||||
|
||||
config XTENSA_VARIANT_MMU
|
||||
@@ -191,7 +184,6 @@ config HOTPLUG_CPU
|
||||
|
||||
config INITIALIZE_XTENSA_MMU_INSIDE_VMLINUX
|
||||
bool "Initialize Xtensa MMU inside the Linux kernel code"
|
||||
depends on MMU
|
||||
default y
|
||||
help
|
||||
Earlier version initialized the MMU in the exception vector
|
||||
@@ -311,15 +303,10 @@ config XTENSA_PLATFORM_XT2000
|
||||
XT2000 is the name of Tensilica's feature-rich emulation platform.
|
||||
This hardware is capable of running a full Linux distribution.
|
||||
|
||||
config XTENSA_PLATFORM_S6105
|
||||
bool "S6105"
|
||||
select HAVE_IDE
|
||||
select SERIAL_CONSOLE
|
||||
select NO_IOPORT_MAP
|
||||
|
||||
config XTENSA_PLATFORM_XTFPGA
|
||||
bool "XTFPGA"
|
||||
select ETHOC if ETHERNET
|
||||
select PLATFORM_WANT_DEFAULT_MEM
|
||||
select SERIAL_CONSOLE
|
||||
select XTENSA_CALIBRATE_CCOUNT
|
||||
help
|
||||
@@ -406,6 +393,41 @@ source "drivers/pcmcia/Kconfig"
|
||||
|
||||
source "drivers/pci/hotplug/Kconfig"
|
||||
|
||||
config PLATFORM_WANT_DEFAULT_MEM
|
||||
def_bool n
|
||||
|
||||
config DEFAULT_MEM_START
|
||||
hex "Physical address of the default memory area start"
|
||||
depends on PLATFORM_WANT_DEFAULT_MEM
|
||||
default 0x00000000 if MMU
|
||||
default 0x40000000 if !MMU
|
||||
help
|
||||
This is a fallback start address of the default memory area, it is
|
||||
used when no physical memory size is passed through DTB or through
|
||||
boot parameter from bootloader.
|
||||
|
||||
In noMMU configuration the following parameters are derived from it:
|
||||
- kernel load address;
|
||||
- kernel entry point address;
|
||||
- relocatable vectors base address;
|
||||
- uBoot load address;
|
||||
- TASK_SIZE.
|
||||
|
||||
If unsure, leave the default value here.
|
||||
|
||||
config DEFAULT_MEM_SIZE
|
||||
hex "Maximal size of the default memory area"
|
||||
depends on PLATFORM_WANT_DEFAULT_MEM
|
||||
default 0x04000000
|
||||
help
|
||||
This is a fallback size of the default memory area, it is used when
|
||||
no physical memory size is passed through DTB or through boot
|
||||
parameter from bootloader.
|
||||
|
||||
It's also used for TASK_SIZE calculation in noMMU configuration.
|
||||
|
||||
If unsure, leave the default value here.
|
||||
|
||||
endmenu
|
||||
|
||||
menu "Executable file formats"
|
||||
@@ -414,6 +436,12 @@ source "fs/Kconfig.binfmt"
|
||||
|
||||
endmenu
|
||||
|
||||
menu "Power management options"
|
||||
|
||||
source "kernel/power/Kconfig"
|
||||
|
||||
endmenu
|
||||
|
||||
source "net/Kconfig"
|
||||
|
||||
source "drivers/Kconfig"
|
||||
|
||||
@@ -4,7 +4,7 @@ source "lib/Kconfig.debug"
|
||||
|
||||
config DEBUG_TLB_SANITY
|
||||
bool "Debug TLB sanity"
|
||||
depends on DEBUG_KERNEL
|
||||
depends on DEBUG_KERNEL && MMU
|
||||
help
|
||||
Enable this to turn on TLB sanity check on each entry to userspace.
|
||||
This check can spot missing TLB invalidation/wrong PTE permissions/
|
||||
@@ -14,7 +14,7 @@ config DEBUG_TLB_SANITY
|
||||
|
||||
config LD_NO_RELAX
|
||||
bool "Disable linker relaxation"
|
||||
default n
|
||||
default y
|
||||
help
|
||||
Enable this function to disable link-time optimizations.
|
||||
The default linker behavior is to combine identical literal
|
||||
|
||||
@@ -35,7 +35,6 @@ endif
|
||||
|
||||
platform-$(CONFIG_XTENSA_PLATFORM_XT2000) := xt2000
|
||||
platform-$(CONFIG_XTENSA_PLATFORM_ISS) := iss
|
||||
platform-$(CONFIG_XTENSA_PLATFORM_S6105) := s6105
|
||||
platform-$(CONFIG_XTENSA_PLATFORM_XTFPGA) := xtfpga
|
||||
|
||||
PLATFORM = $(platform-y)
|
||||
|
||||
@@ -41,6 +41,7 @@ SECTIONS
|
||||
__bss_end = .;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_MMU
|
||||
/*
|
||||
* This is a remapped copy of the Reset Vector Code.
|
||||
* It keeps gdb in sync with the PC after switching
|
||||
@@ -51,4 +52,5 @@ SECTIONS
|
||||
{
|
||||
*(.ResetVector.remapped_text)
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
#include <asm/page.h>
|
||||
#include <asm/cacheasm.h>
|
||||
#include <asm/initialize_mmu.h>
|
||||
#include <asm/vectors.h>
|
||||
#include <linux/linkage.h>
|
||||
|
||||
.section .ResetVector.text, "ax"
|
||||
@@ -34,12 +35,7 @@ _ResetVector:
|
||||
|
||||
.align 4
|
||||
RomInitAddr:
|
||||
#if defined(CONFIG_INITIALIZE_XTENSA_MMU_INSIDE_VMLINUX) && \
|
||||
XCHAL_HAVE_PTP_MMU && XCHAL_HAVE_SPANNING_WAY
|
||||
.word 0x00003000
|
||||
#else
|
||||
.word 0xd0003000
|
||||
#endif
|
||||
.word LOAD_MEMORY_ADDRESS
|
||||
RomBootParam:
|
||||
.word _bootparam
|
||||
_bootparam:
|
||||
@@ -79,6 +75,7 @@ reset:
|
||||
movi a4, 0
|
||||
jx a0
|
||||
|
||||
#ifdef CONFIG_MMU
|
||||
.align 4
|
||||
|
||||
.section .ResetVector.remapped_text, "x"
|
||||
@@ -102,3 +99,4 @@ _RemappedSetupMMU:
|
||||
#endif
|
||||
|
||||
.end no-absolute-literals
|
||||
#endif
|
||||
|
||||
@@ -4,11 +4,15 @@
|
||||
# for more details.
|
||||
#
|
||||
|
||||
ifdef CONFIG_MMU
|
||||
ifdef CONFIG_INITIALIZE_XTENSA_MMU_INSIDE_VMLINUX
|
||||
UIMAGE_LOADADDR = 0x00003000
|
||||
else
|
||||
UIMAGE_LOADADDR = 0xd0003000
|
||||
endif
|
||||
else
|
||||
UIMAGE_LOADADDR = $(shell printf "0x%x" $$(( ${CONFIG_DEFAULT_MEM_START} + 0x3000 )) )
|
||||
endif
|
||||
UIMAGE_COMPRESSION = gzip
|
||||
|
||||
$(obj)/../uImage: vmlinux.bin.gz FORCE
|
||||
|
||||
@@ -143,7 +143,6 @@ CONFIG_MMU=y
|
||||
#
|
||||
CONFIG_XTENSA_VARIANT_FSF=y
|
||||
# CONFIG_XTENSA_VARIANT_DC232B is not set
|
||||
# CONFIG_XTENSA_VARIANT_S6000 is not set
|
||||
# CONFIG_XTENSA_UNALIGNED_USER is not set
|
||||
# CONFIG_PREEMPT is not set
|
||||
CONFIG_XTENSA_CALIBRATE_CCOUNT=y
|
||||
@@ -161,7 +160,6 @@ CONFIG_XTENSA_ISS_NETWORK=y
|
||||
#
|
||||
CONFIG_XTENSA_PLATFORM_ISS=y
|
||||
# CONFIG_XTENSA_PLATFORM_XT2000 is not set
|
||||
# CONFIG_XTENSA_PLATFORM_S6105 is not set
|
||||
# CONFIG_GENERIC_CALIBRATE_DELAY is not set
|
||||
CONFIG_CMDLINE_BOOL=y
|
||||
CONFIG_CMDLINE="console=ttyS0,38400 eth0=tuntap,,tap0 ip=192.168.168.5:192.168.168.1 root=nfs nfsroot=192.168.168.1:/opt/montavista/pro/devkit/xtensa/linux_be/target"
|
||||
@@ -759,3 +757,4 @@ CONFIG_GENERIC_FIND_LAST_BIT=y
|
||||
CONFIG_HAS_IOMEM=y
|
||||
CONFIG_HAS_DMA=y
|
||||
CONFIG_NLATTR=y
|
||||
CONFIG_LD_NO_RELAX=y
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -67,6 +67,8 @@ extern void __invalidate_dcache_page_alias(unsigned long, unsigned long);
|
||||
#else
|
||||
static inline void __flush_invalidate_dcache_page_alias(unsigned long virt,
|
||||
unsigned long phys) { }
|
||||
static inline void __invalidate_dcache_page_alias(unsigned long virt,
|
||||
unsigned long phys) { }
|
||||
#endif
|
||||
#if defined(CONFIG_MMU) && (ICACHE_WAY_SIZE > PAGE_SIZE)
|
||||
extern void __invalidate_icache_page_alias(unsigned long, unsigned long);
|
||||
@@ -84,7 +86,8 @@ static inline void __invalidate_icache_page_alias(unsigned long virt,
|
||||
* (see also Documentation/cachetlb.txt)
|
||||
*/
|
||||
|
||||
#if (DCACHE_WAY_SIZE > PAGE_SIZE) || defined(CONFIG_SMP)
|
||||
#if defined(CONFIG_MMU) && \
|
||||
((DCACHE_WAY_SIZE > PAGE_SIZE) || defined(CONFIG_SMP))
|
||||
|
||||
#ifdef CONFIG_SMP
|
||||
void flush_cache_all(void);
|
||||
@@ -150,7 +153,7 @@ void local_flush_cache_page(struct vm_area_struct *vma,
|
||||
#define flush_dcache_mmap_lock(mapping) do { } while (0)
|
||||
#define flush_dcache_mmap_unlock(mapping) do { } while (0)
|
||||
|
||||
#if (DCACHE_WAY_SIZE > PAGE_SIZE)
|
||||
#if defined(CONFIG_MMU) && (DCACHE_WAY_SIZE > PAGE_SIZE)
|
||||
|
||||
extern void copy_to_user_page(struct vm_area_struct*, struct page*,
|
||||
unsigned long, void*, const void*, unsigned long);
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
#define PKMAP_NR(virt) (((virt) - PKMAP_BASE) >> PAGE_SHIFT)
|
||||
#define PKMAP_ADDR(nr) (PKMAP_BASE + ((nr) << PAGE_SHIFT))
|
||||
|
||||
#define kmap_prot PAGE_KERNEL
|
||||
#define kmap_prot PAGE_KERNEL_EXEC
|
||||
|
||||
#if DCACHE_WAY_SIZE > PAGE_SIZE
|
||||
#define get_pkmap_color get_pkmap_color
|
||||
|
||||
@@ -26,8 +26,16 @@
|
||||
#include <asm/pgtable.h>
|
||||
#include <asm/vectors.h>
|
||||
|
||||
#if XCHAL_HAVE_PTP_MMU
|
||||
#define CA_BYPASS (_PAGE_CA_BYPASS | _PAGE_HW_WRITE | _PAGE_HW_EXEC)
|
||||
#define CA_WRITEBACK (_PAGE_CA_WB | _PAGE_HW_WRITE | _PAGE_HW_EXEC)
|
||||
#else
|
||||
#define CA_WRITEBACK (0x4)
|
||||
#endif
|
||||
|
||||
#ifndef XCHAL_SPANNING_WAY
|
||||
#define XCHAL_SPANNING_WAY 0
|
||||
#endif
|
||||
|
||||
#ifdef __ASSEMBLY__
|
||||
|
||||
@@ -75,7 +83,7 @@
|
||||
|
||||
/* Step 1: invalidate mapping at 0x40000000..0x5FFFFFFF. */
|
||||
|
||||
movi a2, 0x40000006
|
||||
movi a2, 0x40000000 | XCHAL_SPANNING_WAY
|
||||
idtlb a2
|
||||
iitlb a2
|
||||
isync
|
||||
@@ -141,9 +149,6 @@
|
||||
jx a4
|
||||
|
||||
1:
|
||||
movi a2, VECBASE_RESET_VADDR
|
||||
wsr a2, vecbase
|
||||
|
||||
/* Step 5: remove temporary mapping. */
|
||||
idtlb a7
|
||||
iitlb a7
|
||||
@@ -156,6 +161,33 @@
|
||||
#endif /* defined(CONFIG_MMU) && XCHAL_HAVE_PTP_MMU &&
|
||||
XCHAL_HAVE_SPANNING_WAY */
|
||||
|
||||
#if !defined(CONFIG_MMU) && XCHAL_HAVE_TLBS
|
||||
/* Enable data and instruction cache in the DEFAULT_MEMORY region
|
||||
* if the processor has DTLB and ITLB.
|
||||
*/
|
||||
|
||||
movi a5, PLATFORM_DEFAULT_MEM_START | XCHAL_SPANNING_WAY
|
||||
movi a6, ~_PAGE_ATTRIB_MASK
|
||||
movi a7, CA_WRITEBACK
|
||||
movi a8, 0x20000000
|
||||
movi a9, PLATFORM_DEFAULT_MEM_SIZE
|
||||
j 2f
|
||||
1:
|
||||
sub a9, a9, a8
|
||||
2:
|
||||
rdtlb1 a3, a5
|
||||
ritlb1 a4, a5
|
||||
and a3, a3, a6
|
||||
and a4, a4, a6
|
||||
or a3, a3, a7
|
||||
or a4, a4, a7
|
||||
wdtlb a3, a5
|
||||
witlb a4, a5
|
||||
add a5, a5, a8
|
||||
bltu a8, a9, 1b
|
||||
|
||||
#endif
|
||||
|
||||
.endm
|
||||
|
||||
#endif /*__ASSEMBLY__*/
|
||||
|
||||
@@ -50,11 +50,7 @@ DECLARE_PER_CPU(unsigned long, asid_cache);
|
||||
#define ASID_MASK ((1 << XCHAL_MMU_ASID_BITS) - 1)
|
||||
#define ASID_INSERT(x) (0x03020001 | (((x) & ASID_MASK) << 8))
|
||||
|
||||
#ifdef CONFIG_MMU
|
||||
void init_mmu(void);
|
||||
#else
|
||||
static inline void init_mmu(void) { }
|
||||
#endif
|
||||
|
||||
static inline void set_rasid_register (unsigned long val)
|
||||
{
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
static inline void init_mmu(void)
|
||||
{
|
||||
}
|
||||
|
||||
static inline void enter_lazy_tlb(struct mm_struct *mm, struct task_struct *tsk)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -20,10 +20,10 @@
|
||||
* Fixed TLB translations in the processor.
|
||||
*/
|
||||
|
||||
#define XCHAL_KSEG_CACHED_VADDR 0xd0000000
|
||||
#define XCHAL_KSEG_BYPASS_VADDR 0xd8000000
|
||||
#define XCHAL_KSEG_PADDR 0x00000000
|
||||
#define XCHAL_KSEG_SIZE 0x08000000
|
||||
#define XCHAL_KSEG_CACHED_VADDR __XTENSA_UL_CONST(0xd0000000)
|
||||
#define XCHAL_KSEG_BYPASS_VADDR __XTENSA_UL_CONST(0xd8000000)
|
||||
#define XCHAL_KSEG_PADDR __XTENSA_UL_CONST(0x00000000)
|
||||
#define XCHAL_KSEG_SIZE __XTENSA_UL_CONST(0x08000000)
|
||||
|
||||
/*
|
||||
* PAGE_SHIFT determines the page size
|
||||
@@ -37,7 +37,7 @@
|
||||
#define PAGE_OFFSET XCHAL_KSEG_CACHED_VADDR
|
||||
#define MAX_MEM_PFN XCHAL_KSEG_SIZE
|
||||
#else
|
||||
#define PAGE_OFFSET 0
|
||||
#define PAGE_OFFSET __XTENSA_UL_CONST(0)
|
||||
#define MAX_MEM_PFN (PLATFORM_DEFAULT_MEM_START + PLATFORM_DEFAULT_MEM_SIZE)
|
||||
#endif
|
||||
|
||||
@@ -145,7 +145,7 @@ extern void copy_page(void *to, void *from);
|
||||
* some extra work
|
||||
*/
|
||||
|
||||
#if DCACHE_WAY_SIZE > PAGE_SIZE
|
||||
#if defined(CONFIG_MMU) && DCACHE_WAY_SIZE > PAGE_SIZE
|
||||
extern void clear_page_alias(void *vaddr, unsigned long paddr);
|
||||
extern void copy_page_alias(void *to, void *from,
|
||||
unsigned long to_paddr, unsigned long from_paddr);
|
||||
|
||||
@@ -178,6 +178,7 @@
|
||||
|
||||
#else /* no mmu */
|
||||
|
||||
# define _PAGE_CHG_MASK (PAGE_MASK | _PAGE_ACCESSED | _PAGE_DIRTY)
|
||||
# define PAGE_NONE __pgprot(0)
|
||||
# define PAGE_SHARED __pgprot(0)
|
||||
# define PAGE_COPY __pgprot(0)
|
||||
|
||||
@@ -320,7 +320,7 @@ __asm__ __volatile__( \
|
||||
({ \
|
||||
long __gu_err, __gu_val; \
|
||||
__get_user_size(__gu_val,(ptr),(size),__gu_err); \
|
||||
(x) = (__typeof__(*(ptr)))__gu_val; \
|
||||
(x) = (__force __typeof__(*(ptr)))__gu_val; \
|
||||
__gu_err; \
|
||||
})
|
||||
|
||||
@@ -330,7 +330,7 @@ __asm__ __volatile__( \
|
||||
const __typeof__(*(ptr)) *__gu_addr = (ptr); \
|
||||
if (access_ok(VERIFY_READ,__gu_addr,size)) \
|
||||
__get_user_size(__gu_val,__gu_addr,(size),__gu_err); \
|
||||
(x) = (__typeof__(*(ptr)))__gu_val; \
|
||||
(x) = (__force __typeof__(*(ptr)))__gu_val; \
|
||||
__gu_err; \
|
||||
})
|
||||
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
#define _XTENSA_VECTORS_H
|
||||
|
||||
#include <variant/core.h>
|
||||
#include <platform/hardware.h>
|
||||
|
||||
#define XCHAL_KIO_CACHED_VADDR 0xe0000000
|
||||
#define XCHAL_KIO_BYPASS_VADDR 0xf0000000
|
||||
@@ -51,13 +52,13 @@
|
||||
/* MMU Not being used - Virtual == Physical */
|
||||
|
||||
/* VECBASE */
|
||||
#define VIRTUAL_MEMORY_ADDRESS 0x00002000
|
||||
#define VIRTUAL_MEMORY_ADDRESS (PLATFORM_DEFAULT_MEM_START + 0x2000)
|
||||
|
||||
/* Location of the start of the kernel text, _start */
|
||||
#define KERNELOFFSET 0x00003000
|
||||
#define KERNELOFFSET (PLATFORM_DEFAULT_MEM_START + 0x3000)
|
||||
|
||||
/* Loaded just above possibly live vectors */
|
||||
#define LOAD_MEMORY_ADDRESS 0x00003000
|
||||
#define LOAD_MEMORY_ADDRESS (PLATFORM_DEFAULT_MEM_START + 0x3000)
|
||||
|
||||
#endif /* CONFIG_MMU */
|
||||
|
||||
|
||||
@@ -55,6 +55,12 @@
|
||||
#define MAP_NONBLOCK 0x20000 /* do not block on IO */
|
||||
#define MAP_STACK 0x40000 /* give out an address that is best suited for process/thread stacks */
|
||||
#define MAP_HUGETLB 0x80000 /* create a huge page mapping */
|
||||
#ifdef CONFIG_MMAP_ALLOW_UNINITIALIZED
|
||||
# define MAP_UNINITIALIZED 0x4000000 /* For anonymous mmap, memory could be
|
||||
* uninitialized */
|
||||
#else
|
||||
# define MAP_UNINITIALIZED 0x0 /* Don't support this flag */
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Flags for msync
|
||||
|
||||
@@ -112,6 +112,11 @@ ENTRY(_startup)
|
||||
|
||||
movi a0, 0
|
||||
|
||||
#if XCHAL_HAVE_VECBASE
|
||||
movi a2, VECBASE_RESET_VADDR
|
||||
wsr a2, vecbase
|
||||
#endif
|
||||
|
||||
/* Clear debugging registers. */
|
||||
|
||||
#if XCHAL_HAVE_DEBUG
|
||||
|
||||
@@ -57,6 +57,7 @@ asmlinkage long xtensa_fadvise64_64(int fd, int advice,
|
||||
return sys_fadvise64_64(fd, offset, len, advice);
|
||||
}
|
||||
|
||||
#ifdef CONFIG_MMU
|
||||
unsigned long arch_get_unmapped_area(struct file *filp, unsigned long addr,
|
||||
unsigned long len, unsigned long pgoff, unsigned long flags)
|
||||
{
|
||||
@@ -93,3 +94,4 @@ unsigned long arch_get_unmapped_area(struct file *filp, unsigned long addr,
|
||||
addr = COLOUR_ALIGN(addr, pgoff);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user