Files
acrn-hypervisor/hypervisor/boot/guest/rawimage_loader.c
Yifan Liu e930c77af9 hv: vboot: Move vboot init to common scope
Currently for risc-v, only rawimage loader is supported. Change other
loaders later.

Tracked-On: #8830
Signed-off-by: Yifan Liu <yifan1.liu@intel.com>
Reviewed-by: Fei Li <fei1.li@intel.com>
Acked-by: Wang Yu1 <yu1.wang@intel.com>
2025-10-30 13:30:32 +08:00

35 lines
798 B
C

/*
* Copyright (C) 2021-2022 Intel Corporation.
*
* SPDX-License-Identifier: BSD-3-Clause
*/
#include <vm.h>
#include <vboot.h>
#include <guest_memory.h>
/**
* @pre vm != NULL
*/
static void load_rawimage(struct acrn_vm *vm)
{
struct sw_kernel_info *sw_kernel = &(vm->sw.kernel_info);
const struct acrn_vm_config *vm_config = get_vm_config(vm->vm_id);
uint64_t kernel_load_gpa;
/* TODO: GPA 0 load support */
kernel_load_gpa = vm_config->os_config.kernel_load_addr;
/* Copy the guest kernel image to its run-time location */
(void)copy_to_gpa(vm, sw_kernel->kernel_src_addr, kernel_load_gpa, sw_kernel->kernel_size);
sw_kernel->kernel_entry_addr = (void *)vm_config->os_config.kernel_entry_addr;
}
int32_t rawimage_loader(struct acrn_vm *vm)
{
load_rawimage(vm);
return 0;
}