diff --git a/pvmfw/Android.bp b/pvmfw/Android.bp
new file mode 100644
index 0000000..a5e4920
--- /dev/null
+++ b/pvmfw/Android.bp
@@ -0,0 +1,18 @@
+rust_ffi_static {
+    name: "libpvmfw",
+    crate_name: "pvmfw",
+    srcs: ["src/main.rs"],
+    edition: "2021",
+    no_stdlibs: true,
+    stdlibs: [
+        "libcompiler_builtins.rust_sysroot",
+        "libcore.rust_sysroot",
+    ],
+    enabled: false,
+    target: {
+        android_arm64: {
+            enabled: true,
+        },
+    },
+    apex_available: ["com.android.virt"],
+}
diff --git a/pvmfw/src/main.rs b/pvmfw/src/main.rs
new file mode 100644
index 0000000..0a359f6
--- /dev/null
+++ b/pvmfw/src/main.rs
@@ -0,0 +1,37 @@
+// Copyright 2022, The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+//! pVM firmware.
+
+#![no_main]
+#![no_std]
+
+mod psci;
+
+use core::panic::PanicInfo;
+use psci::{system_off, system_reset};
+
+/// Entry point for pVM firmware.
+#[no_mangle]
+pub extern "C" fn main() -> ! {
+    system_off();
+    #[allow(clippy::empty_loop)]
+    loop {}
+}
+
+#[panic_handler]
+fn panic(_info: &PanicInfo) -> ! {
+    system_reset();
+    loop {}
+}
diff --git a/pvmfw/src/psci.rs b/pvmfw/src/psci.rs
new file mode 100644
index 0000000..8dcbcaa
--- /dev/null
+++ b/pvmfw/src/psci.rs
@@ -0,0 +1,69 @@
+// Copyright 2022, The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+//! PSCI calls.
+
+const PSCI_SYSTEM_OFF: u32 = 0x84000008;
+const PSCI_SYSTEM_RESET: u32 = 0x84000009;
+const PSCI_SYSTEM_RESET2: u32 = 0x84000012;
+
+pub fn system_off() -> u32 {
+    hvc32(PSCI_SYSTEM_OFF, 0, 0, 0, 0, 0, 0, 0)[0]
+}
+
+pub fn system_reset() -> u32 {
+    hvc32(PSCI_SYSTEM_RESET, 0, 0, 0, 0, 0, 0, 0)[0]
+}
+
+#[allow(unused)]
+pub fn system_reset2(reset_type: u32, cookie: u32) -> u32 {
+    hvc32(PSCI_SYSTEM_RESET2, reset_type, cookie, 0, 0, 0, 0, 0)[0]
+}
+
+/// Make an HVC32 call to the hypervisor, following the SMC Calling Convention version 1.3.
+#[inline(always)]
+#[allow(clippy::too_many_arguments)]
+fn hvc32(
+    function: u32,
+    arg1: u32,
+    arg2: u32,
+    arg3: u32,
+    arg4: u32,
+    arg5: u32,
+    arg6: u32,
+    arg7: u32,
+) -> [u32; 8] {
+    let mut ret = [0; 8];
+
+    #[cfg(target_arch = "aarch64")]
+    unsafe {
+        core::arch::asm!(
+            "hvc #0",
+            inout("w0") function => ret[0],
+            inout("w1") arg1 => ret[1],
+            inout("w2") arg2 => ret[2],
+            inout("w3") arg3 => ret[3],
+            inout("w4") arg4 => ret[4],
+            inout("w5") arg5 => ret[5],
+            inout("w6") arg6 => ret[6],
+            inout("w7") arg7 => ret[7],
+            options(nomem, nostack)
+        )
+    }
+
+    #[cfg(not(target_arch = "aarch64"))]
+    unimplemented!();
+
+    ret
+}
