commit | 82e565e232ba01b28b5dcefea0af7cdb0bbdc964 | [log] [tgz] |
---|---|---|
author | Alex Richardson <alexrichardson@google.com> | Thu Dec 09 14:40:59 2021 +0000 |
committer | Travis Geiselbrecht <travisg@gmail.com> | Thu Jun 01 17:50:50 2023 -0700 |
tree | ef527c2ac6326df272868007febbda15f6d5a2ed | |
parent | 365bb4e7a7ad8c376d5a23b06d6feac6c61c5a4d [diff] |
[arm64] Allow assembling with clang Clang does not accept this .if condition since phys_offset is a register alias and not an absolute expression. We can keep these two instructions here if the argument is zero since the result will be the same. Additionally, this macro is only called once and always passes a non-zero argument. If more calls are added in the future and avoiding these two instructions just before a loop is really important, we could use `.ifnc \phys_offset,0` instead, but that looks rather obscure to me.
The LK kernel is an SMP-aware kernel designed for small systems ported to a variety of platforms and cpu architectures.
See https://github.com/littlekernel/lk for the latest version.
This will get you a interactive prompt into LK which is running in qemu arm machine 'virt' emulation. type 'help' for commands.
Note: for ubuntu x86-64: sudo apt-get install gcc-arm-none-eabi or fetch a prebuilt toolchain from https://newos.org/toolchains/x86_64-elf-10.2.0-Linux-x86_64.tar.xz