summaryrefslogtreecommitdiffstats
path: root/src/usr/runtime/hdatservice.C
diff options
context:
space:
mode:
Diffstat (limited to 'src/usr/runtime/hdatservice.C')
-rw-r--r--src/usr/runtime/hdatservice.C48
1 files changed, 47 insertions, 1 deletions
diff --git a/src/usr/runtime/hdatservice.C b/src/usr/runtime/hdatservice.C
index eef641bbd..733063281 100644
--- a/src/usr/runtime/hdatservice.C
+++ b/src/usr/runtime/hdatservice.C
@@ -5,7 +5,7 @@
/* */
/* IBM CONFIDENTIAL */
/* */
-/* COPYRIGHT International Business Machines Corp. 2012 */
+/* COPYRIGHT International Business Machines Corp. 2012,2013 */
/* */
/* p1 */
/* */
@@ -253,6 +253,21 @@ errlHndl_t get_standalone_section( RUNTIME::SectionId i_section,
o_dataAddr = HSVC_TEST_MEMORY_ADDR + 512*KILOBYTE;
o_dataSize = HSVC_TEST_MEMORY_SIZE - 512*KILOBYTE;
}
+ else if( RUNTIME::MS_DUMP_SRC_TBL == i_section )
+ {
+ o_dataAddr = DUMP_TEST_SRC_MEM_ADDR;
+ o_dataSize = DUMP_TEST_SRC_MEM_SIZE;
+ }
+ else if( RUNTIME::MS_DUMP_DST_TBL == i_section )
+ {
+ o_dataAddr = DUMP_TEST_DST_MEM_ADDR;
+ o_dataSize = DUMP_TEST_DST_MEM_SIZE;
+ }
+ else if( RUNTIME::MS_DUMP_RESULTS_TBL == i_section )
+ {
+ o_dataAddr = DUMP_TEST_RESULTS_MEM_ADDR;
+ o_dataSize = DUMP_TEST_RESULTS_MEM_SIZE;
+ }
else
{
TRACFCOMP( g_trac_runtime, "get_standalone_section> Section %d not valid in standalone mode", i_section );
@@ -405,7 +420,38 @@ errlHndl_t RUNTIME::load_host_data( void )
HSVC_TEST_MEMORY_SIZE );
errhdl->collectTrace("RUNTIME",1024);
break;
+ }
+
+ // Map in some memory for the DumpCollect code to use
+ TRACFCOMP( g_trac_runtime,
+ "load_host_data> STANDALONE: Mapping in 0x%X-0x%X (%d MB)", DUMP_TEST_TABLE_START, DUMP_TEST_TABLE_END, DUMP_TEST_TABLE_SIZE);
+
+ rc = mm_linear_map(
+ reinterpret_cast<void*>(DUMP_TEST_SRC_MEM_ADDR),
+
+ DUMP_TEST_SRC_MEM_SIZE+DUMP_TEST_DST_MEM_SIZE+DUMP_TEST_RESULTS_MEM_SIZE);
+
+ if (rc != 0)
+ {
+ TRACFCOMP( g_trac_runtime, "Failure calling mm_linear_map : rc=%d", rc );
+ /*@
+ * @errortype
+ * @moduleid RUNTIME::MOD_HDATSERVICE_LOAD_HOST_DATA
+ * @reasoncode RUNTIME::RC_CANNOT_MAP_MEMORY3
+ * @userdata1 Starting Address
+ * @userdata2 Size
+ * @devdesc Error mapping in standalone DUMP memory
+ */
+ errhdl = new ERRORLOG::ErrlEntry(
+ ERRORLOG::ERRL_SEV_UNRECOVERABLE,
+ RUNTIME::MOD_HDATSERVICE_LOAD_HOST_DATA,
+ RUNTIME::RC_CANNOT_MAP_MEMORY3,
+ DUMP_TEST_SRC_MEM_ADDR,
+ DUMP_TEST_TABLE_SIZE);
+ errhdl->collectTrace("RUNTIME",1024);
+ break;
}
+
}
else
{
OpenPOWER on IntegriCloud