Weiyi Wang and Ben
57e1f47a52
Kernel: destruct thread/timer managers after processes ( #4399 )
...
Processes can keep some Thread/Timer object alive while the manager is already destructed, resulting use-after-free in Thread::Stop and Timer::dtor. To resolve this, the manager objects should be destructed after all related object destructed.
Fixes a bug where quiting citra causes crash while the game is using a Timer.
2018-11-04 10:24:37 +01:00
Weiyi Wang and GitHub
7c3d325aff
Merge pull request #4389 from wwylele/kernel-global-4
...
Kernel: clean up the rest of global states
2018-11-01 14:09:27 -04:00
Weiyi Wang
fc84091d88
Service, Kernel: move named port list to kernel
2018-11-01 12:56:40 -04:00
Weiyi Wang
ece96807c4
Kernel: move memory_regions into Kernel instance
2018-11-01 12:56:40 -04:00
Weiyi Wang
263290d48c
HLE: move SharedPage into Kernel
...
similar to config_mem, kernel is responsible for setting up this
2018-11-01 12:56:40 -04:00
Weiyi Wang
773ec47629
Kernel: make config_mem and MapSharedPages members of KernelSystem
2018-11-01 12:56:40 -04:00
Weiyi Wang
95790218f2
HLE: move config_mem to kernel
...
ConfigMem is initialized in kernel and only used by kernel. It is also likely how it works on real 3DS
2018-11-01 11:21:34 -04:00
Weiyi Wang and GitHub
a753b9c6cc
Merge pull request #4228 from NarcolepticK/lle-mapped-buffer
...
LLE Mapped Buffer: Add unmapping of write buffer, zero-size, and multiple page handling
2018-10-30 19:18:11 -04:00
Weiyi Wang and GitHub
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
2183d0d6be
core: use internal kernel pointer directly
2018-10-30 00:35:37 -04:00
Weiyi Wang and GitHub
bd4beb6558
Merge pull request #4386 from wwylele/codeset-class
...
Kernel/CodeSet: change struct to class
2018-10-30 00:30:50 -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 and GitHub
67888f92e5
Merge pull request #4348 from B3n30/native_firm_keys
...
Load keys from save mode native firm
2018-10-28 10:24:29 -04:00
Weiyi Wang and Pengfei Zhu
5b7d21c3cd
FileSys/DelayGenerator: add missing #include and virtual dtor ( #4363 )
...
* FileSys/DelayGenerator: add missing #include and virtual dtor
Added the needed include so that it won't cause error if another file includes this without including the depended files
Deleting a virtual class via base type without virtual dtor is UB, which happens inFileBackend.
* FileSys/DelayGenerator: move function definition into cpp file/n/nTo avoid generating vtable in all units that includes the header file
* filesys/delay_generator: rearrange #include
2018-10-27 12:46:03 +08:00
Weiyi Wang and GitHub
fa46dbdf0b
Merge pull request #4376 from FearlessTobi/port-1571
...
Port yuzu-emu/yuzu#1571 : "graphic_breakpoints: Correct translation of strings in BreakpointModel's data() function"
2018-10-26 22:40:55 -04:00
Weiyi Wang and GitHub
724b458a83
Merge pull request #4373 from FearlessTobi/port-1553
...
Port yuzu-emu/yuzu#1553 : "common: Remove memory_util.h/.cpp"
2018-10-26 22:38:18 -04:00
Weiyi Wang and GitHub
f274340001
Merge pull request #4374 from FearlessTobi/frontend-ports
...
Port various frontend cleanups from yuzu
2018-10-26 22:38:07 -04:00
Weiyi Wang and GitHub
477cda1a7e
Merge pull request #4364 from wwylele/gl-error-tr
...
citra_qt: fix translation for opengl version error
2018-10-26 22:37:47 -04:00
Weiyi Wang and GitHub
dd626bb5db
Merge pull request #4368 from FreddyFunk/unused-import
...
scripting/citra: Removed unused import binascii
2018-10-26 22:37:31 -04:00
Weiyi Wang and GitHub
59cb0ec570
Merge pull request #4359 from FearlessTobi/port-webstuff
...
web_service: Port yuzu-emu/yuzu#1465 and Port yuzu-emu/yuzu#1473 (Many self-contained changes)
2018-10-26 22:34:51 -04:00
Weiyi Wang and GitHub
27ab61f963
Merge pull request #4375 from FearlessTobi/port-1542
...
Port yuzu-emu/yuzu#1542 : "CMakeLists: Use PROJECT_SOURCE_DIR instead of CMAKE_SOURCE_DIR"
2018-10-26 22:34:00 -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 and GitHub
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 and GitHub
902f7b51ac
Merge pull request #4367 from wwylele/cubeb-fix
...
cubeb_sink: ignore null-name device when selecting
2018-10-26 10:18:47 -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
b4062abc11
cubeb_sink: ignore null-name device when selecting
...
We already ignore them on listing devices. We should do the same when selecting devices. This fix a crash when opening a specific device while there is a null device in the list
2018-10-26 09:17:44 -04:00
Weiyi Wang and GitHub
fa0e82b812
SeedDB: replace seek(tell, set) with seek(cur) ( #4344 )
2018-10-25 21:39:26 -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
Weiyi Wang
92b1a5c546
citra_qt: fix translation for opengl version error
...
variable in tr() won't trigger linguist to generate translation entry. Instead it needs a string literal
2018-10-25 14:30:46 -04:00
Weiyi Wang and GitHub
6742472133
Merge pull request #4235 from FearlessTobi/port-1259
...
Port various game_list changes from yuzu
2018-10-24 20:57:58 -04:00
Weiyi Wang and GitHub
218cbd7289
Merge pull request #4360 from FearlessTobi/cmakelists-changes
...
Port yuzu-emu/yuzu#1543 : "CMakeLists: Use target_compile_definitions instead of add_definitions to define CITRA_ENABLE_COMPATIBILITY_REPORTING"
2018-10-24 09:56:12 -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
Weiyi Wang and GitHub
129ca865b3
Merge pull request #4355 from lioncash/query
...
svc: Correct vma_map boundary check within QueryProcessMemory
2018-10-22 09:27:46 -04:00
Weiyi Wang and GitHub
57ce5079bc
Merge pull request #4336 from wwylele/file-util-mingw
...
Only redefine some 64-bit file operation for MSVC
2018-10-21 20:34:48 -04:00
Weiyi Wang and GitHub
6f1759c5bd
Merge pull request #4341 from wwylele/kernel-global
...
Kernel: make a kernel instance and remove object ID counter from global state
2018-10-21 18:53:36 -04:00
Weiyi Wang and GitHub
11729eafe1
Merge pull request #4315 from FearlessTobi/port-1332
...
WebService: Backport review comments from yuzu-emu/yuzu#1332
2018-10-20 18:05:06 -04:00
Weiyi Wang
65ec8de31e
web_service: hide dependencies to private
2018-10-20 10:47:17 -04:00
Weiyi Wang and GitHub
eadd8b91b2
Merge pull request #4338 from FearlessTobi/port-1490
...
Port yuzu-emu/yuzu#1490 : "citra_qt/main: Simplify OnMenuLoadFile()"
2018-10-20 10:09:41 -04:00
Weiyi Wang and GitHub
18caa787d2
Merge pull request #4197 from B3n30/spsc_queue_wait
...
threadsafe_queue: Add PopWait and use it where possible
2018-10-19 19:36:37 -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 and GitHub
1de63f9b16
Merge pull request #4328 from B3n30/remove_current_module
...
remove GetCurrentModule() functions in HLE Services
2018-10-18 21:39:24 -04:00
Weiyi Wang and B3n30
ad232efbf0
apply fixes
2018-10-17 18:35:16 +02:00
Weiyi Wang and GitHub
53a3498aee
Merge pull request #4193 from B3n30/controller5
...
Joystick: Allow for background events; Add deadzone to SDLAnalog
2018-10-17 10:49:21 -04:00
Weiyi Wang
380b83e9bd
cmake: mingw also needs _FILE_OFFSET_BITS=64
2018-10-16 13:23:07 -04:00
Weiyi Wang and GitHub
2a7b87874b
Merge pull request #4343 from FearlessTobi/port-1487
...
Port yuzu-emu/yuzu#1487 : "Apply the [[maybe_unused]] attribute to the parameter of SetDiscordEnabled()"
2018-10-16 11:07:31 -04:00
Weiyi Wang
fc46bba4f2
CMake: disable scripting on default
2018-10-15 12:23:47 -04:00
Weiyi Wang
25a370ef19
only redefine 64 bit file operation for MSVC
...
MinGW provides POSIX functions
2018-10-13 13:21:18 -04:00
Weiyi Wang and GitHub
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 and GitHub
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
Weiyi Wang and GitHub
756a3d404a
Merge pull request #4283 from valentinvanelslande/seed-db
...
Implement SeedDB & Seed Crypto
2018-10-08 14:18:42 -04:00
Weiyi Wang and GitHub
3480c1d49d
Merge pull request #4242 from citra-valentin/fix-camera-on-linux-pr
...
Fix camera on Linux
2018-10-08 11:01:59 -04:00
Weiyi Wang and GitHub
0b7b9a51d6
Merge pull request #4299 from B3n30/uds
...
NWM_UDS: Fix some issues, cleanups, better PacketHandling
2018-10-07 13:56:59 -04:00
Weiyi Wang
61155a25c3
Update fmt to 5.2.1
...
It seems to fix msvc warnings
2018-10-06 01:58:09 -04: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 and GitHub
81657b737f
Remove "#" in the version number ( #4311 )
...
So that people can stop using it in issue/pr comments and randomly link some other issue/pr unintentionally.
2018-10-06 00:55:52 -04:00
Weiyi Wang and GitHub
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
Weiyi Wang and GitHub
794498c33e
Merge pull request #4289 from wwylele/sdl-twice-twice
...
input/sdl: lock map mutex after SDL call
2018-10-05 10:54:45 -04:00
Weiyi Wang and GitHub
cdf8d80c87
Merge pull request #4300 from FearlessTobi/port-1429-1431
...
Port yuzu-emu/yuzu#1429 and yuzu-emu/yuzu#1431 : Minor configuration changes
2018-10-04 19:38:54 -04:00
Weiyi Wang and GitHub
a5daf60e62
Merge pull request #4301 from citra-emu/revert-4241-port-yuzu-1367
...
Revert "Port yuzu/#1367 from yuzu: "game_list: Handle plurals within setFilterResult() better""
2018-10-04 15:03:03 -04:00
Weiyi Wang and GitHub
eb494c574d
Merge pull request #4244 from wwylele/swap-enum
...
common/swap: add swap template for enum
2018-10-04 14:51:49 -04:00
Weiyi Wang and GitHub
4352c6784b
Revert "Port yuzu/#1367 from yuzu: "game_list: Handle plurals within setFilterResult() better""
2018-10-04 12:04:49 -04:00
Weiyi Wang and GitHub
ea53b0f795
Merge pull request #4298 from Subv/am_titles
...
Services/AM: Implemented BeginImportProgramTemporarily, EndImportProgramWithoutCommit and CommitImportPrograms.
2018-10-03 17:41:40 -04:00
Weiyi Wang and GitHub
cfa52e2b7b
Merge pull request #4296 from B3n30/service_getter
...
Give frontend access to the hle service interfaces
2018-10-03 15:58:27 -04:00
Weiyi Wang
22df17c303
input/sdl: lock map mutex after SDL call
...
Any SDL invocation can call the even callback on the same thread, which can call GetSDLJoystickBySDLID and eventually cause double lock on joystick_map_mutex. To avoid this, lock guard should be placed as closer as possible to the object accessing code, so that any SDL invocation is with the mutex unlocked
2018-10-02 11:22:20 -04:00
Weiyi Wang and GitHub
9813d0deed
Merge pull request #4286 from zhaowenlan1779/fix-tx-push
...
travis: disable scripting for transifex push job
2018-10-02 08:17:50 -04:00
Weiyi Wang and GitHub
fceec34945
Merge pull request #4278 from wwylele/cfg-ptm-direct-fs
...
cfg, ptm: access FS via backend directly
2018-10-01 18:32:43 -04:00
Weiyi Wang and GitHub
0e77cd385a
Merge pull request #4277 from wwylele/cecd-direct-fs
...
cecd: access FS via backend directly
2018-10-01 18:26:51 -04:00
Weiyi Wang and GitHub
fb720c00b7
Merge pull request #4273 from wwylele/apt-direct-fs
...
APT: access FS via backend directly
2018-10-01 14:24:06 -04:00
Weiyi Wang and GitHub
5fb3137bdc
Merge pull request #4181 from wwylele/cia-crypto
...
Add encrypted CIA support
2018-10-01 14:23:35 -04:00
Weiyi Wang and GitHub
41688b2f2a
Merge pull request #4269 from B3n30/osx1013
...
OSX: Set MACOSX_DEPLOYMENT_TARGET to 10.13
2018-09-29 23:03:33 -04:00
Weiyi Wang and GitHub
4a30a502a0
Merge pull request #4211 from wwylele/web-cleanup
...
web_service: stop using std::future + callback style async
2018-09-29 23:02:27 -04:00
Weiyi Wang and GitHub
edc6e419b0
Merge pull request #4232 from wwylele/multi-region
...
loader, cfg: choose region based on language if multiple regions available
2018-09-29 23:01:36 -04:00
Weiyi Wang and GitHub
fbc36ff63c
Merge pull request #4257 from jroweboy/sdl-globals
...
Input: Remove global variables from SDL Input
2018-09-29 23:00:12 -04:00
Weiyi Wang and GitHub
f5a3ec18c2
Merge pull request #4072 from B3n30/httpc3
...
Service::HTTP_C: Implement Client Cert opening and closing
2018-09-29 22:53:49 -04:00