| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- // Copyright 2014 Citra Emulator Project
- // Licensed under GPLv2 or any later version
- // Refer to the license.txt file included.
- #pragma once
- #include "common/common_types.h"
- ////////////////////////////////////////////////////////////////////////////////////////////////////
- // SVC types
- struct MemoryInfo {
- u32 base_address;
- u32 size;
- u32 permission;
- u32 state;
- };
- struct PageInfo {
- u32 flags;
- };
- ////////////////////////////////////////////////////////////////////////////////////////////////////
- // Namespace SVC
- namespace SVC {
- /// Values accepted by svcGetSystemInfo's type parameter.
- enum class SystemInfoType {
- /**
- * Reports total used memory for all regions or a specific one, according to the extra
- * parameter. See `SystemInfoMemUsageRegion`.
- */
- REGION_MEMORY_USAGE = 0,
- /**
- * Returns the memory usage for certain allocations done internally by the kernel.
- */
- KERNEL_ALLOCATED_PAGES = 2,
- /**
- * "This returns the total number of processes which were launched directly by the kernel.
- * For the ARM11 NATIVE_FIRM kernel, this is 5, for processes sm, fs, pm, loader, and pxi."
- */
- KERNEL_SPAWNED_PIDS = 26,
- };
- /**
- * Accepted by svcGetSystemInfo param with REGION_MEMORY_USAGE type. Selects a region to query
- * memory usage of.
- */
- enum class SystemInfoMemUsageRegion {
- ALL = 0,
- APPLICATION = 1,
- SYSTEM = 2,
- BASE = 3,
- };
- void CallSVC(u32 immediate);
- } // namespace
|