search for: d_un

Displaying 20 results from an estimated 24 matches for "d_un".

2007 Mar 05
7
[PATCH 2/10] linux 2.6.18: COMPAT_VDSO
...case DT_HASH: + case DT_STRTAB: + case DT_SYMTAB: + case 0x6ffffff0: /* DT_VERSYM */ + case 0x6ffffffc: /* DT_VERDEF */ + break; + case DT_SONAME: + case DT_STRSZ: + case 0x6ffffffd: /* DT_VERDEFNUM */ + continue; + case DT_SYMENT: + szdynsym = dyn[j].d_un.d_val; + continue; + default: + if (dyn[j].d_tag >= 0x60000000 /* OLD_DT_LOOS */ + || dyn[j].d_tag < 31 /* DT_ENCODING */ + || !(dyn[j].d_tag & 1)) { + printk(KERN_WARNING "vDSO dynamic info %u has unsupported tag %08X\n", j, dyn[j].d_tag);...
2007 Mar 05
7
[PATCH 2/10] linux 2.6.18: COMPAT_VDSO
...case DT_HASH: + case DT_STRTAB: + case DT_SYMTAB: + case 0x6ffffff0: /* DT_VERSYM */ + case 0x6ffffffc: /* DT_VERDEF */ + break; + case DT_SONAME: + case DT_STRSZ: + case 0x6ffffffd: /* DT_VERDEFNUM */ + continue; + case DT_SYMENT: + szdynsym = dyn[j].d_un.d_val; + continue; + default: + if (dyn[j].d_tag >= 0x60000000 /* OLD_DT_LOOS */ + || dyn[j].d_tag < 31 /* DT_ENCODING */ + || !(dyn[j].d_tag & 1)) { + printk(KERN_WARNING "vDSO dynamic info %u has unsupported tag %08X\n", j, dyn[j].d_tag);...
2007 Mar 05
7
[PATCH 2/10] linux 2.6.18: COMPAT_VDSO
...case DT_HASH: + case DT_STRTAB: + case DT_SYMTAB: + case 0x6ffffff0: /* DT_VERSYM */ + case 0x6ffffffc: /* DT_VERDEF */ + break; + case DT_SONAME: + case DT_STRSZ: + case 0x6ffffffd: /* DT_VERDEFNUM */ + continue; + case DT_SYMENT: + szdynsym = dyn[j].d_un.d_val; + continue; + default: + if (dyn[j].d_tag >= 0x60000000 /* OLD_DT_LOOS */ + || dyn[j].d_tag < 31 /* DT_ENCODING */ + || !(dyn[j].d_tag & 1)) { + printk(KERN_WARNING "vDSO dynamic info %u has unsupported tag %08X\n", j, dyn[j].d_tag);...
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 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 Jun 01
2
another RFC patch: bzImage with ELF payload
...s */ #define PT_NULL 0 @@ -124,6 +126,7 @@ typedef __s64 Elf64_Sxword; #define ELF64_ST_BIND(x) ELF_ST_BIND(x) #define ELF64_ST_TYPE(x) ELF_ST_TYPE(x) +#ifndef __ASSEMBLY__ struct elf32_dyn { Elf32_Sword d_tag; union{ @@ -139,6 +142,7 @@ struct elf64_dyn { Elf64_Addr d_ptr; } d_un; }; +#endif /* __ASSEMBLY__ */ /* The following are used with relocations */ #define ELF32_R_SYM(x) ((x) >> 8) @@ -147,6 +151,7 @@ struct elf64_dyn { #define ELF64_R_SYM(i) ((i) >> 32) #define ELF64_R_TYPE(i) ((i) & 0xffffffff) +#ifndef __ASSEMBLY__ struct elf32_rel {...
2007 Jun 01
2
another RFC patch: bzImage with ELF payload
...s */ #define PT_NULL 0 @@ -124,6 +126,7 @@ typedef __s64 Elf64_Sxword; #define ELF64_ST_BIND(x) ELF_ST_BIND(x) #define ELF64_ST_TYPE(x) ELF_ST_TYPE(x) +#ifndef __ASSEMBLY__ struct elf32_dyn { Elf32_Sword d_tag; union{ @@ -139,6 +142,7 @@ struct elf64_dyn { Elf64_Addr d_ptr; } d_un; }; +#endif /* __ASSEMBLY__ */ /* The following are used with relocations */ #define ELF32_R_SYM(x) ((x) >> 8) @@ -147,6 +151,7 @@ struct elf64_dyn { #define ELF64_R_SYM(i) ((i) >> 32) #define ELF64_R_TYPE(i) ((i) & 0xffffffff) +#ifndef __ASSEMBLY__ struct elf32_rel {...
2007 May 31
1
[patch rfc wip] first cut of ELF bzImage
.../ #define PT_NULL 0 @@ -123,6 +125,7 @@ typedef __s64 Elf64_Sxword; #define ELF64_ST_BIND(x) ELF_ST_BIND(x) #define ELF64_ST_TYPE(x) ELF_ST_TYPE(x) +#ifndef __ASSEMBLY__ typedef struct dynamic{ Elf32_Sword d_tag; union{ @@ -138,6 +141,7 @@ typedef struct { Elf64_Addr d_ptr; } d_un; } Elf64_Dyn; +#endif /* __ASSEMBLY__ */ /* The following are used with relocations */ #define ELF32_R_SYM(x) ((x) >> 8) @@ -146,6 +150,7 @@ typedef struct { #define ELF64_R_SYM(i) ((i) >> 32) #define ELF64_R_TYPE(i) ((i) & 0xffffffff) +#ifndef __ASSEMBLY__ typedef str...
2007 May 31
1
[patch rfc wip] first cut of ELF bzImage
.../ #define PT_NULL 0 @@ -123,6 +125,7 @@ typedef __s64 Elf64_Sxword; #define ELF64_ST_BIND(x) ELF_ST_BIND(x) #define ELF64_ST_TYPE(x) ELF_ST_TYPE(x) +#ifndef __ASSEMBLY__ typedef struct dynamic{ Elf32_Sword d_tag; union{ @@ -138,6 +141,7 @@ typedef struct { Elf64_Addr d_ptr; } d_un; } Elf64_Dyn; +#endif /* __ASSEMBLY__ */ /* The following are used with relocations */ #define ELF32_R_SYM(x) ((x) >> 8) @@ -146,6 +150,7 @@ typedef struct { #define ELF64_R_SYM(i) ((i) >> 32) #define ELF64_R_TYPE(i) ((i) & 0xffffffff) +#ifndef __ASSEMBLY__ typedef str...
2007 Apr 18
1
[PATCH, experimental] i386 Allow the fixmap to be relocated at boot time
...DT_HASH || + tag =3D=3D DT_STRTAB || tag =3D=3D DT_SYMTAB || + tag =3D=3D DT_RELA || tag =3D=3D DT_INIT || + tag =3D=3D DT_FINI || tag =3D=3D DT_REL || + tag =3D=3D DT_JMPREL || tag =3D=3D DT_VERSYM || + tag =3D=3D DT_VERDEF || tag =3D=3D DT_VERNEED) + dyn->d_un.d_val +=3D VSYSCALL_RELOCATION; + } + } else if (strcmp(secstrings+sechdrs[i].sh_name, ".useless") =3D=3D 0) { + uint32_t *got =3D (void *)hdr + sechdrs[i].sh_offset; + *got +=3D VSYSCALL_RELOCATION; + } + } + phdr =3D (void *)hdr + hdr->e_phoff; + for (i =3D 0; i < hdr->...
2007 Apr 18
1
[PATCH, experimental] i386 Allow the fixmap to be relocated at boot time
...DT_HASH || + tag =3D=3D DT_STRTAB || tag =3D=3D DT_SYMTAB || + tag =3D=3D DT_RELA || tag =3D=3D DT_INIT || + tag =3D=3D DT_FINI || tag =3D=3D DT_REL || + tag =3D=3D DT_JMPREL || tag =3D=3D DT_VERSYM || + tag =3D=3D DT_VERDEF || tag =3D=3D DT_VERNEED) + dyn->d_un.d_val +=3D VSYSCALL_RELOCATION; + } + } else if (strcmp(secstrings+sechdrs[i].sh_name, ".useless") =3D=3D 0) { + uint32_t *got =3D (void *)hdr + sechdrs[i].sh_offset; + *got +=3D VSYSCALL_RELOCATION; + } + } + phdr =3D (void *)hdr + hdr->e_phoff; + for (i =3D 0; i < hdr->...
2012 Jun 26
2
[GIT PULL] elflink bug fixes
...lf_module *module) { Elf32_Dyn *dyn_entry = module->dyn_table; @@ -196,8 +191,8 @@ static int prepare_dynlinking(struct elf_module *module) { * are then inform the user that we ran out of * space. */ - if (nr_needed < MAX_NR_DEPS) - needed[nr_needed++] = dyn_entry->d_un.d_ptr; + if (module->nr_needed < MAX_NR_DEPS) + module->needed[module->nr_needed++] = dyn_entry->d_un.d_ptr; else { printf("Too many dependencies!\n"); return -1; @@ -502,40 +497,37 @@ int module_load(struct elf_module *module) { CHECKED(res, load_segme...
2007 Apr 18
2
[RFC, PATCH] Fixup COMPAT_VDSO to work with CONFIG_PARAVIRT
...;d_tag) !=3D DT_NULL) + switch(tag) { + case DT_PLTGOT: + case DT_HASH: + case DT_STRTAB: + case DT_SYMTAB: + case DT_RELA: + case DT_INIT: + case DT_FINI: + case DT_REL: + case DT_JMPREL: + case DT_VERSYM: + case DT_VERDEF: + case DT_VERNEED: + dyn->d_un.d_val +=3D VDSO_HIGH_BASE; + } + } else if (strcmp(secstrings+sechdrs[i].sh_name, ".useless") =3D=3D 0) { + /* This is demonic; see vsyscall.lds.S; it puts the + * .got in a section named .useless */ + uint32_t *got =3D (void *)hdr + sechdrs[i].sh_offset; + *got +=3D VDSO_HIGH...
2007 Apr 18
2
[RFC, PATCH] Fixup COMPAT_VDSO to work with CONFIG_PARAVIRT
...;d_tag) !=3D DT_NULL) + switch(tag) { + case DT_PLTGOT: + case DT_HASH: + case DT_STRTAB: + case DT_SYMTAB: + case DT_RELA: + case DT_INIT: + case DT_FINI: + case DT_REL: + case DT_JMPREL: + case DT_VERSYM: + case DT_VERDEF: + case DT_VERNEED: + dyn->d_un.d_val +=3D VDSO_HIGH_BASE; + } + } else if (strcmp(secstrings+sechdrs[i].sh_name, ".useless") =3D=3D 0) { + /* This is demonic; see vsyscall.lds.S; it puts the + * .got in a section named .useless */ + uint32_t *got =3D (void *)hdr + sechdrs[i].sh_offset; + *got +=3D VDSO_HIGH...
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 Jun 06
7
[PATCH RFC 0/7] proposed updates to boot protocol and paravirt booting
This series: 1. Updates the boot protocol to version 2.07 2. Clean up the existing build process, to get rid of tools/build and make the linker do more heavy lifting 3. Make the bzImage payload an ELF file. The bootloader can extract this as a naked ELF file by skipping over boot_params.setup_sects worth of 16-bit setup code. 4. Update the boot_params to 2.07, and update the
2007 Jun 06
7
[PATCH RFC 0/7] proposed updates to boot protocol and paravirt booting
This series: 1. Updates the boot protocol to version 2.07 2. Clean up the existing build process, to get rid of tools/build and make the linker do more heavy lifting 3. Make the bzImage payload an ELF file. The bootloader can extract this as a naked ELF file by skipping over boot_params.setup_sects worth of 16-bit setup code. 4. Update the boot_params to 2.07, and update the