<div dir="ltr"><div><div>No problem, if I can be smart enough ;)<br><br></div>Currently I'm trying to understand how things fit together (by looking at how rtc_entropy hooks in) and how errfile.h should go.<br><br>For reference, the meat of the entropy thing I was thinking to look like:<br>
uint8_t efi_sample ( void ) {<br>    EFI_BOOT_SERVICES *bs = efi_systab->BootServices;<br>    EFI_EVENT waiter;<br>    unsigned long before;<br>    unsigned long after;<br>    EFI_STATUS efirc;<br>    EFI_TIMER_DELAY delay = TimerRelative;<br>
    UINTN discard;<br>    /* int rc; */<br><br>    if ( ( efirc = bs->CreateEvent ( EVT_TIMER, TPL_NOTIFY,<br>                    NULL, NULL, &waiter ) ) != 0){<br>        /* TODO: I don't know how to wrangle errfile.h......<br>
         * rc = -EEFI ( efirc );<br>         */<br>        return efirc;<br>    }<br>    bs->SetTimer(waiter, delay, 0);<br>    bs->WaitForEvent(1, &waiter, &discard);<br>    before = currticks();<br>    bs->SetTimer(waiter, delay, 0);<br>
    bs->WaitForEvent(1, &waiter, &discard);<br>    after = currticks();<br>    bs->CloseEvent(waiter);<br>    return ( after - before );<br>}<br><br><br></div>That at least compiles as interface/efi/efi_entropy.c.....<br>
</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Oct 29, 2013 at 6:42 PM, Michael Brown <span dir="ltr"><<a href="mailto:mcb30@ipxe.org" target="_blank">mcb30@ipxe.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="HOEnZb"><div class="h5">On 29/10/13 20:22, Jarrod Johnson wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I guess I'm embarking upon trying to provide two stubbed out things in efi.<br>
time:  Straightforward enough, use the GetTime() runtime service<br>
<br>
entropy.  For now ignore the 2.4 RNG since I have no way of testing it,<br>
just port forward the rtc logic:<br>
-call efi_currticks (defined in efi_timer.c)<br>
-createevent to make a timer event<br>
-settimer to schedule it to fire (will try for TimerRelative, 0)<br>
-waitevent<br>
-call efi_currticks again<br>
</blockquote>
<br></div></div>
Both sound sensible to me.  Thanks for doing this.<span class="HOEnZb"><font color="#888888"><br>
<br>
Michael<br>
</font></span></blockquote></div><br></div>