blob: 8b73dfa20911f7a82e8060387b5a6efbd9aae70f [file] [log] [blame]
Dmitry V. Levind70d1c42015-03-22 22:13:55 +00001/*
2 * The standard tile calling convention returns the value (or negative
3 * errno) in r0, and zero (or positive errno) in r1.
4 * Until at least kernel 3.8, however, the r1 value is not reflected
5 * in ptregs at this point, so we use r0 here.
6 */
7if (check_errno && is_negated_errno(tile_regs.regs[0])) {
8 tcp->u_rval = -1;
9 tcp->u_error = -tile_regs.regs[0];
10} else {
11 tcp->u_rval = tile_regs.regs[0];
12}