Skip to content

Add Arm64 support - #3

Draft
artiepoole wants to merge 28 commits into
mainfrom
arm64
Draft

Add Arm64 support#3
artiepoole wants to merge 28 commits into
mainfrom
arm64

Conversation

@artiepoole

Copy link
Copy Markdown
Owner

Provides support for arm64 up until the device tree is parsed once.

@artiepoole
artiepoole marked this pull request as draft March 14, 2026 21:51
@artiepoole
artiepoole changed the base branch from main to binman March 26, 2026 17:05
@artiepoole
artiepoole changed the base branch from binman to main March 26, 2026 17:06
```
qemu-system-aarch64 \
    -M virt,dumpdtb=qemu-virt-arm64.dtb \
    -cpu cortex-a57 \
    -m 2G \
    -kernel zig-out/img/ArtInitium.arm64.img \
    -dtb zig-out/dtb/qemu-virt-arm64.dtb \
    -device virtio-gpu-pci \
    -device virtio-keyboard-pci \
    -device virtio-mouse-pci \
    -serial file:serial.log
dtc -I dtb -O dts qemu-virt-arm64.dtb > dts/qemu-virt-arm64.dts
```
building would build only one target or nothing because we re-defined the default step
- each file-based build target (per arch) returns a step which should be added to the build_selected step
- added binman path variable - pipx location not in my path by default
- use llvm-objcopy by using a weird zig syntax (b.graph.zig_exe) so that no cross comp tools needed
- remove dtb from arm64 image file, and don't specify size. the dtb is passed separately
we store it in x19, and use it as the argument to ArtInitium_entry later.
…om the Header struct which has methods"

This reverts commit 7bebd9e.

This is not necessary because member functions are not part of the struct (no vtable)
so it's not the same as c++. It is safe to keep it as one struct
Signed-off-by: Artie Poole <stuart.poole@canonical.com>
Signed-off-by: Artie Poole <stuart.poole@canonical.com>
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.

1 participant