Commit Graph

329 Commits (9d642539167f8429359670f6d4476d46ff8982ad)

Author SHA1 Message Date
bunnei 8db80d8389 scheduler: Cleanup based on PR feedback. 7 years ago
bunnei ac81c02ed9 kernel: Use Scheduler class for threading. 7 years ago
bunnei 2d4a6883bc core: Use shared_ptr for cpu_core. 7 years ago
Subv 6cddf9d88e Make a GPU class in VideoCore to contain the GPU state.
Also moved the GPU MemoryManager class to video_core since it makes more sense for it to be there.
7 years ago
bunnei d904b0db58
Merge pull request #72 from N00byKing/patch-2
Implement Pull #3275 from citra: core: Don't Shutdown before we've even Init-ed
7 years ago
River City Ransomware c8a094e164 Port citra #3352 to yuzu (#103)
* 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
7 years ago
N00byKing 30d2ba9de3
Update core.cpp 7 years ago
James Rowe 389979018c Remove gpu debugger and get yuzu qt to compile 7 years ago
MerryMage b628192bf2 configuration: Add cpu_core configuration option 7 years ago
MerryMage d2fbc78320 arm_dynarmic: Implement core 7 years ago
B3n30 82151d407d CoreTiming: Reworked CoreTiming (cherry-picked from Citra #3119)
* CoreTiming: New CoreTiming; Add Test for CoreTiming
7 years ago
bunnei 3f8b9181b5 unicorn: Use for arm interface on Windows. 7 years ago
bunnei b172f0d770 arm: Remove SkyEye/Dyncom code that is ARMv6-only. 7 years ago
bunnei 45db4bb3ea logging: Rename category "Core_ARM11" to "Core_ARM". 8 years ago
bunnei b1d5db1cf6 Merge remote-tracking branch 'upstream/master' into nx
# 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
8 years ago
Subv 7f48aa8d25 Loaders: Don't automatically set the current process every time we load an application.
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.
8 years ago
Subv 6d2734a074 Kernel/Memory: Give each Process its own page table.
The loader is in charge of setting the newly created process's page table as the main one during the loading process.
8 years ago
B3n30 5d0a1e7efd Added missing parts in libnetwork (#2838)
* Network: Set and send the game information over enet

Added Callbacks for RoomMember and GetMemberList to Room in preparation for web_services.
8 years ago
bunnei df8b9863f9 telemetry: Log performance, configuration, and system data. 8 years ago
TheKoopaKingdom f008b22e3b Addressed Bunnei's review comments, and made some other tweaks:
- 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.
8 years ago
TheKoopaKingdom a8aef599e0 Created a whitelist of system archives to prevent false positives creating dialogs. 8 years ago
TheKoopaKingdom 37bec598ea Made some changes from review comments:
- 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.
8 years ago
TheKoopaKingdom 1ecb322daa Added system for handling core errors in citra-qt. 8 years ago
bunnei f3e14cae1e core: Keep track of telemetry for the current emulation session. 8 years ago
Yuri Kunde Schlesner f18d454eb6 Kernel: Map special regions according to ExHeader
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.
8 years ago
Yuri Kunde Schlesner b285c2a4ed Core: Make PerfStats internally locked
More ergonomic to use and will be required for upcoming changes.
8 years ago
Yuri Kunde Schlesner c75ae6c585 Add performance statistics to status bar 8 years ago
Yuri Kunde Schlesner da6a40e3d1 core: Free AppLoader on shutdown to release file (#2558)
Fixes #2455
8 years ago
wwylele fe2ed4bf72 Core: reset cpu_core in Shutdown to make IsPoweredOn work properly 8 years ago
bunnei e26fbfd1d7 core: Replace "AppCore" nomenclature with just "CPU". 8 years ago
bunnei 5ac5cbeab7 Address clang-format issues. 8 years ago
bunnei 4fc8b8229e core: Remove HLE module, consolidate code & various cleanups. 8 years ago
bunnei 232ef55c1a core: Consolidate core and system state, remove system module & cleanups. 8 years ago
Lioncash ba20dd9b61 gdbstub: Remove global variable from public interface
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.
8 years ago
Yuri Kunde Schlesner 84fbbe2629 Use negative priorities to avoid special-casing the self-include 9 years ago
Emmanuel Gil Peyrot ebdae19fd2 Remove empty newlines in #include blocks.
This makes clang-format useful on those.

Also add a bunch of forgotten transitive includes, which otherwise
prevented compilation.
9 years ago
Yuri Kunde Schlesner 396a8d91a4 Manually tweak source formatting and then re-run clang-format 9 years ago
Emmanuel Gil Peyrot dc8479928c Sources: Run clang-format on everything. 9 years ago
bunnei 14085ec670 core: Add configuration option for CPU JIT. 9 years ago
bunnei 75cbfeee58 Merge pull request #1762 from bunnei/global
hle: Get rid of direct global access to g_reschedule
9 years ago
bunnei 4cb2995c61 HLE: Rename RescheduleIsPending to IsReschedulePending. 9 years ago
MerryMage a06dcfeb61 Common: Remove Common::make_unique, use std::make_unique 9 years ago
Lioncash 6b7ebb3f82 hle: Get rid of global access to g_reschedule
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.
9 years ago
LittleWhite 4be68dddfb Improve error report from Init() functions
Add error popup when citra initialization failed
9 years ago
Lioncash cee8df6ff0 core: Use unique_ptr for holding the interpreter instances 9 years ago
polaris- 31dee93e84 Implement gdbstub 10 years ago
Emmanuel Gil Peyrot aea15f5c73 Core: Cleanup core includes. 10 years ago
Yuri Kunde Schlesner 7ada357b2d Memmap: Re-organize memory function in two files
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.
10 years ago
Yuri Kunde Schlesner 4f7a055081 Thread: Remove the idle thread
Instead just use nullptr to represent no thread is active.
10 years ago
Subv 000876858d Core/Memory: Give every emulated thread it's own TLS area.
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.
10 years ago
Yuri Kunde Schlesner 1c0b87edc2 Memory: Re-organize and rename memory area address constants 10 years ago
Yuri Kunde Schlesner e1fbac3ca1 Common: Remove common.h 10 years ago
Lioncash 8004d35ea1 core: Migrate 3DS-specific CP15 register setting into Init 10 years ago
Lioncash b7fac494cd dyncom: Switch the app and system cores into the correct mode at initialization 10 years ago
Lioncash f44781fd7b arm: Adios armemu 10 years ago
Yuri Kunde Schlesner 9bf8462b96 Thread: Reduce use of Handles and move some funcs to inside the class. 10 years ago
Yuri Kunde Schlesner 7b3452c730 Move ThreadContext to core/core.h and deal with the fallout 10 years ago
Subv 40c1439c34 Core: Fixed a crash and removed some unused variables.
ARM_Disasm only has static methods, so there's no need to have an instance of it.
10 years ago
Subv 60a373a786 Threads: Use a dummy idle thread when no other are ready.
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.
10 years ago
bunnei 853b46c681 Core: Change default CPU to dyncom. 10 years ago
purpasmart96 ebfd831ccb License change 10 years ago
Yuri Kunde Schlesner 0600e2d8b5 Convert old logging calls to new logging macros 10 years ago
Lioncash 7cbecde2ca Add static to some variables 11 years ago
archshift 0783498f57 Use configuration files to enable or disable the new dyncom interpreter. 11 years ago
archshift 6e606c515f core: Prune redundant includes 11 years ago
bunnei eb36d3fc90 Core: Refactor core to use only one function for execution.
Core: Cleaned up comment to be more readable.

Citra: Changed loop to be more readable.
11 years ago
bunnei ec14ffe1cd GSP: Implements preliminary command synchronization via GPU interrupts.
Core: Added a comment to explain the logic for the RunLoop iterations.
11 years ago
bunnei 004df76795 Merge branch 'threading' of https://github.com/bunnei/citra
Conflicts:
	src/core/hle/function_wrappers.h
	src/core/hle/service/gsp.cpp
11 years ago
bunnei c95972275e HLE: Updated all uses of NULL to nullptr (to be C++11 compliant) 11 years ago
bunnei 0deeda54ee Core: Cleaned up SingleStep(), updated default LCD refresh to assume each instruction is ~3 cycles 11 years ago
bunnei 3449aaa350 Core: Changed HW update/thread reschedule to occur more frequently (assume each instruction is ~3 cycles) 11 years ago
bunnei 174cc9a0ed hle: added a hokey way to force a thread reschedule during CPU single step mode (as used by the debugger) 11 years ago
bunnei 9839f3b6cd core: changed time delay before kernel reschedule to "approximate" a screen refresh 11 years ago
bunnei 51f636b3d4 core: added Kernel::Reschedule() call to check for thread changes, shortened delay time to 100 instructions 11 years ago
bunnei 265c770a9d updated how we call ARM core to make things much faster 11 years ago
bunnei 5d95bb9843 cleaned up some logging messages 11 years ago
bunnei f68de21ad1 added initial modules for setting up SysCall HLE 11 years ago
bunnei de0a034a84 fixed project includes to use new directory structure 11 years ago
bunnei 63e46abdb8 got rid of 'src' folders in each sub-project 11 years ago