diff options
author | Andrea Bastoni <bastoni@cs.unc.edu> | 2010-05-30 19:16:45 -0400 |
---|---|---|
committer | Andrea Bastoni <bastoni@cs.unc.edu> | 2010-05-30 19:16:45 -0400 |
commit | ada47b5fe13d89735805b566185f4885f5a3f750 (patch) | |
tree | 644b88f8a71896307d71438e9b3af49126ffb22b /arch/m68k/include/asm | |
parent | 43e98717ad40a4ae64545b5ba047c7b86aa44f4f (diff) | |
parent | 3280f21d43ee541f97f8cda5792150d2dbec20d5 (diff) |
Merge branch 'wip-2.6.34' into old-private-masterarchived-private-master
Diffstat (limited to 'arch/m68k/include/asm')
24 files changed, 73 insertions, 168 deletions
diff --git a/arch/m68k/include/asm/asm-offsets.h b/arch/m68k/include/asm/asm-offsets.h new file mode 100644 index 000000000000..d370ee36a182 --- /dev/null +++ b/arch/m68k/include/asm/asm-offsets.h | |||
@@ -0,0 +1 @@ | |||
#include <generated/asm-offsets.h> | |||
diff --git a/arch/m68k/include/asm/atomic_mm.h b/arch/m68k/include/asm/atomic_mm.h index 88b7af20a996..d9d2ed647435 100644 --- a/arch/m68k/include/asm/atomic_mm.h +++ b/arch/m68k/include/asm/atomic_mm.h | |||
@@ -148,14 +148,18 @@ static inline int atomic_xchg(atomic_t *v, int new) | |||
148 | static inline int atomic_sub_and_test(int i, atomic_t *v) | 148 | static inline int atomic_sub_and_test(int i, atomic_t *v) |
149 | { | 149 | { |
150 | char c; | 150 | char c; |
151 | __asm__ __volatile__("subl %2,%1; seq %0" : "=d" (c), "+m" (*v): "g" (i)); | 151 | __asm__ __volatile__("subl %2,%1; seq %0" |
152 | : "=d" (c), "+m" (*v) | ||
153 | : "id" (i)); | ||
152 | return c != 0; | 154 | return c != 0; |
153 | } | 155 | } |
154 | 156 | ||
155 | static inline int atomic_add_negative(int i, atomic_t *v) | 157 | static inline int atomic_add_negative(int i, atomic_t *v) |
156 | { | 158 | { |
157 | char c; | 159 | char c; |
158 | __asm__ __volatile__("addl %2,%1; smi %0" : "=d" (c), "+m" (*v): "g" (i)); | 160 | __asm__ __volatile__("addl %2,%1; smi %0" |
161 | : "=d" (c), "+m" (*v) | ||
162 | : "id" (i)); | ||
159 | return c != 0; | 163 | return c != 0; |
160 | } | 164 | } |
161 | 165 | ||
diff --git a/arch/m68k/include/asm/bootinfo.h b/arch/m68k/include/asm/bootinfo.h index fb8a06b9ab6a..67e7a78ad96b 100644 --- a/arch/m68k/include/asm/bootinfo.h +++ b/arch/m68k/include/asm/bootinfo.h | |||
@@ -145,7 +145,7 @@ struct bi_record { | |||
145 | 145 | ||
146 | /* | 146 | /* |
147 | * Macintosh hardware profile data - unused, see macintosh.h for | 147 | * Macintosh hardware profile data - unused, see macintosh.h for |
148 | * resonable type values | 148 | * reasonable type values |
149 | */ | 149 | */ |
150 | 150 | ||
151 | #define BI_MAC_VIA1BASE 0x8010 /* Mac VIA1 base address (always present) */ | 151 | #define BI_MAC_VIA1BASE 0x8010 /* Mac VIA1 base address (always present) */ |
diff --git a/arch/m68k/include/asm/cacheflush_mm.h b/arch/m68k/include/asm/cacheflush_mm.h index 16bf375fdbe1..73de7c89d8e0 100644 --- a/arch/m68k/include/asm/cacheflush_mm.h +++ b/arch/m68k/include/asm/cacheflush_mm.h | |||
@@ -128,6 +128,7 @@ static inline void __flush_page_to_ram(void *vaddr) | |||
128 | } | 128 | } |
129 | } | 129 | } |
130 | 130 | ||
131 | #define ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE 1 | ||
131 | #define flush_dcache_page(page) __flush_page_to_ram(page_address(page)) | 132 | #define flush_dcache_page(page) __flush_page_to_ram(page_address(page)) |
132 | #define flush_dcache_mmap_lock(mapping) do { } while (0) | 133 | #define flush_dcache_mmap_lock(mapping) do { } while (0) |
133 | #define flush_dcache_mmap_unlock(mapping) do { } while (0) | 134 | #define flush_dcache_mmap_unlock(mapping) do { } while (0) |
diff --git a/arch/m68k/include/asm/cacheflush_no.h b/arch/m68k/include/asm/cacheflush_no.h index c65f00a94553..89f195656be7 100644 --- a/arch/m68k/include/asm/cacheflush_no.h +++ b/arch/m68k/include/asm/cacheflush_no.h | |||
@@ -12,6 +12,7 @@ | |||
12 | #define flush_cache_range(vma, start, end) __flush_cache_all() | 12 | #define flush_cache_range(vma, start, end) __flush_cache_all() |
13 | #define flush_cache_page(vma, vmaddr) do { } while (0) | 13 | #define flush_cache_page(vma, vmaddr) do { } while (0) |
14 | #define flush_dcache_range(start,len) __flush_cache_all() | 14 | #define flush_dcache_range(start,len) __flush_cache_all() |
15 | #define ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE 0 | ||
15 | #define flush_dcache_page(page) do { } while (0) | 16 | #define flush_dcache_page(page) do { } while (0) |
16 | #define flush_dcache_mmap_lock(mapping) do { } while (0) | 17 | #define flush_dcache_mmap_lock(mapping) do { } while (0) |
17 | #define flush_dcache_mmap_unlock(mapping) do { } while (0) | 18 | #define flush_dcache_mmap_unlock(mapping) do { } while (0) |
diff --git a/arch/m68k/include/asm/elf.h b/arch/m68k/include/asm/elf.h index 0b0f49eb876b..01c193d91412 100644 --- a/arch/m68k/include/asm/elf.h +++ b/arch/m68k/include/asm/elf.h | |||
@@ -59,7 +59,6 @@ typedef struct user_m68kfp_struct elf_fpregset_t; | |||
59 | is actually used on ASV. */ | 59 | is actually used on ASV. */ |
60 | #define ELF_PLAT_INIT(_r, load_addr) _r->a1 = 0 | 60 | #define ELF_PLAT_INIT(_r, load_addr) _r->a1 = 0 |
61 | 61 | ||
62 | #define USE_ELF_CORE_DUMP | ||
63 | #ifndef CONFIG_SUN3 | 62 | #ifndef CONFIG_SUN3 |
64 | #define ELF_EXEC_PAGESIZE 4096 | 63 | #define ELF_EXEC_PAGESIZE 4096 |
65 | #else | 64 | #else |
diff --git a/arch/m68k/include/asm/fbio.h b/arch/m68k/include/asm/fbio.h index b9215a0907d3..0a21da87f7d6 100644 --- a/arch/m68k/include/asm/fbio.h +++ b/arch/m68k/include/asm/fbio.h | |||
@@ -173,7 +173,7 @@ struct mdi_cfginfo { | |||
173 | int mdi_ncluts; /* Number of implemented CLUTs in this MDI */ | 173 | int mdi_ncluts; /* Number of implemented CLUTs in this MDI */ |
174 | int mdi_type; /* FBTYPE name */ | 174 | int mdi_type; /* FBTYPE name */ |
175 | int mdi_height; /* height */ | 175 | int mdi_height; /* height */ |
176 | int mdi_width; /* widht */ | 176 | int mdi_width; /* width */ |
177 | int mdi_size; /* available ram */ | 177 | int mdi_size; /* available ram */ |
178 | int mdi_mode; /* 8bpp, 16bpp or 32bpp */ | 178 | int mdi_mode; /* 8bpp, 16bpp or 32bpp */ |
179 | int mdi_pixfreq; /* pixel clock (from PROM) */ | 179 | int mdi_pixfreq; /* pixel clock (from PROM) */ |
diff --git a/arch/m68k/include/asm/io_no.h b/arch/m68k/include/asm/io_no.h index 7f57436ec18f..6e2413e518cb 100644 --- a/arch/m68k/include/asm/io_no.h +++ b/arch/m68k/include/asm/io_no.h | |||
@@ -3,6 +3,7 @@ | |||
3 | 3 | ||
4 | #ifdef __KERNEL__ | 4 | #ifdef __KERNEL__ |
5 | 5 | ||
6 | #include <asm/virtconvert.h> | ||
6 | 7 | ||
7 | /* | 8 | /* |
8 | * These are for ISA/PCI shared memory _only_ and should never be used | 9 | * These are for ISA/PCI shared memory _only_ and should never be used |
@@ -15,7 +16,7 @@ | |||
15 | * memory location directly. | 16 | * memory location directly. |
16 | */ | 17 | */ |
17 | /* ++roman: The assignments to temp. vars avoid that gcc sometimes generates | 18 | /* ++roman: The assignments to temp. vars avoid that gcc sometimes generates |
18 | * two accesses to memory, which may be undesireable for some devices. | 19 | * two accesses to memory, which may be undesirable for some devices. |
19 | */ | 20 | */ |
20 | 21 | ||
21 | /* | 22 | /* |
@@ -165,19 +166,6 @@ static inline void *ioremap_fullcache(unsigned long physaddr, unsigned long size | |||
165 | 166 | ||
166 | extern void iounmap(void *addr); | 167 | extern void iounmap(void *addr); |
167 | 168 | ||
168 | /* Pages to physical address... */ | ||
169 | #define page_to_phys(page) ((page - mem_map) << PAGE_SHIFT) | ||
170 | #define page_to_bus(page) ((page - mem_map) << PAGE_SHIFT) | ||
171 | |||
172 | /* | ||
173 | * Macros used for converting between virtual and physical mappings. | ||
174 | */ | ||
175 | #define phys_to_virt(vaddr) ((void *) (vaddr)) | ||
176 | #define virt_to_phys(vaddr) ((unsigned long) (vaddr)) | ||
177 | |||
178 | #define virt_to_bus virt_to_phys | ||
179 | #define bus_to_virt phys_to_virt | ||
180 | |||
181 | /* | 169 | /* |
182 | * Convert a physical pointer to a virtual kernel pointer for /dev/mem | 170 | * Convert a physical pointer to a virtual kernel pointer for /dev/mem |
183 | * access | 171 | * access |
diff --git a/arch/m68k/include/asm/machw.h b/arch/m68k/include/asm/machw.h index 2b4de0c2ce4a..a22095164927 100644 --- a/arch/m68k/include/asm/machw.h +++ b/arch/m68k/include/asm/machw.h | |||
@@ -21,29 +21,4 @@ | |||
21 | #define VIDEOMEMSIZE (4096*1024) | 21 | #define VIDEOMEMSIZE (4096*1024) |
22 | #define VIDEOMEMMASK (-4096*1024) | 22 | #define VIDEOMEMMASK (-4096*1024) |
23 | 23 | ||
24 | #ifndef __ASSEMBLY__ | ||
25 | |||
26 | #include <linux/types.h> | ||
27 | |||
28 | #if 0 | ||
29 | /* | ||
30 | ** SCC Z8530 | ||
31 | */ | ||
32 | |||
33 | #define MAC_SCC_BAS (0x50F04000) | ||
34 | struct MAC_SCC | ||
35 | { | ||
36 | u_char cha_a_ctrl; | ||
37 | u_char char_dummy1; | ||
38 | u_char cha_a_data; | ||
39 | u_char char_dummy2; | ||
40 | u_char cha_b_ctrl; | ||
41 | u_char char_dummy3; | ||
42 | u_char cha_b_data; | ||
43 | }; | ||
44 | # define mac_scc ((*(volatile struct SCC*)MAC_SCC_BAS)) | ||
45 | #endif | ||
46 | |||
47 | #endif /* __ASSEMBLY__ */ | ||
48 | |||
49 | #endif /* linux/machw.h */ | 24 | #endif /* linux/machw.h */ |
diff --git a/arch/m68k/include/asm/macints.h b/arch/m68k/include/asm/macints.h index 679c48ab4407..ebe1b70fe90c 100644 --- a/arch/m68k/include/asm/macints.h +++ b/arch/m68k/include/asm/macints.h | |||
@@ -37,7 +37,6 @@ | |||
37 | 37 | ||
38 | #define VIA1_SOURCE_BASE 8 | 38 | #define VIA1_SOURCE_BASE 8 |
39 | #define VIA2_SOURCE_BASE 16 | 39 | #define VIA2_SOURCE_BASE 16 |
40 | #define MAC_SCC_SOURCE_BASE 24 | ||
41 | #define PSC3_SOURCE_BASE 24 | 40 | #define PSC3_SOURCE_BASE 24 |
42 | #define PSC4_SOURCE_BASE 32 | 41 | #define PSC4_SOURCE_BASE 32 |
43 | #define PSC5_SOURCE_BASE 40 | 42 | #define PSC5_SOURCE_BASE 40 |
@@ -96,26 +95,12 @@ | |||
96 | #define IRQ_PSC3_2 (26) | 95 | #define IRQ_PSC3_2 (26) |
97 | #define IRQ_PSC3_3 (27) | 96 | #define IRQ_PSC3_3 (27) |
98 | 97 | ||
99 | /* Level 4 (SCC) interrupts */ | ||
100 | #define IRQ_SCC (32) | ||
101 | #define IRQ_SCCA (33) | ||
102 | #define IRQ_SCCB (34) | ||
103 | #if 0 /* FIXME: are there multiple interrupt conditions on the SCC ?? */ | ||
104 | /* SCC interrupts */ | ||
105 | #define IRQ_SCCB_TX (32) | ||
106 | #define IRQ_SCCB_STAT (33) | ||
107 | #define IRQ_SCCB_RX (34) | ||
108 | #define IRQ_SCCB_SPCOND (35) | ||
109 | #define IRQ_SCCA_TX (36) | ||
110 | #define IRQ_SCCA_STAT (37) | ||
111 | #define IRQ_SCCA_RX (38) | ||
112 | #define IRQ_SCCA_SPCOND (39) | ||
113 | #endif | ||
114 | |||
115 | /* Level 4 (PSC, AV Macs only) interrupts */ | 98 | /* Level 4 (PSC, AV Macs only) interrupts */ |
116 | #define IRQ_PSC4_0 (32) | 99 | #define IRQ_PSC4_0 (32) |
117 | #define IRQ_PSC4_1 (33) | 100 | #define IRQ_PSC4_1 (33) |
101 | #define IRQ_MAC_SCC_A IRQ_PSC4_1 | ||
118 | #define IRQ_PSC4_2 (34) | 102 | #define IRQ_PSC4_2 (34) |
103 | #define IRQ_MAC_SCC_B IRQ_PSC4_2 | ||
119 | #define IRQ_PSC4_3 (35) | 104 | #define IRQ_PSC4_3 (35) |
120 | #define IRQ_MAC_MACE_DMA IRQ_PSC4_3 | 105 | #define IRQ_MAC_MACE_DMA IRQ_PSC4_3 |
121 | 106 | ||
@@ -146,6 +131,9 @@ | |||
146 | #define IRQ_BABOON_2 (66) | 131 | #define IRQ_BABOON_2 (66) |
147 | #define IRQ_BABOON_3 (67) | 132 | #define IRQ_BABOON_3 (67) |
148 | 133 | ||
134 | /* On non-PSC machines, the serial ports share an IRQ */ | ||
135 | #define IRQ_MAC_SCC IRQ_AUTO_4 | ||
136 | |||
149 | #define SLOT2IRQ(x) (x + 47) | 137 | #define SLOT2IRQ(x) (x + 47) |
150 | #define IRQ2SLOT(x) (x - 47) | 138 | #define IRQ2SLOT(x) (x - 47) |
151 | 139 | ||
diff --git a/arch/m68k/include/asm/mcfuart.h b/arch/m68k/include/asm/mcfuart.h index ef2293873612..01a8716c5fc5 100644 --- a/arch/m68k/include/asm/mcfuart.h +++ b/arch/m68k/include/asm/mcfuart.h | |||
@@ -212,5 +212,10 @@ struct mcf_platform_uart { | |||
212 | #define MCFUART_URF_RXS 0xc0 /* Receiver status */ | 212 | #define MCFUART_URF_RXS 0xc0 /* Receiver status */ |
213 | #endif | 213 | #endif |
214 | 214 | ||
215 | #if defined(CONFIG_M5272) | ||
216 | #define MCFUART_TXFIFOSIZE 25 | ||
217 | #else | ||
218 | #define MCFUART_TXFIFOSIZE 1 | ||
219 | #endif | ||
215 | /****************************************************************************/ | 220 | /****************************************************************************/ |
216 | #endif /* mcfuart_h */ | 221 | #endif /* mcfuart_h */ |
diff --git a/arch/m68k/include/asm/page_no.h b/arch/m68k/include/asm/page_no.h index 1f31b060cc8d..8029a33e03c3 100644 --- a/arch/m68k/include/asm/page_no.h +++ b/arch/m68k/include/asm/page_no.h | |||
@@ -56,8 +56,8 @@ extern unsigned long memory_end; | |||
56 | 56 | ||
57 | #ifndef __ASSEMBLY__ | 57 | #ifndef __ASSEMBLY__ |
58 | 58 | ||
59 | #define __pa(vaddr) virt_to_phys((void *)(vaddr)) | 59 | #define __pa(vaddr) ((unsigned long)(vaddr)) |
60 | #define __va(paddr) phys_to_virt((unsigned long)(paddr)) | 60 | #define __va(paddr) ((void *)(paddr)) |
61 | 61 | ||
62 | #define virt_to_pfn(kaddr) (__pa(kaddr) >> PAGE_SHIFT) | 62 | #define virt_to_pfn(kaddr) (__pa(kaddr) >> PAGE_SHIFT) |
63 | #define pfn_to_virt(pfn) __va((pfn) << PAGE_SHIFT) | 63 | #define pfn_to_virt(pfn) __va((pfn) << PAGE_SHIFT) |
diff --git a/arch/m68k/include/asm/pgtable_mm.h b/arch/m68k/include/asm/pgtable_mm.h index fe60e1abaee8..87174c904d2b 100644 --- a/arch/m68k/include/asm/pgtable_mm.h +++ b/arch/m68k/include/asm/pgtable_mm.h | |||
@@ -83,9 +83,9 @@ | |||
83 | #define VMALLOC_START (((unsigned long) high_memory + VMALLOC_OFFSET) & ~(VMALLOC_OFFSET-1)) | 83 | #define VMALLOC_START (((unsigned long) high_memory + VMALLOC_OFFSET) & ~(VMALLOC_OFFSET-1)) |
84 | #define VMALLOC_END KMAP_START | 84 | #define VMALLOC_END KMAP_START |
85 | #else | 85 | #else |
86 | extern unsigned long vmalloc_end; | 86 | extern unsigned long m68k_vmalloc_end; |
87 | #define VMALLOC_START 0x0f800000 | 87 | #define VMALLOC_START 0x0f800000 |
88 | #define VMALLOC_END vmalloc_end | 88 | #define VMALLOC_END m68k_vmalloc_end |
89 | #endif /* CONFIG_SUN3 */ | 89 | #endif /* CONFIG_SUN3 */ |
90 | 90 | ||
91 | /* zero page used for uninitialized stuff */ | 91 | /* zero page used for uninitialized stuff */ |
@@ -115,7 +115,7 @@ extern void kernel_set_cachemode(void *addr, unsigned long size, int cmode); | |||
115 | * they are updated on demand. | 115 | * they are updated on demand. |
116 | */ | 116 | */ |
117 | static inline void update_mmu_cache(struct vm_area_struct *vma, | 117 | static inline void update_mmu_cache(struct vm_area_struct *vma, |
118 | unsigned long address, pte_t pte) | 118 | unsigned long address, pte_t *ptep) |
119 | { | 119 | { |
120 | } | 120 | } |
121 | 121 | ||
diff --git a/arch/m68k/include/asm/processor.h b/arch/m68k/include/asm/processor.h index 74fd674b15ad..cbd3d4751dd2 100644 --- a/arch/m68k/include/asm/processor.h +++ b/arch/m68k/include/asm/processor.h | |||
@@ -165,6 +165,8 @@ unsigned long get_wchan(struct task_struct *p); | |||
165 | eip; }) | 165 | eip; }) |
166 | #define KSTK_ESP(tsk) ((tsk) == current ? rdusp() : (tsk)->thread.usp) | 166 | #define KSTK_ESP(tsk) ((tsk) == current ? rdusp() : (tsk)->thread.usp) |
167 | 167 | ||
168 | #define task_pt_regs(tsk) ((struct pt_regs *) ((tsk)->thread.esp0)) | ||
169 | |||
168 | #define cpu_relax() barrier() | 170 | #define cpu_relax() barrier() |
169 | 171 | ||
170 | #endif | 172 | #endif |
diff --git a/arch/m68k/include/asm/ptrace.h b/arch/m68k/include/asm/ptrace.h index 8c9194b98548..6e6e3ac1d913 100644 --- a/arch/m68k/include/asm/ptrace.h +++ b/arch/m68k/include/asm/ptrace.h | |||
@@ -71,6 +71,10 @@ struct switch_stack { | |||
71 | #define PTRACE_GETFPREGS 14 | 71 | #define PTRACE_GETFPREGS 14 |
72 | #define PTRACE_SETFPREGS 15 | 72 | #define PTRACE_SETFPREGS 15 |
73 | 73 | ||
74 | #define PTRACE_GET_THREAD_AREA 25 | ||
75 | |||
76 | #define PTRACE_SINGLEBLOCK 33 /* resume execution until next branch */ | ||
77 | |||
74 | #ifdef __KERNEL__ | 78 | #ifdef __KERNEL__ |
75 | 79 | ||
76 | #ifndef PS_S | 80 | #ifndef PS_S |
@@ -82,6 +86,13 @@ struct switch_stack { | |||
82 | #define instruction_pointer(regs) ((regs)->pc) | 86 | #define instruction_pointer(regs) ((regs)->pc) |
83 | #define profile_pc(regs) instruction_pointer(regs) | 87 | #define profile_pc(regs) instruction_pointer(regs) |
84 | extern void show_regs(struct pt_regs *); | 88 | extern void show_regs(struct pt_regs *); |
89 | |||
90 | #define arch_has_single_step() (1) | ||
91 | |||
92 | #ifdef CONFIG_MMU | ||
93 | #define arch_has_block_step() (1) | ||
94 | #endif | ||
95 | |||
85 | #endif /* __KERNEL__ */ | 96 | #endif /* __KERNEL__ */ |
86 | #endif /* __ASSEMBLY__ */ | 97 | #endif /* __ASSEMBLY__ */ |
87 | #endif /* _M68K_PTRACE_H */ | 98 | #endif /* _M68K_PTRACE_H */ |
diff --git a/arch/m68k/include/asm/sigcontext.h b/arch/m68k/include/asm/sigcontext.h index 523db2a51cf3..a29dd74a17cb 100644 --- a/arch/m68k/include/asm/sigcontext.h +++ b/arch/m68k/include/asm/sigcontext.h | |||
@@ -15,7 +15,11 @@ struct sigcontext { | |||
15 | unsigned long sc_pc; | 15 | unsigned long sc_pc; |
16 | unsigned short sc_formatvec; | 16 | unsigned short sc_formatvec; |
17 | #ifndef __uClinux__ | 17 | #ifndef __uClinux__ |
18 | # ifdef __mcoldfire__ | ||
19 | unsigned long sc_fpregs[2][2]; /* room for two fp registers */ | ||
20 | # else | ||
18 | unsigned long sc_fpregs[2*3]; /* room for two fp registers */ | 21 | unsigned long sc_fpregs[2*3]; /* room for two fp registers */ |
22 | # endif | ||
19 | unsigned long sc_fpcntl[3]; | 23 | unsigned long sc_fpcntl[3]; |
20 | unsigned char sc_fpstate[216]; | 24 | unsigned char sc_fpstate[216]; |
21 | #endif | 25 | #endif |
diff --git a/arch/m68k/include/asm/siginfo.h b/arch/m68k/include/asm/siginfo.h index ca7dde8fd223..851d3d784b53 100644 --- a/arch/m68k/include/asm/siginfo.h +++ b/arch/m68k/include/asm/siginfo.h | |||
@@ -1,97 +1,6 @@ | |||
1 | #ifndef _M68K_SIGINFO_H | 1 | #ifndef _M68K_SIGINFO_H |
2 | #define _M68K_SIGINFO_H | 2 | #define _M68K_SIGINFO_H |
3 | 3 | ||
4 | #ifndef __uClinux__ | ||
5 | #define HAVE_ARCH_SIGINFO_T | ||
6 | #define HAVE_ARCH_COPY_SIGINFO | ||
7 | #endif | ||
8 | |||
9 | #include <asm-generic/siginfo.h> | 4 | #include <asm-generic/siginfo.h> |
10 | 5 | ||
11 | #ifndef __uClinux__ | ||
12 | |||
13 | typedef struct siginfo { | ||
14 | int si_signo; | ||
15 | int si_errno; | ||
16 | int si_code; | ||
17 | |||
18 | union { | ||
19 | int _pad[SI_PAD_SIZE]; | ||
20 | |||
21 | /* kill() */ | ||
22 | struct { | ||
23 | __kernel_pid_t _pid; /* sender's pid */ | ||
24 | __kernel_uid_t _uid; /* backwards compatibility */ | ||
25 | __kernel_uid32_t _uid32; /* sender's uid */ | ||
26 | } _kill; | ||
27 | |||
28 | /* POSIX.1b timers */ | ||
29 | struct { | ||
30 | timer_t _tid; /* timer id */ | ||
31 | int _overrun; /* overrun count */ | ||
32 | char _pad[sizeof( __ARCH_SI_UID_T) - sizeof(int)]; | ||
33 | sigval_t _sigval; /* same as below */ | ||
34 | int _sys_private; /* not to be passed to user */ | ||
35 | } _timer; | ||
36 | |||
37 | /* POSIX.1b signals */ | ||
38 | struct { | ||
39 | __kernel_pid_t _pid; /* sender's pid */ | ||
40 | __kernel_uid_t _uid; /* backwards compatibility */ | ||
41 | sigval_t _sigval; | ||
42 | __kernel_uid32_t _uid32; /* sender's uid */ | ||
43 | } _rt; | ||
44 | |||
45 | /* SIGCHLD */ | ||
46 | struct { | ||
47 | __kernel_pid_t _pid; /* which child */ | ||
48 | __kernel_uid_t _uid; /* backwards compatibility */ | ||
49 | int _status; /* exit code */ | ||
50 | clock_t _utime; | ||
51 | clock_t _stime; | ||
52 | __kernel_uid32_t _uid32; /* sender's uid */ | ||
53 | } _sigchld; | ||
54 | |||
55 | /* SIGILL, SIGFPE, SIGSEGV, SIGBUS */ | ||
56 | struct { | ||
57 | void *_addr; /* faulting insn/memory ref. */ | ||
58 | } _sigfault; | ||
59 | |||
60 | /* SIGPOLL */ | ||
61 | struct { | ||
62 | int _band; /* POLL_IN, POLL_OUT, POLL_MSG */ | ||
63 | int _fd; | ||
64 | } _sigpoll; | ||
65 | } _sifields; | ||
66 | } siginfo_t; | ||
67 | |||
68 | #define UID16_SIGINFO_COMPAT_NEEDED | ||
69 | |||
70 | /* | ||
71 | * How these fields are to be accessed. | ||
72 | */ | ||
73 | #undef si_uid | ||
74 | #ifdef __KERNEL__ | ||
75 | #define si_uid _sifields._kill._uid32 | ||
76 | #define si_uid16 _sifields._kill._uid | ||
77 | #else | ||
78 | #define si_uid _sifields._kill._uid | ||
79 | #endif | ||
80 | |||
81 | #ifdef __KERNEL__ | ||
82 | |||
83 | #include <linux/string.h> | ||
84 | |||
85 | static inline void copy_siginfo(struct siginfo *to, struct siginfo *from) | ||
86 | { | ||
87 | if (from->si_code < 0) | ||
88 | memcpy(to, from, sizeof(*to)); | ||
89 | else | ||
90 | /* _sigchld is currently the largest know union member */ | ||
91 | memcpy(to, from, 3*sizeof(int) + sizeof(from->_sifields._sigchld)); | ||
92 | } | ||
93 | |||
94 | #endif /* __KERNEL__ */ | ||
95 | #endif /* !__uClinux__ */ | ||
96 | |||
97 | #endif | 6 | #endif |
diff --git a/arch/m68k/include/asm/socket.h b/arch/m68k/include/asm/socket.h index eee01cce921b..9bf49c87d954 100644 --- a/arch/m68k/include/asm/socket.h +++ b/arch/m68k/include/asm/socket.h | |||
@@ -60,4 +60,6 @@ | |||
60 | #define SO_PROTOCOL 38 | 60 | #define SO_PROTOCOL 38 |
61 | #define SO_DOMAIN 39 | 61 | #define SO_DOMAIN 39 |
62 | 62 | ||
63 | #define SO_RXQ_OVFL 40 | ||
64 | |||
63 | #endif /* _ASM_SOCKET_H */ | 65 | #endif /* _ASM_SOCKET_H */ |
diff --git a/arch/m68k/include/asm/swab.h b/arch/m68k/include/asm/swab.h index 5b754aace744..b7b37a40defc 100644 --- a/arch/m68k/include/asm/swab.h +++ b/arch/m68k/include/asm/swab.h | |||
@@ -14,7 +14,7 @@ static inline __attribute_const__ __u32 __arch_swab32(__u32 val) | |||
14 | } | 14 | } |
15 | 15 | ||
16 | #define __arch_swab32 __arch_swab32 | 16 | #define __arch_swab32 __arch_swab32 |
17 | #elif !defined(__uClinux__) | 17 | #elif !defined(__mcoldfire__) |
18 | 18 | ||
19 | static inline __attribute_const__ __u32 __arch_swab32(__u32 val) | 19 | static inline __attribute_const__ __u32 __arch_swab32(__u32 val) |
20 | { | 20 | { |
diff --git a/arch/m68k/include/asm/thread_info_mm.h b/arch/m68k/include/asm/thread_info_mm.h index b6da3882be9b..67266c683453 100644 --- a/arch/m68k/include/asm/thread_info_mm.h +++ b/arch/m68k/include/asm/thread_info_mm.h | |||
@@ -4,18 +4,22 @@ | |||
4 | #ifndef ASM_OFFSETS_C | 4 | #ifndef ASM_OFFSETS_C |
5 | #include <asm/asm-offsets.h> | 5 | #include <asm/asm-offsets.h> |
6 | #endif | 6 | #endif |
7 | #include <asm/current.h> | ||
8 | #include <asm/types.h> | 7 | #include <asm/types.h> |
9 | #include <asm/page.h> | 8 | #include <asm/page.h> |
10 | 9 | ||
10 | #ifndef __ASSEMBLY__ | ||
11 | #include <asm/current.h> | ||
12 | |||
11 | struct thread_info { | 13 | struct thread_info { |
12 | struct task_struct *task; /* main task structure */ | 14 | struct task_struct *task; /* main task structure */ |
13 | unsigned long flags; | 15 | unsigned long flags; |
14 | struct exec_domain *exec_domain; /* execution domain */ | 16 | struct exec_domain *exec_domain; /* execution domain */ |
15 | int preempt_count; /* 0 => preemptable, <0 => BUG */ | 17 | int preempt_count; /* 0 => preemptable, <0 => BUG */ |
16 | __u32 cpu; /* should always be 0 on m68k */ | 18 | __u32 cpu; /* should always be 0 on m68k */ |
19 | unsigned long tp_value; /* thread pointer */ | ||
17 | struct restart_block restart_block; | 20 | struct restart_block restart_block; |
18 | }; | 21 | }; |
22 | #endif /* __ASSEMBLY__ */ | ||
19 | 23 | ||
20 | #define PREEMPT_ACTIVE 0x4000000 | 24 | #define PREEMPT_ACTIVE 0x4000000 |
21 | 25 | ||
diff --git a/arch/m68k/include/asm/thread_info_no.h b/arch/m68k/include/asm/thread_info_no.h index c2bde5e24b0b..884776f686ca 100644 --- a/arch/m68k/include/asm/thread_info_no.h +++ b/arch/m68k/include/asm/thread_info_no.h | |||
@@ -12,8 +12,6 @@ | |||
12 | 12 | ||
13 | #ifdef __KERNEL__ | 13 | #ifdef __KERNEL__ |
14 | 14 | ||
15 | #ifndef __ASSEMBLY__ | ||
16 | |||
17 | /* | 15 | /* |
18 | * Size of kernel stack for each process. This must be a power of 2... | 16 | * Size of kernel stack for each process. This must be a power of 2... |
19 | */ | 17 | */ |
@@ -28,6 +26,8 @@ | |||
28 | */ | 26 | */ |
29 | #define THREAD_SIZE (PAGE_SIZE<<THREAD_SIZE_ORDER) | 27 | #define THREAD_SIZE (PAGE_SIZE<<THREAD_SIZE_ORDER) |
30 | 28 | ||
29 | #ifndef __ASSEMBLY__ | ||
30 | |||
31 | /* | 31 | /* |
32 | * low level task data. | 32 | * low level task data. |
33 | */ | 33 | */ |
@@ -37,6 +37,7 @@ struct thread_info { | |||
37 | unsigned long flags; /* low level flags */ | 37 | unsigned long flags; /* low level flags */ |
38 | int cpu; /* cpu we're on */ | 38 | int cpu; /* cpu we're on */ |
39 | int preempt_count; /* 0 => preemptable, <0 => BUG */ | 39 | int preempt_count; /* 0 => preemptable, <0 => BUG */ |
40 | unsigned long tp_value; /* thread pointer */ | ||
40 | struct restart_block restart_block; | 41 | struct restart_block restart_block; |
41 | }; | 42 | }; |
42 | 43 | ||
diff --git a/arch/m68k/include/asm/ucontext.h b/arch/m68k/include/asm/ucontext.h index e4e22669edc0..00dcc5176c57 100644 --- a/arch/m68k/include/asm/ucontext.h +++ b/arch/m68k/include/asm/ucontext.h | |||
@@ -7,7 +7,11 @@ typedef greg_t gregset_t[NGREG]; | |||
7 | 7 | ||
8 | typedef struct fpregset { | 8 | typedef struct fpregset { |
9 | int f_fpcntl[3]; | 9 | int f_fpcntl[3]; |
10 | #ifdef __mcoldfire__ | ||
11 | int f_fpregs[8][2]; | ||
12 | #else | ||
10 | int f_fpregs[8*3]; | 13 | int f_fpregs[8*3]; |
14 | #endif | ||
11 | } fpregset_t; | 15 | } fpregset_t; |
12 | 16 | ||
13 | struct mcontext { | 17 | struct mcontext { |
diff --git a/arch/m68k/include/asm/unistd.h b/arch/m68k/include/asm/unistd.h index 48b87f5ced50..60b15d0aa072 100644 --- a/arch/m68k/include/asm/unistd.h +++ b/arch/m68k/include/asm/unistd.h | |||
@@ -336,10 +336,14 @@ | |||
336 | #define __NR_pwritev 330 | 336 | #define __NR_pwritev 330 |
337 | #define __NR_rt_tgsigqueueinfo 331 | 337 | #define __NR_rt_tgsigqueueinfo 331 |
338 | #define __NR_perf_event_open 332 | 338 | #define __NR_perf_event_open 332 |
339 | #define __NR_get_thread_area 333 | ||
340 | #define __NR_set_thread_area 334 | ||
341 | #define __NR_atomic_cmpxchg_32 335 | ||
342 | #define __NR_atomic_barrier 336 | ||
339 | 343 | ||
340 | #ifdef __KERNEL__ | 344 | #ifdef __KERNEL__ |
341 | 345 | ||
342 | #define NR_syscalls 333 | 346 | #define NR_syscalls 337 |
343 | 347 | ||
344 | #define __ARCH_WANT_IPC_PARSE_VERSION | 348 | #define __ARCH_WANT_IPC_PARSE_VERSION |
345 | #define __ARCH_WANT_OLD_READDIR | 349 | #define __ARCH_WANT_OLD_READDIR |
@@ -347,6 +351,7 @@ | |||
347 | #define __ARCH_WANT_STAT64 | 351 | #define __ARCH_WANT_STAT64 |
348 | #define __ARCH_WANT_SYS_ALARM | 352 | #define __ARCH_WANT_SYS_ALARM |
349 | #define __ARCH_WANT_SYS_GETHOSTNAME | 353 | #define __ARCH_WANT_SYS_GETHOSTNAME |
354 | #define __ARCH_WANT_SYS_IPC | ||
350 | #define __ARCH_WANT_SYS_PAUSE | 355 | #define __ARCH_WANT_SYS_PAUSE |
351 | #define __ARCH_WANT_SYS_SGETMASK | 356 | #define __ARCH_WANT_SYS_SGETMASK |
352 | #define __ARCH_WANT_SYS_SIGNAL | 357 | #define __ARCH_WANT_SYS_SIGNAL |
@@ -359,6 +364,8 @@ | |||
359 | #define __ARCH_WANT_SYS_LLSEEK | 364 | #define __ARCH_WANT_SYS_LLSEEK |
360 | #define __ARCH_WANT_SYS_NICE | 365 | #define __ARCH_WANT_SYS_NICE |
361 | #define __ARCH_WANT_SYS_OLD_GETRLIMIT | 366 | #define __ARCH_WANT_SYS_OLD_GETRLIMIT |
367 | #define __ARCH_WANT_SYS_OLD_MMAP | ||
368 | #define __ARCH_WANT_SYS_OLD_SELECT | ||
362 | #define __ARCH_WANT_SYS_OLDUMOUNT | 369 | #define __ARCH_WANT_SYS_OLDUMOUNT |
363 | #define __ARCH_WANT_SYS_SIGPENDING | 370 | #define __ARCH_WANT_SYS_SIGPENDING |
364 | #define __ARCH_WANT_SYS_SIGPROCMASK | 371 | #define __ARCH_WANT_SYS_SIGPROCMASK |
diff --git a/arch/m68k/include/asm/virtconvert.h b/arch/m68k/include/asm/virtconvert.h index 22ab05c9c52b..f35229b8651d 100644 --- a/arch/m68k/include/asm/virtconvert.h +++ b/arch/m68k/include/asm/virtconvert.h | |||
@@ -26,16 +26,15 @@ static inline void *phys_to_virt(unsigned long address) | |||
26 | } | 26 | } |
27 | 27 | ||
28 | /* Permanent address of a page. */ | 28 | /* Permanent address of a page. */ |
29 | #ifdef CONFIG_MMU | ||
29 | #ifdef CONFIG_SINGLE_MEMORY_CHUNK | 30 | #ifdef CONFIG_SINGLE_MEMORY_CHUNK |
30 | #define page_to_phys(page) \ | 31 | #define page_to_phys(page) \ |
31 | __pa(PAGE_OFFSET + (((page) - pg_data_map[0].node_mem_map) << PAGE_SHIFT)) | 32 | __pa(PAGE_OFFSET + (((page) - pg_data_map[0].node_mem_map) << PAGE_SHIFT)) |
32 | #else | 33 | #else |
33 | #define page_to_phys(_page) ({ \ | 34 | #define page_to_phys(page) (page_to_pfn(page) << PAGE_SHIFT) |
34 | struct page *__page = _page; \ | 35 | #endif |
35 | struct pglist_data *pgdat; \ | 36 | #else |
36 | pgdat = pg_data_table[page_to_nid(__page)]; \ | 37 | #define page_to_phys(page) (((page) - mem_map) << PAGE_SHIFT) |
37 | page_to_pfn(__page) << PAGE_SHIFT; \ | ||
38 | }) | ||
39 | #endif | 38 | #endif |
40 | 39 | ||
41 | /* | 40 | /* |