[rkpvm] Move requests module to a separate library

To facilitate the testing later.

No code change in this cl.

Bug: 301068421
Test: atest rialto_test
Change-Id: Iec5b56f08ae462d83dad1e97cd0031fe16eb3189
diff --git a/rialto/Android.bp b/rialto/Android.bp
index bc08d8c..326f6fc 100644
--- a/rialto/Android.bp
+++ b/rialto/Android.bp
@@ -13,7 +13,6 @@
         "libbssl_ffi_nostd",
         "libciborium_io_nostd",
         "libciborium_nostd",
-        "libcoset_nostd",
         "libdiced_open_dice_nostd",
         "libdiced_sample_inputs_nostd",
         "libhyp",
@@ -21,10 +20,10 @@
         "liblibfdt",
         "liblog_rust_nostd",
         "libservice_vm_comm_nostd",
+        "libservice_vm_requests_nostd",
         "libtinyvec_nostd",
         "libvirtio_drivers",
         "libvmbase",
-        "libzeroize_nostd",
     ],
 }
 
diff --git a/rialto/src/main.rs b/rialto/src/main.rs
index ebc16a9..d9cffe0 100644
--- a/rialto/src/main.rs
+++ b/rialto/src/main.rs
@@ -21,14 +21,12 @@
 mod error;
 mod exceptions;
 mod fdt;
-mod requests;
 
 extern crate alloc;
 
 use crate::communication::VsockStream;
 use crate::error::{Error, Result};
 use crate::fdt::read_dice_range_from;
-use crate::requests::process_request;
 use alloc::boxed::Box;
 use bssl_ffi::CRYPTO_library_init;
 use ciborium_io::Write;
@@ -40,6 +38,7 @@
 use libfdt::FdtError;
 use log::{debug, error, info};
 use service_vm_comm::{ServiceVmRequest, VmType};
+use service_vm_requests::process_request;
 use virtio_drivers::{
     device::socket::{VsockAddr, VMADDR_CID_HOST},
     transport::{pci::bus::PciRoot, DeviceType, Transport},
diff --git a/service_vm/requests/Android.bp b/service_vm/requests/Android.bp
new file mode 100644
index 0000000..4b9b46f
--- /dev/null
+++ b/service_vm/requests/Android.bp
@@ -0,0 +1,34 @@
+package {
+    default_applicable_licenses: ["Android-Apache-2.0"],
+}
+
+rust_defaults {
+    name: "libservice_vm_requests_defaults",
+    crate_name: "service_vm_requests",
+    defaults: ["avf_build_flags_rust"],
+    srcs: ["src/lib.rs"],
+    prefer_rlib: true,
+    apex_available: [
+        "com.android.virt",
+    ],
+}
+
+rust_library_rlib {
+    name: "libservice_vm_requests_nostd",
+    defaults: ["libservice_vm_requests_defaults"],
+    no_stdlibs: true,
+    stdlibs: [
+        "libcore.rust_sysroot",
+    ],
+    rustlibs: [
+        "libbssl_avf_error_nostd",
+        "libbssl_avf_nostd",
+        "libciborium_nostd",
+        "libcoset_nostd",
+        "libdiced_open_dice_nostd",
+        "liblog_rust_nostd",
+        "libserde_nostd",
+        "libservice_vm_comm_nostd",
+        "libzeroize_nostd",
+    ],
+}
diff --git a/rialto/src/requests/api.rs b/service_vm/requests/src/api.rs
similarity index 98%
rename from rialto/src/requests/api.rs
rename to service_vm/requests/src/api.rs
index ca60f85..eae0370 100644
--- a/rialto/src/requests/api.rs
+++ b/service_vm/requests/src/api.rs
@@ -14,7 +14,7 @@
 
 //! This module contains the main API for the request processing module.
 
-use super::rkp;
+use crate::rkp;
 use alloc::vec::Vec;
 use diced_open_dice::DiceArtifacts;
 use service_vm_comm::{Request, Response};
diff --git a/rialto/src/requests.rs b/service_vm/requests/src/lib.rs
similarity index 86%
rename from rialto/src/requests.rs
rename to service_vm/requests/src/lib.rs
index d9e6f37..fc0c87d 100644
--- a/rialto/src/requests.rs
+++ b/service_vm/requests/src/lib.rs
@@ -12,7 +12,11 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-//! This module contains functions for the request processing.
+//! This library contains functions for the request processing.
+
+#![no_std]
+
+extern crate alloc;
 
 mod api;
 mod pub_key;
diff --git a/rialto/src/requests/pub_key.rs b/service_vm/requests/src/pub_key.rs
similarity index 100%
rename from rialto/src/requests/pub_key.rs
rename to service_vm/requests/src/pub_key.rs
diff --git a/rialto/src/requests/rkp.rs b/service_vm/requests/src/rkp.rs
similarity index 100%
rename from rialto/src/requests/rkp.rs
rename to service_vm/requests/src/rkp.rs