The Pedigree Project
0.1
src
modules
drivers
common
virtio-rng
VirtioRng.h
1
/* Copyright (c) 2026, Pedigree Developers. SPDX-License-Identifier: ISC */
2
#ifndef VIRTIO_RNG_H
3
#define VIRTIO_RNG_H
4
5
#include "pedigree/kernel/processor/MemoryRegion.h"
6
7
#include "modules/drivers/common/virtio/VirtioPci.h"
8
#include "modules/drivers/common/virtio/Virtqueue.h"
9
10
class
Device
;
11
12
class
VirtioRng
final {
13
public
:
14
explicit
VirtioRng
(
Device
* pci);
15
~VirtioRng
();
16
17
bool
seedKernel();
18
19
private
:
20
void
shutdown();
21
22
Device
* m_Pci;
23
Virtio::PciTransport
m_Transport;
24
Virtio::Queue
m_Queue;
25
MemoryRegion
m_Data;
26
bool
m_Shutdown;
27
};
28
29
#endif
Device
Definition
Device.h:41
MemoryRegion
Special memory entity in the kernel's virtual address space.
Definition
MemoryRegion.h:35
VirtioRng
Definition
VirtioRng.h:12
Virtio::PciTransport
Definition
VirtioPci.h:18
Virtio::Queue
Definition
Virtqueue.h:25
Generated on Tue Sep 29 2026 04:30:09 for The Pedigree Project by
1.9.8