Maurice Heumann
7f3c5d080c
Basic working icicle support ( #181 )
2025-04-07 09:31:42 +02:00
Maurice Heumann
e749c7d47f
Adapt readme
2025-04-07 09:02:05 +02:00
Maurice Heumann
1cfe20b7a1
Skip icicle debug tests
2025-04-07 08:04:24 +02:00
Maurice Heumann
787410ff33
Remove IP skip check
2025-04-07 07:52:02 +02:00
Maurice Heumann
baad36ccf2
Support interrupt hooks
2025-04-07 07:24:46 +02:00
momo5502
1ed997445d
Fix IRETQ instruction
2025-04-06 20:56:28 +02:00
momo5502
e8ac70f0d0
Use ghidra spec from icicle-python
...
--> https://github.com/icicle-emu/icicle-python
2025-04-06 20:55:51 +02:00
momo5502
5fde8c033d
Fix hooks
...
This fixes #180
2025-04-06 20:01:18 +02:00
momo5502
cacf2c152c
Fix single stepping after breakpoints
2025-04-06 17:50:02 +02:00
momo5502
e40e1bfb83
Ugly hack to *sometimes* fix instruction skipping
2025-04-06 10:46:21 +02:00
momo5502
3450a6a517
Fix reading/writing eflags
2025-04-06 09:44:46 +02:00
momo5502
320af6bb46
Support GDB stepping
...
...almost :(
2025-04-06 09:44:05 +02:00
momo5502
ed711197ae
Fix GDB debugging with icicle
2025-04-05 16:15:56 +02:00
momo5502
bfb9760d29
Fix unicorn read hook
2025-04-05 15:58:34 +02:00
momo5502
3978eeed2a
Finish execution hook support
2025-04-05 15:28:14 +02:00
momo5502
efe5a21e57
Switch to icicle fork
2025-04-05 14:50:11 +02:00
momo5502
638ad2c7a4
Support read and write hooks
2025-04-05 12:51:37 +02:00
momo5502
349526a54a
Simplify hooking interface
2025-04-05 11:59:49 +02:00
momo5502
a336bdf2af
Simplify violation hook API
2025-04-05 10:01:28 +02:00
momo5502
0fbb7a2e0d
Revert "Disable exceptions for now"
...
This reverts commit 3391780c2f .
2025-04-05 09:28:01 +02:00
momo5502
3de9043299
Revert "Disable icicle tests"
...
This reverts commit dd7a80a9f0 .
2025-04-05 09:23:38 +02:00
Maurice Heumann
3391780c2f
Disable exceptions for now
2025-04-05 09:23:30 +02:00
Maurice Heumann
8935a3d56e
Integrate icicle into CI ( #179 )
...
But disable it for now
2025-04-05 09:23:01 +02:00
momo5502
dd7a80a9f0
Disable icicle tests
2025-04-05 09:03:41 +02:00
momo5502
d191f8e667
Optimize MMIO handling
2025-04-05 09:03:41 +02:00
momo5502
b696117424
Add safety checks
2025-04-05 09:03:41 +02:00
momo5502
102676b51c
Unify environment variables
2025-04-05 09:03:41 +02:00
Maurice Heumann
d6a419d5f6
Add Ghidra processor specification
2025-04-04 15:35:10 +02:00
Maurice Heumann
8de5c7be3a
Run icicle tests
2025-04-04 15:34:58 +02:00
Maurice Heumann
6b6d2d29f7
Merge icicle progress ( #178 )
2025-04-04 13:34:26 +02:00
Maurice Heumann
24df7c65c2
Support accurate instruction counts
2025-04-04 13:13:09 +02:00
Maurice Heumann
204159f137
Support violation hooks
2025-04-02 08:21:37 +02:00
momo5502
f5b77ffa67
Tests
2025-04-02 07:03:01 +02:00
momo5502
84268bc7e3
More icicle progress
2025-04-02 06:28:01 +02:00
momo5502
ec235202fb
Prepare instruction hook injection
2025-04-01 20:54:08 +02:00
momo5502
5846d2c0b9
Generalize hook store
2025-04-01 20:54:08 +02:00
momo5502
bdf5d60fd9
Implement serialization
2025-04-01 20:54:08 +02:00
Maurice Heumann
31464c1c68
Bump deps/googletest from 2ae29b5 to 52204f7 ( #177 )
...
Bumps [deps/googletest](https://github.com/google/googletest ) from
`2ae29b5` to `52204f7`.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="52204f78f9 "><code>52204f7</code></a>
Remove obsolete references to LinuxThreads.</li>
<li>See full diff in <a
href="2ae29b52fd...52204f78f9 ">compare
view</a></li>
</ul>
</details>
<br />
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
</details>
2025-04-01 20:18:29 +02:00
Maurice Heumann
960db24193
Bump reactivecircus/android-emulator-runner from 2.33.0 to 2.34.0 ( #176 )
...
Bumps
[reactivecircus/android-emulator-runner](https://github.com/reactivecircus/android-emulator-runner )
from 2.33.0 to 2.34.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/reactivecircus/android-emulator-runner/releases ">reactivecircus/android-emulator-runner's
releases</a>.</em></p>
<blockquote>
<h2>v2.34.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Allow arbitrary value for <code>api-level</code> such as
<code>Baklava</code> and <code>35-ext15</code>. by <a
href="https://github.com/TimoPtr "><code>@TimoPtr</code></a> in <a
href="https://redirect.github.com/ReactiveCircus/android-emulator-runner/pull/428 ">ReactiveCircus/android-emulator-runner#428</a></li>
<li>Add option to specify <code>system-image-api-level</code> to use a
system image with a different API level than the platform. by <a
href="https://github.com/TimoPtr "><code>@TimoPtr</code></a> in <a
href="https://redirect.github.com/ReactiveCircus/android-emulator-runner/pull/428 ">ReactiveCircus/android-emulator-runner#428</a></li>
<li>Support automotive and desktop targets:
<code>android-automotive</code>,
<code>android-automotive-playstore</code>, <code>android-desktop</code>.
by <a href="https://github.com/TimoPtr "><code>@TimoPtr</code></a> in <a
href="https://redirect.github.com/ReactiveCircus/android-emulator-runner/pull/428 ">ReactiveCircus/android-emulator-runner#428</a></li>
<li>Add <code>Baklava</code> support by <a
href="https://github.com/yujincheng08 "><code>@yujincheng08</code></a>
in <a
href="https://redirect.github.com/ReactiveCircus/android-emulator-runner/pull/424 ">ReactiveCircus/android-emulator-runner#424</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/TimoPtr "><code>@TimoPtr</code></a> made
their first contribution in <a
href="https://redirect.github.com/ReactiveCircus/android-emulator-runner/pull/428 ">ReactiveCircus/android-emulator-runner#428</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/ReactiveCircus/android-emulator-runner/compare/v2.33.0...v2.34.0 ">https://github.com/ReactiveCircus/android-emulator-runner/compare/v2.33.0...v2.34.0 </a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/ReactiveCircus/android-emulator-runner/blob/main/CHANGELOG.md ">reactivecircus/android-emulator-runner's
changelog</a>.</em></p>
<blockquote>
<h2>v2.34.0</h2>
<ul>
<li>Allow arbitrary value for <code>api-level</code> such as
<code>Baklava</code> and <code>35-ext15</code>. - <a
href="https://redirect.github.com/ReactiveCircus/android-emulator-runner/pull/428 ">428</a></li>
<li>Add option to specify <code>system-image-api-level</code> to use a
system image with a different API level than the platform. - <a
href="https://redirect.github.com/ReactiveCircus/android-emulator-runner/pull/428 ">428</a></li>
<li>Support automotive and desktop targets:
<code>android-automotive</code>,
<code>android-automotive-playstore</code>, <code>android-desktop</code>.
- <a
href="https://redirect.github.com/ReactiveCircus/android-emulator-runner/pull/428 ">428</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="1dcd009011 "><code>1dcd009</code></a>
Merge branch 'main' into release/v2</li>
<li><a
href="2548f9f3fc "><code>2548f9f</code></a>
Prepare for release 2.34.0.</li>
<li><a
href="595a4563df "><code>595a456</code></a>
Update README.md and CHANGELOG.md.</li>
<li><a
href="a173d65200 "><code>a173d65</code></a>
Support API levels for SDK extensions and add missing targets for
automotive ...</li>
<li><a
href="50d5b10c01 "><code>50d5b10</code></a>
Add <code>Baklava</code> support (<a
href="https://redirect.github.com/reactivecircus/android-emulator-runner/issues/424 ">#424</a>)</li>
<li>See full diff in <a
href="https://github.com/reactivecircus/android-emulator-runner/compare/v2.33.0...v2.34.0 ">compare
view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores )
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
</details>
2025-04-01 20:08:46 +02:00
dependabot[bot]
ae00e664e1
Bump deps/googletest from 2ae29b5 to 52204f7
...
Bumps [deps/googletest](https://github.com/google/googletest ) from `2ae29b5` to `52204f7`.
- [Release notes](https://github.com/google/googletest/releases )
- [Commits](2ae29b52fd...52204f78f9 )
---
updated-dependencies:
- dependency-name: deps/googletest
dependency-version: 52204f78f94d7512df1f0f3bea1d47437a2c3a58
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-04-01 17:54:04 +00:00
dependabot[bot]
30f752cc15
Bump reactivecircus/android-emulator-runner from 2.33.0 to 2.34.0
...
Bumps [reactivecircus/android-emulator-runner](https://github.com/reactivecircus/android-emulator-runner ) from 2.33.0 to 2.34.0.
- [Release notes](https://github.com/reactivecircus/android-emulator-runner/releases )
- [Changelog](https://github.com/ReactiveCircus/android-emulator-runner/blob/main/CHANGELOG.md )
- [Commits](https://github.com/reactivecircus/android-emulator-runner/compare/v2.33.0...v2.34.0 )
---
updated-dependencies:
- dependency-name: reactivecircus/android-emulator-runner
dependency-version: 2.34.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-04-01 17:48:31 +00:00
Maurice Heumann
c0e2ef1a89
First step towards supporting icicle-emu ( #175 )
...
This PR aims to provide initial support for icicle-emu.
It's not done yet, but things are making progress.
As it contains interface adjustments and fixes for unicorn, merging the
current state makes sense.
2025-04-01 19:22:48 +02:00
momo5502
1cdf280fcf
Support disabling rust code
2025-04-01 18:49:41 +02:00
momo5502
7d5555e985
Fix unicorn and switch back to it as default emulator
2025-04-01 18:37:00 +02:00
momo5502
afd9344e97
Extract registers
2025-04-01 18:34:29 +02:00
momo5502
fd018c46b4
Support saving and restoring registers
2025-04-01 18:23:24 +02:00
Maurice Heumann
7222c0fc1d
Add icicle mmio support
2025-04-01 15:40:53 +02:00
momo5502
54b5bdc531
Small fix
2025-04-01 09:27:07 +02:00
momo5502
3e6c8ed84c
Adjust icicle config
2025-03-29 11:39:13 +01:00
momo5502
b215699360
Fix syscall execution
2025-03-29 11:31:30 +01:00