freebsd-dev/stand/powerpc/uboot
Brandon Bergren a8614f0eec [PowerPC] Fix 32-bit ubldr calling convention
Due to the way u-boot for 32-bit powerpc is compiled, the interrupt code
assumes that the GOT pointer (r30) on u-boot is always intact.

When making syscalls to u-boot, ensure that we have restored r30 like we
found it before we enable interrupts to prevent u-boot from crashing if a
timer interrupt was pending.

This fixes ubldr on e500 qemu (assuming you have recompiled qemu's u-boot
with API support!)

Reviewed by:	jhibbits
Sponsored by:	Tag1 Consulting, Inc.
Differential Revision:	https://reviews.freebsd.org/D23258
2020-01-19 04:13:19 +00:00
..
conf.c powerpc/ubldr: Teach powerpc's ubldr to boot 64-bit kernels 2018-12-10 01:52:39 +00:00
ldscript.powerpc
Makefile Revert r352557: powerpc/loader: Install ubldr without stripping 2019-10-07 03:28:11 +00:00
ppc64_elf_freebsd.c powerpc/ubldr: Teach powerpc's ubldr to boot 64-bit kernels 2018-12-10 01:52:39 +00:00
start.S [PowerPC] Fix 32-bit ubldr calling convention 2020-01-19 04:13:19 +00:00
version