Skip to content

Add minimal AArch64 support (scaffolding)#900

Merged
sangho2 merged 7 commits into
mainfrom
sanghle/arm64-core
Jun 18, 2026
Merged

Add minimal AArch64 support (scaffolding)#900
sangho2 merged 7 commits into
mainfrom
sanghle/arm64-core

Conversation

@sangho2

@sangho2 sangho2 commented Jun 3, 2026

Copy link
Copy Markdown
Contributor

This PR introduces minimal AArch64 support to the LiteBox core and Linux common crates. It includes essential architecture-specific data structures and data fields as well as fallible memory copy assembly blocks. It also updates CI to build and test the two crates with an AArch64 host.

@sangho2 sangho2 marked this pull request as ready for review June 3, 2026 23:07
@sangho2

sangho2 commented Jun 4, 2026

Copy link
Copy Markdown
Contributor Author

merging #806 before this might be better. indirectly related (i.e., ArchSpecificProvider).

@sangho2 sangho2 added the must-not-merge:blocked-on-other-changes Other changes/PRs to be handled first. Label not needed for non-main changes. label Jun 4, 2026
@sangho2 sangho2 force-pushed the sanghle/arm64-core branch 2 times, most recently from 797a50d to 03105f4 Compare June 8, 2026 15:58
@wdcui

wdcui commented Jun 15, 2026

Copy link
Copy Markdown
Member

GPT-5.5 reported the following issues:

  1. litebox/src/mm/exception_table.rs:101 — High: AArch64 inline asm uses label 10: / 10b, which can trigger Rust’s denied binary-asm-labels lint. Use a
    non-binary-looking label like 22: / 22b.
  2. litebox_common_linux/src/lib.rs:907 — Medium: AArch64 suseconds_t is aliased to u64, but Linux defines it as signed long/i64. Negative tv_usec values
    can be misinterpreted. Use i64 and validate range explicitly.
  3. litebox_common_linux/src/lib.rs:2584 — Medium: AArch64 disables legacy mkdir but does not decode mkdirat, so directory creation on AArch64 likely
    falls through to ENOSYS. Add a mkdirat decode path with the intended dirfd semantics.

@wdcui wdcui left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Thanks!

@sangho2

sangho2 commented Jun 15, 2026

Copy link
Copy Markdown
Contributor Author

GPT-5.5 reported the following issues:

  1. litebox/src/mm/exception_table.rs:101 — High: AArch64 inline asm uses label 10: / 10b, which can trigger Rust’s denied binary-asm-labels lint. Use a
    non-binary-looking label like 22: / 22b.
  2. litebox_common_linux/src/lib.rs:907 — Medium: AArch64 suseconds_t is aliased to u64, but Linux defines it as signed long/i64. Negative tv_usec values
    can be misinterpreted. Use i64 and validate range explicitly.
  3. litebox_common_linux/src/lib.rs:2584 — Medium: AArch64 disables legacy mkdir but does not decode mkdirat, so directory creation on AArch64 likely
    falls through to ENOSYS. Add a mkdirat decode path with the intended dirfd semantics.
  1. Interestingly, clippy for arm64 doesn't complain this. Anyway, let me change this.
  2. Looks like both x86_64 and aarch64 use i64, so this might be a stale bug or known one (tv_usec shouldn't be negative even though it is a signed integer).
  3. Let me change this once Add syscall mkdirat #898 is merged.

@sangho2 sangho2 force-pushed the sanghle/arm64-core branch from 2263edb to e57b8a0 Compare June 16, 2026 00:19
@sangho2 sangho2 removed the must-not-merge:blocked-on-other-changes Other changes/PRs to be handled first. Label not needed for non-main changes. label Jun 16, 2026
@sangho2 sangho2 force-pushed the sanghle/arm64-core branch 5 times, most recently from cdeaceb to 4d812db Compare June 17, 2026 00:23
Comment thread litebox/src/platform/arch.rs Outdated
@sangho2 sangho2 force-pushed the sanghle/arm64-core branch from 4d812db to 27ea045 Compare June 18, 2026 03:04
@sangho2 sangho2 force-pushed the sanghle/arm64-core branch from cb9d43b to 543f5bc Compare June 18, 2026 03:36
@sangho2 sangho2 changed the title Add minimal AArch64 support Add minimal AArch64 support (scaffolding) Jun 18, 2026
@sangho2 sangho2 enabled auto-merge June 18, 2026 21:26
@github-actions

Copy link
Copy Markdown

🤖 SemverChecks 🤖 No breaking API changes detected

Note: this does not mean API is unchanged, or even that there are no breaking changes; simply, none of the detections triggered.

@sangho2 sangho2 added this pull request to the merge queue Jun 18, 2026
Merged via the queue into main with commit 0de89ea Jun 18, 2026
15 checks passed
@sangho2 sangho2 deleted the sanghle/arm64-core branch June 18, 2026 21:38
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.

3 participants