Displaying 4 results from an estimated 4 matches for "vsyscall_relocation".
2007 Apr 18
1
[RFC, PATCH 7/24] i386 Vmi memory hole
Create a configurable hole in the linear address space at the top
of memory. A more advanced interface is needed to negotiate how
much space the hypervisor is allowed to steal, but in the end, it
seems most likely that a fixed constant size will be chosen for
the compiled kernel, potentially propagated to an information
page used by paravirtual initialization to determine interface
compatibility.
2007 Apr 18
1
[RFC, PATCH 7/24] i386 Vmi memory hole
Create a configurable hole in the linear address space at the top
of memory. A more advanced interface is needed to negotiate how
much space the hypervisor is allowed to steal, but in the end, it
seems most likely that a fixed constant size will be chosen for
the compiled kernel, potentially propagated to an information
page used by paravirtual initialization to determine interface
compatibility.
2007 Apr 18
1
[PATCH, experimental] i386 Allow the fixmap to be relocated at boot time
...Elf32_Ehdr *)page;
+
+ /* 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 VSYSCALL_RELOCATION;
+
+ sechdrs =3D (void *)hdr + hdr->e_shoff;
+ secstrings =3D (void *)hdr + sechdrs[hdr->e_shstrndx].sh_offset;
+
+ for (i =3D 1; i < hdr->e_shnum; i++) {
+ if (!(sechdrs[i].sh_flags & SHF_ALLOC))
+ continue;
+
+ sechdrs[i].sh_addr +=3D VSYSCALL_RELOCATION;
+ if (strcmp(secstri...
2007 Apr 18
1
[PATCH, experimental] i386 Allow the fixmap to be relocated at boot time
...Elf32_Ehdr *)page;
+
+ /* 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 VSYSCALL_RELOCATION;
+
+ sechdrs =3D (void *)hdr + hdr->e_shoff;
+ secstrings =3D (void *)hdr + sechdrs[hdr->e_shstrndx].sh_offset;
+
+ for (i =3D 1; i < hdr->e_shnum; i++) {
+ if (!(sechdrs[i].sh_flags & SHF_ALLOC))
+ continue;
+
+ sechdrs[i].sh_addr +=3D VSYSCALL_RELOCATION;
+ if (strcmp(secstri...