]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/powerpc/kernel/module_64.c
powerpc: Move common module code into its own file
[linux-2.6-omap-h63xx.git] / arch / powerpc / kernel / module_64.c
index 3a82b02b784b0c8a4d8da7467b8c7d4410cf9ea4..4803f2de98dd58ff6eb93748d4c750bf069d2073 100644 (file)
@@ -101,22 +101,6 @@ static unsigned int count_relocs(const Elf64_Rela *rela, unsigned int num)
        return _count_relocs;
 }
 
-void *module_alloc(unsigned long size)
-{
-       if (size == 0)
-               return NULL;
-
-       return vmalloc_exec(size);
-}
-
-/* Free memory returned from module_alloc */
-void module_free(struct module *mod, void *module_region)
-{
-       vfree(module_region);
-       /* FIXME: If module_region == mod->init_region, trim exception
-           table entries. */
-}
-
 static int relacmp(const void *_x, const void *_y)
 {
        const Elf64_Rela *x, *y;
@@ -466,65 +450,3 @@ int apply_relocate_add(Elf64_Shdr *sechdrs,
 
        return 0;
 }
-
-LIST_HEAD(module_bug_list);
-
-static const Elf_Shdr *find_section(const Elf_Ehdr *hdr,
-                                   const Elf_Shdr *sechdrs,
-                                   const char *name)
-{
-       char *secstrings;
-       unsigned int i;
-
-       secstrings = (char *)hdr + sechdrs[hdr->e_shstrndx].sh_offset;
-       for (i = 1; i < hdr->e_shnum; i++)
-               if (strcmp(secstrings+sechdrs[i].sh_name, name) == 0)
-                       return &sechdrs[i];
-       return NULL;
-}
-
-int module_finalize(const Elf_Ehdr *hdr,
-               const Elf_Shdr *sechdrs, struct module *me)
-{
-       const Elf_Shdr *sect;
-       int err;
-
-       err = module_bug_finalize(hdr, sechdrs, me);
-       if (err)
-               return err;
-
-       /* Apply feature fixups */
-       sect = find_section(hdr, sechdrs, "__ftr_fixup");
-       if (sect != NULL)
-               do_feature_fixups(cur_cpu_spec->cpu_features,
-                                 (void *)sect->sh_addr,
-                                 (void *)sect->sh_addr + sect->sh_size);
-
-       sect = find_section(hdr, sechdrs, "__fw_ftr_fixup");
-       if (sect != NULL)
-               do_feature_fixups(powerpc_firmware_features,
-                                 (void *)sect->sh_addr,
-                                 (void *)sect->sh_addr + sect->sh_size);
-
-       return 0;
-}
-
-void module_arch_cleanup(struct module *mod)
-{
-       module_bug_cleanup(mod);
-}
-
-struct bug_entry *module_find_bug(unsigned long bugaddr)
-{
-       struct mod_arch_specific *mod;
-       unsigned int i;
-       struct bug_entry *bug;
-
-       list_for_each_entry(mod, &module_bug_list, bug_list) {
-               bug = mod->bug_table;
-               for (i = 0; i < mod->num_bugs; ++i, ++bug)
-                       if (bugaddr == bug->bug_addr)
-                               return bug;
-       }
-       return NULL;
-}