Skip to content
Snippets Groups Projects
  1. Jun 09, 2010
    • Alexander Graf's avatar
      Fix multiboot compilation · 590bf491
      Alexander Graf authored
      
      Commit dd4239d6 broke multiboot. It replaced the
      instruction "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
      original instruction was automatically translated to its "addr32" equivalent.
      For multiboot, we're running in code32 so gcc didn't add the "addr32" which
      breaks the instruction.
      
      This patch splits that helper function in one which uses addr32 and one which
      does not, so everyone's happy.
      
      The good news is that nobody probably cared so far. The bundled multiboot.bin
      binary was built before the change and is thus correct.
      
      Please also put this patch into -stable.
      
      Signed-off-by: default avatarAlexander Graf <agraf@suse.de>
      Signed-off-by: default avatarAurelien Jarno <aurelien@aurel32.net>
      590bf491
  2. May 18, 2010
  3. May 14, 2010
    • Anthony Liguori's avatar
      Update SeaBIOS · 14ac15d3
      Anthony Liguori authored
      
       - 7d09d0e Fix virtio compile errors on various gcc versions.
       - 89acfa3 Support for booting from virtio disks
       - 6d66316 smbios: avoid counting io hole as ram
       - e5cd945 Fix error causing USB HID "boot" protocol to not be enabled.
       - 0e88576 Add support for USB mice.
       - dd5a8a6 When USB keyboard active, don't send keyboard commands to ps2 port.
       - 5718d56 Document usb-hid.c functions.
       - e438b0c Further parallelize init when using CONFIG_THREAD_OPTIONROMS.
       - f59b5ac Handle unknown function addresses in tools/checkstack.py.
       - 9ba1dea Simplify build by manually resolving external symbols in layoutrom.py.
       - 698d3f9 USB EHCI should yield() whil waiting for controller to ack reset.
       - f9a774c Add __attribute__((__malloc__)) declaration to internal malloc funcs.
       - b7045ce Minor - remove redundant check from ata_try_dma.
       - 67f6d37 Fix possible unitialized variable issue in usb msc.
       - a7eb8fc Some improvements to optionrom preemption support.
       - d28b0fe Refactor USB hub code.
       - ba28541 Prep version for next release.
       - 12bffd5 Update version to 0.6.0.
       - 87ab2fb Improve USB EHCI timing.
       - d705e5a Disable inlining on old compilers.
       - bca0736 Force use of indirect function calls in inline assembler.
       - d7eb27e Don't move EBDA while an optionrom is running (CONFIG_THREAD_OPTIONROMS).
       - 7415270 Call to int1552 (from int1346) should set regs->dl.
       - 9dc243e Adjust debug levels of device discovery.
       - d9c9361 Default CONFIG_COREBOOT_FLASH on; make depend on CONFIG_COREBOOT.
       - c35e1e5 Restore segment limits in handle_1589 code.
       - 11cc662 Extend time for rtc to be ready.
       - 4ed378a Backup and restore registers when calling out to user funcs.
       - 68c5139 Enable irqs in kbd/clock calls that caller might "spin" on.
       - f628244 Process event on ps2 keyboard irq even if event already read.
       - a5d8458 Revert "Unify ps2 port data processing."
       - b9ed5e2 Handle variable length return of ps2 port GETID command.
       - 67a9eec Prevent ps2 irqs from messing up ps2 init.
       - 6704cf9 Revert "Rework disabling of ps2 port irqs."
       - 808939c Fix smp cpu detect on gcc 4.5.
       - a979c1c Improvements to tools/checkstack.py.
       - 190cc62 Add USB EHCI controller support.
       - 0770d67 Some USB UHCI and OHCI fixes and cleanups.
       - bfe7ca7 Minor - USB OHCI interrupt queue should be one larger.
       - 09e2f7c Reduce size of USB 'struct uhci_td'.
       - 406fad6 Dynamically allocate USB controller structures.
       - 4547eb9 Replace USB encoded 'u32 endp' scheme with explicit struct fields.
       - 8ebcac0 Further parallelize USB init by launching a thread per usb port.
       - e908665 Introduce simple "mutex" locking code.
       - 3b79f8b Only compile usb-hub.c and paravirt.c with 32bit code.
       - 357bdfa Prefer passing a USB "pipe" structure over a USB endp encoding.
       - 7fb8ba8 Add a generic "internal error" warning function.
      
      Signed-off-by: default avatarAnthony Liguori <aliguori@us.ibm.com>
      14ac15d3
  4. May 12, 2010
  5. Apr 02, 2010
  6. Mar 06, 2010
  7. Mar 03, 2010
  8. Feb 23, 2010
    • Anthony Liguori's avatar
      pc-bios: update to latest Seabios · e1c247d2
      Anthony Liguori authored
      
       - 0360e8e Seabios e820 reservation portion v3
       - 7149fc8 Initial support for booting from USB drives.
       - 3c160dd Introduce helper functions for finding USB end-points.
       - 9571439 USB UHCI cleanups.
       - a4bd919 Minor - arrange struct drive_s to clarify field roles.
       - dac46b1 Fix off by one error in strtcpy.
       - d2d1de0 Don't require a valid physical cylinders/heads/spt for logical mapping.
       - 76977b2 Move common "command data block" functions to new file blockcmd.c.
       - d7e998f Dynamically allocate each drive_g with malloc_fseg().
       - 525be69 Add *.pyc to .gitignore.
       - 7d70025 Add common "block command" definitions and update cdrom code.
       - 68caaa7 Optimize ntohl() code.
       - 42157c8 Minor - sort ATA CMD definitions.
       - 54671c1 Initial support for USB hubs.
       - 7852331 Minor - increase debug level of some USB debug statements.
       - ba94a68 Don't leave USB UHCI ports disabled for extended time during reset.
       - 49a0aa6 Don't parallelize USB OHCI root port reset.
       - cfdc13f Introduce standard warnings for allocation failures and timeouts.
       - 8bbc79c Add symbolic definitions for USB delays.
       - 991eaff Support USB interrupt schedules on OHCI and UHCI.
       - 59c7574 Add some ASSERT32FLAT() to help compiler eliminate dead code.
       - e1920be seabios: acpi: fix memory leak in build_srat().
       - 84a4d4b Support USB keyboard auto-repeat.
       - bf7f1f3 mptable: Pull cpuid_signature/features setting out of loop.
       - 6f702dd Rework disabling of ps2 port irqs.
       - 2d3f0f5 Go back to using 0xf0000000 for PCI memory start.
       - 41c0957 Read APIC version from APIC instead of using a hard-coded value.
       - 7a98fd0 Work around bochs floppy issue with wait_irq().
       - 4d07902 Add CONFIG_ATA_DMA option; default to off for now.
       - 3012af1 Fix PkgLength calculation for the SSDT.
       - 92a5742 Add explicit Program Headers to linker scripts.
       - 6fc91b2 Prep version for next release.
      
      Signed-off-by: default avatarAnthony Liguori <aliguori@us.ibm.com>
      e1c247d2
  9. Feb 22, 2010
  10. Jan 17, 2010
  11. Jan 16, 2010
  12. Jan 11, 2010
    • Anthony Liguori's avatar
      Update to SeaBIOS 0.5.1 · c3863f25
      Anthony Liguori authored
      
        5da6833 Update version to 0.5.1
        669c991 Fix sign error preventing incorrect memory over 4gig calculation.
        7e6bd3e Minor - better indent assembler in int1587.
        48cf232 Add comment explaining why mptable is in low memory.
        643062f Add int1589 support.
        085debd Set FDPT in irq table even for small drives.
        7c1b186 Reduce #ifs by weeding out some cross-chunk function definitions.
        f9b25d3 Fix vgahook sign issue; add warning to build to catch future cases.
        3862b2d vgabios: Fix compile error due to fixed prototypes.
        1ca05b0 Be sure to add "void" to all function prototypes that take no args.
        b5bb9db mptable: Reset pinmask on new bus or device.
        8918989 Detect latest FC12 gcc -combine breakage.
        c9d3c2d Minor vga binary cleanups.
        9a8609f Make MTRR region 0xc0000-0x100000 be cached.
        fdca418 Force a link error if a function is used from the wrong code chunk.
        dad41d9 Add __noreturn define for __attribute__((noreturn)).
        c003148 Implement native 32bit APM support.
        5c99b6c Commit compiled dsdt file; misc comment updates.
        29f4b91 prevent acpi from rerouting SCI interrupt
        4c94b7e enumerate all PCI buses in mptable
        871e0a0 Add support for 32bit PCI BIOS entry.
        eda2c83 Only add "addr32" to memory accesses that require them.
        52a300f Introduce MODESEGMENT define; rename VISIBLE32 to VISIBLE32FLAT.
        fe2c3ee Allocate smbios in temp space and copy into final location.
        b164d2c Clear user reserved interrupts (0x60-0x66).
        d9104ff Remove pci_bios_bigmem_addr; set pci_bios_mem_addr=0xe0000000
        14021f2 Add initial support for ATA DMA.
        8362699 Allocate mptable in temp space and copy into final location.
        979862e Also report memory over 4G during init.
        928d4df provide correct pci routing information in mptable
        afc02da Add symbolic definitions for MTRR code.
        fb214dc Fix yield() so it works from boot code.
        2ceeec9 Fix potential build failure due to text16 section being too large.
        a2195e4 Increase version in preparation for next release.
      
      Signed-off-by: default avatarAnthony Liguori <aliguori@us.ibm.com>
      c3863f25
    • Stefan Weil's avatar
      pc-bios: Update README (SeaBIOS) · c0ced0f3
      Stefan Weil authored
      
      The PC BIOS no longer comes from Bochs.
      This patch updates the related entry.
      
      V2 - Modify SeaBIOS description and URL
           (Thanks to Gleb Natapov for the hint).
      
      Signed-off-by: default avatarStefan Weil <weil@mail.berlios.de>
      Signed-off-by: default avatarAnthony Liguori <aliguori@us.ibm.com>
      c0ced0f3
  13. Jan 08, 2010
    • Avi Kivity's avatar
      linuxboot: fix gdt address calculation · d0652aa8
      Avi Kivity authored
      
      The gdt address calculation in linuxboot.bin is broken in two ways: first
      it loads %cs into %eax, but that instruction leaves the high bits of %eax
      undefined and we did not clear them.  Secondly, we completely ignore the
      incorrect %eax, and use the undefined %ebx instead.
      
      With these issues fixed, linuxboot works again.
      
      Signed-off-by: default avatarAvi Kivity <avi@redhat.com>
      Signed-off-by: default avatarAnthony Liguori <aliguori@us.ibm.com>
      d0652aa8
    • Paolo Bonzini's avatar
      Use vpath directive · 076d2471
      Paolo Bonzini authored
      
      The vpath directive has two advantages over the VPATH variable:
      1) it allows to skip searching of .o files; 2) the default semantics
      are to append to the vpath, so there is no confusion between "VPATH=xyz"
      and "VPATH+=xyz".
      
      Since "vpath %.c %.h PATH" is not valid, I'm introducing a wrapper
      macro to append one or more directories to the vpath.
      
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      Signed-off-by: default avatarAnthony Liguori <aliguori@us.ibm.com>
      076d2471
  14. Dec 28, 2009
  15. Dec 21, 2009
  16. Dec 19, 2009
  17. Dec 18, 2009
  18. Dec 06, 2009
  19. Dec 03, 2009
  20. Nov 23, 2009
    • Anthony Liguori's avatar
      Update SeaBIOS · b0293e54
      Anthony Liguori authored
      
      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: default avatarAnthony Liguori <aliguori@us.ibm.com>
      b0293e54
  21. Nov 21, 2009
  22. Nov 17, 2009
  23. Nov 12, 2009
    • Stefan Weil's avatar
      eepro100: Fix boot ROM support · 4e9df06a
      Stefan Weil authored
      
      * 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: default avatarStefan Weil <weil@mail.berlios.de>
      Signed-off-by: default avatarAnthony Liguori <aliguori@us.ibm.com>
      4e9df06a
  24. Oct 30, 2009
  25. Oct 27, 2009
    • Juergen Lock's avatar
      multiboot.S patch for old as(1) (was: Re: [Qemu-devel] Some OpenBSD/amd64 build fixes) · ff56954b
      Juergen Lock authored
      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: default avatarAnthony Liguori <aliguori@us.ibm.com>
      ff56954b
  26. Oct 06, 2009
  27. Oct 05, 2009
  28. Sep 11, 2009
  29. Sep 09, 2009
Loading