Split libsys in arch dependent parts
The ARM part is not finished yet and will be fixed in a later commit.
This commit is contained in:
parent
1a60a84cb7
commit
264c20159d
|
@ -3,7 +3,9 @@
|
|||
|
||||
LIB= sys
|
||||
|
||||
SRCS= \
|
||||
.include "arch/${MACHINE_ARCH}/Makefile.inc"
|
||||
|
||||
SRCS+= \
|
||||
alloc_util.c \
|
||||
assert.c \
|
||||
asynsend.c \
|
||||
|
@ -75,7 +77,6 @@ SRCS= \
|
|||
taskcall.c \
|
||||
tickdelay.c \
|
||||
timers.c \
|
||||
tsc_util.c \
|
||||
vm_brk.c \
|
||||
vm_exit.c \
|
||||
vm_fork.c \
|
||||
|
@ -87,31 +88,6 @@ SRCS= \
|
|||
vm_procctl.c \
|
||||
vprintf.c
|
||||
|
||||
.if ${MACHINE_ARCH} == "i386"
|
||||
SRCS+= \
|
||||
get_randomness.c \
|
||||
getidle.c \
|
||||
profile.c \
|
||||
profile_extern.c \
|
||||
ser_putc.c \
|
||||
spin.c \
|
||||
sys_eniop.c \
|
||||
sys_in.c \
|
||||
sys_int86.c \
|
||||
sys_out.c \
|
||||
sys_readbios.c \
|
||||
sys_sdevio.c \
|
||||
sys_umap_remote.c \
|
||||
sys_vinb.c \
|
||||
sys_vinl.c \
|
||||
sys_vinw.c \
|
||||
sys_voutb.c \
|
||||
sys_voutl.c \
|
||||
sys_voutw.c \
|
||||
timing.c \
|
||||
vbox.c
|
||||
.endif
|
||||
|
||||
.if ${MKPCI} != "no"
|
||||
SRCS+= pci_attr_r16.c \
|
||||
pci_attr_r32.c \
|
||||
|
|
12
lib/libsys/arch/earm/Makefile.inc
Normal file
12
lib/libsys/arch/earm/Makefile.inc
Normal file
|
@ -0,0 +1,12 @@
|
|||
# Makefile for arch-dependent libsys code
|
||||
.include <bsd.own.mk>
|
||||
|
||||
HERE=${.CURDIR}/arch/${MACHINE_ARCH}
|
||||
.PATH: ${HERE}
|
||||
|
||||
SRCS+= \
|
||||
tsc_util.c
|
||||
|
||||
CPPFLAGS+= -I${HERE}/../../
|
||||
|
||||
|
46
lib/libsys/arch/earm/tsc_util.c
Normal file
46
lib/libsys/arch/earm/tsc_util.c
Normal file
|
@ -0,0 +1,46 @@
|
|||
|
||||
#include <stdio.h>
|
||||
#include <time.h>
|
||||
#include <sys/times.h>
|
||||
#include <sys/types.h>
|
||||
#include <minix/u64.h>
|
||||
#include <minix/config.h>
|
||||
#include <minix/const.h>
|
||||
#include <minix/minlib.h>
|
||||
#include <machine/archtypes.h>
|
||||
|
||||
#include "sysutil.h"
|
||||
|
||||
#ifndef CONFIG_MAX_CPUS
|
||||
#define CONFIG_MAX_CPUS 1
|
||||
#endif
|
||||
|
||||
#define MICROHZ 1000000 /* number of micros per second */
|
||||
#define MICROSPERTICK(h) (MICROHZ/(h)) /* number of micros per HZ tick */
|
||||
|
||||
static u32_t calib_mhz = 1000, Hz = 1000;
|
||||
|
||||
int
|
||||
micro_delay(u32_t micros)
|
||||
{
|
||||
return OK;
|
||||
}
|
||||
|
||||
u32_t tsc_64_to_micros(u64_t tsc)
|
||||
{
|
||||
u64_t tmp;
|
||||
|
||||
tmp = div64u64(tsc, calib_mhz);
|
||||
if (ex64hi(tmp)) {
|
||||
printf("tsc_64_to_micros: more than 2^32ms\n");
|
||||
return ~0UL;
|
||||
} else {
|
||||
return ex64lo(tmp);
|
||||
}
|
||||
}
|
||||
|
||||
u32_t tsc_to_micros(u32_t low, u32_t high)
|
||||
{
|
||||
return tsc_64_to_micros(make64(low, high));
|
||||
}
|
||||
|
33
lib/libsys/arch/i386/Makefile.inc
Normal file
33
lib/libsys/arch/i386/Makefile.inc
Normal file
|
@ -0,0 +1,33 @@
|
|||
# Makefile for arch-dependent libsys code
|
||||
.include <bsd.own.mk>
|
||||
|
||||
HERE=${.CURDIR}/arch/${MACHINE_ARCH}
|
||||
.PATH: ${HERE}
|
||||
|
||||
SRCS+= \
|
||||
get_randomness.c \
|
||||
getidle.c \
|
||||
profile.c \
|
||||
profile_extern.c \
|
||||
ser_putc.c \
|
||||
spin.c \
|
||||
sys_eniop.c \
|
||||
sys_in.c \
|
||||
sys_int86.c \
|
||||
sys_out.c \
|
||||
sys_readbios.c \
|
||||
sys_sdevio.c \
|
||||
sys_umap_remote.c \
|
||||
sys_vinb.c \
|
||||
sys_vinl.c \
|
||||
sys_vinw.c \
|
||||
sys_voutb.c \
|
||||
sys_voutl.c \
|
||||
sys_voutw.c \
|
||||
timing.c \
|
||||
tsc_util.c \
|
||||
vbox.c
|
||||
|
||||
CPPFLAGS+= -I${HERE}/../../
|
||||
|
||||
|
0
lib/libsys/sys_umap_remote.c → lib/libsys/arch/i386/sys_umap_remote.c
Executable file → Normal file
0
lib/libsys/sys_umap_remote.c → lib/libsys/arch/i386/sys_umap_remote.c
Executable file → Normal file
Loading…
Reference in a new issue