Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo

Close

[607565]: oprofile_nmi.S Maximize Restore History

Download this file

oprofile_nmi.S    45 lines (40 with data), 741 Bytes

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
/* $Id: oprofile_nmi.S,v 1.2 2000/08/01 20:36:01 moz Exp $ */
#include <linux/sys.h>
#include <linux/linkage.h>
#include <asm/segment.h>
#define ASSEMBLY
#include <asm/smp.h>
#define SAVE_ALL \
cld; \
pushl %es; \
pushl %ds; \
pushl %eax; \
pushl %ebp; \
pushl %edi; \
pushl %esi; \
pushl %edx; \
pushl %ecx; \
pushl %ebx; \
movl $(__KERNEL_DS),%edx; \
movl %edx,%ds; \
movl %edx,%es;
#define RESTORE_ALL \
popl %ebx; \
popl %ecx; \
popl %edx; \
popl %esi; \
popl %edi; \
popl %ebp; \
popl %eax; \
popl %ds; \
popl %es; \
addl $4,%esp; \
iret;
ENTRY(op_nmi)
pushl %eax
SAVE_ALL
movl %esp,%edx
pushl %edx
call SYMBOL_NAME(op_do_nmi)
addl $4,%esp
RESTORE_ALL