xref: /titanic_44/usr/src/uts/common/sys/multiboot2_impl.h (revision e84622ca60e336e723b4e107b019b1ecb4542eb3)
1*e84622caSToomas Soome /*
2*e84622caSToomas Soome  * This file and its contents are supplied under the terms of the
3*e84622caSToomas Soome  * Common Development and Distribution License ("CDDL"), version 1.0.
4*e84622caSToomas Soome  * You may only use this file in accordance with the terms of version
5*e84622caSToomas Soome  * 1.0 of the CDDL.
6*e84622caSToomas Soome  *
7*e84622caSToomas Soome  * A full copy of the text of the CDDL should have accompanied this
8*e84622caSToomas Soome  * source.  A copy of the CDDL is also available via the Internet at
9*e84622caSToomas Soome  * http://www.illumos.org/license/CDDL.
10*e84622caSToomas Soome  */
11*e84622caSToomas Soome 
12*e84622caSToomas Soome /*
13*e84622caSToomas Soome  * Copyright 2016 Toomas Soome <tsoome@me.com>
14*e84622caSToomas Soome  */
15*e84622caSToomas Soome 
16*e84622caSToomas Soome #ifndef _SYS_MULTIBOOT2_IMPL_H
17*e84622caSToomas Soome #define	_SYS_MULTIBOOT2_IMPL_H
18*e84622caSToomas Soome 
19*e84622caSToomas Soome /*
20*e84622caSToomas Soome  * Multiboot 2 protocol implementation for dboot.
21*e84622caSToomas Soome  */
22*e84622caSToomas Soome 
23*e84622caSToomas Soome #ifdef __cplusplus
24*e84622caSToomas Soome extern "C" {
25*e84622caSToomas Soome #endif
26*e84622caSToomas Soome 
27*e84622caSToomas Soome #include <sys/multiboot2.h>
28*e84622caSToomas Soome 
29*e84622caSToomas Soome extern void *dboot_multiboot2_find_tag(multiboot2_info_header_t *, uint32_t);
30*e84622caSToomas Soome extern char *dboot_multiboot2_cmdline(multiboot2_info_header_t *);
31*e84622caSToomas Soome extern int dboot_multiboot2_modcount(multiboot2_info_header_t *);
32*e84622caSToomas Soome extern uint32_t dboot_multiboot2_modstart(multiboot2_info_header_t *, int);
33*e84622caSToomas Soome extern uint32_t dboot_multiboot2_modend(multiboot2_info_header_t *, int);
34*e84622caSToomas Soome extern char *dboot_multiboot2_modcmdline(multiboot2_info_header_t *, int);
35*e84622caSToomas Soome extern multiboot_tag_mmap_t *
36*e84622caSToomas Soome     dboot_multiboot2_get_mmap_tagp(multiboot2_info_header_t *);
37*e84622caSToomas Soome extern boolean_t dboot_multiboot2_basicmeminfo(multiboot2_info_header_t *,
38*e84622caSToomas Soome     uint32_t *, uint32_t *);
39*e84622caSToomas Soome extern uint64_t dboot_multiboot2_mmap_get_length(multiboot2_info_header_t *,
40*e84622caSToomas Soome     multiboot_tag_mmap_t *, int);
41*e84622caSToomas Soome extern uint64_t dboot_multiboot2_mmap_get_base(multiboot2_info_header_t *,
42*e84622caSToomas Soome     multiboot_tag_mmap_t *, int);
43*e84622caSToomas Soome extern uint32_t dboot_multiboot2_mmap_get_type(multiboot2_info_header_t *,
44*e84622caSToomas Soome     multiboot_tag_mmap_t *, int);
45*e84622caSToomas Soome extern int dboot_multiboot2_mmap_nentries(multiboot2_info_header_t *,
46*e84622caSToomas Soome     multiboot_tag_mmap_t *);
47*e84622caSToomas Soome extern paddr_t dboot_multiboot2_highest_addr(multiboot2_info_header_t *);
48*e84622caSToomas Soome 
49*e84622caSToomas Soome #ifdef __cplusplus
50*e84622caSToomas Soome }
51*e84622caSToomas Soome #endif
52*e84622caSToomas Soome 
53*e84622caSToomas Soome #endif /* _SYS_MULTIBOOT2_IMPL_H */
54