Commit graph

73 commits

Author SHA1 Message Date
Merry 734f1bdb44 oaknut: CI: Use up-to-date qemu 2023-10-29 15:35:14 +00:00
Merry f462c97747 oaknut: CI: Build on OpenBSD 2023-10-29 15:33:28 +00:00
Merry 19cd42204e oaknut: code_block: Add NetBSD and OpenBSD support 2023-10-29 15:01:22 +00:00
Merry 18b86a3ecf oaknut: SystemReg: Add more EL0 accessible registers 2023-10-28 09:47:35 +01:00
Merry 53c43bf0c6 oaknut/tests: Reduce iterations for MOVP2R 2023-10-25 18:20:50 +01:00
Merry cc37df19e2 oaknut: Test on FreeBSD 2023-10-22 21:13:35 +01:00
Merry a66b32d263 oaknut: Fix crossing sign boundary in PageOffset 2023-10-22 21:13:29 +01:00
Wunkolo 206468d721 oaknut: CI: Add macos-arm64 build
Similar to the msvc-arm64 builds, this will verify a successful build
but does not run any of the tests due to the architecture of the
runner-images. A later PR may add testing support via qemu which is
available on homebrew.
2023-10-12 22:09:20 +01:00
Merry e6eecc3f94 oaknut: 1.2.1 2023-10-09 22:09:11 +01:00
Merry 4252d8f4ae oaknut: CMakeLists: Warnings are errors on MSVC 2023-10-09 22:08:29 +01:00
Merry 408eed65f8 oaknut: arm64_encode_helpers: remove unreachable code 2023-10-09 22:03:39 +01:00
Merry bfc8eedfb2 oaknut: arm64_encode_helpers: p maybe unused 2023-10-09 22:02:30 +01:00
Merry ff4456ecab oaknut: Avoid negation of unsigned values 2023-10-09 21:59:35 +01:00
Merry b4ac8fd6c1 oaknut: Fix MOV for applications of MOVN 2023-10-09 21:43:56 +01:00
Merry 0575cadc49 oaknut: Disable certain functionality where absolute addressing is not available 2023-10-09 21:43:25 +01:00
Merry 394a3c8f0a oaknut: Appease MSVC 2023-10-09 21:19:51 +01:00
Merry 0111836704 oaknut: 1.2.0 2023-10-09 01:49:24 +01:00
Merry e83c9f3276 oaknut: Add VectorCodeGenerator 2023-10-09 01:49:24 +01:00
Merry 5eb122cc58 oaknut: Tidy up public header 2023-10-09 01:33:13 +01:00
Wunkolo 45c5a7b25b oaknut: Fix clang-format errors
Fixes some duplicate mapping key errors that occur when trying to run
clang-format.

```
.../oaknut/.clang-format:9:1: error: duplicated mapping key 'AlignConsecutiveMacros'
AlignConsecutiveMacros: None
^~~~~~~~~~~~~~~~~~~~~~
Error reading .../oaknut/.clang-format: Invalid argument
```
2023-10-08 09:56:30 +01:00
Wunkolo 36243256f3 oaknut: Add const qualifier to AddrOffset ctor
Can't seem to tell if this is intentionally non-const, or not, but this
fixes some function-pointer issues I was facing on MacOS.
2023-09-29 00:44:20 +01:00
Wunkolo 4af500cb5b oaknut: Add ptr accessor to Label
Accesses the underlying `m_addr` for a `Label`. Allows client code to
derive the actual memory location of a `Label`. Also adds `is_bound` to
ensure the Label has an actual address.
2023-09-21 05:54:57 +01:00
Wunkolo bccb06669f oaknut: CodeGenerator const correctness
Adds `const` qualifier to some functions so that const CodeGenerator
objects can be operated upon.
2023-09-20 23:29:33 +01:00
Merry da0590a860 oaknut: github: Update package repositories 2023-04-27 21:35:36 +01:00
Merry c24f918e52 oaknut: 1.1.6 2023-04-27 21:26:27 +01:00
Merry 3a70cd40aa oaknut: Run clang-format 2023-04-27 21:24:29 +01:00
Steveice10 dc54784b87 oaknut: Add support for iOS memory protection. 2023-04-19 17:16:32 +01:00
Merry 14207278af oaknut: 1.1.5 2023-01-02 14:46:53 +00:00
Merry 841f9b6932 oaknut: throw OaknutException instead of plain C string 2023-01-02 14:46:53 +00:00
Merry 816481f103 oaknut: 1.1.4 2022-11-26 15:15:25 +00:00
Alexandre Bouvier a75c1144e4 cmake: add export rules 2022-11-26 08:34:17 +00:00
Wunkolo ff4d788617 oaknut: CI: Add msvc-arm64 build
Adds msvc-arm64 cross-compilation to the CI. Doesn't run the unit-tests
since there is no qemu-user for Windows but should be enough to verify a
successful Windows on Arm build moving forward.
2022-11-22 23:10:23 +00:00
Merry d0c3178314 oaknut: CI: Pin catch2 version to v3.2.0 2022-11-21 21:43:41 +00:00
SachinVin caf9cbbdc8
oaknut: Implement ADRL and MOVP2R pseudo instructions (#2)
* offset.hpp: constify PageOffset

* okanut: Implement ADRL and MOVP2R pseudo instructions
2022-11-21 21:28:00 +00:00
Merry 72f7ccd940 oaknut: 1.1.3 2022-11-15 15:35:12 +00:00
Wunk 0b5745e4eb
oaknut: Add Windows on Arm support (#1)
* Add instruction-cache invalidation for Windows

chromium uses this function as well for their `CpuFeatures::FlushICache`
implementation and similarly utilizes `sys_icache_invalidate` on OSX.

* Fix MSVC compiler warning flags

Avoids build errors on MSVC. Just copied the warning flags used on
dynarmic.

* Implement `OAKNUT_USE_BUNDLED_CATCH`

For building on Windows. This was previously unimplemented as
`DYNARMIC_USE_BUNDLED_CATCH`.
2022-11-15 09:45:59 +00:00
Merry 5de40335dc oaknut: 1.1.2 2022-11-15 01:09:31 +00:00
Merry 2952b759f7 oaknut: Correct MOV (UMOV alias) 2022-11-15 01:08:59 +00:00
Merry c90eb31ca0 oaknut: 1.1.1 2022-11-06 15:04:49 +00:00
Merry 7c777a28f8 oaknut: Fix ADR and ADRP 2022-11-06 14:58:12 +00:00
Merry 7470c76117 oaknut: Add ARMv8.2 instructions 2022-08-29 19:33:27 +01:00
Merry 9eb7cca885 oaknut: Update README 2022-08-29 12:56:55 +01:00
Merry 3fe32849aa oaknut: 1.1.0 2022-08-28 19:10:18 +01:00
Merry 542128b519 oaknut: Add ARMv8.1 instructions 2022-08-28 19:10:18 +01:00
Merry 9acafdcdd9 oaknut: fpsimd MOV and UMOV corrections 2022-08-02 00:33:33 +01:00
Merry 636f91bacc oaknut: MOV: Fix MOVN case 2022-07-31 08:22:13 +01:00
Merry 9cb3326215 oaknut: Implement arranged accessors from DReg and QReg 2022-07-25 20:58:29 +01:00
Merry ba2dc2afe9 oaknut: dx 2022-07-24 13:15:48 +01:00
Merry 94bf56b08a oaknut: align 2022-07-24 13:15:48 +01:00
Merry aa7a3519f7 oaknut: Add dw 2022-07-24 00:37:04 +01:00