Pull request for UEFI sub-system for efi-2020-07-rc5

Use correct printf code in efi_image_parse().
 Add random number generation to HTML documentation.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEbcT5xx8ppvoGt20zxIHbvCwFGsQFAl7ny9YACgkQxIHbvCwF
 GsRTAg//bG9ixJ/ryzkPNhgedyHnJnZ1fBOVQphaJAnQDjLKhxTMsebIaBDpxkGg
 yCa0RAo7Y91PeYz/2WavH1BKX4SjSXEDIyIw8cvhCwQ5hmlBEQHiw6WIUCGW2p33
 iQO9XdTR8U1IqRENJk6ZtGP6hKH9V8LNY9taBt1lkk45aS8tDVPVivVn+1Z+JFbg
 sY0VTaWmCFWOH+aeJprWYR7tjO6TI5KG82SNe3tu3vmfRzFN5X/2E4IOmcHL00Yy
 oVGALNBEQ22TZgz7/uQTn4xH3X3a+HDW7RyHnOQUkmqxCUqfTvp54tLLVhNTTsIj
 ccvS2TGaI9bKQVIzBQbOWaJRgYrlzDvlCvUwxgqg3iAWx0bzXeB0Nz8cNWTj0HOP
 gNpCJeODp3XlGD4PKx6GKg9R6JMmtzcJYudPLhoy1jjwZxLALGv+Y2DRP7fzeLpA
 wW6Slg8t3HEMF8JYbqYVa/V0CqB9MNX7nfHBdBu/SoMoOqzMA8TQk3Aen4jTWU1x
 wYSxh7sh1KT21/cpoVRTyD+5Ao8Ti6zeDbdCcbAQTr9w210ts/wRyCWXjPbe/WCM
 MWiEzuL2o6NfQdzUs1TyNs+8GohNI8X/PzFPok9+5gsbrKqKAbmWB2CQ74ufjt6k
 Qg3wHBVOvYFqIvoEFoyWus6Ni4LEycrQ0kuYsHQhnNoZlUXj6wE=
 =yON/
 -----END PGP SIGNATURE-----

Merge tag 'efi-2020-07-rc5' of https://gitlab.denx.de/u-boot/custodians/u-boot-efi

Pull request for UEFI sub-system for efi-2020-07-rc5

Use correct printf code in efi_image_parse().
Add random number generation to HTML documentation.
This commit is contained in:
Tom Rini 2020-06-15 16:44:58 -04:00
commit c622afb087
6 changed files with 41 additions and 12 deletions

View file

@ -877,6 +877,7 @@ M: Sughosh Ganu <sughosh.ganu@linaro.org>
R: Heinrich Schuchardt <xypron.glpk@gmx.de>
S: Maintained
F: cmd/rng.c
F: doc/api/rng.rst
F: drivers/rng/
F: drivers/virtio/virtio_rng.c
F: include/rng.h

View file

@ -9,5 +9,6 @@ U-Boot API documentation
dfu
efi
linker_lists
rng
serial
unicode

17
doc/api/rng.rst Normal file
View file

@ -0,0 +1,17 @@
.. SPDX-License-Identifier: GPL-2.0+
.. Copyright (c) 2018 Heinrich Schuchardt
Random number generation
========================
Hardware random number generation
---------------------------------
.. kernel-doc:: include/rng.h
:internal:
Pseudo random number generation
-------------------------------
.. kernel-doc:: include/rand.h
:internal:

View file

@ -22,7 +22,7 @@ void srand(unsigned int seed);
/**
* rand() - Get a 32-bit pseudo-random number
*
* @returns next random number in the sequence
* Return: next random number in the sequence
*/
unsigned int rand(void);
@ -32,8 +32,8 @@ unsigned int rand(void);
* This version of the function allows multiple sequences to be used at the
* same time, since it requires the caller to store the seed value.
*
* @seed value to use, updated on exit
* @returns next random number in the sequence
* @seedp: seed value to use, updated on exit
* Return: next random number in the sequence
*/
unsigned int rand_r(unsigned int *seedp);

View file

@ -10,22 +10,32 @@ struct udevice;
/**
* dm_rng_read() - read a random number seed from the rng device
* @buffer: input buffer to put the read random seed into
* @size: number of bytes of random seed read
*
* Return: 0 if OK, -ve on error
* The function blocks until the requested number of bytes is read.
*
* @dev: random number generator device
* @buffer: input buffer to put the read random seed into
* @size: number of random bytes to read
* Return: 0 if OK, -ve on error
*/
int dm_rng_read(struct udevice *dev, void *buffer, size_t size);
/* struct dm_rng_ops - Operations for the hwrng uclass */
/**
* struct dm_rng_ops - operations for the hwrng uclass
*
* This structures contains the function implemented by a hardware random
* number generation device.
*/
struct dm_rng_ops {
/**
* @read() - read a random number seed
* @read: read a random bytes
*
* @data: input buffer to read the random seed
* @max: total number of bytes to read
* The function blocks until the requested number of bytes is read.
*
* Return: 0 if OK, -ve on error
* @read.dev: random number generator device
* @read.data: input buffer to read the random seed into
* @read.max: number of random bytes to read
* @read.Return: 0 if OK, -ve on error
*/
int (*read)(struct udevice *dev, void *data, size_t max);
};

View file

@ -369,7 +369,7 @@ bool efi_image_parse(void *efi, size_t len, struct efi_image_regions **regp,
/* 3. Extra data excluding Certificates Table */
if (bytes_hashed + authsz < len) {
debug("extra data for hash: %lu\n",
debug("extra data for hash: %zu\n",
len - (bytes_hashed + authsz));
efi_image_region_add(regs, efi + bytes_hashed,
efi + len - authsz, 0);