libdragon
Loading...
Searching...
No Matches
rspq_constants.h
Go to the documentation of this file.
1
7#ifndef __RSPQ_INTERNAL
8#define __RSPQ_INTERNAL
9
10#define RSPQ_DEBUG 1
11
12#define RSPQ_DRAM_LOWPRI_BUFFER_SIZE 0x200
13#define RSPQ_DRAM_HIGHPRI_BUFFER_SIZE 0x80
14
15#define RSPQ_DMEM_BUFFER_SIZE 0x100
16
17#define RSPQ_OVERLAY_ID_BITS 4
18#define RSPQ_OVERLAY_ID_SHIFT (32 - RSPQ_OVERLAY_ID_BITS)
19#define RSPQ_OVERLAY_CMD_BITS (8 - RSPQ_OVERLAY_ID_BITS)
20#define RSPQ_MAX_OVERLAYS (1 << RSPQ_OVERLAY_ID_BITS)
21
22#define RSPQ_MAX_OVERLAY_COMMAND_COUNT ((1 << RSPQ_OVERLAY_CMD_BITS) * (RSPQ_MAX_OVERLAYS-1))
23#define RSPQ_DESCRIPTOR_SIZE_MASK 0xFC
24#define RSPQ_DESCRIPTOR_MAX_SIZE RSPQ_DESCRIPTOR_SIZE_MASK
25
27#define RSPQ_OVERLAY_HEADER_SIZE 16
28
29#define RSPQ_BLOCK_MIN_SIZE 64
30#define RSPQ_BLOCK_MAX_SIZE 8192
31
32#define RSPQ_MAX_BLOCK_NESTING_LEVEL 8
33#define RSPQ_LOWPRI_CALL_SLOT (RSPQ_MAX_BLOCK_NESTING_LEVEL+0)
34#define RSPQ_HIGHPRI_CALL_SLOT (RSPQ_MAX_BLOCK_NESTING_LEVEL+1)
35
36#define SP_STATUS_SIG_RDPSYNCFULL SP_STATUS_SIG1
37#define SP_WSTATUS_SET_SIG_RDPSYNCFULL SP_WSTATUS_SET_SIG1
38#define SP_WSTATUS_CLEAR_SIG_RDPSYNCFULL SP_WSTATUS_CLEAR_SIG1
39
40#define SP_STATUS_SIG_SYNCPOINT SP_STATUS_SIG2
41#define SP_WSTATUS_SET_SIG_SYNCPOINT SP_WSTATUS_SET_SIG2
42#define SP_WSTATUS_CLEAR_SIG_SYNCPOINT SP_WSTATUS_CLEAR_SIG2
43
44#define SP_STATUS_SIG_HIGHPRI_RUNNING SP_STATUS_SIG3
45#define SP_WSTATUS_SET_SIG_HIGHPRI_RUNNING SP_WSTATUS_SET_SIG3
46#define SP_WSTATUS_CLEAR_SIG_HIGHPRI_RUNNING SP_WSTATUS_CLEAR_SIG3
47
48#define SP_STATUS_SIG_HIGHPRI_REQUESTED SP_STATUS_SIG4
49#define SP_WSTATUS_SET_SIG_HIGHPRI_REQUESTED SP_WSTATUS_SET_SIG4
50#define SP_WSTATUS_CLEAR_SIG_HIGHPRI_REQUESTED SP_WSTATUS_CLEAR_SIG4
51
52#define SP_STATUS_SIG_BUFDONE_HIGH SP_STATUS_SIG5
53#define SP_WSTATUS_SET_SIG_BUFDONE_HIGH SP_WSTATUS_SET_SIG5
54#define SP_WSTATUS_CLEAR_SIG_BUFDONE_HIGH SP_WSTATUS_CLEAR_SIG5
55
56#define SP_STATUS_SIG_BUFDONE_LOW SP_STATUS_SIG6
57#define SP_WSTATUS_SET_SIG_BUFDONE_LOW SP_WSTATUS_SET_SIG6
58#define SP_WSTATUS_CLEAR_SIG_BUFDONE_LOW SP_WSTATUS_CLEAR_SIG6
59
60#define SP_STATUS_SIG_MORE SP_STATUS_SIG7
61#define SP_WSTATUS_SET_SIG_MORE SP_WSTATUS_SET_SIG7
62#define SP_WSTATUS_CLEAR_SIG_MORE SP_WSTATUS_CLEAR_SIG7
63
64// RSP assert codes (for assers generated by rsp_queue.S)
65#define ASSERT_INVALID_OVERLAY 0xFF01
66#define ASSERT_INVALID_COMMAND 0xFF02
67
68#endif