Commit Graph

4766 Commits

Author SHA1 Message Date
0a988e07cb packet: Simplify operator bool overload
Previously this would cause a -Wnull-conversion warning
2017-11-28 21:00:24 -05:00
dc5d7a802f Merge pull request #3120 from shinyquagsire23/ncch-container-offsets
file_sys/ncch_container: Expose ncch_offset during instantiation and in OpenFile
2017-11-28 11:48:46 -05:00
1be31e271a NS/Applets: Added the MiiSelector applet to the list of native applet ids. 2017-11-28 09:12:52 -05:00
9543e1a1bf HLE/IPC: Don't assert in HLERequestContext::AddStaticBuffer when there's already a static buffer with the desired id.
This could happen if the guest application performs a request with static buffer id X, and the service module responds with another static buffer with the same id X.
2017-11-28 09:01:15 -05:00
e9a95b2e7d CoreTiming: Reworked CoreTiming (#3119)
* CoreTiming: New CoreTiming; Add Test for CoreTiming
2017-11-25 14:56:57 +01:00
8a5cc14ba4 Audio/HLE/Source: Fix looped state not updating
Bugfix for ff280800.
2017-11-25 11:10:10 +00:00
b7cf793814 Merge pull request #3113 from shinyquagsire23/sdl-cia-install
SDL CIA Installation
2017-11-24 10:23:20 -07:00
70ff3c72f1 Services/AM: Detect encrypted CIAs 2017-11-20 20:45:21 -07:00
c0eb233bf1 file_sys/title_metadata: Fix encrypted bitmask 2017-11-20 20:45:06 -07:00
253954930f Services/AM: Return InstallStatus for InstallCIA 2017-11-19 21:56:02 -07:00
de0af83719 Merge pull request #3135 from MerryMage/d-ClearInstructionCache
arm_dynarmic: ClearInstructionCache should clear all instruction caches
2017-11-19 16:39:04 -07:00
c0a7afaa5c Libnetwork: add password protected rooms, guid, and error fixes (#3068)
* Network: Add password protected roomsand GUID

* Limit chat message size
2017-11-19 19:52:37 +01:00
4071da5012 Merge pull request #3124 from jroweboy/revert-2985
Revert "Extracted the attribute setup and draw commands into their own functions"
2017-11-19 18:21:48 +00:00
555c8ba7c1 Merge pull request #3077 from Subv/hle_static_buffer
Kernel/IPC: Implement StaticBuffer translation for HLE services that use the HLERequestContext architecture.
2017-11-19 11:34:02 -05:00
ff275ac1e1 Merge pull request #3083 from Subv/lle_staticbuffer_translation
Kernel/IPC: Handle the StaticBuffer descriptor in LLE command requests.
2017-11-19 11:31:49 -05:00
2d917f8ca0 arm_dynarmic: ClearInstructionCache should clear all instruction caches
Bugfix of 67a70bd.
2017-11-19 14:47:14 +00:00
9d9693c13d Revert "Extracted the attribute setup and draw commands into their own functions"
This reverts commit b3b34a1e76. This
commit causes a performance regression for not enough benefits
2017-11-16 11:46:17 -07:00
549f11a40e file_sys/ncch_container: Expose ncch_offset during instantiation and in OpenFile 2017-11-15 17:43:15 -07:00
553ca2bfe0 SDL: Add command-line CIA installs 2017-11-15 16:05:37 -07:00
56e906f1e3 Services/AM: Add InstallCIA function for frontends 2017-11-15 16:05:37 -07:00
1f2aa29dee Services/AM: Move CIA finalization into Close(), Close() on destruction of class 2017-11-15 16:05:33 -07:00
750e7e06b1 Services/AM: Expose CIAFile class in AM header 2017-11-15 12:05:03 -07:00
947067de81 Merge pull request #3085 from Subv/get_service_handle
HLE/SRV: Don't return the port handle if it isn't available when calling GetServiceHandle.
2017-11-15 13:46:12 -05:00
1edbbf7f8c Services/AM: Add GetTitleMediaType 2017-11-15 11:26:00 -07:00
5eabe60aa3 Merge pull request #2969 from mailwl/ptm_step
Service/PTM: Stub GetStepHistory function
2017-11-15 09:39:17 -07:00
afb6dd7747 HLE/SRV: Don't return the port handle if it isn't available when calling GetServiceHandle.
This was incorrect behavior that somehow found its way to 3dbrew. The correct behavior is to sleep until the port becomes available again and then return a session to it.

This is currently unimplemented due to the inability to put a guest thread to sleep during HLE requests.

The correct behavior was reverse engineered by TuxSH a while ago but we never corrected the code in citra.
2017-11-15 11:26:49 -05:00
f0027e9996 Merge pull request #3096 from Subv/arbitrateaddress
Kernel/Arbiters: When doing ArbitrateAddress(Signal), always pick the highest priority thread, using the first one that was put to sleep if more than one thread with the same highest priority exists.
2017-11-15 09:16:16 -05:00
93742ec510 Merge pull request #3088 from Subv/clientsession_closing
Kernel/Sessions: Wake up any threads waiting on a ServerSession when its client is closed
2017-11-15 09:15:34 -05:00
689fe57430 Services/AM: Fix content writing on Windows (#3114) 2017-11-15 10:26:16 +01:00
2cf7cda1c4 fix framelimit in default ini 2017-11-13 22:03:24 -06:00
35a61ab053 HLE/Tests: Added tests for the StaticBuffer IPC HLE translation. 2017-11-12 11:00:00 -05:00
c9c1ba0952 Kernel/IPC: Implement StaticBuffer translation for HLE services that use the HLERequestContext architecture.
The real kernel requires services to set up their static buffer targets ahead of time. This implementation does not require that and will simply create the storage for the buffers as they are processed in the incoming IPC request.

Static buffers are kept in an unordered_map keyed by their buffer id, and are written into the already-setup area of the request thread when responding an IPC request.

This fixes a regression (crash) introduced in #2992.

This PR introduces more warnings due to the [[deprecated]] attribute being added to void PushStaticBuffer(VAddr buffer_vaddr, size_t size, u8 buffer_id); and VAddr PopStaticBuffer(size_t* data_size);
2017-11-12 11:00:00 -05:00
c68adb787b Kernel/Arbiters: When doing ArbitrateAddress(Signal), always pick the highest priority thread, using the first one that was put to sleep if more than one thread with the same highest priority exists.
This is consistent with hardware behavior as shown by this test https://gist.github.com/ds84182/40e46129bd38b46a5100f15f96ba5eaf
2017-11-08 18:47:08 -05:00
908dbf4230 Merge pull request #3084 from Subv/thread_default_cpu
Kernel/Thread: Use the process' ideal CPU when specifying the Default CPU on CreateThread.
2017-11-08 14:38:50 -05:00
67df3c2c38 Merge pull request #3092 from BreadFish64/patch-1
Get Rid of Redundant ! in CIA loading code.
2017-11-08 14:38:20 -05:00
ddee442ff8 Merge pull request #3093 from Subv/missing_includes
Added missing headers to CMakeLists.txt and fixed includes.
2017-11-07 20:09:19 -07:00
5e9d76337d Build: Added missing <array> includes to title_metadata.h and cia_container.h 2017-11-07 22:06:34 -05:00
d683d34aa4 Filesys: Added some missing headers to the CMakeLists.txt after the recent stream of PRs. 2017-11-07 22:04:51 -05:00
e2cac1d7db Get Rid of Redundant ! 2017-11-07 19:31:55 -06:00
7d12aaaa20 Merge pull request #3087 from shinyquagsire23/am-more-errors
Services/AM: Add errors and adjust naming for accuracy
2017-11-07 09:09:48 -05:00
c07f1b275c Services/AM: Rename and readjust GetNumContentInfos for accuracy 2017-11-06 21:36:49 -07:00
d854d4119a Services/AM: Rename and adjust ListContentInfos for accuracy 2017-11-06 21:35:00 -07:00
c6e43ae79d Services/AM: Rename and adjust FindContentInfos for accuracy 2017-11-06 21:35:00 -07:00
ac2ee3035a file_sys/cia_container: Fix warnings 2017-11-06 21:35:00 -07:00
69cc04a06d Services/AM: Fix warnings 2017-11-06 21:34:54 -07:00
06a2e0b591 Kernel/Sessions: Wake up any threads waiting on a ServerSession when its client is closed
The error code 0xC920181A will be returned by svcReplyAndReceive when the wakeup callback runs.
This lets LLE services be properly notified of clients closing the connection so they can end their handler threads instead of letting them linger indefinitely, taking up connection slots in their parent port.
2017-11-06 23:07:08 -05:00
d1de6b8864 HLE/APT: Try to launch a native applet in PrepareToStartLibraryApplet and PreloadLibraryApplet before falling back to HLE applets.
With this commit, you can run native applets if they are in the correct folder of your virtual NAND.

Trying to exit the applet will currently cause an invalid read loop due to svcExitProcess not being implemented.
2017-11-06 16:42:26 -05:00
ecb1c6d2a1 HLE/APT: Added a function to retrieve the titleid of an applet based on the current system region.
The table was taken from the real APT service, but is incomplete due to the sheer amount of data it contains. There's 29 applets with 7 possible titleids. This table should be filled as needed.
2017-11-06 16:42:26 -05:00
191565a1b8 HLE/NS: Added a function to launch titles installed to the virtual NAND/SD card.
It uses AM::GetTitleContentPath to retrieve the path of the program to launch.
2017-11-06 15:12:15 -05:00
ccd0710e5b Logging: Add a Service_NS log class for the NS service. 2017-11-06 14:51:57 -05:00