aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2008-08-15 18:31:23 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2008-08-15 18:31:23 -0400
commitd121db94eb50b29a202b5f6a8671cbebdf2c4142 (patch)
tree755094002f612dd2f018dca12e973c56e05312e3 /include
parent40a342664078ebcb4006a89af96f7982fac36032 (diff)
parenta4b7b6d7d3f4f71e741a878bcca6226d8d326a34 (diff)
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/blackfin-2.6
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/blackfin-2.6: (33 commits) Blackfin arch: hook up some missing new system calls Blackfin arch: fix missing digit in SCLK range checking Blackfin arch: do not muck with the UART during boot -- let the serial driver worry about it Blackfin arch: clear EMAC_SYSTAT during IRQ init rather than early head.S as we dont need it setup that early Blackfin arch: use %pF when printing out the double fault address so we get symbol names Blackfin arch: add support for the BlackStamp board Blackfin arch: Allow ins functions to have a low latency version Blackfin arch: Print out doublefault addresses, so debug can occur Blackfin arch: shuffle related prototypes together -- no functional changes Blackfin arch: move fixed code defines into fixed_code.h as very few things actually need to know these details Blackfin arch: mark some functions as __init as they are only called from __init functions Blackfin arch: delete dead prototypes Blackfin arch: cleanup cache lock code Blackfin arch: workaround SIC_IWR1 reset bug, by keeping MDMA0/1 always enabled in SIC_IWR1. Blackfin arch: Fix bug - when expanding the trace buffer, it does not print out the decoded instruction. Blackfin arch: Fix Bug - System with EMAC driver enabled - Core not idling Blackfin arch: delete unused cache functions Blackfin arch: convert L2 defines to be the same as the L1 defines Blackfin arch: unify the duplicated portions of __start and split mach-specific pieces into _mach_early_start where they will be easier to trim over time Blackfin arch: add asm/thread_info.h for THREAD_SIZE define ...
Diffstat (limited to 'include')
-rw-r--r--include/asm-blackfin/Kbuild2
-rw-r--r--include/asm-blackfin/bfin-global.h38
-rw-r--r--include/asm-blackfin/dpmc.h1
-rw-r--r--include/asm-blackfin/fixed_code.h24
-rw-r--r--include/asm-blackfin/mach-bf527/mem_map.h5
-rw-r--r--include/asm-blackfin/mach-bf533/mem_init.h2
-rw-r--r--include/asm-blackfin/mach-bf533/mem_map.h5
-rw-r--r--include/asm-blackfin/mach-bf537/mem_map.h5
-rw-r--r--include/asm-blackfin/mach-common/cdef_LPBlackfin.h8
-rw-r--r--include/asm-blackfin/unistd.h8
10 files changed, 60 insertions, 38 deletions
diff --git a/include/asm-blackfin/Kbuild b/include/asm-blackfin/Kbuild
index 71f8fe783258..606ecfdcc962 100644
--- a/include/asm-blackfin/Kbuild
+++ b/include/asm-blackfin/Kbuild
@@ -1,3 +1,3 @@
1include include/asm-generic/Kbuild.asm 1include include/asm-generic/Kbuild.asm
2 2
3header-y += fixed_code.h 3unifdef-y += fixed_code.h
diff --git a/include/asm-blackfin/bfin-global.h b/include/asm-blackfin/bfin-global.h
index 320aa5e167e9..7ba70de66f2b 100644
--- a/include/asm-blackfin/bfin-global.h
+++ b/include/asm-blackfin/bfin-global.h
@@ -56,37 +56,20 @@ extern void dump_bfin_process(struct pt_regs *regs);
56extern void dump_bfin_mem(struct pt_regs *regs); 56extern void dump_bfin_mem(struct pt_regs *regs);
57extern void dump_bfin_trace_buffer(void); 57extern void dump_bfin_trace_buffer(void);
58 58
59/* init functions only */
59extern int init_arch_irq(void); 60extern int init_arch_irq(void);
60extern void bfin_reset(void);
61extern void _cplb_hdr(void);
62/* Blackfin cache functions */
63extern void bfin_icache_init(void); 61extern void bfin_icache_init(void);
64extern void bfin_dcache_init(void); 62extern void bfin_dcache_init(void);
65extern int read_iloc(void);
66extern int bfin_console_init(void);
67extern asmlinkage void lower_to_irq14(void);
68extern asmlinkage void bfin_return_from_exception(void);
69extern void init_exception_vectors(void); 63extern void init_exception_vectors(void);
70extern void init_dma(void);
71extern void program_IAR(void); 64extern void program_IAR(void);
72extern void evt14_softirq(void); 65
66extern void bfin_reset(void);
67extern asmlinkage void lower_to_irq14(void);
68extern asmlinkage void bfin_return_from_exception(void);
69extern asmlinkage void evt14_softirq(void);
73extern asmlinkage void asm_do_IRQ(unsigned int irq, struct pt_regs *regs); 70extern asmlinkage void asm_do_IRQ(unsigned int irq, struct pt_regs *regs);
74extern void bfin_gpio_interrupt_setup(int irq, int irq_pfx, int type);
75extern int bfin_internal_set_wake(unsigned int irq, unsigned int state); 71extern int bfin_internal_set_wake(unsigned int irq, unsigned int state);
76 72
77extern asmlinkage void finish_atomic_sections (struct pt_regs *regs);
78extern char fixed_code_start;
79extern char fixed_code_end;
80extern int atomic_xchg32(void);
81extern int atomic_cas32(void);
82extern int atomic_add32(void);
83extern int atomic_sub32(void);
84extern int atomic_ior32(void);
85extern int atomic_and32(void);
86extern int atomic_xor32(void);
87extern void safe_user_instruction(void);
88extern void sigreturn_stub(void);
89
90extern void *l1_data_A_sram_alloc(size_t); 73extern void *l1_data_A_sram_alloc(size_t);
91extern void *l1_data_B_sram_alloc(size_t); 74extern void *l1_data_B_sram_alloc(size_t);
92extern void *l1_inst_sram_alloc(size_t); 75extern void *l1_inst_sram_alloc(size_t);
@@ -110,11 +93,10 @@ extern void *sram_alloc_with_lsl(size_t, unsigned long);
110extern int sram_free_with_lsl(const void*); 93extern int sram_free_with_lsl(const void*);
111 94
112extern const char bfin_board_name[]; 95extern const char bfin_board_name[];
113extern unsigned long wall_jiffies;
114 96
115extern unsigned long bfin_sic_iwr[]; 97extern unsigned long bfin_sic_iwr[];
98extern unsigned vr_wakeup;
116extern u16 _bfin_swrst; /* shadow for Software Reset Register (SWRST) */ 99extern u16 _bfin_swrst; /* shadow for Software Reset Register (SWRST) */
117extern struct file_operations dpmc_fops;
118extern unsigned long _ramstart, _ramend, _rambase; 100extern unsigned long _ramstart, _ramend, _rambase;
119extern unsigned long memory_start, memory_end, physical_mem_end; 101extern unsigned long memory_start, memory_end, physical_mem_end;
120extern char _stext_l1[], _etext_l1[], _sdata_l1[], _edata_l1[], _sbss_l1[], 102extern char _stext_l1[], _etext_l1[], _sdata_l1[], _edata_l1[], _sbss_l1[],
@@ -122,8 +104,12 @@ extern char _stext_l1[], _etext_l1[], _sdata_l1[], _edata_l1[], _sbss_l1[],
122 _stext_l2[], _etext_l2[], _sdata_l2[], _edata_l2[], _sbss_l2[], 104 _stext_l2[], _etext_l2[], _sdata_l2[], _edata_l2[], _sbss_l2[],
123 _ebss_l2[], _l2_lma_start[]; 105 _ebss_l2[], _l2_lma_start[];
124 106
125#ifdef CONFIG_MTD_UCLINUX 107/* only used when CONFIG_MTD_UCLINUX */
126extern unsigned long memory_mtd_start, memory_mtd_end, mtd_size; 108extern unsigned long memory_mtd_start, memory_mtd_end, mtd_size;
109
110#ifdef CONFIG_BFIN_ICACHE_LOCK
111extern void cache_grab_lock(int way);
112extern void cache_lock(int way);
127#endif 113#endif
128 114
129#endif 115#endif
diff --git a/include/asm-blackfin/dpmc.h b/include/asm-blackfin/dpmc.h
index de28e6e018b3..96e8208f929a 100644
--- a/include/asm-blackfin/dpmc.h
+++ b/include/asm-blackfin/dpmc.h
@@ -11,7 +11,6 @@
11#ifndef __ASSEMBLY__ 11#ifndef __ASSEMBLY__
12 12
13void sleep_mode(u32 sic_iwr0, u32 sic_iwr1, u32 sic_iwr2); 13void sleep_mode(u32 sic_iwr0, u32 sic_iwr1, u32 sic_iwr2);
14void deep_sleep(u32 sic_iwr0, u32 sic_iwr1, u32 sic_iwr2);
15void hibernate_mode(u32 sic_iwr0, u32 sic_iwr1, u32 sic_iwr2); 14void hibernate_mode(u32 sic_iwr0, u32 sic_iwr1, u32 sic_iwr2);
16void sleep_deeper(u32 sic_iwr0, u32 sic_iwr1, u32 sic_iwr2); 15void sleep_deeper(u32 sic_iwr0, u32 sic_iwr1, u32 sic_iwr2);
17void do_hibernate(int wakeup); 16void do_hibernate(int wakeup);
diff --git a/include/asm-blackfin/fixed_code.h b/include/asm-blackfin/fixed_code.h
index 37db66c7030d..32c4d495d847 100644
--- a/include/asm-blackfin/fixed_code.h
+++ b/include/asm-blackfin/fixed_code.h
@@ -1,6 +1,28 @@
1/* This file defines the fixed addresses where userspace programs can find 1/* This file defines the fixed addresses where userspace programs can find
2 atomic code sequences. */ 2 atomic code sequences. */
3 3
4#ifndef __BFIN_ASM_FIXED_CODE_H__
5#define __BFIN_ASM_FIXED_CODE_H__
6
7#ifdef __KERNEL__
8#ifndef __ASSEMBLY__
9#include <linux/linkage.h>
10#include <linux/ptrace.h>
11extern asmlinkage void finish_atomic_sections(struct pt_regs *regs);
12extern char fixed_code_start;
13extern char fixed_code_end;
14extern int atomic_xchg32(void);
15extern int atomic_cas32(void);
16extern int atomic_add32(void);
17extern int atomic_sub32(void);
18extern int atomic_ior32(void);
19extern int atomic_and32(void);
20extern int atomic_xor32(void);
21extern void safe_user_instruction(void);
22extern void sigreturn_stub(void);
23#endif
24#endif
25
4#define FIXED_CODE_START 0x400 26#define FIXED_CODE_START 0x400
5 27
6#define SIGRETURN_STUB 0x400 28#define SIGRETURN_STUB 0x400
@@ -20,3 +42,5 @@
20#define SAFE_USER_INSTRUCTION 0x480 42#define SAFE_USER_INSTRUCTION 0x480
21 43
22#define FIXED_CODE_END 0x490 44#define FIXED_CODE_END 0x490
45
46#endif
diff --git a/include/asm-blackfin/mach-bf527/mem_map.h b/include/asm-blackfin/mach-bf527/mem_map.h
index 193082deaa4e..ef46dc991cd4 100644
--- a/include/asm-blackfin/mach-bf527/mem_map.h
+++ b/include/asm-blackfin/mach-bf527/mem_map.h
@@ -89,6 +89,11 @@
89#define BFIN_DSUPBANKS 0 89#define BFIN_DSUPBANKS 0
90#endif /*CONFIG_BFIN_DCACHE */ 90#endif /*CONFIG_BFIN_DCACHE */
91 91
92/* Level 2 Memory - none */
93
94#define L2_START 0
95#define L2_LENGTH 0
96
92/* Scratch Pad Memory */ 97/* Scratch Pad Memory */
93 98
94#define L1_SCRATCH_START 0xFFB00000 99#define L1_SCRATCH_START 0xFFB00000
diff --git a/include/asm-blackfin/mach-bf533/mem_init.h b/include/asm-blackfin/mach-bf533/mem_init.h
index 995c06b2b1ef..ed2034bf10ec 100644
--- a/include/asm-blackfin/mach-bf533/mem_init.h
+++ b/include/asm-blackfin/mach-bf533/mem_init.h
@@ -47,7 +47,7 @@
47#define SDRAM_tRCD TRCD_2 47#define SDRAM_tRCD TRCD_2
48#define SDRAM_tWR TWR_2 48#define SDRAM_tWR TWR_2
49#endif 49#endif
50#if (CONFIG_SCLK_HZ > 8955223) && (CONFIG_SCLK_HZ <= 104477612) 50#if (CONFIG_SCLK_HZ > 89552239) && (CONFIG_SCLK_HZ <= 104477612)
51#define SDRAM_tRP TRP_2 51#define SDRAM_tRP TRP_2
52#define SDRAM_tRP_num 2 52#define SDRAM_tRP_num 2
53#define SDRAM_tRAS TRAS_5 53#define SDRAM_tRAS TRAS_5
diff --git a/include/asm-blackfin/mach-bf533/mem_map.h b/include/asm-blackfin/mach-bf533/mem_map.h
index bd30b6f3be00..581fc6eea789 100644
--- a/include/asm-blackfin/mach-bf533/mem_map.h
+++ b/include/asm-blackfin/mach-bf533/mem_map.h
@@ -158,6 +158,11 @@
158 158
159#endif 159#endif
160 160
161/* Level 2 Memory - none */
162
163#define L2_START 0
164#define L2_LENGTH 0
165
161/* Scratch Pad Memory */ 166/* Scratch Pad Memory */
162 167
163#define L1_SCRATCH_START 0xFFB00000 168#define L1_SCRATCH_START 0xFFB00000
diff --git a/include/asm-blackfin/mach-bf537/mem_map.h b/include/asm-blackfin/mach-bf537/mem_map.h
index 5c6726d6f3b1..5078b669431f 100644
--- a/include/asm-blackfin/mach-bf537/mem_map.h
+++ b/include/asm-blackfin/mach-bf537/mem_map.h
@@ -166,6 +166,11 @@
166 166
167#endif 167#endif
168 168
169/* Level 2 Memory - none */
170
171#define L2_START 0
172#define L2_LENGTH 0
173
169/* Scratch Pad Memory */ 174/* Scratch Pad Memory */
170 175
171#define L1_SCRATCH_START 0xFFB00000 176#define L1_SCRATCH_START 0xFFB00000
diff --git a/include/asm-blackfin/mach-common/cdef_LPBlackfin.h b/include/asm-blackfin/mach-common/cdef_LPBlackfin.h
index ede210eca4ec..d39c396f850d 100644
--- a/include/asm-blackfin/mach-common/cdef_LPBlackfin.h
+++ b/include/asm-blackfin/mach-common/cdef_LPBlackfin.h
@@ -39,11 +39,7 @@
39#define bfin_read_SRAM_BASE_ADDRESS() bfin_read32(SRAM_BASE_ADDRESS) 39#define bfin_read_SRAM_BASE_ADDRESS() bfin_read32(SRAM_BASE_ADDRESS)
40#define bfin_write_SRAM_BASE_ADDRESS(val) bfin_write32(SRAM_BASE_ADDRESS,val) 40#define bfin_write_SRAM_BASE_ADDRESS(val) bfin_write32(SRAM_BASE_ADDRESS,val)
41#define bfin_read_DMEM_CONTROL() bfin_read32(DMEM_CONTROL) 41#define bfin_read_DMEM_CONTROL() bfin_read32(DMEM_CONTROL)
42#if ANOMALY_05000125
43extern void bfin_write_DMEM_CONTROL(unsigned int val);
44#else
45#define bfin_write_DMEM_CONTROL(val) bfin_write32(DMEM_CONTROL,val) 42#define bfin_write_DMEM_CONTROL(val) bfin_write32(DMEM_CONTROL,val)
46#endif
47#define bfin_read_DCPLB_STATUS() bfin_read32(DCPLB_STATUS) 43#define bfin_read_DCPLB_STATUS() bfin_read32(DCPLB_STATUS)
48#define bfin_write_DCPLB_STATUS(val) bfin_write32(DCPLB_STATUS,val) 44#define bfin_write_DCPLB_STATUS(val) bfin_write32(DCPLB_STATUS,val)
49#define bfin_read_DCPLB_FAULT_ADDR() bfin_read32(DCPLB_FAULT_ADDR) 45#define bfin_read_DCPLB_FAULT_ADDR() bfin_read32(DCPLB_FAULT_ADDR)
@@ -129,11 +125,7 @@ extern void bfin_write_DMEM_CONTROL(unsigned int val);
129#define DTEST_DATA3 0xFFE0040C 125#define DTEST_DATA3 0xFFE0040C
130*/ 126*/
131#define bfin_read_IMEM_CONTROL() bfin_read32(IMEM_CONTROL) 127#define bfin_read_IMEM_CONTROL() bfin_read32(IMEM_CONTROL)
132#if ANOMALY_05000125
133extern void bfin_write_IMEM_CONTROL(unsigned int val);
134#else
135#define bfin_write_IMEM_CONTROL(val) bfin_write32(IMEM_CONTROL,val) 128#define bfin_write_IMEM_CONTROL(val) bfin_write32(IMEM_CONTROL,val)
136#endif
137#define bfin_read_ICPLB_STATUS() bfin_read32(ICPLB_STATUS) 129#define bfin_read_ICPLB_STATUS() bfin_read32(ICPLB_STATUS)
138#define bfin_write_ICPLB_STATUS(val) bfin_write32(ICPLB_STATUS,val) 130#define bfin_write_ICPLB_STATUS(val) bfin_write32(ICPLB_STATUS,val)
139#define bfin_read_ICPLB_FAULT_ADDR() bfin_read32(ICPLB_FAULT_ADDR) 131#define bfin_read_ICPLB_FAULT_ADDR() bfin_read32(ICPLB_FAULT_ADDR)
diff --git a/include/asm-blackfin/unistd.h b/include/asm-blackfin/unistd.h
index 42955d0c439b..1e57b636e0bc 100644
--- a/include/asm-blackfin/unistd.h
+++ b/include/asm-blackfin/unistd.h
@@ -372,8 +372,14 @@
372#define __NR_semtimedop 357 372#define __NR_semtimedop 357
373#define __NR_timerfd_settime 358 373#define __NR_timerfd_settime 358
374#define __NR_timerfd_gettime 359 374#define __NR_timerfd_gettime 359
375#define __NR_signalfd4 360
376#define __NR_eventfd2 361
377#define __NR_epoll_create1 362
378#define __NR_dup3 363
379#define __NR_pipe2 364
380#define __NR_inotify_init1 365
375 381
376#define __NR_syscall 360 382#define __NR_syscall 366
377#define NR_syscalls __NR_syscall 383#define NR_syscalls __NR_syscall
378 384
379/* Old optional stuff no one actually uses */ 385/* Old optional stuff no one actually uses */