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 [email protected] 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);