vmbase,pvmfw: aarch64: Clean dcache to PoC not PoU

Some SoCs (with a unified cache before the PoC) might not flush the data
to main memory when performing CMOs to PoU so perform them to PoC.

Test: b/434562039#comment35
Bug: 434562039
Bug: 455777515
Flag: EXEMPT CVE_FIX
(cherry picked from commit a6f64040dba5a3aae3f67c68e2a754a5c946610d)
Cherrypick-From: https://googleplex-android-review.googlesource.com/q/commit:ab5f74693d42e114af5ac238cca0bcb4b17698ac
Merged-In: Id2398e9bcf8dcf7f7a10d254d8eb411d39e109db
Change-Id: Id2398e9bcf8dcf7f7a10d254d8eb411d39e109db
diff --git a/guest/pvmfw/src/arch/aarch64/payload.rs b/guest/pvmfw/src/arch/aarch64/payload.rs
index 77e9a31..8c2242e 100644
--- a/guest/pvmfw/src/arch/aarch64/payload.rs
+++ b/guest/pvmfw/src/arch/aarch64/payload.rs
@@ -91,7 +91,7 @@
             "b.lo 0b",
 
             // Flush d-cache over .data & .bss (including skipped region).
-            "0: dc cvau, {cache_line}",
+            "0: dc cvac, {cache_line}",
             "add {cache_line}, {cache_line}, {dcache_line_size}",
             "cmp {cache_line}, {scratch_end}",
             "b.lo 0b",
@@ -103,7 +103,7 @@
             "b.lo 0b",
 
             // Flush d-cache over stack region.
-            "0: dc cvau, {cache_line}",
+            "0: dc cvac, {cache_line}",
             "add {cache_line}, {cache_line}, {dcache_line_size}",
             "cmp {cache_line}, {stack_end}",
             "b.lo 0b",
@@ -115,7 +115,7 @@
             "b.lo 0b",
 
             // Flush d-cache over EH stack region.
-            "0: dc cvau, {cache_line}",
+            "0: dc cvac, {cache_line}",
             "add {cache_line}, {cache_line}, {dcache_line_size}",
             "cmp {cache_line}, {eh_stack_end}",
             "b.lo 0b",
diff --git a/libs/libvmbase/src/arch.rs b/libs/libvmbase/src/arch.rs
index 29d3a32..e25745b 100644
--- a/libs/libvmbase/src/arch.rs
+++ b/libs/libvmbase/src/arch.rs
@@ -47,7 +47,7 @@
             let end = start + size;
             let start = crate::util::unchecked_align_down(start, line_size);
             for line in (start..end).step_by(line_size) {
-                crate::dc!("cvau", line);
+                crate::dc!("cvac", line);
             }
         } else {
             compile_error!("Unsupported target_arch")