Sound Open Firmware
Loading...
Searching...
No Matches
xa_memory_standards.h
Go to the documentation of this file.
1/*
2* The components of this software package from Cadence Design Systems,
3* Inc. are subject to the licenses below. By using the software package,
4* you agree to the legal terms of each license.
5*
6* Copyright (c) 1999-2018 Cadence Design Systems, Inc.
7*
8* Permission is hereby granted, free of charge, to any person obtaining
9* a copy of this software and associated documentation files (the
10* "Software"), to deal in the Software without restriction, including
11* without limitation the rights to use, copy, modify, merge, publish,
12* distribute, sublicense, and/or sell copies of the Software, and to
13* permit persons to whom the Software is furnished to do so, subject to
14* the following conditions:
15*
16* The above copyright notice and this permission notice shall be included
17* in all copies or substantial portions of the Software.
18*
19* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
20* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
21* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
22* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
23* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
24* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
25* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
26*/
27
28
29#ifndef __XA_MEMORY_STANDARDS_H__
30#define __XA_MEMORY_STANDARDS_H__
31
32/*****************************************************************************/
33/* Constant hash defines */
34/*****************************************************************************/
35/* when you don't need alignment, pass this to memory library */
36#define XA_MEM_NO_ALIGN 0x01
37
38/* standard memory types */
39/* to be used inter frames */
40#define XA_MEMTYPE_PERSIST 0x00
41/* read write, to be used intra frames */
42#define XA_MEMTYPE_SCRATCH 0x01
43/* read only memory, intra frame */
44#define XA_MEMTYPE_INPUT 0x02
45/* read-write memory, for usable output, intra frame */
46#define XA_MEMTYPE_OUTPUT 0x03
47/* readonly memory, inter frame */
48#define XA_MEMTYPE_TABLE 0x04
49/* input buffer before mem tabs allocation */
50#define XA_MEMTYPE_PRE_FRAME_INPUT 0x05
51/* input buffer before mem tabs allocation */
52#define XA_MEMTYPE_PRE_FRAME_SCRATCH 0x06
53/* for local variables */
54#define XA_MEMTYPE_AUTO_VAR 0x80
55
56/* standard memory priorities */
57#define XA_MEMPRIORITY_ANYWHERE 0x00
58#define XA_MEMPRIORITY_LOWEST 0x01
59#define XA_MEMPRIORITY_LOW 0x02
60#define XA_MEMPRIORITY_NORM 0x03
61#define XA_MEMPRIORITY_ABOVE_NORM 0x04
62#define XA_MEMPRIORITY_HIGH 0x05
63#define XA_MEMPRIORITY_HIGHER 0x06
64#define XA_MEMPRIORITY_CRITICAL 0x07
65
66/* standard memory placements */
67/* placement is defined by 64 bits */
68
69#define XA_MEMPLACE_FAST_RAM_0 0x000001
70#define XA_MEMPLACE_FAST_RAM_1 0x000002
71#define XA_MEMPLACE_FAST_RAM_2 0x000004
72#define XA_MEMPLACE_FAST_RAM_3 0x000008
73#define XA_MEMPLACE_FAST_RAM_4 0x000010
74#define XA_MEMPLACE_FAST_RAM_5 0x000020
75#define XA_MEMPLACE_FAST_RAM_6 0x000040
76#define XA_MEMPLACE_FAST_RAM_7 0x000080
77
78#define XA_MEMPLACE_INT_RAM_0 0x000100
79#define XA_MEMPLACE_INT_RAM_1 0x000200
80#define XA_MEMPLACE_INT_RAM_2 0x000400
81#define XA_MEMPLACE_INT_RAM_3 0x000800
82#define XA_MEMPLACE_INT_RAM_4 0x001000
83#define XA_MEMPLACE_INT_RAM_5 0x002000
84#define XA_MEMPLACE_INT_RAM_6 0x004000
85#define XA_MEMPLACE_INT_RAM_7 0x008000
86
87#define XA_MEMPLACE_EXT_RAM_0 0x010000
88#define XA_MEMPLACE_EXT_RAM_1 0x020000
89#define XA_MEMPLACE_EXT_RAM_2 0x040000
90#define XA_MEMPLACE_EXT_RAM_3 0x080000
91#define XA_MEMPLACE_EXT_RAM_4 0x100000
92#define XA_MEMPLACE_EXT_RAM_5 0x200000
93#define XA_MEMPLACE_EXT_RAM_6 0x400000
94#define XA_MEMPLACE_EXT_RAM_7 0x800000
95
96#define XA_MEMPLACE_DONTCARE_H 0xFFFFFFFF
97#define XA_MEMPLACE_DONTCARE_L 0xFFFFFFFF
98
99/* the simple common PC RAM */
100#define XA_PC_RAM_H 0x00000000
101#define XA_PC_RAM_L XA_MEMPLACE_EXT_RAM_0
102
103#endif /* __XA_MEMORY_STANDARDS_H__ */