module.c (11e4afb49b7fa1fc8e1ffd850c1806dd86a08204) module.c (dff9d3c215251022dd8bb3823c9f75edb4b63fe9)
1/* Kernel module help for sparc64.
2 *
3 * Copyright (C) 2001 Rusty Russell.
4 * Copyright (C) 2002 David S. Miller.
5 */
6
7#include <linux/moduleloader.h>
8#include <linux/kernel.h>

--- 4 unchanged lines hidden (view full) ---

13#include <linux/string.h>
14#include <linux/ctype.h>
15#include <linux/mm.h>
16
17#include <asm/processor.h>
18#include <asm/spitfire.h>
19
20#ifdef CONFIG_SPARC64
1/* Kernel module help for sparc64.
2 *
3 * Copyright (C) 2001 Rusty Russell.
4 * Copyright (C) 2002 David S. Miller.
5 */
6
7#include <linux/moduleloader.h>
8#include <linux/kernel.h>

--- 4 unchanged lines hidden (view full) ---

13#include <linux/string.h>
14#include <linux/ctype.h>
15#include <linux/mm.h>
16
17#include <asm/processor.h>
18#include <asm/spitfire.h>
19
20#ifdef CONFIG_SPARC64
21
22#include <linux/jump_label.h>
23
21static void *module_map(unsigned long size)
22{
23 struct vm_struct *area;
24
25 size = PAGE_ALIGN(size);
26 if (!size || size > MODULES_LEN)
27 return NULL;
28

--- 193 unchanged lines hidden (view full) ---

222 return 0;
223}
224
225#ifdef CONFIG_SPARC64
226int module_finalize(const Elf_Ehdr *hdr,
227 const Elf_Shdr *sechdrs,
228 struct module *me)
229{
24static void *module_map(unsigned long size)
25{
26 struct vm_struct *area;
27
28 size = PAGE_ALIGN(size);
29 if (!size || size > MODULES_LEN)
30 return NULL;
31

--- 193 unchanged lines hidden (view full) ---

225 return 0;
226}
227
228#ifdef CONFIG_SPARC64
229int module_finalize(const Elf_Ehdr *hdr,
230 const Elf_Shdr *sechdrs,
231 struct module *me)
232{
233 /* make jump label nops */
234 jump_label_apply_nops(me);
235
230 /* Cheetah's I-cache is fully coherent. */
231 if (tlb_type == spitfire) {
232 unsigned long va;
233
234 flushw_all();
235 for (va = 0; va < (PAGE_SIZE << 1); va += 32)
236 spitfire_put_icache_tag(va, 0x0);
237 __asm__ __volatile__("flush %g6");

--- 16 unchanged lines hidden ---
236 /* Cheetah's I-cache is fully coherent. */
237 if (tlb_type == spitfire) {
238 unsigned long va;
239
240 flushw_all();
241 for (va = 0; va < (PAGE_SIZE << 1); va += 32)
242 spitfire_put_icache_tag(va, 0x0);
243 __asm__ __volatile__("flush %g6");

--- 16 unchanged lines hidden ---