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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user