Lioncash
6594853eb1
svc: Implement svcGetInfo command 0xF0000002
This retrieves:
if (curr_thread == handle_thread) {
result = total_thread_ticks + (hardware_tick_count - last_context_switch_ticks);
} else if (curr_thread == handle_thread && sub_id == current_core_index) {
result = hardware_tick_count - last_context_switch_ticks;
}
7 years ago
Lioncash
90f8474fc1
svc: Clarify enum values for AddressSpaceBaseAddr and AddressSpaceSize in svcGetInfo()
So, one thing that's puzzled me is why the kernel seemed to *not* use
the direct code address ranges in some cases for some service functions.
For example, in svcMapMemory, the full address space width is compared
against for validity, but for svcMapSharedMemory, it compares against
0xFFE00000, 0xFF8000000, and 0x7FF8000000 as upper bounds, and uses
either 0x200000 or 0x8000000 as the lower-bounds as the beginning of the
compared range. Coincidentally, these exact same values are also used in
svcGetInfo, and also when initializing the user address space, so this
is actually retrieving the ASLR extents, not the extents of the address
space in general.
7 years ago
greggameplayer
b16e5c6a81
Add & correct miscellaneous things ( #470 )
* add some InfoType
* correct OpenApplicationProxy cmd number
* add IDisplayController functions
* fix clang-format
* add more system languages
8 years ago
bunnei
d80991977a
svc: Add additional fields to MemoryInfo struct.
8 years ago
Subv
3442f4b96a
SVC: Add 4.0.0+ comment to GetInfoType enum values.
8 years ago
David Marcec
68143af636
Added more svcGetInfo pairs
8 years ago
bunnei
1247c53786
yuzu: Update license text to be consistent across project.
8 years ago
Subv
7ad20154fc
Threads: Added enum values for the Switch's 4 cpu cores and implemented svcGetInfo(AllowedCpuIdBitmask)
8 years ago
bunnei
4236799832
kernel: Rename Semaphore to ConditionVariable.
8 years ago
bunnei
480906fe1b
hle: Move SVC code to kernel namespace.
8 years ago
bunnei
72f671fd7a
svc: Improve svcGetInfo.
8 years ago
bunnei
dcd6bb82f7
hle: Fix QueryMemory response for MemoryInfo.
8 years ago
bunnei
e98a3ca171
svc: Update MemoryInfo flags for 64-bit.
8 years ago
Lioncash
856a1d0386
svc: Move ResetType enum to the kernel event header
10 years ago
Lioncash
31797a242f
svc: Remove unused ArbitrationType enum
An equivalent enum already exists within address_arbiter.h
10 years ago
Lioncash
12e92f17de
svc: Make ResetType an enum class
10 years ago
Yuri Kunde Schlesner
84a22cb594
Kernel: Implement svcGetSystemInfo
This makes smealum/ctrulib@b96dd51d3349961189d4ab1bc2a5c45deff21c09 work
with Citra.
10 years ago
Lioncash
c2689b8c2c
dyncom: Pass SVC immediates directly.
Previously it would just re-read the already decoded instruction and extract the immediate value.
11 years ago
Yuri Kunde Schlesner
ecff2351a1
HLE: Clean up SVC dispatch mechanism
11 years ago
Yuri Kunde Schlesner
7b3452c730
Move ThreadContext to core/core.h and deal with the fallout
11 years ago
purpasmart96
ebfd831ccb
License change
11 years ago
Emmanuel Gil Peyrot
f5d38649c7
Remove trailing spaces in every file but the ones imported from SkyEye, AOSP or generated
11 years ago
bunnei
9ece9da50d
arm: fixed bug in how thread context switch occurs with SkyEye
12 years ago
bunnei
e7202e5b2d
svc: added ArbitrationType enumeration
12 years ago
bunnei
143bba2045
renamed "syscall" module to "svc" (more accurate naming)
12 years ago
bunnei
772abad778
- moved Handle/Result definitions to kernel.h
- added ResetType enum
12 years ago
bunnei
4fba4f36bf
- added SVC stubs for QueryMemory and GetThreadId
- added SVC structs MemoryInfo and PageInfo
12 years ago
bunnei
367d63691f
- added ThreadContext struct
- cleaned up CreateThread svc
12 years ago
bunnei
02fbd42e7f
- renamed hle_syscall to just syscall
- added service.h as an initial service interface
12 years ago