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 @@
#...