Module Name: src Committed By: maxv Date: Mon Nov 13 20:03:26 UTC 2017
Modified Files: src/sys/arch/amd64/stand/prekern: Makefile prekern.h Log Message: Link libkern in the prekern, and remove redefined functions. To generate a diff of this commit: cvs rdiff -u -r1.1 -r1.2 src/sys/arch/amd64/stand/prekern/Makefile cvs rdiff -u -r1.9 -r1.10 src/sys/arch/amd64/stand/prekern/prekern.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/arch/amd64/stand/prekern/Makefile diff -u src/sys/arch/amd64/stand/prekern/Makefile:1.1 src/sys/arch/amd64/stand/prekern/Makefile:1.2 --- src/sys/arch/amd64/stand/prekern/Makefile:1.1 Tue Oct 10 09:29:14 2017 +++ src/sys/arch/amd64/stand/prekern/Makefile Mon Nov 13 20:03:26 2017 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.1 2017/10/10 09:29:14 maxv Exp $ +# $NetBSD: Makefile,v 1.2 2017/11/13 20:03:26 maxv Exp $ PROG= prekern SRCS= locore.S trap.S prekern.c mm.c console.c elf.c @@ -16,7 +16,8 @@ BINMODE= 444 .include <bsd.own.mk> -CPPFLAGS+= -I. -I${S} +CPPFLAGS+= -I. -I${S} -I${.OBJDIR} -I${.CURDIR} +CPPFLAGS+= -D_STANDALONE .include <bsd.klinks.mk> @@ -25,16 +26,25 @@ CFLAGS+= -Wall -Werror -mno-red-zone -mn STRIPFLAG= LINKFLAGS= -X -z max-page-size=0x100000 -Ttext 0x100000 -T prekern.ldscript +KERN_AS= library +.include "${S}/lib/libkern/Makefile.inc" +LIBKERN= ${KERNLIB} + LIBCRT0= # nothing LIBCRTI= # nothing LIBC= # nothing LIBCRTBEGIN= # nothing LIBCRTEND= # nothing -${PROG}: ${OBJS} - ${LD} ${LINKFLAGS} -o ${.TARGET} ${OBJS} +${PROG}: ${OBJS} ${LIBKERN} + ${_MKTARGET_LINK} + ${LD} ${LINKFLAGS} -o ${.TARGET} ${OBJS} ${LIBKERN} all: ${PROG} .include <bsd.prog.mk> +cleandir distclean: .WAIT cleanlibdir + +cleanlibdir: + -rm -rf lib Index: src/sys/arch/amd64/stand/prekern/prekern.h diff -u src/sys/arch/amd64/stand/prekern/prekern.h:1.9 src/sys/arch/amd64/stand/prekern/prekern.h:1.10 --- src/sys/arch/amd64/stand/prekern/prekern.h:1.9 Sat Nov 11 12:51:06 2017 +++ src/sys/arch/amd64/stand/prekern/prekern.h Mon Nov 13 20:03:26 2017 @@ -1,4 +1,4 @@ -/* $NetBSD: prekern.h,v 1.9 2017/11/11 12:51:06 maxv Exp $ */ +/* $NetBSD: prekern.h,v 1.10 2017/11/13 20:03:26 maxv Exp $ */ /* * Copyright (c) 2017 The NetBSD Foundation, Inc. All rights reserved. @@ -31,6 +31,7 @@ #include <sys/cdefs.h> #include <sys/param.h> #include <sys/stdbool.h> +#include <lib/libkern/libkern.h> #include <machine/pte.h> #include "pdir.h" @@ -58,50 +59,6 @@ typedef uint64_t pte_prot_t; /* -------------------------------------------------------------------------- */ -static inline void -memcpy(void *dst, void *src, size_t sz) -{ - char *bdst = dst, *bsrc = src; - while (sz > 0) { - *bdst = *bsrc; - bdst++, bsrc++, sz--; - } -} - -static inline void -memset(void *dst, char c, size_t sz) -{ - char *bdst = dst; - while (sz > 0) { - *bdst = c; - bdst++, sz--; - } -} - -static inline int -memcmp(const char *a, const char *b, size_t c) -{ - size_t i; - for (i = 0; i < c; i++) { - if (a[i] != b[i]) - return 1; - } - return 0; -} - -static inline int -strcmp(char *a, char *b) -{ - size_t i; - for (i = 0; a[i] != '\0'; i++) { - if (a[i] != b[i]) - return 1; - } - return 0; -} - -/* -------------------------------------------------------------------------- */ - #define BTSEG_NONE 0 #define BTSEG_TEXT 1 #define BTSEG_RODATA 2