Module Name: src
Committed By: maxv
Date: Fri Nov 17 07:07:52 UTC 2017
Modified Files:
src/sys/arch/amd64/stand/prekern: Makefile console.c elf.c pdir.h
prekern.c
Log Message:
style
To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 src/sys/arch/amd64/stand/prekern/Makefile
cvs rdiff -u -r1.2 -r1.3 src/sys/arch/amd64/stand/prekern/console.c \
src/sys/arch/amd64/stand/prekern/pdir.h
cvs rdiff -u -r1.15 -r1.16 src/sys/arch/amd64/stand/prekern/elf.c
cvs rdiff -u -r1.5 -r1.6 src/sys/arch/amd64/stand/prekern/prekern.c
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.3 src/sys/arch/amd64/stand/prekern/Makefile:1.4
--- src/sys/arch/amd64/stand/prekern/Makefile:1.3 Tue Nov 14 07:06:34 2017
+++ src/sys/arch/amd64/stand/prekern/Makefile Fri Nov 17 07:07:52 2017
@@ -1,7 +1,7 @@
-# $NetBSD: Makefile,v 1.3 2017/11/14 07:06:34 maxv Exp $
+# $NetBSD: Makefile,v 1.4 2017/11/17 07:07:52 maxv Exp $
PROG= prekern
-SRCS= locore.S trap.S prekern.c mm.c console.c elf.c
+SRCS= locore.S trap.S prekern.c mm.c console.c elf.c
NOSSP= # defined
NOPIE= # defined
@@ -22,8 +22,8 @@ CPPFLAGS+= -D_STANDALONE
.include <bsd.klinks.mk>
CPPFLAGS+= -DKERNEL -D__x86_64__
-CFLAGS+= -Wall -Werror -mno-red-zone -mno-mmx -mno-sse -mno-avx -ffreestanding
-CFLAGS+= -Wstrict-prototypes
+CFLAGS+= -Wall -Werror -Wstrict-prototypes
+CFLAGS+= -mno-red-zone -mno-mmx -mno-sse -mno-avx -ffreestanding
STRIPFLAG=
LINKFLAGS= -X -z max-page-size=0x100000 -Ttext 0x100000 -T prekern.ldscript
Index: src/sys/arch/amd64/stand/prekern/console.c
diff -u src/sys/arch/amd64/stand/prekern/console.c:1.2 src/sys/arch/amd64/stand/prekern/console.c:1.3
--- src/sys/arch/amd64/stand/prekern/console.c:1.2 Tue Nov 14 07:06:34 2017
+++ src/sys/arch/amd64/stand/prekern/console.c Fri Nov 17 07:07:52 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: console.c,v 1.2 2017/11/14 07:06:34 maxv Exp $ */
+/* $NetBSD: console.c,v 1.3 2017/11/17 07:07:52 maxv Exp $ */
/*
* Copyright (c) 2017 The NetBSD Foundation, Inc. All rights reserved.
@@ -108,7 +108,7 @@ void print_state(bool ok, char *buf)
void print_banner(void)
{
- char *banner =
+ char *banner =
" __________ __ \n"
" \\______ \\_______ ____ | | __ ___________ ____ \n"
" | ___/\\_ __ \\_/ __ \\| |/ // __ \\_ __ \\/ \\ \n"
Index: src/sys/arch/amd64/stand/prekern/pdir.h
diff -u src/sys/arch/amd64/stand/prekern/pdir.h:1.2 src/sys/arch/amd64/stand/prekern/pdir.h:1.3
--- src/sys/arch/amd64/stand/prekern/pdir.h:1.2 Sun Nov 5 16:27:18 2017
+++ src/sys/arch/amd64/stand/prekern/pdir.h Fri Nov 17 07:07:52 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: pdir.h,v 1.2 2017/11/05 16:27:18 maxv Exp $ */
+/* $NetBSD: pdir.h,v 1.3 2017/11/17 07:07:52 maxv Exp $ */
/*
* Copyright (c) 2017 The NetBSD Foundation, Inc. All rights reserved.
@@ -28,11 +28,11 @@
* POSSIBILITY OF SUCH DAMAGE.
*/
-#define PREKERNBASE 0x0
+#define PREKERNBASE 0x0
#define PREKERNTEXTOFF (PREKERNBASE + 0x100000)
#define L4_SLOT_PREKERN 0 /* pl4_i(PREKERNBASE) */
-#define L4_SLOT_PTE 255
+#define L4_SLOT_PTE 255
#define PDIR_SLOT_KERN L4_SLOT_PREKERN
#define PDIR_SLOT_PTE L4_SLOT_PTE
Index: src/sys/arch/amd64/stand/prekern/elf.c
diff -u src/sys/arch/amd64/stand/prekern/elf.c:1.15 src/sys/arch/amd64/stand/prekern/elf.c:1.16
--- src/sys/arch/amd64/stand/prekern/elf.c:1.15 Wed Nov 15 20:45:16 2017
+++ src/sys/arch/amd64/stand/prekern/elf.c Fri Nov 17 07:07:52 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: elf.c,v 1.15 2017/11/15 20:45:16 maxv Exp $ */
+/* $NetBSD: elf.c,v 1.16 2017/11/17 07:07:52 maxv Exp $ */
/*
* Copyright (c) 2017 The NetBSD Foundation, Inc. All rights reserved.
@@ -292,6 +292,7 @@ elf_map_sections(void)
secalign = shdr->sh_addralign;
ASSERT(shdr->sh_offset != 0);
ASSERT(secpa % PAGE_SIZE == 0);
+ ASSERT(secpa + secsz <= kernpa_end);
secva = mm_map_segment(segtype, secpa, secsz, secalign);
Index: src/sys/arch/amd64/stand/prekern/prekern.c
diff -u src/sys/arch/amd64/stand/prekern/prekern.c:1.5 src/sys/arch/amd64/stand/prekern/prekern.c:1.6
--- src/sys/arch/amd64/stand/prekern/prekern.c:1.5 Tue Nov 14 07:06:34 2017
+++ src/sys/arch/amd64/stand/prekern/prekern.c Fri Nov 17 07:07:52 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: prekern.c,v 1.5 2017/11/14 07:06:34 maxv Exp $ */
+/* $NetBSD: prekern.c,v 1.6 2017/11/17 07:07:52 maxv Exp $ */
/*
* Copyright (c) 2017 The NetBSD Foundation, Inc. All rights reserved.
@@ -46,10 +46,9 @@ struct bootinfo bootinfo;
extern paddr_t kernpa_start, kernpa_end;
-extern uint64_t *gdt64_start;
-uint8_t idtstore[PAGE_SIZE];
-uint8_t faultstack[PAGE_SIZE];
-struct x86_64_tss prekern_tss;
+static uint8_t idtstore[PAGE_SIZE];
+static uint8_t faultstack[PAGE_SIZE];
+static struct x86_64_tss prekern_tss;
/* GDT offsets */
#define PREKERN_GDT_NUL_OFF (0 * 8)
@@ -117,7 +116,7 @@ static char *trap_type[] = {
"SSE FP exception", /* 19 T_XMM */
"reserved trap", /* 20 T_RESERVED */
};
-int trap_types = __arraycount(trap_type);
+static int trap_types = __arraycount(trap_type);
/*
* Trap handler.
@@ -152,7 +151,7 @@ setregion(struct region_descriptor *rd,
static void
setgate(struct gate_descriptor *gd, void *func, int ist, int type, int dpl,
- int sel)
+ int sel)
{
gd->gd_looffset = (uint64_t)func & 0xffff;
gd->gd_selector = sel;
@@ -169,7 +168,7 @@ setgate(struct gate_descriptor *gd, void
static void
set_sys_segment(struct sys_segment_descriptor *sd, void *base, size_t limit,
- int type, int dpl, int gran)
+ int type, int dpl, int gran)
{
memset(sd, 0, sizeof(*sd));
sd->sd_lolimit = (unsigned)limit;
@@ -186,13 +185,15 @@ static void
set_sys_gdt(int slotoff, void *base, size_t limit, int type, int dpl, int gran)
{
struct sys_segment_descriptor sd;
+ extern uint64_t *gdt64_start;
set_sys_segment(&sd, base, limit, type, dpl, gran);
memcpy(&gdt64_start + slotoff, &sd, sizeof(sd));
}
-static void init_tss(void)
+static void
+init_tss(void)
{
memset(&prekern_tss, 0, sizeof(prekern_tss));
prekern_tss.tss_ist[0] = (uintptr_t)(&faultstack[PAGE_SIZE-1]) & ~0xf;
@@ -201,7 +202,8 @@ static void init_tss(void)
sizeof(struct x86_64_tss) - 1, SDT_SYS386TSS, SEL_KPL, 0);
}
-static void init_idt(void)
+static void
+init_idt(void)
{
struct region_descriptor region;
struct gate_descriptor *idt;