mirror of
https://github.com/izzy2lost/xemu.git
synced 2026-07-06 00:20:22 -07:00
backends/igvm: Process initialization sections in IGVM file
The initialization sections in IGVM files contain configuration that should be applied to the guest platform before it is started. This includes guest policy and other information that can affect the security level and the startup measurement of a guest. This commit introduces handling of the initialization sections during processing of the IGVM file. Signed-off-by: Roy Hopkins <roy.hopkins@randomman.co.uk> Acked-by: Michael S. Tsirkin <mst@redhat.com> Acked-by: Gerd Hoffman <kraxel@redhat.com> Reviewed-by: Stefano Garzarella <sgarzare@redhat.com> Link: https://lore.kernel.org/r/9de24fb5df402024b40cbe02de0b13faa7cb4d84.1751554099.git.roy.hopkins@randomman.co.uk Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
committed by
Paolo Bonzini
parent
96a3088f5e
commit
9de40d7df3
@@ -786,6 +786,27 @@ int qigvm_process_file(IgvmCfg *cfg, ConfidentialGuestSupport *cgs,
|
||||
}
|
||||
}
|
||||
|
||||
header_count =
|
||||
igvm_header_count(ctx.file, IGVM_HEADER_SECTION_INITIALIZATION);
|
||||
if (header_count < 0) {
|
||||
error_setg(
|
||||
errp,
|
||||
"Invalid initialization header count in IGVM file. Error code: %X",
|
||||
header_count);
|
||||
goto cleanup_parameters;
|
||||
}
|
||||
|
||||
for (ctx.current_header_index = 0;
|
||||
ctx.current_header_index < (unsigned)header_count;
|
||||
ctx.current_header_index++) {
|
||||
IgvmVariableHeaderType type =
|
||||
igvm_get_header_type(ctx.file, IGVM_HEADER_SECTION_INITIALIZATION,
|
||||
ctx.current_header_index);
|
||||
if (qigvm_handler(&ctx, type, errp) < 0) {
|
||||
goto cleanup_parameters;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Contiguous pages of data with compatible flags are grouped together in
|
||||
* order to reduce the number of memory regions we create. Make sure the
|
||||
|
||||
Reference in New Issue
Block a user