Module Name: src Committed By: maxv Date: Tue Nov 14 13:58:08 UTC 2017
Modified Files: src/sys/arch/amd64/stand/prekern: locore.S redef.h Log Message: Remove XXX: set FRAMESIZE to the kernel value. Verily I don't understand why we are doing that in the non-kaslr kernels, but let's just reproduce the behavior. jump_kernel is changed to use callq, so that the stack alignment is preserved. To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.5 src/sys/arch/amd64/stand/prekern/locore.S cvs rdiff -u -r1.1 -r1.2 src/sys/arch/amd64/stand/prekern/redef.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/locore.S diff -u src/sys/arch/amd64/stand/prekern/locore.S:1.4 src/sys/arch/amd64/stand/prekern/locore.S:1.5 --- src/sys/arch/amd64/stand/prekern/locore.S:1.4 Fri Nov 10 08:05:38 2017 +++ src/sys/arch/amd64/stand/prekern/locore.S Tue Nov 14 13:58:07 2017 @@ -1,4 +1,4 @@ -/* $NetBSD: locore.S,v 1.4 2017/11/10 08:05:38 maxv Exp $ */ +/* $NetBSD: locore.S,v 1.5 2017/11/14 13:58:07 maxv Exp $ */ /* * Copyright (c) 1998, 2000, 2007, 2008, 2016, 2017 The NetBSD Foundation, Inc. @@ -623,6 +623,6 @@ END(rdseed) ENTRY(jump_kernel) movq _C_LABEL(stkva),%rsp - movq $exec_kernel,%rax - jmpq *%rax + xorq %rbp,%rbp + callq exec_kernel END(jump_kernel) Index: src/sys/arch/amd64/stand/prekern/redef.h diff -u src/sys/arch/amd64/stand/prekern/redef.h:1.1 src/sys/arch/amd64/stand/prekern/redef.h:1.2 --- src/sys/arch/amd64/stand/prekern/redef.h:1.1 Tue Oct 10 09:29:14 2017 +++ src/sys/arch/amd64/stand/prekern/redef.h Tue Nov 14 13:58:07 2017 @@ -1,4 +1,4 @@ -/* $NetBSD: redef.h,v 1.1 2017/10/10 09:29:14 maxv Exp $ */ +/* $NetBSD: redef.h,v 1.2 2017/11/14 13:58:07 maxv Exp $ */ /* * Copyright (c) 2017 The NetBSD Foundation, Inc. All rights reserved. @@ -43,5 +43,4 @@ * -------------------------------------------------------------------------- */ #define PDE_SIZE 8 -#define FRAMESIZE 8 /* XXX */ - +#define FRAMESIZE 240