]> git.kernelconcepts.de Git - karo-tx-linux.git/blob - arch/x86/entry/vdso/vdso32/int80.S
Merge branch 'mvebu/config' into mvebu/for-next
[karo-tx-linux.git] / arch / x86 / entry / vdso / vdso32 / int80.S
1 /*
2  * Code for the vDSO.  This version uses the old int $0x80 method.
3  *
4  * First get the common code for the sigreturn entry points.
5  * This must come first.
6  */
7 #include "sigreturn.S"
8
9         .text
10         .globl __kernel_vsyscall
11         .type __kernel_vsyscall,@function
12         ALIGN
13 __kernel_vsyscall:
14 .LSTART_vsyscall:
15         int $0x80
16         ret
17 .LEND_vsyscall:
18         .size __kernel_vsyscall,.-.LSTART_vsyscall
19         .previous
20
21         .section .eh_frame,"a",@progbits
22 .LSTARTFRAMEDLSI:
23         .long .LENDCIEDLSI-.LSTARTCIEDLSI
24 .LSTARTCIEDLSI:
25         .long 0                 /* CIE ID */
26         .byte 1                 /* Version number */
27         .string "zR"            /* NUL-terminated augmentation string */
28         .uleb128 1              /* Code alignment factor */
29         .sleb128 -4             /* Data alignment factor */
30         .byte 8                 /* Return address register column */
31         .uleb128 1              /* Augmentation value length */
32         .byte 0x1b              /* DW_EH_PE_pcrel|DW_EH_PE_sdata4. */
33         .byte 0x0c              /* DW_CFA_def_cfa */
34         .uleb128 4
35         .uleb128 4
36         .byte 0x88              /* DW_CFA_offset, column 0x8 */
37         .uleb128 1
38         .align 4
39 .LENDCIEDLSI:
40         .long .LENDFDEDLSI-.LSTARTFDEDLSI /* Length FDE */
41 .LSTARTFDEDLSI:
42         .long .LSTARTFDEDLSI-.LSTARTFRAMEDLSI /* CIE pointer */
43         .long .LSTART_vsyscall-.        /* PC-relative start address */
44         .long .LEND_vsyscall-.LSTART_vsyscall
45         .uleb128 0
46         .align 4
47 .LENDFDEDLSI:
48         .previous
49
50         /*
51          * Pad out the segment to match the size of the sysenter.S version.
52          */
53 VDSO32_vsyscall_eh_frame_size = 0x40
54         .section .data,"aw",@progbits
55         .space VDSO32_vsyscall_eh_frame_size-(.LENDFDEDLSI-.LSTARTFRAMEDLSI), 0
56         .previous