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
MerryMage
f10a304ecd
fix macos build
2018-01-08 19:20:10 -05:00
bunnei
d6e4e6ea32
core_timing: Use 1.020GHz for core clock rate.
2018-01-08 19:18:50 -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
bd377908d7
audio: Log dropping frames as trace to reduce spam.
2018-01-07 16:52:59 -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
bc77a7580e
nso: Always load the filepath specified by the user.
2018-01-07 12:44:36 -05:00
bunnei
79e0dd249e
core_timing: Increase clock speed for Switch docked.
2018-01-07 00:58:06 -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
dcfbad2129
cmake: Don't compile Dynarmic as it's unused.
2018-01-04 17:01:02 -05:00
bunnei
24f10a20e7
core: Increase tight_loop 100x for speed.
2018-01-04 16:52:16 -05:00
bunnei
5e262a4a68
citra_qt: Remove VFP registers, since this isn't used anyways and caused an assert.
2018-01-04 13:52:29 -05:00
bunnei
b38223f662
arm_unicorn: Load/release unicorn DLL.
2018-01-04 13:40:01 -05:00
bunnei
738845cc0e
externals: Use unicorn DLL instead of static lib.
2018-01-04 13:15:29 -05:00
bunnei
3f8b9181b5
unicorn: Use for arm interface on Windows.
2018-01-04 00:13:23 -05:00
bunnei
6e9d66fd3a
arm_dynarmic: More cleanup.
2018-01-04 00:09:12 -05:00
bunnei
914ebee67a
core: Remove unicorn_dynload.
2018-01-03 22:10:31 -05:00
bunnei
aa7e061e71
arm_dynarmic: Gut interface until dynarmic is ready for general use.
2018-01-03 22:10:11 -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
dd3a237981
cmake: Add missing object_address_table.
2018-01-01 15:41:05 -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
45db4bb3ea
logging: Rename category "Core_ARM11" to "Core_ARM".
2017-10-23 00:13:12 -04:00
bunnei
3f0caefdf5
nso: Load more common submodules.
2017-10-22 23:50:26 -04:00
bunnei
9ceb0d9381
memory: Support 32-bit paging, move heap address space up.
2017-10-22 23:17:59 -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
97d52b9f89
memory: Print addresses as 64-bit.
2017-10-18 21:29:23 -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
746c2a3ae7
core: Refactor MakeMagic usage and remove dead code.
2017-10-15 00:11:38 -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
12c7469d81
nso: Add a log for loading submodules.
2017-10-14 17:37:51 -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
74d4050924
Merge pull request #2975 from shinyquagsire23/archive-ncch-container-and-override
...
file_sys/archive_ncch: use NCCHs/.apps instead of .romfs files, NCCH section override
2017-10-06 12:19:20 -05:00
bunnei
33ea53094c
loader: Add support for NRO, as well as various fixes and shared linker.
2017-10-05 23:30:08 -04: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
Subv
7772fc0731
Memory: Remove all GetPointer usages from the GDB stub.
2017-10-04 11:33:32 -05:00
Huw Pascoe
b3b34a1e76
Extracted the attribute setup and draw commands into their own functions
2017-10-04 01:08:29 +01:00
bunnei
d454364bca
nso: Fixes to support homebrew NSOs without a MOD header.
2017-10-03 18:30:02 -04: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
1f2de7501b
Memory: Make WriteBlock take a Process parameter on which to operate
2017-10-01 14:18:36 -05:00
Subv
811c01e5fe
Memory: Make ReadBlock take a Process parameter on which to operate
2017-10-01 14:18:36 -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
shinyquagsire23
4887d18591
file_sys, loader: add support for reading TMDs to determine app paths
2017-10-01 10:54:02 -06:00
shinyquagsire23
8e10c9bb2e
file_sys: add class for Title Metadata (TMD)
2017-10-01 10:53:45 -06:00
shinyquagsire23
e21f2348e7
file_sys/ncch_container: add RomFS, ExeFS override to allow for backward compatibility with existing .romfs system archive dumps
2017-10-01 10:53:18 -06:00
shinyquagsire23
c93e5ecfe6
file_sys/archive_ncch: use NCCHContainer instead of loading .romfs files
2017-10-01 10:53:04 -06:00
bunnei
6377585edb
arm_interface: Set TLS address for dynarmic core.
2017-09-30 14:34:03 -04: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
6bafd3f4f7
loader: Add support for loading an NSO.
2017-09-30 14:32:53 -04:00
bunnei
9eb4888df7
externals: Add lz4.
2017-09-30 14:30:04 -04:00
bunnei
46297c9653
memory: Log with 64-bit values.
2017-09-30 14:28:54 -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
bunnei
1c4f9e822c
elf: Check if machine is ARM.
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