TianoCore EDK2 master
Loading...
Searching...
No Matches
VirtioRng.h
Go to the documentation of this file.
1
11#ifndef _VIRTIO_RNG_DXE_H_
12#define _VIRTIO_RNG_DXE_H_
13
16#include <Protocol/Rng.h>
17
19
20#define VIRTIO_RNG_SIG SIGNATURE_32 ('V', 'R', 'N', 'G')
21
22typedef struct {
23 //
24 // Parts of this structure are initialized / torn down in various functions
25 // at various call depths. The table to the right should make it easier to
26 // track them.
27 //
28 // field init function init depth
29 // ---------------- ------------------ ----------
30 UINT32 Signature; // DriverBindingStart 0
31 VIRTIO_DEVICE_PROTOCOL *VirtIo; // DriverBindingStart 0
32 EFI_EVENT ExitBoot; // DriverBindingStart 0
33 VRING Ring; // VirtioRingInit 2
34 EFI_RNG_PROTOCOL Rng; // VirtioRngInit 1
35 VOID *RingMap; // VirtioRingMap 2
36 BOOLEAN Ready;
38
39#define VIRTIO_ENTROPY_SOURCE_FROM_RNG(RngPointer) \
40 CR (RngPointer, VIRTIO_RNG_DEV, Rng, VIRTIO_RNG_SIG)
41
42#endif
VOID * EFI_EVENT
Definition: UefiBaseType.h:37