The psci crate was renamed to smccc. Use the new version.

Bug: 245889995
Test: m pvmfw
Change-Id: Ib61e46a6613c1fcfcf559d3672584b6e7b85cb7d
diff --git a/libs/hyp/Android.bp b/libs/hyp/Android.bp
index 1d572e5..1bb8722 100644
--- a/libs/hyp/Android.bp
+++ b/libs/hyp/Android.bp
@@ -10,12 +10,18 @@
     rustlibs: [
         "libbitflags",
         "libonce_cell_nostd",
-        "libpsci",
+        "libsmccc",
         "libuuid_nostd",
     ],
     no_stdlibs: true,
     stdlibs: [
         "libcore.rust_sysroot",
     ],
+    enabled: false,
+    target: {
+        android_arm64: {
+            enabled: true,
+        },
+    },
     apex_available: ["com.android.virt"],
 }
diff --git a/libs/hyp/src/hypervisor/kvm.rs b/libs/hyp/src/hypervisor/kvm.rs
index 772160e..08eb891 100644
--- a/libs/hyp/src/hypervisor/kvm.rs
+++ b/libs/hyp/src/hypervisor/kvm.rs
@@ -18,7 +18,7 @@
 use crate::error::{Error, Result};
 use crate::util::{page_address, SIZE_4KB};
 use core::fmt::{self, Display, Formatter};
-use psci::smccc::{
+use smccc::{
     error::{positive_or_error_64, success_or_error_32, success_or_error_64},
     hvc64,
 };
diff --git a/libs/hyp/src/hypervisor/mod.rs b/libs/hyp/src/hypervisor/mod.rs
index 05c82dc..394da2c 100644
--- a/libs/hyp/src/hypervisor/mod.rs
+++ b/libs/hyp/src/hypervisor/mod.rs
@@ -28,7 +28,7 @@
 pub use kvm::KvmError;
 use kvm::KvmHypervisor;
 use once_cell::race::OnceBox;
-use psci::smccc::hvc64;
+use smccc::hvc64;
 use uuid::Uuid;
 
 enum HypervisorBackend {
diff --git a/pvmfw/Android.bp b/pvmfw/Android.bp
index e5fdfe8..c9909e6 100644
--- a/pvmfw/Android.bp
+++ b/pvmfw/Android.bp
@@ -25,10 +25,10 @@
         "liblibfdt",
         "liblog_rust_nostd",
         "libonce_cell_nostd",
-        "libpsci",
         "libpvmfw_avb_nostd",
         "libpvmfw_embedded_key",
         "libpvmfw_fdt_template",
+        "libsmccc",
         "libstatic_assertions",
         "libtinyvec_nostd",
         "libuuid_nostd",
diff --git a/pvmfw/src/hvc.rs b/pvmfw/src/hvc.rs
index 1e2bca2..e03c9d3 100644
--- a/pvmfw/src/hvc.rs
+++ b/pvmfw/src/hvc.rs
@@ -16,7 +16,7 @@
 
 pub mod trng;
 use self::trng::Error;
-use psci::smccc::{
+use smccc::{
     error::{positive_or_error_64, success_or_error_64},
     hvc64,
 };
diff --git a/vmbase/Android.bp b/vmbase/Android.bp
index 237a377..e55dbb0 100644
--- a/vmbase/Android.bp
+++ b/vmbase/Android.bp
@@ -64,7 +64,7 @@
     srcs: ["src/lib.rs"],
     rustlibs: [
         "liblog_rust_nostd",
-        "libpsci",
+        "libsmccc",
         "libspin_nostd",
     ],
     whole_static_libs: [
diff --git a/vmbase/src/power.rs b/vmbase/src/power.rs
index 10a5e5d..9240acf 100644
--- a/vmbase/src/power.rs
+++ b/vmbase/src/power.rs
@@ -14,13 +14,16 @@
 
 //! Functions for shutting down the VM.
 
-use psci::{system_off, system_reset};
+use smccc::{
+    psci::{system_off, system_reset},
+    Hvc,
+};
 
 /// Makes a `PSCI_SYSTEM_OFF` call to shutdown the VM.
 ///
 /// Panics if it returns an error.
 pub fn shutdown() -> ! {
-    system_off().unwrap();
+    system_off::<Hvc>().unwrap();
     #[allow(clippy::empty_loop)]
     loop {}
 }
@@ -29,7 +32,7 @@
 ///
 /// Panics if it returns an error.
 pub fn reboot() -> ! {
-    system_reset().unwrap();
+    system_reset::<Hvc>().unwrap();
     #[allow(clippy::empty_loop)]
     loop {}
 }