uml: style fixes pass 1
Formatting changes in the files which have been changed in the tt-removal patchset so far. These include: copyright updates header file trimming style fixes adding severity to printks indenting Kconfig help according to the predominant kernel style These changes should be entirely non-functional. Signed-off-by: Jeff Dike <jdike@linux.intel.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
committed by
Linus Torvalds
parent
c28b59d477
commit
4c9e138513
@@ -161,7 +161,7 @@ config MCONSOLE
|
|||||||
config MAGIC_SYSRQ
|
config MAGIC_SYSRQ
|
||||||
bool "Magic SysRq key"
|
bool "Magic SysRq key"
|
||||||
depends on MCONSOLE
|
depends on MCONSOLE
|
||||||
---help---
|
help
|
||||||
If you say Y here, you will have some control over the system even
|
If you say Y here, you will have some control over the system even
|
||||||
if the system crashes for example during kernel debugging (e.g., you
|
if the system crashes for example during kernel debugging (e.g., you
|
||||||
will be able to flush the buffer cache to disk, reboot the system
|
will be able to flush the buffer cache to disk, reboot the system
|
||||||
@@ -195,8 +195,8 @@ config SMP
|
|||||||
simultaneously, depending on the host scheduler.
|
simultaneously, depending on the host scheduler.
|
||||||
|
|
||||||
This, however, is supported only in TT mode. So, if you use the SKAS
|
This, however, is supported only in TT mode. So, if you use the SKAS
|
||||||
patch on your host, switching to TT mode and enabling SMP usually gives
|
patch on your host, switching to TT mode and enabling SMP usually
|
||||||
you worse performances.
|
gives you worse performances.
|
||||||
Also, since the support for SMP has been under-developed, there could
|
Also, since the support for SMP has been under-developed, there could
|
||||||
be some bugs being exposed by enabling SMP.
|
be some bugs being exposed by enabling SMP.
|
||||||
|
|
||||||
@@ -245,12 +245,13 @@ config UML_REAL_TIME_CLOCK
|
|||||||
bool "Real-time Clock"
|
bool "Real-time Clock"
|
||||||
default y
|
default y
|
||||||
help
|
help
|
||||||
This option makes UML time deltas match wall clock deltas. This should
|
This option makes UML time deltas match wall clock deltas. This
|
||||||
normally be enabled. The exception would be if you are debugging with
|
should normally be enabled. The exception would be if you are
|
||||||
UML and spend long times with UML stopped at a breakpoint. In this
|
debugging with UML and spend long times with UML stopped at a
|
||||||
case, when UML is restarted, it will call the timer enough times to make
|
breakpoint. In this case, when UML is restarted, it will call the
|
||||||
up for the time spent at the breakpoint. This could result in a
|
timer enough times to make up for the time spent at the breakpoint.
|
||||||
noticeable lag. If this is a problem, then disable this option.
|
This could result in a noticeable lag. If this is a problem, then
|
||||||
|
disable this option.
|
||||||
|
|
||||||
endmenu
|
endmenu
|
||||||
|
|
||||||
|
@@ -107,7 +107,7 @@ config SSL_CHAN
|
|||||||
|
|
||||||
config UNIX98_PTYS
|
config UNIX98_PTYS
|
||||||
bool "Unix98 PTY support"
|
bool "Unix98 PTY support"
|
||||||
---help---
|
help
|
||||||
A pseudo terminal (PTY) is a software device consisting of two
|
A pseudo terminal (PTY) is a software device consisting of two
|
||||||
halves: a master and a slave. The slave device behaves identical to
|
halves: a master and a slave. The slave device behaves identical to
|
||||||
a physical terminal; the master device is used by a process to
|
a physical terminal; the master device is used by a process to
|
||||||
@@ -130,7 +130,7 @@ config UNIX98_PTYS
|
|||||||
config LEGACY_PTYS
|
config LEGACY_PTYS
|
||||||
bool "Legacy (BSD) PTY support"
|
bool "Legacy (BSD) PTY support"
|
||||||
default y
|
default y
|
||||||
---help---
|
help
|
||||||
A pseudo terminal (PTY) is a software device consisting of two
|
A pseudo terminal (PTY) is a software device consisting of two
|
||||||
halves: a master and a slave. The slave device behaves identical to
|
halves: a master and a slave. The slave device behaves identical to
|
||||||
a physical terminal; the master device is used by a process to
|
a physical terminal; the master device is used by a process to
|
||||||
@@ -168,7 +168,7 @@ config LEGACY_PTY_COUNT
|
|||||||
int "Maximum number of legacy PTY in use"
|
int "Maximum number of legacy PTY in use"
|
||||||
depends on LEGACY_PTYS
|
depends on LEGACY_PTYS
|
||||||
default "256"
|
default "256"
|
||||||
---help---
|
help
|
||||||
The maximum number of legacy PTYs that can be used at any one time.
|
The maximum number of legacy PTYs that can be used at any one time.
|
||||||
The default is 256, and should be more than enough. Embedded
|
The default is 256, and should be more than enough. Embedded
|
||||||
systems may want to reduce this to save memory.
|
systems may want to reduce this to save memory.
|
||||||
@@ -233,4 +233,3 @@ config MMAPPER
|
|||||||
UML.
|
UML.
|
||||||
|
|
||||||
endmenu
|
endmenu
|
||||||
|
|
||||||
|
@@ -2,7 +2,7 @@
|
|||||||
# This file is included by the global makefile so that you can add your own
|
# This file is included by the global makefile so that you can add your own
|
||||||
# architecture-specific flags and dependencies.
|
# architecture-specific flags and dependencies.
|
||||||
#
|
#
|
||||||
# Copyright (C) 2002 Jeff Dike (jdike@karaya.com)
|
# Copyright (C) 2002 - 2007 Jeff Dike (jdike@{addtoit,linux.intel}.com)
|
||||||
# Licensed under the GPL
|
# Licensed under the GPL
|
||||||
#
|
#
|
||||||
|
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2000, 2001, 2002 Jeff Dike (jdike@karaya.com)
|
* Copyright (C) 2000 - 2007 Jeff Dike (jdike@{addtoit,linux.intel}.com)
|
||||||
* Licensed under the GPL
|
* Licensed under the GPL
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -37,13 +37,3 @@ extern unsigned long *sc_sigmask(void *sc_ptr);
|
|||||||
extern int sc_get_fpregs(unsigned long buf, void *sc_ptr);
|
extern int sc_get_fpregs(unsigned long buf, void *sc_ptr);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
/*
|
|
||||||
* Overrides for Emacs so that we follow Linus's tabbing style.
|
|
||||||
* Emacs will notice this stuff at the end of the file and automatically
|
|
||||||
* adjust the settings for this buffer only. This must remain at the end
|
|
||||||
* of the file.
|
|
||||||
* ---------------------------------------------------------------------------
|
|
||||||
* Local variables:
|
|
||||||
* c-file-style: "linux"
|
|
||||||
* End:
|
|
||||||
*/
|
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (C) 2002 Jeff Dike (jdike@karaya.com)
|
# Copyright (C) 2002 - 2007 Jeff Dike (jdike@{addtoit,linux,intel}.com)
|
||||||
# Licensed under the GPL
|
# Licensed under the GPL
|
||||||
#
|
#
|
||||||
|
|
||||||
|
@@ -3,16 +3,12 @@
|
|||||||
* Licensed under the GPL
|
* Licensed under the GPL
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "linux/mm.h"
|
|
||||||
#include "linux/fs.h"
|
|
||||||
#include "linux/module.h"
|
|
||||||
#include "linux/sched.h"
|
#include "linux/sched.h"
|
||||||
#include "linux/init_task.h"
|
#include "linux/init_task.h"
|
||||||
|
#include "linux/fs.h"
|
||||||
|
#include "linux/module.h"
|
||||||
#include "linux/mqueue.h"
|
#include "linux/mqueue.h"
|
||||||
#include "asm/uaccess.h"
|
#include "asm/uaccess.h"
|
||||||
#include "asm/pgtable.h"
|
|
||||||
#include "mem_user.h"
|
|
||||||
#include "os.h"
|
|
||||||
|
|
||||||
static struct fs_struct init_fs = INIT_FS;
|
static struct fs_struct init_fs = INIT_FS;
|
||||||
struct mm_struct init_mm = INIT_MM(init_mm);
|
struct mm_struct init_mm = INIT_MM(init_mm);
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2000 - 2003 Jeff Dike (jdike@addtoit.com)
|
* Copyright (C) 2000 - 2007 Jeff Dike (jdike@{addtoit,linux.intel}.com)
|
||||||
* Licensed under the GPL
|
* Licensed under the GPL
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -61,7 +61,7 @@ void smp_send_stop(void)
|
|||||||
continue;
|
continue;
|
||||||
os_write_file(cpu_data[i].ipi_pipe[1], "S", 1);
|
os_write_file(cpu_data[i].ipi_pipe[1], "S", 1);
|
||||||
}
|
}
|
||||||
printk("done\n");
|
printk(KERN_INFO "done\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
static cpumask_t smp_commenced_mask = CPU_MASK_NONE;
|
static cpumask_t smp_commenced_mask = CPU_MASK_NONE;
|
||||||
@@ -80,7 +80,7 @@ static int idle_proc(void *cpup)
|
|||||||
|
|
||||||
wmb();
|
wmb();
|
||||||
if (cpu_test_and_set(cpu, cpu_callin_map)) {
|
if (cpu_test_and_set(cpu, cpu_callin_map)) {
|
||||||
printk("huh, CPU#%d already present??\n", cpu);
|
printk(KERN_ERR "huh, CPU#%d already present??\n", cpu);
|
||||||
BUG();
|
BUG();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -133,7 +133,7 @@ void smp_prepare_cpus(unsigned int maxcpus)
|
|||||||
current->thread.mode.tt.extern_pid);
|
current->thread.mode.tt.extern_pid);
|
||||||
|
|
||||||
for (cpu = 1; cpu < ncpus; cpu++) {
|
for (cpu = 1; cpu < ncpus; cpu++) {
|
||||||
printk("Booting processor %d...\n", cpu);
|
printk(KERN_INFO "Booting processor %d...\n", cpu);
|
||||||
|
|
||||||
idle = idle_thread(cpu);
|
idle = idle_thread(cpu);
|
||||||
|
|
||||||
@@ -144,8 +144,8 @@ void smp_prepare_cpus(unsigned int maxcpus)
|
|||||||
cpu_relax();
|
cpu_relax();
|
||||||
|
|
||||||
if (cpu_isset(cpu, cpu_callin_map))
|
if (cpu_isset(cpu, cpu_callin_map))
|
||||||
printk("done\n");
|
printk(KERN_INFO "done\n");
|
||||||
else printk("failed\n");
|
else printk(KERN_INFO "failed\n");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -187,13 +187,14 @@ void IPI_handler(int cpu)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case 'S':
|
case 'S':
|
||||||
printk("CPU#%d stopping\n", cpu);
|
printk(KERN_INFO "CPU#%d stopping\n", cpu);
|
||||||
while (1)
|
while (1)
|
||||||
pause();
|
pause();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
printk("CPU#%d received unknown IPI [%c]!\n", cpu, c);
|
printk(KERN_ERR "CPU#%d received unknown IPI [%c]!\n",
|
||||||
|
cpu, c);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -1,38 +1,24 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2000, 2001 Jeff Dike (jdike@karaya.com)
|
* Copyright (C) 2000 - 2007 Jeff Dike (jdike@{addtoit,linux.intel}.com)
|
||||||
* Licensed under the GPL
|
* Licensed under the GPL
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "linux/kernel.h"
|
#include <linux/mm.h>
|
||||||
#include "asm/errno.h"
|
#include <linux/sched.h>
|
||||||
#include "linux/sched.h"
|
#include <linux/hardirq.h>
|
||||||
#include "linux/mm.h"
|
#include <asm/current.h>
|
||||||
#include "linux/spinlock.h"
|
#include <asm/pgtable.h>
|
||||||
#include "linux/init.h"
|
#include <asm/tlbflush.h>
|
||||||
#include "linux/ptrace.h"
|
|
||||||
#include "asm/semaphore.h"
|
|
||||||
#include "asm/pgtable.h"
|
|
||||||
#include "asm/pgalloc.h"
|
|
||||||
#include "asm/tlbflush.h"
|
|
||||||
#include "asm/a.out.h"
|
|
||||||
#include "asm/current.h"
|
|
||||||
#include "asm/irq.h"
|
|
||||||
#include "sysdep/sigcontext.h"
|
|
||||||
#include "kern_util.h"
|
|
||||||
#include "as-layout.h"
|
|
||||||
#include "arch.h"
|
#include "arch.h"
|
||||||
#include "kern.h"
|
#include "as-layout.h"
|
||||||
#include "chan_kern.h"
|
#include "kern_util.h"
|
||||||
#include "mconsole_kern.h"
|
#include "os.h"
|
||||||
#include "mem.h"
|
|
||||||
#include "mem_kern.h"
|
|
||||||
#include "sysdep/sigcontext.h"
|
#include "sysdep/sigcontext.h"
|
||||||
#include "sysdep/ptrace.h"
|
|
||||||
#include "os.h"
|
|
||||||
#include "skas.h"
|
|
||||||
#include "os.h"
|
|
||||||
|
|
||||||
/* Note this is constrained to return 0, -EFAULT, -EACCESS, -ENOMEM by segv(). */
|
/*
|
||||||
|
* Note this is constrained to return 0, -EFAULT, -EACCESS, -ENOMEM by
|
||||||
|
* segv().
|
||||||
|
*/
|
||||||
int handle_page_fault(unsigned long address, unsigned long ip,
|
int handle_page_fault(unsigned long address, unsigned long ip,
|
||||||
int is_write, int is_user, int *code_out)
|
int is_write, int is_user, int *code_out)
|
||||||
{
|
{
|
||||||
@@ -46,8 +32,10 @@ int handle_page_fault(unsigned long address, unsigned long ip,
|
|||||||
|
|
||||||
*code_out = SEGV_MAPERR;
|
*code_out = SEGV_MAPERR;
|
||||||
|
|
||||||
/* If the fault was during atomic operation, don't take the fault, just
|
/*
|
||||||
* fail. */
|
* If the fault was during atomic operation, don't take the fault, just
|
||||||
|
* fail.
|
||||||
|
*/
|
||||||
if (in_atomic())
|
if (in_atomic())
|
||||||
goto out_nosemaphore;
|
goto out_nosemaphore;
|
||||||
|
|
||||||
@@ -98,7 +86,8 @@ survive:
|
|||||||
pte = pte_offset_kernel(pmd, address);
|
pte = pte_offset_kernel(pmd, address);
|
||||||
} while (!pte_present(*pte));
|
} while (!pte_present(*pte));
|
||||||
err = 0;
|
err = 0;
|
||||||
/* The below warning was added in place of
|
/*
|
||||||
|
* The below warning was added in place of
|
||||||
* pte_mkyoung(); if (is_write) pte_mkdirty();
|
* pte_mkyoung(); if (is_write) pte_mkdirty();
|
||||||
* If it's triggered, we'd see normally a hang here (a clean pte is
|
* If it's triggered, we'd see normally a hang here (a clean pte is
|
||||||
* marked read-only to emulate the dirty bit).
|
* marked read-only to emulate the dirty bit).
|
||||||
@@ -112,7 +101,7 @@ survive:
|
|||||||
out:
|
out:
|
||||||
up_read(&mm->mmap_sem);
|
up_read(&mm->mmap_sem);
|
||||||
out_nosemaphore:
|
out_nosemaphore:
|
||||||
return(err);
|
return err;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* We ran out of memory, or some other thing happened to us that made
|
* We ran out of memory, or some other thing happened to us that made
|
||||||
@@ -175,11 +164,15 @@ unsigned long segv(struct faultinfo fi, unsigned long ip, int is_user,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (SEGV_IS_FIXABLE(&fi) || SEGV_MAYBE_FIXABLE(&fi))
|
if (SEGV_IS_FIXABLE(&fi) || SEGV_MAYBE_FIXABLE(&fi))
|
||||||
err = handle_page_fault(address, ip, is_write, is_user, &si.si_code);
|
err = handle_page_fault(address, ip, is_write, is_user,
|
||||||
|
&si.si_code);
|
||||||
else {
|
else {
|
||||||
err = -EFAULT;
|
err = -EFAULT;
|
||||||
/* A thread accessed NULL, we get a fault, but CR2 is invalid.
|
/*
|
||||||
* This code is used in __do_copy_from_user() of TT mode. */
|
* A thread accessed NULL, we get a fault, but CR2 is invalid.
|
||||||
|
* This code is used in __do_copy_from_user() of TT mode.
|
||||||
|
* XXX tt mode is gone, so maybe this isn't needed any more
|
||||||
|
*/
|
||||||
address = 0;
|
address = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -209,7 +202,7 @@ unsigned long segv(struct faultinfo fi, unsigned long ip, int is_user,
|
|||||||
current->thread.arch.faultinfo = fi;
|
current->thread.arch.faultinfo = fi;
|
||||||
force_sig_info(SIGBUS, &si, current);
|
force_sig_info(SIGBUS, &si, current);
|
||||||
} else if (err == -ENOMEM) {
|
} else if (err == -ENOMEM) {
|
||||||
printk("VM: killing process %s\n", current->comm);
|
printk(KERN_INFO "VM: killing process %s\n", current->comm);
|
||||||
do_exit(SIGKILL);
|
do_exit(SIGKILL);
|
||||||
} else {
|
} else {
|
||||||
BUG_ON(err != -EFAULT);
|
BUG_ON(err != -EFAULT);
|
||||||
@@ -228,8 +221,8 @@ void relay_signal(int sig, union uml_pt_regs *regs)
|
|||||||
|
|
||||||
if (!UPT_IS_USER(regs)) {
|
if (!UPT_IS_USER(regs)) {
|
||||||
if (sig == SIGBUS)
|
if (sig == SIGBUS)
|
||||||
printk("Bus error - the host /dev/shm or /tmp mount "
|
printk(KERN_ERR "Bus error - the host /dev/shm or /tmp "
|
||||||
"likely just ran out of space\n");
|
"mount likely just ran out of space\n");
|
||||||
panic("Kernel mode signal %d", sig);
|
panic("Kernel mode signal %d", sig);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (C) 2000 Jeff Dike (jdike@karaya.com)
|
# Copyright (C) 2000 - 2007 Jeff Dike (jdike@{addtoit,linux.intel}.com)
|
||||||
# Licensed under the GPL
|
# Licensed under the GPL
|
||||||
#
|
#
|
||||||
|
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (C) 2000 Jeff Dike (jdike@karaya.com)
|
# Copyright (C) 2000 - 2007 Jeff Dike (jdike@{addtoit,linux.intel}.com)
|
||||||
# Licensed under the GPL
|
# Licensed under the GPL
|
||||||
#
|
#
|
||||||
|
|
||||||
|
@@ -1,21 +1,17 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2000, 2001, 2002 Jeff Dike (jdike@karaya.com)
|
* Copyright (C) 2000 - 2007 Jeff Dike (jdike{addtoit,linux.intel}.com)
|
||||||
* Licensed under the GPL
|
* Licensed under the GPL
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stddef.h>
|
||||||
#include <stdlib.h>
|
#include <errno.h>
|
||||||
#include <unistd.h>
|
#include <signal.h>
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
#include <sys/time.h>
|
#include <sys/time.h>
|
||||||
#include <signal.h>
|
|
||||||
#include <errno.h>
|
|
||||||
#include "kern_util.h"
|
#include "kern_util.h"
|
||||||
#include "user.h"
|
|
||||||
#include "process.h"
|
|
||||||
#include "kern_constants.h"
|
#include "kern_constants.h"
|
||||||
#include "os.h"
|
#include "os.h"
|
||||||
#include "uml-config.h"
|
#include "user.h"
|
||||||
|
|
||||||
int set_interval(int is_virtual)
|
int set_interval(int is_virtual)
|
||||||
{
|
{
|
||||||
@@ -33,10 +29,12 @@ int set_interval(int is_virtual)
|
|||||||
void disable_timer(void)
|
void disable_timer(void)
|
||||||
{
|
{
|
||||||
struct itimerval disable = ((struct itimerval) { { 0, 0 }, { 0, 0 }});
|
struct itimerval disable = ((struct itimerval) { { 0, 0 }, { 0, 0 }});
|
||||||
|
|
||||||
if ((setitimer(ITIMER_VIRTUAL, &disable, NULL) < 0) ||
|
if ((setitimer(ITIMER_VIRTUAL, &disable, NULL) < 0) ||
|
||||||
(setitimer(ITIMER_REAL, &disable, NULL) < 0))
|
(setitimer(ITIMER_REAL, &disable, NULL) < 0))
|
||||||
printk("disnable_timer - setitimer failed, errno = %d\n",
|
printk(UM_KERN_ERR "disable_timer - setitimer failed, "
|
||||||
errno);
|
"errno = %d\n", errno);
|
||||||
|
|
||||||
/* If there are signals already queued, after unblocking ignore them */
|
/* If there are signals already queued, after unblocking ignore them */
|
||||||
signal(SIGALRM, SIG_IGN);
|
signal(SIGALRM, SIG_IGN);
|
||||||
signal(SIGVTALRM, SIG_IGN);
|
signal(SIGVTALRM, SIG_IGN);
|
||||||
@@ -60,8 +58,8 @@ void switch_timers(int to_real)
|
|||||||
|
|
||||||
if ((setitimer(old, &disable, NULL) < 0) ||
|
if ((setitimer(old, &disable, NULL) < 0) ||
|
||||||
(setitimer(new, &enable, NULL)))
|
(setitimer(new, &enable, NULL)))
|
||||||
printk("switch_timers - setitimer failed, errno = %d\n",
|
printk(UM_KERN_ERR "switch_timers - setitimer failed, "
|
||||||
errno);
|
"errno = %d\n", errno);
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned long long os_nsecs(void)
|
unsigned long long os_nsecs(void)
|
||||||
@@ -69,7 +67,7 @@ unsigned long long os_nsecs(void)
|
|||||||
struct timeval tv;
|
struct timeval tv;
|
||||||
|
|
||||||
gettimeofday(&tv, NULL);
|
gettimeofday(&tv, NULL);
|
||||||
return((unsigned long long) tv.tv_sec * BILLION + tv.tv_usec * 1000);
|
return (unsigned long long) tv.tv_sec * BILLION + tv.tv_usec * 1000;
|
||||||
}
|
}
|
||||||
|
|
||||||
void idle_sleep(int secs)
|
void idle_sleep(int secs)
|
||||||
|
@@ -1,10 +1,6 @@
|
|||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <unistd.h>
|
|
||||||
#include <sys/ptrace.h>
|
#include <sys/ptrace.h>
|
||||||
#include <sys/syscall.h>
|
|
||||||
#include <asm/ldt.h>
|
|
||||||
#include "sysdep/tls.h"
|
#include "sysdep/tls.h"
|
||||||
#include "uml-config.h"
|
|
||||||
|
|
||||||
/* TLS support - we basically rely on the host's one.*/
|
/* TLS support - we basically rely on the host's one.*/
|
||||||
|
|
||||||
|
@@ -1,3 +1,7 @@
|
|||||||
|
#
|
||||||
|
# Copyright (C) 2002 - 2007 Jeff Dike (jdike@{addtoit,linux.intel}.com)
|
||||||
|
#
|
||||||
|
|
||||||
obj-y = bug.o bugs.o checksum.o delay.o fault.o ksyms.o ldt.o ptrace.o \
|
obj-y = bug.o bugs.o checksum.o delay.o fault.o ksyms.o ldt.o ptrace.o \
|
||||||
ptrace_user.o setjmp.o signal.o sigcontext.o stub.o stub_segv.o \
|
ptrace_user.o setjmp.o signal.o sigcontext.o stub.o stub_segv.o \
|
||||||
syscalls.o sysrq.o sys_call_table.o tls.o
|
syscalls.o sysrq.o sys_call_table.o tls.o
|
||||||
|
@@ -1,19 +1,10 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2002 Jeff Dike (jdike@karaya.com)
|
* Copyright (C) 2002 - 2007 Jeff Dike (jdike@{addtoit,linux.intel}.com)
|
||||||
* Licensed under the GPL
|
* Licensed under the GPL
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <stddef.h>
|
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <unistd.h>
|
#include <sys/ptrace.h>
|
||||||
#include "ptrace_user.h"
|
|
||||||
/* Grr, asm/user.h includes asm/ptrace.h, so has to follow ptrace_user.h */
|
|
||||||
#include <asm/user.h>
|
|
||||||
#include "kern_util.h"
|
|
||||||
#include "user.h"
|
|
||||||
#include "os.h"
|
|
||||||
#include "uml-config.h"
|
|
||||||
|
|
||||||
int ptrace_getregs(long pid, unsigned long *regs_out)
|
int ptrace_getregs(long pid, unsigned long *regs_out)
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user