Liam
c1771c98f3
common: Change semantics of UNREACHABLE to unconditionally crash
4 years ago
Liam
524737d29b
kernel: fix KCodeMemory initialization
4 years ago
Liam
5772327b39
CpuManager: simplify pausing
4 years ago
Liam
b3dce90004
core/debugger: Support reading guest thread names
4 years ago
Liam
da50e98e3a
core/debugger: Improved stepping mechanism and misc fixes
4 years ago
Liam
2ee161a0bf
core/debugger: Implement new GDB stub debugger
4 years ago
Morph
88052d8c09
kernel: svc: Replace -1ULL with 0xFFFFFFFFFFFFFFFF
Resolves the C4146 compiler warning on MSVC.
4 years ago
Morph
2b87305d31
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.
4 years ago
german77
0a05a333e2
hidbus: Implement hidbus and ringcon
5 years ago
Liam
751903c633
service: jit: Implement the JIT service
4 years ago
bunnei
03f8a16869
core: hle: kernel: k_thread: Rework dummy thread waiting.
4 years ago
bunnei
13b1ee7679
hle: kernel: k_spin_lock: Remove unused ThreadPause.
4 years ago
bunnei
e1b3368c18
hle: kernel: Use std::mutex instead of spin locks for most kernel locking.
4 years ago
tech-ticks
53f7a78e9e
hle: kernel: Invalidate entire icache in UnmapProcessMemory and UnmapCodeMemory ( fixes #8174 )
4 years ago
bunnei
11febb02d6
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.
4 years ago
bunnei
5a3c38e133
hle: kernel: k_server_port: Release ref-counted host emulation members on Destroy.
4 years ago
bunnei
45da07576f
hle: kernel: k_auto_object: Move unregister with kernel to after Destroy.
- Destructor is no longer invoked, so our object counting was off.
4 years ago
bunnei
2878df391c
hle: kernel: hle_ipc: HasSessionRequestHandler: Check if domain handler is expired rather than locking.
4 years ago
Merry
de61c0897c
core/hle: Replace lock_guard with scoped_lock
4 years ago
lat9nq
b64f4230b3
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.
4 years ago
lat9nq
bda62c0837
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.
4 years ago
lat9nq
831f022536
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.
4 years ago
lat9nq
0f347eaf52
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.
4 years ago
lat9nq
53d3082dd4
kernel: Fix current_process race
TSan reported a race at :258 and :803, so make current_process an atomic
pointer.
4 years ago
lat9nq
039ce14442
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>
4 years ago
merry
f54345590b
dynarmic: Better interrupts
4 years ago
bunnei
75e39568a0
hle: service: Add option for service interfaces to create or use the default thread.
4 years ago
bunnei
60f2fe3b48
hle: kernel: Create a default thread for services that do not need their own host thread.
4 years ago
bunnei
533ff8b1a9
hle: kernel: k_page_table: Fix implementations of LockForCodeMemory & UnlockForCodeMemory.
4 years ago
bunnei
003d5761e1
hle: kernel: k_page_table: Implement LockMemoryAndOpen & UnlockMemory.
4 years ago
bunnei
3beb4d4273
hle: kernel: svc: MapProcessMemory: Fix usage of KPageLinkedList to use physical address space.
4 years ago
bunnei
f84511eb4f
hle: kernel: svc: CreateCodeMemory: Remove log of 'out' host pointer.
- This does not seem terribly useful and is inconsistent with other usage.
4 years ago
bunnei
7e6a6bb505
hle: kernel: k_code_memory: Fix usage of KPageLinkedList to use physical address space.
4 years ago
bunnei
506961d8cc
hle: kernel: k_page_table: Implement MakeAndOpenPageGroup & MakePageGroup.
4 years ago
bunnei
416944c501
hle: kernel: k_page_table: Add IsHeapPhysicalAddress method.
4 years ago
bunnei
f5415480de
hle: kernel: k_page_linked_list: Add Empty method.
4 years ago
bunnei
58a4c17e98
hle: kernel: svc: UnmapProcessCodeMemory: Fix inverted alignment check.
4 years ago
ameerj
22e01068e1
core: Reduce unused includes
4 years ago
ameerj
1967757627
general: Reduce core.h includes
4 years ago
Morph
c2a970b67d
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.
4 years ago
bunnei
1494a66aa3
core: hle: kernel: init_slab_setup: Move CalculateSlabHeapGapSize to global namespace.
4 years ago
bunnei
8b109f8a69
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.
4 years ago
bunnei
18baef2ec9
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).
4 years ago
bunnei
58b39c8ad8
core: hle: kernel: Make object list container global and ensure it is reset on each emulation session.
4 years ago
bunnei
29924a999e
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.
4 years ago
bunnei
b7535cd853
core: hle: kernel: k_process: Remove handle table finalize, reset page table.
4 years ago
bunnei
2b881f4ccc
core: hle: kernel: k_process: Implement thread local storage accurately.
4 years ago
bunnei
c8dba7c578
core: hle: kernel: k_page_table: Add implementations of MapPages, UnmapPages, and FindFreeArea for TLS.
4 years ago
bunnei
cb294300ea
core: hle: kernel: k_slab_heap: Refresh to use guest allocations.
4 years ago
bunnei
4b022badf0
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.
4 years ago