You've already forked comprehensive-rust
mirror of
https://github.com/google/comprehensive-rust.git
synced 2025-06-18 07:07:35 +02:00
Use smccc crate rather than psci in examples and exercise. (#583)
It was renamed.
This commit is contained in:
@ -11,7 +11,7 @@ arm-gic = "0.1.0"
|
||||
bitflags = "2.0.0"
|
||||
chrono = { version = "0.4.24", default-features = false }
|
||||
log = "0.4.17"
|
||||
psci = "0.1.1"
|
||||
smccc = "0.1.1"
|
||||
spin = "0.9.8"
|
||||
|
||||
[build-dependencies]
|
||||
|
@ -14,12 +14,13 @@
|
||||
|
||||
use arm_gic::gicv3::GicV3;
|
||||
use log::{error, info, trace};
|
||||
use psci::system_off;
|
||||
use smccc::psci::system_off;
|
||||
use smccc::Hvc;
|
||||
|
||||
#[no_mangle]
|
||||
extern "C" fn sync_exception_current(_elr: u64, _spsr: u64) {
|
||||
error!("sync_exception_current");
|
||||
system_off().unwrap();
|
||||
system_off::<Hvc>().unwrap();
|
||||
}
|
||||
|
||||
#[no_mangle]
|
||||
@ -32,35 +33,35 @@ extern "C" fn irq_current(_elr: u64, _spsr: u64) {
|
||||
#[no_mangle]
|
||||
extern "C" fn fiq_current(_elr: u64, _spsr: u64) {
|
||||
error!("fiq_current");
|
||||
system_off().unwrap();
|
||||
system_off::<Hvc>().unwrap();
|
||||
}
|
||||
|
||||
#[no_mangle]
|
||||
extern "C" fn serr_current(_elr: u64, _spsr: u64) {
|
||||
error!("serr_current");
|
||||
system_off().unwrap();
|
||||
system_off::<Hvc>().unwrap();
|
||||
}
|
||||
|
||||
#[no_mangle]
|
||||
extern "C" fn sync_lower(_elr: u64, _spsr: u64) {
|
||||
error!("sync_lower");
|
||||
system_off().unwrap();
|
||||
system_off::<Hvc>().unwrap();
|
||||
}
|
||||
|
||||
#[no_mangle]
|
||||
extern "C" fn irq_lower(_elr: u64, _spsr: u64) {
|
||||
error!("irq_lower");
|
||||
system_off().unwrap();
|
||||
system_off::<Hvc>().unwrap();
|
||||
}
|
||||
|
||||
#[no_mangle]
|
||||
extern "C" fn fiq_lower(_elr: u64, _spsr: u64) {
|
||||
error!("fiq_lower");
|
||||
system_off().unwrap();
|
||||
system_off::<Hvc>().unwrap();
|
||||
}
|
||||
|
||||
#[no_mangle]
|
||||
extern "C" fn serr_lower(_elr: u64, _spsr: u64) {
|
||||
error!("serr_lower");
|
||||
system_off().unwrap();
|
||||
system_off::<Hvc>().unwrap();
|
||||
}
|
||||
|
@ -32,7 +32,8 @@ use crate::pl011::Uart;
|
||||
use arm_gic::gicv3::GicV3;
|
||||
use core::panic::PanicInfo;
|
||||
use log::{error, info, trace, LevelFilter};
|
||||
use psci::system_off;
|
||||
use smccc::psci::system_off;
|
||||
use smccc::Hvc;
|
||||
|
||||
/// Base addresses of the GICv3.
|
||||
const GICD_BASE_ADDRESS: *mut u64 = 0x800_0000 as _;
|
||||
@ -124,13 +125,13 @@ extern "C" fn main(x0: u64, x1: u64, x2: u64, x3: u64) {
|
||||
info!("Finished waiting");
|
||||
|
||||
// ANCHOR: main_end
|
||||
system_off().unwrap();
|
||||
system_off::<Hvc>().unwrap();
|
||||
}
|
||||
|
||||
#[panic_handler]
|
||||
fn panic(info: &PanicInfo) -> ! {
|
||||
error!("{info}");
|
||||
system_off().unwrap();
|
||||
system_off::<Hvc>().unwrap();
|
||||
loop {}
|
||||
}
|
||||
// ANCHOR_END: main_end
|
||||
|
Reference in New Issue
Block a user