| Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This allows us to avoid including KProcess' header file in files that only need to get the current process' program id.
|
|
|
|
|
|
Allows it to be a forward declaration in other header files.
|
|
|
|
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.
|
|
|
|
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.
|
|
logging: Simplify and make thread-safe
|
|
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.
|
|
|
|
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.
|
|
Adds support for loading games with multiple programs embedded within such as the Dragon Quest 1+2+3 Collection
|
|
|
|
|
|
- Removes a dependency on core and input_common from common.
|
|
Rework the service to spit out to logs instead of a seperate file as well as fix any crashes caused by lm.
|
|
|
|
|
|
|
|
This isn't used, so it can be removed.
|
|
Given this is a central class, we should flag cases where the return
value of some functions not being used is likely a bug.
|
|
- This can be used to advance time, e.g. for Pokemon Sword/Shield pokejobs.
|
|
This way it's obvious that this function shouldn't be used in any future
code.
|
|
|
|
|
|
|
|
|
|
threads were running.
|
|
SetThreadCoreMask, GetCurrentProcessorNumber
|
|
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.
|
|
- More consistent with other system components.
|
|
|
|
- helpful to disambiguate Kernel::Memory namespace.
|
|
|
|
This commit instends on better naming the new purpose of this classes.
|
|
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.
|
|
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.
|
|
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.
|
|
|
|
|
|
|
|
lm: Rewrite logger to use core reporting services
|