pvmfw: Hack MMIO_GUARD_MAP to expect i32

Until aosp/2254520, pKVM returned a signed 32-bit integer instead of the
SMCCC-compliant i64 so parse results that could be negative i32 values
as their sign-extended i64 counterparts. The fact that this masks the
range 0x8000_0000-0xFFFF_FFFF, which should otherwise be interpreted as
positive u64 values, should not be an issue as the only non-negative
value that should be expected from MMIO_GUARD_MAP is zero ("SUCCESS").

Log the workaround, to help with debugging.

Note: this commit is intended to be reverted once the bug is fixed.

Bug: 253586500
Test: crosvm run --protected-vm-without-firmware <pvmfw.bin>
Test: # Issue MMIO_GUARD_MAP without first MMIO_GUARD_ENROLL-ing
Change-Id: I974e9783f114fb2d821b3806fdb69fb6c8eefdc7
1 file changed
tree: fe92d6fe5dbc1f31c2d05903fbe3ff47c2e5d331
  1. apex/
  2. apkdmverity/
  3. authfs/
  4. avmd/
  5. compos/
  6. demo/
  7. docs/
  8. javalib/
  9. launcher/
  10. libs/
  11. microdroid/
  12. microdroid_manager/
  13. pvmfw/
  14. rialto/
  15. tests/
  16. virtualizationservice/
  17. vm/
  18. vmbase/
  19. vmclient/
  20. zipfuse/
  21. .clang-format
  22. .gitignore
  23. Android.bp
  24. OWNERS
  25. PREUPLOAD.cfg
  26. README.md
  27. TEST_MAPPING
README.md

Virtualization

This repository contains userspace services related to running virtual machines on Android, especially protected virtual machines. See the getting started documentation and Microdroid README for more information.