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.
4 years ago
german77
b2359f1527
hidbus: Implement hidbus and ringcon
5 years ago
Liam
f17aaeccf9
service: jit: Implement the JIT service
4 years ago
bunnei
3f0b93925f
core: hle: kernel: k_thread: Rework dummy thread waiting.
4 years ago
bunnei
ae38b8bf5e
hle: kernel: k_spin_lock: Remove unused ThreadPause.
4 years ago
bunnei
8deaac8bd1
hle: kernel: Use std::mutex instead of spin locks for most kernel locking.
4 years ago
tech-ticks
3b91d213b1
hle: kernel: Invalidate entire icache in UnmapProcessMemory and UnmapCodeMemory ( fixes #8174 )
4 years ago
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.
4 years ago
bunnei
b44a564792
hle: kernel: k_server_port: Release ref-counted host emulation members on Destroy.
4 years ago
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.
4 years ago
bunnei
f55fc850a2
hle: kernel: hle_ipc: HasSessionRequestHandler: Check if domain handler is expired rather than locking.
4 years ago
Merry
1f275eb077
core/hle: Replace lock_guard with scoped_lock
4 years ago
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.
4 years ago
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.
4 years ago
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.
4 years ago
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.
4 years ago
lat9nq
5b5a1b7fa7
kernel: Fix current_process race
TSan reported a race at :258 and :803, so make current_process an atomic
pointer.
4 years ago
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>
4 years ago
merry
f8b8af47ad
dynarmic: Better interrupts
4 years ago
bunnei
bf1750664c
hle: service: Add option for service interfaces to create or use the default thread.
4 years ago
bunnei
864523327f
hle: kernel: Create a default thread for services that do not need their own host thread.
4 years ago
bunnei
9408100a80
hle: kernel: k_page_table: Fix implementations of LockForCodeMemory & UnlockForCodeMemory.
4 years ago
bunnei
0c75913bf2
hle: kernel: k_page_table: Implement LockMemoryAndOpen & UnlockMemory.
4 years ago
bunnei
1b3dba329a
hle: kernel: svc: MapProcessMemory: Fix usage of KPageLinkedList to use physical address space.
4 years ago
bunnei
3bc0c2a625
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
94543f129e
hle: kernel: k_code_memory: Fix usage of KPageLinkedList to use physical address space.
4 years ago
bunnei
5b667f5e52
hle: kernel: k_page_table: Implement MakeAndOpenPageGroup & MakePageGroup.
4 years ago
bunnei
c975a51ae7
hle: kernel: k_page_table: Add IsHeapPhysicalAddress method.
4 years ago
bunnei
f29410d821
hle: kernel: k_page_linked_list: Add Empty method.
4 years ago
bunnei
4e2401c11a
hle: kernel: svc: UnmapProcessCodeMemory: Fix inverted alignment check.
4 years ago
ameerj
ade596121b
core: Reduce unused includes
4 years ago
ameerj
d618bba8a6
general: Reduce core.h includes
4 years ago
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.
4 years ago
bunnei
e95bb782f0
core: hle: kernel: init_slab_setup: Move CalculateSlabHeapGapSize to global namespace.
4 years ago
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.
4 years ago
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).
4 years ago
bunnei
f7d1929816
core: hle: kernel: Make object list container global and ensure it is reset on each emulation session.
4 years ago
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.
4 years ago
bunnei
0defac2f2a
core: hle: kernel: k_process: Remove handle table finalize, reset page table.
4 years ago
bunnei
813b2ef253
core: hle: kernel: k_process: Implement thread local storage accurately.
4 years ago
bunnei
3210bc2767
core: hle: kernel: k_page_table: Add implementations of MapPages, UnmapPages, and FindFreeArea for TLS.
4 years ago
bunnei
15d9b0418f
core: hle: kernel: k_slab_heap: Refresh to use guest allocations.
4 years ago
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.
4 years ago
bunnei
91819726b1
core: hle: kernel: k_page_buffer: Add KThreadLocalPage primitive.
4 years ago
bunnei
08434842b3
core: hle: kernel: k_page_buffer: Add KPageBuffer primitive.
4 years ago
bunnei
4a28d8cebb
core: hle: kernel: k_thread: Ensure host Fiber is freed.
4 years ago
bunnei
ed67e1dd10
core: hle: kernel: k_server_session: Ensure SessionRequestManager is freed.
4 years ago
bunnei
25c0acc388
core: hle: kernel: k_thread: Update to reflect tree changes.
4 years ago
bunnei
07c9d9bdbd
core: hle: kernel: Use weak_ptr where possible for SessionRequestHandler and SessionRequestManager.
4 years ago
bunnei
ce33503adf
core: hle: kernel: k_memory_layout: Update kernel slab memory sizes.
4 years ago