vmbase: Replace emergency_write_str with eprintln!
Similar to vmbase_example and pvmfw, use the macro in Rialto, instead of
the function directly.
Update the README to only recommend eprintln!() as the comment about
emergency_write_str() not accessing the stack is not guaranteed (and
relies on an implementation-defined behavior of the compiler), which is
less likely to be relevant since aosp/2550864 as synchronous exception
handlers now have a dedicated stack.
Test: m pvmfw librialto libvmbase_example
Change-Id: Ia2c90b0c2896016fa93a0f2cd326ae72844a9c84
diff --git a/rialto/src/exceptions.rs b/rialto/src/exceptions.rs
index b806b08..e87e0d3 100644
--- a/rialto/src/exceptions.rs
+++ b/rialto/src/exceptions.rs
@@ -15,7 +15,6 @@
//! Exception handlers.
use vmbase::{
- console::emergency_write_str,
eprintln,
exceptions::{ArmException, Esr, HandleExceptionError},
logger,
@@ -49,45 +48,45 @@
#[no_mangle]
extern "C" fn irq_current() {
- emergency_write_str("irq_current\n");
+ eprintln!("irq_current");
reboot();
}
#[no_mangle]
extern "C" fn fiq_current() {
- emergency_write_str("fiq_current\n");
+ eprintln!("fiq_current");
reboot();
}
#[no_mangle]
extern "C" fn serr_current() {
- emergency_write_str("serr_current\n");
+ eprintln!("serr_current");
print_esr();
reboot();
}
#[no_mangle]
extern "C" fn sync_lower() {
- emergency_write_str("sync_lower\n");
+ eprintln!("sync_lower");
print_esr();
reboot();
}
#[no_mangle]
extern "C" fn irq_lower() {
- emergency_write_str("irq_lower\n");
+ eprintln!("irq_lower");
reboot();
}
#[no_mangle]
extern "C" fn fiq_lower() {
- emergency_write_str("fiq_lower\n");
+ eprintln!("fiq_lower");
reboot();
}
#[no_mangle]
extern "C" fn serr_lower() {
- emergency_write_str("serr_lower\n");
+ eprintln!("serr_lower");
print_esr();
reboot();
}