"vscode:/vscode.git/clone" did not exist on "f2f49f9571cf56b2fa672f16260c000050f9349b"
Commit 090630e4 authored by Jeenu Viswambharan's avatar Jeenu Viswambharan Committed by Dan Handley
Browse files

Tolerate runtime service initialization failure

At present, the firmware panics if a runtime service fails to
initialize. An earlier patch had implemented late binding for all
runtime service handlers.

With that in place, this patch allows the firmware to proceed even when
a service fails to initialize.

Change-Id: I6cf4de2cecea9719f4cd48272a77cf459b080d4e
parent 7f366605
...@@ -119,24 +119,25 @@ void runtime_svc_init() ...@@ -119,24 +119,25 @@ void runtime_svc_init()
goto error; goto error;
} }
/* Call the initialisation routine for this runtime service */
rc = rt_svc_descs[index].init();
if (rc) {
ERROR("Error initializing runtime service %s\n",
rt_svc_descs[index].name);
} else {
/* /*
* Fill the indices corresponding to the start and end owning * Fill the indices corresponding to the start and end
* entity numbers with the index of the descriptor which will * owning entity numbers with the index of the
* handle the SMCs for this owning entity range. * descriptor which will handle the SMCs for this owning
* entity range.
*/ */
start_idx = get_unique_oen(rt_svc_descs[index].start_oen, start_idx = get_unique_oen(rt_svc_descs[index].start_oen,
rt_svc_descs[index].call_type); rt_svc_descs[index].call_type);
end_idx = get_unique_oen(rt_svc_descs[index].end_oen, end_idx = get_unique_oen(rt_svc_descs[index].end_oen,
rt_svc_descs[index].call_type); rt_svc_descs[index].call_type);
for (; start_idx <= end_idx; start_idx++) for (; start_idx <= end_idx; start_idx++)
rt_svc_descs_indices[start_idx] = index; rt_svc_descs_indices[start_idx] = index;
/* Call the initialisation routine for this runtime service */
rc = rt_svc_descs[index].init();
if (rc) {
ERROR("Error initializing runtime service %s\n",
rt_svc_descs[index].name);
goto error;
} }
} }
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment