From: Richard Henderson <richard.henderson@linaro.org>
To: qemu-devel@nongnu.org
Cc: peter.maydell@linaro.org
Subject: [Qemu-devel] [PULL 00/25] Add qemu_getrandom and ARMv8.5-RNG etc
Date: Wed, 22 May 2019 14:42:01 -0400 [thread overview]
Message-ID: <20190522184226.17871-1-richard.henderson@linaro.org> (raw)
This is v8, rebased to avoid a conflict with 8d5d515a0fb
("build: chardev is only needed for softmmu targets"),
which affected patch 2.
Daniel and Laurent gave me acks for issuing a pull request
touching their subsystems. The reasonable thing seemed to
be to put those into the log for the signed tag itself.
r~
The following changes since commit a4f667b6714916683408b983cfe0a615a725775f:
Merge remote-tracking branch 'remotes/cohuck/tags/s390x-20190521-3' into staging (2019-05-21 16:30:13 +0100)
are available in the Git repository at:
https://github.com/rth7680/qemu.git tags/pull-rng-20190522
for you to fetch changes up to 369fd5ca66810b2ddb16e23a497eabe59385eceb:
target/i386: Implement CPUID_EXT_RDRAND (2019-05-22 12:38:54 -0400)
----------------------------------------------------------------
Introduce qemu_guest_getrandom.
Use qemu_guest_getrandom in aspeed, nrf51, bcm2835, exynos4210 rng devices.
Use qemu_guest_getrandom in target/ppc darn instruction.
Support ARMv8.5-RNG extension.
Support x86 RDRAND extension.
Acked-by: Daniel P. Berrangé <berrange@redhat.com>
Acked-by: Laurent Vivier <laurent@vivier.eu>
----------------------------------------------------------------
Richard Henderson (25):
configure: Link test before auto-enabling crypto libraries
build: Link user-only with crypto random number objects
crypto: Reverse code blocks in random-platform.c
crypto: Do not fail for EINTR during qcrypto_random_bytes
crypto: Use O_CLOEXEC in qcrypto_random_init
crypto: Use getrandom for qcrypto_random_bytes
crypto: Change the qcrypto_random_bytes buffer type to void*
ui/vnc: Split out authentication_failed
ui/vnc: Use gcrypto_random_bytes for start_auth_vnc
util: Add qemu_guest_getrandom and associated routines
cpus: Initialize pseudo-random seeds for all guest cpus
linux-user: Initialize pseudo-random seeds for all guest cpus
linux-user: Call qcrypto_init if not using -seed
linux-user: Use qemu_guest_getrandom_nofail for AT_RANDOM
linux-user/aarch64: Use qemu_guest_getrandom for PAUTH keys
linux-user: Remove srand call
aspeed/scu: Use qemu_guest_getrandom_nofail
hw/misc/nrf51_rng: Use qemu_guest_getrandom_nofail
hw/misc/bcm2835_rng: Use qemu_guest_getrandom_nofail
hw/misc/exynos4210_rng: Use qemu_guest_getrandom
target/arm: Put all PAC keys into a structure
target/arm: Implement ARMv8.5-RNG
target/ppc: Use gen_io_start/end around DARN
target/ppc: Use qemu_guest_getrandom for DARN
target/i386: Implement CPUID_EXT_RDRAND
Makefile | 4 +-
Makefile.objs | 2 +-
Makefile.target | 4 +-
include/crypto/random.h | 2 +-
include/qemu/guest-random.h | 68 +++++++++++++++++++++++
include/qom/cpu.h | 1 +
linux-user/aarch64/target_syscall.h | 2 -
target/arm/cpu.h | 17 ++++--
target/i386/helper.h | 2 +
cpus.c | 9 ++++
crypto/random-gcrypt.c | 2 +-
crypto/random-gnutls.c | 2 +-
crypto/random-platform.c | 104 +++++++++++++++++++++---------------
hw/misc/aspeed_scu.c | 10 +---
hw/misc/bcm2835_rng.c | 32 +++++------
hw/misc/exynos4210_rng.c | 11 ++--
hw/misc/nrf51_rng.c | 4 +-
linux-user/aarch64/cpu_loop.c | 25 +--------
linux-user/elfload.c | 8 ++-
linux-user/main.c | 33 +++++++-----
linux-user/syscall.c | 34 ++++++++++--
target/arm/cpu64.c | 1 +
target/arm/helper.c | 64 ++++++++++++++++++----
target/arm/pauth_helper.c | 18 +++----
target/i386/cpu.c | 5 +-
target/i386/int_helper.c | 21 ++++++++
target/i386/translate.c | 62 +++++++++++++++------
target/ppc/int_helper.c | 39 +++++++++-----
target/ppc/translate.c | 21 +++++---
ui/vnc.c | 53 ++++++++----------
util/guest-random.c | 93 ++++++++++++++++++++++++++++++++
vl.c | 4 ++
configure | 87 ++++++++++++++++++++----------
crypto/Makefile.objs | 11 ++--
qemu-options.hx | 10 ++++
util/Makefile.objs | 1 +
36 files changed, 610 insertions(+), 256 deletions(-)
create mode 100644 include/qemu/guest-random.h
create mode 100644 util/guest-random.c
next reply other threads:[~2019-05-22 19:14 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-05-22 18:42 Richard Henderson [this message]
2019-05-22 18:42 ` [Qemu-devel] [PULL 01/25] configure: Link test before auto-enabling crypto libraries Richard Henderson
2019-05-22 18:42 ` [Qemu-devel] [PULL 02/25] build: Link user-only with crypto random number objects Richard Henderson
2019-05-22 18:42 ` [Qemu-devel] [PULL 03/25] crypto: Reverse code blocks in random-platform.c Richard Henderson
2019-05-22 18:42 ` [Qemu-devel] [PULL 04/25] crypto: Do not fail for EINTR during qcrypto_random_bytes Richard Henderson
2019-05-22 18:42 ` [Qemu-devel] [PULL 05/25] crypto: Use O_CLOEXEC in qcrypto_random_init Richard Henderson
2019-05-22 18:42 ` [Qemu-devel] [PULL 06/25] crypto: Use getrandom for qcrypto_random_bytes Richard Henderson
2019-05-22 18:42 ` [Qemu-devel] [PULL 07/25] crypto: Change the qcrypto_random_bytes buffer type to void* Richard Henderson
2019-05-22 18:42 ` [Qemu-devel] [PULL 08/25] ui/vnc: Split out authentication_failed Richard Henderson
2019-05-22 18:42 ` [Qemu-devel] [PULL 09/25] ui/vnc: Use gcrypto_random_bytes for start_auth_vnc Richard Henderson
2019-05-22 18:42 ` [Qemu-devel] [PULL 10/25] util: Add qemu_guest_getrandom and associated routines Richard Henderson
2019-05-30 11:29 ` Peter Maydell
2019-05-30 13:41 ` Richard Henderson
2019-05-30 13:45 ` Peter Maydell
2019-05-22 18:42 ` [Qemu-devel] [PULL 11/25] cpus: Initialize pseudo-random seeds for all guest cpus Richard Henderson
2019-05-22 18:42 ` [Qemu-devel] [PULL 12/25] linux-user: " Richard Henderson
2019-05-22 18:42 ` [Qemu-devel] [PULL 13/25] linux-user: Call qcrypto_init if not using -seed Richard Henderson
2019-05-22 18:42 ` [Qemu-devel] [PULL 14/25] linux-user: Use qemu_guest_getrandom_nofail for AT_RANDOM Richard Henderson
2019-05-22 18:42 ` [Qemu-devel] [PULL 15/25] linux-user/aarch64: Use qemu_guest_getrandom for PAUTH keys Richard Henderson
2019-05-22 18:42 ` [Qemu-devel] [PULL 16/25] linux-user: Remove srand call Richard Henderson
2019-05-22 18:42 ` [Qemu-devel] [PULL 17/25] aspeed/scu: Use qemu_guest_getrandom_nofail Richard Henderson
2019-05-22 18:42 ` [Qemu-devel] [PULL 18/25] hw/misc/nrf51_rng: " Richard Henderson
2019-05-22 18:42 ` [Qemu-devel] [PULL 19/25] hw/misc/bcm2835_rng: " Richard Henderson
2019-05-22 18:42 ` [Qemu-devel] [PULL 20/25] hw/misc/exynos4210_rng: Use qemu_guest_getrandom Richard Henderson
2019-05-22 18:42 ` [Qemu-devel] [PULL 21/25] target/arm: Put all PAC keys into a structure Richard Henderson
2019-05-22 18:42 ` [Qemu-devel] [PULL 22/25] target/arm: Implement ARMv8.5-RNG Richard Henderson
2019-05-22 18:42 ` [Qemu-devel] [PULL 23/25] target/ppc: Use gen_io_start/end around DARN Richard Henderson
2019-05-22 18:42 ` [Qemu-devel] [PULL 24/25] target/ppc: Use qemu_guest_getrandom for DARN Richard Henderson
2019-05-22 18:42 ` [Qemu-devel] [PULL 25/25] target/i386: Implement CPUID_EXT_RDRAND Richard Henderson
2019-05-23 13:14 ` [Qemu-devel] [PULL 00/25] Add qemu_getrandom and ARMv8.5-RNG etc Peter Maydell
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190522184226.17871-1-richard.henderson@linaro.org \
--to=richard.henderson@linaro.org \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).