Weiyi Wang
445538c2cf
Merge pull request #4371 from wwylele/kernel-global-3
...
Kernel: eliminate global state for threads and timers
2018-10-30 00:36:10 -04:00
Weiyi Wang
f63098ccdf
Kernel/CodeSet: change struct to class
...
Fix a warning where class definition and forward declaration mismatch. CodeSet is a kernel object and have ctor/dtor/private members like others, so in convention it should be a class
2018-10-28 10:35:40 -04:00
Weiyi Wang
e5b93741d3
kernel/timer: add TimerManager for timer system states
2018-10-26 16:07:45 -04:00
Weiyi Wang
20ae37ba4f
kernel/Thread: move thread list into the manager
2018-10-26 16:07:45 -04:00
Weiyi Wang
7fc61920cc
kernel/Thread: move thread wake up table and callback handle into the manager
2018-10-26 16:07:45 -04:00
Weiyi Wang
0478bc3dee
Kernel/Thread: move thread queue, current thread, and scheduling related function into the manager
...
As we touched it, remove IPC::GetCommandBuffer
2018-10-26 16:07:11 -04:00
Weiyi Wang
876729ab52
kernel/thread: move next_thread_id into manager
2018-10-26 16:07:11 -04:00
Weiyi Wang
34f1fe088c
kernel/thread: add ThreadManager
2018-10-26 16:07:11 -04:00
Weiyi Wang
f3ee5feb02
Merge pull request #4358 from wwylele/kernel-global-2
...
kernel: Eliminate global state in process and handle_table
2018-10-26 15:51:36 -04:00
Weiyi Wang
8ad6cbfde2
kernel/thread: change owner_process parameter to reference
...
To enforce a valid process object
2018-10-26 09:37:46 -04:00
Weiyi Wang
e5c5d1ecce
Kernel: change owner_process in Thread/SharedMemory to raw pointer
...
Otherwise circular ownership would form in Process->handle_table->thread->owner_process
2018-10-25 19:54:06 -04:00
Tobias
dec3fb2dcf
nfc: Add Amiibo support (REOPENED) ( #4337 )
...
* Initial implementation
* Various fixes and new features
* Address some review comments
* Fixes
* Address more comments
* Use g_hle_lock
* Add more state checking, remove unneeded include
* Minor changes
2018-10-24 21:01:38 -04:00
Weiyi Wang
8d32843d68
thread/kernel: remove unused callback_id
...
we use the thread id for the same purpose now
2018-10-23 10:06:32 -04:00
Weiyi Wang
eb285c33fd
kernel: make handle table per-process
2018-10-22 21:32:34 -04:00
Weiyi Wang
fda2a5cf54
kernel/thread: use std::unordered_map for callback record
2018-10-22 21:32:34 -04:00
Weiyi Wang
5b45a3e1b5
Kernel/Timer: use unordered_map for callback recording
2018-10-22 21:32:34 -04:00
Weiyi Wang
8fb3d8ff38
kernel/process: move current process to kernel instance
...
Two functional change:
QueryProcessMemory uses the process passed from handle instead current_process
Thread::Stop() uses TLS from owner_process instead of current_process
2018-10-22 21:32:34 -04:00
Weiyi Wang
d9342622b0
kennel/process: move process list to kernel instance
2018-10-22 21:32:34 -04:00
Weiyi Wang
4238754d8c
kernel/process: move next_process_id to kernel instance
2018-10-22 09:30:48 -04:00
Lioncash
930abb4b5e
svc: Correct vma_map boundary check within QueryProcessMemory
...
This should be using the process instance retrieved within the function,
and not g_current_process, otherwise this is potentially comparing
iterators from unrelated vma_map instances (which is undefined
behavior).
2018-10-21 22:00:12 -04:00
Weiyi Wang
751ebe55e9
Kernel: pass ref down to Object and wrap ID counter into kernel state
2018-10-18 21:41:36 -04:00
Weiyi Wang
87426b29ff
kernel: pass ref to shared memory
2018-10-18 21:41:36 -04:00
Weiyi Wang
2a411bb501
Kernel: wrap resource limit state into kernel state; pass ref to resource limit
2018-10-18 21:41:36 -04:00
Weiyi Wang
13c26b4371
Kernel: pass ref to session pair
2018-10-18 21:41:36 -04:00
Weiyi Wang
1213a298df
Kernel: pass ref to port
2018-10-18 21:41:36 -04:00
Weiyi Wang
c141657d83
Kernel: pass ref to timer
2018-10-18 21:41:36 -04:00
Weiyi Wang
247249d5d3
Kernel: pass ref to sempahore
2018-10-18 21:41:36 -04:00
Weiyi Wang
181646679c
ServiceManager: pass down core reference
2018-10-18 21:41:36 -04:00
Weiyi Wang
d940293d32
Kernel: pass ref to thread
2018-10-18 21:41:36 -04:00
Weiyi Wang
9565091fc2
kernel: pass ref in Process
2018-10-18 21:41:36 -04:00
Weiyi Wang
213b259cf1
kernel: pass ref in CodeSet
2018-10-18 21:41:36 -04:00
Weiyi Wang
7449ba85a6
Kernel: pass ref in Mutex
2018-10-18 21:41:36 -04:00
Weiyi Wang
eec11a94cb
Kernel: pass Kernel ref in Event
2018-10-18 21:41:36 -04:00
Weiyi Wang
734be98966
Kernel: pass Kernel reference into AddressArbiter
2018-10-18 21:41:00 -04:00
Weiyi Wang
f446fd1fe5
Kernel: add KernelSystem class
2018-10-18 21:41:00 -04:00
Weiyi Wang
1de63f9b16
Merge pull request #4328 from B3n30/remove_current_module
...
remove GetCurrentModule() functions in HLE Services
2018-10-18 21:39:24 -04:00
B3n30
eb3af0f16a
Add GetModule() helper functions, for HID, CAM, and CFG
2018-10-12 11:50:50 +02:00
B3n30
1b1de23a98
Fixup: Remove unneeded GetUsername
2018-10-11 20:05:45 +02:00
B3n30
9d53136f20
remove GetCurrentModule() functions in HLE Services
2018-10-11 19:23:14 +02:00
Weiyi Wang
0962ab8da9
Merge pull request #4305 from wwylele/fs-global
...
FS/archive: wrap states into ArchiveManager class
2018-10-11 13:04:02 -04:00
Weiyi Wang
9adc407112
Merge pull request #4304 from B3n30/std_optional
...
Replace boost::optional with std::optional where possible
2018-10-11 12:40:00 -04:00
Sebastian Valle
f405134913
Merge pull request #4306 from Subv/apt_jump
...
Services/APT: Better implementation of PrepareToDoApplicationJump and DoApplicationJump.
2018-10-08 15:44:38 -05:00
Ben
d99b1f581f
NWM_UDS: Signal bind_node_event in Unbind ( #4321 )
2018-10-08 15:44:14 -05:00
Weiyi Wang
756a3d404a
Merge pull request #4283 from valentinvanelslande/seed-db
...
Implement SeedDB & Seed Crypto
2018-10-08 14:18:42 -04:00
Weiyi Wang
0b7b9a51d6
Merge pull request #4299 from B3n30/uds
...
NWM_UDS: Fix some issues, cleanups, better PacketHandling
2018-10-07 13:56:59 -04:00
Subv
8ec2a9817c
Services/APT: Better implementation of PrepareToDoApplicationJump and DoApplicationJump.
...
The real console can't launch an Application directly from within another Application so it has to go through the Home Menu. We do not have such limitation and can directly launch the requested title.
2018-10-06 17:08:24 -05:00
Valentin Vanelslande
7b6c5cd988
fix reply header
2018-10-06 16:59:57 -05:00
Weiyi Wang
389d3d630e
fs/archive: wrap states into archive manager
2018-10-06 01:23:03 -04:00
Weiyi Wang
7678327bf2
fs/archive: move file and directory classes to their own files
2018-10-06 01:23:03 -04:00
Weiyi Wang
b163502744
Core: pass down Core::System reference to all services ( #4272 )
...
* Core: pass down Core::System reference to all services
This has to be done at once due to unified interface used by HLE/LLE switcher
* apt: eliminate Core::System::GetInstance
* gpu_gsp: eliminate Core::System::GetInstance in service
* hid: eliminate Core::System::GetInstance
* nwm: eliminate Core::System::GetInstance
* err_f: eliminate Core::System::GetInstance
2018-10-05 10:59:43 -04:00