[PATCH] uml: time initialization tidying
user_time_init_skas and user_time_init_tt were essentially the same. So, this merges them, deleting the mode-specific functions and declarations. Signed-off-by: Jeff Dike <jdike@addtoit.com> Cc: Paolo Giarrusso <blaisorblade@yahoo.it> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
Родитель
026549d284
Коммит
fc47a0d18a
|
@ -8,11 +8,11 @@
|
|||
|
||||
extern void timer(void);
|
||||
extern void switch_timers(int to_real);
|
||||
extern void set_interval(int timer_type);
|
||||
extern void idle_sleep(int secs);
|
||||
extern void enable_timer(void);
|
||||
extern void disable_timer(void);
|
||||
extern unsigned long time_lock(void);
|
||||
extern void time_unlock(unsigned long);
|
||||
extern void user_time_init(void);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -4,10 +4,10 @@
|
|||
#
|
||||
|
||||
obj-y := exec_kern.o mem.o mem_user.o mmu.o process.o process_kern.o \
|
||||
syscall_kern.o syscall_user.o time.o tlb.o trap_user.o uaccess.o \
|
||||
syscall_kern.o syscall_user.o tlb.o trap_user.o uaccess.o \
|
||||
|
||||
subdir- := util
|
||||
|
||||
USER_OBJS := process.o time.o
|
||||
USER_OBJS := process.o
|
||||
|
||||
include arch/um/scripts/Makefile.rules
|
||||
|
|
|
@ -13,7 +13,6 @@ extern unsigned long exec_fp_regs[];
|
|||
extern unsigned long exec_fpx_regs[];
|
||||
extern int have_fpx_regs;
|
||||
|
||||
extern void user_time_init_skas(void);
|
||||
extern void sig_handler_common_skas(int sig, void *sc_ptr);
|
||||
extern void halt_skas(void);
|
||||
extern void reboot_skas(void);
|
||||
|
|
|
@ -1,30 +0,0 @@
|
|||
/*
|
||||
* Copyright (C) 2002 Jeff Dike (jdike@karaya.com)
|
||||
* Licensed under the GPL
|
||||
*/
|
||||
|
||||
#include <sys/signal.h>
|
||||
#include <sys/time.h>
|
||||
#include "time_user.h"
|
||||
#include "process.h"
|
||||
#include "user.h"
|
||||
|
||||
void user_time_init_skas(void)
|
||||
{
|
||||
if(signal(SIGALRM, (__sighandler_t) alarm_handler) == SIG_ERR)
|
||||
panic("Couldn't set SIGALRM handler");
|
||||
if(signal(SIGVTALRM, (__sighandler_t) alarm_handler) == SIG_ERR)
|
||||
panic("Couldn't set SIGVTALRM handler");
|
||||
set_interval(ITIMER_VIRTUAL);
|
||||
}
|
||||
|
||||
/*
|
||||
* 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:
|
||||
*/
|
|
@ -33,7 +33,7 @@ void timer(void)
|
|||
timeradd(&xtime, &local_offset, &xtime);
|
||||
}
|
||||
|
||||
void set_interval(int timer_type)
|
||||
static void set_interval(int timer_type)
|
||||
{
|
||||
int usec = 1000000/hz();
|
||||
struct itimerval interval = ((struct itimerval) { { 0, usec },
|
||||
|
@ -45,12 +45,7 @@ void set_interval(int timer_type)
|
|||
|
||||
void enable_timer(void)
|
||||
{
|
||||
int usec = 1000000/hz();
|
||||
struct itimerval enable = ((struct itimerval) { { 0, usec },
|
||||
{ 0, usec }});
|
||||
if(setitimer(ITIMER_VIRTUAL, &enable, NULL))
|
||||
printk("enable_timer - setitimer failed, errno = %d\n",
|
||||
errno);
|
||||
set_interval(ITIMER_VIRTUAL);
|
||||
}
|
||||
|
||||
void disable_timer(void)
|
||||
|
@ -155,13 +150,15 @@ void idle_sleep(int secs)
|
|||
nanosleep(&ts, NULL);
|
||||
}
|
||||
|
||||
/*
|
||||
* 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:
|
||||
*/
|
||||
/* XXX This partly duplicates init_irq_signals */
|
||||
|
||||
void user_time_init(void)
|
||||
{
|
||||
set_handler(SIGVTALRM, (__sighandler_t) alarm_handler,
|
||||
SA_ONSTACK | SA_RESTART, SIGUSR1, SIGIO, SIGWINCH,
|
||||
SIGALRM, SIGUSR2, -1);
|
||||
set_handler(SIGALRM, (__sighandler_t) alarm_handler,
|
||||
SA_ONSTACK | SA_RESTART, SIGUSR1, SIGIO, SIGWINCH,
|
||||
SIGVTALRM, SIGUSR2, -1);
|
||||
set_interval(ITIMER_VIRTUAL);
|
||||
}
|
||||
|
|
|
@ -162,7 +162,7 @@ int __init timer_init(void)
|
|||
{
|
||||
int err;
|
||||
|
||||
CHOOSE_MODE(user_time_init_tt(), user_time_init_skas());
|
||||
user_time_init();
|
||||
err = request_irq(TIMER_IRQ, um_timer, SA_INTERRUPT, "timer", NULL);
|
||||
if(err != 0)
|
||||
printk(KERN_ERR "timer_init : request_irq failed - "
|
||||
|
|
|
@ -4,11 +4,11 @@
|
|||
#
|
||||
|
||||
obj-y = exec_kern.o exec_user.o gdb.o ksyms.o mem.o mem_user.o process_kern.o \
|
||||
syscall_kern.o syscall_user.o time.o tlb.o tracer.o trap_user.o \
|
||||
syscall_kern.o syscall_user.o tlb.o tracer.o trap_user.o \
|
||||
uaccess.o uaccess_user.o
|
||||
|
||||
obj-$(CONFIG_PT_PROXY) += gdb_kern.o ptproxy/
|
||||
|
||||
USER_OBJS := gdb.o time.o tracer.o
|
||||
USER_OBJS := gdb.o tracer.o
|
||||
|
||||
include arch/um/scripts/Makefile.rules
|
||||
|
|
|
@ -13,7 +13,6 @@ enum { OP_NONE, OP_EXEC, OP_FORK, OP_TRACE_ON, OP_REBOOT, OP_HALT, OP_CB };
|
|||
extern int tracing_pid;
|
||||
|
||||
extern int tracer(int (*init_proc)(void *), void *sp);
|
||||
extern void user_time_init_tt(void);
|
||||
extern void sig_handler_common_tt(int sig, void *sc);
|
||||
extern void syscall_handler_tt(int sig, union uml_pt_regs *regs);
|
||||
extern void reboot_tt(void);
|
||||
|
|
|
@ -1,28 +0,0 @@
|
|||
/*
|
||||
* Copyright (C) 2000, 2001, 2002 Jeff Dike (jdike@karaya.com)
|
||||
* Licensed under the GPL
|
||||
*/
|
||||
|
||||
#include <signal.h>
|
||||
#include <sys/time.h>
|
||||
#include <time_user.h>
|
||||
#include "process.h"
|
||||
#include "user.h"
|
||||
|
||||
void user_time_init_tt(void)
|
||||
{
|
||||
if(signal(SIGVTALRM, (__sighandler_t) alarm_handler) == SIG_ERR)
|
||||
panic("Couldn't set SIGVTALRM handler");
|
||||
set_interval(ITIMER_VIRTUAL);
|
||||
}
|
||||
|
||||
/*
|
||||
* 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:
|
||||
*/
|
Загрузка…
Ссылка в новой задаче