Merge branch 'bugfixes' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6
[pandora-kernel.git] / drivers / staging / ath6kl / include / common / AR6002 / AR6002_regdump.h
1 //------------------------------------------------------------------------------
2 // Copyright (c) 2006-2010 Atheros Corporation.  All rights reserved.
3 // 
4 //
5 // Permission to use, copy, modify, and/or distribute this software for any
6 // purpose with or without fee is hereby granted, provided that the above
7 // copyright notice and this permission notice appear in all copies.
8 //
9 // THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 // WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 // MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 // ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 // WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 // ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 // OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 //
17 //
18 //------------------------------------------------------------------------------
19 //==============================================================================
20 // Author(s): ="Atheros"
21 //==============================================================================
22
23 #ifndef __AR6002_REGDUMP_H__
24 #define __AR6002_REGDUMP_H__
25
26 #if !defined(__ASSEMBLER__)
27 /*
28  * XTensa CPU state
29  * This must match the state saved by the target exception handler.
30  */
31 struct XTensa_exception_frame_s {
32     A_UINT32 xt_pc;
33     A_UINT32 xt_ps;
34     A_UINT32 xt_sar;
35     A_UINT32 xt_vpri;
36     A_UINT32 xt_a2;
37     A_UINT32 xt_a3;
38     A_UINT32 xt_a4;
39     A_UINT32 xt_a5;
40     A_UINT32 xt_exccause;
41     A_UINT32 xt_lcount;
42     A_UINT32 xt_lbeg;
43     A_UINT32 xt_lend;
44
45     A_UINT32 epc1, epc2, epc3, epc4;
46
47     /* Extra info to simplify post-mortem stack walkback */
48 #define AR6002_REGDUMP_FRAMES 10
49     struct {
50         A_UINT32 a0;  /* pc */
51         A_UINT32 a1;  /* sp */
52         A_UINT32 a2;
53         A_UINT32 a3;
54     } wb[AR6002_REGDUMP_FRAMES];
55 };
56 typedef struct XTensa_exception_frame_s CPU_exception_frame_t; 
57 #define RD_SIZE sizeof(CPU_exception_frame_t)
58
59 #endif
60 #endif /* __AR6002_REGDUMP_H__ */