Commit e08d84a7 authored by Jeff Dike's avatar Jeff Dike Committed by Linus Torvalds

[PATCH] UML: Separate out the time code

Move the i386 __delay to sys-i386 and add an implementation for x86_64.
Also get rid of the definition of um_udelay_t.
Signed-off-by: default avatarJeff Dike <jdike@addtoit.com>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 43593ef7
......@@ -136,22 +136,7 @@ long um_stime(int * tptr)
return 0;
}
/* XXX Needs to be moved under sys-i386 */
void __delay(um_udelay_t time)
{
/* Stolen from the i386 __loop_delay */
int d0;
__asm__ __volatile__(
"\tjmp 1f\n"
".align 16\n"
"1:\tjmp 2f\n"
".align 16\n"
"2:\tdecl %0\n\tjns 2b"
:"=&a" (d0)
:"0" (time));
}
void __udelay(um_udelay_t usecs)
void __udelay(unsigned long usecs)
{
int i, n;
......@@ -159,7 +144,7 @@ void __udelay(um_udelay_t usecs)
for(i=0;i<n;i++) ;
}
void __const_udelay(um_udelay_t usecs)
void __const_udelay(unsigned long usecs)
{
int i, n;
......
obj-y = bitops.o bugs.o checksum.o fault.o ksyms.o ldt.o ptrace.o \
obj-y = bitops.o bugs.o checksum.o delay.o fault.o ksyms.o ldt.o ptrace.o \
ptrace_user.o semaphore.o signal.o sigcontext.o syscalls.o sysrq.o
obj-$(CONFIG_HIGHMEM) += highmem.o
......
void __delay(unsigned long time)
{
/* Stolen from the i386 __loop_delay */
int d0;
__asm__ __volatile__(
"\tjmp 1f\n"
".align 16\n"
"1:\tjmp 2f\n"
".align 16\n"
"2:\tdecl %0\n\tjns 2b"
:"=&a" (d0)
:"0" (time));
}
......@@ -4,7 +4,7 @@
# Licensed under the GPL
#
lib-y = bitops.o bugs.o csum-partial.o fault.o mem.o memcpy.o \
lib-y = bitops.o bugs.o csum-partial.o delay.o fault.o mem.o memcpy.o \
ptrace.o ptrace_user.o semaphore.o sigcontext.o signal.o \
syscalls.o sysrq.o thunk.o
......
/*
* Copyright 2003 PathScale, Inc.
* Copied from arch/x86_64
*
* Licensed under the GPL
*/
#include "asm/processor.h"
void __delay(unsigned long loops)
{
unsigned long i;
for(i = 0; i < loops; i++) ;
}
/*
* 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:
*/
......@@ -136,10 +136,6 @@ if ( vsyscall_ehdr ) { \
#define R_386_GOTPC 10
#define R_386_NUM 11
/********* Bits for asm-um/delay.h **********/
typedef unsigned long um_udelay_t;
/********* Nothing for asm-um/hardirq.h **********/
/********* Nothing for asm-um/hw_irq.h **********/
......
......@@ -21,10 +21,6 @@ typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG];
#define ELF_DATA ELFDATA2MSB
#define ELF_ARCH EM_PPC
/********* Bits for asm-um/delay.h **********/
typedef unsigned int um_udelay_t;
/********* Bits for asm-um/hw_irq.h **********/
struct hw_interrupt_type;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment