Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
cvmx-sysinfo.h
Go to the documentation of this file.
1 /***********************license start***************
2  * Author: Cavium Networks
3  *
4  * Contact: [email protected]
5  * This file is part of the OCTEON SDK
6  *
7  * Copyright (c) 2003-2008 Cavium Networks
8  *
9  * This file is free software; you can redistribute it and/or modify
10  * it under the terms of the GNU General Public License, Version 2, as
11  * published by the Free Software Foundation.
12  *
13  * This file is distributed in the hope that it will be useful, but
14  * AS-IS and WITHOUT ANY WARRANTY; without even the implied warranty
15  * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, TITLE, or
16  * NONINFRINGEMENT. See the GNU General Public License for more
17  * details.
18  *
19  * You should have received a copy of the GNU General Public License
20  * along with this file; if not, write to the Free Software
21  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
22  * or visit http://www.gnu.org/licenses/.
23  *
24  * This file may also be available under a different license from Cavium.
25  * Contact Cavium Networks for more information
26  ***********************license end**************************************/
27 
28 /*
29  * This module provides system/board information obtained by the bootloader.
30  */
31 
32 #ifndef __CVMX_SYSINFO_H__
33 #define __CVMX_SYSINFO_H__
34 
35 #define OCTEON_SERIAL_LEN 20
36 
47 struct cvmx_sysinfo {
48  /* System wide variables */
49  /* installed DRAM in system, in bytes */
51 
52  /* ptr to memory descriptor block */
54 
55 
56  /* Application image specific variables */
57  /* stack top address (virtual) */
59  /* heap base address (virtual) */
61  /* stack size in bytes */
63  /* heap size in bytes */
65  /* coremask defining cores running application */
67  /* Deprecated, use cvmx_coremask_first_core() to select init core */
69 
70  /* exception base address, as set by bootloader */
72 
73  /* cpu clock speed in hz */
75 
76  /* dram data rate in hz (data rate = 2 * clock rate */
78 
79 
86  /*
87  * Several boards support compact flash on the Octeon boot
88  * bus. The CF memory spaces may be mapped to different
89  * addresses on different boards. These values will be 0 if
90  * CF is not present. Note that these addresses are physical
91  * addresses, and it is up to the application to use the
92  * proper addressing mode (XKPHYS, KSEG0, etc.)
93  */
96  /*
97  * Base address of the LED display (as on EBT3000 board) This
98  * will be 0 if LED display not present. Note that this
99  * address is a physical address, and it is up to the
100  * application to use the proper addressing mode (XKPHYS,
101  * KSEG0, etc.)
102  */
104  /* DFA reference clock in hz (if applicable)*/
106  /* configuration flags from bootloader */
108 
109  /* Uart number used for console */
111 };
112 
122 extern struct cvmx_sysinfo *cvmx_sysinfo_get(void);
123 
151 
152 #endif /* __CVMX_SYSINFO_H__ */