1/**
2 * \file
3 * \brief Relay header for multiboot structures and kernel-specific
4 * function definitions.
5 */
6
7/*
8 * Copyright (c) 2007, 2008, 2009, 2010, ETH Zurich.
9 * All rights reserved.
10 *
11 * This file is distributed under the terms in the attached LICENSE file.
12 * If you do not find this file, copies can be found by writing to:
13 * ETH Zurich D-INFK, Haldeneggsteig 4, CH-8092 Zurich. Attn: Systems Group.
14 */
15
16#ifndef KERNEL_MULTIBOOT_H
17#define KERNEL_MULTIBOOT_H
18
19#include <multiboot.h>
20
21/**
22 * Convert a 32bit address from the Multiboot header to a native virtual
23 * address as a char pointer.
24 */
25#define MBADDR_ASSTRING(vaddr)  (char * NTS)TC((uintptr_t)(local_phys_to_mem(vaddr)))
26
27void multiboot_info_print(struct multiboot_info *mb);
28struct multiboot_modinfo *multiboot_find_module(const char *basename);
29uintptr_t multiboot_end_addr(struct multiboot_info *mi);
30
31#endif
32