Subv
d84eb9dac6
CPU: Save and restore the TPIDR_EL0 system register on every context switch.
Note that there's currently a dynarmic bug preventing this register from being written.
8 years ago
Lioncash
ae09adfcb3
arm_interface: Remove unused tls_address member of ThreadContext
Currently, the TLS address is set within the scheduler, making this
member unused.
8 years ago
MerryMage
56cc1c11ec
scheduler: Clear exclusive state when switching contexts
8 years ago
Hedges
e066bc75b9
More improvements to GDBStub ( #653 )
* More improvements to GDBStub
- Debugging of threads should work correctly with source and assembly level stepping and modifying registers and memory, meaning threads and callstacks are fully clickable in VS.
- List of modules is available to the client, with assumption that .nro and .nso are backed up by an .elf with symbols, while deconstructed ROMs keep N names.
- Initial support for floating point registers.
* Tidy up as requested in PR feedback
* Tidy up as requested in PR feedback
8 years ago
James Rowe
0d46f0df12
Update clang format
8 years ago
James Rowe
638956aa81
Rename logging macro back to LOG_*
8 years ago
Hedges
39fb3e362c
GDB Stub Improvements ( #508 )
* GDB Stub should work now.
* Applied clang-format.
* Replaced htonll with swap64.
* Tidy up.
8 years ago
bunnei
a434fdcb10
core: Implement multicore support.
8 years ago
Lioncash
7c9644646f
general: Make formatting of logged hex values more straightforward
This makes the formatting expectations more obvious (e.g. any zero padding specified
is padding that's entirely dedicated to the value being printed, not any pretty-printing
that also gets tacked on).
8 years ago
Lioncash
8475496630
general: Convert assertion macros over to be fmt-compatible
8 years ago
Lioncash
c33755e2b9
core: Replace remaining old non-generic logger usages with fmt-capable equivalents
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.
8 years ago
MerryMage
88c9608eac
arm_dynarmic: Fix timing
8 years ago
N00byKing
ef875d6a35
Clean Warnings (?)
8 years ago
bunnei
403f8e79ea
arm_interface: Support unmapping previously mapped memory.
8 years ago
bunnei
7d6653268f
core: Move process creation out of global state.
8 years ago
N00byKing
bc88cae0c7
Implements citra-emu/citra#3184
8 years ago
mailwl
910198a29a
Stub am::SetScreenShotPermission, and bsd::StartMonitoring functions
8 years ago
MerryMage
32d127ad3e
dynarmic: Update to 6b4c6b0
6b4c6b0 impl: Update PC when raising exception
7a1313a A64: Implement FDIV (vector)
b2d781d system: Raise exception for YIELD, WFE, WFI, SEV, SEVL
b277bf5 Correct FPSR and FPCR
7673933 A64: Implement USHL
8d0e558 A64: Implement UCVTF (vector, integer), scalar variant
da9a4f8 A64: Partially implement FCVTZU (scalar, fixed-point) and FCVTZS (scalar, fixed-point)
7479684 A64: Implement system register TPIDR_EL0
0fd75fd A64: Implement system registers FPCR and FPSR
31e370c A64: Implement system register CNTPCT_EL0
9a88fd3 A64: Implement system register CTR_EL0
1d16896 A64: Implement NEG (vector)
3184edf IR: Add IR instruction ZeroVector
31f8fbc emit_x64_floating_point: Add maybe_unused to preprocess parameter
567eb1a A64: Implement FMINNM (scalar)
c6d8fa1 A64: Implement FMAXNM (scalar)
616056d constant_pool: Add frame parameter
a3747cb A64: Implement ADDP (scalar)
5cd5d9f reg_alloc: Only exchange GPRs
dd0452a A64: Implement DUP (element), scalar variant
e5732ea emit_x64_floating_point: Correct FP{Max,Min}{32,64} implementations for -0/+0
40eb9c3 A64: Implement FMAX (scalar), FMIN (scalar)
7cef39b fuzz_with_unicorn: QEMU's implementation of FCVT is incorrect
826dce2 travis: Switch unicorn repository
9605f28 a64/config: Allow NaN emulation accuracy to be set
e9435bc a64_emit_x64: Add conf to A64EmitContext
30b596d fuzz_with_unicorn: Explicitly test floating point instructions
be292a8 A64: Implement FSQRT (scalar)
3c42d48 backend_x64: Accurately handle NaNs
4aefed0 fuzz_with_unicorn: Print AArch64 disassembly
8 years ago
MerryMage
e8b9731af3
arm_dynarmic: LOG_INFO on unicorn fallback
8 years ago
MerryMage
6085d32cf5
arm_dynarmic: Support direct page table access
8 years ago
MerryMage
d3bbed5e78
dynarmic: Update to 41ae12263
Changes: Primarily implementing more A64 instructions
8 years ago
River City Ransomware
dd62f125c3
Fixes some cast warnings, partial port of citra #3064 ( #106 )
* Fixes some cast warnings, partially fixes citra #3064
* Converted casts to uint32_t to u32
* Ran clang-format
8 years ago
MerryMage
e35644c005
clang-format
8 years ago
James Rowe
2d7a85f7af
Build: Automagically handle unicorn
On MSVC if unicorn isn't found, fallback to bundled unicorn
On everything else, fallback to building unicorn in externals
Also fixes loading unicorn in msvc
8 years ago
James Rowe
e026b66bbb
Build: Add unicorn as a submodule and build it if needed
Adds a cmake custom target that will build unicorn on first compile and
uses this in the build scripts as well. Updates Appveyor and Travis
build scripts to work with the new unicorn build, and updates the paths
to all of the different artifacts.
8 years ago
MerryMage
668e5452fa
Update dynarmic to bc73004
bc73004 a64_merge_interpret_blocks: Remove debug output
4e656ed tests/A64: Randomize PSTATE.<NZCV>
fd9530b A64: Optimization: Merge interpret blocks
3c9eb04 testenv: Use format constants
324f3fc tests/A64: Unicorn interface fixes
98ecbe7 tests/A64: Fuzz against unicorn
b1d38e7 tests/A64: Move TestEnvironment to own header
5218ad9 A64/data_processing_pcrel: bug: ADR{,P} instructions sign extend their immediate
b1a8c39 A64/data_processing_addsub: bug: {ADD,SUB}S (extended register) instructions write to ZR when d = 31
64827fb a64_emit_x64: bug: A64CallSupervisor trampled callee-save registers
1bfa04d emit_x64: bug: OP m/r64, imm32 form instructions sign-extend their immediate on x64
edadeea A64 inferface: Use two argument static_assert
9ab1304 A64: Add ExceptionRaised IR instruction
6843eed Update readme
7438d07 A64/translate: Add TranslateSingleInstruction function
8 years ago
bunnei
17af2937fe
arm_unicorn: Log unmapped memory access address.
8 years ago
bunnei
1247c53786
yuzu: Update license text to be consistent across project.
8 years ago
MerryMage
d2fbc78320
arm_dynarmic: Implement core
8 years ago
bunnei
b38223f662
arm_unicorn: Load/release unicorn DLL.
8 years ago
bunnei
3f8b9181b5
unicorn: Use for arm interface on Windows.
8 years ago
bunnei
6e9d66fd3a
arm_dynarmic: More cleanup.
8 years ago
bunnei
aa7e061e71
arm_dynarmic: Gut interface until dynarmic is ready for general use.
8 years ago
bunnei
b172f0d770
arm: Remove SkyEye/Dyncom code that is ARMv6-only.
8 years ago
bunnei
45db4bb3ea
logging: Rename category "Core_ARM11" to "Core_ARM".
8 years ago
bunnei
6377585edb
arm_interface: Set TLS address for dynarmic core.
8 years ago
bunnei
3411883fe3
arm: Use 64-bit addressing in a bunch of places.
8 years ago
Huw Pascoe
529f4a0131
Moved down_count to CoreTiming
8 years ago
MerryMage
67a70bd9e1
ARM_Interface: Implement PageTableChanged
8 years ago
Subv
7a3ab7c63d
CPU/Dynarmic: Disable the fast page-table access in dynarmic until it supports switching page tables at runtime.
8 years ago
Subv
d237a89048
CPU/Dynarmic: Fixed a warning when incrementing the number of ticks in ExecuteInstructions.
8 years ago
Subv
9d0841b48b
Dyncom: Use size_t instead of int to store the instruction offsets in the instruction cache.
Fixes a few warnings.
8 years ago
Subv
d3fb1d6c38
Dyncom: Fixed a conversion warning when decoding thumb instructions.
8 years ago
Subv
5b46a89230
fixup! Dyncom/VFP: Convert denormal outputs into 0 when the FTZ flag is enabled.
9 years ago
Subv
a0874a7a68
Dyncom/VFP: Perform flush-to-zero on the second operand of vsub before sending it to vadd.
Previously we were letting vadd flush the value to positive 0, but there are cases where this behavior is wrong, for example,
vsub: -0 - +0 = -0
vadd: -0 + +0 = +0
Now we'll flush the value to +0 inside vsub, and then negate it.
9 years ago
Subv
11fe85f129
Dyncom/VFP: Strip the VFP_NAN_FLAG sentinel value when setting vfp exceptions.
9 years ago
Subv
bf45ccfb40
Revert "Remove `exceptions` parameter from `normaliseround` VFP functions"
This reverts commit edf30d84cc .
Conflicts:
src/core/arm/skyeye_common/vfp/vfp_helper.h
src/core/arm/skyeye_common/vfp/vfpdouble.cpp
src/core/arm/skyeye_common/vfp/vfpsingle.cpp
9 years ago
Subv
b1a29371c9
Dyncom/VFP: Convert denormal outputs into 0 when the FTZ flag is enabled.
Inputs are still not flushed to 0 if they are denormals.
9 years ago
Yuri Kunde Schlesner
d97b977540
Dyncom: Remove disassembler code
Had licensing issue around it, in addition to several bugs.
Closes #1632 , #1280
9 years ago
Yuri Kunde Schlesner
f0a582b218
Dyncom: Tweak types and log formatting
9 years ago