Files
eden/src/core/hle/kernel/svc.h
T

61 lines
1.3 KiB
C++
Raw Normal View History

// Copyright 2018 yuzu emulator team
2014-12-16 21:38:14 -08:00
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included.
2014-04-11 18:44:21 -04:00
#pragma once
#include "common/common_types.h"
2018-01-02 20:40:30 -05:00
namespace Kernel {
2014-05-15 18:25:56 -04:00
struct MemoryInfo {
2017-10-14 17:31:25 -04:00
u64 base_address;
u64 size;
u32 type;
u32 attributes;
u32 permission;
u32 device_refcount;
u32 ipc_refcount;
INSERT_PADDING_WORDS(1);
};
static_assert(sizeof(MemoryInfo) == 0x28, "MemoryInfo has incorrect size.");
struct PageInfo {
2017-10-14 17:31:25 -04:00
u64 flags;
};
2018-01-01 16:01:06 -05:00
/// Values accepted by svcGetInfo
enum class GetInfoType : u64 {
// 1.0.0+
AllowedCpuIdBitmask = 0,
2018-01-16 14:06:45 -08:00
AllowedThreadPrioBitmask = 1,
MapRegionBaseAddr = 2,
MapRegionSize = 3,
HeapRegionBaseAddr = 4,
HeapRegionSize = 5,
2018-01-01 16:01:06 -05:00
TotalMemoryUsage = 6,
TotalHeapUsage = 7,
2018-01-16 14:06:45 -08:00
IsCurrentProcessBeingDebugged = 8,
ResourceHandleLimit = 9,
IdleTickCount = 10,
2018-01-01 16:01:06 -05:00
RandomEntropy = 11,
2018-01-16 14:06:45 -08:00
PerformanceCounter = 0xF0000002,
2018-01-01 16:01:06 -05:00
// 2.0.0+
AddressSpaceBaseAddr = 12,
AddressSpaceSize = 13,
NewMapRegionBaseAddr = 14,
NewMapRegionSize = 15,
2018-01-16 14:06:45 -08:00
// 3.0.0+
IsVirtualAddressMemoryEnabled = 16,
2018-05-26 04:31:54 +02:00
PersonalMmHeapUsage = 17,
2018-01-16 14:06:45 -08:00
TitleId = 18,
// 4.0.0+
2018-01-16 14:06:45 -08:00
PrivilegedProcessId = 19,
2018-05-26 04:31:54 +02:00
// 5.0.0+
UserExceptionContextAddr = 20,
2015-11-26 19:00:16 -08:00
};
2015-07-21 03:51:36 -04:00
void CallSVC(u32 immediate);
2014-04-11 18:44:21 -04:00
2018-01-02 20:40:30 -05:00
} // namespace Kernel