Displaying 9 results from an estimated 9 matches for "vdso_high_base".
2007 Apr 18
2
[RFC, PATCH] Fixup COMPAT_VDSO to work with CONFIG_PARAVIRT
...syscall_pages[1];
=
+#ifdef CONFIG_COMPAT_VDSO
+static void fixup_vsyscall_elf(char *page)
+{
+ Elf32_Ehdr *hdr;
+ Elf32_Shdr *sechdrs;
+ Elf32_Phdr *phdr;
+ char *secstrings;
+ int i, j, n;
+
+ hdr =3D (Elf32_Ehdr *)page;
+ =
+ printk("Remapping vsyscall page to %08x\n", (unsigned int)VDSO_HIGH_BASE);
+
+ /* Sanity checks against insmoding binaries or wrong arch,
+ weird elf version */
+ if (memcmp(hdr->e_ident, ELFMAG, 4) !=3D 0 ||
+ !elf_check_arch(hdr) ||
+ hdr->e_type !=3D ET_DYN)
+ panic("Bogus ELF in vsyscall DSO\n");
+
+ hdr->e_entry +=3D VDSO_HIGH_BASE;...
2007 Apr 18
2
[RFC, PATCH] Fixup COMPAT_VDSO to work with CONFIG_PARAVIRT
...syscall_pages[1];
=
+#ifdef CONFIG_COMPAT_VDSO
+static void fixup_vsyscall_elf(char *page)
+{
+ Elf32_Ehdr *hdr;
+ Elf32_Shdr *sechdrs;
+ Elf32_Phdr *phdr;
+ char *secstrings;
+ int i, j, n;
+
+ hdr =3D (Elf32_Ehdr *)page;
+ =
+ printk("Remapping vsyscall page to %08x\n", (unsigned int)VDSO_HIGH_BASE);
+
+ /* Sanity checks against insmoding binaries or wrong arch,
+ weird elf version */
+ if (memcmp(hdr->e_ident, ELFMAG, 4) !=3D 0 ||
+ !elf_check_arch(hdr) ||
+ hdr->e_type !=3D ET_DYN)
+ panic("Bogus ELF in vsyscall DSO\n");
+
+ hdr->e_entry +=3D VDSO_HIGH_BASE;...
2007 Apr 18
4
[patch 0/2] Updates to compat VDSOs
Hi Andi,
Here's a couple of patches to fix up COMPAT_VDSO:
The first is a straightforward implementation of Jan's original idea
of relocating the VDSO to match its mapped location. Unlike Jan and
Zach's version, I changed it to relocate based on the phdrs rather than
the sections; the result is pleasantly compact.
The second patch takes advantage of the fact that all the
2007 Apr 18
4
[patch 0/2] Updates to compat VDSOs
Hi Andi,
Here's a couple of patches to fix up COMPAT_VDSO:
The first is a straightforward implementation of Jan's original idea
of relocating the VDSO to match its mapped location. Unlike Jan and
Zach's version, I changed it to relocate based on the phdrs rather than
the sections; the result is pleasantly compact.
The second patch takes advantage of the fact that all the
2007 Apr 18
4
[patch 0/4] Clean up asm/bugs.h, identify_cpu() and update COMPAT_VDSO
Hi Andi,
Four patches:
- clean up asm/bugs.h, by moving all the C code into its own C file
- split identify_cpu() into boot and secondary variants, so that
boot-time setup functions can be marked __init
- repost of the COMPAT_VDSO patches with a bit more robustness from
unknown DT_tags, and functions marked __init, since all this is
boot-time only setup.
Thanks,
J
--
2007 Apr 18
4
[patch 0/4] Clean up asm/bugs.h, identify_cpu() and update COMPAT_VDSO
Hi Andi,
Four patches:
- clean up asm/bugs.h, by moving all the C code into its own C file
- split identify_cpu() into boot and secondary variants, so that
boot-time setup functions can be marked __init
- repost of the COMPAT_VDSO patches with a bit more robustness from
unknown DT_tags, and functions marked __init, since all this is
boot-time only setup.
Thanks,
J
--
2007 Mar 05
7
[PATCH 2/10] linux 2.6.18: COMPAT_VDSO
...==================
--- head-2007-02-27.orig/include/asm-i386/elf.h 2007-03-05 10:00:18.000000000 +0100
+++ head-2007-02-27/include/asm-i386/elf.h 2007-02-27 16:27:37.000000000 +0100
@@ -137,7 +137,11 @@ extern int dump_task_extended_fpu (struc
#ifdef CONFIG_COMPAT_VDSO
# define VDSO_COMPAT_BASE VDSO_HIGH_BASE
-# define VDSO_PRELINK VDSO_HIGH_BASE
+# ifndef CONFIG_XEN
+# define VDSO_PRELINK VDSO_HIGH_BASE
+# else
+# define VDSO_PRELINK (0UL - FIX_VDSO * PAGE_SIZE)
+# endif
#else
# define VDSO_COMPAT_BASE VDSO_BASE
# define VDSO_PRELINK 0
_______________________________________________
Xen-dev...
2007 Mar 05
7
[PATCH 2/10] linux 2.6.18: COMPAT_VDSO
...==================
--- head-2007-02-27.orig/include/asm-i386/elf.h 2007-03-05 10:00:18.000000000 +0100
+++ head-2007-02-27/include/asm-i386/elf.h 2007-02-27 16:27:37.000000000 +0100
@@ -137,7 +137,11 @@ extern int dump_task_extended_fpu (struc
#ifdef CONFIG_COMPAT_VDSO
# define VDSO_COMPAT_BASE VDSO_HIGH_BASE
-# define VDSO_PRELINK VDSO_HIGH_BASE
+# ifndef CONFIG_XEN
+# define VDSO_PRELINK VDSO_HIGH_BASE
+# else
+# define VDSO_PRELINK (0UL - FIX_VDSO * PAGE_SIZE)
+# endif
#else
# define VDSO_COMPAT_BASE VDSO_BASE
# define VDSO_PRELINK 0
_______________________________________________
Xen-dev...
2007 Mar 05
7
[PATCH 2/10] linux 2.6.18: COMPAT_VDSO
...==================
--- head-2007-02-27.orig/include/asm-i386/elf.h 2007-03-05 10:00:18.000000000 +0100
+++ head-2007-02-27/include/asm-i386/elf.h 2007-02-27 16:27:37.000000000 +0100
@@ -137,7 +137,11 @@ extern int dump_task_extended_fpu (struc
#ifdef CONFIG_COMPAT_VDSO
# define VDSO_COMPAT_BASE VDSO_HIGH_BASE
-# define VDSO_PRELINK VDSO_HIGH_BASE
+# ifndef CONFIG_XEN
+# define VDSO_PRELINK VDSO_HIGH_BASE
+# else
+# define VDSO_PRELINK (0UL - FIX_VDSO * PAGE_SIZE)
+# endif
#else
# define VDSO_COMPAT_BASE VDSO_BASE
# define VDSO_PRELINK 0
_______________________________________________
Xen-dev...