ReinUsesLisp
b3587102d1
core/memory: Read and write page table atomically
Squash attributes into the pointer's integer, making them an uintptr_t
pair containing 2 bits at the bottom and then the pointer. These bits
are currently unused thanks to alignment requirements.
Configure Dynarmic to mask out these bits on pointer reads.
While we are at it, remove some unused attributes carried over from
Citra.
Read/Write and other hot functions use a two step unpacking process that
is less readable to stop MSVC from emitting an extra AND instruction in
the hot path:
mov rdi,rcx
shr rdx,0Ch
mov r8,qword ptr [rax+8]
mov rax,qword ptr [r8+rdx*8]
mov rdx,rax
-and al,3
and rdx,0FFFFFFFFFFFFFFFCh
je Core::Memory::Memory::Impl::Read<unsigned char>
mov rax,qword ptr [vaddr]
movzx eax,byte ptr [rdx+rax]
5 years ago
bunnei
82e0eeed21
hle: kernel: service_thread: Make thread naming more consistent.
5 years ago
bunnei
a2a0f5318d
hle: kernel: Manage service threads on another thread.
- This is to allow service threads to defer destruction of themselves.
5 years ago
bunnei
c192da3f82
hle: kernel: Manage host thread IDs using TLS.
- Avoids the need to have a large map of host to guest thread IDs.
5 years ago
comex
388cf58b31
k_priority_queue: Fix concepts use
- For `std::same_as`, add missing include of `<concepts>`.
- For `std::convertible_to`, create a replacement in `common/concepts.h`
and use that instead.
This would also be found in `<concepts>`, but unlike `std::same_as`,
`std::convertible_to` is not yet implemented in libc++, LLVM's STL
implementation - not even in master. (In fact, `std::same_as` is the
*only* concept currently implemented. For some reason.)
5 years ago
comex
b36896b90e
Add missing include of "core/hle/kernel/kernel.h"
This is needed as the header invokes methods on KernelCore.
5 years ago
ameerj
0383363a8f
svc: demote SleepThread log to LOG_TRACE
This log is called often, and introduces a lot of noise when debug logging is enabled, making it difficult to see other debug logs.
5 years ago
bunnei
dfdac7d38a
hle: kernel: Move ServiceThread ownership to KernelCore.
- Fixes a circular dependency which prevented threads from being released on shutdown.
5 years ago
bunnei
f57be2e626
hle: kernel: service_thread: Add thread name and take weak_ptr of ServerSession.
5 years ago
bunnei
7d77a3f88f
hle: service: Acquire and release a lock on requests.
- This makes it such that we can safely access service members from CoreTiming thread.
5 years ago
bunnei
06f8c3dc01
core: Do not reset device_memory on shutdown.
- This will be reset on initialization.
5 years ago
bunnei
d0649d0971
core: hle: kernel: Clear process list on boot.
5 years ago
bunnei
994a9fec4e
hle: service: vi: Refactor to grab buffer only once.
5 years ago
bunnei
6433b1dfd6
service: nvflinger: Improve synchronization for BufferQueue.
- Use proper mechanisms for blocking on DequeueBuffer.
- Ensure service thread terminates on emulation Shutdown.
5 years ago
bunnei
bea51d948d
hle: service: Ensure system is powered on before writing IPC result.
5 years ago
bunnei
6d2f9428c5
core: kernel: Clear process list earlier.
5 years ago
bunnei
916438a9de
core: settings: Untangle multicore from asynchronous GPU.
- Now that GPU is always threaded, we can support multicore with synchronous GPU.
5 years ago
bunnei
5d4715cc6a
hle: kernel: hle_ipc: Remove SleepClientThread.
- This was kind of hacky, and no longer is necessary with service threads.
5 years ago
bunnei
87d6588cb5
hle: service: bsd: Update to work with service threads, removing SleepClientThread.
5 years ago
bunnei
0c81b83ca9
hle: service: nvdrv: Revert #4981 to remove usage of SleepClientThread.
- Note, this always processes the ioctl right away, which fixes BotW 1.0.0 issues.
5 years ago
bunnei
8bc3d66354
hle: kernel: service_thread: Add parameter for thread pool size.
5 years ago
bunnei
19a8f03ad5
hle: service: nvflinger: Refactor locking and interfaces.
5 years ago
bunnei
b377da042b
hle: service: vi: Remove usage of SleepClientThread.
5 years ago
bunnei
28281ae250
core: hle: server_session: Use separate threads for each service connection.
5 years ago
bunnei
c8a4967c9d
core: memory: Ensure thread safe access when pages are rasterizer cached ( #5206 )
* core: memory: Ensure thread safe access when pages are rasterizer cached.
5 years ago
FearlessTobi
10b0ab7926
yuzu: Remove gdbstub configuration
The gdbstub itself was removed with https://github.com/yuzu-emu/yuzu/pull/5028 .
This PR just removes the remaining gdb configuration code from the emulator and the UI.
5 years ago
Morph
82fa9f8d56
applets/web: Implement the online web browser applet
5 years ago
Morph
8b95bf041d
main, applets/web: Re-add progress dialog for RomFS extraction
5 years ago
Morph
d46ca5a015
pl_u, applets/web: Decrypt shared fonts to TTF files
5 years ago
Morph
46183294b2
ns_vm: Stub NeedsUpdateVulnerability
This is used to force system updates on launching the web browser. We do not care about system updates so this can be set to false.
5 years ago
Morph
f9653a4417
frontend/input_interpreter: Add InputInterpreter API
The InputInterpreter class interfaces with HID to retrieve button press states. Input is intended to be polled every 50ms so that a button is considered to be held down after 400ms has elapsed since the initial button press and subsequent repeated presses occur every 50ms.
Co-authored-by: Chloe <25727384+ogniK5377@users.noreply.github.com>
5 years ago
Morph
54ea3c47c8
controllers/npad: Make press_state atomic
5 years ago
Morph
d6d1a8e02c
applets/web: Implement the default web browser applet frontend
5 years ago
Morph
89df483567
applets/web: Implement the offline browser applet backend
5 years ago
Morph
a5750f437d
applets/web: Initial implementation of the web browser applet
5 years ago
Morph
ccb439efb0
applets: Remove the previous web browser applet implementation
5 years ago
Morph
79316be18c
system_archive: Add + and - buttons to the Nintendo Extended OSS font
5 years ago
ameerj
873ad1272e
buffer_queue: better use of std::array
5 years ago
ameerj
8cb683f3b9
Overwrite slots instead of queuing them, add disconnect signal
Fix for Katana Zero and Yoshi's Crafted World
5 years ago
Morph
5d29d2111c
system_archive: Update Nintendo Extended OSS font
Co-authored-by: Its-Rei <kupfel@gmail.com>
5 years ago
Morph
1c773c0869
controllers/npad: Validate device handles before use
Some games such as NEKOPARA Vol. 3 send invalid device handles when calling InitializeVibrationDevice. Introduce a check to validate the device handle before use.
5 years ago
Morph
dfee6321cd
Revert "Merge pull request #5176 from Morph1984/fix-createfile"
This reverts commit 6d6115475b , reversing
changes made to 5fe55b16a1 .
5 years ago
Lioncash
b1657b8c6b
vfs: Use existing type aliases consistently
Makes use of the VirtualDir and VirtualFile aliases across the board
instead of having a few isolated places that don't use it.
5 years ago
Morph
b06d6e3646
vfs_real: Fix CreateFile for files without a file extension
5 years ago
Lioncash
2de124e223
svc: Remove unnecessary casts
Simplifies and removes some casts. In all cases, these were generally
widening from a 32-bit unsigned type to a 64-bit unsigned type, so no
information would be lost from the conversion.
5 years ago
Morph
deff708cbe
IPurchaseEventManager: Implement GetPurchasedEventReadableHandle
- Used by Pokémon Café Mix
- Used by DOOM: Eternal
5 years ago
Morph
a9cfe06aaf
IPurchaseEventManager: Stub Set(Default)DeliveryTarget
- Used by Pokémon Café Mix
- Used by DOOM: Eternal
5 years ago
Morph
009bdb3558
aoc_u: Stub Create(Permanent)EcPurchasedEventManager
- Used by Pokémon Café Mix
- Used by DOOM: Eternal
5 years ago
Lioncash
a44ff5ed31
memory: Resolve -Wdocumentation warning for Write()
Write() doesn't return anything, so the @returns tag shouldn't be
present.
5 years ago
Morph
e15039372e
fsp_srv: Implement OpenDataStorageWithProgramIndex
- Used by RollerCoaster Tycoon 3: Complete Edition
5 years ago