mirror of https://gitee.com/openkylin/linux.git
um: distribute exports to where exported stuff is defined
ksyms.c is down to the stuff defined in various USER_OBJS Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Richard Weinberger <richard@nod.at>
This commit is contained in:
parent
a34978cbd9
commit
73395a0002
|
@ -3,14 +3,15 @@
|
|||
* Licensed under the GPL
|
||||
*/
|
||||
|
||||
#include "linux/stddef.h"
|
||||
#include "linux/fs.h"
|
||||
#include "linux/ptrace.h"
|
||||
#include "linux/sched.h"
|
||||
#include "linux/slab.h"
|
||||
#include "asm/current.h"
|
||||
#include "asm/processor.h"
|
||||
#include "asm/uaccess.h"
|
||||
#include <linux/stddef.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/fs.h>
|
||||
#include <linux/ptrace.h>
|
||||
#include <linux/sched.h>
|
||||
#include <linux/slab.h>
|
||||
#include <asm/current.h>
|
||||
#include <asm/processor.h>
|
||||
#include <asm/uaccess.h>
|
||||
#include "as-layout.h"
|
||||
#include "mem_user.h"
|
||||
#include "skas.h"
|
||||
|
@ -41,6 +42,7 @@ void start_thread(struct pt_regs *regs, unsigned long eip, unsigned long esp)
|
|||
PT_REGS_IP(regs) = eip;
|
||||
PT_REGS_SP(regs) = esp;
|
||||
}
|
||||
EXPORT_SYMBOL(start_thread);
|
||||
|
||||
static long execve1(const char *file,
|
||||
const char __user *const __user *argv,
|
||||
|
|
|
@ -258,6 +258,7 @@ void deactivate_fd(int fd, int irqnum)
|
|||
|
||||
ignore_sigio_fd(fd);
|
||||
}
|
||||
EXPORT_SYMBOL(deactivate_fd);
|
||||
|
||||
/*
|
||||
* Called just before shutdown in order to provide a clean exec
|
||||
|
|
|
@ -3,33 +3,11 @@
|
|||
* Licensed under the GPL
|
||||
*/
|
||||
|
||||
#include "linux/module.h"
|
||||
#include "linux/syscalls.h"
|
||||
#include "asm/tlbflush.h"
|
||||
#include "asm/uaccess.h"
|
||||
#include "as-layout.h"
|
||||
#include "kern_util.h"
|
||||
#include "mem_user.h"
|
||||
#include <linux/module.h>
|
||||
#include "os.h"
|
||||
|
||||
EXPORT_SYMBOL(uml_physmem);
|
||||
EXPORT_SYMBOL(set_signals);
|
||||
EXPORT_SYMBOL(get_signals);
|
||||
EXPORT_SYMBOL(kernel_thread);
|
||||
EXPORT_SYMBOL(sys_waitpid);
|
||||
EXPORT_SYMBOL(flush_tlb_range);
|
||||
|
||||
EXPORT_SYMBOL(high_physmem);
|
||||
EXPORT_SYMBOL(empty_zero_page);
|
||||
EXPORT_SYMBOL(handle_page_fault);
|
||||
EXPORT_SYMBOL(find_iomem);
|
||||
|
||||
EXPORT_SYMBOL(strnlen_user);
|
||||
EXPORT_SYMBOL(strncpy_from_user);
|
||||
EXPORT_SYMBOL(copy_to_user);
|
||||
EXPORT_SYMBOL(copy_from_user);
|
||||
EXPORT_SYMBOL(clear_user);
|
||||
EXPORT_SYMBOL(uml_strdup);
|
||||
|
||||
EXPORT_SYMBOL(os_stat_fd);
|
||||
EXPORT_SYMBOL(os_stat_file);
|
||||
|
@ -57,24 +35,10 @@ EXPORT_SYMBOL(os_connect_socket);
|
|||
EXPORT_SYMBOL(os_accept_connection);
|
||||
EXPORT_SYMBOL(os_rcv_fd);
|
||||
EXPORT_SYMBOL(run_helper);
|
||||
EXPORT_SYMBOL(start_thread);
|
||||
EXPORT_SYMBOL(os_major);
|
||||
EXPORT_SYMBOL(os_minor);
|
||||
EXPORT_SYMBOL(os_makedev);
|
||||
|
||||
EXPORT_SYMBOL(add_sigio_fd);
|
||||
EXPORT_SYMBOL(ignore_sigio_fd);
|
||||
EXPORT_SYMBOL(deactivate_fd);
|
||||
EXPORT_SYMBOL(sigio_broken);
|
||||
|
||||
#ifdef CONFIG_SMP
|
||||
|
||||
/* required for SMP */
|
||||
|
||||
extern void __write_lock_failed(rwlock_t *rw);
|
||||
EXPORT_SYMBOL(__write_lock_failed);
|
||||
|
||||
extern void __read_lock_failed(rwlock_t *rw);
|
||||
EXPORT_SYMBOL(__read_lock_failed);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
*/
|
||||
|
||||
#include <linux/stddef.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/bootmem.h>
|
||||
#include <linux/highmem.h>
|
||||
#include <linux/mm.h>
|
||||
|
@ -20,6 +21,7 @@
|
|||
|
||||
/* allocated in paging_init, zeroed in mem_init, and unchanged thereafter */
|
||||
unsigned long *empty_zero_page = NULL;
|
||||
EXPORT_SYMBOL(empty_zero_page);
|
||||
/* allocated in paging_init and unchanged thereafter */
|
||||
static unsigned long *empty_bad_page = NULL;
|
||||
|
||||
|
|
|
@ -3,20 +3,22 @@
|
|||
* Licensed under the GPL
|
||||
*/
|
||||
|
||||
#include "linux/bootmem.h"
|
||||
#include "linux/mm.h"
|
||||
#include "linux/pfn.h"
|
||||
#include "asm/page.h"
|
||||
#include "as-layout.h"
|
||||
#include "init.h"
|
||||
#include "kern.h"
|
||||
#include "mem_user.h"
|
||||
#include "os.h"
|
||||
#include <linux/module.h>
|
||||
#include <linux/bootmem.h>
|
||||
#include <linux/mm.h>
|
||||
#include <linux/pfn.h>
|
||||
#include <asm/page.h>
|
||||
#include <as-layout.h>
|
||||
#include <init.h>
|
||||
#include <kern.h>
|
||||
#include <mem_user.h>
|
||||
#include <os.h>
|
||||
|
||||
static int physmem_fd = -1;
|
||||
|
||||
/* Changed during early boot */
|
||||
unsigned long high_physmem;
|
||||
EXPORT_SYMBOL(high_physmem);
|
||||
|
||||
extern unsigned long long physmem_size;
|
||||
|
||||
|
@ -184,6 +186,7 @@ unsigned long find_iomem(char *driver, unsigned long *len_out)
|
|||
|
||||
return 0;
|
||||
}
|
||||
EXPORT_SYMBOL(find_iomem);
|
||||
|
||||
static int setup_iomem(void)
|
||||
{
|
||||
|
|
|
@ -78,6 +78,7 @@ int kernel_thread(int (*fn)(void *), void * arg, unsigned long flags)
|
|||
¤t->thread.regs, 0, NULL, NULL);
|
||||
return pid;
|
||||
}
|
||||
EXPORT_SYMBOL(kernel_thread);
|
||||
|
||||
static inline void set_current(struct task_struct *task)
|
||||
{
|
||||
|
@ -286,6 +287,7 @@ char *uml_strdup(const char *string)
|
|||
{
|
||||
return kstrdup(string, GFP_KERNEL);
|
||||
}
|
||||
EXPORT_SYMBOL(uml_strdup);
|
||||
|
||||
int copy_to_user_proc(void __user *to, void *from, int size)
|
||||
{
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
#include <linux/err.h>
|
||||
#include <linux/highmem.h>
|
||||
#include <linux/mm.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/sched.h>
|
||||
#include <asm/current.h>
|
||||
#include <asm/page.h>
|
||||
|
@ -149,6 +150,7 @@ int copy_from_user(void *to, const void __user *from, int n)
|
|||
buffer_op((unsigned long) from, n, 0, copy_chunk_from_user, &to):
|
||||
n;
|
||||
}
|
||||
EXPORT_SYMBOL(copy_from_user);
|
||||
|
||||
static int copy_chunk_to_user(unsigned long to, int len, void *arg)
|
||||
{
|
||||
|
@ -170,6 +172,7 @@ int copy_to_user(void __user *to, const void *from, int n)
|
|||
buffer_op((unsigned long) to, n, 1, copy_chunk_to_user, &from) :
|
||||
n;
|
||||
}
|
||||
EXPORT_SYMBOL(copy_to_user);
|
||||
|
||||
static int strncpy_chunk_from_user(unsigned long from, int len, void *arg)
|
||||
{
|
||||
|
@ -204,6 +207,7 @@ int strncpy_from_user(char *dst, const char __user *src, int count)
|
|||
return -EFAULT;
|
||||
return strnlen(dst, count);
|
||||
}
|
||||
EXPORT_SYMBOL(strncpy_from_user);
|
||||
|
||||
static int clear_chunk(unsigned long addr, int len, void *unused)
|
||||
{
|
||||
|
@ -226,6 +230,7 @@ int clear_user(void __user *mem, int len)
|
|||
return access_ok(VERIFY_WRITE, mem, len) ?
|
||||
buffer_op((unsigned long) mem, len, 1, clear_chunk, NULL) : len;
|
||||
}
|
||||
EXPORT_SYMBOL(clear_user);
|
||||
|
||||
static int strnlen_chunk(unsigned long str, int len, void *arg)
|
||||
{
|
||||
|
@ -251,3 +256,4 @@ int strnlen_user(const void __user *str, int len)
|
|||
return count + 1;
|
||||
return -EFAULT;
|
||||
}
|
||||
EXPORT_SYMBOL(strnlen_user);
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
*/
|
||||
|
||||
#include <linux/mm.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/sched.h>
|
||||
#include <asm/pgtable.h>
|
||||
#include <asm/tlbflush.h>
|
||||
|
@ -498,6 +499,7 @@ void flush_tlb_range(struct vm_area_struct *vma, unsigned long start,
|
|||
flush_tlb_kernel_range_common(start, end);
|
||||
else fix_range(vma->vm_mm, start, end, 0);
|
||||
}
|
||||
EXPORT_SYMBOL(flush_tlb_range);
|
||||
|
||||
void flush_tlb_mm_range(struct mm_struct *mm, unsigned long start,
|
||||
unsigned long end)
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
#include <linux/mm.h>
|
||||
#include <linux/sched.h>
|
||||
#include <linux/hardirq.h>
|
||||
#include <linux/module.h>
|
||||
#include <asm/current.h>
|
||||
#include <asm/pgtable.h>
|
||||
#include <asm/tlbflush.h>
|
||||
|
@ -111,6 +112,7 @@ int handle_page_fault(unsigned long address, unsigned long ip,
|
|||
pagefault_out_of_memory();
|
||||
return 0;
|
||||
}
|
||||
EXPORT_SYMBOL(handle_page_fault);
|
||||
|
||||
static void show_segv_info(struct uml_pt_regs *regs)
|
||||
{
|
||||
|
|
|
@ -102,6 +102,8 @@ const struct seq_operations cpuinfo_op = {
|
|||
|
||||
/* Set in linux_main */
|
||||
unsigned long uml_physmem;
|
||||
EXPORT_SYMBOL(uml_physmem);
|
||||
|
||||
unsigned long uml_reserved; /* Also modified in mem_init */
|
||||
unsigned long start_vm;
|
||||
unsigned long end_vm;
|
||||
|
|
Loading…
Reference in New Issue