* README.ES.md
I added a spanish translation for the README.md file, and modified the README.md to add my github profile and to add the link to README.ES.md file
* Slightly reorganize translation overview
* README.ES.md These changes are in response to PR comments
* Update README.ES.md
* README.ES.md -> 00_before_we_start
* Updating README.ES.md
I corrected a few mistakes in both README.ES.md files.
* README.ES.md for 00 These changes are in response to PR comments
* README.ES.md -> 01_wait_forever
* README.ES.md -> 02_runtime_init
* README.md for 01 & 02 with corrections/improvements
* Update 01_wait_forever/README.ES.md
* Update 02_runtime_init/README.ES.md
* README.ES.md -> 03_hacky_hello_world
* README.md with corrections/improvements
Co-authored-by: zanez <zanez@protonmail.com>
Co-authored-by: Andre Richter <andre-richter@users.noreply.github.com>
Co-authored-by: Diego Barrios Romero <eldruin@gmail.com>
It is too risky to rely on the compiler to not insert any operations using the
stack.
Having a stack-setting call in Rust using the cortex-a crate as the first action
in a Rust-only _start() function does not work if you're subsequently using the
stack, because the compiler often inserts the operations to make room on the
stack to prepare a function call BEFORE the call to set the stack, which crashes
the boot process.
Hence, keep on using a small piece of assembly boot code throughout.
- Don't wildcard-import from arch modules. Make it explicit.
- Put translation table code into its own module.
- Put boot code in boot.rs instead of cpu.rs
- Other minor changes, most memory subsystem.
The GCC versions of `objdump` and `nm` seem to have better out-of-the-box
support (for AArch64). Demangling works better, and instructions in objdump are
presented as 4 bytes instead of 4 * 1 bytes, which helps a lot.
Hence, switch to the GCC versions for now until LLVM has caught up.