search for: phys_mapping

Displaying 4 results from an estimated 4 matches for "phys_mapping".

2009 May 14
0
[LLVMdev] Grouping related functions in a code section
...is that it contains a SIGSEGV handler. The newly forked process promptly installs this signal handler, and uses a function stored in this code. Here's an outline of the whole process: // In the newly-cloned process, map in the magic page // __syscall_stub_start defined in linker script fd = phys_mapping(to_phys(&__syscall_stub_start), &offset); // Get executable permission: addr = mmap64((void *) STUB_CODE, UM_KERN_PAGE_SIZE, PROT_EXEC, MAP_FIXED | MAP_PRIVATE, fd, offset); The previous code maps the page of code into memory: the page address is stored in the linker-script...
2009 May 11
3
[LLVMdev] Assign symbol the address of a section
Hello, The binaries produced by LLVM and other compilers divide code up into various sections, e.g. the .text section. What is the recommended approach to assigning a symbol the address of a section using LLVM? Using GCC/LD, you can do this with a linker script, e.g. in a linker script you can do: _text = .; _stext = .; These symbols are then available in the corresponding C code using an
2007 Aug 19
1
[PATCH 1/5] um/... convert #include "linux/..." to #include <linux/...>
...mconsole_entry { diff --git a/arch/um/include/mem.h b/arch/um/include/mem.h index e8ff0d8..e4d4131 100644 --- a/arch/um/include/mem.h +++ b/arch/um/include/mem.h @@ -6,7 +6,7 @@ #ifndef __MEM_H__ #define __MEM_H__ -#include "linux/types.h" +#include <linux/types.h> extern int phys_mapping(unsigned long phys, __u64 *offset_out); extern int physmem_subst_mapping(void *virt, int fd, __u64 offset, int w); diff --git a/arch/um/include/mem_kern.h b/arch/um/include/mem_kern.h index cb7e196..97f9341 100644 --- a/arch/um/include/mem_kern.h +++ b/arch/um/include/mem_kern.h @@ -6,8 +6,8 @@ #...
2007 Aug 19
1
[PATCH 1/5] um/... convert #include "linux/..." to #include <linux/...>
...mconsole_entry { diff --git a/arch/um/include/mem.h b/arch/um/include/mem.h index e8ff0d8..e4d4131 100644 --- a/arch/um/include/mem.h +++ b/arch/um/include/mem.h @@ -6,7 +6,7 @@ #ifndef __MEM_H__ #define __MEM_H__ -#include "linux/types.h" +#include <linux/types.h> extern int phys_mapping(unsigned long phys, __u64 *offset_out); extern int physmem_subst_mapping(void *virt, int fd, __u64 offset, int w); diff --git a/arch/um/include/mem_kern.h b/arch/um/include/mem_kern.h index cb7e196..97f9341 100644 --- a/arch/um/include/mem_kern.h +++ b/arch/um/include/mem_kern.h @@ -6,8 +6,8 @@ #...