Module Name: src Committed By: maxv Date: Sun Apr 12 07:16:09 UTC 2020
Modified Files: src/sys/kern: subr_cprng.c src/sys/sys: cprng.h Log Message: Don't inline cprng_strong{32,64}(), so they can be called from asm. To generate a diff of this commit: cvs rdiff -u -r1.34 -r1.35 src/sys/kern/subr_cprng.c cvs rdiff -u -r1.15 -r1.16 src/sys/sys/cprng.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/kern/subr_cprng.c diff -u src/sys/kern/subr_cprng.c:1.34 src/sys/kern/subr_cprng.c:1.35 --- src/sys/kern/subr_cprng.c:1.34 Wed Dec 4 05:36:34 2019 +++ src/sys/kern/subr_cprng.c Sun Apr 12 07:16:09 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: subr_cprng.c,v 1.34 2019/12/04 05:36:34 riastradh Exp $ */ +/* $NetBSD: subr_cprng.c,v 1.35 2020/04/12 07:16:09 maxv Exp $ */ /*- * Copyright (c) 2011-2013 The NetBSD Foundation, Inc. @@ -30,7 +30,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: subr_cprng.c,v 1.34 2019/12/04 05:36:34 riastradh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: subr_cprng.c,v 1.35 2020/04/12 07:16:09 maxv Exp $"); #include <sys/param.h> #include <sys/types.h> @@ -251,6 +251,22 @@ out: mutex_exit(&cprng->cs_lock); return result; } +uint32_t +cprng_strong32(void) +{ + uint32_t r; + cprng_strong(kern_cprng, &r, sizeof(r), 0); + return r; +} + +uint64_t +cprng_strong64(void) +{ + uint64_t r; + cprng_strong(kern_cprng, &r, sizeof(r), 0); + return r; +} + static void filt_cprng_detach(struct knote *kn) { Index: src/sys/sys/cprng.h diff -u src/sys/sys/cprng.h:1.15 src/sys/sys/cprng.h:1.16 --- src/sys/sys/cprng.h:1.15 Mon Sep 2 20:09:30 2019 +++ src/sys/sys/cprng.h Sun Apr 12 07:16:09 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: cprng.h,v 1.15 2019/09/02 20:09:30 riastradh Exp $ */ +/* $NetBSD: cprng.h,v 1.16 2020/04/12 07:16:09 maxv Exp $ */ /*- * Copyright (c) 2011-2013 The NetBSD Foundation, Inc. @@ -71,20 +71,7 @@ int cprng_strong_poll(cprng_strong_t *, extern cprng_strong_t *kern_cprng; -static __inline uint32_t -cprng_strong32(void) -{ - uint32_t r; - cprng_strong(kern_cprng, &r, sizeof(r), 0); - return r; -} - -static __inline uint64_t -cprng_strong64(void) -{ - uint64_t r; - cprng_strong(kern_cprng, &r, sizeof(r), 0); - return r; -} +uint32_t cprng_strong32(void); +uint64_t cprng_strong64(void); #endif /* _CPRNG_H */