History | View | Annotate | Download (2.9 kB)
fix linuxboot.bin and multiboot.bin to not hijack int19
Currently linuxboot.bin and multiboot.bin option roms override int19vector to intercept boot process. No sane option rom should do that.Provide bev entry instead that will be called by BIOS if option rom...
Fix multiboot compilation
Commit dd4239d6574ca41c94fc0d0f77ddc728510ffc57 broke multiboot. It replaced theinstruction "rep insb (%dx), %es:(%edi)" by the binary output of"addr32 rep insb (%dx), %es:(%di)".
Linuxboot calls the respective helper function in a code16 section. So the...
linuxboot: fix gdt address calculation
The gdt address calculation in linuxboot.bin is broken in two ways: firstit loads %cs into %eax, but that instruction leaves the high bits of %eaxundefined and we did not clear them. Secondly, we completely ignore the...
Fix thinko in linuxboot.S
The %gs segment that was used was not matching the comments.I just moved the GDT descriptor on the stack instead.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Make -kernel for linux work with bochsbios
While trying to run -kernel with -bios pc-bios/pcbios.bin, I realizedthat I was actually writing data to %es, but only set up %ds to a 32-bitsegment we want to write to.
So at the end of the day the data hasn't actually been copied. Oops....
Convert linux bootrom to external rom and fw_cfg
We already have a working multiboot implementation that uses fw_cfg to getits kernel module etc. data in int19 runtime now.
So what's missing is a working linux boot option rom. While at it I figured itwould be a good idea to take the opcode generator out of pc.c and instead use...