Move chainloader_real_boot out of the kernel
This commit is contained in:
parent
766f7d0809
commit
db1326f5fb
11 changed files with 148 additions and 69 deletions
|
@ -463,31 +463,6 @@ FUNCTION(grub_exit)
|
|||
ljmp $0xf000, $0xfff0
|
||||
.code32
|
||||
|
||||
/*
|
||||
* void grub_chainloader_real_boot (int drive, void *part_addr)
|
||||
*
|
||||
* This starts another boot loader.
|
||||
*/
|
||||
|
||||
FUNCTION(grub_chainloader_real_boot)
|
||||
pushl %edx
|
||||
pushl %eax
|
||||
|
||||
/* Turn off Gate A20 */
|
||||
xorl %eax, %eax
|
||||
call grub_gate_a20
|
||||
|
||||
/* set up to pass boot drive */
|
||||
popl %edx
|
||||
|
||||
/* ESI must point to a partition table entry */
|
||||
popl %esi
|
||||
|
||||
call prot_to_real
|
||||
.code16
|
||||
ljmp $0, $GRUB_MEMORY_MACHINE_BOOT_LOADER_ADDR
|
||||
.code32
|
||||
|
||||
/*
|
||||
* void grub_console_putchar (int c)
|
||||
*
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue