diff options
author | Graf Yang <graf.yang@analog.com> | 2008-11-18 04:48:22 -0500 |
---|---|---|
committer | Bryan Wu <cooloney@kernel.org> | 2008-11-18 04:48:22 -0500 |
commit | 8f65873e47784a390949f0d61e5692dbf2a8253e (patch) | |
tree | 4d9509bf5e52ebac190d79de04b783829d44f49e /arch/blackfin/kernel/asm-offsets.c | |
parent | b8a989893cbdeb6c97a7b5af5f38fb0e480235f9 (diff) |
Blackfin arch: SMP supporting patchset: Blackfin kernel and memory management code
Blackfin dual core BF561 processor can support SMP like features.
https://docs.blackfin.uclinux.org/doku.php?id=linux-kernel:smp-like
In this patch, we provide SMP extend to Blackfin kernel and memory management code
Singed-off-by: Graf Yang <graf.yang@analog.com>
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Diffstat (limited to 'arch/blackfin/kernel/asm-offsets.c')
-rw-r--r-- | arch/blackfin/kernel/asm-offsets.c | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/arch/blackfin/kernel/asm-offsets.c b/arch/blackfin/kernel/asm-offsets.c index 9bb85dd5ccb3..b5df9459d6d5 100644 --- a/arch/blackfin/kernel/asm-offsets.c +++ b/arch/blackfin/kernel/asm-offsets.c | |||
@@ -56,6 +56,9 @@ int main(void) | |||
56 | /* offsets into the thread struct */ | 56 | /* offsets into the thread struct */ |
57 | DEFINE(THREAD_KSP, offsetof(struct thread_struct, ksp)); | 57 | DEFINE(THREAD_KSP, offsetof(struct thread_struct, ksp)); |
58 | DEFINE(THREAD_USP, offsetof(struct thread_struct, usp)); | 58 | DEFINE(THREAD_USP, offsetof(struct thread_struct, usp)); |
59 | DEFINE(THREAD_SR, offsetof(struct thread_struct, seqstat)); | ||
60 | DEFINE(PT_SR, offsetof(struct thread_struct, seqstat)); | ||
61 | DEFINE(THREAD_ESP0, offsetof(struct thread_struct, esp0)); | ||
59 | DEFINE(THREAD_PC, offsetof(struct thread_struct, pc)); | 62 | DEFINE(THREAD_PC, offsetof(struct thread_struct, pc)); |
60 | DEFINE(KERNEL_STACK_SIZE, THREAD_SIZE); | 63 | DEFINE(KERNEL_STACK_SIZE, THREAD_SIZE); |
61 | 64 | ||
@@ -128,5 +131,31 @@ int main(void) | |||
128 | DEFINE(SIGSEGV, SIGSEGV); | 131 | DEFINE(SIGSEGV, SIGSEGV); |
129 | DEFINE(SIGTRAP, SIGTRAP); | 132 | DEFINE(SIGTRAP, SIGTRAP); |
130 | 133 | ||
134 | /* PDA management (in L1 scratchpad) */ | ||
135 | DEFINE(PDA_SYSCFG, offsetof(struct blackfin_pda, syscfg)); | ||
136 | #ifdef CONFIG_SMP | ||
137 | DEFINE(PDA_IRQFLAGS, offsetof(struct blackfin_pda, imask)); | ||
138 | #endif | ||
139 | DEFINE(PDA_IPDT, offsetof(struct blackfin_pda, ipdt)); | ||
140 | DEFINE(PDA_IPDT_SWAPCOUNT, offsetof(struct blackfin_pda, ipdt_swapcount)); | ||
141 | DEFINE(PDA_DPDT, offsetof(struct blackfin_pda, dpdt)); | ||
142 | DEFINE(PDA_DPDT_SWAPCOUNT, offsetof(struct blackfin_pda, dpdt_swapcount)); | ||
143 | DEFINE(PDA_EXIPTR, offsetof(struct blackfin_pda, ex_iptr)); | ||
144 | DEFINE(PDA_EXOPTR, offsetof(struct blackfin_pda, ex_optr)); | ||
145 | DEFINE(PDA_EXBUF, offsetof(struct blackfin_pda, ex_buf)); | ||
146 | DEFINE(PDA_EXIMASK, offsetof(struct blackfin_pda, ex_imask)); | ||
147 | DEFINE(PDA_EXSTACK, offsetof(struct blackfin_pda, ex_stack)); | ||
148 | #ifdef ANOMALY_05000261 | ||
149 | DEFINE(PDA_LFRETX, offsetof(struct blackfin_pda, last_cplb_fault_retx)); | ||
150 | #endif | ||
151 | DEFINE(PDA_DCPLB, offsetof(struct blackfin_pda, dcplb_fault_addr)); | ||
152 | DEFINE(PDA_ICPLB, offsetof(struct blackfin_pda, icplb_fault_addr)); | ||
153 | DEFINE(PDA_RETX, offsetof(struct blackfin_pda, retx)); | ||
154 | DEFINE(PDA_SEQSTAT, offsetof(struct blackfin_pda, seqstat)); | ||
155 | #ifdef CONFIG_SMP | ||
156 | /* Inter-core lock (in L2 SRAM) */ | ||
157 | DEFINE(SIZEOF_CORELOCK, sizeof(struct corelock_slot)); | ||
158 | #endif | ||
159 | |||
131 | return 0; | 160 | return 0; |
132 | } | 161 | } |