URL
https://opencores.org/ocsvn/or1k/or1k/trunk
Subversion Repositories or1k
[/] [or1k/] [trunk/] [linux/] [linux-2.4/] [arch/] [ppc/] [xmon/] [setjmp.c] - Rev 1765
Compare with Previous | Blame | View Log
/* * Copyright (C) 1996 Paul Mackerras. * * NB this file must be compiled with -O2. */ int xmon_setjmp(long *buf) { asm ("mflr 0; stw 0,0(%0);" "stw 1,4(%0); stw 2,8(%0);" "mfcr 0; stw 0,12(%0);" "stmw 13,16(%0)" : : "r" (buf)); /* XXX should save fp regs as well */ return 0; } void xmon_longjmp(long *buf, int val) { if (val == 0) val = 1; asm ("lmw 13,16(%0);" "lwz 0,12(%0); mtcrf 0x38,0;" "lwz 0,0(%0); lwz 1,4(%0); lwz 2,8(%0);" "mtlr 0; mr 3,%1" : : "r" (buf), "r" (val)); }