Skip to content

Improve support for MSVC ARM64 - #2230

Closed
scribam wants to merge 1 commit into
unicorn-engine:devfrom
scribam:msvc-arm64
Closed

Improve support for MSVC ARM64#2230
scribam wants to merge 1 commit into
unicorn-engine:devfrom
scribam:msvc-arm64

Conversation

@scribam

@scribam scribam commented Aug 16, 2025

Copy link
Copy Markdown
Contributor

This does not allow to build Unicorn with MSVC ARM64 as this seems unsupported by qemu currently but it fixes few errors found in CMakelists.txt.
Using only CMAKE_SIZEOF_VOID_P EQUAL 8 is not enough to detect x86_64 anymore as ARM64 returns the same value

@wtdcode

wtdcode commented Aug 16, 2025

Copy link
Copy Markdown
Member

Even you make the compiler right, currently it is not possible to really run unicorn on windows arm64 natively as we have inline assembly. I was working on this but lack machines to test.

@wtdcode

wtdcode commented Aug 16, 2025

Copy link
Copy Markdown
Member

See the blockers here: https://github.com/unicorn-engine/unicorn/blob/master/qemu/accel/tcg/translate-all.c#L930

Another workaround is that we allocate static translation buffers as qemu does on arm64.

@scribam

scribam commented Aug 16, 2025

Copy link
Copy Markdown
Contributor Author

There is a runner available on GitHub Actions: windows-11-arm (https://github.blog/changelog/2025-08-07-arm64-hosted-runners-for-public-repositories-are-now-generally-available/)

Clearly not the best solution for development but maybe enough for tests.

I don't plan to look at the assembly as it is beyond my skills so feel free to close this PR if you think it does not bring anything useful for now

@wtdcode

wtdcode commented Aug 16, 2025

Copy link
Copy Markdown
Member

Thanks for letting me know and I will leave this PR open for furture arm64 support work.

@scribam scribam closed this Nov 10, 2025
@scribam
scribam deleted the msvc-arm64 branch November 10, 2025 15:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants