2022-04-23 10:59:50 +02:00
|
|
|
// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project
|
|
|
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
2020-04-05 20:39:08 +02:00
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include "common/common_types.h"
|
|
|
|
|
2021-02-13 00:47:05 +01:00
|
|
|
namespace Kernel {
|
2020-04-05 20:39:08 +02:00
|
|
|
|
2021-02-13 00:47:05 +01:00
|
|
|
struct KAddressSpaceInfo final {
|
2020-04-05 20:39:08 +02:00
|
|
|
enum class Type : u32 {
|
2021-02-13 00:47:05 +01:00
|
|
|
MapSmall = 0,
|
|
|
|
MapLarge = 1,
|
|
|
|
Map39Bit = 2,
|
2020-04-05 20:39:08 +02:00
|
|
|
Heap = 3,
|
|
|
|
Stack = 4,
|
|
|
|
Alias = 5,
|
|
|
|
Count,
|
|
|
|
};
|
|
|
|
|
|
|
|
static u64 GetAddressSpaceStart(std::size_t width, Type type);
|
|
|
|
static std::size_t GetAddressSpaceSize(std::size_t width, Type type);
|
|
|
|
|
2020-07-13 16:33:36 +02:00
|
|
|
const std::size_t bit_width{};
|
|
|
|
const std::size_t address{};
|
|
|
|
const std::size_t size{};
|
|
|
|
const Type type{};
|
2020-04-05 20:39:08 +02:00
|
|
|
};
|
|
|
|
|
2021-02-13 00:47:05 +01:00
|
|
|
} // namespace Kernel
|