1 /* 2 ** Copyright 2003, Axel Dörfler, axeld@pinc-software.de. All rights reserved. 3 ** Distributed under the terms of the MIT License. 4 */ 5 #ifndef KERNEL_ARCH_RISCV64_KERNEL_ARGS_H 6 #define KERNEL_ARCH_RISCV64_KERNEL_ARGS_H 7 8 #ifndef KERNEL_BOOT_KERNEL_ARGS_H 9 # error This file is included from <boot/kernel_args.h> only 10 #endif 11 12 #define _PACKED __attribute__((packed)) 13 14 #define MAX_VIRTUAL_RANGES_TO_KEEP 32 15 16 17 // kernel args 18 typedef struct { 19 // architecture specific 20 uint64 phys_pgdir; 21 uint64 vir_pgdir; 22 uint64 next_pagetable; 23 24 // The virtual ranges we want to keep in the kernel. 25 uint32 num_virtual_ranges_to_keep; 26 addr_range virtual_ranges_to_keep[MAX_VIRTUAL_RANGES_TO_KEEP]; 27 } arch_kernel_args; 28 29 #endif /* KERNEL_ARCH_RISCV64_KERNEL_ARGS_H */ 30