Liam
e313e4f1ae
kernel: implement FlushProcessDataCache
3 years ago
Liam
affd5c32f9
kernel/svc_types: refresh
3 years ago
bunnei
019e425377
core: hle: kernel: Add KEventInfo.
3 years ago
Liam
8f65df7619
kernel: fix port tracking
3 years ago
Liam
2e56a382a9
kernel: invert session request handling flow
3 years ago
Morph
9fba74d245
general: Enforce C4800 everywhere except in video_core
3 years ago
bunnei
55ed04af34
core: hle: kernel: k_process: Improve management of page table & cleanup.
3 years ago
bunnei
5a37569052
core: hle: kernel: k_process: Change Status -> State.
3 years ago
Liam
09777eea76
kernel: remove KWritableEvent
3 years ago
Liam
545875eaa1
k_server_session: preliminary support for userspace server sessions
3 years ago
Liam
a048c5ca0f
Add implementation of svcCreateSession
3 years ago
Liam
e47bced65d
kernel: use KScheduler from mesosphere
4 years ago
german77
093680269b
core: kernel: Replace instances of KPageLinkedList with KPageGroup
4 years ago
german77
c7890ebccc
core: Replace all instances of ResultCode with Result
4 years ago
comex
0c3a934b6e
Re-add missing `case` and braces, and trim whitespace
4 years ago
comex
593f978ad2
Update src/core/hle/kernel/svc.cpp
Co-authored-by: liamwhite <liamwhite@users.noreply.github.com>
4 years ago
comex
9decdbabab
Support InfoType_MesosphereCurrentProcess
4 years ago
Liam
83f1ecb73b
kernel: make current thread pointer thread local
4 years ago
Nikita Strygin
5f5739ea2c
Implement ExitProcess svc
Currently this just stops all the emulation
This works under assumption that only application will try to use
ExitProcess, with services not touching it
If application exits - it quite makes sense to end the emulation
4 years ago
Liam
0755b274fa
kernel: notify debugger on break SVC
4 years ago
Liam
a6c1036ddc
core: centralize profile scope for Dynarmic
4 years ago
Liam
59a6d88625
kernel: implement KProcess suspension
4 years ago
Liam
c1771c98f3
common: Change semantics of UNREACHABLE to unconditionally crash
4 years ago
Morph
88052d8c09
kernel: svc: Replace -1ULL with 0xFFFFFFFFFFFFFFFF
Resolves the C4146 compiler warning on MSVC.
4 years ago
Morph
2b87305d31
general: Convert source file copyright comments over to SPDX
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.
4 years ago
tech-ticks
53f7a78e9e
hle: kernel: Invalidate entire icache in UnmapProcessMemory and UnmapCodeMemory ( fixes #8174 )
4 years ago
bunnei
3beb4d4273
hle: kernel: svc: MapProcessMemory: Fix usage of KPageLinkedList to use physical address space.
4 years ago
bunnei
f84511eb4f
hle: kernel: svc: CreateCodeMemory: Remove log of 'out' host pointer.
- This does not seem terribly useful and is inconsistent with other usage.
4 years ago
bunnei
58a4c17e98
hle: kernel: svc: UnmapProcessCodeMemory: Fix inverted alignment check.
4 years ago
bunnei
64ae76bff6
core: hle: kernel: KEvent: Pass in owner KProcess on event creation.
- This is necessary to ensure resource limits are freed from the right process.
4 years ago
Sergi Granell
dbfe017c9f
kernel: svc: Add OutputDebugString32, CreateCodeMemory32, ControlCodeMemory32
Very straightforward, they are just wrappers to the 64-bit version of
the SVC.
4 years ago
Narr the Reg
d5873beb51
svc: Set unique names for function tables
4 years ago
tech-ticks
be026c6b6d
service: pm: Implement AtmosphereGetProcessInfo
4 years ago
Narr the Reg
33594225c7
svc: Add 32 bit SynchronizePreemptionState
Used by Espgaluda II
4 years ago
bunnei
ebb9ec197e
core: hle: kernel: Rename Un/Map to Un/MapMeory.
4 years ago
bunnei
d45b65b4d9
hle: kernel: k_page_table: Update SetProcessMemoryPermission.
4 years ago
bunnei
0942533d2f
hle: kernel: k_page_table: Rename *ProcessCodeMemory -> *CodeMemory.
4 years ago
bunnei
b227426ae5
core: hle: kernel: svc: Updates to SetMemoryAttribute and SetMemoryPermission.
4 years ago
bunnei
b12695ddc4
core: hle: kernel: Implement thread pinning.
- We largely had the mechanics in place for thread pinning, this change hooks these up.
- Validated with tests https://github.com/Atmosphere-NX/Atmosphere/blob/master/tests/TestSvc/source/test_thread_pinning.cpp .
4 years ago
bunnei
714dcea191
core: hle: kernel: Updated implementation of svcSetHeapSize.
- Updates our svcSetHeapSize with latest HOS, furthermore allowing heap size to properly be extended/shrunk.
- Validated with tests https://github.com/Atmosphere-NX/Atmosphere/blob/master/tests/TestSvc/source/test_set_heap_size.cpp .
4 years ago
bunnei
555481005d
core: hle: kernel: Implement SetMemoryPermission.
- Not seen in any games yet, but validated with kernel tests.
4 years ago
bunnei
a1f637a6d0
hle: kernel: svc: GetInfo: Fix error checking with IdleTickCount.
- Enforce tha the supplied handle is invalid, not valid.
- This gets Witcher 3 booting.
4 years ago
bunnei
5192e8e092
core: hle: Remove global HLE lock.
- This was added early on as a hack to protect against some concurrency issues.
- It's not clear that this serves any purpose anymore, and if it does, individual components should be fixed rather than using a global recursive mutex.
4 years ago
bunnei
43d706c7d2
hle: kernel: svc: Fix deadlock that can occur with single core.
4 years ago
bunnei
f81a6a07c0
hle: kernel: KServerSession: Migrate to updated KThreadQueue.
4 years ago
bunnei
0ad0543cde
hle: kernel: KThread: Remove tracking of sync object from threads.
4 years ago
bunnei
cae0bef7ec
core: hle: kernel: Reflect non-emulated threads as core 3.
4 years ago
itsmeft24
033c9dff92
kernel: svc: Implement Map/UnmapProcessMemory and Create/ControlCodeMemory
Used by Skyline modding framework
4 years ago
Morph
463793ccb5
kernel: svc: Move all IsValid functions to an anonymous namespace
4 years ago
Morph
64079bc2f2
kernel: svc: Implement SetProcessMemoryPermission
- Used by Skyline modding framework
4 years ago