Commit message (Collapse) | Author | Files | Lines | ||
---|---|---|---|---|---|
2020-10-13 | service: time: Update current time with changes to RTC setting. | bunnei | 1 | -0/+8 | |
- This can be used to advance time, e.g. for Pokemon Sword/Shield pokejobs. | |||||
2020-09-26 | core: Mark GetInstance() as deprecated | Lioncash | 1 | -1/+1 | |
This way it's obvious that this function shouldn't be used in any future code. | |||||
2020-09-17 | file_sys/bis_factory: Eliminate usage of the global system accessor | Lioncash | 1 | -2/+2 | |
2020-06-28 | Core/Common: Address Feedback. | Fernando Sahmkow | 1 | -2/+2 | |
2020-06-27 | Services/NvFlinger: Do vSync in a sepparate thread on Multicore. | Fernando Sahmkow | 1 | -0/+3 | |
2020-06-27 | Clang Format. | Fernando Sahmkow | 1 | -2/+0 | |
2020-06-27 | General: Fix microprofile on dynarmic/svc, fix wait tree showing which threads were running. | Fernando Sahmkow | 1 | -0/+6 | |
2020-06-27 | SVC: Correct GetThreadPriority, SetThreadPriority, GetThreadCoreMask, SetThreadCoreMask, GetCurrentProcessorNumber | Fernando Sahmkow | 1 | -0/+7 | |
2020-06-27 | General: Recover Prometheus project from harddrive failure | Fernando Sahmkow | 1 | -20/+14 | |
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-17 | core: system: Rename GetDeviceManager -> DeviceManager. | bunnei | 1 | -2/+2 | |
- More consistent with other system components. | |||||
2020-04-17 | core: device_manager: Add a simple class to manage device RAM. | bunnei | 1 | -0/+7 | |
2020-04-17 | core: memory: Move to Core::Memory namespace. | bunnei | 1 | -8/+5 | |
- helpful to disambiguate Kernel::Memory namespace. | |||||
2020-02-22 | System: Expose Host thread registering routines from kernel. | Fernando Sahmkow | 1 | -0/+6 | |
2020-01-26 | Core: Refactor CpuCoreManager to CpuManager and Cpu to Core Manager. | Fernando Sahmkow | 1 | -5/+5 | |
This commit instends on better naming the new purpose of this classes. | |||||
2020-01-03 | yuzu: Remove Maxwell debugger | ReinUsesLisp | 1 | -4/+0 | |
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-27 | core/memory: Introduce skeleton of Memory class | Lioncash | 1 | -0/+10 | |
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-25 | kernel: Replace usage of boost::intrusive_ptr with std::shared_ptr for kernel objects. (#3154) | bunnei | 1 | -0/+1 | |
* 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-15 | Kernel: Style and Corrections | Fernando Sahmkow | 1 | -2/+2 | |
2019-10-15 | Correct PrepareReschedule | Fernando Sahmkow | 1 | -0/+3 | |
2019-10-15 | Add interfacing to the Global Scheduler | Fernando Sahmkow | 1 | -0/+7 | |
2019-10-06 | core/core: Remove unused header | Lioncash | 1 | -1/+0 | |
This isn't used anywhere in either the cpp or header file. | |||||
2019-10-06 | core: Remove Core::CurrentProcess() | Lioncash | 1 | -4/+0 | |
This only encourages the use of the global system instance (which will be phased out long-term). Instead, we use the direct system function call directly to remove the appealing but discouraged short-hand. | |||||
2019-10-06 | hle/service: Replace global system instance calls with instance-based ones | Lioncash | 1 | -2/+4 | |
Migrates the HLE service code off the use of directly accessing the global system instance where trivially able to do so. This removes all usages of Core::CurrentProcess from the service code, only 8 occurrences of this function exist elsewhere. There's still quite a bit of "System::GetInstance()" being used, however this was able to replace a few instances. | |||||
2019-09-30 | core/loader: Track the NSO build ID of the current process | Zach Hilman | 1 | -0/+4 | |
2019-09-22 | core: Add LM::Manager to system | Zach Hilman | 1 | -0/+8 | |
Allows centralized control over logging mechanisms. | |||||
2019-09-22 | core: Track system exit lock status | Zach Hilman | 1 | -0/+4 | |
Used to determine if yuzu should confirm before pausing or stopping a game. | |||||
2019-09-22 | core: Update RegisterCheatList for new VM | Zach Hilman | 1 | -3/+7 | |
2019-09-21 | core: Store FileSystemController in core | Zach Hilman | 1 | -0/+8 | |
2019-07-13 | core: Remove CurrentArmInterface() global accessor | Lioncash | 1 | -4/+0 | |
Replaces the final usage of the global accessor function and removes it. Removes one more enabler of global state. | |||||
2019-07-05 | Gpu: Implement Hardware Interrupt Manager and manage GPU interrupts | Fernando Sahmkow | 1 | -0/+10 | |
2019-06-29 | core: Keep instance of APM Controller | Zach Hilman | 1 | -0/+8 | |
2019-06-25 | core: Keep track of ARPManager and register current application on boot | Zach Hilman | 1 | -0/+8 | |
2019-05-29 | core/loader: Remove LoadKernelSystemMode | Lioncash | 1 | -1/+0 | |
This is a hold-over from Citra and doesn't apply to yuzu. | |||||
2019-05-26 | loader: Move NSO module tracking to AppLoader | Zach Hilman | 1 | -4/+0 | |
Also cleanup of general stuff | |||||
2019-05-25 | core: Add Reporter class to take/save reports | Zach Hilman | 1 | -0/+3 | |
2019-05-25 | core: Track load offsets of NSO modules | Zach Hilman | 1 | -0/+5 | |
Needed for backtrace decomposition | |||||
2019-04-17 | core: Remove specific applets in favor of AppletManager | Zach Hilman | 1 | -14/+15 | |
2019-03-27 | core: Store system-wide ContentProvider for the emulator | Zach Hilman | 1 | -0/+14 | |
2019-03-05 | vm_manager: Remove cheat-specific ranges from VMManager | Zach Hilman | 1 | -2/+2 | |
2019-03-05 | core: Add support for registering and controlling ownership of CheatEngine | Zach Hilman | 1 | -0/+4 | |
2019-03-04 | core/core: Remove the global telemetry accessor function | Lioncash | 1 | -4/+0 | |
With all usages converted off of it, this function can be removed. | |||||
2019-02-16 | core_timing: Convert core timing into a class | Lioncash | 1 | -0/+10 | |
Gets rid of the largest set of mutable global state within the core. This also paves a way for eliminating usages of GetInstance() on the System class as a follow-up. Note that no behavioral changes have been made, and this simply extracts the functionality into a class. This also has the benefit of making dependencies on the core timing functionality explicit within the relevant interfaces. | |||||
2019-01-17 | core/frontend/applets/web_browser: Make OpenPage() non-const | Lioncash | 1 | -6/+7 | |
This is a function that definitely doesn't always have a non-modifying behavior across all implementations, so this should be made non-const. This gets rid of the need to mark data members as mutable to work around the fact mutating data members needs to occur. | |||||
2018-12-28 | core: Add getter and setter for WebBrowserApplet frontend | Zach Hilman | 1 | -1/+6 | |
2018-12-03 | core: Add getter/setter for ProfileSelector in System | Zach Hilman | 1 | -0/+5 | |
2018-12-03 | core: Make GetGameFileFromPath function externally accessible | Zach Hilman | 1 | -0/+4 | |
2018-11-18 | am: Deglobalize software keyboard applet | Zach Hilman | 1 | -0/+5 | |
2018-10-28 | core: Add missing const variants of getters for the System class | Lioncash | 1 | -8/+23 | |
Many of the Current<Thing> getters (as well as a few others) were missing const qualified variants, which makes it a pain to retrieve certain things from const qualified references to System. | |||||
2018-10-15 | core_cpu: Make Cpu scheduler instances unique_ptrs instead of shared_ptrs | Lioncash | 1 | -1/+7 | |
2018-10-10 | kernel/thread: Use a regular pointer for the owner/current process | Lioncash | 1 | -5/+5 | |
There's no real need to use a shared pointer in these cases, and only makes object management more fragile in terms of how easy it would be to introduce cycles. Instead, just do the simple thing of using a regular pointer. Much of this is just a hold-over from citra anyways. It also doesn't make sense from a behavioral point of view for a process' thread to prolong the lifetime of the process itself (the process is supposed to own the thread, not the other way around). | |||||
2018-09-15 | Port #4182 from Citra: "Prefix all size_t with std::" | fearlessTobi | 1 | -4/+4 | |
2018-09-07 | core: Migrate current_process pointer to the kernel | Lioncash | 1 | -1/+4 | |
Given we now have the kernel as a class, it doesn't make sense to keep the current process pointer within the System class, as processes are related to the kernel. This also gets rid of a subtle case where memory wouldn't be freed on core shutdown, as the current_process pointer would never be reset, causing the pointed to contents to continue to live. | |||||
2018-09-04 | core: Use a raw pointer in GetGPUDebugContext. | Markus Wick | 1 | -1/+1 | |
This helper is called very often. The memory ownership shall not be transfered, so just return the raw pointer. | |||||
2018-08-31 | core/core: Replace includes with forward declarations where applicable | Lioncash | 1 | -21/+35 | |
The follow-up to e2457418dae19b889b2ad85255bb95d4cd0e4bff, which replaces most of the includes in the core header with forward declarations. This makes it so that if any of the headers the core header was previously including change, then no one will need to rebuild the bulk of the core, due to core.h being quite a prevalent inclusion. This should make turnaround for changes much faster for developers. | |||||
2018-08-31 | core: Make the main System class use the PImpl idiom | Lioncash | 1 | -100/+38 | |
core.h is kind of a massive header in terms what it includes within itself. It includes VFS utilities, kernel headers, file_sys header, ARM-related headers, etc. This means that changing anything in the headers included by core.h essentially requires you to rebuild almost all of core. Instead, we can modify the System class to use the PImpl idiom, which allows us to move all of those headers to the cpp file and forward declare the bulk of the types that would otherwise be included, reducing compile times. This change specifically only performs the PImpl portion. | |||||
2018-08-29 | kernel: Eliminate kernel global state | Lioncash | 1 | -0/+8 | |
As means to pave the way for getting rid of global state within core, This eliminates kernel global state by removing all globals. Instead this introduces a KernelCore class which acts as a kernel instance. This instance lives in the System class, which keeps its lifetime contained to the lifetime of the System class. This also forces the kernel types to actually interact with the main kernel instance itself instead of having transient kernel state placed all over several translation units, keeping everything together. It also has a nice consequence of making dependencies much more explicit. This also makes our initialization a tad bit more correct. Previously we were creating a kernel process before the actual kernel was initialized, which doesn't really make much sense. The KernelCore class itself follows the PImpl idiom, which allows keeping all the implementation details sealed away from everything else, which forces the use of the exposed API and allows us to avoid any unnecessary inclusions within the main kernel header. | |||||
2018-08-25 | core: Namespace all code in the arm subdirectory under the Core namespace | Lioncash | 1 | -2/+2 | |
Gets all of these types and interfaces out of the global namespace. | |||||
2018-08-25 | debug_utils: Remove unused includes | Lioncash | 1 | -0/+1 | |
Quite a bit of these aren't necessary directly within the debug_utils header and can be removed or included where actually necessary. | |||||
2018-08-23 | qt: Add filename and title id to window title while running | Zach Hilman | 1 | -0/+7 | |
2018-08-16 | core: Delete System copy/move constructors and assignment operators | Lioncash | 1 | -0/+6 | |
Prevents potentially making copies or doing silly things by accident with the System instance, particularly given our current core is designed (unfortunately) around one instantiable instance. This will prevent the accidental case of: auto instance = System::Instance(); being compiled without warning when it's supposed to be: auto& instance = System::Instance(); | |||||
2018-08-12 | core: Namespace EmuWindow | Lioncash | 1 | -3/+6 | |
Gets the class out of the global namespace. | |||||
2018-08-10 | loader: Add more descriptive errors | Zach Hilman | 1 | -15/+9 | |
Full list of new errors and descriptions in core/loader/loader.h | |||||
2018-08-09 | core: Port core to VfsFilesystem for file access | Zach Hilman | 1 | -0/+12 | |
2018-08-07 | GDBStub works with both Unicorn and Dynarmic now (#941) | Hedges | 1 | -0/+11 | |
* GDBStub works with both Unicorn and Dynarmic now * Tidy up | |||||
2018-08-04 | video_core: Eliminate the g_renderer global variable | Lioncash | 1 | -1/+21 | |
We move the initialization of the renderer to the core class, while keeping the creation of it and any other specifics in video_core. This way we can ensure that the renderer is initialized and doesn't give unfettered access to the renderer. This also makes dependencies on types more explicit. For example, the GPU class doesn't need to depend on the existence of a renderer, it only needs to care about whether or not it has a rasterizer, but since it was accessing the global variable, it was also making the renderer a part of its dependency chain. By adjusting the interface, we can get rid of this dependency. | |||||
2018-08-03 | core/memory: Get rid of 3DS leftovers | Lioncash | 1 | -2/+1 | |
Removes leftover code from citra that isn't needed. | |||||
2018-08-02 | kernel: Move object class to its own source files | Lioncash | 1 | -1/+1 | |
General moving to keep kernel object types separate from the direct kernel code. Also essentially a preliminary cleanup before eliminating global kernel state in the kernel code. | |||||
2018-08-02 | video_core: Make global EmuWindow instance part of the base renderer class | Lioncash | 1 | -4/+6 | |
Makes the global a member of the RendererBase class. We also change this to be a reference. Passing any form of null pointer to these functions is incorrect entirely, especially given the code itself assumes that the pointer would always be in a valid state. This also makes it easier to follow the lifecycle of instances being used, as we explicitly interact the renderer with the rasterizer, rather than it just operating on a global pointer. | |||||
2018-08-01 | Use more descriptive error codes and messages | Zach Hilman | 1 | -6/+8 | |
2018-07-31 | audio_core: Move to audout_u impl. | bunnei | 1 | -7/+0 | |
- This is necessary so streams are created on the same thread. | |||||
2018-07-28 | core: Add AudioCore to global state. | bunnei | 1 | -0/+7 | |
2018-07-22 | Implement exclusive monitor | MerryMage | 1 | -0/+12 | |
2018-07-19 | core: Make System's default constructor private | Lioncash | 1 | -0/+2 | |
This makes it a compilation error to construct additional instances of the System class directly, preventing accidental wasteful constructions over and over. | |||||
2018-05-11 | core: Add several missing docstrings. | bunnei | 1 | -0/+8 | |
2018-05-11 | core: Run all CPU cores separately, even in single-thread mode. | bunnei | 1 | -7/+3 | |
2018-05-11 | threading: Reschedule only on cores that are necessary. | bunnei | 1 | -0/+2 | |
2018-05-11 | core: Add a configuration setting for use_multi_core. | bunnei | 1 | -8/+2 | |
2018-05-11 | core: Support session close with multicore. | bunnei | 1 | -1/+1 | |
2018-05-11 | core: Implement multicore support. | bunnei | 1 | -10/+16 | |
2018-05-11 | core: Create a thread for each CPU core, keep in lock-step with a barrier. | bunnei | 1 | -7/+17 | |
2018-05-11 | core: Move common CPU core things to its own class. | bunnei | 1 | -10/+6 | |
2018-04-21 | core: Relocate g_service_manager to the System class | Lioncash | 1 | -0/+12 | |
Converts the service manager from a global into an instance-based variable. | |||||
2018-04-06 | core, main.h: Abort on 32Bit ROMs (#309) | N00byKing | 1 | -0/+1 | |
* core, main.h: Abort on 32Bit ROMs * main.cpp: Fix Grammar | |||||
2018-03-25 | GPU: Make the debug_context variable a member of the frontend instead of a global. | Subv | 1 | -0/+11 | |
2018-03-14 | core: Move process creation out of global state. | bunnei | 1 | -0/+11 | |
2018-02-25 | Implements citra-emu/citra#3184 | N00byKing | 1 | -2/+2 | |
2018-02-18 | kernel: Use Scheduler class for threading. | bunnei | 1 | -0/+6 | |
2018-02-18 | core: Use shared_ptr for cpu_core. | bunnei | 1 | -3/+1 | |
2018-02-12 | Make a GPU class in VideoCore to contain the GPU state. | Subv | 1 | -0/+7 | |
Also moved the GPU MemoryManager class to video_core since it makes more sense for it to be there. | |||||
2018-01-23 | Correct Spelling | N00byKing | 1 | -2/+2 | |
2018-01-04 | core: Increase tight_loop 100x for speed. | bunnei | 1 | -1/+1 | |
2017-08-04 | core: Expose AppLoader as a public interface. | bunnei | 1 | -4/+5 | |
2017-06-03 | Addressed Bunnei's review comments, and made some other tweaks: | TheKoopaKingdom | 1 | -9/+7 | |
- Deleted GetStatus() because it wasn't used anywhere outside of Core::System. - Fixed design flaw where the message bar status could be set despite the game being stopped. | |||||
2017-06-03 | Created a whitelist of system archives to prevent false positives creating dialogs. | TheKoopaKingdom | 1 | -9/+3 | |
2017-06-03 | Optimized messages that were repetitive and added ability for core errors to specify more details optionally. | TheKoopaKingdom | 1 | -2/+15 | |
2017-06-03 | Made some changes from review comments: | TheKoopaKingdom | 1 | -1/+0 | |
- Made LoadKernelSystemMode return a pair consisting of a system mode and a result code (Could use review). - Deleted ErrorOpenGL error code in favor of just having ErrorVideoCore. - Made dialog messages more clear. - Compared archive ID in fs_user.cpp to ArchiveIdCode::NCCH as opposed to hex magic. - Cleaned up some other stuff. | |||||
2017-06-03 | Added system for handling core errors in citra-qt. | TheKoopaKingdom | 1 | -0/+13 | |
2017-05-25 | core: Keep track of telemetry for the current emulation session. | bunnei | 1 | -0/+16 | |
2017-02-27 | Core: Re-write frame limiter | Yuri Kunde Schlesner | 1 | -0/+1 | |
Now based on std::chrono, and also works in terms of emulated time instead of frames, so we can in the future frame-limit even when the display is disabled, etc. The frame limiter can also be enabled along with v-sync now, which should be useful for those with displays running at more than 60 Hz. | |||||
2017-02-27 | Core: Make PerfStats internally locked | Yuri Kunde Schlesner | 1 | -2/+1 | |
More ergonomic to use and will be required for upcoming changes. | |||||
2017-02-27 | Add performance statistics to status bar | Yuri Kunde Schlesner | 1 | -1/+6 | |
2017-01-30 | core: inline CPU, 132 warnings fixed on GCC | Kloen | 1 | -1/+1 | |
2016-12-22 | ThreadContext: Move from "core" to "arm_interface". | bunnei | 1 | -11/+0 | |
2016-12-22 | core: Replace "AppCore" nomenclature with just "CPU". | bunnei | 1 | -9/+9 | |
2016-12-22 | Address clang-format issues. | bunnei | 1 | -12/+13 | |
2016-12-22 | core: Remove HLE module, consolidate code & various cleanups. | bunnei | 1 | -11/+17 | |
2016-12-22 | core: Consolidate core and system state, remove system module & cleanups. | bunnei | 1 | -33/+99 | |
2016-09-18 | Sources: Run clang-format on everything. | Emmanuel Gil Peyrot | 1 | -2/+2 | |
2016-03-08 | Improve error report from Init() functions | LittleWhite | 1 | -1/+1 | |
Add error popup when citra initialization failed | |||||
2015-12-30 | core: Use unique_ptr for holding the interpreter instances | Lioncash | 1 | -2/+3 | |
2015-11-29 | Core/ARM11: Correct the size of the VFP register array in the ThreadContext structure. | Subv | 1 | -1/+1 | |
The VFP registers are 64 bits each, and there are 32 of them. | |||||
2015-05-11 | fixup! Set the TLS address in the scheduler | Subv | 1 | -2/+0 | |
2015-05-11 | Core/Memory: Give every emulated thread it's own TLS area. | Subv | 1 | -0/+2 | |
The TLS area for thread T with id Ti is located at TLS_AREA_VADDR + (Ti - 1) * 0x200. This allows some games like Mario Kart 7 to continue further. | |||||
2015-04-20 | dyncom: Remove more unused/unnecessary code | Lioncash | 1 | -3/+0 | |
Gets rid of a sizeable amount of stuff in armdefs. | |||||
2015-02-01 | arm: Clean up ARMul_State | Lioncash | 1 | -1/+0 | |
Remove unnecessary/unused struct variables. | |||||
2015-02-01 | arm: Adios armemu | Lioncash | 1 | -5/+0 | |
2015-01-09 | Move ThreadContext to core/core.h and deal with the fallout | Yuri Kunde Schlesner | 1 | -2/+18 | |
2015-01-03 | Core: Change default CPU to dyncom. | bunnei | 1 | -1/+1 | |
2014-12-21 | License change | purpasmart96 | 1 | -1/+1 | |
2014-11-12 | Core: Changed RunLoop iterations to 1000 (slightly better performance). | bunnei | 1 | -6/+6 | |
2014-10-28 | Use configuration files to enable or disable the new dyncom interpreter. | archshift | 1 | -0/+5 | |
2014-10-25 | ARM: Reorganized file structure to move shared SkyEye code to a more common area. | bunnei | 1 | -1/+1 | |
Removed s_ prefix | |||||
2014-08-31 | Core: Refactor core to use only one function for execution. | bunnei | 1 | -2/+9 | |
Core: Cleaned up comment to be more readable. Citra: Changed loop to be more readable. | |||||
2014-04-09 | fixed project includes to use new directory structure | bunnei | 1 | -2/+2 | |
2014-04-09 | got rid of 'src' folders in each sub-project | bunnei | 1 | -0/+0 | |
2014-04-09 | fixed all license file headers in core | bunnei | 1 | -29/+4 | |
2014-04-05 | added initial support for hw.cpp module | bunnei | 1 | -0/+3 | |
2014-04-05 | Remove Core::GetState(). Use new ARM_Interface instead. | Mathieu Vaillancourt | 1 | -2/+0 | |
2014-04-05 | - added an interface layer for ARM cores | bunnei | 1 | -1/+7 | |
- cleaned up core.cpp a bit | |||||
2014-04-04 | Add Core::GetState() for debugger | Mathieu Vaillancourt | 1 | -0/+4 | |
2013-10-03 | moved some core functions over to system module | ShizZy | 1 | -7/+1 | |
2013-10-02 | added a message option to Core::Halt function | ShizZy | 1 | -1/+1 | |
2013-09-27 | added system.h to project | ShizZy | 1 | -19/+9 | |
2013-09-14 | renamed project to 'citrus' | ShizZy | 1 | -1/+1 | |
2013-09-06 | added core and mem_map files to the project | ShizZy | 1 | -0/+70 | |