mirror of
https://github.com/RGBCube/serenity
synced 2025-05-20 17:45:07 +00:00
Kernel/Storage: Move Ramdisk code into a separate subdirectory
This commit is contained in:
parent
f5acef0b81
commit
462618b68c
6 changed files with 7 additions and 7 deletions
|
@ -1,67 +0,0 @@
|
|||
/*
|
||||
* Copyright (c) 2021, the SerenityOS developers.
|
||||
*
|
||||
* SPDX-License-Identifier: BSD-2-Clause
|
||||
*/
|
||||
|
||||
#include <AK/OwnPtr.h>
|
||||
#include <AK/RefPtr.h>
|
||||
#include <AK/Types.h>
|
||||
#include <Kernel/Storage/RamdiskController.h>
|
||||
|
||||
namespace Kernel {
|
||||
|
||||
NonnullRefPtr<RamdiskController> RamdiskController::initialize()
|
||||
{
|
||||
return adopt_ref(*new RamdiskController());
|
||||
}
|
||||
|
||||
bool RamdiskController::reset()
|
||||
{
|
||||
TODO();
|
||||
}
|
||||
|
||||
bool RamdiskController::shutdown()
|
||||
{
|
||||
TODO();
|
||||
}
|
||||
|
||||
size_t RamdiskController::devices_count() const
|
||||
{
|
||||
return m_devices.size();
|
||||
}
|
||||
|
||||
void RamdiskController::complete_current_request(AsyncDeviceRequest::RequestResult)
|
||||
{
|
||||
VERIFY_NOT_REACHED();
|
||||
}
|
||||
|
||||
RamdiskController::RamdiskController()
|
||||
: StorageController()
|
||||
{
|
||||
// Populate ramdisk controllers from Multiboot boot modules, if any.
|
||||
size_t count = 0;
|
||||
for (auto& used_memory_range : MM.used_memory_ranges()) {
|
||||
if (used_memory_range.type == Memory::UsedMemoryRangeType::BootModule) {
|
||||
size_t length = Memory::page_round_up(used_memory_range.end.get()).release_value_but_fixme_should_propagate_errors() - used_memory_range.start.get();
|
||||
auto region_or_error = MM.allocate_kernel_region(used_memory_range.start, length, "Ramdisk", Memory::Region::Access::ReadWrite);
|
||||
if (region_or_error.is_error()) {
|
||||
dmesgln("RamdiskController: Failed to allocate kernel region of size {}", length);
|
||||
} else {
|
||||
m_devices.append(RamdiskDevice::create(*this, region_or_error.release_value(), 6, count));
|
||||
}
|
||||
count++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
RamdiskController::~RamdiskController() = default;
|
||||
|
||||
RefPtr<StorageDevice> RamdiskController::device(u32 index) const
|
||||
{
|
||||
if (index >= m_devices.size())
|
||||
return nullptr;
|
||||
return m_devices[index];
|
||||
}
|
||||
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue