Implement riscv jumpto() so world can be compiled.
Sponsored by: DARPA, AFRL Sponsored by: HEIF5
This commit is contained in:
parent
593077d613
commit
ef37962496
@ -480,6 +480,50 @@ DEFINE_LIBUNWIND_PRIVATE_FUNCTION(_ZN9libunwind14Registers_or1k6jumptoEv)
|
||||
|
||||
#elif defined(__riscv__)
|
||||
|
||||
/* RISCVTODO */
|
||||
//
|
||||
// void libunwind::Registers_riscv::jumpto()
|
||||
//
|
||||
// On entry:
|
||||
// thread_state pointer is in a0
|
||||
//
|
||||
.p2align 2
|
||||
DEFINE_LIBUNWIND_PRIVATE_FUNCTION(_ZN9libunwind15Registers_riscv6jumptoEv)
|
||||
// x0 is zero
|
||||
ld x1, (8 * 1)(a0)
|
||||
ld x2, (8 * 2)(a0)
|
||||
ld x3, (8 * 3)(a0)
|
||||
ld x4, (8 * 4)(a0)
|
||||
ld x5, (8 * 5)(a0)
|
||||
ld x6, (8 * 6)(a0)
|
||||
ld x7, (8 * 7)(a0)
|
||||
ld x8, (8 * 8)(a0)
|
||||
ld x9, (8 * 9)(a0)
|
||||
// skip a0 for now
|
||||
ld x11, (8 * 11)(a0)
|
||||
ld x12, (8 * 12)(a0)
|
||||
ld x13, (8 * 13)(a0)
|
||||
ld x14, (8 * 14)(a0)
|
||||
ld x15, (8 * 15)(a0)
|
||||
ld x16, (8 * 16)(a0)
|
||||
ld x17, (8 * 17)(a0)
|
||||
ld x18, (8 * 18)(a0)
|
||||
ld x19, (8 * 19)(a0)
|
||||
ld x20, (8 * 20)(a0)
|
||||
ld x21, (8 * 21)(a0)
|
||||
ld x22, (8 * 22)(a0)
|
||||
ld x23, (8 * 23)(a0)
|
||||
ld x24, (8 * 24)(a0)
|
||||
ld x25, (8 * 25)(a0)
|
||||
ld x26, (8 * 26)(a0)
|
||||
ld x27, (8 * 27)(a0)
|
||||
ld x28, (8 * 28)(a0)
|
||||
ld x29, (8 * 29)(a0)
|
||||
ld x30, (8 * 30)(a0)
|
||||
ld x31, (8 * 31)(a0)
|
||||
ld x10, (8 * 10)(a0) // restore a0
|
||||
|
||||
/* RISCVTODO: restore FPU registers */
|
||||
|
||||
ret // jump to ra
|
||||
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user