mirror of
https://github.com/ipxe/ipxe
synced 2025-12-15 17:12:54 +03:00
[rng] Allow entropy_enable() to return an error
Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
@@ -165,12 +165,15 @@ static void rtc_disable_int ( void ) {
|
||||
/**
|
||||
* Enable entropy gathering
|
||||
*
|
||||
* @ret rc Return status code
|
||||
*/
|
||||
static void rtc_entropy_enable ( void ) {
|
||||
static int rtc_entropy_enable ( void ) {
|
||||
|
||||
rtc_hook_isr();
|
||||
enable_irq ( RTC_IRQ );
|
||||
rtc_enable_int();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -422,7 +422,8 @@ int get_entropy_input_tmp ( unsigned int num_samples, uint8_t *tmp,
|
||||
int rc;
|
||||
|
||||
/* Enable entropy gathering */
|
||||
entropy_enable();
|
||||
if ( ( rc = entropy_enable() ) != 0 )
|
||||
return rc;
|
||||
|
||||
/* Perform mandatory startup tests, if not yet performed */
|
||||
for ( ; startup_tested < startup_test_count() ; startup_tested++ ) {
|
||||
|
||||
@@ -61,8 +61,9 @@ typedef uint8_t entropy_sample_t;
|
||||
/**
|
||||
* Enable entropy gathering
|
||||
*
|
||||
* @ret rc Return status code
|
||||
*/
|
||||
void entropy_enable ( void );
|
||||
int entropy_enable ( void );
|
||||
|
||||
/**
|
||||
* Disable entropy gathering
|
||||
|
||||
@@ -19,9 +19,10 @@ FILE_LICENCE ( GPL2_OR_LATER );
|
||||
#define ENTROPY_PREFIX_null __null_
|
||||
#endif
|
||||
|
||||
static inline __always_inline void
|
||||
static inline __always_inline int
|
||||
ENTROPY_INLINE ( null, entropy_enable ) ( void ) {
|
||||
/* Do nothing */
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline __always_inline void
|
||||
|
||||
@@ -48,7 +48,8 @@ static void entropy_sample_test_exec ( void ) {
|
||||
for ( i = 0 ; i < ( SAMPLE_COUNT / SAMPLE_BLOCKSIZE ) ; i++ ) {
|
||||
|
||||
/* Collect one block of samples */
|
||||
entropy_enable();
|
||||
rc = entropy_enable();
|
||||
ok ( rc == 0 );
|
||||
for ( j = 0 ; j < SAMPLE_BLOCKSIZE ; j++ ) {
|
||||
rc = get_noise ( &samples[j] );
|
||||
ok ( rc == 0 );
|
||||
|
||||
Reference in New Issue
Block a user