blob: ccb630e54aa2cbf3ec8e944593ff3dee41824bc2 [file] [log] [blame]
// Copyright 2020 The Fuchsia Authors
//
// Use of this source code is governed by a MIT-style
// license that can be found in the LICENSE file or at
// https://opensource.org/licenses/MIT
// This is linked into some minimal test phys executables that are run directly
// as raw binary images. It provides the section name that phys.ld places
// first, with a trivial trampoline to call _start. This works with any "raw
// binary" booting scheme that just jumps to the start of the image, as long as
// the only argument register the startup code needs is the one that start.S
// passes along to PhysMain.
.section .boot.header, "ax", %progbits
#if defined(__aarch64__)
b _start
#elif defined(__x86_64__) || defined(__i386__)
jmp _start
#elif defined(__riscv)
j _start
#else
#error "what machine??"
#endif