diff options
author | Linus Torvalds <torvalds@woody.osdl.org> | 2006-12-13 18:58:32 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.osdl.org> | 2006-12-13 18:58:32 -0500 |
commit | e05135d1550e73f722ae92909f9c9f44b305e9e2 (patch) | |
tree | 2348efab16091746012672c65b8b5140792a2da1 /arch/arm/kernel | |
parent | 8eefb2b7ad6195f4324629f35be0b9443cd8ee96 (diff) | |
parent | e9ccb79927225d8cd8d022a7c09bfb2fad935b89 (diff) |
Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm
* 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm:
[ARM] 4017/1: [Jornada7xx] - Updating Jornada720.c
[ARM] 3992/1: i.MX/MX1 CPU Frequency scaling support
[ARM] Provide a method to alter the control register
[ARM] 4016/1: prefetch macro is wrong wrt gcc's "delete-null-pointer-checks"
[ARM] Remove empty fixup function
[ARM] 4014/1: include drivers/hid/Kconfig
[ARM] 4013/1: clocksource driver for netx
[ARM] 4012/1: Clocksource for pxa
[ARM] Clean up ioremap code
[ARM] Unuse another Linux PTE bit
[ARM] Clean up KERNEL_RAM_ADDR
[ARM] Add sys_*at syscalls
[ARM] 4004/1: S3C24XX: UDC remove implict addition of VA to regs
[ARM] Formalise the ARMv6 processor name string
[ARM] Handle HWCAP_VFP in VFP support code
[ARM] 4011/1: AT91SAM9260: Fix compilation with NAND driver
[ARM] 4010/1: AT91SAM9260-EK board: Prepare for MACB Ethernet support
Diffstat (limited to 'arch/arm/kernel')
-rw-r--r-- | arch/arm/kernel/calls.S | 13 | ||||
-rw-r--r-- | arch/arm/kernel/head.S | 19 | ||||
-rw-r--r-- | arch/arm/kernel/setup.c | 3 |
3 files changed, 23 insertions, 12 deletions
diff --git a/arch/arm/kernel/calls.S b/arch/arm/kernel/calls.S index 3173924a9b60..e8f74363328c 100644 --- a/arch/arm/kernel/calls.S +++ b/arch/arm/kernel/calls.S | |||
@@ -331,6 +331,19 @@ | |||
331 | CALL(sys_mbind) | 331 | CALL(sys_mbind) |
332 | /* 320 */ CALL(sys_get_mempolicy) | 332 | /* 320 */ CALL(sys_get_mempolicy) |
333 | CALL(sys_set_mempolicy) | 333 | CALL(sys_set_mempolicy) |
334 | CALL(sys_openat) | ||
335 | CALL(sys_mkdirat) | ||
336 | CALL(sys_mknodat) | ||
337 | /* 325 */ CALL(sys_fchownat) | ||
338 | CALL(sys_futimesat) | ||
339 | CALL(sys_fstatat64) | ||
340 | CALL(sys_unlinkat) | ||
341 | CALL(sys_renameat) | ||
342 | /* 330 */ CALL(sys_linkat) | ||
343 | CALL(sys_symlinkat) | ||
344 | CALL(sys_readlinkat) | ||
345 | CALL(sys_fchmodat) | ||
346 | CALL(sys_faccessat) | ||
334 | #ifndef syscalls_counted | 347 | #ifndef syscalls_counted |
335 | .equ syscalls_padding, ((NR_syscalls + 3) & ~3) - NR_syscalls | 348 | .equ syscalls_padding, ((NR_syscalls + 3) & ~3) - NR_syscalls |
336 | #define syscalls_counted | 349 | #define syscalls_counted |
diff --git a/arch/arm/kernel/head.S b/arch/arm/kernel/head.S index bda0748ffb00..d994561816a1 100644 --- a/arch/arm/kernel/head.S +++ b/arch/arm/kernel/head.S | |||
@@ -22,30 +22,31 @@ | |||
22 | #include <asm/thread_info.h> | 22 | #include <asm/thread_info.h> |
23 | #include <asm/system.h> | 23 | #include <asm/system.h> |
24 | 24 | ||
25 | #define KERNEL_RAM_ADDR (PAGE_OFFSET + TEXT_OFFSET) | 25 | #define KERNEL_RAM_VADDR (PAGE_OFFSET + TEXT_OFFSET) |
26 | #define KERNEL_RAM_PADDR (PHYS_OFFSET + TEXT_OFFSET) | ||
26 | 27 | ||
27 | /* | 28 | /* |
28 | * swapper_pg_dir is the virtual address of the initial page table. | 29 | * swapper_pg_dir is the virtual address of the initial page table. |
29 | * We place the page tables 16K below KERNEL_RAM_ADDR. Therefore, we must | 30 | * We place the page tables 16K below KERNEL_RAM_VADDR. Therefore, we must |
30 | * make sure that KERNEL_RAM_ADDR is correctly set. Currently, we expect | 31 | * make sure that KERNEL_RAM_VADDR is correctly set. Currently, we expect |
31 | * the least significant 16 bits to be 0x8000, but we could probably | 32 | * the least significant 16 bits to be 0x8000, but we could probably |
32 | * relax this restriction to KERNEL_RAM_ADDR >= PAGE_OFFSET + 0x4000. | 33 | * relax this restriction to KERNEL_RAM_VADDR >= PAGE_OFFSET + 0x4000. |
33 | */ | 34 | */ |
34 | #if (KERNEL_RAM_ADDR & 0xffff) != 0x8000 | 35 | #if (KERNEL_RAM_VADDR & 0xffff) != 0x8000 |
35 | #error KERNEL_RAM_ADDR must start at 0xXXXX8000 | 36 | #error KERNEL_RAM_VADDR must start at 0xXXXX8000 |
36 | #endif | 37 | #endif |
37 | 38 | ||
38 | .globl swapper_pg_dir | 39 | .globl swapper_pg_dir |
39 | .equ swapper_pg_dir, KERNEL_RAM_ADDR - 0x4000 | 40 | .equ swapper_pg_dir, KERNEL_RAM_VADDR - 0x4000 |
40 | 41 | ||
41 | .macro pgtbl, rd | 42 | .macro pgtbl, rd |
42 | ldr \rd, =(__virt_to_phys(KERNEL_RAM_ADDR - 0x4000)) | 43 | ldr \rd, =(KERNEL_RAM_PADDR - 0x4000) |
43 | .endm | 44 | .endm |
44 | 45 | ||
45 | #ifdef CONFIG_XIP_KERNEL | 46 | #ifdef CONFIG_XIP_KERNEL |
46 | #define TEXTADDR XIP_VIRT_ADDR(CONFIG_XIP_PHYS_ADDR) | 47 | #define TEXTADDR XIP_VIRT_ADDR(CONFIG_XIP_PHYS_ADDR) |
47 | #else | 48 | #else |
48 | #define TEXTADDR KERNEL_RAM_ADDR | 49 | #define TEXTADDR KERNEL_RAM_VADDR |
49 | #endif | 50 | #endif |
50 | 51 | ||
51 | /* | 52 | /* |
diff --git a/arch/arm/kernel/setup.c b/arch/arm/kernel/setup.c index 238dd9b6db84..cf2bd4242803 100644 --- a/arch/arm/kernel/setup.c +++ b/arch/arm/kernel/setup.c | |||
@@ -354,9 +354,6 @@ static void __init setup_processor(void) | |||
354 | #ifndef CONFIG_ARM_THUMB | 354 | #ifndef CONFIG_ARM_THUMB |
355 | elf_hwcap &= ~HWCAP_THUMB; | 355 | elf_hwcap &= ~HWCAP_THUMB; |
356 | #endif | 356 | #endif |
357 | #ifndef CONFIG_VFP | ||
358 | elf_hwcap &= ~HWCAP_VFP; | ||
359 | #endif | ||
360 | 357 | ||
361 | cpu_proc_init(); | 358 | cpu_proc_init(); |
362 | } | 359 | } |