bunnei
7a50d56d0e
audio: Stub out AudOutU::ListAudioOuts.
2018-01-14 21:45:06 -05:00
bunnei
f4a3d28224
hid: Implement IAppletResource::GetSharedMemoryHandle.
2018-01-14 21:45:06 -05:00
bunnei
22659afcd0
shared_memory: Minor fixes and cleanup.
2018-01-14 17:20:55 -05:00
bunnei
974362bc12
svc: Implement svcMapSharedMemory.
2018-01-14 17:20:55 -05:00
bunnei
bd58c5470c
kernel: Increase default stack size to 64K.
2018-01-14 17:20:55 -05:00
MerryMage
e86bdb1601
Fix build on macOS and linux
2018-01-13 22:38:52 +00:00
bunnei
1247c53786
yuzu: Update license text to be consistent across project.
2018-01-13 16:22:39 -05:00
James Rowe
70e65ee63a
Remove settings issues in sdl and fix a few files that broke in mingw
2018-01-12 19:11:05 -07:00
James Rowe
1d28b2e142
Remove references to PICA and rasterizers in video_core
2018-01-12 19:11:03 -07:00
bunnei
056f987bcd
core: Include <algorithm> where used.
2018-01-11 22:36:56 -05:00
bunnei
94ad97def0
nv: Fix more broken asserts.
2018-01-11 22:31:12 -05:00
bunnei
ac2feaf5fb
nvdisp_disp0: Fix broken assert.
2018-01-11 22:29:29 -05:00
bunnei
039fc7f985
core: Fix recent GCC build breaks.
2018-01-11 22:24:09 -05:00
bunnei
97ef21e166
svc: Implement GetSystemTick.
2018-01-11 21:59:31 -05:00
bunnei
305035b503
nvdisp_disp0: Call SwapBuffers to render framebuffer.
2018-01-10 23:29:03 -05:00
Subv
1ca800ccee
NV: Move the nv device nodes to their own directory and namespace.
2018-01-10 23:28:40 -05:00
Subv
977ce4abbc
VI: Use a Pulse event instead of OneShot for the vblank events.
...
This prevents missing frames if the vblank fires between the DequeueBuffer and Wait(vsync) calls
2018-01-10 23:28:36 -05:00
bunnei
7e0ff43da0
vi: Use new CoreTiming::EventType
2018-01-10 23:28:33 -05:00
Subv
34ae2ec644
NV: Expose the nvdisp_disp0 device and a weak reference to the nvdrv:a service.
...
NVFlinger will call into the nvdisp_disp0 device to perform screen flips, bypassing the ioctl interface.
We now have the address of the framebuffer to draw, we just need to actually put it on the screen.
2018-01-10 23:28:29 -05:00
Subv
e21fbd9ae5
NV: Determine what buffer to draw for each layer of each display.
...
Don't try to draw buffers that the guest application is using, only queued buffers are eligible for drawing.
Drawing actual pixels is still not implemented.
2018-01-10 23:28:25 -05:00
Subv
404149e475
NV: Signal all display's vsync event 60 times per second.
2018-01-10 23:28:22 -05:00
Subv
d205dee0a6
NV: Give each display its own vsync event.
2018-01-10 23:28:19 -05:00
Subv
927569bed8
NV: Keep track of Displays, Layers and BufferQueues in nvflinger.
2018-01-10 23:28:16 -05:00
Subv
fb73e8b723
IPC: Allow passing arguments to the Interfaces when using PushIpcInterface
2018-01-10 23:28:13 -05:00
Subv
25f29c2f4f
NV: Implemented (with stubs) the vi:m service and some of its subservices.
...
The homebrew display test application now properly writes graphics data to the graphics buffer but we still don't have a way to compose the display layers.
2018-01-10 23:28:09 -05:00
Subv
94a5e97eb3
NV: Implemented the nvdrv:a service and the /dev/nvmap device.
2018-01-10 23:28:05 -05:00
Subv
ab86b80cac
IPC: Corrected some definitions for the buffer C descriptor flags.
2018-01-10 23:28:02 -05:00
Subv
ba02f0deef
svc: Stub ResetSignal and CreateTransferMemory
2018-01-10 23:27:59 -05:00
Subv
0a1278081e
svc: Stub SetMemoryAttribute
2018-01-10 23:27:56 -05:00
Subv
7ad20154fc
Threads: Added enum values for the Switch's 4 cpu cores and implemented svcGetInfo(AllowedCpuIdBitmask)
2018-01-10 01:01:55 -05:00
Subv
188feba457
Services: Allow lm to log single-character messages.
2018-01-10 00:41:29 -05:00
Subv
c2ee513d35
SVC: Fixed WaitSynchronization with multiple handles when none is immediately ready.
2018-01-09 15:02:43 -05:00
Subv
bc91ebacc1
SVC: Implemented CancelSynchronization.
2018-01-09 15:02:04 -05:00
Subv
a418f6e77b
ErrorCodes: Updated the InvalidHandle and Timeout kernel error codes.
2018-01-09 12:05:10 -05:00
Subv
8d9250fa70
SVC: Fixed WaitSynchronization with multiple handles when at least one of them is ready.
2018-01-09 11:53:50 -05:00
bunnei
4236799832
kernel: Rename Semaphore to ConditionVariable.
2018-01-08 21:41:37 -05:00
bunnei
9fcd2bf672
mutex: Remove unused call to VerifyGuestState.
2018-01-08 21:12:56 -05:00
Subv
db3a525166
Kernel: Actually wake up the requested number of threads in Semaphore::Release.
...
Also properly keep track of data in guest memory, this fixes managing the semaphore from userland.
It was found that Semaphores are actually Condition Variables, with Release(1) and Release(-1) being equivalent to notify_one and notify_all. We should change the name of the class to reflect this.
2018-01-08 21:12:54 -05:00
Subv
1bbe9309da
Kernel: Properly keep track of mutex lock data in the guest memory. This fixes userland locking/unlocking.
2018-01-08 21:12:51 -05:00
Subv
2a3f8e8484
Kernel: Allow chaining WaitSynchronization calls inside a wakeup callback.
2018-01-08 21:12:49 -05:00
B3n30
82151d407d
CoreTiming: Reworked CoreTiming (cherry-picked from Citra #3119 )
...
* CoreTiming: New CoreTiming; Add Test for CoreTiming
2018-01-08 19:10:25 -05:00
Subv
c12c756539
IPC: Make DuplicateSession return the Domain instead of the Session if the request was made on a Domain interface.
2018-01-07 17:12:07 -05:00
Subv
e3b4c8e043
AppletOE: Fixed command buffer structure for ReceiveMessage.
2018-01-07 17:12:05 -05:00
Subv
ad965501d0
IPC: Corrected some command headers in the IPC Controller interface.
2018-01-07 17:12:03 -05:00
Subv
166286e976
IPC: Corrected some command header sizes in appletOE.
2018-01-07 17:12:01 -05:00
Subv
ba2ffd7b81
IPC: Take the number of domain objects as a parameter in MakeBuilder.
2018-01-07 17:11:58 -05:00
Subv
5f41477f9c
SM: Fixed connecting to services with an 8-byte name, like appletOE.
2018-01-07 17:11:56 -05:00
Subv
80f6df5414
IPC: Fixed pushing ResultCodes into the command buffer.
...
They should have 32 bits of padding after the error code now.
2018-01-07 17:11:54 -05:00
Subv
32847d8b86
IPC: Add functions to read the input move/copy objects from an IPC request.
2018-01-07 17:11:51 -05:00
Subv
7e3561b1cd
IPC: Don't attempt to read the command buffer if it holds a Close request.
2018-01-07 17:11:49 -05:00
Subv
0368324f79
IPC Cleanup: Remove 3DS-specific code and translate copy, move and domain objects in IPC requests.
...
Popping objects from the buffer is still not implemented.
2018-01-07 17:11:47 -05:00
Subv
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
Subv
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
bunnei
bc8ef64804
svc: Implement svcSignalProcessWideKey.
2018-01-07 16:55:17 -05:00
bunnei
4e33b4b42f
semaphore: More changes for Switch.
2018-01-07 16:52:23 -05:00
bunnei
0f6fbdb963
wait_object: Refactor to allow waking up a single thread.
2018-01-07 16:33:41 -05:00
bunnei
5017038ca7
svc: Implement svcWaitProcessWideKeyAtomic.
2018-01-06 16:14:12 -05:00
bunnei
91f10a1460
semaphore: Updates for Switch.
2018-01-06 15:55:40 -05:00
bunnei
6f6d9af408
lm: Assert on unsupported multi-message.
2018-01-06 14:41:56 -05:00
bunnei
0e978bdd50
svc: Implement WaitSynchronization for a single handle.
2018-01-06 14:34:32 -05:00
bunnei
57f42e5887
svc: Refactor LockMutex code to use WaitSynchronization1.
2018-01-06 14:19:28 -05:00
bunnei
d083c07c46
lm: Improve Log() to format a useful string.
2018-01-05 00:45:13 -05:00
bunnei
0dbc8f3577
svc: Add missing string_util include.
2018-01-04 19:45:15 -05:00
bunnei
b172f0d770
arm: Remove SkyEye/Dyncom code that is ARMv6-only.
2018-01-02 22:24:12 -05:00
bunnei
f0eab802e8
vm_manager: Use a more reasonable MAX_ADDRESS size.
2018-01-02 21:37:56 -05:00
bunnei
81a8a57ce2
svc: Remove unnecessary "svc" prefix to naming scheme.
2018-01-02 20:47:26 -05:00
bunnei
fe11b51545
pctl: Remove duplicate InstallInterfaces function.
2018-01-02 20:41:20 -05:00
bunnei
480906fe1b
hle: Move SVC code to kernel namespace.
2018-01-02 20:40:30 -05:00
bunnei
72f671fd7a
svc: Improve svcGetInfo.
2018-01-01 16:01:06 -05:00
bunnei
e9710a2cf7
vm_manager: Stub out a bunch of interfaces used by svcGetInfo.
2018-01-01 15:59:31 -05:00
bunnei
dc4fe2fbd5
svc: Fix string formatting for CreateThread.
2018-01-01 15:48:08 -05:00
bunnei
93480b10ef
core/video_core: Fix a bunch of u64 -> u32 warnings.
2018-01-01 15:40:35 -05:00
bunnei
9e8608e8b1
svc: Stub out svcWaitSynchronization.
...
- This does not matter until we implement other kernel objects, mutexes use svcLockMutex for waiting.
2018-01-01 14:47:57 -05:00
bunnei
aa7c824ea4
svc: Implement svcExitProcess.
2018-01-01 14:38:34 -05:00
bunnei
9b8afed5f7
svc: Implement svcUnlockMutex.
2018-01-01 14:04:36 -05:00
bunnei
b9950cd4b0
svc: Implement svcLockMutex.
2018-01-01 14:02:26 -05:00
bunnei
d0046b120a
kernel: Add ObjectAddressTable class.
2018-01-01 13:25:37 -05:00
bunnei
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
bunnei
45debfe4fd
svc: Implement svcExitThread.
2017-12-31 16:11:27 -05:00
bunnei
9d0c3bda7f
svc: Implement svcCreateThread.
2017-12-31 16:10:01 -05:00
bunnei
001091fa72
svc: Cleanup svcGetThreadPriority.
2017-12-31 16:06:11 -05:00
bunnei
283c63645d
svc: Stub out svcGetCurrentProcessorNumber.
2017-12-31 16:01:04 -05:00
bunnei
c7983e970c
errors: Define missing kernel error codes.
2017-12-31 15:59:00 -05:00
bunnei
8a7f8f3e2c
svc: Implement svcSetThreadPriority.
2017-12-31 15:58:16 -05:00
bunnei
960e8dc5e5
svc: Change SignalProcessWideKey to a stub.
2017-12-31 15:55:11 -05:00
bunnei
f24531b1a2
function_wrappers: Cleanup, fix warnings, remove unused code.
2017-12-31 15:46:30 -05:00
bunnei
3a91a62b8f
svc: Implement svcUnmapMemory.
2017-12-31 15:22:49 -05:00
bunnei
a3228d9b77
svc: Minor cleanups.
2017-12-30 13:40:28 -05:00
bunnei
8ab33616ac
svc: Implement svcStartThread.
2017-12-30 13:37:07 -05:00
bunnei
b6087e35b5
thread: Main thread should set thread handle to reg 1.
2017-12-30 12:10:58 -05:00
bunnei
7ccd8de863
thread: Remove THUMB mode flag.
2017-12-30 12:08:26 -05:00
bunnei
eed4f2e229
thread: Main thread should be ready by default, all others dormant.
2017-12-30 12:05:10 -05:00
bunnei
ebd4b1422d
kernel: Various 64-bit fixes in memory/process/thread
2017-12-29 13:27:58 -05:00
bunnei
1d01ffccb8
applet_oe: Stub out a bunch of interfaces necessary for boot.
2017-12-29 00:44:46 -05:00
bunnei
30e98fae3f
controller: Implement DuplicateSession.
2017-12-29 00:39:34 -05:00
bunnei
dcdaac8a0b
kernel: Fix implementation of ConvertSessionToDomain.
2017-12-29 00:36:22 -05:00
bunnei
b67cbb8d92
ap, aoc_u: Minor cleanup.
2017-12-28 23:45:44 -05:00
bunnei
fcd4c1a0dc
service: Add empty interface for pctl:a.
2017-12-28 23:44:39 -05:00
bunnei
e17c0019c5
kernel: Add basic support for Domain object.
2017-12-28 23:30:21 -05:00
bunnei
834fa5db65
kernel: Add SyncObject primitive, use it for ClientSession.
2017-12-28 23:12:28 -05:00
bunnei
6e021f22b8
svc: Implement MapMemory.
2017-12-28 21:38:38 -05:00
bunnei
3421e1617e
process: Add method to mirror a memory region.
2017-12-28 21:35:49 -05:00
bunnei
7618b5237d
svc: Implement SetHeapSize.
2017-12-28 15:29:52 -05:00
bunnei
ad073846bc
service: Clean up apm/lm/applet_oe/controller/sm ctor/dtor.
2017-12-28 15:27:30 -05:00
bunnei
16fb1c8fe7
service: Halt on ReportUnimplementedFunction and improve output log.
2017-12-28 15:24:59 -05:00
bunnei
d5995fd30f
service: Add empty interface for aoc:u.
2017-12-28 15:24:05 -05:00
bunnei
3597650f22
service: Return proper result code for IPC::CommandType::Close.
2017-10-31 19:30:05 -04:00
bunnei
34571f4d2e
hle: Use Switch formatted result codes.
2017-10-31 19:26:11 -04:00
bunnei
266c1c8020
svc: Implement GetThreadId and GetProcessId.
2017-10-23 00:15:45 -04:00
bunnei
dcd6bb82f7
hle: Fix QueryMemory response for MemoryInfo.
2017-10-19 23:00:46 -04:00
bunnei
716e5cf070
lm: Implement lm::Initialize and Logger::log.
2017-10-18 21:41:24 -04:00
bunnei
654fae29c1
hle_ipc: Only copy necessary fields for outgoing command buffer.
2017-10-18 21:39:48 -04:00
bunnei
b283cf7348
hle_ipc: Parse out buffer X/A/B/B descriptors from incoming command buffer.
2017-10-18 21:38:01 -04:00
bunnei
03bf0739a4
service: Add CreatePort function (that does not register/install).
2017-10-18 21:34:19 -04:00
bunnei
3f2a738d34
ipc_helpers: Fix alignment (was wrong as a result of a dynarmic bug).
2017-10-17 18:03:47 -04:00
bunnei
d3cc369618
service: Print correct command ID on unimplemented function.
2017-10-17 18:02:08 -04:00
bunnei
4fb1b24d68
hle: Implement ConvertSessionToDomain, various cleanups.
2017-10-15 01:24:22 -04:00
bunnei
72eeca1f03
hle: Add service stubs for apm and appletOE.
2017-10-14 22:50:04 -04:00
bunnei
960a1416de
hle: Initial implementation of NX service framework and IPC.
2017-10-14 22:18:42 -04:00
bunnei
78bc2b70bb
svc: Some logging cleanup.
2017-10-14 17:35:21 -04:00
bunnei
e98a3ca171
svc: Update MemoryInfo flags for 64-bit.
2017-10-14 17:31:25 -04:00
bunnei
cb889f9220
svc: Initial nx impl. for QueryMemory, ConnectToPort, SendSyncRequest, etc.
2017-10-14 17:30:07 -04:00
bunnei
d62750c46d
Remove more 3DS-specific code.
2017-10-13 17:56:42 -04:00
bunnei
15983dcfdc
Remove more 3DS-specific code.
2017-10-12 21:45:06 -04:00
bunnei
dbd15b0d10
Remove more 3DS-specific code.
2017-10-12 21:29:53 -04:00
bunnei
72b03025ac
Remove lots more 3DS-specific code.
2017-10-12 21:21:49 -04:00
bunnei
0906de9a14
hle: Remove a large amount of 3ds-specific service code.
2017-10-10 17:32:14 -04:00
bunnei
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
bunnei
23ce4f5afc
loader: Various improvements for NSO/NRO loaders.
2017-10-09 21:39:32 -04:00
Dragios
83e5f639e6
Change command header in nwm::UDS Initialize function
2017-10-09 09:10:48 +08:00
Sebastian Valle
20e19a340c
Merge pull request #2991 from Subv/getpointer
...
Remove more usages of GetPointer.
2017-10-08 10:11:12 -05:00
Sebastian Valle
84c344b9b1
Merge pull request #2953 from Subv/applet_launch
...
HLE/APT: Always set up the APT parameter when starting a library applet.
2017-10-04 15:01:58 -05:00
Subv
97f262c1f5
SVC: Removed GetPointer usage in the GetResourceLimit functions.
2017-10-04 14:04:27 -05:00
Subv
46fc7595b4
SVC: Remove GetPointer usage in CreatePort.
2017-10-04 14:04:03 -05:00
Subv
7b09b30ef1
SVC: Replace GetPointer usage with ReadCString in ConnectToPort.
2017-10-04 14:03:59 -05:00
Subv
3c0113632d
SVC: Replace GetPointer usage with ReadBlock in OutputDebugString.
2017-10-04 12:30:33 -05:00
Subv
0cfb231e00
SVC: Replace GetPointer usage with Read32 in ReplyAndReceive.
2017-10-04 12:30:33 -05:00
Subv
b863d6c860
SVC: Replace GetPointer usage with Read32 in WaitSynchronizationN.
2017-10-04 12:30:32 -05:00
bunnei
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
Subv
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
Sebastian Valle
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
Subv
8217ed7acb
Kernel/Thread: Added a helper function to get a thread's command buffer VAddr.
2017-10-01 14:18:35 -05:00
Sebastian Valle
9c123c29a6
Merge pull request #2974 from Subv/nim_event
...
Services/NIM: Implement CheckForSysUpdateEvent.
2017-10-01 14:16:14 -05:00
bunnei
8c92435ded
nso: Refactor and allocate .bss section.
2017-09-30 14:33:58 -04:00
bunnei
fa1c7c7ee1
process: Support loading multiple codesets.
2017-09-30 14:33:11 -04:00
bunnei
c5ce5c06e4
kernel: Various threading fixes to support 64-bit addressing.
2017-09-30 14:28:54 -04:00
bunnei
f01472a5ff
core: Various changes to support 64-bit addressing.
2017-09-30 14:28:54 -04:00
bunnei
3411883fe3
arm: Use 64-bit addressing in a bunch of places.
2017-09-30 14:28:53 -04:00
Subv
5bae5a48b9
Services/NIM: Implement CheckForSysUpdateEvent.
...
Implementation verified by reverse engineering.
This lets the Home Menu boot without crashing on startup.
2017-09-30 13:21:45 -05:00
Huw Pascoe
529f4a0131
Moved down_count to CoreTiming
2017-09-30 17:38:14 +01:00
B3n30
afb1012bcd
Services/UDS: Handle the rest of the connection sequence. ( #2963 )
...
Services/UDS: Handle the rest of the connection sequence.
2017-09-30 18:18:45 +02:00
Sebastian Valle
7056b9c46a
Merge pull request #2946 from Subv/home_menu_apt
...
Implement PrepareToStartNewestHomeMenu and fixed an APT regression.
2017-09-30 10:47:42 -05:00
Sebastian Valle
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
Huw Pascoe
a13ab958cb
Fixed type conversion ambiguity
2017-09-30 09:34:35 +01:00
Subv
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
Subv
3165466b66
Kernel/Thread: Allow specifying which process a thread belongs to when creating it.
...
Don't automatically assume that Thread::Create will only be called when the parent process is currently scheduled. This assumption will be broken when applets or system modules are loaded.
2017-09-26 17:40:49 -05:00
Subv
e27ae04696
HLE/APT: Always set up the APT parameter when starting a library applet.
...
Only use the HLE interface if an HLE applet with the desired id was started.
This commit reorganizes the APT code surrounding parameter creation and delivery to make it easier to support LLE applets in the future.
As future work, the HLE applet interface can be reworked to utilize the same facilities as the LLE interface.
2017-09-25 23:47:50 -05:00
Subv
774e7deae8
HLE/Archives: Allow multiple loaded applications to access their SelfNCCH archive independently.
...
The loaders now register each loaded ROM with the SelfNCCH factory, which keeps the data around for the duration of the emulation session.
When opening the SelfNCCH archive, the factory queries the current program's programid and uses that as a key to the map that contains the NCCHData structure (RomFS, Icon, Banner, etc).
3dsx files do not have a programid and will use a default of 0 for this value, thus, only 1 3dsx file with RomFS is loadable at the same time.
2017-09-25 09:45:02 -05:00
B3n30
d881dee818
Merge pull request #2952 from MerryMage/page-tables
...
Switchable Page Tables
2017-09-25 08:29:32 +02:00
B3n30
a21b9deb98
Merge pull request #2948 from Subv/register_service
...
HLE/SRV: Implemented RegisterService.
2017-09-25 08:22:05 +02:00
B3n30
d673d508dd
Services/UDS: Added a function to send EAPoL-Start packets ( #2920 )
...
* Services/UDS: Added a function to generate the EAPoL-Start packet body.
* Services/UDS: Added filter for beacons.
* Services/UDS: Lock a mutex when accessing connection_status from both the emulation and network thread.
* Services/UDS: Handle the Association Response frame and respond with the EAPoL-Start frame.
* fixup: make use of current_node, changed received_beacons into a list, mutex and assert corrections
* fixup: fix damn clang-format
2017-09-25 08:16:27 +02:00
MerryMage
c02bbb7030
memory: Add GetCurrentPageTable/SetCurrentPageTable
...
Don't expose Memory::current_page_table as a global.
2017-09-24 22:42:42 +01:00
Subv
7096f01c14
HLE/APT: Always return an error from PrepareToStartNewestHomeMenu so that the Home Menu doesn't try to reboot the system.
...
As per 3dbrew:
"During Home Menu start-up it uses APT:PrepareToStartNewestHomeMenu. If that doesn't return an error(normally NS returns 0xC8A0CFFC for that), Home Menu starts a hardware reboot with APT:StartNewestHomeMenu etc. "
2017-09-24 08:59:31 -05:00
Subv
b57d58c0dc
HLE/APT: Prepare the APT Wakeup parameter when the game calls Initialize
...
We need to know what is being run so we can set the APT parameter destination AppId correctly.
Delaying the preparation of the parameter until we know which AppId is running lets us support booting both the Home Menu and normal game Applications.
2017-09-24 08:59:30 -05:00
Subv
0b33e36292
HLE/SRV: Implemented RegisterService.
...
Now system modules can do more than just crash immediately on startup.
2017-09-24 00:12:58 -05:00
Yuri Kunde Schlesner
255fd8768d
Merge pull request #2906 from Subv/ns_new_framework
...
Services/NS: Port ns:s to the new service framework.
2017-09-16 21:13:51 +02:00
Subv
3d86e3afc4
Services/NS: Port ns:s to the new service framework.
2017-09-16 10:52:45 -05:00
B3n30
813837c5cf
Merge pull request #2842 from Subv/switchable_page_table
...
Kernel/Memory: Give each process its own page table and allow switching the current page table upon reschedule
2017-09-15 22:41:45 +02:00
Subv
b178089251
Kernel/Threads: Don't clear the CPU instruction cache when performing a context switch from an idle thread into a thread in the same process.
...
We were unnecessarily clearing the cache when going from Process A -> Idle -> Process A, this caused extreme performance regressions.
2017-09-15 14:26:15 -05:00
Subv
214150f00c
Kernel/Memory: Changed GetPhysicalPointer so that it doesn't go through the current process' page table to obtain a pointer.
2017-09-15 14:26:13 -05:00
bunnei
588077184b
Merge pull request #2915 from wwylele/font-archive-2
...
APT: load different shared font depending on the region
2017-09-11 21:39:56 -04:00
Subv
c34ec5e77c
Kernel/Memory: Switch the current page table when a new process is scheduled.
2017-09-10 15:14:31 -05:00
Subv
6d2734a074
Kernel/Memory: Give each Process its own page table.
...
The loader is in charge of setting the newly created process's page table as the main one during the loading process.
2017-09-10 15:13:41 -05:00
Weiyi Wang
617b6974b9
Merge pull request #2831 from Subv/uds_auth
...
Services/UDS: Handle beacon frames and the basic AP connection sequence frames.
2017-09-05 15:03:56 +03:00
mailwl
11f2eff17d
Remove _flag in var names
2017-09-04 12:15:15 +03:00
mailwl
589babbf74
Mii Selector Applet: update Mii structures
2017-09-04 12:04:12 +03:00
wwylele
59a9aaf388
APT: load different shared font depending on the region
2017-09-03 12:34:11 +03:00
bunnei
75cd28a7cc
Merge pull request #2899 from wwylele/touch-refactor
...
Refactor touch input into a TouchDevice
2017-08-29 11:29:10 -04:00
danzel
8266064796
Use recursive_mutex instead of mutex to fix #2902
2017-08-29 20:39:55 +12:00
Subv
f64cd87604
Services/UDS: Remove an old duplicated declaration of WifiPacket.
2017-08-27 10:48:15 -05:00
Subv
d088dbfbe1
Services/UDS: Handle the connection sequence packets.
...
There is currently no stage tracking, a client is considered "Connected" when it receives the EAPoL Logoff packet from the server, this is not yet implemented.
2017-08-27 10:48:13 -05:00
Subv
2e9f544ecc
Services/UDS: Store the received beacon frames until RecvBeaconBroadcastData is called, up to 15 beacons at the same time, removing any older beacon frames when the limit is exceeded.
2017-08-27 10:48:11 -05:00
Subv
54411bef4e
Services/UDS: Add functions to generate 802.11 auth and assoc response frames.
2017-08-27 10:48:09 -05:00
wwylele
c84e60b470
HID: use TouchDevice for touch pad
2017-08-24 13:56:43 +03:00
James Rowe
61442d6afb
Merge pull request #2839 from Subv/global_kernel_lock
...
Kernel/HLE: Use a mutex to synchronize access to the HLE kernel state between the cpu thread and any other possible threads that might touch the kernel (network thread, etc).
2017-08-23 18:17:44 -06:00
bunnei
2bbff9fa96
Merge pull request #2893 from Subv/not_schedule_main_thread
...
Kernel/Threads: Don't immediately switch to the new main thread when loading a new process.
2017-08-22 17:45:47 -04:00
Subv
bca8916cea
Kernel/HLE: Use a mutex to synchronize access to the HLE kernel state between the cpu thread and any other possible threads that might touch the kernel (network thread, etc).
...
This mutex is acquired in SVC::CallSVC, ie, as soon as the guest application enters the HLE kernel, and should be acquired by the aforementioned threads before modifying kernel structures.
2017-08-22 09:30:55 -05:00
Subv
fa228ca637
Kernel/Threads: Don't immediately switch to the new main thread when loading a new process.
...
This is necessary for loading multiple processes at the same time.
The main thread will be automatically scheduled when necessary once the scheduler runs.
2017-08-21 20:54:29 -05:00
Subv
65f19b51c4
Warnings: Add UNREACHABLE macros to switches that contemplate all possible values.
2017-08-21 08:34:28 -05:00
Subv
145a7293a3
HLE/Applets: Fixed some conversion warnings when creating the framebuffer shared memory objects.
2017-08-21 08:34:27 -05:00
James Rowe
bbfa9d0635
Merge pull request #2861 from wwylele/motion-refactor
...
Refactor MotionEmu into a InputDevice
2017-08-19 23:43:01 -06:00
wwylele
54c0c8adee
HID: fix a comment and a warning
2017-08-20 08:37:48 +03:00
Yuri Kunde Schlesner
21204ba488
Merge pull request #2881 from MerryMage/dsp-firm-check
...
dsp_dsp: Remove size assertion in LoadComponent
2017-08-15 20:14:41 -07:00
MerryMage
b67c2dc82c
dsp_dsp: Remove size assertion in LoadComponent
2017-08-15 10:16:50 +01:00
Sebastian Valle
d59f503729
Merge pull request #2843 from Subv/applet_slots
...
Services/APT: Use an array to hold data about the 4 possible concurrent applet types (Application, Library, HomeMenu, System)
2017-08-12 10:27:57 -05:00
wwylele
867eabd6b7
HID: use MotionDevice for Accelerometer and Gyroscope
2017-08-11 11:03:18 +03:00
Weiyi Wang
aaf5161344
Merge pull request #2863 from wwylele/pad-state-zero
...
HID: zero unused PadState bits
2017-08-10 17:50:18 +03:00
wwylele
599de29ea3
HID: zero unused PadState bits
2017-08-10 17:01:03 +03:00
bunnei
c2466a2f19
Merge pull request #2862 from j-selby/update-cryptopp
...
Update CryptoPP (byte ambiguity)
2017-08-09 16:18:43 -04:00
mailwl
a6273dd56a
Service/dlp: Update function tables according 3dbrew
2017-08-09 16:14:07 +03:00
James
1a44949ef7
Update cryptopp
2017-08-08 17:50:09 +10:00
Subv
177e8ce655
Services/APT: Use the AppletAttributes union directly when dealing with applet attrs.
2017-08-07 16:09:55 -05:00
Subv
73fba0de46
Services/APT: Use an array to hold data about the 4 possible concurrent applet types (Application, Library, HomeMenu, System).
...
This gives each applet type its own set of events as per the real NS module.
2017-08-07 14:53:58 -05:00
bunnei
5c631ec9c5
telemetry: Add field for RequiresSharedFont.
2017-08-03 20:10:37 -04:00
bunnei
f15e5522dc
Merge pull request #2840 from Subv/apt_parameter
...
Services/APT: Corrected the behavior of the Receive/Send/Glance/CancelParameter functions
2017-07-27 11:14:27 -04:00
Weiyi Wang
045d0b5bbd
Merge pull request #2799 from yuriks/virtual-cached-range-flush
...
Add address conversion functions returning optional, Add function to flush virtual region from rasterizer cache
2017-07-22 10:15:52 +03:00
Subv
e59ab7c1d6
Service/APT: Log Send/Cancel/Receive/GlanceParameter calls even if they return an error.
2017-07-21 15:03:06 -05:00
Subv
68596a7068
Services/APT: Return the proper error code when calling SendParameter with an outstanding parameter already in memory.
2017-07-21 14:59:26 -05:00
Subv
a9bc417f59
Services/APT: Reset the APT parameter inside CancelParameter if the conditions are met.
2017-07-21 14:59:25 -05:00
Subv
e403638d9b
Services/APT: Properly clear the apt parameter after a successful ReceiveParameter call.
2017-07-21 14:59:22 -05:00
Subv
2dc720c355
Services/APT: Use the right error codes in ReceiveParameter and GlanceParameter when the parameter doesn't exist.
2017-07-21 14:59:21 -05:00
Subv
5682608df7
Services/APT: Use boost::optional for the APT parameter structure.
2017-07-21 14:59:20 -05:00
B3n30
7dbbd8a02e
stubbed frd::UnscrambleLocalFriendCode ( #2827 )
2017-07-16 21:32:08 -05:00
Weiyi Wang
e634b75754
Merge pull request #2784 from wwylele/font-archive
...
load shared font from system archive
2017-07-16 20:12:55 +03:00
mailwl
8582194a4c
Service/boss:P: Add some functions to FunctionTable
2017-07-01 12:21:38 +03:00
Sebastian Valle
56d718b2a1
Merge pull request #2793 from Subv/replyandreceive
...
Kernel/SVC: Partially implemented svcReplyAndReceive
2017-06-29 17:05:22 -05:00
Subv
b53fa9514f
Kernel/SVC: Pass the current thread as a parameter to ClientSession::SendSyncRequest.
2017-06-29 12:30:34 -05:00
Sebastian Valle
fa53ccc74b
Merge pull request #2778 from Subv/uds_more
...
Services/UDS: Stub SendTo to generate the unencrypted data frames with the right headers
2017-06-26 19:35:52 -05:00
Subv
2eb174713b
UDS: Use the ToDS and FromDS fields to properly calculate the AAD used during encryption.
2017-06-26 12:24:14 -05:00
Subv
1f1739d366
UDS: Move the UDS keyslot used to generate the CCMP key to the AES::KeySlotID enum.
2017-06-26 12:24:13 -05:00
Subv
87168bfe8b
UDS: Run clang-format.
2017-06-26 12:24:11 -05:00
Subv
9befb8c887
UDS: Added functions to encrypt and decrypt the data frames.
...
The responsibility of encryption and encapsulation into an 802.11 MAC frame will fall into the callers of GenerateDataPayload.
2017-06-26 12:24:09 -05:00
Subv
c3c9175a1c
Kernel/Sessions: Clean up the list of pending request threads of a session when the client endpoint is closed.
2017-06-25 23:38:29 -05:00
Subv
88c93a7436
Kernel/SVC: Partially implemented svcReplyAndReceive.
...
It behaves mostly as WaitSynchronizationN with wait_all = false, except for IPC buffer translation.
The target thread of an IPC response will now wake up when responding.
IPC buffer translation is currently not implemented.
Error passing back to svcSendSyncRequest is currently not implemented.
2017-06-25 23:38:28 -05:00
wwylele
9549eed0be
apt: load shared font from system archive
2017-06-26 01:38:12 +03:00
wwylele
22994607cc
apt/shared_font: don't relocate zero offset
2017-06-26 00:43:23 +03:00
Subv
8feeb81af2
Kernel/ServerSession: Keep track of which threads have issued sync requests.
2017-06-25 14:47:25 -05:00
Yuri Kunde Schlesner
e192d417ec
Kernel: Implement AcceptSession SVC
2017-06-23 11:26:37 -07:00
Yuri Kunde Schlesner
8c6a8edaca
Kernel: Fix SVC wrapper for CreatePort
...
The return parameters were flipped.
2017-06-23 11:22:04 -07:00
Yuri Kunde Schlesner
aa0f3047d3
Kernel: Implement CreateSessionToPort SVC
2017-06-23 11:22:02 -07:00
Yuri Kunde Schlesner
6d436d7a52
Merge pull request #2798 from yuriks/svc-create-session
...
Kernel: Implement CreateSession SVC
2017-06-23 11:18:49 -07:00
Yuri Kunde Schlesner
f94093d0fd
Kernel: Implement CreateSession SVC
2017-06-22 00:39:27 -07:00
Yuri Kunde Schlesner
d553135748
Memory: Add function to flush a virtual range from the rasterizer cache
...
This is slightly more ergonomic to use, correctly handles virtual
regions which are disjoint in physical addressing space, and checks only
regions which can be cached by the rasterizer.
2017-06-21 22:57:12 -07:00
Yuri Kunde Schlesner
326e7c7020
Memory: Make PhysicalToVirtualAddress return a boost::optional
...
And fix a few places in the code to take advantage of that.
2017-06-21 22:55:17 -07:00
Yuri Kunde Schlesner
f64d0b3f26
Kernel/IPC: Support translation of null handles
...
Missed this in my first implementation. Thanks to @wwylele for pointing
out that this was missing.
2017-06-21 14:27:03 -07:00
Weiyi Wang
c4f0927a62
Merge pull request #2789 from yuriks/misc-kernel
...
Trivial no-op additions
2017-06-21 20:34:12 +03:00
Yuri Kunde Schlesner
b21dfbb295
Merge pull request #2790 from yuriks/remove-movefrom
...
Remove ResultVal::MoveFrom
2017-06-20 22:04:09 -07:00
Sebastian Valle
96dcccc80c
Merge pull request #2779 from Subv/uds_more2
...
UDS: Added a hook for updating the connection status when a client connects to the network.
2017-06-21 02:29:00 +00:00
Yuri Kunde Schlesner
723dc644fa
ResultVal: Remove MoveFrom()
...
Replace it with std::move(result_val).Unwrap(), or Foo().Unwrap() in
case you already have an rvalue.
2017-06-18 19:03:15 -07:00
Yuri Kunde Schlesner
4cb47b0278
ResultVal: Add an rvalue overload of Unwrap()
2017-06-18 18:49:46 -07:00
Yuri Kunde Schlesner
90b8d4dd36
Kernel: Add comment about the extended linear heap area
2017-06-18 18:38:40 -07:00
Yuri Kunde Schlesner
0dfafdbe59
Kernel/IPC: Make HLERequestContext usable from outside kernel
2017-06-18 16:05:12 -07:00
Subv
812b404492
UDS: Clarify comment about the first 4 bytes of the SecureData header.
...
It is likely that these 4 bytes are actually a different header, part of some protocol that encapsulates the SecureData protocol.
2017-06-15 12:08:55 -05:00
Subv
61ce89a55a
UDS: Return the correct error messages in SendTo when not connected to a network or trying to send to itself.
2017-06-15 12:08:54 -05:00
Subv
7efb64132d
UDS: Stub SendTo to generate the unencrypted data frame with the right headers.
2017-06-15 12:08:53 -05:00
Subv
38ceab13f6
UDS: Added a hook for updating the connection status when a client connects to the network.
2017-06-15 11:57:49 -05:00
Sebastian Valle
ac168eeb5d
Services/UDS: Set the proper bit in the ConnectionStatus structure when creating a network. ( #2738 )
...
* Services/UDS: Set the proper bit in the ConnectionStatus structure when creating a network.
This lets the application know that the host was successfully added to the session.
* Services/UDS: Reset the connection status when destroying the network
* Services/UDS: Reset the connection status's bitmask of changed nodes after reporting it to the game.
2017-06-13 22:00:58 +03:00
Yuri Kunde Schlesner
d8f6000f54
Kernel/IPC: Use boost::small_vector for HLE context objects
2017-06-11 16:34:13 -07:00
Yuri Kunde Schlesner
92ca422088
Kernel: Allow clearing request_objects to re-use buffer space
...
Reduces the necessary allocation to max(in_handles, out_handles) rather
than (in_handles + out_handles).
2017-06-11 13:10:21 -07:00
Yuri Kunde Schlesner
8cb65fe65a
Kernel: Basic support for IPC translation for HLE services
2017-06-11 13:10:21 -07:00
Yuri Kunde Schlesner
7656d83df5
Service/sm: Convert srv: to use IPC helpers
2017-06-11 13:10:21 -07:00
Yuri Kunde Schlesner
21436f5ef7
IPC: Add Pop/PushObjects methods to RequestParser/Builder
...
These use the context functions to create and look-up handles for the
user.
2017-06-11 13:10:20 -07:00
Yuri Kunde Schlesner
1c4b0ebb1f
IPC: Add basic HLERequestContext support to RequestParser/Builder
2017-06-11 13:10:16 -07:00
Yuri Kunde Schlesner
05fee70211
Kernel: Add methods in HLERequestContext abstracting handle creation
2017-06-11 13:07:33 -07:00
Yuri Kunde Schlesner
20e5abb308
ServiceFramework: Use separate copy of command buffer
...
Copy the IPC command buffer to/from the request context before/after the
handler is invoked. This is part of a move away from using global data
for handling IPC requests.
2017-06-11 13:07:33 -07:00
Yuri Kunde Schlesner
78398d0978
Merge pull request #2756 from yuriks/service-framework
...
New service framework
2017-06-08 21:03:03 -07:00
Yuri Kunde Schlesner
6f368abe13
Service/sm: Convert 'srv:' to ServiceFramework
2017-06-08 20:59:19 -07:00
Yuri Kunde Schlesner
838faf147e
Session: Remove/add some forward declarations
2017-06-08 00:33:57 -07:00
Yuri Kunde Schlesner
d666e01cdf
Kernel: Ensure objects are kept alive during ClientSession disconnection
...
Fixes #2760
2017-06-08 00:33:24 -07:00
Yuri Kunde Schlesner
c92a8a6154
Service: Remove a few redundant namespace qualifiers
2017-06-08 00:11:37 -07:00
Yuri Kunde Schlesner
84c497292a
Service: Add new ServiceFramework framework for writing HLE services
...
The old "Interface" class had a few problems such as using free
functions (Which didn't allow you to write the service handler as if it
were a regular class.) which weren't very extensible. (Only received one
parameter with a pointer to the Interface object.)
The new ServiceFramework aims to solve these problems by working with
member functions and passing a generic context struct as parameter. This
struct can be extended in the future without having to update all
existing service implementations.
2017-06-08 00:11:37 -07:00
James Rowe
8c22334f96
Merge pull request #2737 from Subv/decryptbeacondata
...
Services/UDS: Implement DecryptBeaconData.
2017-06-07 10:08:43 -06:00
Yuri Kunde Schlesner
6dc133c24a
Kernel: Remove some unnecessary namespace qualifications
2017-06-06 14:51:42 -07:00
Subv
d7d0b46fc1
Services/UDS: Implement DecryptBeaconData.
...
This function decrypts the encrypted data tags contained in the 802.11 beacon frames.
2017-06-06 11:31:20 -05:00
Yuri Kunde Schlesner
d96a9e0c11
Service: Remove unnecessary includes from service.h
...
This has a huge fallout in terms of needing to fix other files because
all service implementations included that file.
2017-06-06 02:57:23 -07:00
Yuri Kunde Schlesner
23ec6b3d8f
Service: Make service registration part of the sm implementation
...
Also enhances the GetServiceHandle implementation to be more accurate.
2017-06-06 02:57:04 -07:00
Yuri Kunde Schlesner
e5a59ef27c
Service/sm: Use an actual semaphore for the notification semaphore
...
An Event was used way back then when we didn't have proper working
semaphores. Our Semaphore implementation is good enough now.
2017-06-06 02:57:04 -07:00
Yuri Kunde Schlesner
1eee09f364
Service: Move SRV interface to a new sm/ subdirectory
...
This will contain the implementation of the sm (Service Manager) system
module.
2017-06-06 02:57:04 -07:00
Yuri Kunde Schlesner
6354d08359
Kernel: Add a dedicated SetHleHandler method to ServerPort/ServerSession
...
This allows attaching a HLE handle to a ServerPort at any point after it
is created, allowing port/session creation to be generic between HLE and
regular services.
2017-06-06 02:56:32 -07:00
Yuri Kunde Schlesner
7e5dd46cf4
ResultVal: Add more convenience utils for creating and cascading results
2017-06-06 00:51:57 -07:00
Yuri Kunde Schlesner
e626a520ca
HLE: Move SessionRequestHandler from Service:: to Kernel::
...
Most of the code that works with this is or will be in the kernel, so
it's a more appropriate place for it to be.
2017-06-05 23:40:11 -07:00
TheKoopaKingdom
f008b22e3b
Addressed Bunnei's review comments, and made some other tweaks:
...
- Deleted GetStatus() because it wasn't used anywhere outside of Core::System.
- Fixed design flaw where the message bar status could be set despite the game being stopped.
2017-06-02 18:40:39 -04:00
TheKoopaKingdom
59de38b965
Switched to the ERROR_NOT_FOUND constant from errors.h.
2017-06-02 18:40:39 -04:00
TheKoopaKingdom
cea19fd659
Moved whitelist checks from FS_User to the Archive_NCCH handler.
2017-06-02 18:40:27 -04:00
TheKoopaKingdom
a8aef599e0
Created a whitelist of system archives to prevent false positives creating dialogs.
2017-06-02 18:28:14 -04:00
TheKoopaKingdom
37bec598ea
Made some changes from review comments:
...
- Made LoadKernelSystemMode return a pair consisting of a system mode and a result code (Could use review).
- Deleted ErrorOpenGL error code in favor of just having ErrorVideoCore.
- Made dialog messages more clear.
- Compared archive ID in fs_user.cpp to ArchiveIdCode::NCCH as opposed to hex magic.
- Cleaned up some other stuff.
2017-06-02 18:28:14 -04:00
TheKoopaKingdom
1ecb322daa
Added system for handling core errors in citra-qt.
2017-06-02 18:27:56 -04:00
bunnei
4857eb441b
Merge pull request #2722 from wwylele/cam-ipc-helper
...
CAM: use IPCHelper
2017-05-31 19:47:37 -04:00
Yuri Kunde Schlesner
be031989ee
Kernel: Move HandleTable to a separate file
2017-05-29 17:34:39 -07:00
Yuri Kunde Schlesner
64ecf81a3c
Kernel: Move WaitObject to a separate file
...
Now that HandleTable doesn't directly depend on WaitObject anymore, this
can be separated from the main kernel.h header.
2017-05-29 16:16:46 -07:00
Yuri Kunde Schlesner
9453223075
Kernel: Removed HandleTable::GetWaitObject
...
This isn't necessary anymore since plain Get works correctly for
WaitObjects.
2017-05-29 15:10:06 -07:00
Yuri Kunde Schlesner
b17754f998
Kernel: Extract dynamic Object pointer cast into its own function
2017-05-29 14:42:27 -07:00
Yuri Kunde Schlesner
e91f2b7663
Remove some unnecessary inclusions of video_core.h
2017-05-27 18:41:24 -07:00
Yuri Kunde Schlesner
ae095cfb71
Core: Fix some out-of-style includes
2017-05-27 16:31:42 -07:00
wwylele
857510a7c0
fixup!cam: use IPCHelper
2017-05-27 21:30:07 +03:00
Yuri Kunde Schlesner
a5810d61da
FS: Remove unused result definition
2017-05-24 21:06:00 -07:00
Yuri Kunde Schlesner
2cdb40d709
Kernel: Centralize error definitions in errors.h
2017-05-24 21:06:00 -07:00
Yuri Kunde Schlesner
743d18f0e4
GSP_GPU: Move error codes from result.h to local file
2017-05-24 21:06:00 -07:00
Yuri Kunde Schlesner
92be29adba
FileSys: Move all result description to errors.h
2017-05-24 21:06:00 -07:00
Yuri Kunde Schlesner
3b1f0fea31
result: Make error description a generic integer
...
It is now known that result code description vary depending on the
module, and so they're best defined on a per-module basis. To support
this, allow passing in an arbitrary integer instead of limiting to the
ones in the ErrorDescription enum. These will be gradually migrated to
their individual users, but a few will be kept as "common" codes shared
by all modules.
2017-05-24 21:05:59 -07:00
Yuri Kunde Schlesner
a75145a2c6
Make BitField and ResultCode constexpr-initializable
2017-05-24 21:05:59 -07:00
wwylele
8cd9522526
cam: move u32->u8 trancation to IPCHelper
2017-05-24 12:50:19 +03:00
wwylele
924292f2cc
cam: use IPCHelper
2017-05-24 12:45:36 +03:00
Yuri Kunde Schlesner
cc566dadd8
Merge pull request #2406 from Subv/session_disconnect
...
Kernel: Properly update port counters on session disconnection.
2017-05-21 17:18:16 -07:00
Subv
37347bfa38
Kernel/Sessions: Remove the ClientSession::Create function.
...
It is not meant to be used by anything other than CreateSessionPair.
2017-05-21 18:52:42 -05:00
bunnei
152a012373
Merge pull request #2661 from Subv/uds5
...
Services/UDS: Generate 802.11 beacon frames when a network is open.
2017-05-19 11:04:34 -04:00
emmaus
b2e82d16c8
use IPCHelper for PTM services
2017-05-19 08:44:58 +00:00
Subv
f2d5d8cfac
Services/UDS: Use the new IPC helper functions.
2017-05-15 13:05:17 -05:00
Subv
846cc6cee3
Services/UDS: Implement RecvBeaconBroadcastData.
...
This allows the applications to retrieve 802.11 beacon frames from nearby UDS networks.
Note that the networks are still not announced anywhere.
2017-05-15 13:05:16 -05:00
Subv
528dea988c
Services/UDS: Generate the UDS beacons when the beacon callback fires.
2017-05-15 13:05:15 -05:00
Subv
ce5bc477ca
Kernel: Remove a now unused enum and variable regarding a session's status.
2017-05-15 11:22:16 -05:00
Subv
ddfabf3133
Kernel: Use a Session object to keep track of the status of a Client/Server session pair.
...
Reduce the associated port's connection count when a ServerSession is destroyed.
2017-05-15 11:22:15 -05:00
Yuri Kunde Schlesner
180587bb8b
Merge pull request #2687 from yuriks/address-mappings
...
Kernel: Map special regions according to ExHeader
2017-05-14 13:52:40 -07:00
bunnei
15b26249cc
Merge pull request #2676 from wwylele/irrst
...
ir: implement new 3ds HID via ir:rst
2017-05-10 09:56:27 -04:00
Yuri Kunde Schlesner
f18d454eb6
Kernel: Map special regions according to ExHeader
...
This replaces the hardcoded VRAM/DSP mappings with ones made based on
the ExHeader ARM11 Kernel caps list. While this has no visible effect
for most applications (since they use a standard set of mappings) it
does improve support for system modules and n3DS exclusives.
2017-05-09 21:44:00 -07:00
Yuri Kunde Schlesner
b4a93cfdde
DSP: Create backing memory for entire DSP RAM
...
Also move address space mapping out of video_core.
2017-05-09 21:44:00 -07:00
Yuri Kunde Schlesner
6577bbc3c5
Remove ability to load symbol maps
...
This was now mostly unused except by thread creation, which used a
symbol of the entrypoint, if available, to name the thread.
2017-05-07 15:33:07 -07:00
wwylele
f9fdaafa04
fixup!ir: implement new 3ds HID via ir:rst
2017-05-07 21:53:27 +03:00
B3n30
8bee016145
Create a random console_unique_id ( #2668 )
...
* Create a random console_id when config save_file is created
Added button in system config to refresh the console unique id
* Moved the connect for the button from .ui file to constructor of ConfigureSystem
* Added warning and info dialog
Fixup: Make use of qt5 style connects,
renamed the refresh button,
removed some duplicate code,
changed random device and moved all to the generate function
* Changed the random generator to reflect what a real 3DS stores as console unique id
Fixup: Changed the warning message
* Fixup: Set and Create
* Fixup: Added console id label, therfore removed second message box
* Fixup: fixed the endianess
* Fixup: more endianness fixes
* Fixup: Endianness the 3rd
2017-05-05 20:55:51 -04:00
wwylele
85116643b2
ir: implement new 3ds HID via ir:rst
2017-05-04 12:59:28 +03:00
bunnei
de1b6cc695
Merge pull request #2606 from wwylele/ir
...
ir: implement circle pad pro
2017-05-03 22:34:12 -04:00
wwylele
12bcf64ab5
ir: implement circle pad pro
2017-05-03 09:44:00 +03:00
Yuri Kunde Schlesner
941a3dda8a
Merge pull request #2532 from wwylele/ldrro-ipc
...
ldr_ro: use IPC helper
2017-04-18 00:32:01 -07:00
wwylele
11ea159aa4
ldr_ro: use IPC helper
2017-04-17 10:11:18 +03:00
bunnei
6a72bd62b5
Merge pull request #2659 from MerryMage/dsp_dsp-correction
...
dsp_dsp: Messages are modified by service before being sent to DSP
2017-04-13 10:43:13 -04:00
MerryMage
172a362884
dsp_dsp: Messages are modified by service before being sent to DSP
2017-04-12 21:33:07 +01:00
Sebastian Valle
26745f28ea
Merge pull request #2628 from Subv/uds
...
Services/UDS: Initial support for hosting local-wlan networks.
2017-04-12 11:57:24 -05:00
bunnei
26979cd6ef
Merge pull request #2533 from Lectem/apt_ipchelper
...
IpcHelper enhancement and APT refactor
2017-04-06 14:44:52 -04:00
bunnei
37b7df9c59
Merge pull request #2634 from wwylele/battery
...
shared_page: stub battery state
2017-04-06 14:43:29 -04:00
noah the goodra
7ca9dedfd6
error conversion fixes for soc_u
2017-04-03 10:19:42 -05:00
Michael Theall
31f9c1ab5d
Fix OutputDebugString syscall
2017-04-01 04:09:39 -05:00
Sebastian Valle
5c4bd3ef33
Services/UDS: Fixed a style mistake in GetChannel.
2017-03-27 13:08:26 -05:00
Subv
f8f3b27eb3
Services/UDS: Use consistent spelling for WiFi and simplify the GetChannel function.
2017-03-26 08:17:57 -05:00
Subv
0ae6d8be5b
Services/UDS: Signal the connection event when closing down the network.
2017-03-26 08:17:56 -05:00
Subv
d7d5bf411a
Services/UDS: Do not allow trying to start up a network that only the host can connect to.
2017-03-26 08:17:55 -05:00
Subv
97f1e62b66
Service/UDS: Schedule an event to broadcast the beacon frames every 102.4ms.
2017-03-26 08:17:53 -05:00
Subv
4243c1198f
Services/UDS: Store the entire NetworkInfo structure that was used to create the network.
...
It will be needed when generating the beacon frames.
2017-03-26 08:17:52 -05:00
Subv
9771615f16
Services/UDS: Initial support for hosting local-wlan networks.
...
Currently it will let games create a network as hosts, but will not broadcast it anywhere and will not allow clients to connect.
2017-03-26 08:17:51 -05:00
wwylele
a37c9fb9d3
ptm: create SharedExtSave file before openning it
2017-03-25 14:22:07 +03:00
wwylele
f7a0328a6e
shared_page: stub battery state
2017-03-21 13:25:56 +02:00
Lectem
e60b433efa
hopefully fix clang-format issues with old version
2017-03-20 22:47:06 +01:00
Lectem
e9c80ea5b7
address more comments
2017-03-19 01:33:56 +01:00
Lectem
979d2000d2
Cast size_t to u32 for PushStaticBuffer usages
2017-03-18 11:56:21 +01:00
Lectem
12ed746477
IPCHelper Skip method + address comments for apt
2017-03-18 11:47:40 +01:00
wwylele
0123411468
apt: fix RequestBuilder parameters for Unwrap
2017-03-18 11:45:19 +02:00
Lectem
77f4fc473f
fix #2560 and other comments
2017-03-18 10:44:01 +01:00
Lectem
fb70c9683c
move push out of class body and add u8 u16 bool specializations
2017-03-18 10:44:01 +01:00
Lectem
501e23ce59
refactor APT service to use the new IPC helpers
2017-03-18 10:44:01 +01:00
bunnei
423ab5e2bc
Merge pull request #2497 from wwylele/input-2
...
Refactor input emulation & add SDL gamepad support
2017-03-17 14:59:39 -04:00
bunnei
709e4fa5d2
Merge pull request #2620 from FernandoS27/syscore_error
...
Refined thread launch on syscore error messages
2017-03-15 21:17:43 -04:00
wwylele
363f36b904
cfg: implement GenHashConsoleUnique
2017-03-12 12:24:57 +02:00
Fernando Sahmkow
b5dbc6cb98
Refined thread launch on syscore error messages
2017-03-09 08:18:18 -05:00
wwylele
e02c4b7195
Input: remove unused stuff & clean up
...
1. removed zl, zr and c-stick from HID::PadState. They are handled by IR, not HID
2. removed button handling in EmuWindow
3. removed key_map
4. cleanup #include
2017-03-01 23:30:57 +02:00
wwylele
70420272ca
HID: use AnalogDevice
2017-03-01 23:30:57 +02:00
wwylele
1d1329af23
HID: use ButtonDevice
2017-03-01 23:30:57 +02:00
wwylele
85ba60d5ec
Timer: restore missing signaled=true from #2421
2017-02-27 22:49:46 +02:00
bunnei
5e334af369
Merge pull request #2594 from wwylele/ir-separate
...
IR: separate functions of each port to their own files
2017-02-27 14:25:50 -05:00
B3n30
dcf115778a
Fix log entry in timer::signal ( #2600 )
2017-02-27 11:04:03 -05:00
Mat M
0cb52ee74a
Doxygen: Amend minor issues ( #2593 )
...
Corrects a few issues with regards to Doxygen documentation, for example:
- Incorrect parameter referencing.
- Missing @param tags.
- Typos in @param tags.
and a few minor other issues.
2017-02-26 17:58:51 -08:00
Yuri Kunde Schlesner
b250ce21b9
Merge pull request #2587 from yuriks/status-bar
...
Replace built-in Profiler with indicators in status bar
2017-02-26 17:51:15 -08:00
Yuri Kunde Schlesner
b285c2a4ed
Core: Make PerfStats internally locked
...
More ergonomic to use and will be required for upcoming changes.
2017-02-26 17:22:03 -08:00
Yuri Kunde Schlesner
c75ae6c585
Add performance statistics to status bar
2017-02-26 17:22:03 -08:00
Yuri Kunde Schlesner
441f8b5a4b
Core: Remove unnecessary include in thread.h
2017-02-26 17:22:01 -08:00
wwylele
2d6113de09
IR: separate functions of each port to their own files
2017-02-26 11:11:35 +02:00
bunnei
892888ed9e
Merge pull request #2569 from wwylele/wrap-unwrap
...
APT: implemented Wrap and Unwrap
2017-02-25 00:12:33 -05:00
Subv
0be77c3ae4
Timers: Return an error when calling SetTimer with negative timeouts.
2017-02-21 20:51:56 -05:00
Subv
029a11030e
Timers: Immediately signal the timer if it was started with an initial value of 0.
2017-02-21 20:51:54 -05:00
wwylele
d5b0e275e3
APT: implement Wrap and Unwrap
2017-02-21 23:57:31 +02:00
Weiyi Wang
c7c1f56ce6
HID: move enable_accelerometer/gyroscope_count initialization into Init() ( #2574 )
...
Fixes #2556
2017-02-16 22:04:27 -08:00
Yuri Kunde Schlesner
070daf4126
HLE/IPC: Fix uninitialized variables in helpers ( #2568 )
...
Fixes #2567
2017-02-13 21:41:59 -08:00
noah the goodra
ded09dc727
NWM changed to NIM
2017-02-13 18:34:01 -06:00
noah the goodra
ad49cec194
turned clang format back on
2017-02-13 18:34:01 -06:00
Yuri Kunde Schlesner
d60767d393
Merge pull request #2561 from wwylele/fs-rom
...
file_sys: change RomFS archive to Self NCCH archive
2017-02-13 09:18:23 -08:00
wwylele
20544977da
loader: use self NCCH archive
2017-02-13 13:57:38 +02:00
wwylele
a0df747325
file_sys: add Self NCCH archive
2017-02-13 13:57:38 +02:00
Weiyi Wang
0dd007e9ba
hid: remove the touch field from PadState ( #2557 )
2017-02-11 01:11:42 -08:00
Weiyi Wang
a1393dc70c
Merge pull request #2027 from Lectem/ipcrefactor
...
IPC helper
2017-02-05 10:22:13 +02:00
Lectem
2ee472b9c7
fix wwylele's comment and use typename in templates
2017-02-05 00:29:07 +01:00
Yuri Kunde Schlesner
9590c932ec
Merge pull request #2496 from mailwl/cfg-mem
...
Core: update Kernel Config Memory to latest version (11.2)
2017-02-03 21:17:48 -08:00
mailwl
a53714acd3
GSP_GPU::StoreDataCache stubbed ( #2428 )
2017-02-02 23:07:44 -08:00
mailwl
d0bf7df5ba
HLE/Applets: Stub Mint (eShop) Applet ( #2463 )
...
This allows Phoenix Wright - Dual Destinies to boot.
2017-01-31 01:16:58 -08:00
mailwl
0b0c5672c8
Core: update Kernel Config Memory to latest version (11.2)
2017-01-30 11:29:00 +03:00
Yuri Kunde Schlesner
1410aa1824
Merge pull request #2368 from wwylele/camera-2
...
CAM: build the service framework with a dummy implementation
2017-01-29 22:16:39 -08:00
Yuri Kunde Schlesner
a925473995
Merge pull request #2429 from wwylele/auto-language-fix
...
CFG: move language override to the boot process
2017-01-29 22:14:35 -08:00
Kloen
2ca3beb9d3
core: fix err_f.cpp warning about unhandled enumeration value on OSX
2017-01-29 22:01:19 +01:00
Yuri Kunde Schlesner
3feb3ce283
Merge pull request #2434 from mailwl/nfc-amiibo
...
Service/NFC: stub some functions
2017-01-25 23:47:56 -03:00
Kloen
095f7c83fc
core: fix mic_u warnings on MSVC
2017-01-23 16:53:05 +01:00
wwylele
2c7676d371
HID: reset acceleroeter and gyroscope index in Init
2017-01-20 23:33:50 +02:00
wwylele
0045ea662f
CFG: override language setting on boot
2017-01-19 10:28:35 +02:00
wwylele
47960b0659
CoreTiming: use named constant for ARM11 clock rate
2017-01-16 09:59:16 +02:00
wwylele
3c333c53f1
HID: manages updating itself using correct ticks
2017-01-16 09:51:44 +02:00
mailwl
efe7e245b2
Service/NFC: stub some functions
...
Tested on: Mini-Mario & Friends - amiibo Challenge
2017-01-14 16:15:16 +03:00
mailwl
b458d7447c
GSP::WriteHWRegsWithMask: fix register mask
2017-01-14 13:37:04 +03:00
bunnei
7ddfd3054d
Merge pull request #2425 from Subv/cleanup_todos
...
Implement some TODOs in the code.
2017-01-12 10:14:30 -05:00
bunnei
597a7c615c
Merge pull request #2308 from mailwl/ac-i
...
Service/AC: add ac:i service
2017-01-12 10:12:46 -05:00
Subv
1ddff14511
Threads: Check the process' resource limit for the max allowed priority when creating a thread and remove the priority clamping code.
2017-01-11 16:38:05 -05:00
Subv
f2f2572fed
Thread: Added priority range checking to svcSetThreadPriority and removed priority clamping code from Thread::SetPriority.
2017-01-11 16:38:04 -05:00
Subv
5ddc2e09b1
Y2R: Use the proper error code when GetStandardCoefficient receives an invalid value.
2017-01-11 16:38:03 -05:00
wwylele
cf3a272332
CAM: implement basic camera functions with a blank camera
2017-01-11 11:46:44 +02:00
bunnei
84d72fd92f
Merge pull request #2397 from Subv/pulse
...
Kernel: Implemented Pulse event and timers.
2017-01-10 10:45:00 -05:00
bunnei
b5eac78b43
Merge pull request #2410 from Subv/sleepthread
...
Don't yield execution in SleepThread(0) if there are no available threads to run
2017-01-06 22:01:33 -05:00
bunnei
59f4f1d7ff
Merge pull request #2396 from Subv/sema_acquire
...
Kernel/Semaphore: Fixed a regression in semaphore waits.
2017-01-06 22:00:12 -05:00
Hyper
f0199a17f6
Kernel: Fix SharedMemory objects always returning error when addr = 0 ( #2404 )
...
Closes #2400
2017-01-06 08:21:22 -05:00
bunnei
1c792389e6
Merge pull request #2408 from Subv/priority_boosting
...
Kernel: Removed the priority boost code for starved threads.
2017-01-06 00:40:39 -05:00
Subv
fc2266130b
Kernel: Don't attempt to yield execution in SleepThread(0) if there are no available threads to run.
...
With this we avoid an useless temporary deschedule of the current thread.
2017-01-05 19:11:34 -05:00
Subv
5e2a8ebabf
Kernel: Remove some unused functions.
2017-01-05 13:17:06 -05:00
Subv
933df2606a
Kernel: Removed the priority boost code for starved threads.
...
After hwtesting and reverse engineering the kernel, it was found that the CTROS scheduler performs no priority boosting for threads like this, although some other forms of scheduling priority-starved threads might take place.
For example, it was found that hardware interrupts might cause low-priority threads to run if the CPU is preempted in the middle of an SVC handler that deschedules the current (high priority) thread before scheduling it again.
2017-01-05 13:12:39 -05:00
Subv
e52ca85711
Kernel: Implemented Pulse event and timers.
...
Closes #1904
2017-01-05 13:06:17 -05:00
Subv
4251eb26ec
Kernel/Semaphore: Fixed a regression in semaphore waits.
...
The regression was caused by a missing check in #2260 .
The new behavior is consistent with the real kernel.
2017-01-05 13:00:05 -05:00
Sebastian Valle
f20d872643
Merge pull request #2393 from Subv/synch
...
Kernel: Mutex priority inheritance and synchronization improvements.
2017-01-05 12:55:01 -05:00
Subv
dda4ec93be
Kernel: Add some asserts to enforce the invariants in the scheduler.
2017-01-05 09:40:18 -05:00
Subv
7f1dca8cd2
Kernel: Remove a thread from all of its waiting objects' waiting_threads list when it is awoken.
...
This fixes a potential bug where threads would not get removed from said list if they awoke after waiting with WaitSynchronizationN with wait_all = false
2017-01-05 09:40:15 -05:00
Subv
fd95b6ee26
Kernel: Remove Thread::wait_objects_index and use wait_objects to hold all the objects that a thread is waiting on.
2017-01-05 09:40:14 -05:00
Subv
cef5f45de2
Kernel: Use different thread statuses when a thread calls WaitSynchronization1 and WaitSynchronizationN with wait_all = true.
...
This commit removes the overly general THREADSTATUS_WAIT_SYNCH and replaces it with two more granular statuses:
THREADSTATUS_WAIT_SYNCH_ANY when a thread waits on objects via WaitSynchronization1 or WaitSynchronizationN with wait_all = false.
THREADSTATUS_WAIT_SYNCH_ALL when a thread waits on objects via WaitSynchronizationN with wait_all = true.
2017-01-04 15:58:50 -05:00
Subv
d3ff5b91e1
Kernel/Mutex: Propagate thread priority changes to other threads inheriting the priority via mutexes
2017-01-04 15:58:48 -05:00
Subv
b6a0355568
Kernel/Mutex: Update a mutex priority when a thread stops waiting on it.
2017-01-04 15:58:47 -05:00
Subv
7abf185390
Kernel/Mutex: Implemented priority inheritance.
...
The implementation is based on reverse engineering of the 3DS's kernel.
A mutex holder's priority will be temporarily boosted to the best priority among any threads that want to acquire any of its held mutexes.
When the holder releases the mutex, it's priority will be boosted to the best priority among the threads that want to acquire any of its remaining held mutexes.
2017-01-04 15:58:46 -05:00
Subv
e6a7723f2f
Kernel: Object ShouldWait and Acquire calls now take a thread as a parameter.
...
This will be useful when implementing mutex priority inheritance.
2017-01-04 15:58:45 -05:00
Subv
38a90882a4
Kernel/Synch: Do not attempt a reschedule on every syscall.
...
Not all syscalls should cause reschedules, this commit attempts to remedy that, however, it still does not cover all cases.
2017-01-04 15:58:44 -05:00
Jonathan Hao
c18cb1b192
Fix some warnings ( #2399 )
2017-01-04 13:48:29 -03:00
Lectem
ee6e88fdb5
fix comments alignment
2016-12-30 15:55:42 +01:00
mailwl
f2985f7080
Service/NFC: stub GetTagInRangeEvent
...
Fix Fatal Error in Mini-Mario & Friends - amiibo Challenge
2016-12-30 09:40:54 +03:00
mailwl
c6f4b93f2e
Service/AC: add ac:i service
2016-12-30 09:20:11 +03:00
bunnei
f556d6ee90
Merge pull request #2240 from wwylele/auto-region
...
Config: auto-select region and language
2016-12-29 22:09:01 -05:00
wwylele
f927beb5e2
Core: remove unused hle.cpp
2016-12-27 10:27:48 +02:00
Lectem
f91c51467a
move Pop methods out of class body
2016-12-26 14:42:06 +01:00
Lectem
8baae9d982
IPC helpers example
2016-12-26 14:07:29 +01:00
Lectem
8f2b642415
IPC helpers
2016-12-26 14:07:29 +01:00
MerryMage
64f98f4d0f
core: Move emu_window and key_map into core
...
* Removes circular dependences (common should not depend on core)
2016-12-23 13:42:39 +00:00
mailwl
069a88dad7
Service/NWM: add nwm services
2016-12-22 22:51:27 +03:00
bunnei
aa47af7fb6
Merge pull request #2343 from bunnei/core-cleanup
...
Core: Top-level consolidate & misc cleanup
2016-12-22 11:47:44 -05:00
bunnei
17d740299a
Merge pull request #2285 from mailwl/csnd-format
...
csnd:SND: Reformat source code
2016-12-22 00:47:50 -05:00
bunnei
8b1e269e58
ThreadContext: Move from "core" to "arm_interface".
2016-12-22 00:27:49 -05:00
bunnei
e26fbfd1d7
core: Replace "AppCore" nomenclature with just "CPU".
2016-12-22 00:27:46 -05:00
bunnei
5ac5cbeab7
Address clang-format issues.
2016-12-21 23:48:14 -05:00
bunnei
4fc8b8229e
core: Remove HLE module, consolidate code & various cleanups.
2016-12-21 23:48:13 -05:00
bunnei
232ef55c1a
core: Consolidate core and system state, remove system module & cleanups.
2016-12-21 23:29:13 -05:00
wwylele
5728e42634
Thread: remove the thread from the thread list when exiting
2016-12-17 19:23:52 +02:00
wwylele
4c9b80cee3
Kernel: remove object's waiting thread if it is dead
2016-12-16 12:33:18 +02:00
bunnei
cda7210fad
Merge pull request #2260 from Subv/scheduling
...
Threading: Reworked the way our scheduler works.
2016-12-16 00:41:22 -05:00
Yuri Kunde Schlesner
2427a5e976
Merge pull request #2328 from wwylele/fix-trace
...
Fix debug build from #2249
2016-12-15 21:06:12 -08:00
Yuri Kunde Schlesner
63e8174caa
Merge pull request #2320 from mailwl/cecd-update
...
Service/CECD: Add cecd:ndm service
2016-12-15 21:01:51 -08:00
bunnei
9dc43d3720
Merge pull request #2331 from lioncash/trunc
...
hid: Get rid of a double -> float truncation warning
2016-12-15 17:45:24 -05:00
wwylele
a7cd452ea1
FS: fix debug build from #2249
2016-12-16 00:22:36 +02:00
Sebastian Valle
3e4cc6b3d2
Merge pull request #2330 from lioncash/pragma
...
core: Add missing #pragma once directives where applicable
2016-12-15 16:06:43 -05:00
Lioncash
3faa675d6b
hid: Get rid of a double -> float truncation warning
...
float literals need to have the 'f' prefix.
2016-12-15 15:52:15 -05:00
Lioncash
2f3c1bdfb4
core: Add missing #pragma once directives where applicable
2016-12-15 15:40:51 -05:00
Lioncash
d467b5ce4f
act: Fix docstring typo
...
These aren't the AM services.
2016-12-15 14:51:45 -05:00
bunnei
bdb6956879
Merge pull request #2314 from mailwl/account
...
Service/ACT: move ACT services to folder
2016-12-15 13:51:29 -05:00
mailwl
7f27be1521
Service/CECD: Add cecd:ndm service
2016-12-15 09:52:40 +03:00
Yuri Kunde Schlesner
905fc92ce1
Merge pull request #2249 from Subv/sessions_v3
...
Kernel/IPC: Use Ports and Sessions as the fundamental building block of Inter Process Communication.
2016-12-14 20:35:33 -08:00
Subv
016307ae65
Fixed the codestyle to match our clang-format rules.
2016-12-14 12:45:36 -05:00
Subv
5b1edc6ae7
Fixed the codestyle to match our clang-format rules.
2016-12-14 12:35:01 -05:00
mailwl
5dea1faedd
Service/ACT: move ACT services to folder
2016-12-14 09:05:46 +03:00
JamePeng
ac2ed18a3b
Minor amendment of GSP_GPU::ImportDisplayCaptureInfo code
2016-12-13 17:01:53 +08:00
mailwl
1238e48c58
csnd:SND reformat source code
2016-12-12 21:19:36 +03:00
mailwl
e53cd12c42
APT::GetStartupArgument: force clear startup argument
2016-12-11 22:36:12 +03:00
Lioncash
963aedd8cc
Add all services to the Service namespace
...
Previously there was a split where some of the services were in the
Service namespace and others were not.
2016-12-11 00:07:27 +00:00
Subv
406907d570
Properly remove a thread from its wait_objects' waitlist when it is awoken by a timeout.
2016-12-10 13:29:31 -05:00
bunnei
6edb024d38
Merge pull request #2291 from lioncash/svc
...
service: Add the cfg:nor service
2016-12-09 14:15:20 -05:00
Subv
ebbb55ec8f
Moved the HLE command buffer translation task to ServerSession instead of the HLE handler superclass.
2016-12-09 12:52:12 -05:00
Subv
deb83c9fc5
Kernel/IPC: Small codestyle cleanup
2016-12-09 12:39:12 -05:00
Subv
17b29d8865
WaitSynch: Removed unused variables and reduced SharedPtr copies.
...
Define a variable with the value of the sync timeout error code.
Use a boost::flat_map instead of an unordered_map to hold the equivalence of objects and wait indices in a WaitSynchN call.
2016-12-09 12:23:09 -05:00
Lioncash
a2d69adad1
service: Add cfg:nor service
2016-12-09 05:07:41 -05:00
Yuri Kunde Schlesner
a5cd925a95
Merge pull request #2292 from lioncash/bool
...
ptm: Use boolean instead of integral value
2016-12-09 01:43:57 -08:00
Lioncash
934b8ffcf8
ptm: Use boolean instead of integral value
...
The third parameter of Write is actually a bool type, not an int.
2016-12-09 04:04:28 -05:00
Lioncash
823d58ac9b
service: Drop '_Interface' from cfg service names
2016-12-09 01:08:35 -05:00
Subv
386112da32
Added a framework for partially handling Session disconnections.
...
Further implementation will happen in a future commit.
Fixes a regression.
2016-12-08 15:01:10 -05:00
Subv
f9bcf89510
Use std::move where appropriate.
2016-12-08 11:06:19 -05:00
Lioncash
007815647c
service: Add the ptm:s service
...
3dbrew documents this as being the exact same as ptm:sysm
2016-12-08 06:14:55 -05:00
Lioncash
56656b75ab
service: Add common ptm:u commands to other ptm services
...
3dbrew indicates that all services have access to these commands
except for ptm:sets.
2016-12-08 06:13:10 -05:00
Lioncash
cd778cf991
service: Drop '_Interface' in ptm service class names
...
Inheriting from Service::Interface makes this obvious.
2016-12-08 06:13:04 -05:00
Lioncash
41c03f481a
service: Add ptm::gets and ptm::sets services
2016-12-08 05:43:08 -05:00
Lioncash
2061d2014d
service: Add mvd and qtm services
...
Adds the two New3DS-only modules.
3dbrew was used for command information.
2016-12-08 04:34:03 -05:00
Lioncash
e8a960f6a1
service: Add nfc services
...
3dbrew was used for the command information.
2016-12-08 03:24:41 -05:00
Yuri Kunde Schlesner
43558dc40a
Merge pull request #2283 from lioncash/svc
...
service: Update function tables
2016-12-07 22:45:12 -08:00
Yuri Kunde Schlesner
bc48e2bda6
Merge pull request #2281 from lioncash/applet
...
applet: minor interface changes
2016-12-07 22:36:40 -08:00
Lioncash
a09602d6f6
ssl_c: Update function table
...
Updated based off information from 3dbrew
2016-12-08 00:57:53 -05:00
Lioncash
ab900f8a25
ptm: Update ptm_sysm function table
...
Updated based off information from 3dbrew.
2016-12-08 00:57:53 -05:00
Lioncash
c67dae54b9
pm_app: Update function table
...
Updated based off information from 3dbrew.
2016-12-08 00:57:45 -05:00
Lioncash
9f2ad62084
nwm_uds: Update function table
...
Updated based off information from 3dbrew.
2016-12-08 00:56:47 -05:00
Lioncash
4a150a8f3c
nim: Update function tables
...
Updated based off information from 3dbrew.
2016-12-08 00:56:47 -05:00
Lioncash
c4bcd5c4ac
http_c: Update function table
...
Updated based off information from 3dbrew.
2016-12-08 00:56:47 -05:00
Lioncash
65d94857c3
gsp_lcd: Update function table
...
Updated based off information from 3dbrew.
2016-12-08 00:56:47 -05:00
Lioncash
006e6a7f4a
fs_user: Update function table
...
Updated based off information from 3dbrew.
2016-12-08 00:56:46 -05:00
Lioncash
093aa35c87
dlp_srvr: Update function table
2016-12-08 00:56:46 -05:00
Lioncash
733c8890aa
cfg: Update function tables
...
Updated based off information from 3dbrew
2016-12-08 00:56:46 -05:00
Lioncash
0229983ff2
cecd_u: Update function table
...
Updated based off information from 3dbrew.
2016-12-08 00:56:46 -05:00
Lioncash
4ebdb7e3e1
boss_p: Update function table
2016-12-08 00:56:45 -05:00
Lioncash
74b3f0faa7
act: Update function tables
...
Updated based off information from 3dbrew.
2016-12-08 00:56:39 -05:00
Lioncash
258694996f
apt: Update apt function tables
...
Updated based off information from 3dbrew.
2016-12-07 22:53:10 -05:00
Lioncash
26ea6b9546
Update AM service function tables
...
Updated based off information from 3dbrew.
2016-12-07 20:55:59 -05:00
Lioncash
f1709b8b59
applet: Move common IsRunning underlying variable to the Applet class
...
Gets rid of basic duplication.
2016-12-07 17:13:46 -05:00
Lioncash
6f71fb2954
applet: Make virtual destructor defaulted
2016-12-07 17:04:14 -05:00
Lioncash
d3f4fd1777
applet: Make constructor protected
...
Considering the class is abstract, there's no need to make the constructor
public.
2016-12-07 16:50:32 -05:00
wwylele
84e78790ab
Config: auto-select region and language
2016-12-07 20:52:42 +02:00
bunnei
8d529a5cda
Merge pull request #2232 from wwylele/other-save
...
FS: implement archives for other game save data
2016-12-07 10:17:02 -05:00
Subv
7cde5b83bc
Use boost remove_erase_if instead of the erase-remove idiom
2016-12-06 19:31:53 -05:00
Subv
1f286b72a1
Improved the algorithm for GetHighestPriorityReadyThread.
2016-12-06 19:15:32 -05:00
Subv
c93c5a72bb
Return an error code when connecting to a saturated port.
...
The error code was taken from the 3DS kernel.
2016-12-05 13:59:57 -05:00
Subv
61a2fe8c3b
HLE: Use a member variable instead of a virtual function to retrieve the max number of sessions that can be connected to an HLE service at the same time.
2016-12-05 13:44:41 -05:00
Subv
00f0c77570
Split SessionRequestHandler::HandleSyncRequest into HandleSyncRequest, TranslateRequest and HandleSyncRequestImpl.
...
HandleSyncRequest now takes care of calling the command buffer translate function before actually invoking the command handler for HLE services.
2016-12-05 12:05:00 -05:00
Subv
29d809b6e1
Kernel: Remove the Redirection handle type.
2016-12-05 11:13:22 -05:00
Subv
dd8887c8cf
KServerPorts now have an HLE handler "template", which is inherited by all ServerSessions created from it.
2016-12-05 11:02:08 -05:00
Subv
bdad00c73f
Threading: Added some utility functions and const correctness.
2016-12-04 09:58:36 -05:00
Yuri Kunde Schlesner
efc8179747
GSP: Downgrade log severity of SetAxiConfigQoSMode
...
This function doesn't need to do anything for HLE and some games call it
quite often, spamming up the logs.
2016-12-04 06:14:27 -08:00
Subv
8634b8cb83
Threading: Reworked the way our scheduler works.
...
Threads will now be awakened when the objects they're waiting on are signaled, instead of repeating the WaitSynchronization call every now and then.
The scheduler is now called once after every SVC call, and once after a thread is awakened from sleep by its timeout callback.
This new implementation is based off reverse-engineering of the real kernel.
See https://gist.github.com/Subv/02f29bd9f1e5deb7aceea1e8f019c8f4 for a more detailed description of how the real kernel handles rescheduling.
2016-12-03 22:38:14 -05:00
Subv
2ce61344d6
Declare empty ServerSession and ClientSession constructors as default.
2016-12-02 22:58:02 -05:00
Subv
ed210c32b3
Threads do not wait for the server endpoint to call AcceptSession before returning from a ConnectToPort or GetServiceHandle call.
2016-12-01 10:47:06 -05:00
Subv
2eceee3a4c
Fixed the rebase mistakes.
2016-11-30 23:28:31 -05:00
Subv
009b15b3aa
A bit of a redesign.
...
Sessions and Ports are now detached from each other.
HLE services are handled by means of a SessionRequestHandler class, Interface now inherits from this class.
The File and Directory classes are no longer kernel objects, but SessionRequestHandlers instead, bound to a ServerSession when requested.
File::OpenLinkFile now creates a new session pair and binds the File instance to it.
2016-11-30 23:12:35 -05:00
Subv
c5e7e0fa26
IPC/HLE: Associate the ClientSessions with their parent port's HLE interface if it exists.
...
Pass the triggering ServerSession to the HLE command handler to differentiate which session caused the request.
2016-11-30 23:04:00 -05:00
Subv
c19afd2118
Kernel/HLE: Service::Interface no longer inherits from any Kernel object, and is now its own standalone class.
...
Interface is now used by aggregation in ClientPort, to forward service commands to their HLE implementation if needed.
2016-11-30 23:03:59 -05:00
Subv
0a33d915f8
fixup! Kernel/IPC: Use Ports and Sessions as the fundamental building block of Inter Process Communication.
2016-11-30 23:02:06 -05:00
Subv
073653e858
Kernel/IPC: Use Ports and Sessions as the fundamental building block of Inter Process Communication.
...
All handles obtained via srv::GetServiceHandle or svcConnectToPort are references to ClientSessions.
Service modules will wait on the counterpart of those ClientSessions (Called ServerSessions) using svcReplyAndReceive or svcWaitSynchronization[1|N], and will be awoken when a SyncRequest is performed.
HLE Interfaces are now ClientPorts which override the HandleSyncRequest virtual member function to perform command handling immediately.
2016-11-30 23:02:05 -05:00
mailwl
5b136aa211
Set client SDK version to Service APIs
2016-11-30 09:51:14 +03:00
wwylele
589b642790
FileSys: Implement OtherSaveData
2016-11-29 23:50:00 +02:00
wwylele
b25f19ac26
FS: add missing MediaType
2016-11-29 23:50:00 +02:00
wwylele
5af117e00c
FileSys: abstract SD save data archive source
2016-11-29 23:50:00 +02:00
Yuri Kunde Schlesner
3174bfd50c
Merge pull request #2196 from Subv/system_mode
...
Kernel/Loader: Grab the system mode from the NCCH ExHeader.
2016-11-27 17:04:11 -08:00
Sebastian Valle
4ba5acdaff
Merge pull request #2132 from wwylele/fix-fs-err
...
Correct FS error codes & add path boundary checks
2016-11-27 18:56:56 -05:00
mailwl
ec15e485c9
Output parameters to log
2016-11-25 09:37:20 +03:00
mailwl
d4cadf11fc
MIC_U: Stub service funcions
2016-11-25 09:37:19 +03:00
pippo2931
0c9c97e5ea
Bravely Default/Second stuck #1822 ( #2188 )
...
* Bravely Default/Second stuck #1822
CancelLibraryApplet stub
* Log parameter.
* Taking care of comments
* Sync with 3DBrew
* White space ?
* lower case
2016-11-23 22:57:56 -05:00
Yuri Kunde Schlesner
ef421696e3
Merge pull request #2186 from wwylele/config9
...
cfg: add config block 0x00090000
2016-11-23 18:51:01 -08:00
Yuri Kunde Schlesner
fefa645ec7
Merge pull request #1654 from JamePeng/errdisp
...
Rework the code of err:f service!
2016-11-23 17:43:02 -08:00
bunnei
f1798c1db6
Merge pull request #2193 from Subv/pulse_events
...
Kernel/Events: Log an error when trying to create Pulse events and timers
2016-11-19 22:19:45 -05:00
Subv
1323ab2f5f
Kernel/Loader: Grab the system mode from the NCCH ExHeader.
...
3dsx and elf files default to system mode 2 (96MB allocated to the application).
This allows Home Menu to boot without modifications.
Closes #1849
2016-11-19 20:40:04 -05:00
Subv
4ab8692475
Kernel/Events: Log an error when trying to create Pulse events and timers.
...
Related to #1904
2016-11-19 14:00:08 -05:00
Subv
d7ab4fd53d
APT/Applets: Renamed the members of the SignalType enum.
...
Names now make sense and match 3dbrew.
2016-11-19 13:42:07 -05:00
wwylele
d7d6975af0
FileSys: rename SaveDataCheck archive to NCCH archive
...
According to the observation from game and 3dbrew "Used for accessing general NCCH data"
2016-11-19 18:55:35 +02:00
wwylele
5c6e13a171
PTM & CFG: use the correct path and error code according to the new FileSys policy
2016-11-19 18:55:34 +02:00
wwylele
0987783699
FileSys: add SDMCWriteOnlyArchive
2016-11-19 18:55:34 +02:00
wwylele
a879984c06
FileSys: add ExtSaveDataArchive
...
ExtSaveData is more similar to SaveData, so let it be a subclass of SaveData
2016-11-19 18:24:37 +02:00
wwylele
7166fdc490
FileSys: add SaveDataArchive
...
The error checking of SaveDataArchive is completely different from DiskArchive, so it has to be a new class instead of a subclass of DiskArchive.
2016-11-19 17:17:19 +02:00
wwylele
dd5c15abd0
cfg: add config block 0x00090000
2016-11-17 19:34:02 +02:00
mailwl
af7f5bef8d
Style fix
2016-11-02 09:38:44 +03:00
mailwl
5872abeab9
Rename AcConfig, change types u8 to u32
2016-11-02 09:38:44 +03:00
mailwl
a62df98686
AC_U: Stub functions, used if EULA agreed
2016-11-02 09:38:44 +03:00
wwylele
4dd8a831bd
FileSys: make Archive interfaces return error code
...
and make the mode parameter a reference since it is a BitField union
2016-11-01 18:30:32 +02:00
bunnei
ae2fab4a0e
Merge pull request #2126 from wwylele/stub-nwm
...
NWM: stub Initialize with an error
2016-10-31 16:16:12 -04:00
Jan Beich
702439b519
core: some errno values are uncommon on Unix
...
src/core/hle/service/soc_u.cpp:107:6: error: 'ENODATA' was not declared in this scope
{ENODATA, 43},
^
src/core/hle/service/soc_u.cpp:117:6: error: 'ENOSR' was not declared in this scope
{ENOSR, 53},
^
src/core/hle/service/soc_u.cpp:118:6: error: 'ENOSTR' was not declared in this scope
{ENOSTR, 54},
^
src/core/hle/service/soc_u.cpp:139:6: error: 'ETIME' was not declared in this scope
{ETIME, 75},
^
2016-10-27 23:28:30 +00:00
mailwl
f672c7bd24
FRD: fix GetMyFriendKey
2016-10-25 09:54:29 +03:00
Ricardo de Almeida Gonzaga
13d46f6820
Fix typos
2016-10-20 12:26:59 -02:00
wwylele
32789a70fb
NWM: stub Initialize with an error
2016-10-12 22:33:44 +08:00
bunnei
cc7f1155a8
Merge pull request #2024 from JamePeng/update-boss-code
...
Update the stub code of BOSS
2016-10-07 23:02:39 -04:00
JamePeng
691f069743
Rework the code of err:f service
2016-10-06 21:03:12 +08:00
bunnei
09c3e444d4
Merge pull request #1652 from wwylele/kernal-tool
...
Debugger: implement wait tree widget
2016-10-04 23:01:56 -04:00
JamePeng
bd8c80a7b4
Update the stub code of BOSS
2016-10-02 17:36:57 +08:00
wwylele
257e7afb79
fs: clean up log format
2016-10-02 12:39:28 +08:00
wwylele
96b0e9476b
fs: implement DeleteDirectoryRecursively
2016-10-02 11:29:16 +08:00
wwylele
85a83158fb
move ResetType to kernel.h
2016-09-22 13:52:52 +08:00
wwylele
1c0179ad1b
name objects
2016-09-22 13:52:52 +08:00
wwylele
f69a543110
implement wait tree widget
2016-09-22 13:52:52 +08:00
Yuri Kunde Schlesner
84fbbe2629
Use negative priorities to avoid special-casing the self-include
2016-09-21 00:15:56 -07:00
Emmanuel Gil Peyrot
ebdae19fd2
Remove empty newlines in #include blocks.
...
This makes clang-format useful on those.
Also add a bunch of forgotten transitive includes, which otherwise
prevented compilation.
2016-09-21 11:15:47 +09:00
Yuri Kunde Schlesner
396a8d91a4
Manually tweak source formatting and then re-run clang-format
2016-09-18 21:14:25 -07:00
Emmanuel Gil Peyrot
dc8479928c
Sources: Run clang-format on everything.
2016-09-18 09:38:01 +09:00
bunnei
05e120a4cc
arm: ResetContext shouldn't be part of ARM_Interface.
2016-09-15 17:49:30 -04:00
bunnei
7c934c5164
Merge pull request #2023 from yuriks/autobase-bcfnt
...
Auto-detect original shared_font.bin memory base
2016-08-30 09:26:38 -04:00