source: trunk/packages/xen-common/xen-common/linux-2.6-xen-sparse/arch/x86_64/ia32/vsyscall-int80.S @ 34

Last change on this file since 34 was 34, checked in by hartmans, 17 years ago

Add xen and xen-common

File size: 1.5 KB
Line 
1/*
2 * Code for the vsyscall page.  This version uses the old int $0x80 method.
3 *
4 * NOTE:
5 * 1) __kernel_vsyscall _must_ be first in this page.
6 * 2) there are alignment constraints on this stub, see vsyscall-sigreturn.S
7 *    for details.
8 */
9#include <asm/ia32_unistd.h>
10#include <asm/asm-offsets.h>
11
12        .code32
13        .text
14        .section .text.vsyscall,"ax"
15        .globl __kernel_vsyscall
16        .type __kernel_vsyscall,@function
17__kernel_vsyscall:
18.LSTART_vsyscall:
19        int $0x80
20        ret
21.LEND_vsyscall:
22        .size __kernel_vsyscall,.-.LSTART_vsyscall
23        .previous
24
25        .section .eh_frame,"a",@progbits
26.LSTARTFRAME:
27        .long .LENDCIE-.LSTARTCIE
28.LSTARTCIE:
29        .long 0                 /* CIE ID */
30        .byte 1                 /* Version number */
31        .string "zR"            /* NUL-terminated augmentation string */
32        .uleb128 1              /* Code alignment factor */
33        .sleb128 -4             /* Data alignment factor */
34        .byte 8                 /* Return address register column */
35        .uleb128 1              /* Augmentation value length */
36        .byte 0x1b              /* DW_EH_PE_pcrel|DW_EH_PE_sdata4. */
37        .byte 0x0c              /* DW_CFA_def_cfa */
38        .uleb128 4
39        .uleb128 4
40        .byte 0x88              /* DW_CFA_offset, column 0x8 */
41        .uleb128 1
42        .align 4
43.LENDCIE:
44
45        .long .LENDFDE1-.LSTARTFDE1     /* Length FDE */
46.LSTARTFDE1:
47        .long .LSTARTFDE1-.LSTARTFRAME  /* CIE pointer */
48        .long .LSTART_vsyscall-.        /* PC-relative start address */
49        .long .LEND_vsyscall-.LSTART_vsyscall
50        .uleb128 0                      /* Augmentation length */
51        .align 4
52.LENDFDE1:
53               
54/*
55 * Get the common code for the sigreturn entry points.
56 */
57#define SYSCALL_ENTER_KERNEL    int $0x80
58#include "vsyscall-sigreturn.S"
Note: See TracBrowser for help on using the repository browser.