Unverified Commit 85567c8e authored by bors[bot]'s avatar bors[bot] Committed by GitHub
Browse files

Merge #16

16: Add Aarch64 test r=stlankes a=jschwe

This PR adds an aarch64 artifact of the hermit application (for use with the github workflow) that will exit once it reaches the point up to which the kernel currently works. Expected Output is something like:

```
$ qemu-system-aarch64 -display none -smp 4 -m 1G -serial stdio -kernel target/aarch64-unknown-hermit-loader/debug/rusty-loader  -machine raspi3 -semihosting
[LOADER] Enter startup code
[LOADER] Loader: [0x80000 - 0x131a010]
[LOADER] Allocating 0x268 bytes at 0x11190C0, index 0
[LOADER] Allocating 0x870 bytes at 0x1119340, index 640
[LOADER] Allocating 0xC0 bytes at 0x1119BC0, index 2816
[LOADER] Allocating 0xE0 bytes at 0x1119CC0, index 3072
[LOADER] This is a supported HermitCore Application
[LOADER] Found entry point: 0x500f4
[LOADER] File Size: 488897 Bytes
[LOADER] Mem Size:  522008 Bytes
[LOADER] start 0x9a2cc, size 0x7f718
[LOADER] Load HermitCore Application at 0x1200000
[LOADER] Found TLS starts at 0x1250200 (size 88 Bytes)
[LOADER] Jumping to HermitCore Application Entry Point at 0x12500f4
Welcome to hermit kernel.
[0][INFO] Welcome to HermitCore-rs 0.3.45
[0][INFO] Kernel starts at 0x0
[0][INFO] BSS starts at 0x12775c8
[0][INFO] TLS starts at 0x0 (size 0 Bytes)
[0][INFO] The current hermit-kernel is only implemented up to this point on aarch64.
[0][INFO] Attempting to exit via QEMU.
[0][INFO] This requires that you passed the `-semihosting` option to QEMU.
```

This test compiles the rusty-loader with an application artifact compiled from
    https://github.com/jschwe/libhermit-rs/commit/f5faa6d059f29e6a4d28a8872acf639c64d3a6ae
    The artifact is technically the rusty_demo artifact, since the hello_world artifact
    didn't work for me.
    ~~This is most likely due to the loader still being brittle.
    I suspect that the copying process is buggy, since (un)commenting simple things
    such as log messages in rusty-loader will break or fix entry into the kernel.
    Until this is fixed this workflow will probably fail sometimes.~~

Update: Commit ae3308cb

 changes the way the Stack pointer is set and this seems to fix the issues I'd been having.
Co-authored-by: default avatarJonathan Schwender <schwenderjonathan@gmail.com>
parents fe84409a ae3308cb
Pipeline #472646 failed with stages
in 1 minute and 4 seconds