summaryrefslogtreecommitdiffstats
path: root/src/occ_405/linkocc.cmd
diff options
context:
space:
mode:
authorAndres Lugo-Reyes <aalugore@us.ibm.com>2016-12-19 16:07:30 -0600
committerWilliam A. Bryan <wilbryan@us.ibm.com>2017-02-01 11:06:24 -0500
commit009f439d2aa9df1944eb08b7f1fc30006abd8137 (patch)
tree719f526548b4c125984d45aeaa30051ae32c7afe /src/occ_405/linkocc.cmd
parent11bf85d22eed50613085dfea02c4df9e53e1a380 (diff)
downloadtalos-occ-009f439d2aa9df1944eb08b7f1fc30006abd8137.tar.gz
talos-occ-009f439d2aa9df1944eb08b7f1fc30006abd8137.zip
WOF: Function to calculate VDD/VDN step number
1. Calculate VDN/VDD step number 2. Extract the WOF header address from the PGPE header 3. Save important data from WOF header into global struct 4. Create global pointer struct to save important addresses to a pinned location in memory. Change-Id: I2249777134608d9f79bdc85692a3acbf7907c3f5 RTC:130216 Depends-on: Ic323321b8c66945732a6b7345ad85d6f41a62edd Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/34300 Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: William A. Bryan <wilbryan@us.ibm.com>
Diffstat (limited to 'src/occ_405/linkocc.cmd')
-rwxr-xr-xsrc/occ_405/linkocc.cmd33
1 files changed, 28 insertions, 5 deletions
diff --git a/src/occ_405/linkocc.cmd b/src/occ_405/linkocc.cmd
index e15a4f3..1dbf362 100755
--- a/src/occ_405/linkocc.cmd
+++ b/src/occ_405/linkocc.cmd
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER OnChipController Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2011,2016 */
+/* Contributors Listed Below - COPYRIGHT 2011,2017 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -533,14 +533,36 @@ SECTIONS
#if EXECUTABLE_FREE_SPACE
_DATA_SECTION_SIZE = . - _DATA_SECTION_BASE;
__WRITEABLE_DATA_LEN__ = . - __WRITEABLE_DATA_ADDR__ ;
- _EX_FREE_SECTION_SIZE = _TRACE_BUFFERS_START_BASE - _EX_FREE_SECTION_BASE;
+ _EX_FREE_SECTION_SIZE = _GLOBAL_DATA_BASE - _EX_FREE_SECTION_BASE;
#else
- _DATA_SECTION_SIZE = _TRACE_BUFFERS_START_BASE - _DATA_SECTION_BASE;
- __WRITEABLE_DATA_LEN__ = _TRACE_BUFFERS_START_BASE - __WRITEABLE_DATA_ADDR__ ;
+ _DATA_SECTION_SIZE = _GLOBAL_DATA_BASE - _DATA_SECTION_BASE;
+ __WRITEABLE_DATA_LEN__ = _GLOBAL_DATA_BASE - __WRITEABLE_DATA_ADDR__ ;
_EX_FREE_SECTION_SIZE = 0;
#endif
- _SSX_FREE_END = _TRACE_BUFFERS_START_BASE - 1;
+ _SSX_FREE_END = _GLOBAL_DATA_BASE - 1;
+
+
+ ////////////////////////////////
+ // Global Data Section
+ //
+ // Contains pointers to important Global variables
+ //
+ ////////////////////////////////
+ __CUR_COUNTER__ = .;
+ _GLOBAL_DATA_BASE = 0xfffb3f00;
+ _GLOBAL_DATA_SIZE = 0x100;
+ . = _GLOBAL_DATA_BASE;
+#if !PPC405_MMU_SUPPORT
+ . = . - writethrough_offset;
+ _LMA = . + writethrough_offset;
+ .global_data . : AT(_LMA) {*(global_data) . = ALIGN(_GLOBAL_DATA_SIZE);}
+ . = . + writethrough_offset;
+#else
+ .global_data . : {*(global_data) . = ALIGN(_GLOBAL_DATA_SIZE);} > sram
+#endif
+ . = __CUR_COUNTER__;
+
////////////////////////////////
// Trace Buffers
@@ -668,3 +690,4 @@ SECTIONS
_PPC405_END_OF_MEMORY = 0;
}
+
OpenPOWER on IntegriCloud