yuzu-emu
/
yuzu-mainline
Archived
1
0
Fork 0

svc: Fix type consistency (exposed on macOS)

This commit is contained in:
Merry 2023-02-21 21:36:20 +00:00
parent 89221ca7d5
commit c9678bda24
14 changed files with 54 additions and 54 deletions

View File

@ -82,7 +82,7 @@ static_assert(sizeof(uint64_t) == 8);
static void SvcWrap_SetHeapSize64From32(Core::System& system) { static void SvcWrap_SetHeapSize64From32(Core::System& system) {
Result ret{}; Result ret{};
uintptr_t out_address{}; uint64_t out_address{};
uint32_t size{}; uint32_t size{};
size = Convert<uint32_t>(GetReg32(system, 1)); size = Convert<uint32_t>(GetReg32(system, 1));
@ -729,7 +729,7 @@ static void SvcWrap_GetLastThreadInfo64From32(Core::System& system) {
Result ret{}; Result ret{};
ilp32::LastThreadContext out_context{}; ilp32::LastThreadContext out_context{};
uintptr_t out_tls_address{}; uint64_t out_tls_address{};
uint32_t out_flags{}; uint32_t out_flags{};
ret = GetLastThreadInfo64From32(system, &out_context, &out_tls_address, &out_flags); ret = GetLastThreadInfo64From32(system, &out_context, &out_tls_address, &out_flags);
@ -1278,8 +1278,8 @@ static void SvcWrap_QueryPhysicalAddress64From32(Core::System& system) {
static void SvcWrap_QueryIoMapping64From32(Core::System& system) { static void SvcWrap_QueryIoMapping64From32(Core::System& system) {
Result ret{}; Result ret{};
uintptr_t out_address{}; uint64_t out_address{};
uintptr_t out_size{}; uint64_t out_size{};
uint64_t physical_address{}; uint64_t physical_address{};
uint32_t size{}; uint32_t size{};
@ -2088,7 +2088,7 @@ static void SvcWrap_UnmapInsecureMemory64From32(Core::System& system) {
static void SvcWrap_SetHeapSize64(Core::System& system) { static void SvcWrap_SetHeapSize64(Core::System& system) {
Result ret{}; Result ret{};
uintptr_t out_address{}; uint64_t out_address{};
uint64_t size{}; uint64_t size{};
size = Convert<uint64_t>(GetReg64(system, 1)); size = Convert<uint64_t>(GetReg64(system, 1));
@ -2705,7 +2705,7 @@ static void SvcWrap_GetLastThreadInfo64(Core::System& system) {
Result ret{}; Result ret{};
lp64::LastThreadContext out_context{}; lp64::LastThreadContext out_context{};
uintptr_t out_tls_address{}; uint64_t out_tls_address{};
uint32_t out_flags{}; uint32_t out_flags{};
ret = GetLastThreadInfo64(system, &out_context, &out_tls_address, &out_flags); ret = GetLastThreadInfo64(system, &out_context, &out_tls_address, &out_flags);
@ -3217,8 +3217,8 @@ static void SvcWrap_QueryPhysicalAddress64(Core::System& system) {
static void SvcWrap_QueryIoMapping64(Core::System& system) { static void SvcWrap_QueryIoMapping64(Core::System& system) {
Result ret{}; Result ret{};
uintptr_t out_address{}; uint64_t out_address{};
uintptr_t out_size{}; uint64_t out_size{};
uint64_t physical_address{}; uint64_t physical_address{};
uint64_t size{}; uint64_t size{};

View File

@ -16,7 +16,7 @@ class System;
namespace Kernel::Svc { namespace Kernel::Svc {
// clang-format off // clang-format off
Result SetHeapSize(Core::System& system, uintptr_t* out_address, uint64_t size); Result SetHeapSize(Core::System& system, uint64_t* out_address, uint64_t size);
Result SetMemoryPermission(Core::System& system, uint64_t address, uint64_t size, MemoryPermission perm); Result SetMemoryPermission(Core::System& system, uint64_t address, uint64_t size, MemoryPermission perm);
Result SetMemoryAttribute(Core::System& system, uint64_t address, uint64_t size, uint32_t mask, uint32_t attr); Result SetMemoryAttribute(Core::System& system, uint64_t address, uint64_t size, uint32_t mask, uint32_t attr);
Result MapMemory(Core::System& system, uint64_t dst_address, uint64_t src_address, uint64_t size); Result MapMemory(Core::System& system, uint64_t dst_address, uint64_t src_address, uint64_t size);
@ -61,7 +61,7 @@ Result FlushDataCache(Core::System& system, uint64_t address, uint64_t size);
Result MapPhysicalMemory(Core::System& system, uint64_t address, uint64_t size); Result MapPhysicalMemory(Core::System& system, uint64_t address, uint64_t size);
Result UnmapPhysicalMemory(Core::System& system, uint64_t address, uint64_t size); Result UnmapPhysicalMemory(Core::System& system, uint64_t address, uint64_t size);
Result GetDebugFutureThreadInfo(Core::System& system, lp64::LastThreadContext* out_context, uint64_t* out_thread_id, Handle debug_handle, int64_t ns); Result GetDebugFutureThreadInfo(Core::System& system, lp64::LastThreadContext* out_context, uint64_t* out_thread_id, Handle debug_handle, int64_t ns);
Result GetLastThreadInfo(Core::System& system, lp64::LastThreadContext* out_context, uintptr_t* out_tls_address, uint32_t* out_flags); Result GetLastThreadInfo(Core::System& system, lp64::LastThreadContext* out_context, uint64_t* out_tls_address, uint32_t* out_flags);
Result GetResourceLimitLimitValue(Core::System& system, int64_t* out_limit_value, Handle resource_limit_handle, LimitableResource which); Result GetResourceLimitLimitValue(Core::System& system, int64_t* out_limit_value, Handle resource_limit_handle, LimitableResource which);
Result GetResourceLimitCurrentValue(Core::System& system, int64_t* out_current_value, Handle resource_limit_handle, LimitableResource which); Result GetResourceLimitCurrentValue(Core::System& system, int64_t* out_current_value, Handle resource_limit_handle, LimitableResource which);
Result SetThreadActivity(Core::System& system, Handle thread_handle, ThreadActivity thread_activity); Result SetThreadActivity(Core::System& system, Handle thread_handle, ThreadActivity thread_activity);
@ -94,7 +94,7 @@ Result MapTransferMemory(Core::System& system, Handle trmem_handle, uint64_t add
Result UnmapTransferMemory(Core::System& system, Handle trmem_handle, uint64_t address, uint64_t size); Result UnmapTransferMemory(Core::System& system, Handle trmem_handle, uint64_t address, uint64_t size);
Result CreateInterruptEvent(Core::System& system, Handle* out_read_handle, int32_t interrupt_id, InterruptType interrupt_type); Result CreateInterruptEvent(Core::System& system, Handle* out_read_handle, int32_t interrupt_id, InterruptType interrupt_type);
Result QueryPhysicalAddress(Core::System& system, lp64::PhysicalMemoryInfo* out_info, uint64_t address); Result QueryPhysicalAddress(Core::System& system, lp64::PhysicalMemoryInfo* out_info, uint64_t address);
Result QueryIoMapping(Core::System& system, uintptr_t* out_address, uintptr_t* out_size, uint64_t physical_address, uint64_t size); Result QueryIoMapping(Core::System& system, uint64_t* out_address, uint64_t* out_size, uint64_t physical_address, uint64_t size);
Result CreateDeviceAddressSpace(Core::System& system, Handle* out_handle, uint64_t das_address, uint64_t das_size); Result CreateDeviceAddressSpace(Core::System& system, Handle* out_handle, uint64_t das_address, uint64_t das_size);
Result AttachDeviceAddressSpace(Core::System& system, DeviceName device_name, Handle das_handle); Result AttachDeviceAddressSpace(Core::System& system, DeviceName device_name, Handle das_handle);
Result DetachDeviceAddressSpace(Core::System& system, DeviceName device_name, Handle das_handle); Result DetachDeviceAddressSpace(Core::System& system, DeviceName device_name, Handle das_handle);
@ -137,7 +137,7 @@ Result SetResourceLimitLimitValue(Core::System& system, Handle resource_limit_ha
Result MapInsecureMemory(Core::System& system, uint64_t address, uint64_t size); Result MapInsecureMemory(Core::System& system, uint64_t address, uint64_t size);
Result UnmapInsecureMemory(Core::System& system, uint64_t address, uint64_t size); Result UnmapInsecureMemory(Core::System& system, uint64_t address, uint64_t size);
Result SetHeapSize64From32(Core::System& system, uintptr_t* out_address, uint32_t size); Result SetHeapSize64From32(Core::System& system, uint64_t* out_address, uint32_t size);
Result SetMemoryPermission64From32(Core::System& system, uint32_t address, uint32_t size, MemoryPermission perm); Result SetMemoryPermission64From32(Core::System& system, uint32_t address, uint32_t size, MemoryPermission perm);
Result SetMemoryAttribute64From32(Core::System& system, uint32_t address, uint32_t size, uint32_t mask, uint32_t attr); Result SetMemoryAttribute64From32(Core::System& system, uint32_t address, uint32_t size, uint32_t mask, uint32_t attr);
Result MapMemory64From32(Core::System& system, uint32_t dst_address, uint32_t src_address, uint32_t size); Result MapMemory64From32(Core::System& system, uint32_t dst_address, uint32_t src_address, uint32_t size);
@ -182,7 +182,7 @@ Result FlushDataCache64From32(Core::System& system, uint32_t address, uint32_t s
Result MapPhysicalMemory64From32(Core::System& system, uint32_t address, uint32_t size); Result MapPhysicalMemory64From32(Core::System& system, uint32_t address, uint32_t size);
Result UnmapPhysicalMemory64From32(Core::System& system, uint32_t address, uint32_t size); Result UnmapPhysicalMemory64From32(Core::System& system, uint32_t address, uint32_t size);
Result GetDebugFutureThreadInfo64From32(Core::System& system, ilp32::LastThreadContext* out_context, uint64_t* out_thread_id, Handle debug_handle, int64_t ns); Result GetDebugFutureThreadInfo64From32(Core::System& system, ilp32::LastThreadContext* out_context, uint64_t* out_thread_id, Handle debug_handle, int64_t ns);
Result GetLastThreadInfo64From32(Core::System& system, ilp32::LastThreadContext* out_context, uintptr_t* out_tls_address, uint32_t* out_flags); Result GetLastThreadInfo64From32(Core::System& system, ilp32::LastThreadContext* out_context, uint64_t* out_tls_address, uint32_t* out_flags);
Result GetResourceLimitLimitValue64From32(Core::System& system, int64_t* out_limit_value, Handle resource_limit_handle, LimitableResource which); Result GetResourceLimitLimitValue64From32(Core::System& system, int64_t* out_limit_value, Handle resource_limit_handle, LimitableResource which);
Result GetResourceLimitCurrentValue64From32(Core::System& system, int64_t* out_current_value, Handle resource_limit_handle, LimitableResource which); Result GetResourceLimitCurrentValue64From32(Core::System& system, int64_t* out_current_value, Handle resource_limit_handle, LimitableResource which);
Result SetThreadActivity64From32(Core::System& system, Handle thread_handle, ThreadActivity thread_activity); Result SetThreadActivity64From32(Core::System& system, Handle thread_handle, ThreadActivity thread_activity);
@ -215,7 +215,7 @@ Result MapTransferMemory64From32(Core::System& system, Handle trmem_handle, uint
Result UnmapTransferMemory64From32(Core::System& system, Handle trmem_handle, uint32_t address, uint32_t size); Result UnmapTransferMemory64From32(Core::System& system, Handle trmem_handle, uint32_t address, uint32_t size);
Result CreateInterruptEvent64From32(Core::System& system, Handle* out_read_handle, int32_t interrupt_id, InterruptType interrupt_type); Result CreateInterruptEvent64From32(Core::System& system, Handle* out_read_handle, int32_t interrupt_id, InterruptType interrupt_type);
Result QueryPhysicalAddress64From32(Core::System& system, ilp32::PhysicalMemoryInfo* out_info, uint32_t address); Result QueryPhysicalAddress64From32(Core::System& system, ilp32::PhysicalMemoryInfo* out_info, uint32_t address);
Result QueryIoMapping64From32(Core::System& system, uintptr_t* out_address, uintptr_t* out_size, uint64_t physical_address, uint32_t size); Result QueryIoMapping64From32(Core::System& system, uint64_t* out_address, uint64_t* out_size, uint64_t physical_address, uint32_t size);
Result CreateDeviceAddressSpace64From32(Core::System& system, Handle* out_handle, uint64_t das_address, uint64_t das_size); Result CreateDeviceAddressSpace64From32(Core::System& system, Handle* out_handle, uint64_t das_address, uint64_t das_size);
Result AttachDeviceAddressSpace64From32(Core::System& system, DeviceName device_name, Handle das_handle); Result AttachDeviceAddressSpace64From32(Core::System& system, DeviceName device_name, Handle das_handle);
Result DetachDeviceAddressSpace64From32(Core::System& system, DeviceName device_name, Handle das_handle); Result DetachDeviceAddressSpace64From32(Core::System& system, DeviceName device_name, Handle das_handle);
@ -258,7 +258,7 @@ Result SetResourceLimitLimitValue64From32(Core::System& system, Handle resource_
Result MapInsecureMemory64From32(Core::System& system, uint32_t address, uint32_t size); Result MapInsecureMemory64From32(Core::System& system, uint32_t address, uint32_t size);
Result UnmapInsecureMemory64From32(Core::System& system, uint32_t address, uint32_t size); Result UnmapInsecureMemory64From32(Core::System& system, uint32_t address, uint32_t size);
Result SetHeapSize64(Core::System& system, uintptr_t* out_address, uint64_t size); Result SetHeapSize64(Core::System& system, uint64_t* out_address, uint64_t size);
Result SetMemoryPermission64(Core::System& system, uint64_t address, uint64_t size, MemoryPermission perm); Result SetMemoryPermission64(Core::System& system, uint64_t address, uint64_t size, MemoryPermission perm);
Result SetMemoryAttribute64(Core::System& system, uint64_t address, uint64_t size, uint32_t mask, uint32_t attr); Result SetMemoryAttribute64(Core::System& system, uint64_t address, uint64_t size, uint32_t mask, uint32_t attr);
Result MapMemory64(Core::System& system, uint64_t dst_address, uint64_t src_address, uint64_t size); Result MapMemory64(Core::System& system, uint64_t dst_address, uint64_t src_address, uint64_t size);
@ -303,7 +303,7 @@ Result FlushDataCache64(Core::System& system, uint64_t address, uint64_t size);
Result MapPhysicalMemory64(Core::System& system, uint64_t address, uint64_t size); Result MapPhysicalMemory64(Core::System& system, uint64_t address, uint64_t size);
Result UnmapPhysicalMemory64(Core::System& system, uint64_t address, uint64_t size); Result UnmapPhysicalMemory64(Core::System& system, uint64_t address, uint64_t size);
Result GetDebugFutureThreadInfo64(Core::System& system, lp64::LastThreadContext* out_context, uint64_t* out_thread_id, Handle debug_handle, int64_t ns); Result GetDebugFutureThreadInfo64(Core::System& system, lp64::LastThreadContext* out_context, uint64_t* out_thread_id, Handle debug_handle, int64_t ns);
Result GetLastThreadInfo64(Core::System& system, lp64::LastThreadContext* out_context, uintptr_t* out_tls_address, uint32_t* out_flags); Result GetLastThreadInfo64(Core::System& system, lp64::LastThreadContext* out_context, uint64_t* out_tls_address, uint32_t* out_flags);
Result GetResourceLimitLimitValue64(Core::System& system, int64_t* out_limit_value, Handle resource_limit_handle, LimitableResource which); Result GetResourceLimitLimitValue64(Core::System& system, int64_t* out_limit_value, Handle resource_limit_handle, LimitableResource which);
Result GetResourceLimitCurrentValue64(Core::System& system, int64_t* out_current_value, Handle resource_limit_handle, LimitableResource which); Result GetResourceLimitCurrentValue64(Core::System& system, int64_t* out_current_value, Handle resource_limit_handle, LimitableResource which);
Result SetThreadActivity64(Core::System& system, Handle thread_handle, ThreadActivity thread_activity); Result SetThreadActivity64(Core::System& system, Handle thread_handle, ThreadActivity thread_activity);
@ -336,7 +336,7 @@ Result MapTransferMemory64(Core::System& system, Handle trmem_handle, uint64_t a
Result UnmapTransferMemory64(Core::System& system, Handle trmem_handle, uint64_t address, uint64_t size); Result UnmapTransferMemory64(Core::System& system, Handle trmem_handle, uint64_t address, uint64_t size);
Result CreateInterruptEvent64(Core::System& system, Handle* out_read_handle, int32_t interrupt_id, InterruptType interrupt_type); Result CreateInterruptEvent64(Core::System& system, Handle* out_read_handle, int32_t interrupt_id, InterruptType interrupt_type);
Result QueryPhysicalAddress64(Core::System& system, lp64::PhysicalMemoryInfo* out_info, uint64_t address); Result QueryPhysicalAddress64(Core::System& system, lp64::PhysicalMemoryInfo* out_info, uint64_t address);
Result QueryIoMapping64(Core::System& system, uintptr_t* out_address, uintptr_t* out_size, uint64_t physical_address, uint64_t size); Result QueryIoMapping64(Core::System& system, uint64_t* out_address, uint64_t* out_size, uint64_t physical_address, uint64_t size);
Result CreateDeviceAddressSpace64(Core::System& system, Handle* out_handle, uint64_t das_address, uint64_t das_size); Result CreateDeviceAddressSpace64(Core::System& system, Handle* out_handle, uint64_t das_address, uint64_t das_size);
Result AttachDeviceAddressSpace64(Core::System& system, DeviceName device_name, Handle das_handle); Result AttachDeviceAddressSpace64(Core::System& system, DeviceName device_name, Handle das_handle);
Result DetachDeviceAddressSpace64(Core::System& system, DeviceName device_name, Handle das_handle); Result DetachDeviceAddressSpace64(Core::System& system, DeviceName device_name, Handle das_handle);

View File

@ -12,7 +12,7 @@ Result QueryPhysicalAddress(Core::System& system, lp64::PhysicalMemoryInfo* out_
R_THROW(ResultNotImplemented); R_THROW(ResultNotImplemented);
} }
Result QueryIoMapping(Core::System& system, uintptr_t* out_address, uintptr_t* out_size, Result QueryIoMapping(Core::System& system, uint64_t* out_address, uint64_t* out_size,
uint64_t physical_address, uint64_t size) { uint64_t physical_address, uint64_t size) {
UNIMPLEMENTED(); UNIMPLEMENTED();
R_THROW(ResultNotImplemented); R_THROW(ResultNotImplemented);
@ -23,7 +23,7 @@ Result QueryPhysicalAddress64(Core::System& system, lp64::PhysicalMemoryInfo* ou
R_RETURN(QueryPhysicalAddress(system, out_info, address)); R_RETURN(QueryPhysicalAddress(system, out_info, address));
} }
Result QueryIoMapping64(Core::System& system, uintptr_t* out_address, uintptr_t* out_size, Result QueryIoMapping64(Core::System& system, uint64_t* out_address, uint64_t* out_size,
uint64_t physical_address, uint64_t size) { uint64_t physical_address, uint64_t size) {
R_RETURN(QueryIoMapping(system, out_address, out_size, physical_address, size)); R_RETURN(QueryIoMapping(system, out_address, out_size, physical_address, size));
} }
@ -41,10 +41,10 @@ Result QueryPhysicalAddress64From32(Core::System& system, ilp32::PhysicalMemoryI
R_SUCCEED(); R_SUCCEED();
} }
Result QueryIoMapping64From32(Core::System& system, uintptr_t* out_address, uintptr_t* out_size, Result QueryIoMapping64From32(Core::System& system, uint64_t* out_address, uint64_t* out_size,
uint64_t physical_address, uint32_t size) { uint64_t physical_address, uint32_t size) {
R_RETURN(QueryIoMapping(system, reinterpret_cast<uintptr_t*>(out_address), R_RETURN(QueryIoMapping(system, reinterpret_cast<uint64_t*>(out_address),
reinterpret_cast<uintptr_t*>(out_size), physical_address, size)); reinterpret_cast<uint64_t*>(out_size), physical_address, size));
} }
} // namespace Kernel::Svc } // namespace Kernel::Svc

View File

@ -13,7 +13,7 @@ void FlushEntireDataCache(Core::System& system) {
UNIMPLEMENTED(); UNIMPLEMENTED();
} }
Result FlushDataCache(Core::System& system, VAddr address, size_t size) { Result FlushDataCache(Core::System& system, uint64_t address, uint64_t size) {
UNIMPLEMENTED(); UNIMPLEMENTED();
R_THROW(ResultNotImplemented); R_THROW(ResultNotImplemented);
} }
@ -33,8 +33,8 @@ Result StoreProcessDataCache(Core::System& system, Handle process_handle, uint64
Result FlushProcessDataCache(Core::System& system, Handle process_handle, u64 address, u64 size) { Result FlushProcessDataCache(Core::System& system, Handle process_handle, u64 address, u64 size) {
// Validate address/size. // Validate address/size.
R_UNLESS(size > 0, ResultInvalidSize); R_UNLESS(size > 0, ResultInvalidSize);
R_UNLESS(address == static_cast<uintptr_t>(address), ResultInvalidCurrentMemory); R_UNLESS(address == static_cast<uint64_t>(address), ResultInvalidCurrentMemory);
R_UNLESS(size == static_cast<size_t>(size), ResultInvalidCurrentMemory); R_UNLESS(size == static_cast<uint64_t>(size), ResultInvalidCurrentMemory);
// Get the process from its handle. // Get the process from its handle.
KScopedAutoObject process = KScopedAutoObject process =
@ -53,7 +53,7 @@ void FlushEntireDataCache64(Core::System& system) {
FlushEntireDataCache(system); FlushEntireDataCache(system);
} }
Result FlushDataCache64(Core::System& system, VAddr address, size_t size) { Result FlushDataCache64(Core::System& system, uint64_t address, uint64_t size) {
R_RETURN(FlushDataCache(system, address, size)); R_RETURN(FlushDataCache(system, address, size));
} }

View File

@ -28,7 +28,7 @@ constexpr bool IsValidUnmapFromOwnerCodeMemoryPermission(MemoryPermission perm)
} // namespace } // namespace
Result CreateCodeMemory(Core::System& system, Handle* out, VAddr address, size_t size) { Result CreateCodeMemory(Core::System& system, Handle* out, VAddr address, uint64_t size) {
LOG_TRACE(Kernel_SVC, "called, address=0x{:X}, size=0x{:X}", address, size); LOG_TRACE(Kernel_SVC, "called, address=0x{:X}, size=0x{:X}", address, size);
// Get kernel instance. // Get kernel instance.
@ -64,7 +64,7 @@ Result CreateCodeMemory(Core::System& system, Handle* out, VAddr address, size_t
} }
Result ControlCodeMemory(Core::System& system, Handle code_memory_handle, Result ControlCodeMemory(Core::System& system, Handle code_memory_handle,
CodeMemoryOperation operation, VAddr address, size_t size, CodeMemoryOperation operation, VAddr address, uint64_t size,
MemoryPermission perm) { MemoryPermission perm) {
LOG_TRACE(Kernel_SVC, LOG_TRACE(Kernel_SVC,

View File

@ -45,19 +45,19 @@ Result SetDebugThreadContext(Core::System& system, Handle debug_handle, uint64_t
} }
Result QueryDebugProcessMemory(Core::System& system, uint64_t out_memory_info, Result QueryDebugProcessMemory(Core::System& system, uint64_t out_memory_info,
PageInfo* out_page_info, Handle debug_handle, uintptr_t address) { PageInfo* out_page_info, Handle process_handle, uint64_t address) {
UNIMPLEMENTED(); UNIMPLEMENTED();
R_THROW(ResultNotImplemented); R_THROW(ResultNotImplemented);
} }
Result ReadDebugProcessMemory(Core::System& system, uintptr_t buffer, Handle debug_handle, Result ReadDebugProcessMemory(Core::System& system, uint64_t buffer, Handle debug_handle,
uintptr_t address, size_t size) { uint64_t address, uint64_t size) {
UNIMPLEMENTED(); UNIMPLEMENTED();
R_THROW(ResultNotImplemented); R_THROW(ResultNotImplemented);
} }
Result WriteDebugProcessMemory(Core::System& system, Handle debug_handle, uintptr_t buffer, Result WriteDebugProcessMemory(Core::System& system, Handle debug_handle, uint64_t buffer,
uintptr_t address, size_t size) { uint64_t address, uint64_t size) {
UNIMPLEMENTED(); UNIMPLEMENTED();
R_THROW(ResultNotImplemented); R_THROW(ResultNotImplemented);
} }

View File

@ -76,8 +76,8 @@ constexpr bool IsValidDeviceMemoryPermission(MemoryPermission device_perm) {
} }
Result MapDeviceAddressSpaceByForce(Core::System& system, Handle das_handle, Handle process_handle, Result MapDeviceAddressSpaceByForce(Core::System& system, Handle das_handle, Handle process_handle,
uint64_t process_address, size_t size, uint64_t device_address, uint64_t process_address, uint64_t size,
u32 option) { uint64_t device_address, u32 option) {
// Decode the option. // Decode the option.
const MapDeviceAddressSpaceOption option_pack{option}; const MapDeviceAddressSpaceOption option_pack{option};
const auto device_perm = option_pack.permission; const auto device_perm = option_pack.permission;
@ -90,7 +90,7 @@ Result MapDeviceAddressSpaceByForce(Core::System& system, Handle das_handle, Han
R_UNLESS(size > 0, ResultInvalidSize); R_UNLESS(size > 0, ResultInvalidSize);
R_UNLESS((process_address < process_address + size), ResultInvalidCurrentMemory); R_UNLESS((process_address < process_address + size), ResultInvalidCurrentMemory);
R_UNLESS((device_address < device_address + size), ResultInvalidMemoryRegion); R_UNLESS((device_address < device_address + size), ResultInvalidMemoryRegion);
R_UNLESS((process_address == static_cast<uintptr_t>(process_address)), R_UNLESS((process_address == static_cast<uint64_t>(process_address)),
ResultInvalidCurrentMemory); ResultInvalidCurrentMemory);
R_UNLESS(IsValidDeviceMemoryPermission(device_perm), ResultInvalidNewMemoryPermission); R_UNLESS(IsValidDeviceMemoryPermission(device_perm), ResultInvalidNewMemoryPermission);
R_UNLESS(reserved == 0, ResultInvalidEnumValue); R_UNLESS(reserved == 0, ResultInvalidEnumValue);
@ -116,8 +116,8 @@ Result MapDeviceAddressSpaceByForce(Core::System& system, Handle das_handle, Han
} }
Result MapDeviceAddressSpaceAligned(Core::System& system, Handle das_handle, Handle process_handle, Result MapDeviceAddressSpaceAligned(Core::System& system, Handle das_handle, Handle process_handle,
uint64_t process_address, size_t size, uint64_t device_address, uint64_t process_address, uint64_t size,
u32 option) { uint64_t device_address, u32 option) {
// Decode the option. // Decode the option.
const MapDeviceAddressSpaceOption option_pack{option}; const MapDeviceAddressSpaceOption option_pack{option};
const auto device_perm = option_pack.permission; const auto device_perm = option_pack.permission;
@ -131,7 +131,7 @@ Result MapDeviceAddressSpaceAligned(Core::System& system, Handle das_handle, Han
R_UNLESS(size > 0, ResultInvalidSize); R_UNLESS(size > 0, ResultInvalidSize);
R_UNLESS((process_address < process_address + size), ResultInvalidCurrentMemory); R_UNLESS((process_address < process_address + size), ResultInvalidCurrentMemory);
R_UNLESS((device_address < device_address + size), ResultInvalidMemoryRegion); R_UNLESS((device_address < device_address + size), ResultInvalidMemoryRegion);
R_UNLESS((process_address == static_cast<uintptr_t>(process_address)), R_UNLESS((process_address == static_cast<uint64_t>(process_address)),
ResultInvalidCurrentMemory); ResultInvalidCurrentMemory);
R_UNLESS(IsValidDeviceMemoryPermission(device_perm), ResultInvalidNewMemoryPermission); R_UNLESS(IsValidDeviceMemoryPermission(device_perm), ResultInvalidNewMemoryPermission);
R_UNLESS(reserved == 0, ResultInvalidEnumValue); R_UNLESS(reserved == 0, ResultInvalidEnumValue);
@ -157,7 +157,7 @@ Result MapDeviceAddressSpaceAligned(Core::System& system, Handle das_handle, Han
} }
Result UnmapDeviceAddressSpace(Core::System& system, Handle das_handle, Handle process_handle, Result UnmapDeviceAddressSpace(Core::System& system, Handle das_handle, Handle process_handle,
uint64_t process_address, size_t size, uint64_t device_address) { uint64_t process_address, uint64_t size, uint64_t device_address) {
// Validate input. // Validate input.
R_UNLESS(Common::IsAligned(process_address, PageSize), ResultInvalidAddress); R_UNLESS(Common::IsAligned(process_address, PageSize), ResultInvalidAddress);
R_UNLESS(Common::IsAligned(device_address, PageSize), ResultInvalidAddress); R_UNLESS(Common::IsAligned(device_address, PageSize), ResultInvalidAddress);
@ -165,7 +165,7 @@ Result UnmapDeviceAddressSpace(Core::System& system, Handle das_handle, Handle p
R_UNLESS(size > 0, ResultInvalidSize); R_UNLESS(size > 0, ResultInvalidSize);
R_UNLESS((process_address < process_address + size), ResultInvalidCurrentMemory); R_UNLESS((process_address < process_address + size), ResultInvalidCurrentMemory);
R_UNLESS((device_address < device_address + size), ResultInvalidMemoryRegion); R_UNLESS((device_address < device_address + size), ResultInvalidMemoryRegion);
R_UNLESS((process_address == static_cast<uintptr_t>(process_address)), R_UNLESS((process_address == static_cast<uint64_t>(process_address)),
ResultInvalidCurrentMemory); ResultInvalidCurrentMemory);
// Get the device address space. // Get the device address space.

View File

@ -6,12 +6,12 @@
namespace Kernel::Svc { namespace Kernel::Svc {
Result MapInsecureMemory(Core::System& system, uintptr_t address, size_t size) { Result MapInsecureMemory(Core::System& system, uint64_t address, uint64_t size) {
UNIMPLEMENTED(); UNIMPLEMENTED();
R_THROW(ResultNotImplemented); R_THROW(ResultNotImplemented);
} }
Result UnmapInsecureMemory(Core::System& system, uintptr_t address, size_t size) { Result UnmapInsecureMemory(Core::System& system, uint64_t address, uint64_t size) {
UNIMPLEMENTED(); UNIMPLEMENTED();
R_THROW(ResultNotImplemented); R_THROW(ResultNotImplemented);
} }

View File

@ -12,19 +12,19 @@ Result CreateIoPool(Core::System& system, Handle* out, IoPoolType pool_type) {
} }
Result CreateIoRegion(Core::System& system, Handle* out, Handle io_pool_handle, uint64_t phys_addr, Result CreateIoRegion(Core::System& system, Handle* out, Handle io_pool_handle, uint64_t phys_addr,
size_t size, MemoryMapping mapping, MemoryPermission perm) { uint64_t size, MemoryMapping mapping, MemoryPermission perm) {
UNIMPLEMENTED(); UNIMPLEMENTED();
R_THROW(ResultNotImplemented); R_THROW(ResultNotImplemented);
} }
Result MapIoRegion(Core::System& system, Handle io_region_handle, uintptr_t address, size_t size, Result MapIoRegion(Core::System& system, Handle io_region_handle, uint64_t address, uint64_t size,
MemoryPermission map_perm) { MemoryPermission map_perm) {
UNIMPLEMENTED(); UNIMPLEMENTED();
R_THROW(ResultNotImplemented); R_THROW(ResultNotImplemented);
} }
Result UnmapIoRegion(Core::System& system, Handle io_region_handle, uintptr_t address, Result UnmapIoRegion(Core::System& system, Handle io_region_handle, uint64_t address,
size_t size) { uint64_t size) {
UNIMPLEMENTED(); UNIMPLEMENTED();
R_THROW(ResultNotImplemented); R_THROW(ResultNotImplemented);
} }

View File

@ -158,7 +158,7 @@ Result SetUnsafeLimit64(Core::System& system, uint64_t limit) {
R_RETURN(SetUnsafeLimit(system, limit)); R_RETURN(SetUnsafeLimit(system, limit));
} }
Result SetHeapSize64From32(Core::System& system, uintptr_t* out_address, uint32_t size) { Result SetHeapSize64From32(Core::System& system, uint64_t* out_address, uint32_t size) {
R_RETURN(SetHeapSize(system, out_address, size)); R_RETURN(SetHeapSize(system, out_address, size));
} }

View File

@ -65,7 +65,7 @@ Result ConnectToNamedPort(Core::System& system, Handle* out, VAddr port_name_add
} }
Result CreatePort(Core::System& system, Handle* out_server, Handle* out_client, Result CreatePort(Core::System& system, Handle* out_server, Handle* out_client,
int32_t max_sessions, bool is_light, uintptr_t name) { int32_t max_sessions, bool is_light, uint64_t name) {
UNIMPLEMENTED(); UNIMPLEMENTED();
R_THROW(ResultNotImplemented); R_THROW(ResultNotImplemented);
} }

View File

@ -37,8 +37,8 @@ Result SetProcessMemoryPermission(Core::System& system, Handle process_handle, V
R_UNLESS(Common::IsAligned(size, PageSize), ResultInvalidSize); R_UNLESS(Common::IsAligned(size, PageSize), ResultInvalidSize);
R_UNLESS(size > 0, ResultInvalidSize); R_UNLESS(size > 0, ResultInvalidSize);
R_UNLESS((address < address + size), ResultInvalidCurrentMemory); R_UNLESS((address < address + size), ResultInvalidCurrentMemory);
R_UNLESS(address == static_cast<uintptr_t>(address), ResultInvalidCurrentMemory); R_UNLESS(address == static_cast<uint64_t>(address), ResultInvalidCurrentMemory);
R_UNLESS(size == static_cast<size_t>(size), ResultInvalidCurrentMemory); R_UNLESS(size == static_cast<uint64_t>(size), ResultInvalidCurrentMemory);
// Validate the memory permission. // Validate the memory permission.
R_UNLESS(IsValidProcessMemoryPermission(perm), ResultInvalidNewMemoryPermission); R_UNLESS(IsValidProcessMemoryPermission(perm), ResultInvalidNewMemoryPermission);

View File

@ -443,7 +443,7 @@ def emit_wrapper(wrapped_fn, suffix, register_info, arguments, byte_size):
lines.append("") lines.append("")
for output_type, var_name, _, is_address in output_writes: for output_type, var_name, _, is_address in output_writes:
output_type = "uintptr_t" if is_address else output_type output_type = "uint64_t" if is_address else output_type
lines.append(f"{output_type} {var_name}{{}};") lines.append(f"{output_type} {var_name}{{}};")
for input_type, var_name, _ in input_reads: for input_type, var_name, _ in input_reads:
lines.append(f"{input_type} {var_name}{{}};") lines.append(f"{input_type} {var_name}{{}};")
@ -630,7 +630,7 @@ def emit_call(bitness, names, suffix):
def build_fn_declaration(return_type, name, arguments): def build_fn_declaration(return_type, name, arguments):
arg_list = ["Core::System& system"] arg_list = ["Core::System& system"]
for arg in arguments: for arg in arguments:
type_name = "uintptr_t" if arg.is_address else arg.type_name type_name = "uint64_t" if arg.is_address else arg.type_name
pointer = "*" if arg.is_output and not arg.is_outptr else "" pointer = "*" if arg.is_output and not arg.is_outptr else ""
arg_list.append(f"{type_name}{pointer} {arg.var_name}") arg_list.append(f"{type_name}{pointer} {arg.var_name}")

View File

@ -568,7 +568,7 @@ private:
const u64* const state_words = Array<type>(); const u64* const state_words = Array<type>();
const u64 num_query_words = size / BYTES_PER_WORD + 1; const u64 num_query_words = size / BYTES_PER_WORD + 1;
const u64 word_begin = offset / BYTES_PER_WORD; const u64 word_begin = offset / BYTES_PER_WORD;
const u64 word_end = std::min(word_begin + num_query_words, NumWords()); const u64 word_end = std::min<u64>(word_begin + num_query_words, NumWords());
const u64 page_base = offset / BYTES_PER_PAGE; const u64 page_base = offset / BYTES_PER_PAGE;
const u64 page_limit = Common::DivCeil(offset + size, BYTES_PER_PAGE); const u64 page_limit = Common::DivCeil(offset + size, BYTES_PER_PAGE);
u64 begin = std::numeric_limits<u64>::max(); u64 begin = std::numeric_limits<u64>::max();