diff options
author | german77 <juangerman-13@hotmail.com> | 2021-05-09 18:15:31 +0200 |
---|---|---|
committer | german77 <juangerman-13@hotmail.com> | 2021-05-09 18:15:31 +0200 |
commit | 0c1bb46f0a62da73a2b6097c9f3ab06614455dd9 (patch) | |
tree | 99b77f13cf761f874104bd938bb65b7b92315dae /src/core/hle/kernel/transfer_memory.h | |
parent | Merge pull request #6292 from lat9nq/sdl-trunk (diff) | |
download | yuzu-0c1bb46f0a62da73a2b6097c9f3ab06614455dd9.tar yuzu-0c1bb46f0a62da73a2b6097c9f3ab06614455dd9.tar.gz yuzu-0c1bb46f0a62da73a2b6097c9f3ab06614455dd9.tar.bz2 yuzu-0c1bb46f0a62da73a2b6097c9f3ab06614455dd9.tar.lz yuzu-0c1bb46f0a62da73a2b6097c9f3ab06614455dd9.tar.xz yuzu-0c1bb46f0a62da73a2b6097c9f3ab06614455dd9.tar.zst yuzu-0c1bb46f0a62da73a2b6097c9f3ab06614455dd9.zip |
Diffstat (limited to '')
-rw-r--r-- | src/core/hle/kernel/transfer_memory.h | 96 |
1 files changed, 0 insertions, 96 deletions
diff --git a/src/core/hle/kernel/transfer_memory.h b/src/core/hle/kernel/transfer_memory.h deleted file mode 100644 index 59328c0fe..000000000 --- a/src/core/hle/kernel/transfer_memory.h +++ /dev/null @@ -1,96 +0,0 @@ -// Copyright 2019 yuzu emulator team -// Licensed under GPLv2 or any later version -// Refer to the license.txt file included. - -#pragma once - -#include <memory> - -#include "core/hle/kernel/k_memory_block.h" -#include "core/hle/kernel/object.h" -#include "core/hle/kernel/physical_memory.h" - -union ResultCode; - -namespace Core::Memory { -class Memory; -} - -namespace Kernel { - -class KernelCore; -class Process; - -/// Defines the interface for transfer memory objects. -/// -/// Transfer memory is typically used for the purpose of -/// transferring memory between separate process instances, -/// thus the name. -/// -class TransferMemory final : public Object { -public: - explicit TransferMemory(KernelCore& kernel, Core::Memory::Memory& memory); - ~TransferMemory() override; - - static constexpr HandleType HANDLE_TYPE = HandleType::TransferMemory; - - static std::shared_ptr<TransferMemory> Create(KernelCore& kernel, Core::Memory::Memory& memory, - VAddr base_address, std::size_t size, - KMemoryPermission permissions); - - TransferMemory(const TransferMemory&) = delete; - TransferMemory& operator=(const TransferMemory&) = delete; - - TransferMemory(TransferMemory&&) = delete; - TransferMemory& operator=(TransferMemory&&) = delete; - - std::string GetTypeName() const override { - return "TransferMemory"; - } - - std::string GetName() const override { - return GetTypeName(); - } - - HandleType GetHandleType() const override { - return HANDLE_TYPE; - } - - /// Gets a pointer to the backing block of this instance. - u8* GetPointer(); - - /// Gets a pointer to the backing block of this instance. - const u8* GetPointer() const; - - /// Gets the size of the memory backing this instance in bytes. - constexpr std::size_t GetSize() const { - return size; - } - - /// Reserves the region to be used for the transfer memory, called after the transfer memory is - /// created. - ResultCode Reserve(); - - /// Resets the region previously used for the transfer memory, called after the transfer memory - /// is closed. - ResultCode Reset(); - - void Finalize() override {} - -private: - /// The base address for the memory managed by this instance. - VAddr base_address{}; - - /// Size of the memory, in bytes, that this instance manages. - std::size_t size{}; - - /// The memory permissions that are applied to this instance. - KMemoryPermission owner_permissions{}; - - /// The process that this transfer memory instance was created under. - Process* owner_process{}; - - Core::Memory::Memory& memory; -}; - -} // namespace Kernel |