summaryrefslogtreecommitdiffstats
path: root/pc-bios
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix thinko in linuxboot.SPaolo Bonzini2009-12-181-12/+8Star
| | | | | | | | 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>
* Update OpenBIOS images to r640Blue Swirl2009-12-064-1/+1
| | | | Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
* multiboot: Fix module loading and setting of mmap.Adam Lackorzynski2009-12-032-1/+4
| | | | | | Signed-off-by: Adam Lackorzynski <adam@os.inf.tu-dresden.de> Acked-by: Alexander Graf <agraf@suse.de> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* Make -kernel for linux work with bochsbiosAlexander Graf2009-12-031-5/+5
| | | | | | | | | | | | | | While trying to run -kernel with -bios pc-bios/pcbios.bin, I realized that I was actually writing data to %es, but only set up %ds to a 32-bit segment we want to write to. So at the end of the day the data hasn't actually been copied. Oops. So here's a fix to set ES instead of DS, which makes -kernel work with BOCHS bios again (and actually makes the code do the correct thing)! Signed-off-by: Alexander Graf <agraf@suse.de> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* Update SeaBIOSAnthony Liguori2009-11-231-0/+0
| | | | | | | | | | This includes the following changes: 42bc394 Make sure to reenable ata interrupts even on error. 494dfc6 Move SeaBIOS post/boot stack to avoid conflict with gPXE. 3133e38 Test for broken gcc -combine on FC12. Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* Allow build of linuxboot.S with old assemblersJuergen Lock2009-11-211-1/+4
| | | | | | | | | In the spirit of ff56954baf9cfab5cbbe18d10b4a09e4a17f39a8, fix the build of linuxboot.S with old as(1) (as found in some BSD base systems) by emitting the bytes of the insn it doesn't like instead. Signed-off-by: Juergen Lock <nox@jelal.kn-bremen.de> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
* Convert linux bootrom to external rom and fw_cfgAlexander Graf2009-11-173-1/+141
| | | | | | | | | | | | | | We already have a working multiboot implementation that uses fw_cfg to get its kernel module etc. data in int19 runtime now. So what's missing is a working linux boot option rom. While at it I figured it would be a good idea to take the opcode generator out of pc.c and instead use a proper option rom, like we do with multiboot. So here it is - an fw_cfg using option rom for -kernel with linux! Signed-off-by: Alexander Graf <agraf@suse.de> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* Move common option rom code to header fileAlexander Graf2009-11-172-76/+110
| | | | | | | | | | We will have a linux boot option rom soon, so let's take all functionality that might be useful for both to a header file that both roms can include. That way we only have to write fw_cfg access code once. Signed-off-by: Alexander Graf <agraf@suse.de> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* Convert multiboot to fw_cfg backed data storageAlexander Graf2009-11-171-17/+60
| | | | | | | | | | | | | | Right now we load the guest kernel to RAM, fire off the BIOS, hope it doesn't clobber memory and run an option rom that jumps into the kernel. That breaks with SeaBIOS, as that clears memory. So let's read all kernel, module etc. data using the fw_cfg interface when in the int19 handler. This patch implements said mechanism for multiboot. Signed-off-by: Alexander Graf <agraf@suse.de> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* Update SeaBIOS to latestAnthony Liguori2009-11-171-0/+0
| | | | Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* eepro100: Fix boot ROM supportStefan Weil2009-11-121-0/+0
| | | | | | | | | | | | | | | | | | * Rename pxe-eepro100.bin to pxe-i82559er.bin. The other devices supported by eepro100.c need additional pxe boot ROM images. * Call rom_add_option during initialisation. The code won't work with two or more different eepro100 devices, because it only adds one option ROM, but this use case is perhaps never needed. Using this patch, model=i82559er at least works partially. For full support, more eepro100 patches are needed (will follow later, can be fetched from ar7 branch of QEMU). Signed-off-by: Stefan Weil <weil@mail.berlios.de> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* Update gpxe roms to have BANNER_TIMEOUT=0Anthony Liguori2009-10-307-1/+1
| | | | Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* Switch from etherboot to gPXEAnthony Liguori2009-10-307-4/+9
| | | | | | etherboot is deprecated and not under active development anymore. Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* Switch pc bios from pc-bios to seabiosAnthony Liguori2009-10-302-0/+0
| | | | | | | | SeaBIOS is a port of pc-bios to GCC. Besides using a more modern tool chain, SeaBIOS introduces a number of new features including PMM support, better BEV and BCV support, and better PnP support. Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* multiboot.S patch for old as(1) (was: Re: [Qemu-devel] Some OpenBSD/amd64 ↵Juergen Lock2009-10-271-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | build fixes) On Wed, Sep 23, 2009 at 10:55:02PM +0200, Juergen Lock wrote: > On Wed, Sep 23, 2009 at 09:31:16PM +0100, Laurence Tratt wrote: >[...] > > then the above error doesn't occur, but > > pc-bios/optionrom/multiboot.S dies as follows: > > > > $ > > AS optionrom/multiboot.o > > multiboot.S: Assembler messages: > > multiboot.S:116: Error: `%es:-4(%edi)' is not a valid 16 bit base/index > > expression > > $ > > > > What little Intel assembler I ever knew has long since departed from my > > brain, so I don't know why that error occurs, nor what a fix might be. > > > It occurs because of too old binutils (as(1) in this case), on FreeBSD > we now have a port for newer ones, > http://www.freshports.org/devel/binutils > so I depend on that and have the optionrom Makefile use the new as > like this: (the first change wrt CFLAGS is unrelated and has probably > been fixed in the meantime; it caused gmake to complain about > recursive use of CFLAGS.) > > Index: qemu/pc-bios/optionrom/Makefile > @@ -9,10 +9,13 @@ > > CFLAGS = -Wall -Wstrict-prototypes -Werror -fomit-frame-pointer -fno-builtin > CFLAGS += -I$(SRC_PATH) > -CFLAGS += $(call cc-option, $(CFLAGS), -fno-stack-protector,"") > +CFLAGS := $(CFLAGS) $(call cc-option, $(CFLAGS), -fno-stack-protector,"") > > build-all: multiboot.bin > > +%.o: %.S > + $(CC) -E $(CFLAGS) -o - -c $< |${LOCALBASE}/bin/as -V -Qy -o $@ > + > %.img: %.o > $(call quiet-command,$(LD) -Ttext 0 -e _start -s -o $@ $<," Building $(TARGET_DIR)$@") > That patch didn't seem to help on OpenBSD so I now finally got around making another one that just emits the bytes of the offending insn instead so people can keep using old assemblers: Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* optionrom: create .PHONY variableJuan Quintela2009-10-061-0/+1
| | | | | Signed-off-by: Juan Quintela <quintela@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* optionrom: remove use of implicit RM variableJuan Quintela2009-10-061-1/+1
| | | | | Signed-off-by: Juan Quintela <quintela@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* restore CFLAGS check for conflict and fix recursive CFLAGS issueThomas Monjalon2009-10-051-2/+2
| | | | | | | | | | | cc-option uses more make-syntax to replace the shell "if/else". Issue with recursive += is fixed by doing the first assignment simply-expanded, as explained in http://www.gnu.org/software/make/manual/html_node/Appending.html Signed-off-by: Thomas Monjalon <thomas@monjalon.net> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* update pc-bios/bios.binGerd Hoffmann2009-10-051-0/+0
| | | | | Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* Update OpenBIOS images to r577Aurelien Jarno2009-09-111-0/+0
| | | | Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
* optionrom: make clean should remove raw and .dJuan Quintela2009-09-101-1/+1
| | | | | Signed-off-by: Juan Quintela <quintela@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* otionrom: Use local CFLAGS no global oneJuan Quintela2009-09-101-0/+1
| | | | | | | It is needed by %.o : %.c rule. Signed-off-by: Juan Quintela <quintela@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* Remove CFLAGS parameter in cc-optionJuan Quintela2009-09-101-1/+1
| | | | | | | With cc-option we are testing if gcc just accept a particular option, we don't need CFLAGS at all. And this fixes the recursive problem with CFLAGS Signed-off-by: Juan Quintela <quintela@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* Bring pcbios, seabios, and vgabios into the tree as git submodules. Right now,Anthony Liguori2009-09-0426-2097/+1Star
| | | | | | they aren't integrated into the build but we can do that incrementally. Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* Update OpenBIOS images to r569Blue Swirl2009-08-284-1/+1
| | | | Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
* Rename CPPFLAGS to QEMU_CFLAGSJuan Quintela2009-08-101-3/+3
| | | | | | | | | | | | | | | | | Now we have to variables: QEMU_CFLAGS: flags without which we can't compile CFLAGS: "-g -O2" We can now run: make CFLAGS="-fbar" foo.o make CFLAGS="" foo.o make CFLAGS="-O3" foo.o And it all should work. Signed-off-by: Juan Quintela <quintela@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> Message-Id:
* Fix checksum writing in signboot.shAlexander Graf2009-08-101-1/+2
| | | | | | | | | | | | | | | | | | The printf command takes an octal value after \, so we have to convert our decimal representation to octal first and then write it. This unbreaks extboot signing. Multiboot wasn't affected yet because the checksum was < 8. Spotted and first patch by Glauber Costa <glommer@redhat.com>. Printf idea by Paolo Bonzini <bonzini@gnu.org>. Signed-off-by: Alexander Graf <agraf@suse.de> CC: Glauber Costa <glommer@redhat.com> CC: Paolo Bonzini <bonzini@gnu.org> CC: Jan Ondrej <ondrejj@salstar.sk> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> Message-Id:
* Do not try to invoke shebang scripts directly (NFS issues)malc2009-08-101-1/+1
| | | | Signed-off-by: malc <av1474@comtv.ru>
* Option rom makefile fixesPaul Brook2009-07-311-0/+2
| | | | | | Fix toplevel option rom makefile rules. Signed-off-by: Paul Brook <paul@codesourcery.com>
* Fix out of tree build broken by 791e08c753a9f9be3c3880b4ea83b6dfa4b6ccadBlue Swirl2009-07-271-1/+1
| | | | Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
* use cc-option for optionromJuan Quintela2009-07-271-21/+1Star
| | | | | Signed-off-by: Juan Quintela <quintela@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* Use quiet-command for building optionromJuan Quintela2009-07-271-9/+7Star
| | | | | Signed-off-by: Juan Quintela <quintela@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* QEMU BOCHS bios patches to use maxcpus value.Jes Sorensen2009-07-274-0/+181
| | | | | Signed-off-by: Jes Sorensen <jes@sgi.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* signrom.sh: portability fixChristoph Egger2009-07-221-2/+3
| | | | | | | | | Attached patch makes signrom.sh working on NetBSD. The output of the 'od' command leads to a syntax error which breaks the build. Signed-off-by: Christoph Egger <Christoph.Egger@amd.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* Update to a hopefully more future proof FSF addressBlue Swirl2009-07-162-4/+2Star
| | | | Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
* Don't copy multiboot.bin into pc-bios after builtAnthony Liguori2009-07-161-1/+0Star
| | | | | | That dirties the working directory of the tree. Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* Fix multiboot.bin build on mingw32Anthony Liguori2009-07-161-3/+5
| | | | | | This combination of ld/object was suggested by Bartlomiej Celary Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* Fix non-ACPI Timer Interrupt Routing - v3Anthony Liguori2009-07-162-8/+30
| | | | | | | | v1 -> v2 adds comment suggested by Ryan. v2 -> v3 clarifies comment and corrects entry count Signed-off-by: Beth Kon <eak@us.ibm.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* bios: Fix multiple calls into smbios_load_exAnthony Liguori2009-07-163-0/+36
| | | | | | | | | | | We're marking the used entry bitmap in smbios_load_external() for each type we check, regardless of whether we loaded anything. This makes subsequent calls behave as if we've already loaded the tables from qemu and can result in missing tables (ex. multiple type4 entries on an SMP guest). Only mark the bitmap if we actually load something. Signed-off-by: Alex Williamson <alex.williamson@hp.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* Regenerate BIOS and add patches for -boot optionAnthony Liguori2009-07-164-0/+129
| | | | Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* Replace signrom with shell script v3Alexander Graf2009-07-093-85/+48Star
| | | | | | | | | | | | | In order to not execute code we just compiled, let's replace signrom with a shell script that does the same thing while staying compatible to pretty much every system available. This should make cross-compilation for windows easier. aliguori: fix build when objdir != srcdir Signed-off-by: Alexander Graf <agraf@suse.de> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* Update OpenBIOS images to r505Blue Swirl2009-07-054-1/+1
| | | | | | | For Sparc64, this fixes the PCI bridge configuration bugs revealed by the improved bridge handling (b7ee1603c16c1feb0d439d2ddf6cf824119d0aab). Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
* Work around Solaris gas problemBlue Swirl2009-07-031-1/+1
| | | | Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
* Multiboot build system v4Alexander Graf2009-06-293-0/+127
| | | | | | | | | | | | | | | In order to build the multiboot option rom, we need a Makefile and a tool to sign the rom with. Both are provided by this patch and mostly taken from the extboot source, written by Anthony Liguori. Once built, the resulting binary gets copied to pc-bios automatically. Building also occurs automatically when on an x86 host. Signed-off-by: Alexander Graf <agraf@suse.de> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* Multiboot support v5Alexander Graf2009-06-291-0/+209
| | | | | | | | | | | | | | | | | | | | | | | | | This patch implements support for Multiboot on x86 for -kernel. Multiboot is a "new" approach to get rid of different bootloaders, providing a unified interface for the kernel. It supports command line options and kernel modules. The two probably best known projects using multiboot are Xen and GNU Hurd. This implementation should be mostly feature-complete. It is missing VBE extensions, but as no system uses them currently it does not really hurt. To use multiboot, specify the kernel as -kernel option. Modules should be given as -initrd options, seperated by a comma (,). -append also works. Please bear in mind that grub also does gzip decompression, which qemu does not do yet. To run existing images, please ungzip them first. The guest multiboot loader code is implemented as option rom using int 19. Parts of the work are based on efforts by Rene Rebe, who originally ported my code to int 19. Signed-off-by: Alexander Graf <agraf@suse.de> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* microblaze: Fix loading of petalogix s3adsp1800 dtb.Edgar E. Iglesias2009-06-031-0/+0
| | | | | | | Provide a petalogix-s3adsp1800.dtb blob. Correct loading of the petalogix dtb. Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
* Move keymaps into pc-biosAnthony Liguori2009-05-2835-0/+3627
| | | | | | | This isn't the most ideal layout, but it makes -L /path/to/git/pc-bios Just Work which is very convenient. Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* bios: Use the correct mask to size the PCI option ROM BARAnthony Liguori2009-05-223-0/+34
| | | | | | | | Bit 0 is the enable bit, which we not only don't want to set, but it will stick and make us think it's an I/O port resource. Signed-off-by: Alex Williamson <alex.williamson@hp.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* Enable power button even generation.Anthony Liguori2009-05-083-0/+21
| | | | | Signed-off-by: Gleb Natapov <gleb@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* sending NUMA topology to BIOS (Andre Przywara)aliguori2009-04-223-0/+306
| | | | | | | | | | | | uses the QEMU firmware configuration interfacce to send the NUMA topology to the BIOS, which has to setup the tables. Only one firmware configuration channel is used. Signed-off-by: Andre Przywara <andre.przywara@amd.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7212 c046a42c-6fe2-441c-8c8c-71466251a162