| Elliott Hughes | 103ccde | 2013-10-16 14:27:59 -0700 | [diff] [blame] | 1 | /* Generated by gensyscalls.py. Do not edit. */ | 
|  | 2 |  | 
| Elliott Hughes | ed74484 | 2013-11-07 10:31:05 -0800 | [diff] [blame] | 3 | #include <private/bionic_asm.h> | 
| David 'Digit' Turner | 72e6fd4 | 2010-12-03 18:04:01 +0100 | [diff] [blame] | 4 |  | 
| Elliott Hughes | 7582a9c | 2013-02-06 17:08:15 -0800 | [diff] [blame] | 5 | ENTRY(__getcpu) | 
| David 'Digit' Turner | 72e6fd4 | 2010-12-03 18:04:01 +0100 | [diff] [blame] | 6 | pushl   %ebx | 
| Christopher Ferris | 15b91e9 | 2014-05-29 18:17:09 -0700 | [diff] [blame] | 7 | .cfi_def_cfa_offset 8 | 
| Christopher Ferris | e4bc756 | 2014-01-06 16:39:10 -0800 | [diff] [blame] | 8 | .cfi_rel_offset ebx, 0 | 
| Christopher Ferris | 15b91e9 | 2014-05-29 18:17:09 -0700 | [diff] [blame] | 9 | pushl   %ecx | 
|  | 10 | .cfi_adjust_cfa_offset 4 | 
|  | 11 | .cfi_rel_offset ecx, 0 | 
|  | 12 | pushl   %edx | 
|  | 13 | .cfi_adjust_cfa_offset 4 | 
|  | 14 | .cfi_rel_offset edx, 0 | 
| Mingwei Shi | be91052 | 2015-11-12 07:02:14 +0000 | [diff] [blame] | 15 |  | 
|  | 16 | call    __kernel_syscall | 
|  | 17 | pushl   %eax | 
|  | 18 | .cfi_adjust_cfa_offset 4 | 
|  | 19 | .cfi_rel_offset eax, 0 | 
|  | 20 |  | 
|  | 21 | mov     20(%esp), %ebx | 
|  | 22 | mov     24(%esp), %ecx | 
|  | 23 | mov     28(%esp), %edx | 
| David 'Digit' Turner | 72e6fd4 | 2010-12-03 18:04:01 +0100 | [diff] [blame] | 24 | movl    $__NR_getcpu, %eax | 
| Mingwei Shi | be91052 | 2015-11-12 07:02:14 +0000 | [diff] [blame] | 25 | call    *(%esp) | 
|  | 26 | addl    $4, %esp | 
|  | 27 |  | 
| Elliott Hughes | 9aceab5 | 2013-03-12 14:57:30 -0700 | [diff] [blame] | 28 | cmpl    $-MAX_ERRNO, %eax | 
| David 'Digit' Turner | 72e6fd4 | 2010-12-03 18:04:01 +0100 | [diff] [blame] | 29 | jb      1f | 
|  | 30 | negl    %eax | 
|  | 31 | pushl   %eax | 
| Elliott Hughes | 7efad83 | 2014-09-08 15:25:01 -0700 | [diff] [blame] | 32 | call    __set_errno_internal | 
| David 'Digit' Turner | 72e6fd4 | 2010-12-03 18:04:01 +0100 | [diff] [blame] | 33 | addl    $4, %esp | 
| David 'Digit' Turner | 72e6fd4 | 2010-12-03 18:04:01 +0100 | [diff] [blame] | 34 | 1: | 
|  | 35 | popl    %edx | 
|  | 36 | popl    %ecx | 
|  | 37 | popl    %ebx | 
|  | 38 | ret | 
| Elliott Hughes | 7582a9c | 2013-02-06 17:08:15 -0800 | [diff] [blame] | 39 | END(__getcpu) |