OSDev.org

The Place to Start for Operating System Developers
It is currently Tue Apr 23, 2024 2:09 pm

All times are UTC - 6 hours




Post new topic Reply to topic  [ 1 post ] 
Author Message
 Post subject: Implementing 64bit optionrom for QEMU
PostPosted: Mon Jun 25, 2018 9:26 pm 
Offline

Joined: Sun Jul 07, 2013 7:29 pm
Posts: 16
I have implemented an UEFI bootloader that allows to boot 64bit ELF applications. The boot interface is similar to multiboot but fixes some of its flaws:
- loads normal ELF applications, no special magic headers needed
- works with 64bit applications. Multiboot is defined only for 32bits, but it is so 90s
- multi-architectual, will work with any arch that is supported by ELF format.
- supports ELFs with multiple loadable segments
- passes extended boot information to the application (memory map, elf segments info, ...)

I have a UEFI loader that works great both with QEMU and real hardware (tested on ASUS Q170).

As I said it works with QEMU, through UEFI ovmf firmware. But I found its boot time quite slow (as well as few more restrictions such as poor virtio implementation). I am thinking of implementing a simple optionrom for QEMU, similar to multiboot.bin.

This ROM starts with Intel real mode, fetches e820 memory info, switches to protected mode, inits hardware FPU/SSE/paging then switches to 64bit mode and jump to the ELF entry point. I am looking for a good tutorial and documentation related to QEMU optionrom development. Any existing examples of 32/64 bit QEMU optionrom would be a big plus.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 1 post ] 

All times are UTC - 6 hours


Who is online

Users browsing this forum: Google [Bot] and 96 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group