Skip to content

Attestation microbenchmark#14

Merged
sabtf merged 2 commits intodevfrom
dimstav23/add_attestation_report_microbenchmark
Jan 16, 2025
Merged

Attestation microbenchmark#14
sabtf merged 2 commits intodevfrom
dimstav23/add_attestation_report_microbenchmark

Conversation

@dimstav23
Copy link

Attestation microbenchmark

This PR introduces the attestation report generation microbenchmark.
It retrieves measurements and generates reports for zygotes and trustlets independently

Precisely, it performs the following:

  • convert some info prints to debug to not affect the measurements
  • set the AllocationRange of the Manifest, Libos and PAL correctly
  • add an AllocationRange in the base context for the function
  • AllocationRanges in the base context now hold their actual size instead of the amount of pages they span to have accurate, correct measurements
  • make addr_to_idx a public function as it is needed for identifying the mapped regions in the attestation report generation microbenchmark
  • add a TP_FUNCTION_START_VADDR global variable for the predefined virtual address of the function mapping
  • set the features.set_restrict_injection to false in the igvmbuilder to get correct and comparable measurements in the CVM reports
  • add helper functions and helper options in the attest call in attestation/monitor.rs for getting the measurements independently

microbnechmark so that it can retrieve measurements and generate reports
for zygotes and trustlets independently

Precisely, it performs the following:
- convert some `info` prints to `debug` to not affect the measurements
- set the `AllocationRange` of the `Manifest`, `Libos` and `PAL` correctly
- add an `AllocationRange` in the base context for the `function`
- `AllocationRange`s in the base context now hold their actual size instead of the amount of pages they span to have accurate, correct measurements
- make `addr_to_idx` a public function as it is needed for identifying the mapped regions in the attestation report generation microbenchmark
- add a `TP_FUNCTION_START_VADDR` global variable for the predefined virtual address of the function mapping
- set the `features.set_restrict_injection` to `false` in the `igvmbuilder` to get correct and comparable measurements in the CVM reports
- add helper functions and helper options in the `attest` call in `attestation/monitor.rs` for getting the measurements independently

Signed-off-by: dimstav23 <[email protected]>
@sabtf sabtf merged commit 1ae66dd into dev Jan 16, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants