mirror of
https://github.com/xcat2/xNBA.git
synced 2024-12-14 23:31:39 +00:00
Capable of starting a multiboot kernel (albeit without the multiboot
information table yet).
This commit is contained in:
parent
9196e9069c
commit
dc51af59a4
@ -74,8 +74,21 @@ struct multiboot_header_info {
|
||||
* @v image ELF file
|
||||
* @ret rc Return status code
|
||||
*/
|
||||
static int multiboot_execute ( struct image *image __unused ) {
|
||||
return -ENOTSUP;
|
||||
static int multiboot_execute ( struct image *image ) {
|
||||
struct multiboot_info mbinfo;
|
||||
|
||||
/* Populate multiboot information structure */
|
||||
memset ( &mbinfo, 0, sizeof ( mbinfo ) );
|
||||
|
||||
|
||||
/* Jump to OS with flat physical addressing */
|
||||
__asm__ ( PHYS_CODE ( "call *%%edi\n\t" )
|
||||
: : "a" ( MULTIBOOT_BOOTLOADER_MAGIC ),
|
||||
"b" ( virt_to_phys ( &mbinfo ) ),
|
||||
"D" ( image->entry )
|
||||
: "ecx", "edx", "esi", "ebp" );
|
||||
|
||||
return -ECANCELED;
|
||||
}
|
||||
|
||||
/**
|
||||
|
Loading…
Reference in New Issue
Block a user