No public description

PiperOrigin-RevId: 649650330
Change-Id: Ia3bcc2d68be240485cfd0bcf8efc3714f8199c8e
diff --git a/cheriot/cheriot_load_filter.cc b/cheriot/cheriot_load_filter.cc
index 5d56bef..8ef1ca9 100644
--- a/cheriot/cheriot_load_filter.cc
+++ b/cheriot/cheriot_load_filter.cc
@@ -33,11 +33,15 @@
       revocation_base_(revocation_base) {
   cap_reg_ = new CheriotRegister(nullptr, "filter_cap");
   db_ = db_factory_.Allocate<uint32_t>(1);
+  db_->Set<uint32_t>(0, 0);
+  db_->set_latency(0);
   cap_reg_->SetDataBuffer(db_);
   db_->DecRef();
   // Allocate data buffers used in loads/stores.
   db_ = db_factory_.Allocate<uint8_t>(CheriotRegister::kCapabilitySizeInBytes);
+  db_->set_latency(0);
   tag_db_ = db_factory_.Allocate<uint8_t>(1);
+  tag_db_->set_latency(0);
   cap_address_ = base_;
 }
 
diff --git a/cheriot/cheriot_register.cc b/cheriot/cheriot_register.cc
index 11dc8cb..d964e33 100644
--- a/cheriot/cheriot_register.cc
+++ b/cheriot/cheriot_register.cc
@@ -197,7 +197,8 @@
   uint64_t t_hi = top_bits < base_bits ? 1 : 0;
   uint64_t c_b = 0 - a_hi;
   uint64_t c_t = t_hi - a_hi;
-  uint64_t a_top = address() >> (exponent_ + 9);
+  uint64_t address64 = address();
+  uint64_t a_top = address64 >> (exponent_ + 9);
   uint64_t base = ((a_top + c_b) << (exponent_ + 9)) | (base_bits << exponent_);
   base &= 0xffff'ffff;
   uint64_t top = ((a_top + c_t) << (exponent_ + 9)) | (top_bits << exponent_);
diff --git a/cheriot/cheriot_test_rig.cc b/cheriot/cheriot_test_rig.cc
index ae9d3a7..c794a9c 100644
--- a/cheriot/cheriot_test_rig.cc
+++ b/cheriot/cheriot_test_rig.cc
@@ -341,6 +341,8 @@
   ep_pc.rvfi_pc_wdata = next_pc;
   ep_metadata.rvfi_order = counter_num_instructions_.GetValue();
   ep_metadata.rvfi_valid = 1;
+  ep_metadata.rvfi_padding[0] = 0;
+  ep_metadata.rvfi_padding[1] = 0;
   pcc_->set_address(next_pc);
   inst->DecRef();
   ep_v2.trace_size = sizeof(ep_v2);
diff --git a/cheriot/test/cheriot_load_filter_test.cc b/cheriot/test/cheriot_load_filter_test.cc
index f9f6009..232ccd6 100644
--- a/cheriot/test/cheriot_load_filter_test.cc
+++ b/cheriot/test/cheriot_load_filter_test.cc
@@ -60,7 +60,7 @@
 // Test fixture to provide convenience methods and objects for the test.
 class CheriotLoadFilterTest : public ::testing::Test {
  public:
-  CheriotLoadFilterTest() : cap_reg_(nullptr, "dummy") {
+  CheriotLoadFilterTest() : counter_("dummy", 0), cap_reg_(nullptr, "dummy") {
     db_ = db_factory_.Allocate<uint32_t>(1);
     cap_reg_.SetDataBuffer(db_);
     cap_reg_.ResetNull();
@@ -82,7 +82,12 @@
           revoke_loads_.push_back(address);
         }));
     db_ = db_factory_.Allocate<uint32_t>(2);
+    db_->Set<uint32_t>(0, 0);
+    db_->Set<uint32_t>(1, 0);
+    db_->set_latency(0);
     tag_db_ = db_factory_.Allocate<uint8_t>(1);
+    tag_db_->Set<uint8_t>(0, 0);
+    tag_db_->set_latency(0);
     counter_.SetIsEnabled(/*is_enabled=*/true);
   }
 
diff --git a/cheriot/test_rig_packets.h b/cheriot/test_rig_packets.h
index 53a5bc2..651c6bb 100644
--- a/cheriot/test_rig_packets.h
+++ b/cheriot/test_rig_packets.h
@@ -153,7 +153,8 @@
   uint8_t rvfi_rs2_addr;
   // Padding to make the size a multiple of 8 bytes.
   uint8_t padding[5];
-  ExecutionPacketExtInteger() : magic{'i', 'n', 't', '-', 'd', 'a', 't', 'a'} {}
+  ExecutionPacketExtInteger()
+      : magic{'i', 'n', 't', '-', 'd', 'a', 't', 'a'}, padding{0, 0, 0, 0, 0} {}
 };
 
 struct ExecutionPacketExtMemAccess {