/* The alignment of the vDSO */
#define VDSO_ALIGNMENT (1 << 16)
-static void *vdso32_kbase;
-
extern char vdso32_start, vdso32_end;
extern char vdso64_start, vdso64_end;
-static void *vdso64_kbase = &vdso64_start;
static int vdso_ready;
} vdso_data_store __page_aligned_data;
struct vdso_arch_data *vdso_data = &vdso_data_store.data;
-/*
- * Some infos carried around for each of them during parsing at
- * boot time.
- */
-struct lib32_elfinfo
-{
- Elf32_Ehdr *hdr; /* ptr to ELF */
-};
-
-struct lib64_elfinfo
-{
- Elf64_Ehdr *hdr;
-};
-
static int vdso_mremap(const struct vm_special_mapping *sm, struct vm_area_struct *new_vma,
unsigned long text_size)
{
do_##type##_fixups((value), __start, __end); \
} while (0)
-static __init int vdso_fixup_features(struct lib32_elfinfo *v32,
- struct lib64_elfinfo *v64)
+static int __init vdso_fixup_features(void)
{
#ifdef CONFIG_PPC64
VDSO_DO_FIXUPS(feature, cur_cpu_spec->cpu_features, 64, ftr_fixup);
static __init int vdso_setup(void)
{
- struct lib32_elfinfo v32;
- struct lib64_elfinfo v64;
-
- v32.hdr = vdso32_kbase;
- v64.hdr = vdso64_kbase;
- if (vdso_fixup_features(&v32, &v64))
+ if (vdso_fixup_features())
return -1;
return 0;
vdso_data->icache_log_block_size = ppc64_caches.l1i.log_block_size;
#endif /* CONFIG_PPC64 */
- vdso32_kbase = &vdso32_start;
-
vdso_setup_syscall_map();
/*