Skip to content

aarch32: Prepare for ISS#944

Draft
BadGraphixD wants to merge 6 commits into
masterfrom
progress/aarch32-iss
Draft

aarch32: Prepare for ISS#944
BadGraphixD wants to merge 6 commits into
masterfrom
progress/aarch32-iss

Conversation

@BadGraphixD
Copy link
Copy Markdown
Contributor

@BadGraphixD BadGraphixD commented May 9, 2026

  • Add aarch32/virt.vadl
  • Add aarch32_compiler.py
    • Includes HTIF and semihosting calls in the assembly template
  • Disable unsupported instructions (by the ISS) in aarch32/aarch32.vadl

Note: currently the simulation with our a32 target does not have working HTIF. This is because pc-relative addresses do not work yet, which will be fixed by #932 and #938

@github-actions github-actions Bot added the iss This is ISS related label May 9, 2026
@BadGraphixD BadGraphixD added the VADL-specification Issues with a specification written in VADL label May 9, 2026
@BadGraphixD BadGraphixD force-pushed the progress/aarch32-iss branch from fe8a429 to 6bd653b Compare May 10, 2026 12:34
@Jozott00
Copy link
Copy Markdown
Contributor

@flofriday Would you like to take a look at this, as it has some changes on the frontend?

@flofriday
Copy link
Copy Markdown
Contributor

@flofriday Would you like to take a look at this, as it has some changes on the frontend?

I don't see any changes in the frontend, was this maybe an old commit, or just a weird diff because #932 wasn't merged yet?

@Jozott00
Copy link
Copy Markdown
Contributor

@flofriday oups, I wanted to write the comment under #932 😭

@Jozott00
Copy link
Copy Markdown
Contributor

@BadGraphixD please use the cosim approach, as it was done for PowerPC. Eventually, we will migrate RISC-V and AArch64 to it as well.

- Add virt.vadl, which behaves like upstream QEMU
- Some VADL builtins are not fully supported by all passes
  or not implemented
  - All related aarch32 instrs are disabled
- The multiple memory instructions take extremely long
  to compile
  - All related aarch32 mem instrs are disabled
- Instructions were in wrong byte order
- Rewrote with current limitations (no mov, pc not working)
- Uses arm-linux-gnueabihf-*
- Host interaction (HTIF, semihosting) not yet done
@BadGraphixD BadGraphixD force-pushed the progress/aarch32-iss branch from 6bd653b to aa0e729 Compare May 11, 2026 15:12
@AndreasKrall
Copy link
Copy Markdown
Contributor

@BadGraphixD please use the cosim approach, as it was done for PowerPC. Eventually, we will migrate RISC-V and AArch64 to it as well.

@Jozott00 I do not exactly know what you mean by the cosim approach, but I assume that you mean that tests are executed in parallel with an upstream QEMU aarch32 and the results are compared. I am not convinced that this is a good idea. I suggest to use selfcontained tests for most of the test cases and use the cosim approach only when a selfcontained test is difficult to specify.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

iss This is ISS related VADL-specification Issues with a specification written in VADL

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants