Yuri Kunde Schlesner
3bd8563f2d
Tests: Remove glad test OS X work-around
7 years ago
fearlessTobi
63c2e32e20
Port #4182 from Citra: "Prefix all size_t with std::"
7 years ago
MerryMage
112351d557
common: Implement a ring buffer
7 years ago
Lioncash
0cbcd6ec9a
kernel: Eliminate kernel global state
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.
7 years ago
Lioncash
62b0b83fd8
externals: Update catch to 2.3.0
Updates the library from 2.2.3 to 2.3.0
7 years ago
Lioncash
26de4bb521
core/memory: Get rid of 3DS leftovers
Removes leftover code from citra that isn't needed.
8 years ago
Lioncash
48733744bb
arm_test_common: Get rid of truncation warnings
Explicitly cast the value to a u8 to show that this is intentional.
8 years ago
Lioncash
a8bb1eb39f
arm_test_common: Make file static variable a member variable of the testing environment
Gets rid of file-static behavior.
8 years ago
Lioncash
a44475207c
arm_test_common: Add missing header guard
8 years ago
Zach Hilman
29aff8d5ab
Virtual Filesystem 2: Electric Boogaloo ( #676 )
* Virtual Filesystem
* Fix delete bug and documentate
* Review fixes + other stuff
* Fix puyo regression
8 years ago
bunnei
7d6653268f
core: Move process creation out of global state.
8 years ago
Subv
827f8ca3c7
Kernel: Store the program id in the Process class instead of the CodeSet class.
There may be many CodeSets per Process, so it's wasteful and overcomplicated to store the program id in each of them.
8 years ago
MerryMage
738f91a57d
memory: Replace all memory hooking with Special regions
8 years ago
James Rowe
096be16636
Format: Run the new clang format on everything
8 years ago
Lioncash
e710a1b989
CMakeLists: Derive the source directory grouping from targets themselves
Removes the need to store to separate SRC and HEADER variables, and then
construct the target in most cases.
8 years ago
MerryMage
e86bdb1601
Fix build on macOS and linux
8 years ago
B3n30
82151d407d
CoreTiming: Reworked CoreTiming (cherry-picked from Citra #3119 )
* CoreTiming: New CoreTiming; Add Test for CoreTiming
8 years ago
bunnei
b172f0d770
arm: Remove SkyEye/Dyncom code that is ARMv6-only.
8 years ago
bunnei
960a1416de
hle: Initial implementation of NX service framework and IPC.
8 years ago
bunnei
8c92435ded
nso: Refactor and allocate .bss section.
8 years ago
Huw Pascoe
529f4a0131
Moved down_count to CoreTiming
8 years ago
Subv
a8d2f5787f
Tests: Added Memory::IsValidVirtualAddress tests.
8 years ago
Subv
c102e3ae28
Tests: Fixed ARM VFP tests
8 years ago
MerryMage
c02bbb7030
memory: Add GetCurrentPageTable/SetCurrentPageTable
Don't expose Memory::current_page_table as a global.
8 years ago
Subv
3bde97ea05
Tests/VFP: Use a standalone pagetable for the TestEnvironment memory operations.
This fixes building the tests
9 years ago
MerryMage
a08edd67eb
tests: Add tests for vadd
9 years ago
MerryMage
567c3a2ee7
tests: Arm testing framework
9 years ago
Yuri Kunde Schlesner
cdefefc539
Kernel: Fix typo in test name
9 years ago
Yuri Kunde Schlesner
f64d0b3f26
Kernel/IPC: Support translation of null handles
Missed this in my first implementation. Thanks to @wwylele for pointing
out that this was missing.
9 years ago
Yuri Kunde Schlesner
60a882cd50
Kernel/IPC: Add tests for HLERequestContext buffer translation
9 years ago
Yuri Kunde Schlesner
cebdae6c92
CMake: Create an INTERFACE target for Catch
9 years ago
Yuri Kunde Schlesner
7b81903756
CMake: Correct inter-module dependencies and library visibility
Modules didn't correctly define their dependencies before, which relied
on the frontends implicitly including every module for linking to
succeed.
Also changed every target_link_libraries call to specify visibility of
dependencies to avoid leaking definitions to dependents when not
necessary.
9 years ago
wwylele
8a8c0f348b
Common: add ParamPackage
9 years ago
Jan Beich
774d3112af
tests: add missing libcore dependency after 75ee2f8c67
$ (cmake -DENABLE_SDL2:BOOL=false /path/to/citra; gmake)
[...]
[ 85%] Linking CXX executable tests
../common/libcommon.a(microprofile.cpp.o): In function `MicroProfileThreadStart(pthread**, void* (*)(void*))':
src/common/microprofile.cpp:(.text+0x41): undefined reference to `pthread_create'
c++: error: linker command failed with exit code 1 (use -v to see invocation)
9 years ago
wwylele
282195b450
tests: add a work-around for macOS linking error
9 years ago
wwylele
75ee2f8c67
FileSys: add PathParser
9 years ago
MerryMage
87de1ca968
Tests: Run tests on CI
10 years ago
MerryMage
a03f9b6fb6
tests: Infrastructure for unit tests
10 years ago