static grub_err_t grub_chain_boot (void) { struct grub_relocator32_state state; grub_video_set_mode ("text", 0, 0); state.eip = entry; return grub_relocator32_boot (relocator, state, 0); }
static grub_err_t grub_multiboot_boot (void) { grub_err_t err; struct grub_relocator32_state state = MULTIBOOT_INITIAL_STATE; state.MULTIBOOT_ENTRY_REGISTER = grub_multiboot_payload_eip; err = grub_multiboot_make_mbi (&state.MULTIBOOT_MBI_REGISTER); if (err) return err; #if defined (__i386__) || defined (__x86_64__) grub_relocator32_boot (grub_multiboot_relocator, state, 0); #else grub_relocator32_boot (grub_multiboot_relocator, state); #endif /* Not reached. */ return GRUB_ERR_NONE; }
static void normal_boot (struct grub_relocator *rel, struct grub_relocator32_state state) { grub_relocator32_boot (rel, state); }