2019-02-25 17:02:50 -06:00
|
|
|
/*
|
|
|
|
** Copyright 2003, Axel Dörfler, axeld@pinc-software.de. All rights reserved.
|
|
|
|
** Distributed under the terms of the MIT License.
|
|
|
|
*/
|
|
|
|
#ifndef KERNEL_ARCH_RISCV64_KERNEL_ARGS_H
|
|
|
|
#define KERNEL_ARCH_RISCV64_KERNEL_ARGS_H
|
|
|
|
|
|
|
|
#ifndef KERNEL_BOOT_KERNEL_ARGS_H
|
|
|
|
# error This file is included from <boot/kernel_args.h> only
|
|
|
|
#endif
|
|
|
|
|
2020-02-05 14:04:08 -06:00
|
|
|
|
|
|
|
#include <util/FixedWidthPointer.h>
|
|
|
|
|
|
|
|
|
2019-04-04 19:20:14 +00:00
|
|
|
#define _PACKED __attribute__((packed))
|
|
|
|
|
|
|
|
#define MAX_VIRTUAL_RANGES_TO_KEEP 32
|
|
|
|
|
|
|
|
|
2019-02-25 17:02:50 -06:00
|
|
|
// kernel args
|
|
|
|
typedef struct {
|
|
|
|
// architecture specific
|
|
|
|
uint64 phys_pgdir;
|
|
|
|
uint64 vir_pgdir;
|
|
|
|
uint64 next_pagetable;
|
2019-04-04 19:20:14 +00:00
|
|
|
|
2020-02-05 14:04:08 -06:00
|
|
|
uint64 virtual_end;
|
|
|
|
|
2019-04-04 19:20:14 +00:00
|
|
|
// The virtual ranges we want to keep in the kernel.
|
|
|
|
uint32 num_virtual_ranges_to_keep;
|
|
|
|
addr_range virtual_ranges_to_keep[MAX_VIRTUAL_RANGES_TO_KEEP];
|
2020-02-05 14:04:08 -06:00
|
|
|
|
|
|
|
// needed for UEFI, otherwise kernel acpi support can't find ACPI root
|
|
|
|
FixedWidthPointer<void> acpi_root;
|
|
|
|
} _PACKED arch_kernel_args;
|
2019-02-25 17:02:50 -06:00
|
|
|
|
|
|
|
#endif /* KERNEL_ARCH_RISCV64_KERNEL_ARGS_H */
|