xref: /haiku/headers/private/kernel/arch/riscv64/arch_kernel_args.h (revision c05253c64ed5afe485062830e21ff448a48bc741)
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 
13 #include <util/FixedWidthPointer.h>
14 
15 
16 #define _PACKED __attribute__((packed))
17 
18 #define MAX_VIRTUAL_RANGES_TO_KEEP      32
19 
20 
21 // kernel args
22 typedef struct {
23 	// architecture specific
24 	uint64		phys_pgdir;
25 	uint64  	vir_pgdir;
26 	uint64		next_pagetable;
27 
28 	uint64		virtual_end;
29 
30 	// The virtual ranges we want to keep in the kernel.
31 	uint32		num_virtual_ranges_to_keep;
32 	addr_range	virtual_ranges_to_keep[MAX_VIRTUAL_RANGES_TO_KEEP];
33 
34 	// needed for UEFI, otherwise kernel acpi support can't find ACPI root
35 	FixedWidthPointer<void> acpi_root;
36 } _PACKED arch_kernel_args;
37 
38 #endif	/* KERNEL_ARCH_RISCV64_KERNEL_ARGS_H */
39