Merge "composd: Always start VM with numVCpus=numCpus"
diff --git a/libs/dice/src/lib.rs b/libs/dice/src/lib.rs
index 0d2beeb..4a45ab4 100644
--- a/libs/dice/src/lib.rs
+++ b/libs/dice/src/lib.rs
@@ -18,18 +18,16 @@
#![no_std]
-pub use diced_open_dice::{check_result, Config, DiceError, Hash, InputValues, Result, HASH_SIZE};
+pub use diced_open_dice::{
+ check_result, Cdi, Config, DiceError, Hash, InputValues, Result, CDI_SIZE, HASH_SIZE,
+ HIDDEN_SIZE,
+};
pub use open_dice_cbor_bindgen::DiceMode;
use open_dice_cbor_bindgen::DiceHash;
pub mod bcc;
-const CDI_SIZE: usize = open_dice_cbor_bindgen::DICE_CDI_SIZE as usize;
-
-/// Array type of CDIs.
-pub type Cdi = [u8; CDI_SIZE];
-
fn ctx() -> *mut core::ffi::c_void {
core::ptr::null_mut()
}
diff --git a/microdroid_manager/src/dice.rs b/microdroid_manager/src/dice.rs
index 739c944..a7288b6 100644
--- a/microdroid_manager/src/dice.rs
+++ b/microdroid_manager/src/dice.rs
@@ -17,7 +17,7 @@
use anyhow::{bail, Context, Error, Result};
use byteorder::{NativeEndian, ReadBytesExt};
use diced_open_dice_cbor::{
- Config, ContextImpl, DiceMode, Hash, Hidden, InputValuesOwned, OpenDiceCborContext, CDI_SIZE,
+ Config, ContextImpl, DiceMode, Hash, Hidden, InputValues, OpenDiceCborContext, CDI_SIZE,
};
use keystore2_crypto::ZVec;
use libc::{c_void, mmap, munmap, MAP_FAILED, MAP_PRIVATE, PROT_READ};
@@ -142,11 +142,10 @@
debug: bool,
hidden: Hidden,
) -> Result<DiceContext> {
- let input_values = InputValuesOwned::new(
+ let input_values = InputValues::new(
code_hash,
Config::Descriptor(config_desc),
authority_hash,
- None,
if debug { DiceMode::kDiceModeDebug } else { DiceMode::kDiceModeNormal },
hidden,
);
diff --git a/pvmfw/avb/src/lib.rs b/pvmfw/avb/src/lib.rs
index 8fea162..d83737f 100644
--- a/pvmfw/avb/src/lib.rs
+++ b/pvmfw/avb/src/lib.rs
@@ -15,8 +15,6 @@
//! A library implementing the payload verification for pvmfw with libavb
#![cfg_attr(not(test), no_std)]
-// For usize.checked_add_signed(isize), available in Rust 1.66.0
-#![feature(mixed_integer_ops)]
mod descriptor;
mod error;
diff --git a/pvmfw/src/dice.rs b/pvmfw/src/dice.rs
index 4e1e60a..42cc802 100644
--- a/pvmfw/src/dice.rs
+++ b/pvmfw/src/dice.rs
@@ -22,6 +22,7 @@
use dice::Config;
use dice::DiceMode;
use dice::InputValues;
+use dice::HIDDEN_SIZE;
use pvmfw_avb::{DebugLevel, Digest, VerifiedBootData};
fn to_dice_mode(debug_level: DebugLevel) -> DiceMode {
@@ -61,13 +62,11 @@
let config = &config_descriptor_buffer[..config_descriptor_size];
let input_values = InputValues::new(
- &code_hash,
- None, // code_descriptor
+ code_hash,
Config::Descriptor(config),
- &auth_hash,
- None, // authority_descriptor
+ auth_hash,
mode,
- None, // TODO(b/249723852): Get salt from instance.img (virtio-blk) and/or TRNG.
+ [0u8; HIDDEN_SIZE], // TODO(b/249723852): Get salt from instance.img (virtio-blk) and/or TRNG.
);
bcc.main_flow(&input_values, next_bcc)