mirror of
				https://git.tardis.systems/mirrors/yuzu
				synced 2025-11-03 20:24:43 +01:00 
			
		
		
		
	hle: kernel: svc_results: Update naming..
This commit is contained in:
		
							parent
							
								
									c2f6f2ba7a
								
							
						
					
					
						commit
						269d233a94
					
				@ -21,7 +21,7 @@ std::shared_ptr<ServerPort> ClientPort::GetServerPort() const {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
ResultVal<std::shared_ptr<ClientSession>> ClientPort::Connect() {
 | 
					ResultVal<std::shared_ptr<ClientSession>> ClientPort::Connect() {
 | 
				
			||||||
    if (active_sessions >= max_sessions) {
 | 
					    if (active_sessions >= max_sessions) {
 | 
				
			||||||
        return ResultMaxConnectionsReached;
 | 
					        return ResultOutOfSessions;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    active_sessions++;
 | 
					    active_sessions++;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -42,7 +42,7 @@ ResultCode ClientSession::SendSyncRequest(KThread* thread, Core::Memory::Memory&
 | 
				
			|||||||
                                          Core::Timing::CoreTiming& core_timing) {
 | 
					                                          Core::Timing::CoreTiming& core_timing) {
 | 
				
			||||||
    // Keep ServerSession alive until we're done working with it.
 | 
					    // Keep ServerSession alive until we're done working with it.
 | 
				
			||||||
    if (!parent->Server()) {
 | 
					    if (!parent->Server()) {
 | 
				
			||||||
        return ResultSessionClosedByRemote;
 | 
					        return ResultSessionClosed;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // Signal the server session that new data is available
 | 
					    // Signal the server session that new data is available
 | 
				
			||||||
 | 
				
			|||||||
@ -68,7 +68,7 @@ ResultVal<Handle> HandleTable::Create(Object* obj) {
 | 
				
			|||||||
    const u16 slot = next_free_slot;
 | 
					    const u16 slot = next_free_slot;
 | 
				
			||||||
    if (slot >= table_size) {
 | 
					    if (slot >= table_size) {
 | 
				
			||||||
        LOG_ERROR(Kernel, "Unable to allocate Handle, too many slots in use.");
 | 
					        LOG_ERROR(Kernel, "Unable to allocate Handle, too many slots in use.");
 | 
				
			||||||
        return ResultHandleTableFull;
 | 
					        return ResultOutOfHandles;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    next_free_slot = generations[slot];
 | 
					    next_free_slot = generations[slot];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -93,7 +93,7 @@ ResultCode HandleTable::Add(Handle* out_handle, KAutoObject* obj, u16 type) {
 | 
				
			|||||||
    const u16 slot = next_free_slot;
 | 
					    const u16 slot = next_free_slot;
 | 
				
			||||||
    if (slot >= table_size) {
 | 
					    if (slot >= table_size) {
 | 
				
			||||||
        LOG_ERROR(Kernel, "Unable to allocate Handle, too many slots in use.");
 | 
					        LOG_ERROR(Kernel, "Unable to allocate Handle, too many slots in use.");
 | 
				
			||||||
        return ResultHandleTableFull;
 | 
					        return ResultOutOfHandles;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    next_free_slot = generations[slot];
 | 
					    next_free_slot = generations[slot];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -420,7 +420,7 @@ ResultCode KPageTable::MapPhysicalMemory(VAddr addr, std::size_t size) {
 | 
				
			|||||||
        remaining_size);
 | 
					        remaining_size);
 | 
				
			||||||
    if (!memory_reservation.Succeeded()) {
 | 
					    if (!memory_reservation.Succeeded()) {
 | 
				
			||||||
        LOG_ERROR(Kernel, "Could not reserve remaining {:X} bytes", remaining_size);
 | 
					        LOG_ERROR(Kernel, "Could not reserve remaining {:X} bytes", remaining_size);
 | 
				
			||||||
        return ResultResourceLimitedExceeded;
 | 
					        return ResultLimitReached;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    KPageLinkedList page_linked_list;
 | 
					    KPageLinkedList page_linked_list;
 | 
				
			||||||
@ -578,7 +578,7 @@ ResultCode KPageTable::Unmap(VAddr dst_addr, VAddr src_addr, std::size_t size) {
 | 
				
			|||||||
    AddRegionToPages(dst_addr, num_pages, dst_pages);
 | 
					    AddRegionToPages(dst_addr, num_pages, dst_pages);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (!dst_pages.IsEqual(src_pages)) {
 | 
					    if (!dst_pages.IsEqual(src_pages)) {
 | 
				
			||||||
        return ResultInvalidMemoryRange;
 | 
					        return ResultInvalidMemoryRegion;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
@ -790,7 +790,7 @@ ResultVal<VAddr> KPageTable::SetHeapSize(std::size_t size) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        if (!memory_reservation.Succeeded()) {
 | 
					        if (!memory_reservation.Succeeded()) {
 | 
				
			||||||
            LOG_ERROR(Kernel, "Could not reserve heap extension of size {:X} bytes", delta);
 | 
					            LOG_ERROR(Kernel, "Could not reserve heap extension of size {:X} bytes", delta);
 | 
				
			||||||
            return ResultResourceLimitedExceeded;
 | 
					            return ResultLimitReached;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        KPageLinkedList page_linked_list;
 | 
					        KPageLinkedList page_linked_list;
 | 
				
			||||||
 | 
				
			|||||||
@ -276,7 +276,7 @@ ResultCode Process::LoadFromMetadata(const FileSys::ProgramMetadata& metadata,
 | 
				
			|||||||
    if (!memory_reservation.Succeeded()) {
 | 
					    if (!memory_reservation.Succeeded()) {
 | 
				
			||||||
        LOG_ERROR(Kernel, "Could not reserve process memory requirements of size {:X} bytes",
 | 
					        LOG_ERROR(Kernel, "Could not reserve process memory requirements of size {:X} bytes",
 | 
				
			||||||
                  code_size + system_resource_size);
 | 
					                  code_size + system_resource_size);
 | 
				
			||||||
        return ResultResourceLimitedExceeded;
 | 
					        return ResultLimitReached;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    // Initialize proces address space
 | 
					    // Initialize proces address space
 | 
				
			||||||
    if (const ResultCode result{
 | 
					    if (const ResultCode result{
 | 
				
			||||||
 | 
				
			|||||||
@ -159,7 +159,7 @@ ResultCode ProcessCapabilities::ParseSingleFlagCapability(u32& set_flags, u32& s
 | 
				
			|||||||
    const auto type = GetCapabilityType(flag);
 | 
					    const auto type = GetCapabilityType(flag);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (type == CapabilityType::Unset) {
 | 
					    if (type == CapabilityType::Unset) {
 | 
				
			||||||
        return ResultInvalidCapabilityDescriptor;
 | 
					        return ResultInvalidArgument;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // Bail early on ignorable entries, as one would expect,
 | 
					    // Bail early on ignorable entries, as one would expect,
 | 
				
			||||||
@ -202,7 +202,7 @@ ResultCode ProcessCapabilities::ParseSingleFlagCapability(u32& set_flags, u32& s
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    LOG_ERROR(Kernel, "Invalid capability type! type={}", type);
 | 
					    LOG_ERROR(Kernel, "Invalid capability type! type={}", type);
 | 
				
			||||||
    return ResultInvalidCapabilityDescriptor;
 | 
					    return ResultInvalidArgument;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void ProcessCapabilities::Clear() {
 | 
					void ProcessCapabilities::Clear() {
 | 
				
			||||||
@ -225,7 +225,7 @@ ResultCode ProcessCapabilities::HandlePriorityCoreNumFlags(u32 flags) {
 | 
				
			|||||||
    if (priority_mask != 0 || core_mask != 0) {
 | 
					    if (priority_mask != 0 || core_mask != 0) {
 | 
				
			||||||
        LOG_ERROR(Kernel, "Core or priority mask are not zero! priority_mask={}, core_mask={}",
 | 
					        LOG_ERROR(Kernel, "Core or priority mask are not zero! priority_mask={}, core_mask={}",
 | 
				
			||||||
                  priority_mask, core_mask);
 | 
					                  priority_mask, core_mask);
 | 
				
			||||||
        return ResultInvalidCapabilityDescriptor;
 | 
					        return ResultInvalidArgument;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    const u32 core_num_min = (flags >> 16) & 0xFF;
 | 
					    const u32 core_num_min = (flags >> 16) & 0xFF;
 | 
				
			||||||
@ -329,7 +329,7 @@ ResultCode ProcessCapabilities::HandleProgramTypeFlags(u32 flags) {
 | 
				
			|||||||
    const u32 reserved = flags >> 17;
 | 
					    const u32 reserved = flags >> 17;
 | 
				
			||||||
    if (reserved != 0) {
 | 
					    if (reserved != 0) {
 | 
				
			||||||
        LOG_ERROR(Kernel, "Reserved value is non-zero! reserved={}", reserved);
 | 
					        LOG_ERROR(Kernel, "Reserved value is non-zero! reserved={}", reserved);
 | 
				
			||||||
        return ResultReservedValue;
 | 
					        return ResultReservedUsed;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    program_type = static_cast<ProgramType>((flags >> 14) & 0b111);
 | 
					    program_type = static_cast<ProgramType>((flags >> 14) & 0b111);
 | 
				
			||||||
@ -349,7 +349,7 @@ ResultCode ProcessCapabilities::HandleKernelVersionFlags(u32 flags) {
 | 
				
			|||||||
        LOG_ERROR(Kernel,
 | 
					        LOG_ERROR(Kernel,
 | 
				
			||||||
                  "Kernel version is non zero or flags are too small! major_version={}, flags={}",
 | 
					                  "Kernel version is non zero or flags are too small! major_version={}, flags={}",
 | 
				
			||||||
                  major_version, flags);
 | 
					                  major_version, flags);
 | 
				
			||||||
        return ResultInvalidCapabilityDescriptor;
 | 
					        return ResultInvalidArgument;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    kernel_version = flags;
 | 
					    kernel_version = flags;
 | 
				
			||||||
@ -360,7 +360,7 @@ ResultCode ProcessCapabilities::HandleHandleTableFlags(u32 flags) {
 | 
				
			|||||||
    const u32 reserved = flags >> 26;
 | 
					    const u32 reserved = flags >> 26;
 | 
				
			||||||
    if (reserved != 0) {
 | 
					    if (reserved != 0) {
 | 
				
			||||||
        LOG_ERROR(Kernel, "Reserved value is non-zero! reserved={}", reserved);
 | 
					        LOG_ERROR(Kernel, "Reserved value is non-zero! reserved={}", reserved);
 | 
				
			||||||
        return ResultReservedValue;
 | 
					        return ResultReservedUsed;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    handle_table_size = static_cast<s32>((flags >> 16) & 0x3FF);
 | 
					    handle_table_size = static_cast<s32>((flags >> 16) & 0x3FF);
 | 
				
			||||||
@ -371,7 +371,7 @@ ResultCode ProcessCapabilities::HandleDebugFlags(u32 flags) {
 | 
				
			|||||||
    const u32 reserved = flags >> 19;
 | 
					    const u32 reserved = flags >> 19;
 | 
				
			||||||
    if (reserved != 0) {
 | 
					    if (reserved != 0) {
 | 
				
			||||||
        LOG_ERROR(Kernel, "Reserved value is non-zero! reserved={}", reserved);
 | 
					        LOG_ERROR(Kernel, "Reserved value is non-zero! reserved={}", reserved);
 | 
				
			||||||
        return ResultReservedValue;
 | 
					        return ResultReservedUsed;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    is_debuggable = (flags & 0x20000) != 0;
 | 
					    is_debuggable = (flags & 0x20000) != 0;
 | 
				
			||||||
 | 
				
			|||||||
@ -113,7 +113,7 @@ ResultCode MapUnmapMemorySanityChecks(const KPageTable& manager, VAddr dst_addr,
 | 
				
			|||||||
        LOG_ERROR(Kernel_SVC,
 | 
					        LOG_ERROR(Kernel_SVC,
 | 
				
			||||||
                  "Destination is not within the stack region, addr=0x{:016X}, size=0x{:016X}",
 | 
					                  "Destination is not within the stack region, addr=0x{:016X}, size=0x{:016X}",
 | 
				
			||||||
                  dst_addr, size);
 | 
					                  dst_addr, size);
 | 
				
			||||||
        return ResultInvalidMemoryRange;
 | 
					        return ResultInvalidMemoryRegion;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (manager.IsInsideHeapRegion(dst_addr, size)) {
 | 
					    if (manager.IsInsideHeapRegion(dst_addr, size)) {
 | 
				
			||||||
@ -121,7 +121,7 @@ ResultCode MapUnmapMemorySanityChecks(const KPageTable& manager, VAddr dst_addr,
 | 
				
			|||||||
                  "Destination does not fit within the heap region, addr=0x{:016X}, "
 | 
					                  "Destination does not fit within the heap region, addr=0x{:016X}, "
 | 
				
			||||||
                  "size=0x{:016X}",
 | 
					                  "size=0x{:016X}",
 | 
				
			||||||
                  dst_addr, size);
 | 
					                  dst_addr, size);
 | 
				
			||||||
        return ResultInvalidMemoryRange;
 | 
					        return ResultInvalidMemoryRegion;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (manager.IsInsideAliasRegion(dst_addr, size)) {
 | 
					    if (manager.IsInsideAliasRegion(dst_addr, size)) {
 | 
				
			||||||
@ -129,7 +129,7 @@ ResultCode MapUnmapMemorySanityChecks(const KPageTable& manager, VAddr dst_addr,
 | 
				
			|||||||
                  "Destination does not fit within the map region, addr=0x{:016X}, "
 | 
					                  "Destination does not fit within the map region, addr=0x{:016X}, "
 | 
				
			||||||
                  "size=0x{:016X}",
 | 
					                  "size=0x{:016X}",
 | 
				
			||||||
                  dst_addr, size);
 | 
					                  dst_addr, size);
 | 
				
			||||||
        return ResultInvalidMemoryRange;
 | 
					        return ResultInvalidMemoryRegion;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    return RESULT_SUCCESS;
 | 
					    return RESULT_SUCCESS;
 | 
				
			||||||
@ -943,7 +943,7 @@ static ResultCode MapPhysicalMemory(Core::System& system, VAddr addr, u64 size)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    if (!(addr < addr + size)) {
 | 
					    if (!(addr < addr + size)) {
 | 
				
			||||||
        LOG_ERROR(Kernel_SVC, "Size causes 64-bit overflow of address");
 | 
					        LOG_ERROR(Kernel_SVC, "Size causes 64-bit overflow of address");
 | 
				
			||||||
        return ResultInvalidMemoryRange;
 | 
					        return ResultInvalidMemoryRegion;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    Process* const current_process{system.Kernel().CurrentProcess()};
 | 
					    Process* const current_process{system.Kernel().CurrentProcess()};
 | 
				
			||||||
@ -958,14 +958,14 @@ static ResultCode MapPhysicalMemory(Core::System& system, VAddr addr, u64 size)
 | 
				
			|||||||
        LOG_ERROR(Kernel_SVC,
 | 
					        LOG_ERROR(Kernel_SVC,
 | 
				
			||||||
                  "Address is not within the address space, addr=0x{:016X}, size=0x{:016X}", addr,
 | 
					                  "Address is not within the address space, addr=0x{:016X}, size=0x{:016X}", addr,
 | 
				
			||||||
                  size);
 | 
					                  size);
 | 
				
			||||||
        return ResultInvalidMemoryRange;
 | 
					        return ResultInvalidMemoryRegion;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (page_table.IsOutsideAliasRegion(addr, size)) {
 | 
					    if (page_table.IsOutsideAliasRegion(addr, size)) {
 | 
				
			||||||
        LOG_ERROR(Kernel_SVC,
 | 
					        LOG_ERROR(Kernel_SVC,
 | 
				
			||||||
                  "Address is not within the alias region, addr=0x{:016X}, size=0x{:016X}", addr,
 | 
					                  "Address is not within the alias region, addr=0x{:016X}, size=0x{:016X}", addr,
 | 
				
			||||||
                  size);
 | 
					                  size);
 | 
				
			||||||
        return ResultInvalidMemoryRange;
 | 
					        return ResultInvalidMemoryRegion;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    return page_table.MapPhysicalMemory(addr, size);
 | 
					    return page_table.MapPhysicalMemory(addr, size);
 | 
				
			||||||
@ -997,7 +997,7 @@ static ResultCode UnmapPhysicalMemory(Core::System& system, VAddr addr, u64 size
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    if (!(addr < addr + size)) {
 | 
					    if (!(addr < addr + size)) {
 | 
				
			||||||
        LOG_ERROR(Kernel_SVC, "Size causes 64-bit overflow of address");
 | 
					        LOG_ERROR(Kernel_SVC, "Size causes 64-bit overflow of address");
 | 
				
			||||||
        return ResultInvalidMemoryRange;
 | 
					        return ResultInvalidMemoryRegion;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    Process* const current_process{system.Kernel().CurrentProcess()};
 | 
					    Process* const current_process{system.Kernel().CurrentProcess()};
 | 
				
			||||||
@ -1012,14 +1012,14 @@ static ResultCode UnmapPhysicalMemory(Core::System& system, VAddr addr, u64 size
 | 
				
			|||||||
        LOG_ERROR(Kernel_SVC,
 | 
					        LOG_ERROR(Kernel_SVC,
 | 
				
			||||||
                  "Address is not within the address space, addr=0x{:016X}, size=0x{:016X}", addr,
 | 
					                  "Address is not within the address space, addr=0x{:016X}, size=0x{:016X}", addr,
 | 
				
			||||||
                  size);
 | 
					                  size);
 | 
				
			||||||
        return ResultInvalidMemoryRange;
 | 
					        return ResultInvalidMemoryRegion;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (page_table.IsOutsideAliasRegion(addr, size)) {
 | 
					    if (page_table.IsOutsideAliasRegion(addr, size)) {
 | 
				
			||||||
        LOG_ERROR(Kernel_SVC,
 | 
					        LOG_ERROR(Kernel_SVC,
 | 
				
			||||||
                  "Address is not within the alias region, addr=0x{:016X}, size=0x{:016X}", addr,
 | 
					                  "Address is not within the alias region, addr=0x{:016X}, size=0x{:016X}", addr,
 | 
				
			||||||
                  size);
 | 
					                  size);
 | 
				
			||||||
        return ResultInvalidMemoryRange;
 | 
					        return ResultInvalidMemoryRegion;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    return page_table.UnmapPhysicalMemory(addr, size);
 | 
					    return page_table.UnmapPhysicalMemory(addr, size);
 | 
				
			||||||
@ -1138,7 +1138,7 @@ static ResultCode MapSharedMemory(Core::System& system, Handle shared_memory_han
 | 
				
			|||||||
    if ((permission_type | MemoryPermission::Write) != MemoryPermission::ReadWrite) {
 | 
					    if ((permission_type | MemoryPermission::Write) != MemoryPermission::ReadWrite) {
 | 
				
			||||||
        LOG_ERROR(Kernel_SVC, "Expected Read or ReadWrite permission but got permissions=0x{:08X}",
 | 
					        LOG_ERROR(Kernel_SVC, "Expected Read or ReadWrite permission but got permissions=0x{:08X}",
 | 
				
			||||||
                  permissions);
 | 
					                  permissions);
 | 
				
			||||||
        return ResultInvalidMemoryPermissions;
 | 
					        return ResultInvalidNewMemoryPermission;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    auto* const current_process{system.Kernel().CurrentProcess()};
 | 
					    auto* const current_process{system.Kernel().CurrentProcess()};
 | 
				
			||||||
@ -1149,7 +1149,7 @@ static ResultCode MapSharedMemory(Core::System& system, Handle shared_memory_han
 | 
				
			|||||||
                  "Addr does not fit within the valid region, addr=0x{:016X}, "
 | 
					                  "Addr does not fit within the valid region, addr=0x{:016X}, "
 | 
				
			||||||
                  "size=0x{:016X}",
 | 
					                  "size=0x{:016X}",
 | 
				
			||||||
                  addr, size);
 | 
					                  addr, size);
 | 
				
			||||||
        return ResultInvalidMemoryRange;
 | 
					        return ResultInvalidMemoryRegion;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (page_table.IsInsideHeapRegion(addr, size)) {
 | 
					    if (page_table.IsInsideHeapRegion(addr, size)) {
 | 
				
			||||||
@ -1157,7 +1157,7 @@ static ResultCode MapSharedMemory(Core::System& system, Handle shared_memory_han
 | 
				
			|||||||
                  "Addr does not fit within the heap region, addr=0x{:016X}, "
 | 
					                  "Addr does not fit within the heap region, addr=0x{:016X}, "
 | 
				
			||||||
                  "size=0x{:016X}",
 | 
					                  "size=0x{:016X}",
 | 
				
			||||||
                  addr, size);
 | 
					                  addr, size);
 | 
				
			||||||
        return ResultInvalidMemoryRange;
 | 
					        return ResultInvalidMemoryRegion;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (page_table.IsInsideAliasRegion(addr, size)) {
 | 
					    if (page_table.IsInsideAliasRegion(addr, size)) {
 | 
				
			||||||
@ -1165,7 +1165,7 @@ static ResultCode MapSharedMemory(Core::System& system, Handle shared_memory_han
 | 
				
			|||||||
                  "Address does not fit within the map region, addr=0x{:016X}, "
 | 
					                  "Address does not fit within the map region, addr=0x{:016X}, "
 | 
				
			||||||
                  "size=0x{:016X}",
 | 
					                  "size=0x{:016X}",
 | 
				
			||||||
                  addr, size);
 | 
					                  addr, size);
 | 
				
			||||||
        return ResultInvalidMemoryRange;
 | 
					        return ResultInvalidMemoryRegion;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    auto shared_memory{
 | 
					    auto shared_memory{
 | 
				
			||||||
@ -1290,7 +1290,7 @@ static ResultCode MapProcessCodeMemory(Core::System& system, Handle process_hand
 | 
				
			|||||||
                  "Destination address range is not within the ASLR region (dst_address=0x{:016X}, "
 | 
					                  "Destination address range is not within the ASLR region (dst_address=0x{:016X}, "
 | 
				
			||||||
                  "size=0x{:016X}).",
 | 
					                  "size=0x{:016X}).",
 | 
				
			||||||
                  dst_address, size);
 | 
					                  dst_address, size);
 | 
				
			||||||
        return ResultInvalidMemoryRange;
 | 
					        return ResultInvalidMemoryRegion;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    return page_table.MapProcessCodeMemory(dst_address, src_address, size);
 | 
					    return page_table.MapProcessCodeMemory(dst_address, src_address, size);
 | 
				
			||||||
@ -1358,7 +1358,7 @@ static ResultCode UnmapProcessCodeMemory(Core::System& system, Handle process_ha
 | 
				
			|||||||
                  "Destination address range is not within the ASLR region (dst_address=0x{:016X}, "
 | 
					                  "Destination address range is not within the ASLR region (dst_address=0x{:016X}, "
 | 
				
			||||||
                  "size=0x{:016X}).",
 | 
					                  "size=0x{:016X}).",
 | 
				
			||||||
                  dst_address, size);
 | 
					                  dst_address, size);
 | 
				
			||||||
        return ResultInvalidMemoryRange;
 | 
					        return ResultInvalidMemoryRegion;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    return page_table.UnmapProcessCodeMemory(dst_address, src_address, size);
 | 
					    return page_table.UnmapProcessCodeMemory(dst_address, src_address, size);
 | 
				
			||||||
@ -1427,7 +1427,7 @@ static ResultCode CreateThread(Core::System& system, Handle* out_handle, VAddr e
 | 
				
			|||||||
        system.CoreTiming().GetGlobalTimeNs().count() + 100000000);
 | 
					        system.CoreTiming().GetGlobalTimeNs().count() + 100000000);
 | 
				
			||||||
    if (!thread_reservation.Succeeded()) {
 | 
					    if (!thread_reservation.Succeeded()) {
 | 
				
			||||||
        LOG_ERROR(Kernel_SVC, "Could not reserve a new thread");
 | 
					        LOG_ERROR(Kernel_SVC, "Could not reserve a new thread");
 | 
				
			||||||
        return ResultResourceLimitedExceeded;
 | 
					        return ResultLimitReached;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // Create the thread.
 | 
					    // Create the thread.
 | 
				
			||||||
@ -1795,7 +1795,7 @@ static ResultCode CreateTransferMemory(Core::System& system, Handle* handle, VAd
 | 
				
			|||||||
    if (perms > MemoryPermission::ReadWrite || perms == MemoryPermission::Write) {
 | 
					    if (perms > MemoryPermission::ReadWrite || perms == MemoryPermission::Write) {
 | 
				
			||||||
        LOG_ERROR(Kernel_SVC, "Invalid memory permissions for transfer memory! (perms={:08X})",
 | 
					        LOG_ERROR(Kernel_SVC, "Invalid memory permissions for transfer memory! (perms={:08X})",
 | 
				
			||||||
                  permissions);
 | 
					                  permissions);
 | 
				
			||||||
        return ResultInvalidMemoryPermissions;
 | 
					        return ResultInvalidNewMemoryPermission;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    auto& kernel = system.Kernel();
 | 
					    auto& kernel = system.Kernel();
 | 
				
			||||||
@ -1804,7 +1804,7 @@ static ResultCode CreateTransferMemory(Core::System& system, Handle* handle, VAd
 | 
				
			|||||||
                                                 LimitableResource::TransferMemory);
 | 
					                                                 LimitableResource::TransferMemory);
 | 
				
			||||||
    if (!trmem_reservation.Succeeded()) {
 | 
					    if (!trmem_reservation.Succeeded()) {
 | 
				
			||||||
        LOG_ERROR(Kernel_SVC, "Could not reserve a new transfer memory");
 | 
					        LOG_ERROR(Kernel_SVC, "Could not reserve a new transfer memory");
 | 
				
			||||||
        return ResultResourceLimitedExceeded;
 | 
					        return ResultLimitReached;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    auto transfer_mem_handle = TransferMemory::Create(kernel, system.Memory(), addr, size,
 | 
					    auto transfer_mem_handle = TransferMemory::Create(kernel, system.Memory(), addr, size,
 | 
				
			||||||
                                                      static_cast<KMemoryPermission>(perms));
 | 
					                                                      static_cast<KMemoryPermission>(perms));
 | 
				
			||||||
@ -1940,7 +1940,7 @@ static ResultCode CreateEvent(Core::System& system, Handle* out_write, Handle* o
 | 
				
			|||||||
    // Reserve a new event from the process resource limit
 | 
					    // Reserve a new event from the process resource limit
 | 
				
			||||||
    KScopedResourceReservation event_reservation(kernel.CurrentProcess(),
 | 
					    KScopedResourceReservation event_reservation(kernel.CurrentProcess(),
 | 
				
			||||||
                                                 LimitableResource::Events);
 | 
					                                                 LimitableResource::Events);
 | 
				
			||||||
    R_UNLESS(event_reservation.Succeeded(), ResultResourceLimitedExceeded);
 | 
					    R_UNLESS(event_reservation.Succeeded(), ResultLimitReached);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // Create a new event.
 | 
					    // Create a new event.
 | 
				
			||||||
    KEvent* event = KEvent::Create(kernel);
 | 
					    KEvent* event = KEvent::Create(kernel);
 | 
				
			||||||
 | 
				
			|||||||
@ -10,18 +10,18 @@ namespace Kernel {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
// Confirmed Switch kernel error codes
 | 
					// Confirmed Switch kernel error codes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
constexpr ResultCode ResultMaxConnectionsReached{ErrorModule::Kernel, 7};
 | 
					constexpr ResultCode ResultOutOfSessions{ErrorModule::Kernel, 7};
 | 
				
			||||||
constexpr ResultCode ResultInvalidCapabilityDescriptor{ErrorModule::Kernel, 14};
 | 
					constexpr ResultCode ResultInvalidArgument{ErrorModule::Kernel, 14};
 | 
				
			||||||
constexpr ResultCode ResultNoSynchronizationObject{ErrorModule::Kernel, 57};
 | 
					constexpr ResultCode ResultNoSynchronizationObject{ErrorModule::Kernel, 57};
 | 
				
			||||||
constexpr ResultCode ResultTerminationRequested{ErrorModule::Kernel, 59};
 | 
					constexpr ResultCode ResultTerminationRequested{ErrorModule::Kernel, 59};
 | 
				
			||||||
constexpr ResultCode ResultInvalidSize{ErrorModule::Kernel, 101};
 | 
					constexpr ResultCode ResultInvalidSize{ErrorModule::Kernel, 101};
 | 
				
			||||||
constexpr ResultCode ResultInvalidAddress{ErrorModule::Kernel, 102};
 | 
					constexpr ResultCode ResultInvalidAddress{ErrorModule::Kernel, 102};
 | 
				
			||||||
constexpr ResultCode ResultOutOfResource{ErrorModule::Kernel, 103};
 | 
					constexpr ResultCode ResultOutOfResource{ErrorModule::Kernel, 103};
 | 
				
			||||||
constexpr ResultCode ResultOutOfMemory{ErrorModule::Kernel, 104};
 | 
					constexpr ResultCode ResultOutOfMemory{ErrorModule::Kernel, 104};
 | 
				
			||||||
constexpr ResultCode ResultHandleTableFull{ErrorModule::Kernel, 105};
 | 
					constexpr ResultCode ResultOutOfHandles{ErrorModule::Kernel, 105};
 | 
				
			||||||
constexpr ResultCode ResultInvalidCurrentMemory{ErrorModule::Kernel, 106};
 | 
					constexpr ResultCode ResultInvalidCurrentMemory{ErrorModule::Kernel, 106};
 | 
				
			||||||
constexpr ResultCode ResultInvalidMemoryPermissions{ErrorModule::Kernel, 108};
 | 
					constexpr ResultCode ResultInvalidNewMemoryPermission{ErrorModule::Kernel, 108};
 | 
				
			||||||
constexpr ResultCode ResultInvalidMemoryRange{ErrorModule::Kernel, 110};
 | 
					constexpr ResultCode ResultInvalidMemoryRegion{ErrorModule::Kernel, 110};
 | 
				
			||||||
constexpr ResultCode ResultInvalidPriority{ErrorModule::Kernel, 112};
 | 
					constexpr ResultCode ResultInvalidPriority{ErrorModule::Kernel, 112};
 | 
				
			||||||
constexpr ResultCode ResultInvalidCoreId{ErrorModule::Kernel, 113};
 | 
					constexpr ResultCode ResultInvalidCoreId{ErrorModule::Kernel, 113};
 | 
				
			||||||
constexpr ResultCode ResultInvalidHandle{ErrorModule::Kernel, 114};
 | 
					constexpr ResultCode ResultInvalidHandle{ErrorModule::Kernel, 114};
 | 
				
			||||||
@ -33,9 +33,10 @@ constexpr ResultCode ResultOutOfRange{ErrorModule::Kernel, 119};
 | 
				
			|||||||
constexpr ResultCode ResultInvalidEnumValue{ErrorModule::Kernel, 120};
 | 
					constexpr ResultCode ResultInvalidEnumValue{ErrorModule::Kernel, 120};
 | 
				
			||||||
constexpr ResultCode ResultNotFound{ErrorModule::Kernel, 121};
 | 
					constexpr ResultCode ResultNotFound{ErrorModule::Kernel, 121};
 | 
				
			||||||
constexpr ResultCode ResultBusy{ErrorModule::Kernel, 122};
 | 
					constexpr ResultCode ResultBusy{ErrorModule::Kernel, 122};
 | 
				
			||||||
constexpr ResultCode ResultSessionClosedByRemote{ErrorModule::Kernel, 123};
 | 
					constexpr ResultCode ResultSessionClosed{ErrorModule::Kernel, 123};
 | 
				
			||||||
constexpr ResultCode ResultInvalidState{ErrorModule::Kernel, 125};
 | 
					constexpr ResultCode ResultInvalidState{ErrorModule::Kernel, 125};
 | 
				
			||||||
constexpr ResultCode ResultReservedValue{ErrorModule::Kernel, 126};
 | 
					constexpr ResultCode ResultReservedUsed{ErrorModule::Kernel, 126};
 | 
				
			||||||
constexpr ResultCode ResultResourceLimitedExceeded{ErrorModule::Kernel, 132};
 | 
					constexpr ResultCode ResultLimitReached{ErrorModule::Kernel, 132};
 | 
				
			||||||
 | 
					constexpr ResultCode ResultInvalidId{ErrorModule::Kernel, 519};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
} // namespace Kernel
 | 
					} // namespace Kernel
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user