opnsense-src/sys/boot/powerpc/kboot/host_syscall.S
Nathan Whitehorn a4f7863238 Add kexec-based Linux shim loader for use with the firmware petitboot
loader on PS3 and POWER8 systems. This is reasonably portable to other
architectures, especially FDT-based ones, if similar features are useful
elsewhere.

Netboot support is missing for now and will be added in a future commit,
at which time loader.ps3 will be garbage collected.

Done at:	Hackathon
2015-01-05 04:33:39 +00:00

67 lines
703 B
ArmAsm

#include <machine/asm.h>
ENTRY(host_read)
li %r0, 3 # SYS_read
sc
bso 1f
blr
1:
li %r3, 0
blr
ENTRY(host_write)
li %r0, 4 # SYS_write
sc
blr
ENTRY(host_seek)
li %r0, 19 # SYS_lseek
sc
blr
ENTRY(host_open)
li %r0, 5 # SYS_open
sc
bso 1f
blr
1:
li %r3, 0
blr
ENTRY(host_close)
li %r0, 6 # SYS_close
sc
blr
ENTRY(host_mmap)
li %r0, 90 # SYS_mmap
sc
blr
ENTRY(host_gettimeofday)
li %r0, 78 # SYS_gettimeofday
sc
blr
ENTRY(host_select)
li %r0, 142 # SYS_select
sc
blr
ENTRY(kexec_load)
lis %r6,21 # KEXEC_ARCH_PPC64
li %r0,268 # __NR_kexec_load
sc
blr
ENTRY(host_reboot)
li %r0,88 # SYS_reboot
sc
blr
ENTRY(host_getdents)
li %r0,141 # SYS_getdents
sc
blr