summaryrefslogtreecommitdiffstats
path: root/src/runtime/rt_main.C
diff options
context:
space:
mode:
Diffstat (limited to 'src/runtime/rt_main.C')
-rw-r--r--src/runtime/rt_main.C13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/runtime/rt_main.C b/src/runtime/rt_main.C
index 910a0d1d8..038a58e9f 100644
--- a/src/runtime/rt_main.C
+++ b/src/runtime/rt_main.C
@@ -5,7 +5,7 @@
/* */
/* IBM CONFIDENTIAL */
/* */
-/* COPYRIGHT International Business Machines Corp. 2013 */
+/* COPYRIGHT International Business Machines Corp. 2013,2014 */
/* */
/* p1 */
/* */
@@ -78,7 +78,10 @@ runtimeInterfaces_t* _main(hostInterfaces_t* intf, uint64_t base)
i < ALIGN_PAGE_DOWN((uint64_t)&data_load_address);
i += PAGESIZE)
{
- (intf->set_page_execute)(reinterpret_cast<void*>(i));
+ if (NULL != intf->set_page_execute)
+ {
+ (intf->set_page_execute)(reinterpret_cast<void*>(i));
+ }
}
// Tail-recurse to real entry point.
@@ -95,11 +98,15 @@ runtimeInterfaces_t* rt_start(hostInterfaces_t* intf)
// Call C++ constructors.
rt_cppBootstrap();
+ // Initialize runtime interfaces.
+ runtimeInterfaces_t* rtInterfaces = getRuntimeInterfaces();
+ rtInterfaces->interfaceVersion = HOSTBOOT_RUNTIME_INTERFACE_VERSION;
+
// Initialize all modules.
vfs_module_init();
// Return our interface pointer structure.
- return getRuntimeInterfaces();
+ return rtInterfaces;
}
void rt_cppBootstrap()
OpenPOWER on IntegriCloud