bunnei
604236bb23
Merge pull request #1327 from FearlessTobi/port-4171
...
Port #4171 from Citra: "Tests: Remove glad test OS X work-around"
2018-09-17 09:54:31 -04:00
Yuri Kunde Schlesner
089af97d09
Tests: Remove glad test OS X work-around
2018-09-15 15:24:11 +02:00
fearlessTobi
1190ea6ddb
Port #4182 from Citra: "Prefix all size_t with std::"
2018-09-15 15:21:06 +02:00
MerryMage
62e2e0a8fb
common: Implement a ring buffer
2018-09-08 18:56:38 +01:00
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.
2018-08-28 22:31:51 -04:00
Lioncash
a7798e834a
externals: Update catch to 2.3.0
...
Updates the library from 2.2.3 to 2.3.0
2018-08-07 19:26:13 -04:00
Lioncash
3bcf090d37
core/memory: Get rid of 3DS leftovers
...
Removes leftover code from citra that isn't needed.
2018-08-03 11:22:47 -04:00
Lioncash
633cba2848
arm_test_common: Get rid of truncation warnings
...
Explicitly cast the value to a u8 to show that this is intentional.
2018-07-20 17:53:53 -04:00
Lioncash
193e23b12f
arm_test_common: Make file static variable a member variable of the testing environment
...
Gets rid of file-static behavior.
2018-07-20 17:52:37 -04:00
Lioncash
c45b86bbb4
arm_test_common: Add missing header guard
2018-07-20 17:48:43 -04:00
Zach Hilman
82150bd5c1
Virtual Filesystem 2: Electric Boogaloo ( #676 )
...
* Virtual Filesystem
* Fix delete bug and documentate
* Review fixes + other stuff
* Fix puyo regression
2018-07-18 18:07:11 -07:00
bunnei
f16763ed52
core: Move process creation out of global state.
2018-03-14 18:42:19 -04:00
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.
2018-03-01 19:03:53 -05:00
MerryMage
7a23a53396
memory: Replace all memory hooking with Special regions
2018-01-27 15:16:39 +00:00
James Rowe
ea88c44eb8
Format: Run the new clang format on everything
2018-01-20 16:45:11 -07:00
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.
2018-01-17 21:51:43 -05:00
MerryMage
d616b36e7b
Fix build on macOS and linux
2018-01-13 22:38:52 +00:00
B3n30
1b2aa3780d
CoreTiming: Reworked CoreTiming (cherry-picked from Citra #3119 )
...
* CoreTiming: New CoreTiming; Add Test for CoreTiming
2018-01-08 19:10:25 -05:00
bunnei
b055ea2699
arm: Remove SkyEye/Dyncom code that is ARMv6-only.
2018-01-02 22:24:12 -05:00
bunnei
2ea8867549
hle: Initial implementation of NX service framework and IPC.
2017-10-14 22:18:42 -04:00
bunnei
775cf60729
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
2017-10-09 23:56:20 -04:00
bunnei
6d3b6e0041
nso: Refactor and allocate .bss section.
2017-09-30 14:33:58 -04:00
Huw Pascoe
ed9e0618c9
Moved down_count to CoreTiming
2017-09-30 17:38:14 +01:00
Subv
2420759794
Tests: Added Memory::IsValidVirtualAddress tests.
2017-09-26 17:31:50 -05:00
Subv
6af5b05299
Tests: Fixed ARM VFP tests
2017-09-26 17:29:06 -05:00
MerryMage
6b8ad273fc
memory: Add GetCurrentPageTable/SetCurrentPageTable
...
Don't expose Memory::current_page_table as a global.
2017-09-24 22:42:42 +01:00
Subv
082f12048a
Tests/VFP: Use a standalone pagetable for the TestEnvironment memory operations.
...
This fixes building the tests
2017-09-15 14:26:20 -05:00
MerryMage
22e08c7e6b
tests: Add tests for vadd
2017-07-23 12:29:51 +01:00
MerryMage
75f30767d3
tests: Arm testing framework
2017-07-23 12:08:43 +01:00
Yuri Kunde Schlesner
0c20b6e519
Kernel: Fix typo in test name
2017-06-22 02:21:18 -07:00
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.
2017-06-21 14:27:03 -07:00
Yuri Kunde Schlesner
d8ee9cb5c3
Kernel/IPC: Add tests for HLERequestContext buffer translation
2017-06-18 16:05:58 -07:00
Yuri Kunde Schlesner
e04bfa22e7
CMake: Create an INTERFACE target for Catch
2017-05-27 22:46:59 -07:00
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.
2017-05-27 18:41:24 -07:00
wwylele
11e73d554f
Common: add ParamPackage
2017-03-01 23:30:57 +02:00
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)
2016-12-07 18:30:49 +00:00
wwylele
68dc34c32b
tests: add a work-around for macOS linking error
2016-11-19 18:55:35 +02:00
wwylele
37d6cbc200
FileSys: add PathParser
2016-11-19 17:17:19 +02:00
MerryMage
df2d284556
Tests: Run tests on CI
2016-05-19 19:28:08 +01:00
MerryMage
9d9970fba9
tests: Infrastructure for unit tests
2016-05-19 08:38:03 +01:00