Merge branch 'main' of gitlab.ethz.ch:rueegges/aos into main
This commit is contained in:
commit
976311cb3e
2
.vscode/c_cpp_properties.json
vendored
2
.vscode/c_cpp_properties.json
vendored
@ -11,7 +11,7 @@
|
|||||||
"${workspaceFolder}/kernel/include/arch/aarch64/",
|
"${workspaceFolder}/kernel/include/arch/aarch64/",
|
||||||
"${workspaceFolder}/kernel/include/arch/armv8/",
|
"${workspaceFolder}/kernel/include/arch/armv8/",
|
||||||
"${workspaceFolder}/lib/aos/include/arch/aarch64/",
|
"${workspaceFolder}/lib/aos/include/arch/aarch64/",
|
||||||
"${BFBUILD}/armv8/include/"
|
"${workspaceFolder}/build/armv8/include/"
|
||||||
],
|
],
|
||||||
"compilerPath": "",
|
"compilerPath": "",
|
||||||
"intelliSenseMode": "gcc-arm64",
|
"intelliSenseMode": "gcc-arm64",
|
||||||
|
|||||||
@ -315,7 +315,7 @@ errval_t coreboot(coreid_t mpid,
|
|||||||
// - Relocate the boot and CPU driver. The boot driver runs with a 1:1
|
// - Relocate the boot and CPU driver. The boot driver runs with a 1:1
|
||||||
// VA->PA mapping. The CPU driver is expected to be loaded at the
|
// VA->PA mapping. The CPU driver is expected to be loaded at the
|
||||||
// high virtual address space, at offset ARMV8_KERNEL_OFFSET.
|
// high virtual address space, at offset ARMV8_KERNEL_OFFSET.
|
||||||
err = relocate_elf((genvaddr_t) bootdriver_elf_addr, &bootdriver_mem_info, remote_bootdriver_elf_frame_id.base);
|
err = relocate_elf((genvaddr_t) bootdriver_elf_addr, &bootdriver_mem_info, 0);
|
||||||
if(err_is_fail(err)) return err;
|
if(err_is_fail(err)) return err;
|
||||||
|
|
||||||
err = relocate_elf((genvaddr_t) cpudriver_elf_addr, &cpudriver_mem_info, ARMv8_KERNEL_OFFSET);
|
err = relocate_elf((genvaddr_t) cpudriver_elf_addr, &cpudriver_mem_info, ARMv8_KERNEL_OFFSET);
|
||||||
@ -350,7 +350,8 @@ errval_t coreboot(coreid_t mpid,
|
|||||||
// - Fill in the core data struct, for a description, see the definition
|
// - Fill in the core data struct, for a description, see the definition
|
||||||
// in include/target/aarch64/barrelfish_kpi/arm_core_data.h
|
// in include/target/aarch64/barrelfish_kpi/arm_core_data.h
|
||||||
struct armv8_core_data *core_data;
|
struct armv8_core_data *core_data;
|
||||||
paging_map_frame(get_current_paging_state(), (void**) &core_data, PAGE_SIZE, core_data_frame);
|
err = paging_map_frame(get_current_paging_state(), (void**) &core_data, PAGE_SIZE, core_data_frame);
|
||||||
|
if (err_is_fail(err)) return err_push(err, LIB_ERR_PMAP_MAP);
|
||||||
core_data->boot_magic = ARMV8_BOOTMAGIC_PSCI;
|
core_data->boot_magic = ARMV8_BOOTMAGIC_PSCI;
|
||||||
|
|
||||||
core_data->cpu_driver_stack = cpu_driver_stack_frame_id.base + 16 * BASE_PAGE_SIZE;
|
core_data->cpu_driver_stack = cpu_driver_stack_frame_id.base + 16 * BASE_PAGE_SIZE;
|
||||||
@ -375,6 +376,9 @@ errval_t coreboot(coreid_t mpid,
|
|||||||
core_data->dst_arch_id = mpid;
|
core_data->dst_arch_id = mpid;
|
||||||
|
|
||||||
// find cpu driver entry point
|
// find cpu driver entry point
|
||||||
|
// debug_printf("[coreboot]: arch_init_sym->st_value = %p\n", arch_init_sym->st_value);
|
||||||
|
// debug_printf("[coreboot]: reloc_cpudriver_entry = %p\n", reloc_cpudriver_entry);
|
||||||
|
// debug_printf("[coreboot]: ARMv8_KERNEL_OFFSET = %p\n", ARMv8_KERNEL_OFFSET);
|
||||||
core_data->cpu_driver_entry = reloc_cpudriver_entry + ARMv8_KERNEL_OFFSET;
|
core_data->cpu_driver_entry = reloc_cpudriver_entry + ARMv8_KERNEL_OFFSET;
|
||||||
|
|
||||||
debug_printf("[coreboot] Flush the cache\n");
|
debug_printf("[coreboot] Flush the cache\n");
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user