summaryrefslogtreecommitdiff
path: root/src/core/hle (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* | Merge pull request #6384 from lioncash/virtualGravatar bunnei2021-05-2915-53/+48
|\ \ | | | | | | kernel: Add missing override specifiers
| * | kernel: Add missing override specifiersGravatar Lioncash2021-05-2915-53/+48
| |/ | | | | | | | | | | | | | | Over the course of the kernel refactoring a tiny bit of missing overrides slipped through review, so we can add these. While we're at it, we can remove redundant virtual keywords where applicable as well.
* | Merge pull request #6382 from lioncash/nullGravatar bunnei2021-05-291-5/+5
|\ \ | | | | | | k_thread: Move dereference after null check in Initialize()
| * | k_thread: Move dereference after null check in Initialize()Gravatar Lioncash2021-05-291-5/+5
| |/ | | | | | | Prevents a -Wnonnull warning on GCC.
* | Merge pull request #6373 from bunnei/use-slabheap-tlsGravatar bunnei2021-05-292-11/+191
|\ \ | | | | | | hle: kernel: KSlabHeap: Allow host or guest allocations.
| * | hle: kernel: KSlabHeap: Allow host or guest allocations.Gravatar bunnei2021-05-282-11/+191
| | | | | | | | | | | | | | | - Use host allocations for kernel memory, as this is not properly emulated yet. - Use guest allocations for TLS, as this needs to be backed by DeviceMemory.
* | | Fix two GCC 11 warnings: Unneeded copies.Gravatar Markus Wick2021-05-291-1/+1
| | | | | | | | | | | | | | | std::move created an unneeded copy. iterating without reference also created copies.
* | | Merge pull request #6371 from degasus/drop_ExceptionalExitGravatar bunnei2021-05-281-1/+0
|\ \ \ | |/ / |/| | core/arm_interface: Call SVC after end of dynarmic block.
| * | core/arm_interface: Call SVC after end of dynarmic block.Gravatar Markus Wick2021-05-271-1/+0
| |/ | | | | | | | | | | So we can modify all of dynarmic states within SVC without ExceptionalExit. Especially as the ExceptionalExit hack is dropped on upstream dynarmic.
* | Merge pull request #6356 from ogniK5377/ApplyNpadSystemCommonPolicyGravatar bunnei2021-05-281-1/+10
|\ \ | |/ |/| hid: ApplyNpadSystemCommonPolicy
| * hid: ApplyNpadSystemCommonPolicyGravatar Chloe Marcec2021-05-241-1/+10
| | | | | | | | We already do this specifically for homebrew, so we can keep it stubbed out for the time being
* | Merge pull request #6331 from lioncash/gestureGravatar Morph2021-05-262-67/+79
|\ \ | | | | | | hid/gesture: Simplify point related code
| * | hid/gesture: Factor out last gesture retrieval into its own functionGravatar Lioncash2021-05-182-14/+23
| | | | | | | | | | | | Deduplicates a commonly repeated expression.
| * | hid/gesture: Ensure all ID arrays are initializedGravatar Lioncash2021-05-181-4/+4
| | | | | | | | | | | | Makes for deterministic initial state.
| * | hid/gesture: Make Point a templateGravatar Lioncash2021-05-182-38/+46
| | | | | | | | | | | | | | | We can now use this in a generic context to reuse it with the finger position.
| * | hid/gesture: Replace x,y members of GestureState with a PointGravatar Lioncash2021-05-182-6/+4
| | | | | | | | | | | | Simplifies assignments.
| * | hid/gesture: Add default comparators to PointGravatar Lioncash2021-05-182-10/+7
| | | | | | | | | | | | Simplifies some comparisons.
| * | hid/gesture: Rename Points to PointGravatar Lioncash2021-05-181-5/+5
| | | | | | | | | | | | This only represents a single point
* | | common: fs: Rework the Common Filesystem interface to make use of ↵Gravatar Morph2021-05-259-95/+111
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | std::filesystem (#6270) * common: fs: fs_types: Create filesystem types Contains various filesystem types used by the Common::FS library * common: fs: fs_util: Add std::string to std::u8string conversion utility * common: fs: path_util: Add utlity functions for paths Contains various utility functions for getting or manipulating filesystem paths used by the Common::FS library * common: fs: file: Rewrite the IOFile implementation * common: fs: Reimplement Common::FS library using std::filesystem * common: fs: fs_paths: Add fs_paths to replace common_paths * common: fs: path_util: Add the rest of the path functions * common: Remove the previous Common::FS implementation * general: Remove unused fs includes * string_util: Remove unused function and include * nvidia_flags: Migrate to the new Common::FS library * settings: Migrate to the new Common::FS library * logging: backend: Migrate to the new Common::FS library * core: Migrate to the new Common::FS library * perf_stats: Migrate to the new Common::FS library * reporter: Migrate to the new Common::FS library * telemetry_session: Migrate to the new Common::FS library * key_manager: Migrate to the new Common::FS library * bis_factory: Migrate to the new Common::FS library * registered_cache: Migrate to the new Common::FS library * xts_archive: Migrate to the new Common::FS library * service: acc: Migrate to the new Common::FS library * applets/profile: Migrate to the new Common::FS library * applets/web: Migrate to the new Common::FS library * service: filesystem: Migrate to the new Common::FS library * loader: Migrate to the new Common::FS library * gl_shader_disk_cache: Migrate to the new Common::FS library * nsight_aftermath_tracker: Migrate to the new Common::FS library * vulkan_library: Migrate to the new Common::FS library * configure_debug: Migrate to the new Common::FS library * game_list_worker: Migrate to the new Common::FS library * config: Migrate to the new Common::FS library * configure_filesystem: Migrate to the new Common::FS library * configure_per_game_addons: Migrate to the new Common::FS library * configure_profile_manager: Migrate to the new Common::FS library * configure_ui: Migrate to the new Common::FS library * input_profiles: Migrate to the new Common::FS library * yuzu_cmd: config: Migrate to the new Common::FS library * yuzu_cmd: Migrate to the new Common::FS library * vfs_real: Migrate to the new Common::FS library * vfs: Migrate to the new Common::FS library * vfs_libzip: Migrate to the new Common::FS library * service: bcat: Migrate to the new Common::FS library * yuzu: main: Migrate to the new Common::FS library * vfs_real: Delete the contents of an existing file in CreateFile Current usages of CreateFile expect to delete the contents of an existing file, retain this behavior for now. * input_profiles: Don't iterate the input profile dir if it does not exist Silences an error produced in the log if the directory does not exist. * game_list_worker: Skip parsing file if the returned VfsFile is nullptr Prevents crashes in GetLoader when the virtual file is nullptr * common: fs: Validate paths for path length * service: filesystem: Open the mod load directory as read only
* | | kernel: process_capability: Add MapRegion capabilityGravatar Morph2021-05-252-0/+12
| |/ |/| | | | | - Used by nx-hbloader
* | hle: kernel: service_thread: Take reference to KServerSession on service ↵Gravatar bunnei2021-05-201-9/+5
| | | | | | | | request.
* | hle: kernel: k_port: Use AcceptSession to ensure SessionList state is correct.Gravatar bunnei2021-05-201-1/+1
| | | | | | | | - Fixes a use-after-free, work-around until we fixup session/port management.
* | hle: kernel: Use host memory allocations for KSlabMemory.Gravatar bunnei2021-05-202-144/+20
| | | | | | | | - There are some issues with the current workaround, we will just use host memory until we have a complete kernel memory implementation.
* | Revert "WORKAROUND: Do not use slab heap while we track down issues with ↵Gravatar bunnei2021-05-201-2/+2
| | | | | | | | | | | | resource management." This reverts commit f2c26443f85a3c3fd43137509368ba5c7ab80ee7.
* | hle: kernel: hle_ipc: Simplify incoming/outgoing move/copy/domain objects.Gravatar bunnei2021-05-203-62/+17
| |
* | hle: kernel: Implement CloneCurrentObject and improve session management.Gravatar bunnei2021-05-2013-99/+184
| |
* | Revert "WORKAROUND: temp. disable session resource limits while we work out ↵Gravatar bunnei2021-05-204-11/+11
| | | | | | | | | | | | issues" This reverts commit fc086f93b2165b5c210cb7dcd6c18ebe17f1fd7b.
* | Merge pull request #6320 from Morph1984/get-pidGravatar bunnei2021-05-202-9/+14
|\ \ | | | | | | hle_ipc: Add a getter for PID
| * | hle_ipc: unsigned -> u32Gravatar Morph2021-05-161-7/+7
| | | | | | | | | | | | This is more concise and consistent with the rest of the codebase.
| * | hle_ipc: Add a getter for PIDGravatar Morph2021-05-162-2/+7
| | |
* | | Merge pull request #6317 from ameerj/fps-fixGravatar bunnei2021-05-181-1/+0
|\ \ \ | | | | | | | | perf_stats: Rework FPS counter to be more accurate
| * | | perf_stats: Rework FPS counter to be more accurateGravatar ameerj2021-05-151-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The FPS counter was based on metrics in the nvdisp swapbuffers call. This metric would be accurate if the gpu thread/renderer were synchronous with the nvdisp service, but that's no longer the case. This commit moves the frame counting responsibility onto the concrete renderers after their frame draw calls. Resulting in more meaningful metrics. The displayed FPS is now made up of the average framerate between the previous and most recent update, in order to avoid distracting FPS counter updates when framerate is oscillating between close values. The status bar update frequency was also changed from 2 seconds to 500ms.
* | | | KTransferMemory: Return size instead of size * PageSize in GetSize()Gravatar Morph2021-05-181-1/+1
| |_|/ |/| | | | | | | | size is already the size in bytes. We do not need to multiply it by the page size
* | | Merge pull request #6284 from ameerj/shantae-fixGravatar bunnei2021-05-162-5/+35
|\ \ \ | | | | | | | | nvflinger: Create layers when they are queried but not found
| * | | nvflinger: Create layers when they are queried but not foundGravatar ameerj2021-05-062-5/+35
| | | | | | | | | | | | | | | | Fixes Shantae softlock on boot.
* | | | Merge pull request #6296 from lioncash/shadow-errorGravatar bunnei2021-05-1663-194/+212
|\ \ \ \ | | | | | | | | | | core: Make variable shadowing a compile-time error
| * | | | core: Make variable shadowing a compile-time errorGravatar Lioncash2021-05-1663-194/+212
| | |_|/ | |/| | | | | | | | | | | | | | | | | | Now that we have most of core free of shadowing, we can enable the warning as an error to catch anything that may be remaining and also eliminate this class of logic bug entirely.
* | | | Merge pull request #6307 from Morph1984/fix-response-push-sizeGravatar bunnei2021-05-162-2/+2
|\ \ \ \ | |/ / / |/| | | nifm, ssl: Fix incorrect response sizes
| * | | nifm, ssl: Fix incorrect response sizesGravatar Morph2021-05-162-2/+2
| | |/ | |/|
* | | Merge pull request #6299 from bunnei/ipc-improvementsGravatar bunnei2021-05-1518-219/+353
|\ \ \ | |/ / |/| | Various improvements to IPC and session management
| * | hle: kernel: hle_ipc: Fix outgoing IPC response size calculation.Gravatar bunnei2021-05-113-1/+15
| | |
| * | WORKAROUND: temp. disable session resource limits while we work out issuesGravatar bunnei2021-05-114-11/+11
| | |
| * | WORKAROUND: Do not use slab heap while we track down issues with resource ↵Gravatar bunnei2021-05-111-2/+2
| | | | | | | | | | | | management.
| * | audrenGravatar bunnei2021-05-112-25/+16
| | |
| * | core: hle: ipc_helpers: Fix cast on raw_data_size calculation.Gravatar bunnei2021-05-101-1/+1
| | |
| * | hle: service: sm: Add TIPC support.Gravatar bunnei2021-05-102-41/+66
| | | | | | | | | | | | - Fixes our error checking of names as well.
| * | hle: kernel: hle_ipc: Improve IPC code and add initial support for TIPC.Gravatar bunnei2021-05-102-81/+57
| | | | | | | | | | | | | | | - Fixes our move handles implementation to actually move objects. - Simplifies the traditional IPC path.
| * | hle: service: sm: GetService: Reserve session resource when we create a ↵Gravatar bunnei2021-05-101-0/+7
| | | | | | | | | | | | KSession.
| * | hle: service: Add support for dispatching TIPC requests.Gravatar bunnei2021-05-102-1/+52
| | |
| * | hle: service: Implement IPC::CommandType::Close.Gravatar bunnei2021-05-103-11/+15
| | | | | | | | | | | | - This was not actually closing sessions before.