-
Notifications
You must be signed in to change notification settings - Fork 472
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Aarch64 #1366
Aarch64 #1366
Conversation
Cherry-picked (with minor adjustments) from disconnect3d/aarch64/skeleton.
The `uname -m` on a Huawei Nova 2i phone returns `aarch64`. Cherry-picked (with minor adjustments) from disconnect3d/aarch64/skeleton.
Cherry-picked from disconnect3d/aarch64/skeleton.
Cherry-picked from disconnect3d/aarch64/skeleton.
Cherry-picked (with minor adjustments) from disconnect3d/aarch64/skeleton.
Cherry-picked (with minor adjustments) from disconnect3d/aarch64/skeleton.
Cherry-picked from disconnect3d/aarch64/skeleton.
Cherry-picked (with minor adjustments) from disconnect3d/aarch64/skeleton.
Cherry-picked (with minor adjustments) from disconnect3d/aarch64/skeleton.
Via ARMv8 Reference Manual, §A1.3.2 (p. A1-35), as pointed out on the SO linked below: > AArch64 state supports only a single instruction set, called A64. > This is a fixed-length instruction set that uses 32-bit instruction encodings. https://stackoverflow.com/questions/46086329/can-i-use-thumb-instructions-in-an-arm64-binary Cherry-picked from disconnect3d/aarch64/skeleton.
My Aarch64 work will be happening here. Currently this just includes code by @disconnect3d (with minor changes and updated for current master) and is completely untested. Things might be changing a lot while this is still in development, but feel free to review and comment if you feel like it. |
The tests currently rely on Unicorn. Make sure they pass when instructions are implemented in Python.
Only 64-bit registers for now and no floating-point support.
CC @yan (just in case) |
Fixed codeclimate issues in all files affected by this branch, not just my changes, including ignored paths. There are some things left, but:
Maybe it's worth ignoring some issues in the config: https://pep8.readthedocs.io/en/latest/intro.html#configuration (Note that the number of issues is different below from what GitHub reports, but that's because I provide paths myself.)
|
Just to demonstrate accepted fixes (that I know of), I'll let you judge:
|
Squashed and rebased on master: Verified that there are no major differences by Will be splitting the new branch into smaller PRs next. |
@ehennenfent Split nkaretnikov/aarch64-squash-rebase (this PR squashed and rebased on master) into multiple PRs:
The idea here is to merge them in this particular order as each PR builds on the previous one. If git can't deal with commits on a feature branch that are already present on master, one will have to cherry-pick or rebase first. After applying all of them, there should be no changes against nkaretnikov/aarch64-squash-rebase. The advantage of this split method is that it doesn't introduce or remove any code in-between. |
I'm closing this one to avoid confusion. |
This change is![Reviewable](https://camo.githubusercontent.com/23b05f5fb48215c989e92cc44cf6512512d083132bd3daf689867c8d9d386888/68747470733a2f2f72657669657761626c652e696f2f7265766965775f627574746f6e2e737667)