summaryrefslogtreecommitdiffstats
path: root/src/core/core.cpp (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Revert "Virtual Filesystem (#597)"bunnei2018-07-081-2/+1
| | | | This reverts commit 77c684c1140f6bf3fb7d4560d06d2efb1a2ee5e2.
* Virtual Filesystem (#597)Zach Hilman2018-07-061-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add VfsFile and VfsDirectory classes * Finish abstract Vfs classes * Implement RealVfsFile (computer fs backend) * Finish RealVfsFile and RealVfsDirectory * Finished OffsetVfsFile * More changes * Fix import paths * Major refactor * Remove double const * Use experimental/filesystem or filesystem depending on compiler * Port partition_filesystem * More changes * More Overhaul * FSP_SRV fixes * Fixes and testing * Try to get filesystem to compile * Filesystem on linux * Remove std::filesystem and document/test * Compile fixes * Missing include * Bug fixes * Fixes * Rename v_file and v_dir * clang-format fix * Rename NGLOG_* to LOG_* * Most review changes * Fix TODO * Guess 'main' to be Directory by filename
* Update clang formatJames Rowe2018-07-031-2/+2
|
* Rename logging macro back to LOG_*James Rowe2018-07-031-7/+7
|
* core: Run all CPU cores separately, even in single-thread mode.bunnei2018-05-111-6/+20
|
* threading: Reschedule only on cores that are necessary.bunnei2018-05-111-0/+5
|
* core: Add a configuration setting for use_multi_core.bunnei2018-05-111-6/+26
|
* core: Support session close with multicore.bunnei2018-05-111-4/+11
|
* core: Create a thread for each CPU core, keep in lock-step with a barrier.bunnei2018-05-111-5/+25
|
* core: Move common CPU core things to its own class.bunnei2018-05-111-48/+9
|
* core: Replace remaining old non-generic logger usages with fmt-capable equivalentsLioncash2018-04-261-11/+11
| | | | | | LOG_GENERIC usages will be amended in a follow-up to keep API changes separate from interface changes, as it will require removing a parameter from the relevant function in the VMManager class.
* core: Relocate g_service_manager to the System classLioncash2018-04-211-6/+22
| | | | | Converts the service manager from a global into an instance-based variable.
* core, main.h: Abort on 32Bit ROMs (#309)N00byKing2018-04-061-0/+4
| | | | | | * core, main.h: Abort on 32Bit ROMs * main.cpp: Fix Grammar
* config: Use simplified checkbox (from Citra) for CPU JIT.bunnei2018-03-271-7/+3
|
* Clang FixesN00byKing2018-03-191-1/+2
|
* More Warning cleanupsN00byKing2018-03-191-1/+1
|
* Clean Warnings (?)N00byKing2018-03-191-1/+1
|
* Merge pull request #193 from N00byKing/3184_2_robotic_boogaloobunnei2018-03-191-4/+8
|\ | | | | Implement Pull #3184 from citra: core/arm: Improve timing accuracy before service calls in JIT (Rebased)
| * Implements citra-emu/citra#3184N00byKing2018-02-251-4/+8
| |
* | core: Move process creation out of global state.bunnei2018-03-141-1/+3
| |
* | core: Fix scheduler-shutdown related crashMerryMage2018-02-211-5/+9
| |
* | scheduler: Cleanup based on PR feedback.bunnei2018-02-191-1/+1
| |
* | kernel: Use Scheduler class for threading.bunnei2018-02-181-1/+2
| |
* | core: Use shared_ptr for cpu_core.bunnei2018-02-181-3/+3
|/
* Make a GPU class in VideoCore to contain the GPU state.Subv2018-02-121-0/+2
| | | | Also moved the GPU MemoryManager class to video_core since it makes more sense for it to be there.
* Merge pull request #72 from N00byKing/patch-2bunnei2018-01-211-1/+0
|\ | | | | Implement Pull #3275 from citra: core: Don't Shutdown before we've even Init-ed
| * Update core.cppN00byKing2018-01-171-1/+0
| |
* | Port citra #3352 to yuzu (#103)River City Ransomware2018-01-201-0/+7
|/ | | | | | | | | | * Port citra #3352 to yuzu This change allows non x86_64 architectures to compile yuzu by skipping the building of dynarmic * Fixed clang-format errors * fixes more clang-format errors
* Remove gpu debugger and get yuzu qt to compileJames Rowe2018-01-131-8/+0
|
* configuration: Add cpu_core configuration optionMerryMage2018-01-121-2/+10
|
* arm_dynarmic: Implement coreMerryMage2018-01-121-1/+3
|
* CoreTiming: Reworked CoreTiming (cherry-picked from Citra #3119)B3n302018-01-091-0/+1
| | | | * CoreTiming: New CoreTiming; Add Test for CoreTiming
* unicorn: Use for arm interface on Windows.bunnei2018-01-041-8/+1
|
* arm: Remove SkyEye/Dyncom code that is ARMv6-only.bunnei2018-01-031-3/+2
|
* logging: Rename category "Core_ARM11" to "Core_ARM".bunnei2017-10-231-1/+1
|
* Merge remote-tracking branch 'upstream/master' into nxbunnei2017-10-101-3/+9
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | # Conflicts: # src/core/CMakeLists.txt # src/core/arm/dynarmic/arm_dynarmic.cpp # src/core/arm/dyncom/arm_dyncom.cpp # src/core/hle/kernel/process.cpp # src/core/hle/kernel/thread.cpp # src/core/hle/kernel/thread.h # src/core/hle/kernel/vm_manager.cpp # src/core/loader/3dsx.cpp # src/core/loader/elf.cpp # src/core/loader/ncch.cpp # src/core/memory.cpp # src/core/memory.h # src/core/memory_setup.h
| * Loaders: Don't automatically set the current process every time we load an application.Subv2017-09-271-2/+4
| | | | | | | | The loaders will now just create a Kernel::Process, construct it and return it to the caller, which is responsible for setting it as the current process and configuring the global page table.
| * Kernel/Memory: Give each Process its own page table.Subv2017-09-101-1/+0
| | | | | | | | The loader is in charge of setting the newly created process's page table as the main one during the loading process.
| * Added missing parts in libnetwork (#2838)B3n302017-08-191-0/+5
|/ | | | | * Network: Set and send the game information over enet Added Callbacks for RoomMember and GetMemberList to Room in preparation for web_services.
* telemetry: Log performance, configuration, and system data.bunnei2017-07-181-0/+10
|
* Addressed Bunnei's review comments, and made some other tweaks:TheKoopaKingdom2017-06-031-6/+5
| | | | | - 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.
* Created a whitelist of system archives to prevent false positives creating dialogs.TheKoopaKingdom2017-06-031-4/+2
|
* Made some changes from review comments:TheKoopaKingdom2017-06-031-9/+13
| | | | | | | | - 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.
* Added system for handling core errors in citra-qt.TheKoopaKingdom2017-06-031-6/+18
|
* core: Keep track of telemetry for the current emulation session.bunnei2017-05-251-0/+3
|
* Kernel: Map special regions according to ExHeaderYuri Kunde Schlesner2017-05-101-2/+3
| | | | | | | This replaces the hardcoded VRAM/DSP mappings with ones made based on the ExHeader ARM11 Kernel caps list. While this has no visible effect for most applications (since they use a standard set of mappings) it does improve support for system modules and n3DS exclusives.
* Core: Make PerfStats internally lockedYuri Kunde Schlesner2017-02-271-3/+2
| | | | More ergonomic to use and will be required for upcoming changes.
* Add performance statistics to status barYuri Kunde Schlesner2017-02-271-0/+9
|
* core: Free AppLoader on shutdown to release file (#2558)Yuri Kunde Schlesner2017-02-111-9/+2
| | | Fixes #2455
* Core: reset cpu_core in Shutdown to make IsPoweredOn work properlywwylele2016-12-241-0/+1
|
* core: Replace "AppCore" nomenclature with just "CPU".bunnei2016-12-221-7/+7
|
* Address clang-format issues.bunnei2016-12-221-3/+3
|
* core: Remove HLE module, consolidate code & various cleanups.bunnei2016-12-221-7/+19
|
* core: Consolidate core and system state, remove system module & cleanups.bunnei2016-12-221-25/+87
|
* gdbstub: Remove global variable from public interfaceLioncash2016-12-151-1/+1
| | | | | | | | | Currently, this is only ever queried, so adding a function to check if the server is enabled is more sensible. If directly modifying this externally is ever desirable, it should be done by adding a function to the interface, rather than exposing implementation details directly.
* Use negative priorities to avoid special-casing the self-includeYuri Kunde Schlesner2016-09-211-1/+1
|
* Remove empty newlines in #include blocks.Emmanuel Gil Peyrot2016-09-211-3/+1
| | | | | | | This makes clang-format useful on those. Also add a bunch of forgotten transitive includes, which otherwise prevented compilation.
* Manually tweak source formatting and then re-run clang-formatYuri Kunde Schlesner2016-09-191-2/+1
|
* Sources: Run clang-format on everything.Emmanuel Gil Peyrot2016-09-181-2/+3
|
* core: Add configuration option for CPU JIT.bunnei2016-09-151-7/+12
|
* Merge pull request #1762 from bunnei/globalbunnei2016-05-061-1/+1
|\ | | | | hle: Get rid of direct global access to g_reschedule
| * HLE: Rename RescheduleIsPending to IsReschedulePending.bunnei2016-05-061-1/+1
| |
| * hle: Get rid of global access to g_rescheduleLioncash2016-03-211-1/+1
| | | | | | | | | | This shouldn't be directly exposed if there's already a partial API that operates on it. We can just provide the rest of that API.
* | Common: Remove Common::make_unique, use std::make_uniqueMerryMage2016-04-051-3/+2
|/
* Improve error report from Init() functionsLittleWhite2016-03-081-2/+1
| | | | Add error popup when citra initialization failed
* core: Use unique_ptr for holding the interpreter instancesLioncash2015-12-301-6/+9
|
* Implement gdbstubpolaris-2015-10-041-0/+17
|
* Core: Cleanup core includes.Emmanuel Gil Peyrot2015-06-281-3/+0
|
* Memmap: Re-organize memory function in two filesYuri Kunde Schlesner2015-05-151-1/+0
| | | | | | | memory.cpp/h contains definitions related to acessing memory and configuring the address space mem_map.cpp/h contains higher-level definitions related to configuring the address space accoording to the kernel and allocating memory.
* Thread: Remove the idle threadYuri Kunde Schlesner2015-05-121-2/+2
| | | | Instead just use nullptr to represent no thread is active.
* Core/Memory: Give every emulated thread it's own TLS area.Subv2015-05-111-4/+0
| | | | | 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.
* Memory: Re-organize and rename memory area address constantsYuri Kunde Schlesner2015-05-091-1/+1
|
* Common: Remove common.hYuri Kunde Schlesner2015-05-071-0/+1
|
* core: Migrate 3DS-specific CP15 register setting into InitLioncash2015-04-061-0/+5
|
* dyncom: Switch the app and system cores into the correct mode at initializationLioncash2015-02-131-5/+4
|
* arm: Adios armemuLioncash2015-02-011-12/+2
|
* Thread: Reduce use of Handles and move some funcs to inside the class.Yuri Kunde Schlesner2015-01-091-1/+1
|
* Move ThreadContext to core/core.h and deal with the falloutYuri Kunde Schlesner2015-01-091-0/+1
|
* Core: Fixed a crash and removed some unused variables.Subv2015-01-091-6/+0
| | | | ARM_Disasm only has static methods, so there's no need to have an instance of it.
* Threads: Use a dummy idle thread when no other are ready.Subv2015-01-081-1/+12
| | | | This thread will not actually execute instructions, it will only advance the timing/events and try to yield immediately to the next ready thread, if there aren't any ready threads then it will be rescheduled and start its job again.
* Core: Change default CPU to dyncom.bunnei2015-01-031-2/+2
|
* License changepurpasmart962014-12-211-1/+1
|
* Convert old logging calls to new logging macrosYuri Kunde Schlesner2014-12-131-2/+2
|
* Add static to some variablesLioncash2014-11-191-7/+7
|
* Use configuration files to enable or disable the new dyncom interpreter.archshift2014-10-281-3/+14
|
* core: Prune redundant includesarchshift2014-09-091-6/+0
|
* Core: Refactor core to use only one function for execution.bunnei2014-08-311-18/+8
| | | | | | Core: Cleaned up comment to be more readable. Citra: Changed loop to be more readable.
* GSP: Implements preliminary command synchronization via GPU interrupts.bunnei2014-08-061-8/+12
| | | | Core: Added a comment to explain the logic for the RunLoop iterations.
* Merge branch 'threading' of https://github.com/bunnei/citrabunnei2014-06-141-6/+17
|\ | | | | | | | | | | Conflicts: src/core/hle/function_wrappers.h src/core/hle/service/gsp.cpp
| * HLE: Updated all uses of NULL to nullptr (to be C++11 compliant)bunnei2014-06-131-4/+4
| |
| * Core: Cleaned up SingleStep(), updated default LCD refresh to assume each instruction is ~3 cyclesbunnei2014-06-131-11/+12
| |
| * Core: Changed HW update/thread reschedule to occur more frequently (assume each instruction is ~3 cycles)bunnei2014-06-131-2/+2
| |
| * hle: added a hokey way to force a thread reschedule during CPU single step mode (as used by the debugger)bunnei2014-06-051-1/+2
| |
| * core: changed time delay before kernel reschedule to "approximate" a screen refreshbunnei2014-05-301-3/+12
|/
* core: added Kernel::Reschedule() call to check for thread changes, shortened delay time to 100 instructionsbunnei2014-05-231-1/+6
|
* updated how we call ARM core to make things much fasterbunnei2014-05-171-3/+6
|
* cleaned up some logging messagesbunnei2014-04-111-20/+2
|
* added initial modules for setting up SysCall HLEbunnei2014-04-111-0/+18
|
* fixed project includes to use new directory structurebunnei2014-04-091-6/+8
|
* got rid of 'src' folders in each sub-projectbunnei2014-04-091-0/+58