Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
arch
tile
include
asm
traps.h
Go to the documentation of this file.
1
/*
2
* Copyright 2010 Tilera Corporation. All Rights Reserved.
3
*
4
* This program is free software; you can redistribute it and/or
5
* modify it under the terms of the GNU General Public License
6
* as published by the Free Software Foundation, version 2.
7
*
8
* This program is distributed in the hope that it will be useful, but
9
* WITHOUT ANY WARRANTY; without even the implied warranty of
10
* MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, GOOD TITLE or
11
* NON INFRINGEMENT. See the GNU General Public License for
12
* more details.
13
*/
14
15
#ifndef _ASM_TILE_TRAPS_H
16
#define _ASM_TILE_TRAPS_H
17
18
#include <
arch/chip.h
>
19
20
/* mm/fault.c */
21
void
do_page_fault
(
struct
pt_regs
*,
int
fault_num,
22
unsigned
long
address
,
unsigned
long
write
);
23
#if CHIP_HAS_TILE_DMA() || CHIP_HAS_SN_PROC()
24
void
do_async_page_fault
(
struct
pt_regs
*);
25
#endif
26
27
#ifndef __tilegx__
28
/*
29
* We return this structure in registers to avoid having to write
30
* additional save/restore code in the intvec.S caller.
31
*/
32
struct
intvec_state
{
33
void
*
handler
;
34
unsigned
long
vecnum
;
35
unsigned
long
fault_num
;
36
unsigned
long
info
;
37
unsigned
long
retval
;
38
};
39
struct
intvec_state
do_page_fault_ics
(
struct
pt_regs
*
regs
,
int
fault_num
,
40
unsigned
long
address
,
41
unsigned
long
info
);
42
#endif
43
44
/* kernel/traps.c */
45
void
do_trap
(
struct
pt_regs
*,
int
fault_num
,
unsigned
long
reason
);
46
void
kernel_double_fault
(
int
dummy
,
ulong
pc
,
ulong
lr
,
ulong
sp
,
ulong
r52);
47
48
/* kernel/time.c */
49
void
do_timer_interrupt
(
struct
pt_regs
*,
int
fault_num
);
50
51
/* kernel/messaging.c */
52
void
hv_message_intr
(
struct
pt_regs
*,
int
intnum);
53
54
/* kernel/irq.c */
55
void
tile_dev_intr
(
struct
pt_regs
*,
int
intnum);
56
57
#ifdef CONFIG_HARDWALL
58
/* kernel/hardwall.c */
59
void
do_hardwall_trap
(
struct
pt_regs
*,
int
fault_num
);
60
#endif
61
62
/* kernel/ptrace.c */
63
void
do_breakpoint
(
struct
pt_regs
*,
int
fault_num
);
64
65
66
#ifdef __tilegx__
67
/* kernel/single_step.c */
68
void
gx_singlestep_handle(
struct
pt_regs
*,
int
fault_num
);
69
70
/* kernel/intvec_64.S */
71
void
fill_ra_stack(
void
);
72
#endif
73
74
#endif
/* _ASM_TILE_TRAPS_H */
Generated on Thu Jan 10 2013 12:55:25 for Linux Kernel by
1.8.2