status = efi_bs_call(locate_protocol, &boot_protocol_guid, NULL,
(void **)&boot_protocol); if (status != EFI_SUCCESS) return status; return efi_call_proto(boot_protocol, get_boot_hartid, &hartid);
}
efi_status_t check_platform_features(void)
{
efi_status_t status; int ret;
status = get_boot_hartid_from_efi(); if (status != EFI_SUCCESS) {
ret = get_boot_hartid_from_fdt(); if (ret) {
efi_err("Failed to get boot hartid!\n"); return EFI_UNSUPPORTED;
}
} return EFI_SUCCESS;
}
unsignedlong __weak stext_offset(void)
{ /* * This fallback definition is used by the EFI zboot stub, which loads * the entire image so it can branch via the image header at offset #0.
*/ return 0;
}
/* * Jump to real kernel here with following constraints. * 1. MMU should be disabled. * 2. a0 should contain hartid * 3. a1 should DT address
*/
csr_write(CSR_SATP, 0);
jump_kernel(hartid, fdt);
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.