This provides the bootstrap and low level helper functions for an aarch64 kernel. We use semihosting to handle test output and exiting the emulation. semihosting's parameter passing is a little funky so we end up using the stack and pointing to that as the parameter block. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
25 lines
355 B
Plaintext
25 lines
355 B
Plaintext
ENTRY(__start)
|
|
|
|
SECTIONS
|
|
{
|
|
/* virt machine, RAM starts at 1gb */
|
|
. = (1 << 30);
|
|
.text : {
|
|
*(.text)
|
|
}
|
|
.rodata : {
|
|
*(.rodata)
|
|
}
|
|
/* align r/w section to next 2mb */
|
|
. = ALIGN(1 << 21);
|
|
.data : {
|
|
*(.data)
|
|
}
|
|
.bss : {
|
|
*(.bss)
|
|
}
|
|
/DISCARD/ : {
|
|
*(.ARM.attributes)
|
|
}
|
|
}
|