blob: a92ae2a3f55f1b378d81b420c07e023e67133bca (
plain)
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
|
#ifndef GENERAL_PURPOSE_REGISTERS_H_
#define GENERAL_PURPOSE_REGISTERS_H_
/* --- General purpose register definitions --- */
/* Registers with a special function throughout the whole code. */
#define R_MIN_CONTWND r3 /* The minimum contention window. This is guaranteed to be a bitmask. */
#define R_MAX_CONTWND r4 /* The maximum contention window. This is guaranteed to be a bitmask. */
#define R_CUR_CONTWND r5 /* The current contention window. This is guaranteed to be a bitmask. */
#define R_SHORT_RETRY r6
#define R_LONG_RETRY r7
#define R_DTIM_CNT r8
#define R_SEQ_COUNT r9
#define R_BEAC0_LEN r21
#define R_BEAC1_LEN r22
#define R_SHORT_FB r23
#define R_LONG_FB r24
#define R_WATCHDOG r1
/* Registers for various global flags. */
#define R_FLAGS0 r34
#define FLG0_RXFRAME_WDS 0 /* bit0: The received frame is a WDS frame. */
#define FLG0_RXFRAME_QOS 1 /* bit1: The received frame is a QoS Data frame. */
#define FLG0_EOI_TXECOND 2 /* bit2: EOI the TXE conditions in TXE_stop. */
/* General purpose registers (r38 - r63) */
#define Ra r38 /* Caller-saved. Any function can clobber this without saving. */
#define Rb r39 /* Caller-saved. Any function can clobber this without saving. */
#define Rc r40 /* Caller-saved. Any function can clobber this without saving. */
#define Rd r41 /* Caller-saved. Any function can clobber this without saving. */
#define Re r42 /* Caller-saved. Any function can clobber this without saving. */
#define Rf r43 /* Caller-saved. Any function can clobber this without saving. */
#define Rg r44 /* Caller-saved. Any function can clobber this without saving. */
#define Rh r45 /* Caller-saved. Any function can clobber this without saving. */
#define Ri r46 /* Callee-saved. Save it before clobbering! */
#define Rj r47 /* Callee-saved. Save it before clobbering! */
#define Rk r48 /* Callee-saved. Save it before clobbering! */
#define Rl r49 /* Callee-saved. Save it before clobbering! */
#define Rm r50 /* Callee-saved. Save it before clobbering! */
#define Rn r51 /* Callee-saved. Save it before clobbering! */
#define Ro r52 /* Callee-saved. Save it before clobbering! */
#define Rp r53 /* Callee-saved. Save it before clobbering! */
#define Rq r54 /* Callee-saved. Save it before clobbering! */
#define Rr r55 /* Callee-saved. Save it before clobbering! */
#define Rs r56 /* Callee-saved. Save it before clobbering! */
#define Rt r57 /* Callee-saved. Save it before clobbering! */
#define Ru r58 /* Callee-saved. Save it before clobbering! */
#define Rv r59 /* Callee-saved. Save it before clobbering! */
#define Rw r60 /* Callee-saved. Save it before clobbering! */
#define Rx r61 /* Caller-saved. Any function can clobber this without saving. */
#define Ry r62 /* Caller-saved. Any function can clobber this without saving. */
#define Rz r63 /* Caller-saved. Any function can clobber this without saving. */
#define R_DEBUGIRQ_REASON Rz
#define R_MARKER_ID r2
#define R_MARKER_LINE r3
#define R_PANIC_REASON r3
/* --- Offset register definitions --- */
/* Offset register 5 is the stack pointer and must _only_ be
* used inside of the stack helpers POP and PUSH. */
#define OFFR_STACKPTR off5
#define BASER_STACKPTR SPR_BASE5
/* This offset register points to the current TX-header information
* while a transmission is going on. */
#define OFFR_TXHDR off4
#define BASER_TXHDR SPR_BASE4
#endif /* GENERAL_PURPOSE_REGISTERS_H_ */
// vim: syntax=b43 ts=8
|