32
34
#include <grub/types.h>
33
35
#include <grub/err.h>
37
extern struct grub_relocator *grub_multiboot_relocator;
35
39
void grub_multiboot (int argc, char *argv[]);
36
40
void grub_module (int argc, char *argv[]);
38
42
void grub_multiboot_set_accepts_video (int val);
40
grub_size_t grub_multiboot_get_mbi_size (void);
41
grub_err_t grub_multiboot_make_mbi (void *orig, grub_uint32_t dest,
42
grub_off_t buf_off, grub_size_t bufsize);
43
grub_err_t grub_multiboot_make_mbi (grub_uint32_t *target);
43
44
void grub_multiboot_free_mbi (void);
44
45
grub_err_t grub_multiboot_init_mbi (int argc, char *argv[]);
45
46
grub_err_t grub_multiboot_add_module (grub_addr_t start, grub_size_t size,
46
47
int argc, char *argv[]);
47
48
void grub_multiboot_set_bootdev (void);
50
grub_multiboot_add_elfsyms (grub_size_t num, grub_size_t entsize,
51
unsigned shndx, void *data);
53
grub_uint32_t grub_get_multiboot_mmap_count (void);
54
grub_err_t grub_multiboot_set_video_mode (void);
56
/* FIXME: support coreboot as well. */
57
#if defined (GRUB_MACHINE_PCBIOS)
58
#define GRUB_MACHINE_HAS_VBE 1
60
#define GRUB_MACHINE_HAS_VBE 0
63
#if defined (GRUB_MACHINE_PCBIOS) || defined (GRUB_MACHINE_COREBOOT) || defined (GRUB_MACHINE_MULTIBOOT) || defined (GRUB_MACHINE_QEMU)
64
#define GRUB_MACHINE_HAS_VGA_TEXT 1
66
#define GRUB_MACHINE_HAS_VGA_TEXT 0
69
#if defined (GRUB_MACHINE_EFI) || defined (GRUB_MACHINE_PCBIOS) || defined (GRUB_MACHINE_COREBOOT) || defined (GRUB_MACHINE_MULTIBOOT)
70
#define GRUB_MACHINE_HAS_ACPI 1
72
#define GRUB_MACHINE_HAS_ACPI 0
75
#define GRUB_MULTIBOOT_CONSOLE_EGA_TEXT 1
76
#define GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER 2
79
grub_multiboot_set_console (int console_type, int accepted_consoles,
80
int width, int height, int depth,
81
int console_required);
83
grub_multiboot_load (grub_file_t file);
84
/* Load ELF32 or ELF64. */
86
grub_multiboot_load_elf (grub_file_t file, void *buffer);
87
extern grub_size_t grub_multiboot_pure_size;
88
extern grub_size_t grub_multiboot_alloc_mbi;
89
extern grub_uint32_t grub_multiboot_payload_eip;
50
92
#endif /* ! GRUB_MULTIBOOT_HEADER */