/* * This file and its contents are supplied under the terms of the * Common Development and Distribution License ("CDDL"), version 1.0. * You may only use this file in accordance with the terms of version * 1.0 of the CDDL. * * A full copy of the text of the CDDL should have accompanied this * source. A copy of the CDDL is also available via the Internet at * http://www.illumos.org/license/CDDL. */ /* * Copyright 2016 Toomas Soome */ #ifndef _SYS_MULTIBOOT2_IMPL_H #define _SYS_MULTIBOOT2_IMPL_H /* * Multiboot 2 protocol implementation for dboot. */ #ifdef __cplusplus extern "C" { #endif #include extern void *dboot_multiboot2_find_tag(multiboot2_info_header_t *, uint32_t); extern char *dboot_multiboot2_cmdline(multiboot2_info_header_t *); extern int dboot_multiboot2_modcount(multiboot2_info_header_t *); extern uint32_t dboot_multiboot2_modstart(multiboot2_info_header_t *, int); extern uint32_t dboot_multiboot2_modend(multiboot2_info_header_t *, int); extern char *dboot_multiboot2_modcmdline(multiboot2_info_header_t *, int); extern multiboot_tag_mmap_t * dboot_multiboot2_get_mmap_tagp(multiboot2_info_header_t *); extern boolean_t dboot_multiboot2_basicmeminfo(multiboot2_info_header_t *, uint32_t *, uint32_t *); extern uint64_t dboot_multiboot2_mmap_get_length(multiboot2_info_header_t *, multiboot_tag_mmap_t *, int); extern uint64_t dboot_multiboot2_mmap_get_base(multiboot2_info_header_t *, multiboot_tag_mmap_t *, int); extern uint32_t dboot_multiboot2_mmap_get_type(multiboot2_info_header_t *, multiboot_tag_mmap_t *, int); extern int dboot_multiboot2_mmap_nentries(multiboot2_info_header_t *, multiboot_tag_mmap_t *); extern paddr_t dboot_multiboot2_highest_addr(multiboot2_info_header_t *); #ifdef __cplusplus } #endif #endif /* _SYS_MULTIBOOT2_IMPL_H */