Module Name: src Committed By: maxv Date: Sat Jul 21 16:21:27 UTC 2018
Modified Files: src/sys/arch/i386/i386: cpufunc.S src/sys/arch/x86/x86: cpu_rng.c Log Message: Forgot to commit a change in i386/cpufunc.S; add rdtsc(), so that it can be used in cpu_rng. Restore the cpu_rng code back to how it was in my initial commit. To generate a diff of this commit: cvs rdiff -u -r1.22 -r1.23 src/sys/arch/i386/i386/cpufunc.S cvs rdiff -u -r1.7 -r1.8 src/sys/arch/x86/x86/cpu_rng.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/i386/i386/cpufunc.S diff -u src/sys/arch/i386/i386/cpufunc.S:1.22 src/sys/arch/i386/i386/cpufunc.S:1.23 --- src/sys/arch/i386/i386/cpufunc.S:1.22 Sat Jul 14 14:29:40 2018 +++ src/sys/arch/i386/i386/cpufunc.S Sat Jul 21 16:21:27 2018 @@ -1,4 +1,4 @@ -/* $NetBSD: cpufunc.S,v 1.22 2018/07/14 14:29:40 maxv Exp $ */ +/* $NetBSD: cpufunc.S,v 1.23 2018/07/21 16:21:27 maxv Exp $ */ /*- * Copyright (c) 1998, 2007 The NetBSD Foundation, Inc. @@ -38,7 +38,7 @@ #include <sys/errno.h> #include <machine/asm.h> -__KERNEL_RCSID(0, "$NetBSD: cpufunc.S,v 1.22 2018/07/14 14:29:40 maxv Exp $"); +__KERNEL_RCSID(0, "$NetBSD: cpufunc.S,v 1.23 2018/07/21 16:21:27 maxv Exp $"); #include "opt_xen.h" @@ -209,6 +209,11 @@ ENTRY(rdpmc) ret END(rdpmc) +ENTRY(rdtsc) + rdtsc + ret +END(rdtsc) + ENTRY(breakpoint) pushl %ebp movl %esp, %ebp Index: src/sys/arch/x86/x86/cpu_rng.c diff -u src/sys/arch/x86/x86/cpu_rng.c:1.7 src/sys/arch/x86/x86/cpu_rng.c:1.8 --- src/sys/arch/x86/x86/cpu_rng.c:1.7 Sat Jul 21 14:46:41 2018 +++ src/sys/arch/x86/x86/cpu_rng.c Sat Jul 21 16:21:27 2018 @@ -1,4 +1,4 @@ -/* $NetBSD: cpu_rng.c,v 1.7 2018/07/21 14:46:41 kre Exp $ */ +/* $NetBSD: cpu_rng.c,v 1.8 2018/07/21 16:21:27 maxv Exp $ */ /*- * Copyright (c) 2015 The NetBSD Foundation, Inc. @@ -35,8 +35,6 @@ * comments from Henric Jungheim on the t...@openbsd.org mailing list. */ -#include "opt_xen.h" - #include <sys/param.h> #include <sys/systm.h> #include <sys/cpu.h> @@ -237,11 +235,7 @@ cpu_earlyrng(void *out, size_t sz) } SHA512_Update(&ctx, (uint8_t *)buf, i * sizeof(cpu_rng_t)); } -#ifndef XEN val = rdtsc(); -#else - val = 0; /* XXX */ -#endif SHA512_Update(&ctx, (uint8_t *)&val, sizeof(val)); SHA512_Final(digest, &ctx);