mirror of
https://github.com/RGBCube/serenity
synced 2025-07-28 18:37:35 +00:00
Kernel: Move VirtIO code into the Bus source folder
The VirtIO code handles functionality related to the VirtIO bus, so it really should be in the Bus folder.
This commit is contained in:
parent
f641cc6470
commit
18eb262157
14 changed files with 23 additions and 23 deletions
43
Kernel/Bus/VirtIO/VirtIORNG.h
Normal file
43
Kernel/Bus/VirtIO/VirtIORNG.h
Normal file
|
@ -0,0 +1,43 @@
|
|||
/*
|
||||
* Copyright (c) 2021, the SerenityOS developers.
|
||||
*
|
||||
* SPDX-License-Identifier: BSD-2-Clause
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <Kernel/Bus/VirtIO/VirtIO.h>
|
||||
#include <Kernel/Devices/CharacterDevice.h>
|
||||
#include <Kernel/Random.h>
|
||||
|
||||
namespace Kernel {
|
||||
|
||||
#define REQUESTQ 0
|
||||
|
||||
class VirtIORNG final : public CharacterDevice
|
||||
, public VirtIODevice {
|
||||
public:
|
||||
virtual StringView purpose() const override { return class_name(); }
|
||||
virtual StringView class_name() const override { return m_class_name; }
|
||||
|
||||
virtual bool can_read(const FileDescription&, size_t) const override { return false; }
|
||||
virtual KResultOr<size_t> read(FileDescription&, u64, UserOrKernelBuffer&, size_t) override { return 0; }
|
||||
virtual bool can_write(const FileDescription&, size_t) const override { return false; }
|
||||
virtual KResultOr<size_t> write(FileDescription&, u64, const UserOrKernelBuffer&, size_t) override { return 0; }
|
||||
|
||||
virtual mode_t required_mode() const override { return 0666; }
|
||||
virtual String device_name() const override { return "hwrng"; }
|
||||
|
||||
VirtIORNG(PCI::Address);
|
||||
virtual ~VirtIORNG() override;
|
||||
|
||||
private:
|
||||
virtual bool handle_device_config_change() override;
|
||||
virtual void handle_queue_update(u16 queue_index) override;
|
||||
void request_entropy_from_host();
|
||||
|
||||
OwnPtr<Memory::Region> m_entropy_buffer;
|
||||
EntropySource m_entropy_source;
|
||||
};
|
||||
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue