Lioncash
e48b4fd2d8
memory: Dehardcode the use of a 36-bit address space
Given games can also request a 32-bit or 39-bit address space, we
shouldn't be hardcoding the address space range as 36-bit.
7 years ago
Yuri Kunde Schlesner
089af97d09
Tests: Remove glad test OS X work-around
7 years ago
fearlessTobi
1190ea6ddb
Port #4182 from Citra: "Prefix all size_t with std::"
7 years ago
MerryMage
62e2e0a8fb
common: Implement a ring buffer
7 years ago
Lioncash
4913549d6b
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
a7798e834a
externals: Update catch to 2.3.0
Updates the library from 2.2.3 to 2.3.0
7 years ago
Lioncash
3bcf090d37
core/memory: Get rid of 3DS leftovers
Removes leftover code from citra that isn't needed.
8 years ago
Lioncash
633cba2848
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
193e23b12f
arm_test_common: Make file static variable a member variable of the testing environment
Gets rid of file-static behavior.
8 years ago
Lioncash
c45b86bbb4
arm_test_common: Add missing header guard
8 years ago
Zach Hilman
82150bd5c1
Virtual Filesystem 2: Electric Boogaloo ( #676 )
* Virtual Filesystem
* Fix delete bug and documentate
* Review fixes + other stuff
* Fix puyo regression
8 years ago
bunnei
f16763ed52
core: Move process creation out of global state.
8 years ago
Subv
a9c51be95e
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
7a23a53396
memory: Replace all memory hooking with Special regions
8 years ago
James Rowe
ea88c44eb8
Format: Run the new clang format on everything
8 years ago
Lioncash
447c25646e
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
d616b36e7b
Fix build on macOS and linux
8 years ago
B3n30
1b2aa3780d
CoreTiming: Reworked CoreTiming (cherry-picked from Citra #3119 )
* CoreTiming: New CoreTiming; Add Test for CoreTiming
8 years ago
bunnei
b055ea2699
arm: Remove SkyEye/Dyncom code that is ARMv6-only.
8 years ago
bunnei
2ea8867549
hle: Initial implementation of NX service framework and IPC.
8 years ago
bunnei
6d3b6e0041
nso: Refactor and allocate .bss section.
8 years ago
Huw Pascoe
ed9e0618c9
Moved down_count to CoreTiming
8 years ago
Subv
2420759794
Tests: Added Memory::IsValidVirtualAddress tests.
8 years ago
Subv
6af5b05299
Tests: Fixed ARM VFP tests
8 years ago
MerryMage
6b8ad273fc
memory: Add GetCurrentPageTable/SetCurrentPageTable
Don't expose Memory::current_page_table as a global.
8 years ago
Subv
082f12048a
Tests/VFP: Use a standalone pagetable for the TestEnvironment memory operations.
This fixes building the tests
9 years ago
MerryMage
22e08c7e6b
tests: Add tests for vadd
9 years ago
MerryMage
75f30767d3
tests: Arm testing framework
9 years ago
Yuri Kunde Schlesner
0c20b6e519
Kernel: Fix typo in test name
9 years ago
Yuri Kunde Schlesner
b3e13d653f
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
d8ee9cb5c3
Kernel/IPC: Add tests for HLERequestContext buffer translation
9 years ago
Yuri Kunde Schlesner
e04bfa22e7
CMake: Create an INTERFACE target for Catch
9 years ago
Yuri Kunde Schlesner
b78ce2bce5
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
11e73d554f
Common: add ParamPackage
9 years ago
Jan Beich
61f52b5d33
tests: add missing libcore dependency after 37d6cbc200
$ (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
68dc34c32b
tests: add a work-around for macOS linking error
9 years ago
wwylele
37d6cbc200
FileSys: add PathParser
9 years ago
MerryMage
df2d284556
Tests: Run tests on CI
10 years ago
MerryMage
9d9970fba9
tests: Infrastructure for unit tests
10 years ago