diff options
author | Jonas Bonn <jonas@southpole.se> | 2011-06-04 15:45:16 -0400 |
---|---|---|
committer | Jonas Bonn <jonas@southpole.se> | 2011-07-22 12:46:41 -0400 |
commit | 616257669e1aa28628e84914810d0d94a6967653 (patch) | |
tree | 05334dd9128e6554d2127156785c068433c25752 /arch/openrisc/kernel | |
parent | 224cd129fdbb40a01de4aaf46cd77d80e65d81e5 (diff) |
OpenRISC: Miscellaneous
Adds README file, TODO list, and a couple of other pieces that didn't seem
to fit into any other patch.
Signed-off-by: Jonas Bonn <jonas@southpole.se>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'arch/openrisc/kernel')
-rw-r--r-- | arch/openrisc/kernel/asm-offsets.c | 70 | ||||
-rw-r--r-- | arch/openrisc/kernel/or32_ksyms.c | 46 |
2 files changed, 116 insertions, 0 deletions
diff --git a/arch/openrisc/kernel/asm-offsets.c b/arch/openrisc/kernel/asm-offsets.c new file mode 100644 index 000000000000..1a242a0d7583 --- /dev/null +++ b/arch/openrisc/kernel/asm-offsets.c | |||
@@ -0,0 +1,70 @@ | |||
1 | /* | ||
2 | * OpenRISC asm-offsets.c | ||
3 | * | ||
4 | * Linux architectural port borrowing liberally from similar works of | ||
5 | * others. All original copyrights apply as per the original source | ||
6 | * declaration. | ||
7 | * | ||
8 | * Modifications for the OpenRISC architecture: | ||
9 | * Copyright (C) 2003 Matjaz Breskvar <phoenix@bsemi.com> | ||
10 | * Copyright (C) 2010-2011 Jonas Bonn <jonas@southpole.se> | ||
11 | * | ||
12 | * This program is free software; you can redistribute it and/or | ||
13 | * modify it under the terms of the GNU General Public License | ||
14 | * as published by the Free Software Foundation; either version | ||
15 | * 2 of the License, or (at your option) any later version. | ||
16 | * | ||
17 | * This program is used to generate definitions needed by | ||
18 | * assembly language modules. | ||
19 | * | ||
20 | * We use the technique used in the OSF Mach kernel code: | ||
21 | * generate asm statements containing #defines, | ||
22 | * compile this file to assembler, and then extract the | ||
23 | * #defines from the assembly-language output. | ||
24 | */ | ||
25 | |||
26 | #include <linux/signal.h> | ||
27 | #include <linux/sched.h> | ||
28 | #include <linux/kernel.h> | ||
29 | #include <linux/errno.h> | ||
30 | #include <linux/string.h> | ||
31 | #include <linux/types.h> | ||
32 | #include <linux/ptrace.h> | ||
33 | #include <linux/mman.h> | ||
34 | #include <linux/mm.h> | ||
35 | #include <linux/io.h> | ||
36 | #include <linux/thread_info.h> | ||
37 | #include <asm/page.h> | ||
38 | #include <asm/pgtable.h> | ||
39 | #include <asm/processor.h> | ||
40 | |||
41 | #define DEFINE(sym, val) \ | ||
42 | asm volatile("\n->" #sym " %0 " #val : : "i" (val)) | ||
43 | |||
44 | #define BLANK() asm volatile("\n->" : : ) | ||
45 | |||
46 | int main(void) | ||
47 | { | ||
48 | /* offsets into the task_struct */ | ||
49 | DEFINE(TASK_STATE, offsetof(struct task_struct, state)); | ||
50 | DEFINE(TASK_FLAGS, offsetof(struct task_struct, flags)); | ||
51 | DEFINE(TASK_PTRACE, offsetof(struct task_struct, ptrace)); | ||
52 | DEFINE(TASK_THREAD, offsetof(struct task_struct, thread)); | ||
53 | DEFINE(TASK_MM, offsetof(struct task_struct, mm)); | ||
54 | DEFINE(TASK_ACTIVE_MM, offsetof(struct task_struct, active_mm)); | ||
55 | |||
56 | /* offsets into thread_info */ | ||
57 | DEFINE(TI_TASK, offsetof(struct thread_info, task)); | ||
58 | DEFINE(TI_FLAGS, offsetof(struct thread_info, flags)); | ||
59 | DEFINE(TI_PREEMPT, offsetof(struct thread_info, preempt_count)); | ||
60 | DEFINE(TI_KSP, offsetof(struct thread_info, ksp)); | ||
61 | |||
62 | DEFINE(PT_SIZE, sizeof(struct pt_regs)); | ||
63 | |||
64 | /* Interrupt register frame */ | ||
65 | DEFINE(STACK_FRAME_OVERHEAD, STACK_FRAME_OVERHEAD); | ||
66 | DEFINE(INT_FRAME_SIZE, STACK_FRAME_OVERHEAD + sizeof(struct pt_regs)); | ||
67 | |||
68 | DEFINE(NUM_USER_SEGMENTS, TASK_SIZE >> 28); | ||
69 | return 0; | ||
70 | } | ||
diff --git a/arch/openrisc/kernel/or32_ksyms.c b/arch/openrisc/kernel/or32_ksyms.c new file mode 100644 index 000000000000..83ccf7c0c58d --- /dev/null +++ b/arch/openrisc/kernel/or32_ksyms.c | |||
@@ -0,0 +1,46 @@ | |||
1 | /* | ||
2 | * OpenRISC or32_ksyms.c | ||
3 | * | ||
4 | * Linux architectural port borrowing liberally from similar works of | ||
5 | * others. All original copyrights apply as per the original source | ||
6 | * declaration. | ||
7 | * | ||
8 | * Modifications for the OpenRISC architecture: | ||
9 | * Copyright (C) 2003 Matjaz Breskvar <phoenix@bsemi.com> | ||
10 | * Copyright (C) 2010-2011 Jonas Bonn <jonas@southpole.se> | ||
11 | * | ||
12 | * This program is free software; you can redistribute it and/or | ||
13 | * modify it under the terms of the GNU General Public License | ||
14 | * as published by the Free Software Foundation; either version | ||
15 | * 2 of the License, or (at your option) any later version. | ||
16 | */ | ||
17 | |||
18 | #include <linux/module.h> | ||
19 | #include <linux/elfcore.h> | ||
20 | #include <linux/sched.h> | ||
21 | #include <linux/in6.h> | ||
22 | #include <linux/interrupt.h> | ||
23 | #include <linux/vmalloc.h> | ||
24 | #include <linux/semaphore.h> | ||
25 | |||
26 | #include <asm/processor.h> | ||
27 | #include <asm/uaccess.h> | ||
28 | #include <asm/checksum.h> | ||
29 | #include <asm/io.h> | ||
30 | #include <asm/hardirq.h> | ||
31 | #include <asm/delay.h> | ||
32 | #include <asm/pgalloc.h> | ||
33 | |||
34 | #define DECLARE_EXPORT(name) extern void name(void); EXPORT_SYMBOL(name) | ||
35 | |||
36 | /* compiler generated symbols */ | ||
37 | DECLARE_EXPORT(__udivsi3); | ||
38 | DECLARE_EXPORT(__divsi3); | ||
39 | DECLARE_EXPORT(__umodsi3); | ||
40 | DECLARE_EXPORT(__modsi3); | ||
41 | DECLARE_EXPORT(__muldi3); | ||
42 | DECLARE_EXPORT(__ashrdi3); | ||
43 | DECLARE_EXPORT(__ashldi3); | ||
44 | DECLARE_EXPORT(__lshrdi3); | ||
45 | |||
46 | EXPORT_SYMBOL(__copy_tofrom_user); | ||