aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/service
AgeCommit message (Collapse)Author
2020-12-20Merge pull request #5131 from bunnei/scheduler-rewritebunnei
Rewrite Kernel scheduler based on Atmosphere
2020-12-18buffer_queue: better use of std::arrayameerj
2020-12-17Overwrite slots instead of queuing them, add disconnect signalameerj
Fix for Katana Zero and Yoshi's Crafted World
2020-12-15Merge pull request #5190 from Morph1984/validate_device_handlebunnei
controllers/npad: Validate device handles before use
2020-12-15Merge pull request #5119 from Morph1984/fs-opendatastoragewithprogramindexbunnei
fsp_srv: Implement OpenDataStorageWithProgramIndex
2020-12-14Merge pull request #5168 from Morph1984/aoc-PurchaseEventManagerbunnei
aoc_u: Stub IPurchaseEventManager and its service commands
2020-12-12controllers/npad: Validate device handles before useMorph
Some games such as NEKOPARA Vol. 3 send invalid device handles when calling InitializeVibrationDevice. Introduce a check to validate the device handle before use.
2020-12-10Merge pull request #5123 from Morph1984/nim-IsLargeResourceAvailablebunnei
nim: Stub IsLargeResourceAvailable
2020-12-09Merge pull request #5142 from comex/xx-poll-eventsRodrigo Locatti
network, sockets: Replace `POLL_IN`, `POLL_OUT`, etc. constants with an `enum class PollEvents`
2020-12-08Merge pull request #5166 from lioncash/log-castbunnei
core: Remove unnecessary enum casts in log calls
2020-12-08Merge pull request #5135 from Morph1984/applets-shadowbunnei
applets: Resolve variable shadowing
2020-12-08IPurchaseEventManager: Implement GetPurchasedEventReadableHandleMorph
- Used by Pokémon Café Mix - Used by DOOM: Eternal
2020-12-08IPurchaseEventManager: Stub Set(Default)DeliveryTargetMorph
- Used by Pokémon Café Mix - Used by DOOM: Eternal
2020-12-08aoc_u: Stub Create(Permanent)EcPurchasedEventManagerMorph
- Used by Pokémon Café Mix - Used by DOOM: Eternal
2020-12-08fsp_srv: Implement OpenDataStorageWithProgramIndexMorph
- Used by RollerCoaster Tycoon 3: Complete Edition
2020-12-08file_sys: Consolidate common Title ID operationsMorph
2020-12-07core: Remove unnecessary enum casts in log callsLioncash
Follows the video core PR. fmt doesn't require casts for enum classes anymore, so we can remove quite a few casts.
2020-12-07controller: Use std::move within ConvertToFrontendParameters()Lioncash
Avoids unnecessary copies.
2020-12-07controller: Avoid unnecessary copies in ConfigurationComplete()Lioncash
Avoids unnecessary 1072 byte copies when querying info about controllers.
2020-12-06Merge pull request #5148 from comex/xx-unused-fieldsbunnei
core: Mark unused fields as [[maybe_unused]]
2020-12-06Merge pull request #5154 from comex/xx-ipcbunnei
hle: Type check ResponseBuilder::Push arguments, and fix use in vi.cpp
2020-12-07Merge pull request #5147 from comex/xx-purevirtLC
nvdrv: Remove useless re-declaration of pure virtual methods that were already declared in the superclass
2020-12-06network, sockets: Replace `POLL_IN`, `POLL_OUT`, etc. constants with an ↵comex
`enum class PollEvents` Actually, two enum classes, since for some reason there are two separate yet identical `PollFD` types used in the codebase. I get that one is ABI-compatible with the Switch while the other is an abstract type used for the host, but why not use `WSAPOLLFD` directly for the latter? Anyway, why make this change? Because on Apple platforms, `POLL_IN`, `POLL_OUT`, etc. (with an underscore) are defined as macros in <sys/signal.h>. (This is inherited from FreeBSD.) So defining a variable with the same name causes a compile error. I could just rename the variables, but while I was at it I thought I might as well switch to an enum for stronger typing. Also, change the type used for values copied directly to/from the `events` and `revents` fields of the host *native* `pollfd`/`WSASPOLLFD`, from `u32` to `short`, as `short` is the correct canonical type on both Unix and Windows.
2020-12-06hle: Type check ResponseBuilder::Push arguments, and fix use in vi.cppcomex
- Add a type check so that calling Push with an invalid type produces a compile error rather than a linker error. - vi.cpp was calling Push with a variable of type `std::size_t`. There's no explicit overload for `size_t`, but there is one for `u64`, which on most platforms is the same type as `size_t`. On macOS, however, it isn't: both types are 64 bits, but `size_t` is `unsigned long` and `u64` is `unsigned long long`. Regardless, it makes more sense to explicitly use `u64` here instead of `size_t`.
2020-12-06core: Mark unused fields as [[maybe_unused]]comex
2020-12-06boxcat: Avoid unnecessary object copycomex
2020-12-06nvdrv: Remove useless re-declaration of pure virtual methods that were ↵comex
already declared in the superclass
2020-12-06hle: kernel: Rewrite scheduler implementation based on Mesopshere.bunnei
2020-12-05applets: Resolve variable shadowingMorph
2020-12-04nim: Stub IsLargeResourceAvailableMorph
- Used by Immortals Fenyx Rising
2020-11-29core: arm: Implement InvalidateCacheRange for CPU cache invalidation.bunnei
2020-11-28Merge pull request #4998 from Morph1984/bioshock-patchbunnei
hid: Check if applet_resource exists in InitializeVibrationDevice
2020-11-28Add missing types to NpadCommunicationModegerman
2020-11-28Merge pull request #5021 from german77/StubCommunicationModebunnei
HID: Stub set and get NpadCommunicationMode
2020-11-27savedata_factory: Eliminate usage of the global system instanceLioncash
Now there's only two meaningful instances left in core.
2020-11-26Stub set and get NpadCommunicationModegerman
2020-11-26service: Eliminate usages of the global system instanceLioncash
Completely removes all usages of the global system instance within the services code by passing in the using system instance to the services.
2020-11-26Merge pull request #4975 from comex/invalid-syncpoint-idbunnei
nvdrv, video_core: Don't index out of bounds when given invalid syncpoint ID
2020-11-25Merge pull request #4981 from ogniK5377/ioctl-ctrlbunnei
nvservices: Reintroducee IoctlCtrl
2020-11-25hid: Check if applet_resource exists in InitializeVibrationDeviceMorph
2020-11-24service: am: Implement ExecuteProgram and required stubs.bunnei
- This is used by Super Mario 3D All-Stars.
2020-11-24hle: services: Fix a crash with improper NVFlinger lifetime management. (#4977)bunnei
* hle: services: Fix a crash with improper NVFlinger lifetime management. - This crash would happen when attempting to shutdown yuzu early on in boot.
2020-11-24nvdrv, video_core: Don't index out of bounds when given invalid syncpoint IDcomex
- Use .at() instead of raw indexing when dealing with untrusted indices. - For the special case of WaitFence with syncpoint id UINT32_MAX, instead of crashing, log an error and ignore. This is what I get when running Super Mario Maker 2.
2020-11-24nvservices: Reintroducee IoctlCtrlChloe Marcec
Fixes regression caused by #4907 which caused games like Breath of the Wild 1.0.0 not to boot.
2020-11-21Merge pull request #4944 from lioncash/system-rembunnei
patch_manager: Remove usages of the global system instance
2020-11-20Merge pull request #4907 from ogniK5377/nvdrv-cleanupbunnei
core: Make nvservices more standardized
2020-11-20olsc: Move member initialization to after member functions.bunnei
2020-11-19hle: service: Stub OLSC Initialize and SetSaveDataBackupSettingEnabled ↵bunnei
functions. - Used by Animal Cross: New Horizons v1.6.0 update, minimal stub gets this update working.
2020-11-18patch_manager: Remove usages of the global system instanceLioncash
With this, only 19 usages of the global system instance remain within the core library. We're almost there.
2020-11-15hid: Reimplement Begin/EndPermitVibrationSessionMorph
Upon further investigation, these commands allow temporary vibrations even when the "Controller Vibration" system setting is disabled. As a result, vibrations are allowed when either the system setting or this flag is set to true. Therefore, we can only block vibrations when both flags are set to false.