Dmitry V. Levin | d70d1c4 | 2015-03-22 22:13:55 +0000 | [diff] [blame] | 1 | /* |
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 | */ | ||||
7 | if (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 | } |