1/*
2 * Copyright 2003-2007, Axel D��rfler, axeld@pinc-software.de.
3 * Distributed under the terms of the MIT License.
4 */
5#ifndef KERNEL_BOOT_PLATFORM_BIOS_IA32_KERNEL_ARGS_H
6#define KERNEL_BOOT_PLATFORM_BIOS_IA32_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 <arch/x86/apm.h>
14#include <bios_drive.h>
15#include <util/FixedWidthPointer.h>
16
17
18#define SMP_MAX_CPUS 64
19
20#define MAX_PHYSICAL_MEMORY_RANGE 32
21#define MAX_PHYSICAL_ALLOCATED_RANGE 32
22#define MAX_VIRTUAL_ALLOCATED_RANGE 32
23
24#define MAX_SERIAL_PORTS 4
25
26typedef struct {
27	uint16		serial_base_ports[MAX_SERIAL_PORTS];
28
29	FixedWidthPointer<bios_drive> drives;
30		// this does not contain the boot drive
31
32	apm_info	apm;
33} _PACKED platform_kernel_args;
34
35#endif	/* KERNEL_BOOT_PLATFORM_BIOS_IA32_KERNEL_ARGS_H */
36