aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/kernel/svc.h
AgeCommit message (Collapse)Author
2023-12-04core: refactor emulated cpu core activationLiam
2023-02-21svc: Fix type consistency (exposed on macOS)Merry
2023-02-06kernel/svc: switch to generated wrappersLiam
2023-02-04kernel/svc: Split implementations into separate filesLiam
2022-04-23general: Convert source file copyright comments over to SPDXMorph
This formats all copyright comments according to SPDX formatting guidelines. Additionally, this resolves the remaining GPLv2 only licensed files by relicensing them to GPLv2.0-or-later.
2020-04-17core: kernel: Move SVC to its own namesapce.bunnei
2019-04-07kernel/svc: Deglobalize the supervisor call handlersLioncash
Adjusts the interface of the wrappers to take a system reference, which allows accessing a system instance without using the global accessors. This also allows getting rid of all global accessors within the supervisor call handling code. While this does make the wrappers themselves slightly more noisy, this will be further cleaned up in a follow-up. This eliminates the global system accessors in the current code while preserving the existing interface.
2018-12-12vm_manager: Migrate MemoryInfo and PageInfo to vm_manager.hLioncash
Gets the two structures out of an unrelated header and places them with the rest of the memory management code. This also corrects the structures. PageInfo appears to only contain a 32-bit flags member, and the extra padding word in MemoryInfo isn't necessary.
2018-10-26svc: Localize the GetInfo enum class to the function itselfLioncash
Nothing from this enum is intended to be used outside of this function.
2018-10-26svc: Implement svcGetInfo command 0xF0000002Lioncash
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; }
2018-10-14svc: Clarify enum values for AddressSpaceBaseAddr and AddressSpaceSize in ↵Lioncash
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.
2018-05-25Add & correct miscellaneous things (#470)greggameplayer
* add some InfoType * correct OpenApplicationProxy cmd number * add IDisplayController functions * fix clang-format * add more system languages
2018-01-18svc: Add additional fields to MemoryInfo struct.bunnei
2018-01-16SVC: Add 4.0.0+ comment to GetInfoType enum values.Subv
2018-01-16Added more svcGetInfo pairsDavid Marcec
2018-01-13yuzu: Update license text to be consistent across project.bunnei
2018-01-10Threads: Added enum values for the Switch's 4 cpu cores and implemented ↵Subv
svcGetInfo(AllowedCpuIdBitmask)
2018-01-08kernel: Rename Semaphore to ConditionVariable.bunnei
2018-01-02hle: Move SVC code to kernel namespace.bunnei