aboutsummaryrefslogtreecommitdiff
path: root/src/core/core.h
AgeCommit message (Collapse)Author
2022-06-14kernel: implement KProcess suspensionLiam
2022-06-10core/debugger: fix a number of shutdown deadlocksLiam
2022-06-01core/debugger: Implement new GDB stub debuggerLiam
2022-04-24Remove unused PrepareReschedule functionMerry
2021-12-06core: hle: kernel: Reflect non-emulated threads as core 3.bunnei
2021-11-24Morph review first wavegerman77
2021-11-24core: Register HIDgerman77
2021-11-04general: Get the current process program id directly from the systemMorph
This allows us to avoid including KProcess' header file in files that only need to get the current process' program id.
2021-10-16NvHost/Core: Address Feedback.Fernando Sahmkow
2021-10-16Suspend temporallyFernandoS27
2021-10-15core: Move ResultStatus outside of SystemMorph
Allows it to be a forward declaration in other header files.
2021-10-15core: Remove static system instanceMorph
2021-10-01core: Add Exit and ExitCallbackMorph
This allows ISelfController::Exit to stop the currently running application. This is typically used by homebrew to exit back to the homebrew menu after calling consoleExit with libnx.
2021-08-25Revert "kernel: Various improvements to scheduler"bunnei
2021-08-24logging: Fix log filter during initializationameerj
The log filter was being ignored on initialization due to the logging instance being initialized before the config instance, so the log filter was set to its default value. This fixes that oversight, along with using descriptive exceptions instead of abort() calls.
2021-08-22Merge pull request #6869 from yzct12345/shiny-logs-in-the-fireplacebunnei
logging: Simplify and make thread-safe
2021-08-13logging: Simplify and make thread-safeyzct12345
This simplifies the logging system. This also fixes some lost messages on startup. The simplification is simple. I removed unused functions and moved most things in the .h to the .cpp. I replaced the unnecessary linked list with its contents laid out as three member variables. Anything that went through the linked list now directly accesses the backends. Generic functions are replaced with those for each specific use case and there aren't many. This change increases coupling but we gain back more KISS and encapsulation. With those changes it was easy to make it thread-safe. I just removed the mutex and turned a boolean atomic. I was planning to use this thread-safety in my next PR about stacktraces. It was actually async-signal-safety at first but I ended up using a different approach. Anyway getting rid of the linked list is important for that because have the list of backends constantly changing complicates things.
2021-08-07core: hle: kernel: Reflect non-emulated threads as core 3.bunnei
2021-07-23general: Rename "Frame Limit" references to "Speed Limit"ameerj
This setting is best referred to as a speed limit, as it involves the limits of all timing based aspects of the emulator, not only framerate. This allows us to differentiate it from the fps unlocker setting.
2021-07-20file_sys: Support load game collection (#6582)Feng Chen
Adds support for loading games with multiple programs embedded within such as the Dragon Quest 1+2+3 Collection
2021-05-05hle: kernel: Rename Process to KProcess.bunnei
2021-05-05hle: kernel: Remove deprecated Object class.bunnei
2021-04-14common: Move settings to common from core.bunnei
- Removes a dependency on core and input_common from common.
2021-01-20lm: Recode LM serviceChloe Marcec
Rework the service to spit out to logs instead of a seperate file as well as fix any crashes caused by lm.
2020-12-06hle: kernel: Rewrite scheduler implementation based on Mesopshere.bunnei
2020-11-29core: arm: Implement InvalidateCacheRange for CPU cache invalidation.bunnei
2020-11-24core: loader: Implement support for loading indexed programs.bunnei
2020-11-18core: Remove unused private Init function for the System classLioncash
This isn't used, so it can be removed.
2020-11-18core: Make use of [[nodiscard]] with the System classLioncash
Given this is a central class, we should flag cases where the return value of some functions not being used is likely a bug.
2020-10-12service: time: Update current time with changes to RTC setting.bunnei
- This can be used to advance time, e.g. for Pokemon Sword/Shield pokejobs.
2020-09-25core: Mark GetInstance() as deprecatedLioncash
This way it's obvious that this function shouldn't be used in any future code.
2020-09-16file_sys/bis_factory: Eliminate usage of the global system accessorLioncash
2020-06-27Core/Common: Address Feedback.Fernando Sahmkow
2020-06-27Services/NvFlinger: Do vSync in a sepparate thread on Multicore.Fernando Sahmkow
2020-06-27Clang Format.Fernando Sahmkow
2020-06-27General: Fix microprofile on dynarmic/svc, fix wait tree showing which ↵Fernando Sahmkow
threads were running.
2020-06-27SVC: Correct GetThreadPriority, SetThreadPriority, GetThreadCoreMask, ↵Fernando Sahmkow
SetThreadCoreMask, GetCurrentProcessorNumber
2020-06-27General: Recover Prometheus project from harddrive failure Fernando Sahmkow
This commit: Implements CPU Interrupts, Replaces Cycle Timing for Host Timing, Reworks the Kernel's Scheduler, Introduce Idle State and Suspended State, Recreates the bootmanager, Initializes Multicore system.
2020-04-17core: system: Rename GetDeviceManager -> DeviceManager.bunnei
- More consistent with other system components.
2020-04-17core: device_manager: Add a simple class to manage device RAM.bunnei
2020-04-17core: memory: Move to Core::Memory namespace.bunnei
- helpful to disambiguate Kernel::Memory namespace.
2020-02-22System: Expose Host thread registering routines from kernel.Fernando Sahmkow
2020-01-26Core: Refactor CpuCoreManager to CpuManager and Cpu to Core Manager.Fernando Sahmkow
This commit instends on better naming the new purpose of this classes.
2020-01-02yuzu: Remove Maxwell debuggerReinUsesLisp
This was carried from Citra and wasn't really used on yuzu. It also adds some runtime overhead. This commit removes it from yuzu's codebase.
2019-11-26core/memory: Introduce skeleton of Memory classLioncash
Currently, the main memory management code is one of the remaining places where we have global state. The next series of changes will aim to rectify this. This change simply introduces the main skeleton of the class that will contain all the necessary state.
2019-11-24kernel: Replace usage of boost::intrusive_ptr with std::shared_ptr for ↵bunnei
kernel objects. (#3154) * kernel: Replace usage of boost::intrusive_ptr with std::shared_ptr for kernel objects. - See https://github.com/citra-emu/citra/pull/4710 for details.
2019-10-15Kernel: Style and CorrectionsFernando Sahmkow
2019-10-15Correct PrepareRescheduleFernando Sahmkow
2019-10-15Add interfacing to the Global SchedulerFernando Sahmkow
2019-10-08Merge pull request #2654 from DarkLordZach/lm-log-rewritebunnei
lm: Rewrite logger to use core reporting services