b0ceb4df70
IPC: Skip the entire u64 of the command id when receiving an IPC request.
...
Service code now doesn't have to deal with this.
2018-01-07 17:11:45 -05:00
226786f0b0
IPC: Use the correct size when pushing raw data to the command buffer and fixed pushing domain objects.
...
Domain object ids are always stored immediately after the raw data.
2018-01-07 17:11:43 -05:00
bc8ef64804
svc: Implement svcSignalProcessWideKey.
2018-01-07 16:55:17 -05:00
4e33b4b42f
semaphore: More changes for Switch.
2018-01-07 16:52:23 -05:00
0f6fbdb963
wait_object: Refactor to allow waking up a single thread.
2018-01-07 16:33:41 -05:00
5017038ca7
svc: Implement svcWaitProcessWideKeyAtomic.
2018-01-06 16:14:12 -05:00
91f10a1460
semaphore: Updates for Switch.
2018-01-06 15:55:40 -05:00
0e978bdd50
svc: Implement WaitSynchronization for a single handle.
2018-01-06 14:34:32 -05:00
57f42e5887
svc: Refactor LockMutex code to use WaitSynchronization1.
2018-01-06 14:19:28 -05:00
0dbc8f3577
svc: Add missing string_util include.
2018-01-04 19:45:15 -05:00
b172f0d770
arm: Remove SkyEye/Dyncom code that is ARMv6-only.
2018-01-02 22:24:12 -05:00
f0eab802e8
vm_manager: Use a more reasonable MAX_ADDRESS size.
2018-01-02 21:37:56 -05:00
81a8a57ce2
svc: Remove unnecessary "svc" prefix to naming scheme.
2018-01-02 20:47:26 -05:00
480906fe1b
hle: Move SVC code to kernel namespace.
2018-01-02 20:40:30 -05:00
e9710a2cf7
vm_manager: Stub out a bunch of interfaces used by svcGetInfo.
2018-01-01 15:59:31 -05:00
93480b10ef
core/video_core: Fix a bunch of u64 -> u32 warnings.
2018-01-01 15:40:35 -05:00
aa7c824ea4
svc: Implement svcExitProcess.
2018-01-01 14:38:34 -05:00
b9950cd4b0
svc: Implement svcLockMutex.
2018-01-01 14:02:26 -05:00
d0046b120a
kernel: Add ObjectAddressTable class.
2018-01-01 13:25:37 -05:00
1cb978eb82
thread: Keep track of the initially created handle.
...
This is kinda crufty, but we need it for now to update guest state variables.
2017-12-31 17:23:36 -05:00
c7983e970c
errors: Define missing kernel error codes.
2017-12-31 15:59:00 -05:00
3a91a62b8f
svc: Implement svcUnmapMemory.
2017-12-31 15:22:49 -05:00
b6087e35b5
thread: Main thread should set thread handle to reg 1.
2017-12-30 12:10:58 -05:00
7ccd8de863
thread: Remove THUMB mode flag.
2017-12-30 12:08:26 -05:00
eed4f2e229
thread: Main thread should be ready by default, all others dormant.
2017-12-30 12:05:10 -05:00
ebd4b1422d
kernel: Various 64-bit fixes in memory/process/thread
2017-12-29 13:27:58 -05:00
dcdaac8a0b
kernel: Fix implementation of ConvertSessionToDomain.
2017-12-29 00:36:22 -05:00
e17c0019c5
kernel: Add basic support for Domain object.
2017-12-28 23:30:21 -05:00
834fa5db65
kernel: Add SyncObject primitive, use it for ClientSession.
2017-12-28 23:12:28 -05:00
3421e1617e
process: Add method to mirror a memory region.
2017-12-28 21:35:49 -05:00
3597650f22
service: Return proper result code for IPC::CommandType::Close.
2017-10-31 19:30:05 -04:00
34571f4d2e
hle: Use Switch formatted result codes.
2017-10-31 19:26:11 -04:00
dcd6bb82f7
hle: Fix QueryMemory response for MemoryInfo.
2017-10-19 23:00:46 -04:00
654fae29c1
hle_ipc: Only copy necessary fields for outgoing command buffer.
2017-10-18 21:39:48 -04:00
b283cf7348
hle_ipc: Parse out buffer X/A/B/B descriptors from incoming command buffer.
2017-10-18 21:38:01 -04:00
4fb1b24d68
hle: Implement ConvertSessionToDomain, various cleanups.
2017-10-15 01:24:22 -04:00
960a1416de
hle: Initial implementation of NX service framework and IPC.
2017-10-14 22:18:42 -04:00
b1d5db1cf6
Merge remote-tracking branch 'upstream/master' into nx
...
# Conflicts:
# src/core/CMakeLists.txt
# src/core/arm/dynarmic/arm_dynarmic.cpp
# src/core/arm/dyncom/arm_dyncom.cpp
# src/core/hle/kernel/process.cpp
# src/core/hle/kernel/thread.cpp
# src/core/hle/kernel/thread.h
# src/core/hle/kernel/vm_manager.cpp
# src/core/loader/3dsx.cpp
# src/core/loader/elf.cpp
# src/core/loader/ncch.cpp
# src/core/memory.cpp
# src/core/memory.h
# src/core/memory_setup.h
2017-10-09 23:56:20 -04:00
23ce4f5afc
loader: Various improvements for NSO/NRO loaders.
2017-10-09 21:39:32 -04:00
15c7641bef
Merge pull request #2977 from Subv/shmem_create
...
SharedMemory: Don't take over and unmap the source memory block when creating a shared memory, just reference it
2017-10-03 16:21:49 -04:00
b18589ecf7
Kernel/SharedMemory: Don't take over and unmap the source memory block when creating a shared memory, just reference it.
...
Also reference the right offset into the backing block for the requested address.
2017-10-02 15:16:16 -05:00
30fabc41c6
Merge pull request #2971 from Subv/per_process_memops
...
Memory: Add overloads for ReadBlock and WriteBlock that operate on a specific process.
2017-10-01 14:44:06 -05:00
8217ed7acb
Kernel/Thread: Added a helper function to get a thread's command buffer VAddr.
2017-10-01 14:18:35 -05:00
8c92435ded
nso: Refactor and allocate .bss section.
2017-09-30 14:33:58 -04:00
fa1c7c7ee1
process: Support loading multiple codesets.
2017-09-30 14:33:11 -04:00
c5ce5c06e4
kernel: Various threading fixes to support 64-bit addressing.
2017-09-30 14:28:54 -04:00
f01472a5ff
core: Various changes to support 64-bit addressing.
2017-09-30 14:28:54 -04:00
db752b52e8
Merge pull request #2967 from Subv/thread_wakeup_callbacks
...
Kernel/Threads: When putting a thread to wait, specify a function to execute when it is awoken
2017-09-30 09:12:18 -05:00
a13ab958cb
Fixed type conversion ambiguity
2017-09-30 09:34:35 +01:00
8432749db7
Kernel/Threads: When putting a thread to wait, specify a function to execute when it is awoken.
...
This change makes for a clearer (less confusing) path of execution in the scheduler, now the code to execute when a thread awakes is closer to the code that puts the thread to sleep (WaitSynch1, WaitSynchN). It also allows us to implement the special wake up behavior of ReplyAndReceive without hacking up WaitObject::WakeupAllWaitingThreads.
If savestates are desired in the future, we can change this implementation to one similar to the CoreTiming event system, where we first register the callback functions at startup and assign their identifiers to the Thread callback variable instead of directly assigning a lambda to the wake up callback variable.
2017-09-28 11:53:32 -05:00