Liam
9b34afa588
Add implementation of svcCreateSession
2022-10-11 18:15:45 -04:00
Liam
6bcd676b61
general: preliminary support for hbl
2022-10-11 18:15:30 -04:00
Liam
47a2efee73
kernel: add expanded result macros
2022-10-08 12:41:27 -04:00
Liam
5b7c0f13d3
fsp_srv: stub GetCacheStorageSize
2022-10-08 12:24:00 -04:00
Liam
ddf64e56af
IFriendService: stub CheckFriendListAvailability
2022-10-07 22:19:41 -04:00
Liam
9574429c5f
nfp_types: silence -Wtype-limits
2022-10-07 06:52:28 -04:00
Fernando Sahmkow
ca3db0d7c9
General: address feedback
2022-10-06 21:00:54 +02:00
Liam
c80ed6d81f
general: rework usages of UNREACHABLE macro
2022-10-06 21:00:54 +02:00
Morph
903705043d
nvdisp: End system frame after requesting to swap buffers
...
Fixes frametime reporting
2022-10-06 21:00:54 +02:00
Morph
fa342cae22
address_space: Address feedback
2022-10-06 21:00:54 +02:00
Morph
fedd983f96
general: Format licenses as per SPDX guidelines
2022-10-06 21:00:54 +02:00
Fernando Sahmkow
d97d409647
NvHostChannels: improve hack for supporting multiple channels.
2022-10-06 21:00:54 +02:00
Fernando Sahmkow
c2b7de66b3
Address Feedback from bylaws.
2022-10-06 21:00:53 +02:00
Fernando Sahmkow
8a372035db
Nvflinger: correct duplication.
2022-10-06 21:00:53 +02:00
VonChenPlus
9982cff98b
Core: Fix get nvmap object random crash
2022-10-06 21:00:53 +02:00
Fernando Sahmkow
8d774e7415
NvDec: Fix regressions.
2022-10-06 21:00:53 +02:00
Liam White
afab6c143c
General: Fix compilation for GCC
2022-10-06 21:00:53 +02:00
Fernando Sahmkow
a9ca39f859
NVDRV: Further improvements.
2022-10-06 21:00:53 +02:00
Fernando Sahmkow
bc8b3d225e
VideoCore: Refactor fencing system.
2022-10-06 21:00:52 +02:00
Fernando Sahmkow
4d60410dd9
MemoryManager: initial multi paging system implementation.
2022-10-06 21:00:52 +02:00
Fernando Sahmkow
920429fde7
NVDRV: Further refactors and eliminate old code.
2022-10-06 21:00:52 +02:00
Fernando Sahmkow
2931101e6f
NVDRV: Refactor Host1x
2022-10-06 21:00:52 +02:00
Fernando Sahmkow
668e80a9f4
VideoCore: Refactor syncing.
2022-10-06 21:00:52 +02:00
Fernando Sahmkow
f350c3d74e
Texture cache: Fix the remaining issues with memory mnagement and unmapping.
2022-10-06 21:00:52 +02:00
Fernando Sahmkow
6fc4012396
VideoCore: Extra Fixes.
2022-10-06 21:00:52 +02:00
Fernando Sahmkow
feb49c822d
NVDRV: Remake ASGPU
2022-10-06 21:00:52 +02:00
Fernando Sahmkow
c6ea0c650e
NVDRV: Update copyright notices.
2022-10-06 21:00:52 +02:00
Fernando Sahmkow
835b950f7e
NvHostCtrl: Fix merge of nvflinger.
2022-10-06 21:00:52 +02:00
Fernando Sahmkow
2c62563ab5
NVHOST_CTRl: Implement missing method and fix some stuffs.
2022-10-06 21:00:51 +02:00
Fernando Sahmkow
139ea93512
VideoCore: implement channels on gpu caches.
2022-10-06 21:00:51 +02:00
Fernando Sahmkow
c77b8df12e
NVASGPU: Fix Remap.
2022-10-06 21:00:51 +02:00
Fernando Sahmkow
ad038609c8
NVDRV: Fix clearing when destroying.
2022-10-06 21:00:51 +02:00
Fernando Sahmkow
68d9504a04
NVMAP: Fix the Free return parameters.
2022-10-06 21:00:51 +02:00
Fernando Sahmkow
af35dbcf63
NVDRV: Fix Open/Close and make sure each device is correctly created.
2022-10-06 21:00:51 +02:00
Fernando Sahmkow
de0e8eff42
NVDRV: Implement new NvMap
2022-10-06 21:00:51 +02:00
Fernando Sahmkow
3cbe352c18
NVDRV: Refactor and add new NvMap.
2022-10-06 21:00:51 +02:00
Fernando Sahmkow
a21b8824fb
NVDRV: Cleanup.
2022-10-06 21:00:51 +02:00
Fernando Sahmkow
d30b885d71
NVDRV: Implement QueryEvent.
2022-10-06 21:00:51 +02:00
Fernando Sahmkow
39a5ce4e69
NvHost: Remake Ctrl Implementation.
2022-10-06 21:00:51 +02:00
Fernando Sahmkow
ac104a24d1
NvHost: Try a different approach to blocking.
2022-10-06 21:00:51 +02:00
Fernando Sahmkow
7b7f6f1cb7
NvHost: Fix some regressions and correct signaling on timeout.
2022-10-06 21:00:51 +02:00
bunnei
d55096ce85
Merge pull request #9013 from liamwhite/spinning-a-yarn
...
common: remove "yuzu:" prefix from thread names
2022-10-05 18:53:42 -07:00
Narr the Reg
e85c19adcb
service: nfp: Fix errors to pass unit testing
2022-10-03 18:06:55 -05:00
Liam
35d3e7db2a
common: remove "yuzu:" prefix from thread names
2022-10-03 18:43:56 -04:00
bunnei
61399de5db
Merge pull request #8955 from german77/amiibo-rewrite
...
core: nfp: Rewrite implementation to remove direct access from the frontend
2022-10-02 14:28:43 -07:00
german77
1485daff06
service: mii: Copy only valid name bytes
2022-10-02 12:34:24 -05:00
Narr the Reg
d9d566bd3f
service: nfp: Implement mount target and open application area errors, minor fixes
2022-10-02 12:34:14 -05:00
german77
673de3995b
nfp: Multiple fixes against HW
2022-10-02 12:32:26 -05:00
german77
3ce0ef04dd
service: nfp: address comments
2022-10-02 12:32:26 -05:00
german77
afea5c163f
service: nfp: Rewrite and implement applet calls
2022-10-02 12:32:26 -05:00
bunnei
80a3a73123
Merge pull request #8992 from Morph1984/vi-vsync-event
...
service: vi: Retrieve vsync event once per display
2022-10-02 03:02:59 -07:00
bunnei
2a752bbd64
Merge pull request #8876 from FearlessTobi/multiplayer-part3
...
ldn: Implement "local wireless" networked multiplayer
2022-10-01 14:53:36 -07:00
bunnei
dbb9d601df
Merge pull request #8934 from german77/palma_release
...
service: hid: Partially implement palma controller
2022-09-29 12:48:28 -07:00
bunnei
9015a512c2
Merge pull request #8940 from german77/silence
...
yuzu: Silence some clang warnings
2022-09-28 14:37:23 -07:00
Morph
41e855bd42
service: vi: Retrieve vsync event once per display
...
The display vsync event can only be retrieved once per display. Returns VI::ResultPermissionDenied if we attempt to retrieve the vsync event for the same display.
Prevents games such as .hack//G.U. Last Recode from consuming all the handles in the handle table by spamming vsync event retrievals and allows it to go in game.
2022-09-25 21:33:36 -04:00
Morph
acc887cc34
service: vi: Move VI results into its own file
2022-09-25 20:33:25 -04:00
Narr the Reg
23589ad9b8
service: hid: Partially implement palma controller
2022-09-25 00:13:12 -05:00
Andrea Pappacoda
4a493cb10f
chore: fix some typos
...
Fix some typos reported by Lintian
2022-09-23 13:38:23 +02:00
Narr the Reg
5a74ced59a
yuzu: Silence some clang warnings
2022-09-21 11:51:31 -05:00
FearlessTobi
4213f1c126
Address some review comments
2022-09-20 19:36:32 +02:00
bunnei
3a5f9409c8
Merge pull request #8915 from vonchenplus/opus_multi_stream
...
core: implement HwOpus GetWorkBufferSizeForMultiStreamEx
2022-09-17 16:07:33 -07:00
bunnei
7172339c7a
Merge pull request #8827 from german77/amiibo_release
...
core: nfp: Implement amiibo encryption
2022-09-17 11:11:21 -07:00
bunnei
9c32f29af1
Merge pull request #8650 from Kelebek1/vsync
...
[Coretiming/NVNFlinger] Improve multi-core vsync timing, and core timing accuracy
2022-09-17 11:10:54 -07:00
FengChen
672e61d802
core: implement HwOpus GetWorkBufferSizeForMultiStreamEx
2022-09-17 00:28:56 +08:00
Lioncash
d55046c5e9
audio_device: Mark member functions as const where applicable
...
These member functions don't modify any internal state.
2022-09-15 09:06:17 -04:00
Lioncash
1c7dae966d
audio_device: Make AudioDeviceName constructor constexpr
...
These are used as read-only arrays, so we can make the data read-only
and available at compile-time.
Now constructing an AudioDevice no longer needs to initialize some
tables
2022-09-15 09:03:40 -04:00
bunnei
cd4b9bffb2
Merge pull request #8842 from Kelebek1/AudOut
...
[audio_core] Rework audio output
2022-09-10 11:01:11 -07:00
german77
8f207bd93d
yuzu: Multiple room UI improvements
2022-09-10 19:39:25 +02:00
FearlessTobi
f5e635adda
ldn: Initial implementation
2022-09-09 14:30:22 +02:00
german77
063b23cc58
core: nfp: Remove magic numbers
2022-09-07 09:49:43 -05:00
german77
4834961736
core: nfp: Workaround for lack of multiple nfp interfaces
2022-09-07 01:04:00 -05:00
Narr the Reg
caa138b33f
core: nfp: Correct date and amiibo name
2022-09-07 01:04:00 -05:00
Narr the Reg
19a4e12e6e
core: nfp: Implement Convert and RecreateApplicationArea, accuracy fixes
2022-09-07 01:04:00 -05:00
german77
848f69eb19
core: nfp: Implement amiibo encryption
2022-09-07 01:04:00 -05:00
Kelebek1
2129d040a5
Don't stall with nvdec
2022-09-04 05:41:06 +01:00
liamwhite
3faa1c54b6
Merge pull request #8855 from german77/pls
...
core: ns: Implement pl:s service
2022-09-03 18:35:38 -04:00
Narr the Reg
c7a814f10f
core: ns: Implement pl:s service
2022-09-03 17:32:12 -04:00
bunnei
5addff8d59
Merge pull request #8822 from FearlessTobi/multiplayer-fixes
...
network: Fixes and improvements to the room feature
2022-09-02 10:24:32 -07:00
Kelebek1
ea9ff71725
Rework audio output, connecting AudioOut into coretiming to fix desync during heavy loads.
2022-09-02 04:43:04 +01:00
FearlessTobi
65718e2876
Address review comments
2022-09-02 00:50:32 +02:00
Kelebek1
03aedccaa2
Demote services from warning/info to debug to reduce log spam:
...
GetCurrentFocusState
SetClockSpeed
EnableSixAxisSensorUnalteredPassthrough
IsSixAxisSensorUnalteredPassthroughEnabled
Get, GetOld
SetAndWait, SetAndWaitOld
IocParam
IocFree
2022-09-01 16:54:22 +01:00
FearlessTobi
6791301d9a
core/ldn_types: Minor corrections and additions
2022-08-27 04:49:10 +02:00
FearlessTobi
d92826963a
core/bsd: Correctly unbind methods in destructor
...
Prevents yuzu from crashing when the BSD service is created a second time.
2022-08-27 03:12:12 +02:00
FearlessTobi
e431cb8d16
core/acc: Make CheckAvailability use LOG_DEBUG
...
Previously it was spamming the logs in certain multiplayer games like Puyo Puyo Tetris.
2022-08-27 03:08:21 +02:00
bunnei
a07502a638
Merge pull request #8812 from Kelebek1/auto
...
[Audio] Implement AudRenU:RequestUpdateAuto
2022-08-24 11:45:56 -07:00
Kelebek1
56f1dc8dad
Implement AudRenU:RequestUpdateAuto, and use C descriptors when B reports as empty.
2022-08-24 18:14:21 +01:00
bunnei
3e1426c9a3
Merge pull request #8804 from vonchenplus/speed_up_idirectory_services
...
core:filesystem: speed up IDirectory service
2022-08-23 13:56:05 -07:00
vonchenplus
bd018e0123
core:filesystem: speed up IDirectory service
2022-08-23 09:05:59 +08:00
german77
825ac7b9f4
hid: core: Add missing function table names
2022-08-21 23:31:53 -05:00
vonchenplus
4bab0d07a6
core: implement clkrst service
2022-08-20 14:08:59 +08:00
FearlessTobi
6d41088153
core, yuzu: Address first part of review comments
2022-08-15 20:25:42 +02:00
FearlessTobi
f80c7c4cd5
core, network: Add ability to proxy socket packets
2022-08-15 20:25:42 +02:00
liamwhite
536626fdd6
Merge pull request #8731 from FearlessTobi/better-ldn
...
ldn: Add better stubs and more data types
2022-08-12 08:40:30 -04:00
german77
56115f7732
core: ldn: Address review comments part 2
2022-08-11 23:12:32 -05:00
bunnei
0069b5e118
Merge pull request #8724 from german77/no_alpha
...
hid: core: Properly emulate controller color and battery level
2022-08-09 16:21:23 -07:00
Narr the Reg
301702e548
hid: core: Properly emulate controller color and battery level
2022-08-08 13:12:02 -05:00
Narr the Reg
8eb2c73381
core: ldn: Address review comments
2022-08-08 12:49:48 -05:00
bunnei
01bb5d5c4d
Merge pull request #8637 from liamwhite/bad-interrupts
...
kernel: unlayer CPU interrupt handling
2022-08-07 17:48:55 -07:00
FearlessTobi
12dc05032b
ldn: Add better stubs and more data types
...
Co-Authored-By: Narr the Reg <5944268+german77@users.noreply.github.com>
Co-Authored-By: Morph <39850852+Morph1984@users.noreply.github.com>
2022-08-07 23:54:51 +02:00
Kelebek1
9d3b190465
Rework multi-core vsync
2022-08-01 23:51:53 -04:00
Nikita Strygin
1cf6f5c623
Properly write out the command buffer when serving close request
2022-07-31 23:17:45 +03:00
liamwhite
64fd9f41a7
Merge pull request #8636 from german77/irs_cluster_release
...
service: irs: Implement clustering processor
2022-07-27 15:54:28 -04:00
liamwhite
a761d020c6
Merge pull request #8633 from Morph1984/optional-keys
...
applet/swkbd: Implement optional symbol keys
2022-07-27 15:53:32 -04:00
Andrea Pappacoda
cdb240f3d4
chore: make yuzu REUSE compliant
...
[REUSE] is a specification that aims at making file copyright
information consistent, so that it can be both human and machine
readable. It basically requires that all files have a header containing
copyright and licensing information. When this isn't possible, like
when dealing with binary assets, generated files or embedded third-party
dependencies, it is permitted to insert copyright information in the
`.reuse/dep5` file.
Oh, and it also requires that all the licenses used in the project are
present in the `LICENSES` folder, that's why the diff is so huge.
This can be done automatically with `reuse download --all`.
The `reuse` tool also contains a handy subcommand that analyzes the
project and tells whether or not the project is (still) compliant,
`reuse lint`.
Following REUSE has a few advantages over the current approach:
- Copyright information is easy to access for users / downstream
- Files like `dist/license.md` do not need to exist anymore, as
`.reuse/dep5` is used instead
- `reuse lint` makes it easy to ensure that copyright information of
files like binary assets / images is always accurate and up to date
To add copyright information of files that didn't have it I looked up
who committed what and when, for each file. As yuzu contributors do not
have to sign a CLA or similar I couldn't assume that copyright ownership
was of the "yuzu Emulator Project", so I used the name and/or email of
the commit author instead.
[REUSE]: https://reuse.software
Follow-up to 01cf05bc75
2022-07-27 12:53:49 +02:00
FearlessTobi
705f7db84d
yuzu: Add ui files for multiplayer rooms
2022-07-25 21:59:28 +02:00
Narr the Reg
ceb70b2139
Address comments
2022-07-25 11:17:48 -05:00
Liam
6523854dd6
kernel: unlayer CPU interrupt handling
2022-07-25 12:14:15 -04:00
Morph
591d1f1b09
Merge pull request #8549 from liamwhite/kscheduler-sc
...
kernel: use KScheduler from Mesosphere
2022-07-25 12:00:31 -04:00
german77
21b1e9c21a
fix compiler errors
2022-07-24 16:39:32 -05:00
german77
3ac4f3a252
service: irs: Implement clustering processor
2022-07-24 15:01:43 -05:00
Morph
bee823db3a
applet/swkbd: Implement optional symbol keys
...
These are only used in the numeric keyboard, and correspond to the keys to the left and right of the "0" key on the numeric keyboard.
2022-07-24 07:21:02 -04:00
Narr the Reg
403bdc4daf
yuzu: Add webcam support and rebase to latest master
2022-07-23 19:40:25 -05:00
german77
097785e19e
service: irs: Move to IRS namespace and minor fixes
2022-07-23 19:40:25 -05:00
german77
4539700595
service: irs: Split processors and implement ImageTransferProcessor
2022-07-23 19:40:25 -05:00
Kelebek1
458da8a948
Project Andio
2022-07-22 01:11:32 +01:00
bunnei
6e36f4d230
Merge pull request #8598 from Link4565/recv-dontwait
...
Enable the use of MSG_DONTWAIT flag on RecvImpl
2022-07-21 15:43:55 -07:00
Gus Caplan
742f67908c
implement resume message
2022-07-17 22:35:07 -07:00
bunnei
ba8ea95624
Merge pull request #8508 from yuzu-emu/mc-speed-limit
...
hle: service: nvflinger: Factor speed limit into frame time calculation.
2022-07-17 13:59:52 -07:00
bunnei
a5bdf824e6
Merge pull request #8544 from german77/14dot0
...
service: Update some services to 14.0.0+
2022-07-17 12:30:52 -07:00
bunnei
6d160873c4
hle: service: nvflinger: Fix implicit conversion.
2022-07-16 23:11:42 -07:00
bunnei
02282477e7
yuzu: settings: Remove framerate cap and merge unlocked framerate setting.
...
- These were all somewhat redundant.
2022-07-16 23:11:39 -07:00
bunnei
f8aaa59990
hle: service: nvflinger: Factor speed limit into frame time calculation.
...
- This allows the %-based "Limit Speed Percent" setting to work with MC emulation.
- This is already supported for SC emulation.
2022-07-16 23:10:45 -07:00
bunnei
87bb44830b
Merge pull request #8511 from german77/hbmenu
...
service: ptm: Add TS, nifm: Stub GetInternetConnectionStatus
2022-07-16 11:30:56 -07:00
Link4565
912cae21b0
Enable the use of MSG_DONTWAIT flag on RecvImpl
2022-07-16 18:30:28 +01:00
Morph
8266f63130
Merge pull request #8588 from merryhime/IBinder-vdestruct
...
nvflinger: Polymorphic destructor requried for abstract class IBinder
2022-07-15 06:02:31 -04:00
Merry
a1d2fb314e
KCodeMemory: Mark virtual methods as override
2022-07-15 10:39:58 +01:00
Merry
30b23fb7b8
nvflinger: Polymorphic destructor requried for abstract class IBinder
2022-07-15 10:28:54 +01:00
Liam
a9a83fa726
kernel: Ensure all uses of disable_count are balanced
2022-07-14 22:47:18 -04:00
Liam
77137583cd
kernel: be more careful about initialization path for HLE threads
2022-07-14 22:47:18 -04:00
Liam
da07e13e07
kernel: fix single-core preemption points
2022-07-14 22:47:18 -04:00
Liam
21945ae127
kernel: fix issues with single core mode
2022-07-14 22:47:18 -04:00
Liam
0624c880bd
kernel: use KScheduler from mesosphere
2022-07-14 22:47:18 -04:00
liamwhite
9627c550a0
Merge pull request #8510 from german77/vibration
...
input_common: sdl: lower vibration frequency and use it's own unique thread
2022-07-14 20:41:29 -04:00
german77
1584de951a
service: fatal: Add function table
2022-07-14 16:33:09 -05:00
german77
2535e9d1ec
service: btdrv,bcat,btm: Update service tables to 14.0.0
2022-07-14 16:33:09 -05:00
german77
8e0e2e95e6
service am: Update service tables to 14.0.0
2022-07-14 16:33:08 -05:00
german77
32b522b1fd
service: ac: Replace intances of ProfileData with UserData
2022-07-14 16:33:07 -05:00
bunnei
802bbb2263
Merge pull request #8559 from liamwhite/waiter-list
...
kernel: fix usage of waiter_list in Finalize
2022-07-11 12:10:01 -07:00
Kelebek1
b23c6b456c
PR
2022-07-10 08:29:37 +01:00
Kelebek1
240650f6a6
Rework CoreTiming
2022-07-10 06:59:40 +01:00
Liam
1611c53c12
kernel: fix usage of waiter_list in Finalize
2022-07-09 18:54:54 -04:00
liamwhite
7e75593c20
Merge pull request #8502 from liamwhite/end-wait
...
kernel: clean up waiting implementation
2022-07-07 17:31:49 -04:00
Fernando S
d244677df9
Merge pull request #8492 from german77/no_more_errors
...
service: hid: Correct some mistakes and add more validations
2022-07-07 08:29:34 +02:00
liamwhite
07e3c56f0d
Merge pull request #8532 from liamwhite/fiber-supplements
...
common/fiber: make fibers easier to use
2022-07-05 18:20:39 -04:00
Liam
ed0319cfed
common/fiber: make fibers easier to use
2022-07-02 12:33:49 -04:00
Liam
2c1e2c63c3
cpu_manager: properly check idle on return from preemption
2022-06-30 16:54:05 -04:00
german77
b38509b030
service: nifm: Stub GetInternetConnectionStatus
2022-06-28 19:22:46 -05:00
german77
c0264d2121
service: ptm: Rewrite PSM and add TS
2022-06-28 19:22:46 -05:00
german77
5e7e55b98a
input_common: sdl: lower vibration frequency and use it's own unique thread
2022-06-28 19:22:16 -05:00
Narr the Reg
36148fe7f6
service: hid: Correct some mistakes and add more validations
2022-06-28 19:14:55 -05:00
Morph
01bc0c84f0
Merge pull request #8512 from german77/nnResult
...
Replace multiple names with a better name
2022-06-28 16:59:33 -07:00
bunnei
c78f6d4f20
Merge pull request #8504 from comex/mesosphere-current-process
...
Support `InfoType_MesosphereCurrentProcess`
2022-06-27 13:05:07 -07:00
german77
7b48e7b363
core: kernel: Replace instances of KPageLinkedList with KPageGroup
2022-06-26 20:21:45 -05:00
german77
a7d9be1384
core: Replace all instances of ResultCode with Result
2022-06-26 20:21:37 -05:00
comex
bf7e78795f
Re-add missing `case` and braces, and trim whitespace
2022-06-25 18:01:56 -07:00
comex
a14438d013
Update src/core/hle/kernel/svc.cpp
...
Co-authored-by: liamwhite <liamwhite@users.noreply.github.com>
2022-06-25 18:00:29 -07:00
comex
48737a4bb2
Support InfoType_MesosphereCurrentProcess
2022-06-25 16:23:23 -07:00
Liam
075155022e
kernel: clean up waiting implementation
2022-06-25 13:36:14 -04:00
Liam
2c56e94702
kernel: make current thread pointer thread local
2022-06-23 00:28:00 -04:00
bunnei
95b844dbae
Merge pull request #8491 from Morph1984/extra-assert
...
KPageTable: Remove extraneous assert
2022-06-22 14:47:07 -07:00
bunnei
9da4e62573
Merge pull request #8483 from liamwhite/fire-emblem-three-semaphores
...
kernel: wait for threads to stop on pause
2022-06-22 14:46:33 -07:00
Morph
1c8f6ba18f
KPageTable: Remove extraneous assert
...
Since start is always 0 and VAddr is unsigned, we can safely remove this assert.
2022-06-21 21:28:54 -04:00
bunnei
737c446fc1
Merge pull request #8432 from liamwhite/watchpoint
...
core/debugger: memory breakpoint support
2022-06-21 16:04:57 -07:00
bunnei
73e13aa090
Merge pull request #8468 from liamwhite/dispatch-tracking
...
kernel: fix some uses of disable_count
2022-06-21 15:30:27 -07:00
Narr the Reg
f37b2e6f10
service: am: Stub PerformSystemButtonPressingIfInFocus
...
Used by Ring Fit Adventure
2022-06-20 12:35:58 -05:00
Liam
24d7aaf43c
kernel: wait for threads to stop on pause
2022-06-18 16:54:33 -04:00
Nikita Strygin
cf7e4bda92
Implement ExitProcess svc
...
Currently this just stops all the emulation
This works under assumption that only application will try to use
ExitProcess, with services not touching it
If application exits - it quite makes sense to end the emulation
2022-06-16 21:35:34 +03:00
Liam
208ed712f4
core/debugger: memory breakpoint support
2022-06-16 13:18:07 -04:00
Liam
744a208763
kernel: fix some uses of disable_count
2022-06-15 20:53:49 -04:00
Fernando S
f86b770ff7
Merge pull request #8457 from liamwhite/kprocess-suspend
...
kernel: implement KProcess suspension
2022-06-16 02:41:12 +02:00
bunnei
5ace5c1b7a
Merge pull request #8317 from german77/notifa
...
service: notifa: Implement most part of this service
2022-06-15 09:53:50 -07:00
Mai
23514388ed
Merge pull request #8464 from liamwhite/break-debug
...
kernel: notify debugger on break SVC
2022-06-15 11:55:54 -04:00
Liam
a7358ff1d4
kernel: notify debugger on break SVC
2022-06-14 21:06:23 -04:00
Liam
20eab9fed9
core: centralize profile scope for Dynarmic
2022-06-14 18:19:04 -04:00
Liam
888f499188
kernel: implement KProcess suspension
2022-06-14 10:04:11 -04:00
Liam
bd38aefc57
kernel: fix passthrough of local captures in lambda
2022-06-13 20:09:32 -04:00
Liam
6f59e2676b
kernel: ensure class token lambda exit is unreachable
2022-06-13 20:09:00 -04:00
Liam
8fea7e56e5
kernel: fix inconsistency in AutoObjectTraits macro definitions
2022-06-13 20:09:00 -04:00
Liam
084d7d6b01
common: Change semantics of UNREACHABLE to unconditionally crash
2022-06-13 20:09:00 -04:00
bunnei
741da9c8bf
Merge pull request #8388 from liamwhite/simpler-pause
...
CpuManager: simplify pausing
2022-06-13 15:48:03 -07:00
bunnei
ec85eac3c9
Merge pull request #8443 from liamwhite/code-mem
...
kernel: fix KCodeMemory initialization
2022-06-13 11:32:27 -07:00
Narr the Reg
bc8699a9fa
service: hid: Fix gesture regression
2022-06-10 13:14:31 -05:00
Liam
6c659c3a16
kernel: fix KCodeMemory initialization
2022-06-09 12:33:28 -04:00
Liam
af022294dd
CpuManager: simplify pausing
2022-06-08 21:47:29 -04:00
bunnei
073714a762
Merge pull request #8428 from bunnei/nvflinger-fix-timing
...
Follow-up fixes for NVFlinger rewrite (Part 3)
2022-06-08 11:20:05 -07:00
bunnei
c33c9c76bf
Merge pull request #8426 from liamwhite/elf
...
common: consolidate ELF structure definitions
2022-06-05 16:52:06 -07:00
bunnei
888e814130
hle: service: nvflinger: buffer_queue_consumer: Always free released buffers.
2022-06-05 16:06:06 -07:00
Liam
3c313a43fd
common: consolidate ELF structure definitions
2022-06-05 09:42:05 -04:00
bunnei
45bdbf538c
Merge pull request #8395 from german77/ir_stub
...
service: hid: Improve stub of IRS
2022-06-04 01:26:08 -07:00
Liam
07922abffc
core/debugger: Support reading guest thread names
2022-06-01 21:25:32 -04:00
Liam
989d4a7a41
core/debugger: Improved stepping mechanism and misc fixes
2022-06-01 02:15:15 -04:00
Liam
fb4b3c127f
core/debugger: Implement new GDB stub debugger
2022-06-01 00:01:25 -04:00
Narr the Reg
e609bc1c6a
service: hid: Improve stub of IRS
2022-05-31 10:26:13 -05:00
bunnei
f6c47df671
Merge pull request #8368 from german77/seventimes
...
Service: hid: Several improvements and implementations
2022-05-30 10:44:36 -07:00
bunnei
1c8b509441
Merge pull request #8332 from Morph1984/reduce_exec_size
...
general: Use smaller array types where applicable
2022-05-29 02:33:24 -07:00
german77
a1f2610522
service: hid: Implement ResetIsSixAxisSensorDeviceNewlyAssigned
...
Needed by Nintendo Switch Sports
2022-05-27 10:22:37 -05:00
german77
240f59a4c8
service: hid: Implement LoadSixAxisSensorCalibrationParameter and GetSixAxisSensorIcInformation
...
Needed by Nintendo Switch Sports
2022-05-27 10:22:36 -05:00
german77
c889a5805e
service: hid: Implement EnableSixAxisSensorUnalteredPassthrough and IsSixAxisSensorUnalteredPassthroughEnabled
...
Needed by Nintendo Switch Sports
2022-05-27 10:21:10 -05:00
german77
762a30d0db
service: hid: Add error handling to sixaxis functions
2022-05-27 10:21:10 -05:00
german77
390d49c5f1
service: hid: Refractor sixaxis functions
2022-05-27 10:21:10 -05:00
german77
3cf15af31e
service: hid: Implement MergeSingleJoyAsDualJoy according to RE
2022-05-27 10:21:09 -05:00
german77
7aa1d10655
service: hid: Add error handling to setNpadAssignment and variants
2022-05-27 10:21:09 -05:00
german77
74d1b9a254
service: hid: Quick RE fixes and comments
2022-05-27 10:21:08 -05:00
german77
c82806f9cb
input_common: touch: Rewrite touch driver to support multiple touch points
2022-05-23 11:01:14 -05:00
Morph
36d44bf52f
time_zone_manager: Use s8 for month length tables
...
Using this smaller type saves 512 bytes in the compiled executable.
2022-05-13 00:51:11 -04:00
german77
cc6a4bedfc
service: notifa: Implement most part of this service
...
Implements partially RegisterAlarmSetting, UpdateAlarmSetting, LoadApplicationParameter, DeleteAlarmSetting.
Needed for Fitness `Boxing 2: Rhythm & Exercise` and `Ring Fit Adventure`.
2022-05-09 10:28:04 -05:00
Narr the Reg
babd580c64
service: hid: Fix motion refresh rate
2022-05-06 11:13:49 -05:00
german77
7eb0992d2c
service: hid: Disable correctly motion input
2022-05-06 11:13:48 -05:00
Morph
4559112651
hle/result: Update std::expected replacement message
...
std::expected is included in C++23
2022-05-03 17:44:30 -04:00
Morph
f3f3f1b7d9
hle/result: Add ResultRange overload in ResultVal
...
Also marks the implicit conversion operator as constexpr instead of consteval as the constructor is not constant evaluated.
2022-05-03 17:44:30 -04:00
Morph
08bddd7d79
hle/result: Implement ResultRange
...
A ResultRange defines an inclusive range of error descriptions within an error module.
This can be used to check whether the description of a given ResultCode falls within the range.
The conversion function returns a ResultCode with its description set to description_start.
2022-05-02 18:17:39 -04:00
Morph
b50e1596cc
Merge pull request #8274 from german77/firmware
...
service: hid: Stub IsFirmwareUpdateNeededForNotification
2022-04-29 04:08:34 -04:00
Andrea Pappacoda
01cf05bc75
chore: add missing SPDX tags
...
Follow-up to 99ceb03a1c
2022-04-28 18:24:11 +02:00
bunnei
9ed0b5c5f9
Merge pull request #8229 from german77/reinterpret2
...
service: hid: Access shared memory directly
2022-04-27 12:31:27 -07:00
german77
173d849b8f
service: hid: Stub IsFirmwareUpdateNeededForNotification
...
Used in Fitness Boxing 2: Rhythm & Exercise (0100073011382000)
2022-04-27 00:06:30 -05:00
Mai M
8304b14a90
Merge pull request #8261 from liamwhite/jit-cleanup
...
service: jit: document and clean up
2022-04-24 22:03:39 -04:00
Liam
64e93dc959
service: jit: document and clean up
2022-04-24 20:25:42 -04:00
Morph
8eabdc058b
kernel: svc: Replace -1ULL with 0xFFFFFFFFFFFFFFFF
...
Resolves the C4146 compiler warning on MSVC.
2022-04-24 17:40:47 -04:00
Narr the Reg
0f3ad939a8
service: hid: Ensure all structs are initialized
2022-04-23 17:11:43 -05:00
Narr the Reg
61582efeb9
service: hid: Access shared memory directly
2022-04-23 15:41:42 -05:00
Morph
99ceb03a1c
general: Convert source file copyright comments over to SPDX
...
This formats all copyright comments according to SPDX formatting guidelines.
Additionally, this resolves the remaining GPLv2 only licensed files by relicensing them to GPLv2.0-or-later.
2022-04-23 05:55:32 -04:00
Narr the Reg
1d26fabaa7
service: hid: Improve accuracy of sixaxis functions
2022-04-18 15:02:47 -05:00
german77
d2f9412cf1
yuzu: Add custom ringcon configuration
2022-04-16 00:49:26 -05:00
german77
b2359f1527
hidbus: Implement hidbus and ringcon
2022-04-16 00:49:21 -05:00
Fernando S
34710065e8
Merge pull request #8172 from bunnei/kernel-mutex
...
hle: kernel: Use std::mutex instead of spin locks for most kernel locking.
2022-04-16 00:05:04 +02:00
Liam
f17aaeccf9
service: jit: Implement the JIT service
2022-04-13 08:41:27 -04:00
bunnei
ca2accfb25
Merge pull request #8165 from bunnei/ensure-session-port-cleanup
...
Kernel: Track open references to KServerPort and KServerSession.
2022-04-12 14:01:40 -07:00
bunnei
dc2dd5d5a6
Merge pull request #8178 from tech-ticks/skyline-icache-fix
...
hle: kernel: Invalidate entire icache in UnmapProcessMemory and UnmapCodeMemory (fixes #8174 )
2022-04-12 11:23:20 -07:00
bunnei
3f0b93925f
core: hle: kernel: k_thread: Rework dummy thread waiting.
2022-04-11 21:15:38 -07:00
bunnei
965c05b43d
core: hle: service: Allocate a service thread.
2022-04-11 21:13:40 -07:00
bunnei
ae38b8bf5e
hle: kernel: k_spin_lock: Remove unused ThreadPause.
2022-04-11 21:13:40 -07:00
bunnei
8deaac8bd1
hle: kernel: Use std::mutex instead of spin locks for most kernel locking.
2022-04-11 21:13:40 -07:00
bunnei
fd5e1e80da
Merge pull request #8157 from lat9nq/kernel-races
...
kernel: Fix some data races
2022-04-11 21:13:01 -07:00
Jan Beich
d13e48e002
service: sfdnsres: add missing includes for some BSDs after 82d46a974a
...
src/core/hle/service/sockets/sfdnsres.cpp: In function 'Service::Sockets::NetDbError Service::Sockets::AddrInfoErrorToNetDbError(s32)':
src/core/hle/service/sockets/sfdnsres.cpp:66:10: error: 'EAI_NODATA' was not declared in this scope; did you mean 'EAI_NONAME'?
66 | case EAI_NODATA:
| ^~~~~~~~~~
| EAI_NONAME
src/core/hle/service/sockets/sfdnsres.cpp: In function 'std::vector<unsigned char> Service::Sockets::SerializeAddrInfo(const addrinfo*, s32, std::string_view)':
src/core/hle/service/sockets/sfdnsres.cpp:127:53: error: 'sockaddr_in' does not name a type; did you mean 'SockAddrIn'?
127 | const auto addr = *reinterpret_cast<sockaddr_in*>(current->ai_addr);
| ^~~~~~~~~~~
| SockAddrIn
src/core/hle/service/sockets/sfdnsres.cpp:127:64: error: expected '>' before '*' token
127 | const auto addr = *reinterpret_cast<sockaddr_in*>(current->ai_addr);
| ^
src/core/hle/service/sockets/sfdnsres.cpp:127:64: error: expected '(' before '*' token
127 | const auto addr = *reinterpret_cast<sockaddr_in*>(current->ai_addr);
| ^
| (
src/core/hle/service/sockets/sfdnsres.cpp:127:65: error: expected primary-expression before '>' token
127 | const auto addr = *reinterpret_cast<sockaddr_in*>(current->ai_addr);
| ^
src/core/hle/service/sockets/sfdnsres.cpp:127:84: error: expected ')' before ';' token
127 | const auto addr = *reinterpret_cast<sockaddr_in*>(current->ai_addr);
| ^
| )
src/core/hle/service/sockets/sfdnsres.cpp:148:53: error: 'sockaddr_in6' does not name a type; did you mean 'SockAddrIn6'?
148 | const auto addr = *reinterpret_cast<sockaddr_in6*>(current->ai_addr);
| ^~~~~~~~~~~~
| SockAddrIn6
src/core/hle/service/sockets/sfdnsres.cpp:148:65: error: expected '>' before '*' token
148 | const auto addr = *reinterpret_cast<sockaddr_in6*>(current->ai_addr);
| ^
src/core/hle/service/sockets/sfdnsres.cpp:148:65: error: expected '(' before '*' token
148 | const auto addr = *reinterpret_cast<sockaddr_in6*>(current->ai_addr);
| ^
| (
src/core/hle/service/sockets/sfdnsres.cpp:148:66: error: expected primary-expression before '>' token
148 | const auto addr = *reinterpret_cast<sockaddr_in6*>(current->ai_addr);
| ^
src/core/hle/service/sockets/sfdnsres.cpp:148:85: error: expected ')' before ';' token
148 | const auto addr = *reinterpret_cast<sockaddr_in6*>(current->ai_addr);
| ^
| )
2022-04-11 22:26:37 +00:00
Fernando S
4ad6bca31c
Merge pull request #8171 from tech-ticks/skyline-improvements
...
Improvements for game modding with Skyline, DNS resolution
2022-04-10 23:40:54 +02:00
tech-ticks
3b91d213b1
hle: kernel: Invalidate entire icache in UnmapProcessMemory and UnmapCodeMemory ( fixes #8174 )
2022-04-09 13:29:19 +02:00
bunnei
a7f73d606f
hle: kernel: Unify and integrate reference tracking for KServerPort/KServerSession.
...
- These are not managed elsewhere, and need to be tracked and closed on emulation shutdown.
2022-04-08 14:13:22 -07:00
bunnei
b44a564792
hle: kernel: k_server_port: Release ref-counted host emulation members on Destroy.
2022-04-08 14:11:40 -07:00
bunnei
788bebb160
hle: kernel: k_auto_object: Move unregister with kernel to after Destroy.
...
- Destructor is no longer invoked, so our object counting was off.
2022-04-08 14:11:40 -07:00
bunnei
d737652d08
hle: service: sm: Remove manual tracking of KServerPorts.
2022-04-08 14:11:39 -07:00
bunnei
f55fc850a2
hle: kernel: hle_ipc: HasSessionRequestHandler: Check if domain handler is expired rather than locking.
2022-04-08 14:11:39 -07:00
bunnei
04efd729d6
Merge pull request #8169 from merryhime/scoped_lock
...
Replace lock_guard with scoped_lock
2022-04-08 14:01:42 -07:00
tech-ticks
82d46a974a
service: sfdnsres: Implement DNS address resolution
2022-04-08 21:28:03 +02:00
merry
50b10c4bac
Merge pull request #8167 from Tachi107/patch-1
...
fix: remove #pragma once in .cpp file
2022-04-07 22:47:43 +01:00
tech-ticks
1c3983c12e
service: bsd: Add keepalive socket option
2022-04-07 23:30:23 +02:00
Merry
d79274a5d9
core/hle: Standardize scoped_lock initializers
2022-04-07 19:44:07 +01:00
Merry
1f275eb077
core/hle: Replace lock_guard with scoped_lock
2022-04-07 19:44:07 +01:00
Fernando S
50192eb4ad
Merge pull request #8148 from merryhime/interrupts
...
dynarmic: Better interrupts
2022-04-07 16:21:41 +02:00
Andrea Pappacoda
5ca67332ee
fix: remove #pragma once in .cpp file
2022-04-07 12:03:47 +02:00
bunnei
172137f1a0
Merge pull request #8164 from liamwhite/jit-stub
...
service: jit: stub JIT service
2022-04-06 18:34:45 -07:00
Liam
0cfcee95c7
service: jit: stub JIT service
2022-04-06 20:07:01 -04:00
bunnei
eb8c8db899
Merge pull request #8122 from bunnei/improve-thread-usage
...
Improve usage of service host threads
2022-04-06 12:25:25 -07:00
german77
8c089f4e2a
service: hid: Partially revert #8123
2022-04-05 22:35:38 -05:00
bunnei
12dc4d0527
Merge pull request #8137 from bunnei/improve-nvflinger-2
...
Follow-up fixes for NVFlinger rewrite (Part 2)
2022-04-05 19:11:28 -07:00
lat9nq
b976cac49d
k_system_control: Fix data race
...
`return distribution(gen)` is a data race between a read and a write in
two threads, reported by TSan. Remove static random number generators so
they aren't using the same generator.
2022-04-05 19:55:56 -04:00
lat9nq
983916e919
k_auto_object: Fix data race
...
Change the memory order to acqure-release when we decrement the
reference count. Prevents a race with line 89 reported by TSan.
2022-04-03 21:47:58 -04:00
lat9nq
6bcbbb29e7
k_thread: Fix data race
...
TSan reports a data race between writing at cpp:1162 and reading at
h:262. Make the thread_state atomic to prevent this.
2022-04-03 21:47:58 -04:00
lat9nq
d6a0666268
k_process: Fix data race
...
TSan reported a race between thread 36 and thread 34, a read at :225 and
a write at :225 respectively. Make total_proces_running_time_ticks
atomic to avoid this race.
2022-04-03 21:47:57 -04:00
lat9nq
5b5a1b7fa7
kernel: Fix current_process race
...
TSan reported a race at :258 and :803, so make current_process an atomic
pointer.
2022-04-03 21:47:57 -04:00
lat9nq
83b86d915a
k_scheduler_lock: Fix data race
...
TSan reports a race between the main thread and T37 during
IsLockedByCurrentThread and when it's set at the end of Lock(),
respectively. Set owner_thread to an atomic pointer to fix it.
Co-authored-by: bunnei <bunneidev@gmail.com>
2022-04-03 21:47:57 -04:00
merry
f8b8af47ad
dynarmic: Better interrupts
2022-04-03 16:39:48 +01:00
bunnei
2d1af6beee
Merge pull request #8135 from Morph1984/websession-hack
...
applets/web: Keep foreground (websession) web applet open
2022-04-02 20:49:51 -07:00
bunnei
b5910ad0ba
Merge pull request #8123 from german77/bombslinger
...
service: hid: Remove inaccurate behavior on initialization
2022-04-02 20:12:45 -07:00
german77
3e5469a974
service: npad: Default initialize shared memory
2022-04-02 19:43:49 -06:00
Andrea Pappacoda
0c214cb5b9
fix: typos
2022-04-02 16:34:07 +02:00
bunnei
fdf4909f97
hle: service: nvflinger: buffer_queue_producer: Cleanup & fixes.
2022-04-01 22:59:35 -07:00
bunnei
4036e37bbe
hle: service: nvflinger: consumer_base: Cleanup & fixes.
2022-04-01 22:58:40 -07:00
bunnei
30b07878ba
hle: service: nvflinger: buffer_queue_producer: Cleanup & add GetReleasedBuffers.
2022-04-01 22:58:02 -07:00
bunnei
7610554b1e
hle: service: nvflinger: buffer_queue_core: Cleanup & fixes.
2022-04-01 22:56:32 -07:00
bunnei
f9371f36a4
hle: service: nvflinger: Use correct logger namespace.
2022-04-01 22:55:44 -07:00
Morph
93f010c988
hle: service: nvdrv: Create a service thread where appropriate.
2022-04-02 01:24:30 -04:00
bunnei
d02bf6dab1
hle: service: vi: Create a service thread where appropriate.
2022-04-02 01:24:30 -04:00
bunnei
99770653bb
hle: service: bsd: Create a service thread where appropriate.
2022-04-02 01:24:30 -04:00
bunnei
2afef2b609
hle: service: filesystem: Create a service thread where appropriate.
2022-04-02 01:24:30 -04:00
bunnei
11120b5b1e
hle: service: audio: Create a service thread where appropriate.
2022-04-02 01:24:30 -04:00
bunnei
bf1750664c
hle: service: Add option for service interfaces to create or use the default thread.
2022-04-02 01:24:30 -04:00
bunnei
864523327f
hle: kernel: Create a default thread for services that do not need their own host thread.
2022-04-02 01:24:30 -04:00
Morph
1166c3910d
applets/web: Keep foreground (websession) web applet open
...
This is a hack to keep the foreground (websession) web applet open in games using these such as Super Mario 3D All-Stars.
2022-04-01 22:50:01 -04:00
Fernando S
078a6cb0cb
Merge pull request #8116 from ameerj/nvhost_ctrl_bad_param
...
nvhost_ctrl: Only mark EventState::Busy as BadParameter
2022-04-01 01:29:46 +02:00
german77
9346f0b33d
service: hid: Remove inaccurate behavior on initialization
2022-03-31 12:35:57 -06:00
bunnei
c6aa4ec687
Merge pull request #8120 from german77/signal
...
service: hid: Signal event on AcquireNpadStyleSetUpdateEventHandle
2022-03-30 22:45:40 -07:00
bunnei
365c6ad753
Merge pull request #8090 from bunnei/fix-skyline
...
Kernel Memory Updates (Part 7): Various fixes to code memory (Skyline support)
2022-03-30 18:23:37 -07:00
Narr the Reg
c04e65c254
service: hid: Signal event on AcquireNpadStyleSetUpdateEventHandle
2022-03-30 17:09:28 -06:00
ameerj
69807dd208
nvhost_ctrl: Only mark EventState::Busy as BadParameter
...
Fixes an svc break in Kirby and the Forgotten Land with async GPU enabled.
2022-03-29 15:13:30 -04:00
Fernando S
99654721eb
Merge pull request #8088 from bunnei/fixup-nvflinger
...
Follow-up fixes for NVFlinger rewrite
2022-03-27 13:09:59 +02:00
bunnei
9408100a80
hle: kernel: k_page_table: Fix implementations of LockForCodeMemory & UnlockForCodeMemory.
2022-03-26 01:49:34 -07:00
bunnei
0c75913bf2
hle: kernel: k_page_table: Implement LockMemoryAndOpen & UnlockMemory.
2022-03-26 01:46:41 -07:00
bunnei
1b3dba329a
hle: kernel: svc: MapProcessMemory: Fix usage of KPageLinkedList to use physical address space.
2022-03-26 01:35:37 -07:00
bunnei
3bc0c2a625
hle: kernel: svc: CreateCodeMemory: Remove log of 'out' host pointer.
...
- This does not seem terribly useful and is inconsistent with other usage.
2022-03-26 01:34:29 -07:00
bunnei
94543f129e
hle: kernel: k_code_memory: Fix usage of KPageLinkedList to use physical address space.
2022-03-26 01:33:16 -07:00
bunnei
5b667f5e52
hle: kernel: k_page_table: Implement MakeAndOpenPageGroup & MakePageGroup.
2022-03-26 01:25:52 -07:00
bunnei
c975a51ae7
hle: kernel: k_page_table: Add IsHeapPhysicalAddress method.
2022-03-26 01:23:43 -07:00
bunnei
f29410d821
hle: kernel: k_page_linked_list: Add Empty method.
2022-03-26 01:02:42 -07:00
bunnei
4e2401c11a
hle: kernel: svc: UnmapProcessCodeMemory: Fix inverted alignment check.
2022-03-26 01:01:55 -07:00
bunnei
664d8c8732
Merge pull request #8041 from Morph1984/inline-swkbd
...
applets/swkbd: Add support for an updated inline software keyboard
2022-03-25 23:19:11 -07:00
bunnei
25faca8ea7
hle: service: nvflinger: buffer_queue: Remove AutoLock and fix free buffer tracking.
2022-03-25 23:01:03 -07:00
bunnei
07c7f96fb2
hle: service: nvflinger: buffer_queue_consumer: Use scoped_lock instead of unique_lock.
2022-03-25 22:59:06 -07:00
bunnei
13aa0a1f24
hle: service: nvflinger: consumer_base: Use scoped_lock instead of unique_lock.
2022-03-25 22:58:52 -07:00
bunnei
741a8c3034
hle: service: nvflinger: Remove unused BufferQueue.
2022-03-25 22:58:23 -07:00
bunnei
c64e1ae104
hle: nvflinger: ConsumerBase: Mark ctor as explicit.
2022-03-24 18:13:34 -07:00
bunnei
02dbb2ed54
hle: vi: NativeWindow: Fix trivially copyable issues.
2022-03-24 18:13:34 -07:00
bunnei
c9d28c30f0
hle: nvdrv: nvdata: buffer_queue_producer: Minor cleanup.
2022-03-24 18:13:34 -07:00
bunnei
241ecae867
hle: nvdrv: nvdata: Cleanup NvFence static assert.
2022-03-24 18:13:34 -07:00
bunnei
81eefcaa76
hle: nvflinger: Remove unused unordered_map include.
2022-03-24 18:13:34 -07:00
bunnei
3b13f5e43b
hle: nvflinger: buffer_queue_consumer: AcquireBuffer: Fix typo.
2022-03-24 18:13:34 -07:00
bunnei
4d9488033f
hle: nvflinger: Merge Rect with Common::Rectangle.
2022-03-24 18:13:33 -07:00
bunnei
e524def8c0
hle: nvflinger: buffer_queue_core: Declare default dtor.
2022-03-24 18:13:33 -07:00
bunnei
8e35eedf22
hle: nvflinger: buffer_queue_producer: DequeueBuffer: Remove unnecessary lock.
2022-03-24 18:13:33 -07:00
bunnei
0ce308047e
hle: nvflinger: consumer_base: StillTracking: Should be const.
2022-03-24 18:13:33 -07:00
bunnei
480c79edba
hle: nvflinger: graphic_buffer_producer: Remove unnecessary pragma pack.
2022-03-24 18:13:33 -07:00
bunnei
7db60fe7da
hle: nvflinger: parcel: Reserve token size.
2022-03-24 18:13:33 -07:00
bunnei
ddd5a2b1c6
hle: nvflinger: buffer_queue_core: StillTracking: Take const reference.
2022-03-24 18:13:33 -07:00
bunnei
53058ae73f
hle: nvflinger: buffer_queue_core: Cleanup locking.
2022-03-24 18:13:33 -07:00
bunnei
650c9d0d62
hle: nvflinger: Use std::chrono for present_ns.
2022-03-24 18:13:33 -07:00
bunnei
ca12a77670
hle: nvflinger: Migrate android namespace -> Service::android.
2022-03-24 18:13:33 -07:00
bunnei
5849c9a4cd
hle: nvflinger: BufferQueueProducer: Handle SetPreallocatedBuffer with empty buffer.
...
- Used by Naruto Ultimate Ninja Storm.
2022-03-24 18:13:33 -07:00
bunnei
7f4165fc05
hle: vi: Integrate new NVFlinger and HosBinderDriverServer service.
2022-03-24 18:13:33 -07:00
bunnei
a87812c6a1
hle: nvflinger: Add implementation for HosBinderDriverServer service.
2022-03-24 18:13:33 -07:00
bunnei
56284bff6c
hle: nvflinger: Add implementation for BufferQueueProducer class.
2022-03-24 18:13:33 -07:00
bunnei
bfff7b58fd
hle: nvflinger: Add implementation for BufferQueueCore class.
2022-03-24 18:13:33 -07:00
bunnei
6e7f687df4
hle: nvflinger: Add implementation for BufferQueueConsumer class.
2022-03-24 18:13:32 -07:00
bunnei
41983bc0ca
hle: nvflinger: Add implementation for QueueBufferInput and QueueBufferOutput structs.
2022-03-24 18:13:32 -07:00
bunnei
0057159066
hle: nvflinger: Add implementation for BufferItemConsumer class.
2022-03-24 18:13:32 -07:00
bunnei
79e8cdf595
hle: nvflinger: Add implementation for ConsumerBase class.
2022-03-24 18:13:32 -07:00
bunnei
d25cb12bff
hle: nvflinger: Add implementation for BufferSlot class.
2022-03-24 18:13:32 -07:00
bunnei
c723db39c7
hle: nvflinger: Add implementation for BufferItem class.
2022-03-24 18:13:32 -07:00
bunnei
d13e18a8ed
hle: nvflinger: Move implementation for Parcel to its own header.
2022-03-24 18:13:32 -07:00
bunnei
a454670de5
hle: nvflinger: Add android buffer queue definitions to its own header.
2022-03-24 18:13:32 -07:00
bunnei
fe9945ad6c
hle: nvflinger: Add IBinder interface.
2022-03-24 18:13:32 -07:00
bunnei
b9cbc708e8
hle: nvflinger: Add IConsumerListener interface.
2022-03-24 18:13:32 -07:00
bunnei
81e143a3d2
hle: nvflinger: Add ProducerListener interface.
2022-03-24 18:13:32 -07:00
bunnei
fd24d5a0a2
hle: nvflinger: Add android window enumerations to its own header.
2022-03-24 18:13:32 -07:00
bunnei
05ff9e8d4e
hle: nvflinger: Add android Status flags to its own header.
2022-03-24 18:13:32 -07:00
bunnei
05d80fba38
hle: nvflinger: Move BufferTransformFlags to its own header.
2022-03-24 18:13:32 -07:00
bunnei
402273d91b
hle: nvdrv: Rename Fence to NvFence to avoid naming conflicts.
2022-03-24 18:13:32 -07:00
bunnei
d456b9d554
hle: nvflinger: Move PixelFormat to its own header.
2022-03-24 18:13:32 -07:00
bunnei
5a8b9a9706
hle: nvflinger: Add implementation for GraphicBuffer class.
2022-03-24 18:13:32 -07:00
bunnei
8c27465325
hle: nvflinger: Add implementation for Fence class.
2022-03-24 18:13:32 -07:00
bunnei
d47575f2c5
hle: nvflinger: Add implementation for Rect class.
2022-03-24 18:13:32 -07:00
Morph
e6f200b960
applets/swkbd: Split software keyboard initialization
...
Since the CalcArg struct has been updated with a new size and fields, we have to split the initialization of the keyboard into multiple functions.
This also adds support for parsing the new CalcArg struct used by updated versions of Monster Hunter Rise.
2022-03-21 23:58:50 -04:00
Morph
e7c1e6fc27
applets/swkbd: Add new inline software keyboard types
...
These were added in newer firmware versions.
2022-03-21 23:58:50 -04:00
Morph
6e232b9efe
applets/mii: Remove unused include
2022-03-21 23:57:31 -04:00
Morph
c50401903f
applets/mii: Cleanup MiiEdit applet implementation
...
This also enables proper support for MiiEdit applets which are used in games with firmware versions prior to 10.2.0 by handling the 2 different versions of applet inputs and outputs.
2022-03-21 23:57:31 -04:00
Morph
1d5f6b173d
applets/mii: Cleanup MiiEdit applet types
2022-03-21 23:57:31 -04:00
Morph
7c44a4ede3
applets/mii: Move MiiEdit applet types into its own file
2022-03-21 23:57:31 -04:00
Morph
aa44ef7b64
service: Move mii enums and structs into its own file
...
Moves these into types.h, since other files also make use of these types.
2022-03-21 23:57:31 -04:00
Morph
e05e6853fa
applets: Rename Mii to MiiEdit
2022-03-21 23:57:31 -04:00
bunnei
82ac66f8a4
Merge pull request #8048 from ameerj/include-purge
...
general: Reduce unused includes across the project
2022-03-21 18:03:54 -07:00
bunnei
5960d54722
Merge pull request #8040 from Morph1984/handle-table
...
KHandleTable: Optimize table entry layout
2022-03-19 23:17:37 -07:00
ameerj
923decae5a
common: Reduce unused includes
2022-03-19 15:01:31 -04:00
ameerj
ade596121b
core: Reduce unused includes
2022-03-19 02:23:32 -04:00
bunnei
8c8b5359f2
Merge pull request #8028 from v1993/patch-9
...
bsd: Allow inexact match for address length in AcceptImpl
2022-03-18 18:06:13 -07:00
ameerj
d618bba8a6
general: Reduce core.h includes
2022-03-18 02:13:02 -04:00
Morph
8b7d571b66
KHandleTable: Optimize table entry layout
...
Since the handle type is not being used, we can reduce the amount of space each entry takes up by 4 bytes.
2022-03-18 00:28:25 -04:00
bunnei
f55af65e82
Merge pull request #7964 from german77/miiii
...
applet: mii: Simple implementation of mii applet
2022-03-16 21:37:53 -07:00
Valeri
9e633999d6
bsd: Allow inexact match for address length in AcceptImpl
...
Minecraft passes in zero for length, but this should account for all possible cases
2022-03-15 14:06:34 +03:00
bunnei
e95bb782f0
core: hle: kernel: init_slab_setup: Move CalculateSlabHeapGapSize to global namespace.
2022-03-14 18:14:54 -07:00
bunnei
5f3e77d93e
core: hle: kernel: Allocate dummy threads on host thread storage.
...
- Fixes a crash where on subsequent boots, long-lived host threads would have their dummy threads freed.
2022-03-14 18:14:54 -07:00
bunnei
82a2463062
core: hle: kernel: Downgrade dangling objects warning to debug.
...
- It is not impossible to leak kernel objects, so this is not really any issue anymore (albeit, still interesting).
2022-03-14 18:14:54 -07:00
bunnei
f7d1929816
core: hle: kernel: Make object list container global and ensure it is reset on each emulation session.
2022-03-14 18:14:54 -07:00
bunnei
51589c5e21
core: hle: kernel: Remove server session tracking.
...
- These are now allocated/managed by emulated memory, so we do not need to track and free them on shutdown.
2022-03-14 18:14:54 -07:00
bunnei
0defac2f2a
core: hle: kernel: k_process: Remove handle table finalize, reset page table.
2022-03-14 18:14:54 -07:00
bunnei
813b2ef253
core: hle: kernel: k_process: Implement thread local storage accurately.
2022-03-14 18:14:54 -07:00
bunnei
3210bc2767
core: hle: kernel: k_page_table: Add implementations of MapPages, UnmapPages, and FindFreeArea for TLS.
2022-03-14 18:14:54 -07:00
bunnei
15d9b0418f
core: hle: kernel: k_slab_heap: Refresh to use guest allocations.
2022-03-14 18:14:54 -07:00
bunnei
a25cd4bb4b
core: hle: kernel: Update init_slab_heap, use device memory, and add KThreadLocalPage and KPageBuffer.
...
- Refreshes our slab initialization code to latest known behavior.
- Moves all guest kernel slabs into emulated device memory.
- Adds KThreadLocalPage and KPageBuffer, which we will use for accurate TLS management.
2022-03-14 18:14:54 -07:00
bunnei
91819726b1
core: hle: kernel: k_page_buffer: Add KThreadLocalPage primitive.
2022-03-14 18:14:53 -07:00
bunnei
08434842b3
core: hle: kernel: k_page_buffer: Add KPageBuffer primitive.
2022-03-14 18:14:53 -07:00
bunnei
4a28d8cebb
core: hle: kernel: k_thread: Ensure host Fiber is freed.
2022-03-14 18:14:53 -07:00
bunnei
ed67e1dd10
core: hle: kernel: k_server_session: Ensure SessionRequestManager is freed.
2022-03-14 18:14:53 -07:00
bunnei
bfc4823e36
core: hle: service: kernel_helpers: Use system resource limit.
2022-03-14 18:14:53 -07:00
bunnei
8873c0c3db
core: hle: service: sm: Fix KPort reference count.
2022-03-14 18:14:53 -07:00
bunnei
25c0acc388
core: hle: kernel: k_thread: Update to reflect tree changes.
2022-03-14 18:14:53 -07:00
bunnei
07c9d9bdbd
core: hle: kernel: Use weak_ptr where possible for SessionRequestHandler and SessionRequestManager.
2022-03-14 18:14:53 -07:00
bunnei
ce33503adf
core: hle: kernel: k_memory_layout: Update kernel slab memory sizes.
2022-03-14 18:14:53 -07:00
bunnei
0f0e1c25bc
core: hle: kernel: svc_types: Add ThreadLocalRegionSize.
2022-03-14 18:14:53 -07:00
bunnei
944d9186ca
core: hle: kernel: k_condition_variable: Update to reflect tree changes.
2022-03-14 18:14:53 -07:00
bunnei
158c5845ab
core: hle: kernel: k_address_arbiter: Update to reflect tree changes.
2022-03-14 18:14:53 -07:00
bunnei
853e58e593
hle: service: ldr: Use deterministic addresses when mapping NROs.
...
- Instead of randomization, choose in-order addresses for where to map NROs into memory.
- This results in predictable behavior when debugging and consistent behavior when reproducing issues.
2022-03-08 17:38:20 -08:00
bunnei
749f76e6fe
hle: kernel: KPageTable: Improve implementations of MapCodeMemory and UnmapCodeMemory.
...
- This makes these functions more accurate to the real HOS implementations.
- Fixes memory access issues in Super Smash Bros. Ultimate that occur when un/mapping NROs.
2022-03-07 17:18:20 -08:00
bunnei
3ab82e7582
Merge pull request #7956 from bunnei/improve-mem-manager
...
Kernel Memory Updates (Part 4): Revamp KMemoryManager & other fixes
2022-03-02 17:55:51 -08:00
german77
03d671fabc
applet: mii: Simple implementation of mii applet
2022-02-28 18:53:41 -06:00
bunnei
14d28a043d
hle: kernel: Re-create memory layout at initialization.
...
- As this can only be derived once.
2022-02-27 18:00:09 -08:00
bunnei
16e5954fcb
hle: kernel: Remove unused pool locals.
2022-02-27 18:00:09 -08:00
bunnei
f87f076162
hle: kernel: k_memory_manager: Rework for latest kernel behavior.
...
- Updates the KMemoryManager implementation against latest documentation.
- Reworks KMemoryLayout to be accessed throughout the kernel.
- Fixes an issue with pool sizes being incorrectly reported.
2022-02-27 18:00:09 -08:00
merry
16784e5bb3
dynarmic: Inline exclusive memory accesses
...
Inlines implementation of exclusive instructions into JITted code,
improving performance of applications relying heavily on these
instructions.
We also fastmem these instructions for additional speed, with
support for appropriate recompilation on fastmem failure.
An unsafe optimization to disable the intercore global_monitor is also
provided, should one wish to rely solely on cmpxchg semantics for
safety.
See also: merryhime/dynarmic#664
2022-02-27 19:40:05 +00:00
bunnei
adbb9c2b00
hle: kernel: k_page_heap: GetPhysicalAddr can be const.
2022-02-27 10:34:02 -08:00
bunnei
f7e65eb971
hle: kernel: k_page_heap: Remove superfluous consexpr.
2022-02-27 10:34:02 -08:00
bunnei
06e2b76c75
hle: kernel: k_page_heap: Various updates and improvements.
...
- KPageHeap tracks physical addresses, not virtual addresses.
- Various updates and improvements to match latest documentation for this type.
2022-02-27 10:34:02 -08:00
bunnei
5d1a81520c
hle: kernel: Add initial_process.h header.
2022-02-27 10:34:02 -08:00
bunnei
a6496deeed
hle: kernel: board: nx: Add k_memory_layout.h header.
2022-02-27 10:34:02 -08:00
bunnei
9b5e7971dc
hle: kernel: k_system_control: Add GetRealMemorySize and update GetKernelPhysicalBaseAddress.
2022-02-27 10:34:02 -08:00
bunnei
18e77a54c3
hle: kernel: k_memory_layout: Add GetPhysicalLinearRegion.
2022-02-27 10:34:02 -08:00
bunnei
06a21ac229
hle: kernel: k_memory_region_types: Update for new regions.
2022-02-27 10:34:02 -08:00
bunnei
20e9501b0d
Merge pull request #7932 from bunnei/extended-mem-layout
...
Add extended memory layout (6GB) support and improve KResourceLimit management
2022-02-26 01:41:08 -08:00
Narr the Reg
d44464829b
service: am: Update enum names to match documentation
2022-02-21 18:00:50 -06:00
bunnei
71f62a346d
hle: kernel: KSystemControl: Use 6GB memory layout when "use_extended_memory_layout" setting is enabled.
...
- This uses a larger 6GB DRAM memory layout, which is useful for some mods that require more memory.
2022-02-21 13:07:19 -08:00
bunnei
ca5e843bf6
core: hle: kernel: Remove resource limit hack for PhysicalMemory.
...
- With prior changes, we now report the correct amount of physical memory available to the emulated process.
2022-02-21 12:41:31 -08:00
bunnei
a74fddc98f
core: hle: kernel: KProcess: Pass in KResourceLimit on process creation.
...
- This allows us to have a resource limit per process, rather than use the global system resource limit.
2022-02-21 12:41:31 -08:00
bunnei
57ebcbf2c4
core: hle: kernel: KEvent: Pass in owner KProcess on event creation.
...
- This is necessary to ensure resource limits are freed from the right process.
2022-02-21 12:41:06 -08:00
bunnei
c7019db6f4
core: hle: kernel: KResourceLimit: Add a helper function for creating a KResourceLimit for a process.
2022-02-21 12:40:09 -08:00
bunnei
21f5912ec9
Merge pull request #7919 from bunnei/phys-mem-updates
...
core: hle: kernel: KPageTable: Improve Un/MapPhysicalMemory.
2022-02-21 13:39:05 -07:00
bunnei
8d46c3cc66
Merge pull request #7920 from bunnei/fix-unmap-pages
...
core: hle: kernel: KPageTable: Fix UnmapPages.
2022-02-21 13:38:52 -07:00
bunnei
92b2e92620
fixup! core: hle: kernel: KPageTable: Improve Un/MapPhysicalMemory.
2022-02-19 00:14:27 -08:00
bunnei
2984695265
Merge pull request #7867 from german77/amiibo
...
nfp: Improve amiibo support
2022-02-19 00:57:47 -07:00
bunnei
c9260a75f6
core: hle: kernel: KPageTable: Fix UnmapPages.
...
- Fixes a logic bug in KPageTable::UnmapPages.
2022-02-18 23:48:16 -08:00
bunnei
1a16d055df
core: hle: kernel: KPageTable: Improve Un/MapPhysicalMemory.
...
- Improves the implementations of MapPhysicalMemory and UnmapPhysicalMemory to more closely reflect latest HOS.
2022-02-18 23:42:27 -08:00
Mai M
c48b9668f0
Merge pull request #7866 from xerpi/svc-OutputDebugString32-CreateCodeMemory32-ControlCodeMemory32
...
kernel: svc: Add OutputDebugString32, CreateCodeMemory32, ControlCodeMemory32
2022-02-16 22:49:56 -05:00
bunnei
027ff7847c
Merge pull request #7878 from german77/mnpp
...
service/mnpp: Stub mnpp_app
2022-02-16 18:42:49 -07:00
Sergi Granell
c3242abe95
kernel: svc: Add OutputDebugString32, CreateCodeMemory32, ControlCodeMemory32
...
Very straightforward, they are just wrappers to the 64-bit version of
the SVC.
2022-02-15 00:45:19 +01:00
bunnei
d81cdd9114
Merge pull request #7871 from german77/svc2
...
svc: Set unique names for function tables
2022-02-14 16:32:54 -07:00
german77
b57d61010f
nfp: Allow files without password data
2022-02-13 13:52:34 -06:00
lat9nq
c5d22952bf
hid: Stub IsUsbFullKeyControllerEnabled
...
Used by Splatoon 2, when opening the inventory from a LAN battle lobby.
Reference: https://switchbrew.org/wiki/HID_services
2022-02-12 15:42:50 -05:00
bunnei
ca9da569ce
Merge pull request #7852 from Morph1984/new-uuid
...
common: Revise and fix the UUID implementation
2022-02-10 21:52:13 -07:00
Narr the Reg
6705439cf3
service/mnpp: Stub mnpp_app
...
Used in Super Nintendo Entertainment System™ - Nintendo Switch Online
2022-02-10 21:55:28 -06:00
Narr the Reg
6a1ad03153
nfp: Separate nfc tag from amiibo data
2022-02-10 10:58:37 -06:00
Narr the Reg
d0c7c3f64f
svc: Set unique names for function tables
2022-02-08 21:03:31 -06:00
bunnei
862dddf8c9
hle: kernel: KCodeMemory: Remove unused QueryMemory.
2022-02-08 18:49:41 -08:00
bunnei
d134ca68c6
hle: kernel: KCodeMemory: Correct m_page_group number of pages.
...
Credits to @xerpi for finding this issue and pointing it out on #7519 .
2022-02-08 18:47:11 -08:00
german77
e35c2fd5d0
nfp: Address compiler issues
2022-02-08 18:52:44 -06:00
Narr the Reg
29f9a454eb
nfp: Validate amiibo files
2022-02-08 14:09:30 -06:00
german77
fc9abd3c62
nfp: Improve implementation
2022-02-08 10:08:04 -06:00
german77
c001a2af25
nfp: Move IUser class to header and add missing enum and structs
2022-02-07 09:18:22 -06:00
german77
3d24eb54ec
nfp: Sort functions by command number
2022-02-07 09:18:22 -06:00
Morph
25db62ce15
general: Rename NewUUID to UUID, and remove the previous UUID impl
...
This completes the removal of the old UUID implementation.
2022-02-05 13:56:21 -05:00
Morph
dfe11d72e3
profile: Migrate to the new UUID implementation
2022-02-05 13:56:21 -05:00
Morph
f0340b8d22
hle: ipc_helpers: Ignore -Wclass-memaccess
...
This warning is triggered by GCC when copying into non-trivially default constructible types, as it uses the more restrictive std::is_trivial (which includes std::is_trivially_default_constructible) to determine whether memcpy is safe instead of std::is_trivially_copyable.
2022-02-05 13:56:20 -05:00
Morph
ee0547e4c4
service: Migrate to the new UUID implementation
2022-02-05 13:18:46 -05:00
tech-ticks
16bf50e610
service: pm: Implement AtmosphereGetProcessInfo
2022-02-04 01:41:36 +01:00
bunnei
03186af6a1
Merge pull request #7835 from bunnei/page-table-lock
...
hle: kernel: KPageTable: Migrate locks to KScopedLightLock.
2022-02-02 17:58:55 -07:00
Lioncash
f785f73e92
general: Replace NonCopyable struct with equivalents
2022-02-02 13:17:12 -05:00
Lioncash
76d83ffbec
general: Move deleted copy/move constructor/assignment operators to public interface
...
This allows for better compiler errors, where the compiler will state a
copy or move couldn't occur due to the relevant function being deleted.
Previously a compiler would warn about the relevant function not being
accessible (which, while true, isn't as informative as it could be).
2022-02-02 12:17:08 -05:00
bunnei
995e27e9b7
hle: kernel: KPageTable: Migrate locks to KScopedLightLock.
...
- More accurately reflects real kernel behavior by using guest locks.
2022-02-01 19:34:24 -08:00
Narr the Reg
1ed22b4613
svc: Add 32 bit SynchronizePreemptionState
...
Used by Espgaluda II
2022-01-31 19:02:41 -06:00
bunnei
3a1a3dd0db
hle: kernel: KScheduler: Fix deadlock with core waiting for a thread lock that has migrated.
...
- Previously, it was possible for a thread migration to occur from core A to core B.
- Next, core B waits on a guest lock that must be released by a thread queued for core A.
- Meanwhile, core A is still waiting on the core B's current thread lock - resulting in a deadlock.
- Fix this by try-locking the thread lock.
- Fixes softlocks in FF8 and Pokemon Legends Arceus.
2022-01-27 12:17:14 -08:00
bunnei
adcac857f8
Merge pull request #7762 from bunnei/un-map-improve
...
Kernel Memory Updates (Part 4): Improve Un/MapPages, and more.
2022-01-26 17:54:20 -08:00
Morph
8dbad556ec
Merge pull request #7771 from lioncash/assert
...
kernel/k_affinity_mask: Remove duplicated assert
2022-01-25 16:15:18 -05:00
Lioncash
2f12caccf9
kernel/k_affinity_mask: Remove duplicated assert
...
This is already checked inside GetCoreBit()
2022-01-24 10:35:22 -05:00
bunnei
59add00d4a
hle: kernel: KThread: Improve Increment/Decrement RunningThreadCount.
...
- Previously implementation was incorrect, and would occasionally underflow.
2022-01-22 21:09:45 -08:00
bunnei
e791da9791
core: hle: kernel: KPageTable: Various improvements to MapPages and UnmapPages.
2022-01-22 20:51:34 -08:00
bunnei
07add23251
core: hle: kernel: KPageTable: MapProcessCode: Various cleanup.
2022-01-22 20:51:34 -08:00
bunnei
ee25e0a40b
core: hle: kernel: KPageTable: ReserveTransferMemory: Various cleanup.
2022-01-22 20:51:34 -08:00
bunnei
0cee5e1af8
core: hle: kernel: KPageTable: ResetTransferMemory: Various cleanup.
2022-01-22 20:51:34 -08:00
bunnei
ffcaf5af90
core: hle: kernel: KPageTable: SetMemoryAttribute: Various cleanup.
2022-01-22 20:51:34 -08:00
bunnei
2935c9d8de
core: hle: kernel: KPageTable: Assert valid address on GetPhysicalAddr.
2022-01-22 01:33:26 -08:00
bunnei
264bb5abf7
core: hle: kernel: KPageTable: Operate: Assert lock ownership.
2022-01-22 01:33:26 -08:00
bunnei
0137f2e6e1
core: hle: kernel: KPageTable: SetHeapSize: Cleanup & take physical memory lock.
2022-01-22 01:33:26 -08:00
bunnei
6d8e498f76
core: hle: kernel: Refactor Un/MapPhysicalMemory to remove unnecessary methods.
2022-01-22 01:33:26 -08:00
bunnei
b8b1b58f36
core: hle: kernel: Rename Un/Map to Un/MapMeory.
2022-01-22 01:33:26 -08:00
bunnei
68c8a1b170
Merge pull request #7737 from bunnei/fix-dummy-thread-leak
...
Various fixes to HLE service thread management
2022-01-21 22:34:47 -08:00
bunnei
cef7649bed
Merge pull request #7752 from Morph1984/SetCpuOverclockEnabled
...
service: apm: Stub ISession SetCpuOverclockEnabled
2022-01-21 17:13:52 -08:00
bunnei
615fb40416
hle: kernel: KThread: Ensure host (dummy) threads block on locking.
...
- But do not enter the priority queue, as otherwise they will be scheduled.
- Allows dummy threads to use guest synchronization primitives.
2022-01-21 17:12:06 -08:00
Lioncash
12bf8ca929
service/wlan: Update function tables
2022-01-21 16:35:51 -05:00
Lioncash
8dd6dc9a29
service/usb: Update function tables
2022-01-21 16:31:57 -05:00
Lioncash
43039d95ac
service/set: Update function tables
2022-01-21 16:26:12 -05:00
Lioncash
7ba6f68a8d
service/ns: Update function tables
2022-01-21 16:21:35 -05:00
Lioncash
19c11e2fd2
service/nim: Update unknown function table entries
2022-01-21 16:17:40 -05:00
Lioncash
888bc10c17
service/friend: Update unknown function table entries
2022-01-21 16:08:46 -05:00
Lioncash
54150f5afa
service/filsystem: Update fsp-srv function table
2022-01-21 16:07:01 -05:00
Lioncash
3da43ad2a9
service/btm: Update function tables
2022-01-21 15:59:41 -05:00
Lioncash
0f7337c522
service/audio: Update audctl unknown function names
2022-01-21 15:50:38 -05:00
Lioncash
29e3636e0a
service/am: Update omm function tables
2022-01-21 15:40:08 -05:00
Lioncash
a271cf89cf
service/acc: Update unknown function names
...
Switchbrew has the function names now.
2022-01-21 15:33:22 -05:00
Morph
a396473201
service: apm: Stub ISession SetCpuOverclockEnabled
...
Since we don't currently support CPU overclocking within the emulated system, this can be stubbed for now, like APM IsCpuOverclockEnabled.
- Used by Gravity Rider Zero
2022-01-20 21:07:26 -05:00
bunnei
f6815086a1
hle: kernel: Remove redundant tracking of dummy threads.
...
- These are already tracked by kernel's registered_objects member.
2022-01-20 17:08:00 -08:00
bunnei
91ff6d4cb3
hle: kernel: KThread: DummyThread can be waited, ensure wait_queue is not nullptr.
2022-01-20 17:08:00 -08:00
bunnei
46a620f9d7
hle: kernel: KThread: Decrease DummyThread priority to ensure it is never scheduled.
2022-01-20 17:08:00 -08:00
bunnei
0b37e7cb39
hle: kernel: service_thread: Ensure dummy thread is closed & destroyed on thread exit.
2022-01-20 17:08:00 -08:00
bunnei
384e24d3e9
hle: kernel: KServerSession: Remove hack for CompleteSyncRequest.
...
- This does not appear to be necessary anymore.
2022-01-20 17:08:00 -08:00
bunnei
ad53dc22fd
hle: kernel: KServerSession: Simplify CompleteSyncRequest EndWait.
...
- Considering is_thread_waiting is never set, so we can remove IsThreadWaiting.
- KThread::EndWait will take the scheduler lock, so we can remove the redundant lock.
2022-01-20 17:08:00 -08:00
bunnei
5ffec69dc7
hle: kernel: KThread: Ensure dummy threads never call EndWait.
...
- These are only used by host threads for locking and will never have a wait_queue.
2022-01-20 17:08:00 -08:00
bunnei
11a380c3da
hle: kernel: KScheduler: Ensure dummy threads are never scheduled.
...
- These are only used by host threads for locking.
2022-01-20 17:08:00 -08:00
bunnei
f6cbb14dce
hle: kernel: KThread: Rename thread_type_for_debugging -> thread_type.
...
- This will be used to ensure that we do not schedule dummy threads.
2022-01-20 17:08:00 -08:00
Morph
dc471700ca
Merge pull request #7726 from german77/clamp
...
service/hid: Initialize applet_resource on SetNpadAnalogStickUseCenterClamp
2022-01-19 14:31:15 -08:00
german77
8fa0416fee
service/hid: Initialize applet_resource on SetNpadAnalogStickUseCenterClamp
2022-01-19 14:20:31 -06:00
bunnei
b5e83bcc7b
Merge pull request #7701 from bunnei/clear-mem-pages
...
Kernel Memory Updates (Part 3): Clear KMemoryManager pages & other fixes
2022-01-18 21:20:42 -08:00
bunnei
101d86897b
Merge pull request #7712 from bunnei/fix-thread-exit
...
Accurately implement thread exit
2022-01-17 18:08:24 -08:00
Valeri
84786dde00
hle: remove no-op code
...
Found by static analysis with PVS-Studio. Nobody seems to really know what was it doing there.
2022-01-17 13:51:12 +03:00
bunnei
5eda606952
Merge pull request #7711 from bunnei/fix-service-thread-race-v2
...
hle: kernel: Fix service_threads access to be thread safe V2.
2022-01-14 22:22:39 -08:00
bunnei
b54cbc985e
hle: kernel: k_memory_manager: Clear pages on allocation & free.
...
- Heap pages should be zero'd.
- Also explicitly passed along heap allocation option.
2022-01-14 21:16:33 -08:00
bunnei
4064e03568
Merge pull request #7707 from german77/slow-update
...
service/hid: Decrease motion update rate
2022-01-14 17:13:30 -08:00
bunnei
f499c8177e
core: hle: kernel: KThread: Integrate with KWorkerTask and implement DoWorkerTaskImpl.
...
- This is used to terminate a thread asynchronously after it has been exited.
- This fixes a crash that can occur in Pokemon Sword/Shield because a thread is incorrectly closed on svcExitThread, then, the thread is destroyed on svcCloseHandle while it is still scheduled.
- Instead, we now wait for the thread to no longer be scheduled on all cores before destroying it from KWorkerTaskManager, which is accurate to HOS behavior.
2022-01-14 16:44:14 -08:00
bunnei
d8b3f665db
core: hle: kernel: KProcess: Integrate with KWorkerTask and add unimplemented DoWorkerTaskImpl.
2022-01-14 16:44:14 -08:00
bunnei
03884b7ea6
core: hle: kernel: KThread: Replace Suspend with UpdateState & various updates.
...
- This makes our implementations of these more closely match HOS.
2022-01-14 16:44:14 -08:00
bunnei
c905044e1b
core: hle: kernel: Instantiate a kernel instance of KWorkerTaskManager.
2022-01-14 16:44:14 -08:00
bunnei
bf32fcc817
core: hle: kernel: Add KWorkerTask and KWorkerTaskManager.
...
- These primitives are used to dispatch asynchronous kernel tasks from KThread and KProcess.
2022-01-14 16:43:59 -08:00
bunnei
cc112f971e
hle: kernel: Fix service_threads access to be thread safe V2.
...
- PR #7699 attempted to fix CreateServiceThread and ReleaseServiceThread to be thread safe, but inadvertently introduced a possible dead-lock.
- With this PR, we use a worker thread to manage the service thread list, allowing it only to be accessed by a single thread, and guaranteeing threads will not destroy themselves.
- Fixes a rare crash in Pokemon Sword/Shield, I've now run this game for ~12 hours non-stop and am quite confident this is a good solution for this issue.
2022-01-14 16:02:57 -08:00
Mai M
b2d45a4072
Merge pull request #7699 from bunnei/fix-service-thread-race
...
hle: kernel: Fix service_threads access to be thread safe.
2022-01-14 00:46:16 -05:00
bunnei
2147240e47
hle: kernel: Fix service_threads access to be thread safe.
...
- CreateServiceThread and ReleaseServiceThread can be accessed by different threads, uses a lock to make this thread safe.
- Fixes a rare crash in Pokemon Sword/Shield that can occur when a new service thread is being created while an old one is being destroyed.
2022-01-13 21:26:10 -08:00
Narr the Reg
8185509683
service/hid: Decrease motion update rate
...
Motion stops working in Mario Tennis in swing mode if the update rate is too fast even when HW it updates at the same speed. 10ms it's the minimum period that the game needs to start working again.
2022-01-12 22:55:33 -06:00
bunnei
49a0e4330e
hle: kernel: k_page_table: Update SetProcessMemoryPermission.
2022-01-11 16:28:11 -08:00
bunnei
6ac44f3bdc
hle: service: ldr: UnmapCodeMemory BSS only when set.
2022-01-11 16:28:11 -08:00
bunnei
6123b6ea45
hle: kernel: k_page_table: ReadAndWrite -> UserReadWrite.
2022-01-11 16:28:11 -08:00
bunnei
081669c334
hle: kernel: k_page_table: Rename *ProcessCodeMemory -> *CodeMemory.
2022-01-11 16:28:11 -08:00
bunnei
af4696657c
core: hle: kernel: svc: Updates to SetMemoryAttribute and SetMemoryPermission.
2022-01-08 12:18:14 -08:00
bunnei
b9a313057e
core: hle: kernel: k_page_table: Update CheckMemoryState.
2022-01-08 03:20:57 -08:00
bunnei
afb06b1495
Merge pull request #7636 from vonchenplus/buffer_queue_query
...
core:hle:service:nvflinger Implement few type in bufferqueue query method
2022-01-04 11:28:49 -08:00
ameerj
7652543231
Revert "Merge pull request #7668 from ameerj/fence-stop-token"
...
This reverts commit e773354477
, reversing
changes made to abbbdc2bc0
.
2022-01-03 20:28:54 -05:00
ameerj
d866916f42
gpu: Use std::stop_token in WaitFence for VSync thread
...
Fixes a hang that may occur when stopping emulation and the VSync thread is blocked on the syncpoint condition variable.
2022-01-03 12:31:33 -05:00
bunnei
3a89723d97
core: hle: kernel: Implement thread pinning.
...
- We largely had the mechanics in place for thread pinning, this change hooks these up.
- Validated with tests https://github.com/Atmosphere-NX/Atmosphere/blob/master/tests/TestSvc/source/test_thread_pinning.cpp .
2021-12-30 15:50:45 -08:00
Feng Chen
1eec9590c3
Remove invalid assertion statement
2021-12-28 18:51:11 +08:00
Feng Chen
88e1e7f14b
Implement few type in bufferqueue query method
2021-12-28 18:51:03 +08:00
bunnei
091463a429
core: hle: kernel: Updated implementation of svcSetHeapSize.
...
- Updates our svcSetHeapSize with latest HOS, furthermore allowing heap size to properly be extended/shrunk.
- Validated with tests https://github.com/Atmosphere-NX/Atmosphere/blob/master/tests/TestSvc/source/test_set_heap_size.cpp .
2021-12-28 01:25:20 -08:00
bunnei
9a0648ff0a
Merge pull request #7621 from bunnei/set-mem-perm
...
core: hle: kernel: Implement SetMemoryPermission.
2021-12-27 23:33:11 -08:00
bunnei
4e7a6639d2
core: hle: kernel: Implement SetMemoryPermission.
...
- Not seen in any games yet, but validated with kernel tests.
2021-12-23 01:10:36 -08:00
bunnei
a0c7d93b84
core: hle: kernel: KThread: X18 should be a cryptographically random number.
...
- This was added with firmware 11.0.0 (https://switchbrew.org/wiki/11.0.0 ).
- X18 is OR'd by kernel with 1, to make sure it is odd.
2021-12-23 00:03:39 -08:00
bunnei
49e3c073a5
hle: kernel: svc: GetInfo: Fix error checking with IdleTickCount.
...
- Enforce tha the supplied handle is invalid, not valid.
- This gets Witcher 3 booting.
2021-12-21 22:41:23 -08:00
bunnei
5e24f7ed31
Merge pull request #7481 from german77/gyro-bias
...
service/hid: Improve console motion accuracy
2021-12-21 00:13:54 -08:00
bunnei
ee6d40d414
Merge pull request #7597 from bunnei/remove-global-lock
...
core: hle: Remove global HLE lock.
2021-12-20 14:24:50 -08:00
ameerj
55650c5b75
kernel: Manually destroy the current process during shut down
...
Avoids a memory leak.
2021-12-19 01:38:25 -05:00
bunnei
c73841500a
core: hle: Remove global HLE lock.
...
- This was added early on as a hack to protect against some concurrency issues.
- It's not clear that this serves any purpose anymore, and if it does, individual components should be fixed rather than using a global recursive mutex.
2021-12-17 16:05:51 -08:00
Narr the Reg
c82e6dc810
core/hid: Cancel any vibration after the test
2021-12-16 13:35:15 -06:00
Valeri
04301e1a8a
Remove erroneous #pragma once
2021-12-13 16:49:01 +03:00
bunnei
280c779898
Merge pull request #7462 from bunnei/kernel-improve-scheduling
...
Kernel: Improve threading & scheduling V3
2021-12-12 22:43:25 -08:00
Narr the Reg
316f80af87
service/hid: Improve console motion accuracy
2021-12-12 23:26:04 -06:00
bunnei
46366c6dca
Merge pull request #7519 from itsmeft24/master
...
kernel: svc: Implement ProcessMemory and CodeMemory SVCs
2021-12-09 00:29:09 -08:00
bunnei
5f7e73c74a
Merge pull request #7525 from german77/notifa
...
service/notif: Add notif:a and stub ListAlarmSettings, Initialize
2021-12-07 23:31:44 -08:00
bunnei
f6e8e61e3e
Merge pull request #7521 from german77/dual_single_joycons
...
service/hid: Implement SetNpadJoyAssignmentMode
2021-12-07 21:03:42 -08:00
bunnei
815189eaf3
Merge pull request #7488 from vonchenplus/support_multiple_videos_playing
...
Support multiple videos playing
2021-12-07 18:38:14 -08:00
itsmeft24
e05c86aa3c
Update k_code_memory.h
2021-12-07 16:58:23 -05:00
itsmeft24
d197246880
make KCodeMemory::GetSourceAddress const
...
Co-authored-by: Mai M. <mathew1800@gmail.com>
2021-12-07 07:58:33 -05:00
bunnei
257d3c9ecf
hle: kernel k_scheduler: EnableScheduling: Remove redundant GetCurrentThreadPointer calls.
2021-12-06 16:39:18 -08:00
bunnei
9a9e7dd78b
hle: kernel k_process: Remove unnecessary .at usage with thread pinning methods.
2021-12-06 16:39:18 -08:00
bunnei
834c25f4d9
hle: kernel: Remove unnecessary virtual specifier on NotifyAvailable.
2021-12-06 16:39:18 -08:00
bunnei
a63af9860b
hle: kernel: Remove unnecessary virtual specifier on EndWait.
2021-12-06 16:39:18 -08:00
bunnei
3f8eb44e7d
hle: kernel: k_light_condition_variable: Revert unnecessary license comment changes.
2021-12-06 16:39:18 -08:00
bunnei
2e8d737a96
hle: kernel: k_condition_variable: Revert unnecessary style changes.
2021-12-06 16:39:18 -08:00
bunnei
0d1bdfc1d4
hle: kernel: Remove unnecessary virtual specifier on CancelWait.
2021-12-06 16:39:18 -08:00
bunnei
d7f6d516ce
hle: kernel: service_thread: Force stop threads on destruction.
2021-12-06 16:39:18 -08:00
bunnei
e596fac6ee
hle: kernel: k_light_lock: Implement CancelWait.
...
- Fixes a crash in Megadimension Neptunia VII.
2021-12-06 16:39:18 -08:00
bunnei
efb5de1c5f
hle: kernel: service_thread: Use std::jthread.
...
- Fixes a potential deadlock on service thread shutdown.
2021-12-06 16:39:18 -08:00
bunnei
a2384a18fa
hle: kernel: k_thread: Skip reschedule on DisableDispatch with SC.
2021-12-06 16:39:18 -08:00
bunnei
42697527ba
hle: kernel: k_thread: Rename sleeping_queue -> wait_queue.
2021-12-06 16:39:18 -08:00
bunnei
e3d156ab0e
hle: kernel: svc: Fix deadlock that can occur with single core.
2021-12-06 16:39:18 -08:00
bunnei
0d9afdedc4
hle: kernel: k_thread: Treat dummy threads as a special type.
2021-12-06 16:39:18 -08:00
FernandoS27
894ed14ebc
hle: kernel: fix timing on thread preemption
2021-12-06 16:39:18 -08:00
FernandoS27
3c2a451f47
hle: kernel: fix scheduling ops from HLE host thread.
2021-12-06 16:39:17 -08:00
bunnei
abbea575cf
hle: kernel: Add a flag for indicating that the kernel is currently shutting down.
2021-12-06 16:39:17 -08:00
bunnei
2c49a65d2b
hle: kernel: KSynchronizationObject: Fix variable shadowing.
2021-12-06 16:39:17 -08:00
bunnei
8f4ff06c4c
hle: kernel: Cleanup to match coding style.
2021-12-06 16:39:17 -08:00
bunnei
316a2dd22a
hle: kernel: KProcess: Improvements for thread pinning.
2021-12-06 16:39:17 -08:00
bunnei
4c74761155
hle: kernel: KThreadQueue: Remove deprecated code.
2021-12-06 16:39:17 -08:00
bunnei
f3d6e31e78
hle: kernel: KConditionVariable: Various updates & simplifications.
2021-12-06 16:39:17 -08:00
bunnei
f62c7091a2
hle: kernel: KThread: Migrate to updated KThreadQueue (part 2).
2021-12-06 16:39:17 -08:00
bunnei
b0671c7cfa
hle: kernel: KThread: Migrate to updated KThreadQueue (part 1).
2021-12-06 16:39:17 -08:00
bunnei
beb55cb90e
hle: kernel: KConditionVariable: Migrate to updated KThreadQueue.
2021-12-06 16:39:17 -08:00
bunnei
e942d97540
hle: kernel: KServerSession: Migrate to updated KThreadQueue.
2021-12-06 16:39:17 -08:00
bunnei
5dff28290f
hle: kernel: KLightConditionVariable: Migrate to updated KThreadQueue.
2021-12-06 16:39:17 -08:00
bunnei
423acf53b7
hle: kernel: KLightLock: Migrate to updated KThreadQueue.
2021-12-06 16:39:17 -08:00
bunnei
15c721b909
hle: kernel: KAddressArbiter: Migrate to updated KThreadQueue.
2021-12-06 16:39:17 -08:00