Commit Graph

159 Commits

Author SHA1 Message Date
Gerd Hoffmann
93f7c4f09f seabios: update to 1.8.1 stable release
Carries two bugfixes and support for multiple pci root buses.

git shortlog rel-1.8.0..rel-1.8.1
=================================

Ameya Palande (1):
      x86: add barrier to read{b,w,l} and write{b,w,l} functions

Kevin O'Connor (1):
      smp: Fix smp race introduced in 0673b787

Marcel Apfelbaum (2):
      fw/pci: scan all buses if extraroots romfile is present
      fw/pci: map memory and IO regions for multiple pci root buses

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2015-03-16 09:07:15 +01:00
Mark Cave-Ayland
09c0772be9 Update OpenBIOS images
Update OpenBIOS images to SVN r1334 built from submodule.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
2015-03-13 11:03:41 +00:00
Mark Cave-Ayland
f3b18f35a2 sun4u: switch m48t59 NVRAM to MMIO access
Real sun4u systems memory-map the NVRAM on the (ISA) ebus, so switch over to
MMIO from ioport access whilst setting the base year to 1968 as used by Sun
systems. This allows all SPARC64 OSs included in my tests to correctly detect
the NVRAM IC and read the hardware clock correctly upon boot.

Note that this also requires a corresponding OpenBIOS update to r1330 in order
to switch the SPARC64 NVRAM accessors over from ioport to MMIO.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
2015-03-10 09:36:19 +00:00
Gerd Hoffmann
21f5826a04 seabios: update to 1.8.0 release
'git shortlog 8936dbb2..4c59f5d8' for seabios repo:

David Woodhouse (4):
      Update EFI_COMPATIBILITY16_TABLE to match 0.98 spec update
      build: use -m16 where available instead of asm(".code16gcc")
      romlayout: Use .code16 not .code16gcc
      vgabios: Use .code16 not .code16gcc

Gerd Hoffmann (2):
      add scripts/tarball.sh
      build: set LC_ALL=C

Hannes Reinecke (1):
      megasas: read addional PCI I/O bar

Ian Campbell (1):
      romlayout: Use "rep ; nop" not "rep nop".

Kevin O'Connor (139):
      vgabios: Return from handle_1011() if handler found.
      edd: Move EDD get drive parameters (int 1348) logic from disk.c to block.c.
      edd: Use sectors==-1 to detect removable media.
      edd: Separate out ATA and virtio specific parts of fill_edd().
      cdemu: store internal cdemu fields in standard "el-torito" spec format.
      Move cdemu call interface and disk_ret helper code to disk.c.
      smm: Replace SMI assembler code with C code.
      smm: Use a C struct to define the layout of the SMM area.
      smp: Replace QEMU SMP init assembler code with C; run only in 32bit mode.
      Don't enable thread preemption during S3 resume vga option rom execution.
      Remove old Bochs bios fixed address string at 0xfff00.
      Move most of the VAR16FIXED() defs to misc.c.
      build: Avoid absolute paths during "whole-program" compiling.
      Make sure handle_smi() and handle_smp() are compiled out if not enabled.
      Remove the TODO file.
      Abstract reset call (and possible 16bit mode switch) into reset() function.
      build: Remove unused function getSectionsStart() from layoutrom.py.
      build: Extract section visiting logic in layoutrom.py.
      build: Refactor layoutrom.py gc() function.
      build: Use customized entry point for each type of build.
      build: Refactor findInit() function.
      build: Rework getRelocs() to use a hash instead of categories in layoutrom.py
      build: Keep segmented sections separate until final link step.
      build: Use fileid instead of category to write sections in layoutrom.py.
      build: Only export needed fields in LayoutInfo in layoutrom.py.
      build: Get fixed address variables from 32bit compile pass (not 16bit)
      build: Minor - fix comments referring to old tools/ directory.
      xhci: Update the times for usb command timeouts.
      ehci: Update usb command timeouts to use usb_xfer_time()
      uhci: Update usb command timeouts to use usb_xfer_time()
      ohci: Update usb command timeouts to use usb_xfer_time()
      vgabios: Fix broken build resulting from e5749978.
      boot: Change ":rom%d" boot order rom instance to ":rom%x"
      Minor - remove stray tab from src/fw/smm.c.
      build: Update kconfig to version in Linux 3.16.
      usb: Fix usb_xfer_time() to work when called in 16bit mode.
      xhci: Call usb_desc2pipe() on xhci_update_pipe().
      xhci: Remove 16bit code wrappers.
      xhci: Use high memory instead of low memory for internal storage.
      xhci: Move root hub and setup code to top of file.
      xhci: Add xhci_check_ports() and xhci_free_pipes() functions.
      ehci: Move port power up from ehci_hub_detect() to check_ehci_ports().
      usb-hub: Enable power to all ports prior to calling usb_enumerate().
      xhci: Change xhci_hub_detect() to use connect status instead of link state.
      uhci: Repeatedly poll for device detect for 100ms.
      ohci: Repeatedly poll for device detect for 100ms.
      ehci: Stall uhci/ohci init only until default port routing is done.
      usb: Perform device detect polling on all usb controllers.
      ehci: Fix bug in hub port assignment
      Revert "Use the extra stack for 16bit USB and PS2 keyboard/mouse commands."
      pmm: Fix entry point to support non-zero %ss
      Move stack hop code below call32/call16 code in stacks.c
      Add need_hop_back() call that determines if stack_hop_back is needed
      Update invoke_mouse_handler() to use need_hop_back()
      Update stack_hop_back() to jump to 16bit mode if called in 32bit mode.
      Track when entering via call32() and use the same mode for stack_hop_back()
      Simplify farcall16 code
      Update reset() to use call16_back()
      build: Support declaring 32bit C functions that must reside in the f-segment
      Move call16() functions from romlayout.S to inline assembler in stacks.c
      Break up call32() into call32() and call32_sloppy()
      Fully restore 16bit state during call16_sloppy()
      Implement call32 mechanism using SMIs.
      Move a20 code from system.c and ps2port.h to x86.h
      Backup and restore a20 on call32_sloppy()
      usb: Rename ?hci_control() to ?hci_send_control()
      usb: Rename usb_getFrameExp() to usb_get_period()
      usb: Rename findEndPointDesc() to usb_find_desc()
      usb: Rename send_default_control() to usb_send_default_control()
      usb: Rename free_pipe() to usb_free_pipe()
      usb: Clarify usb freelist manipulations
      xhci: Change xhci_update_pipe() to xhci_realloc_pipe() and use for alloc too
      uhci: Export uhci_realloc_pipe() instead of uhci_alloc_pipe()
      ohci: Export ohci_realloc_pipe() instead of ohci_alloc_pipe()
      ehci: Export ehci_realloc_pipe() instead of ehci_alloc_pipe()
      usb: Use usb_realloc_pipe for pipe alloc, update, and free.
      Use 32bit memcpy in int1587 when applicable
      Don't clobber %ax on ENTRY_INTO32 macro
      Create assembler macros for saving and restoring 'struct bregs'
      Do full BREGS backup/restore for pmm, pnp, and irqentry_extrastack
      Remove unused macro ENTRY_ST
      vgabios: Don't declare custom internal BDA storage in std/bda.h
      vgabios: Cache a pointer to the current mode struct in the BDA
      vgabios: Don't pass vmode_g to vgafb_move_chars() / vgafb_clear_chars()
      vgabios: Rename vbe_flags to flags
      vgabios: Set cursor shape fixes
      vgabios: Refactor get/set_cursor_shape() code
      vgabios: Only init BDA device details in init_bios_area()
      vgabios: Only set the dcc_index=8 if stdvga ports are available
      vgabios: Move standard table definitions to std/vga.h
      vgabios: Fill in available legacy modes in video_func_static at runtime
      vgabios: Add support for reading framebuffer in "direct" mode
      Fix PNP regression introduced in 99cb8f3e due to missed conversion
      Minor - move PORT_PS2_CTRLB from hw/ps2port.h to hw/timer.c
      vgabios: Support emulating text mode attributes while in graphics mode
      vgabios: Add software cursor capability
      Use an aligned stack offset when entering on the extra stack
      Minor - comment updates in romlayout.S
      Fix build issue on gcc34
      pciinit: Fix build warning in mch_pci_slot_get_irq()
      floppy: Make sure to yield() during floppy PIO
      Minor - be consistent in placement of .code16/32 in romlayout.S
      Use macros for .code16/32 mode switches in inline asm in stacks.c
      Eliminate FUNCFSEG - only force portions of inline asm to f-segment
      usb: Update USB hub code to support super speed hubs
      Simplify README files - point to online documentation instead
      sdcard: Initial support for SD cards on PCI SDHCI controllers on QEMU
      Add wiki documentation to repository
      docs: Don't point to repo README files
      docs: Add info on MODE16/MODESEGMENT compile time flags
      docs: Add page describing SeaBIOS final object linking
      scsi: Move cdb_* functions above scsi_* functions
      scsi: Move process_scsi_op() to hw/blockcmd.c and rename
      cdrom: call scsi_process_op() instead of cdb_read()
      scsi: Don't export cdb_* functions
      cdrom: Break up very large read requests into smaller requests
      block: Check for read/write requests over 64K
      usb: Add support for OHCI bulk transfers
      readserial: Enhance pipe support
      docs: Add documentation on using readserial.py script
      uhci: Enable "depth" tree traversal for bulk transfers
      uhci: Increase bulk transfer STACKTDS to 16
      vgabios: Support emulated text in gfx_read_char()
      ehci: No need to support td array wrapping
      ehci: Simplify fillTDbuffer() and rename
      ehci: Merge ehci_send_control with ehci_send_bulk
      ohci: Merge ohci_send_control with ohci_send_bulk
      uhci: Merge uhci_send_control with uhci_send_bulk
      xhci: Merge xhci_send_control with xhci_send_bulk
      usb: Use usb_send_pipe() now that all drivers have x_send_pipe()
      xhci: Move xhci_xfer_x() functions together
      xhci: Merge some xhci_xfer_x() functions into xhci_send_pipe()
      usb: Control transfers always have an 8 byte command size
      usb: Minor - properly free memory on get_device_config() error path
      checkstack: Handle callw instruction
      docs: Document why v1.6.3 release came after v0.6.2
      docs: Update release history with dates of stable releases
      docs: There is only one VAR16 flag now
      docs: Note v1.8.0 release

Marcel Apfelbaum (1):
      hw/pci: reserve IO and mem for pci express downstream ports with no devices attached

Markus Armbruster (1):
      boot: Fix boot order for SCSI target, lun > 9

Paolo Bonzini (5):
      piix: add and use dev-piix.h
      smm: complete SMM setup
      smm: unify SMM handlers
      vgabios: fix graphics operation with Bochs VGA in non-DISPI modes
      vgabios: implement read char in graphics mode

zhanghailiang (1):
      acpi: use specified macro instead of magic-number

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2015-02-19 09:33:03 +01:00
Alexey Kardashevskiy
549cfe5d5d pseries: Update SLOF firmware image to 20141202
The changelog is:
  > version: update to 20141202
  > ipv4: Fix send packet across a subnet
  > pci: scan only type 0 and type 1
  > usb-xhci: support xhci extended capabilities
  > Fix term-io-key to also work when stdin has not been set yet
  > net-snk: llfw startup is using the wrong offset to handler
  > net-snk: Make call_client_interface() a bit more ABI compliant
  > net-snk: Remove custom printf version
  > net-snk: Sanitize our .lds file
  > net-snk: Avoid type clash for stdin & stdout
  > net-snk: use socket descriptor in the network stack
  > net-snk: Remove printk() in favor of printf()
  > net-snk: Remove redundant prototypes
  > net-snk: Remove unused timer functions
  > net-snk: Remove some unused PCI functions
  > net-snk: Remove module system
  > net-snk: Remove insmod/rmmod
  > net-snk: Remove snk_kernel_interface and related definitions
  > net-snk: Remove pci/vio_config gunk
  > js2x: Fix build
  > net-snk: Remoe some now unused "kernel" functions
  > rtas: Improve error handling in instantiate-rtas
  > version: update to 20140827
  > Add private HCALL to inform updated RTAS base and entry
  > xhci: fix port assignment

Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
Signed-off-by: Alexander Graf <agraf@suse.de>
2015-01-07 16:16:27 +01:00
Gerd Hoffmann
c246cee4ee update ipxe from 69313ed to 35c5379
Anton D. Kachalov (1):
      [intel] Add 8086:1557 card (Intel 82599 10G ethernet mezz)

Christian Hesse (1):
      [build] Merge util/geniso and util/genliso

Curtis Larsen (3):
      [efi] Use EFI_CONSOLE_CONTROL_PROTOCOL to set text mode if available
      [efi] Report errors from attempting to disconnect existing drivers
      [efi] Try various possible SNP receive filters

Dale Hamel (1):
      [smbios] Expose board serial number as ${board-serial}

Florian Schmaus (1):
      [build] Set GITVERSION only if there is a git repository

Hannes Reinecke (3):
      [ethernet] Provide eth_random_addr() to generate random Ethernet addresses
      [igbvf] Assign random MAC address if none is set
      [igbvf] Allow changing of MAC address

Jan Kiszka (1):
      [intel] Add I217-LM PCI ID

Marin Hannache (4):
      [nfs] Fix an invalid free() when loading a symlink
      [nfs] Fix an invalid free() when loading a regular (non-symlink) file
      [nfs] Rewrite NFS URI handling
      [readline] Add CTRL-W shortcut to remove a word

Michael Brown (144):
      [profile] Allow interrupts to be excluded from profiling results
      [intel] Exclude time spent in hypervisor from profiling
      [build] Fix version.o dependency upon git index
      [tcp] Defer sending ACKs until all received packets have been processed
      [lkrnprefix] Function as a bzImage kernel
      [build] Avoid errors when build directory is mounted via NFS
      [undi] Apply quota only to number of complete received packets
      [lkrnprefix] Make real-mode setup code relocatable
      [intel] Increase receive ring fill level
      [syslog] Strip invalid characters from hostname
      [test] Add self-tests for strdup()
      [libc] Prevent strndup() from reading beyond the end of the string
      [efi] Allow for optional protocols
      [efi] Make EFI_DEVICE_PATH_TO_TEXT_PROTOCOL optional
      [efi] Make EFI_HII_DATABASE_PROTOCOL optional
      [efi] Do not try to fetch loaded image device path protocol
      [ipv6] Fix definition of IN6_IS_ADDR_LINKLOCAL()
      [dhcpv6] Do not set sin6_scope_id on the unspecified client socket address
      [ipv6] Do not set sin6_scope_id on source address
      [ipv6] Include network device when transcribing multicast addresses
      [ipv6] Avoid potentially copying from a NULL pointer in ipv6_tx()
      [librm] Allow for the PIC interrupt vector offset to be changed
      [ifmgmt] Do not sleep CPU while configuring network devices
      [scsi] Improve sense code parsing
      [iscsi] Read IPv4 settings only from the relevant network device
      [iscsi] Include IP address origin in iBFT
      [debug] Allow debug message colours to be customised via DBGCOL=...
      [build] Expose build timestamp, build name, and product names
      [efi] Allow device paths to be easily included in debug messages
      [efi] Provide a meaningful EFI SNP device name
      [efi] Restructure EFI driver model
      [build] Fix erroneous object name in version object
      [build] Add yet another potential location for isolinux.bin
      [efi] Allow network devices to be created on top of arbitrary SNP devices
      [autoboot] Allow autoboot device to be identified by link-layer address
      [efi] Identify autoboot device by MAC address when chainloading
      [efi] Attempt to start only drivers claiming support for a device
      [efi] Rewrite SNP NIC driver
      [efi] Include SNP NIC driver within the all-drivers target
      [crypto] Add support for iPAddress subject alternative names
      [crypto] Fix debug message
      [netdevice] Reset network device index when last device is unregistered
      [efi] Update EDK2 headers
      [efi] Install our own disk I/O protocol and claim exclusive use of it
      [efi] Allow for interception of boot services calls by loaded image
      [efi] Print well-known GUIDs by name in debug messages
      [efi] Include EFI_CONSOLE_CONTROL_PROTOCOL header
      [ioapi] Fail ioremap() when attempting to map a zero bus address
      [intel] Check for ioremap() failures
      [realtek] Check for ioremap() failures
      [vmxnet3] Check for ioremap() failures
      [skel] Check for ioremap() failures
      [myson] Check for ioremap() failures
      [natsemi] Check for ioremap() failures
      [i386] Add functions to read and write model-specific registers
      [x86_64] Add functions to read and write model-specific registers
      [efi] Show more diagnostic information when building with DEBUG=efi_wrap
      [ioapi] Centralise notion of PAGE_SIZE
      [lotest] Discard packets arriving on the incorrect network device
      [xen] Import selected public headers
      [xen] Add basic support for PV-HVM domains
      [xen] Add support for Xen netfront virtual NICs
      [efi] Default to releasing network devices for use via SNP
      [efi] Unload started images only on failure
      [efi] Fill in loaded image's DeviceHandle if firmware fails to do so
      [efi] Fix incorrect debug message level when device has no device path
      [efi] Report exact failure when unable to open the device path
      [netdevice] Avoid registering duplicate network devices
      [efi] Ignore failures when attempting to install SNP HII protocol
      [efi] Expand the range of well-known EFI GUIDs in debug messages
      [efi] Provide efi_handle_name() for debugging
      [efi] Add ability to dump all openers of a given protocol on a handle
      [efi] Use efi_handle_name() instead of efi_handle_devpath_text()
      [efi] Use efi_handle_name() instead of efi_devpath_text() where applicable
      [efi] Allow compiler to perform type checks on EFI_HANDLE
      [efi] Avoid unnecessarily passing pointers to EFI_HANDLEs
      [efi] Dump existing openers when we are unable to open a protocol
      [efi] Dump handle information around connect/disconnect attempts
      [efi] Improve debugging of the debugging facilities
      [efi] Add excessive sanity checks into efi_debug functions
      [efi] Also try original ComponentName protocol for retrieving driver names
      [efi] Print raw device path when we have no DevicePathToTextProtocol
      [efi] Add ability to dump SNP device mode information
      [efi] Reset multicast filter list when setting SNP receive filters
      [efi] Provide centralised definitions of commonly-used GUIDs
      [efi] Open device path protocol only at point of use
      [efi] Move abstract device path and handle functions to efi_utils.c
      [efi] Generalise snpnet_pci_info() to efi_locate_device()
      [bios] Support displaying and hiding cursor
      [efi] Support displaying and hiding cursor
      [readline] Ensure cursor is visible when prompting for input
      [xen] Accept alternative Xen platform PCI device ID 5853:0002
      [xen] Use version 1 grant tables by default
      [xen] Cope with unexpected initial backend states
      [smc9000] Avoid using CONFIG as a preprocessor macro
      [build] Allow for named configurations at build time
      [intel] Display PBS value when applying ICH errata workaround
      [intel] Display before and after values for both PBS and PBA
      [intel] Apply PBS/PBA errata workaround only to ICH8 PCI device IDs
      [efi] Add definitions of GUIDs observed during Windows boot
      [efi] Dump details of any calls to our dummy block and disk I/O protocols
      [romprefix] Do not preserve unused register %di
      [build] Remove obsolete references to .zrom build targets
      [build] Allow ISA ROMs to be built
      [build] Avoid deleting config header files if build is interrupted
      [prefix] Halt system without burning CPU if we cannot access the payload
      [prefix] Report both %esi and %ecx when opening payload fails
      [util] Use PCI length field to obtain length of individual images
      [mromprefix] Use PCI length field to obtain length of individual images
      [mromprefix] Allow for .mrom images larger than 128kB
      [efi] Show details of intercepted LoadImage() calls
      [efi] Make our virtual file system case insensitive
      [efi] Wrap any images loaded by our wrapped image
      [efi] Use the SNP protocol instance to match the SNP chainloading device
      [efi] Avoid returning uninitialised data from PCI configuration space reads
      [efi] Make EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL optional
      [efi] Allow for non-PCI snpnet devices
      [build] Clean up all binary directories on "make [very]clean"
      [efi] Add efifatbin utility
      [efi] Provide dummy device path in efi_image_probe()
      [dhcp] Check for matching chaddr in received DHCP packets
      [dhcp] Remove obsolete dhcp_chaddr() function
      [build] Use -malign-double to build 32-bit UEFI binaries
      [efi] Centralise definitions of more protocol GUIDs
      [efi] Add definitions of GUIDs observed when chainloading from Intel driver
      [efi] Free transmit ring entry before calling netdev_tx_complete()
      [efi] Generalise snpnet_dev_info() to efi_device_info()
      [efi] Update to current EDK2 headers
      [efi] Add NII / UNDI driver
      [efi] Check for presence of UNDI in NII protocol
      [efi] Include NII driver within "snp" and "snponly" build targets
      [ping] Report timed-out pings via the callback function
      [ping] Allow termination after a specified number of packets
      [ping] Allow "ping" command output to be inhibited
      [intel] Use autoloaded MAC address instead of EEPROM MAC address
      [crypto] Fix parsing of OCSP responder ID key hash
      [vmxnet3] Add profiling code to exclude time spent in the hypervisor
      [netdevice] Fix erroneous use of free(iobuf) instead of free_iob(iobuf)
      [libc] Add ASSERTED macro to test if any assertion has triggered
      [list] Add sanity checks after list-adding functions
      [malloc] Tidy up debug output
      [malloc] Sanity check parameters to alloc_memblock() and free_memblock()
      [malloc] Check integrity of free list
      [malloc] Report caller address as soon as memory corruption is detected

Peter Lemenkov (1):
      [build] Check if git index actually exists

Robin Smidsrød (2):
      [build] Add named configuration for VirtualBox
      [build] Avoid using embedded script in VirtualBox named configuration

Sven Ulland (1):
      [lacp] Set "aggregatable" flag in response LACPDU

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2014-12-17 14:11:39 +01:00
Mark Cave-Ayland
35fb5b73a2 Update OpenBIOS images
Update OpenBIOS images to SVN r1327 built from submodule.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
2014-11-15 13:01:44 +00:00
Gerd Hoffmann
953ea14d66 update seabios to 1.7.5.1 stable release
git shortlog since 1.7.5:

Hannes Reinecke (1):
      megasas: read addional PCI I/O bar

Kevin O'Connor (5):
      boot: Change ":rom%d" boot order rom instance to ":rom%x"
      vgabios: Return from handle_1011() if handler found.
      Don't enable thread preemption during S3 resume vga option rom execution.
      build: Avoid absolute paths during "whole-program" compiling.
      ehci: Fix bug in hub port assignment

Marcel Apfelbaum (1):
      hw/pci: reserve IO and mem for pci express downstream ports with no devices attached

Markus Armbruster (1):
      boot: Fix boot order for SCSI target, lun > 9

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2014-11-13 11:59:46 +01:00
Mark Cave-Ayland
e3b561be48 Update OpenBIOS images
Update OpenBIOS images to SVN r1321 built from submodule.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
2014-11-04 00:02:33 +00:00
Mark Cave-Ayland
1862ed02df Update OpenBIOS images
Update OpenBIOS images to SVN r1320 built from submodule.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
2014-09-25 13:34:03 +01:00
Mark Cave-Ayland
d2a68f3a30 Update OpenBIOS images
Update OpenBIOS images to SVN r1316 built from submodule.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
2014-08-26 13:52:15 +01:00
Alexey Kardashevskiy
d6c23f8a1b pseries: Update SLOF firmware image to qemu-slof-20140630
The changelog is:
  > Quieten the grub warning
  > Add boot menu support
  > boot from disk having chrp-boot file
  > fat16: fix read and remove debug messages
  > dhcparch define missing in compilation
  > pci-scan: reserve memory for pci-bridge without devices
  > pci-bridge: Fix ranges when no device beyond the bridge
  > Set dhcp arch in board-qemu config file
  > xhci: fix controller stop
  > dhcp: support client architecture code 93
  > virtio-blk: support variable block size
  > usb: use common pci dma alloc/mapping routines
  > Remove unused SLOF code
  > pci-bridge: generic bridge needs to support pci dma functions
  > pci: extract dma functions as separate file
  > e1000: fix usage of multiple nics

Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
Signed-off-by: Alexander Graf <agraf@suse.de>
2014-07-08 12:10:36 +02:00
Andreas Färber
ee0f2601b9 prep: Update ppc_rom.bin
This replaces QEMU-side workarounds for PCI BARs and CPU reset.

Signed-off-by: Andreas Färber <andreas.faerber@web.de>
2014-07-07 16:46:35 +02:00
Mark Cave-Ayland
871c60a736 Update OpenBIOS images
Update OpenBIOS images to SVN r1306 built from submodule.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
2014-06-20 23:59:19 +01:00
Alexander Graf
4e73c78192 PPC: Add u-boot firmware for e500
This adds a special build of u-boot tailored for the e500 platforms we
emulate. It is based on the current version of upstream u-boot which
contains all the code necessary to drive our QEMU provided machines.

Signed-off-by: Alexander Graf <agraf@suse.de>
2014-06-16 13:24:35 +02:00
Gerd Hoffmann
3257fc8383 seabios: update to 1.7.5 final
git shortlog since -rc1:

Gerd Hoffmann (2):
      acpi: remove PORT_ACPI_PM_BASE constant
      Allow using full io region on q35.

Kevin O'Connor (2):
      vgabios: Add debug message if x86emu leal check triggers.
      python3 fixes for vgabios and csm builds.

Paolo Bonzini (1):
      smm: remove code to handle ACPI disable/enable

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2014-06-02 16:49:00 +02:00
Gerd Hoffmann
d880b28cef ipxe: update to current git
Now that ipxe has separate settings for load / boot banner timeouts
re-enable the boot banner while keeping the load banner turned off,
so we don't add a delay to non-pxe boots.

git shortlog:

Adrian Jamróz (2):
      [rhine] Rewrite VIA Rhine driver
      [velocity] Rewrite VIA Velocity driver

Alex Williamson (4):
      [romprefix] Allow ROM banner timeout to be configured independently
      [autoboot] Enable infrastructure to specify an autoboot device location
      [prefix] Allow prefix to specify a PCI autoboot device location
      [romprefix] Store boot bus:dev.fn address as autoboot device location

Alexander Chernyakhovsky (1):
      [ocsp] Handle OCSP responses that don't provide certificates

Bo Yang (1):
      [build] Avoid strict-aliasing warning for gcc 4.3

Brandon Penglase (1):
      [build] Add vmware build target

Christian Hesse (2):
      [build] Update build system for Syslinux 6.x
      [build] Fix LABEL name for .liso images

Daniel P. Berrange (1):
      [zbin] Fix size used for memset in alloc_output_file

Frediano Ziglio (1):
      [romprefix] Fix incorrect pointer offset in undiloader.S

Kevin Tran (1):
      [tg3] Fix various tg3 issues

Marin Hannache (8):
      [linux] Add missing #include <stddef.h>
      [legal] Add FILE_LICENCE for valgrind headers
      [legal] Add FILE_LICENCE for core/errno.c
      [legal] Add FILE_LICENCE for ath9k driver headers
      [legal] Add missing FILE_LICENCE declarations
      [cmdline] Add "poweroff" command
      [nfs] Add support for NFS protocol
      [nfs] Fix an issue with the selection of a local port

Michael Brown (363):
      [netdevice] Separate VLAN support from presence of VLAN-supporting drivers
      [undi] Work around specific devices with known broken interrupt behaviour
      [menu] Prevent character code zero from acting as a shortcut key
      [menu] Prevent separators with shortcut keys from being selected
      [tftp] Allow TFTP block size to be controlled via the PXE TFTP API
      [pcbios] Add extra debugging messages when unhiding iPXE from memory
      [nbiprefix] Set up real-mode stack before jumping to .text16
      [prefix] Use %cs as implicit parameter to uninstall()
      [pcbios] Inhibit all calls to INT 15,e820 and INT 15,e801 during POST
      [romprefix] Display only one "Ctrl-B" prompt per PCI device during POST
      [efi] Update to latest EDK2 headers
      [autoboot] Split main control flow out of main() into a new function ipxe()
      [efi] Add last_opened_snpdev()
      [efi] Expose downloaded images via EFI_SIMPLE_FILE_SYSTEM_PROTOCOL
      [efi] Add our own EFI_LOAD_FILE_PROTOCOL implementation
      [efi] Fix building with newer binutils
      [lkrnprefix] Allow relocation when no initrd is present
      [efi] Fix minor typos in efi_image.c
      [efi] Add EFI-specific debugging macros
      [int13] Split out ISO9660 and El Torito definitions to separate header files
      [smbios] Provide SMBIOS version number via smbios_version()
      [smbios] Mangle UUIDs for SMBIOS version 2.6 and newer
      [dhcp] Use PXE byte ordering for UUID in DHCP option 97
      [uuid] Abstract UUID mangling code out to a separate uuid_mangle() function
      [efi] Provide efi_guid_ntoa() for printing EFI GUIDs
      [efi] Add "reboot" command for EFI
      [cmdline] Add ability to perform a warm reboot
      [efi] Enable "cpuid" command by default for EFI
      [cs89x0] Remove conflicting macro definitions
      [igbvf] Remove conflicting macro definitions
      [prism2] Use standard type names
      [efi] Fetch device path for loaded image during initialisation
      [settings] Expose build architecture and platform via settings
      [bios] Fix screen clearing on buggy BIOSes
      [intel] Remove hardcoded offsets for descriptor ring registers
      [intel] Expose functionality to be shared with intelx driver
      [intel] Add intelx driver for Intel 10 Gigabit Ethernet NICs
      [efi] Remove obsolete EFI I/O implementation using EFI_CPU_IO_PROTOCOL
      [libc] Use __einfo() tuple as first argument to EUNIQ()
      [libc] Redefine low 8 bits of error code as "platform error code"
      [efi] Perform meaningful error code conversions
      [efi] Add sample platform-generated error disambiguations
      [netdevice] Use link-layer address as part of RNG seed
      [build] Allow sparse to find compiler.h
      [build] Define __WINT_TYPE__ if necessary
      [build] Allow sparse to be invoked via "make C=1"
      [build] Avoid sparse undeclared symbol warning for PROVIDE_SYMBOL()
      [process] Mark process descriptor as static in PERMANENT_PROCESS
      [realtek] Print bad MAC address in debug message when inferring no EEPROM
      [build] Use -Wno-decl when running sparse
      [build] Fix uses of literal 0 as a NULL pointer
      [build] Fix dubious uses of bitwise operators
      [build] Default to short wchar_t in stddef.h
      [realtek] Use ID word to detect EEPROM presence
      [errdb] Strip platform error code for non-platform-generated errors
      [pxe] Convert external PXE API errors into iPXE platform-generated errors
      [realtek] Allow reaction time between writing RTL_CAPR and reading RTL_CR
      [romprefix] Report failure cause when unable to open payload
      [realtek] Ensure EEPROM writes reach chip before starting udelay()
      [dhcp] Remove obsolete bootp.h header
      [netdevice] Add netdev_tx_defer() to allow drivers to defer transmissions
      [realtek] Defer packets when no transmit descriptors are available
      [settings] Eliminate settings "tag magic"
      [smbios] Allow access to unreferenced SMBIOS strings
      [smbios] Allow access to multiple instances of SMBIOS structures
      [crypto] Report meaningful error when certificate chain validation fails
      [build] Use $(eval) if available
      [build] Provide "allXXXs" targets for all media on all platforms
      [build] Add efidrv.cab target for UEFI Secure Boot signing
      [netdevice] Add "chip" setting
      [netdevice] Reset MAC address when asked to clear the "mac" setting
      [realtek] Fix reopening of legacy-mode 8139 NIC
      [crypto] Accept OCSP responses containing multiple certificates
      [bzimage] Align initrd images to page boundary
      [bzimage] Fix spurious uninitialised-variable warning on some gcc versions
      [build] Work around bug in gcc >= 4.8
      [autoboot] Use next-server from filename's settings block
      [tcp] Do not send RST for unrecognised connections
      [tcp] Fix comment to match code behaviour
      [test] Add self-tests for base16
      [base16] Generalise base16_decode() to hex_decode()
      [settings] Use hex_decode() to parse hex settings
      [settings] Add "hexraw" setting type
      [netdevice] Add "bustype" and "busloc" settings
      [settings] Add "busdevfn" setting type
      [linux] Add support for accessing PCI configuration space via /proc/bus/pci
      [settings] Add config/settings.h
      [settings] Expose PCI configuration space via settings mechanism
      [settings] Make "netX" settings block function as a symbolic link
      [cmdline] Accept "netX" in iPXE commands
      [lotest] Include sequence number within loopback test packets
      [intel] Incorporate ring producer and consumer counters in diagnostics
      [base16] Ensure base16_encode() always terminates its result string
      [realtek] Report RX error detail in debug messages
      [script] Allow for backslash continuation of script lines
      [settings] Add support for navigation keys in "config" user interface
      [realtek] Allow extra space in RX buffers
      [ifmgmt] Avoid relying on global variable within ifcommon_exec()
      [script] Avoid trying to read final character of a zero-length string
      [legal] Add missing FILE_LICENCE declarations
      [build] Fix %.licence build target
      [settings] Clarify usage of the term "named setting"
      [settings] Avoid potentially large stack allocations
      [settings] Remove temporary name buffer parameter from parse_setting_name()
      [settings] Remove default_type parameter from parse_setting_name()
      [settings] Expose parse_setting_name()
      [settings] Change "not-found" semantics of fetch_setting_copy()
      [settings] Add fetchf_setting_copy()
      [settings] Eliminate call to fetchf_named_setting() in expand_settings()
      [settings] Eliminate call to store_named_setting() in nslookup.c
      [settings] Remove now-unused store_named_setting()
      [parseopt] Allow parsed option to be modified
      [parseopt] Move parse_settings() to parseopt.c
      [parseopt] Add parse_setting()
      [settings] Eliminate call to storef_named_setting() in choose_exec()
      [settings] Eliminate calls to {fetch,store}f_named_setting() in NVO commands
      [settings] Remove now-unused fetchf_named_setting() and storef_named_setting()
      [script] Allow initial whitespace on lines containing labels
      [script] Allow commands following a script label
      [settings] Introduce the generalised concept of a numeric setting
      [cmdline] Add "inc" command
      [pci] Add pci_find_next() to iterate over existent PCI devices
      [cmdline] Add "pciscan" command to allow iteration over PCI devices
      [udp] Move high-frequency debug messages to DBGLVL_EXTRA
      [ipv6] Rename sin_{family,port} to sin6_{family,port} in struct sockaddr_in6
      [tcpip] Allow binding to unspecified privileged ports (below 1024)
      [settings] Expose CPUID instruction via settings mechanism
      [test] Add self-tests for snprintf()
      [settings] Allow numeric_setting_value() to handle long setting values
      [settings] Expose memory map via settings mechanism
      [params] Add support for the general concept of a form parameter list
      [cmdline] Add "params" and "param" commands to manage form parameter lists
      [uri] Allow URIs to incorporate a parameter list
      [http] Add support for HTTP POST
      [settings] Make built-in settings a linker table
      [linux] Give tap devices a name and bus type
      [ipv4] Generalise fragment reassembly mechanism
      [netdevice] Increase maximum network-layer address length
      [netdevice] Add concept of a network device index
      [netdevice] Add method for generating EUI-64 address from link-layer address
      [ethernet] Add support for generating multicast hash for IPv6 addresses
      [linux] Apply MAC address prior to registering network device
      [tcpip] Pass through network device to transport layer protocols
      [neighbour] Generalise concept of neighbour discovery
      [ipv4] Abstract out protocol-specific portions of "route" command
      [ipv6] Replace IPv6 stack
      [ipv6] Fix uninitialised-variable warning
      [tcp] Reduce path MTU to 1280 bytes
      [ipv6] Add inet6_aton()
      [build] Work around bug in gcc >= 4.8
      [neighbour] Add nstat() function to print out neighbour table
      [cmdline] Add "nstat" command
      [tcp] Add AF_INET6 socket opener
      [udp] Add AF_INET6 socket opener
      [netdevice] Add find_netdev_by_index()
      [socket] Add concept of a generalised socket address converter
      [ipv4] Add IPv4 socket address converter
      [ipv6] Add IPv6 socket address converter
      [resolv] Use sock_aton() to allow parsing of arbitrary numeric addresses
      [icmp] Add support for sending ICMP echo requests
      [ping] Add concept of a ping socket
      [ping] Add generic ping mechanism
      [ping] Add top-level ping() function to ping a host
      [cmdline] Add "ping" command
      [ipv6] Handle IPv6 option length correctly
      [ipv6] Extract link layer addresses from router advertisements
      [ipv6] Support stateless address autoconfiguration (SLAAC)
      [ipv6] Treat sin6_scope_id consistently
      [ipv6] Automatically choose source for link-local and multicast destinations
      [pxe] Always retrieve cached DHCPACK and apply to relevant network device
      [ipv6] Add ndp_tx_router_solicitation() to send router solicitations
      [parseopt] Add parse_timeout()
      [netdevice] Make all net_driver methods optional
      [interface] Default to calling intf_restart() in response to intf_close()
      [job] Allow job_progress() to return an ongoing job status code, if known
      [monojob] Add timeout parameter to monojob_wait()
      [monojob] Report ongoing job status as overall return status on timeout
      [cmdline] Rewrite "sync" command to use monojob_wait()
      [autoboot] Fix shell banner timeout
      [ifmgmt] Rewrite iflinkwait() to use monojob_wait()
      [cmdline] Allow "if<xxx>" commands to take options
      [netdevice] Add generic concept of a network device configurator
      [dhcp] Add DHCP network device configurator
      [parseopt] Add parse_netdev_configurator()
      [ifmgmt] Add ifconf() to carry out network device configuration
      [autoboot] Use ifconf() to configure network device
      [cmdline] Add "ifconf" command
      [cmdline] Make "dhcp" command a synonym for "ifconf"
      [dhcp] Remove obsolete dhcp() function
      [ipv6] Add IPv6 network device configurator
      [cmdline] Generate command option help text automatically
      [pxe] Ensure cached DHCPACK is retrieved prior to network device creation
      [base16] Fix comparison of signed and unsigned integers
      [settings] Move user-class setting from dhcp.c to settings.c
      [ipv6] Use given source address only if it is not the unspecified address
      [ipv6] Add "ipv6" setting type
      [dhcpv6] Add basic support for stateful and stateless DHCPv6
      [ipv6] Separate the concepts of prefix and address creation
      [dhcpv6] Allow stateful DHCPv6 to apply obtained IPv6 addresses
      [test] Include failing code within failed test result output
      [main] Defer "initialising devices" message until initialising devices
      [console] Pass escape sequence context to ANSI escape sequence handlers
      [pixbuf] Add generic concept of a pixel buffer
      [image] Allow for non-executable image formats
      [image] Add image_pixbuf() to create pixel buffer from image
      [pnm] Add support for PNM images
      [mucurses] Use "<ESC>[2J" ANSI escape sequence to clear screen
      [console] Allow console input and output to be disabled independently
      [console] Add concept of generic console configuration
      [cmdline] Add "console" command to configure console
      [fbcon] Add generic concept of a frame buffer console
      [vesafb] Add VESA frame buffer console
      [vesafb] Include raw status value within VBE error messages
      [vesafb] Skip modes for which we cannot get mode information
      [vesafb] Return meaningful error when no suitable mode is found
      [vesafb] Select an optimal mode, rather than the first acceptable mode
      [build] Fix building on OpenBSD 5.4
      [console] Allow '?' as an intermediate byte in ANSI escape sequences
      [mucurses] Implement curs_set() to control cursor visibility
      [settings] Hide cursor when not actively editing a setting
      [menu] Hide cursor when displaying menu
      [fbcon] Add support for displaying a cursor
      [settings] Explicitly separate the concept of a completed fetched setting
      [settings] Allow for IPv6 setting types in non-IPv6 builds
      [settings] Add fetch_ipv6_setting()
      [dns] Add support for resolving IPv6 addresses via AAAA records
      [socket] Ensure socket address structure sizes are fixed
      [syslog] Add support for IPv6 syslog server
      [ipv6] Add support for resolving IPv6 addresses via the "nslookup" command
      [linux] Provide access to SMBIOS via /dev/mem
      [dhcpv6] Use DUID-UUID form of client DUID
      [settings] Force settings into alphabetical order within sections
      [settings] Allow for multiple definitions of each predefined setting
      [settings] Merge SETTING_IPv4 and SETTING_IPv6
      [dhcpv6] Add DHCPv6 "filename" setting
      [ipv6] Expose NDP-provided settings (including the DNS server)
      [vesafb] Work around data corruption bug in bochs/qemu VBE implementation
      [settings] Adapt user interface to fit display size
      [login] Adapt user interface to fit display size
      [menu] Adapt user interface to fit display size
      [console] Allow consoles to update the recorded console size
      [fbcon] Update the console width and height after changing mode
      [lkrnprefix] Include iPXE version string in image header
      [fbcon] Always draw cursor using current foreground and background colours
      [console] Add centralised concept of colours and colour pairs
      [mucurses] Use centralised concept of colour pairs
      [cmdline] Add the "colour" and "cpair" commands
      [console] Add concept of a "magic" colour
      [vesafb] Set "magic" colour to transparent when a background picture is used
      [build] Remove obsolete check for GNU as version 2.9.1
      [ipv6] Fix compilation under FreeBSD
      [build] Build ROMs used by qemu and VMware as part of "make all"
      [libc] Add isprint()
      [test] Add okx() macro taking an explicit file name and line number
      [deflate] Add support for DEFLATE decompression
      [deflate] Fix literal data length calculation
      [libc] Add abs()
      [uaccess] Add memcmp_user()
      [test] Rewrite pnm_ok() using okx()
      [test] Generalise pnm_ok() to pixbuf_ok()
      [png] Add support for PNG images
      [vesafb] Handle failures from fbcon_init()
      [fbcon] Centre background picture on console
      [fbcon] Allow for an arbitrary margin around the text area
      [vesafb] Allow for an arbitrary margin around the text area
      [cmdline] Rename "console" command's --bpp option to --depth
      [cmdline] Add margin options to the "console" command
      [fbcon] Allow ANSI CUP with missing arguments
      [cmdline] Always clear screen after reconfiguring console
      [intel] Add some missing PCI IDs
      [dns] Support DNS search lists
      [dns] Update end-of-name pointer after processing CNAME record
      [dhcp] Copy exactly the required length when resizing DHCP options
      [settings] Remove "uristring" setting type
      [params] Use reference counters for form parameter lists
      [uri] Refactor URI parsing and formatting
      [image] Ensure every image has a fully resolved URI
      [tcpip] Add IP statistics collection as per RFC 4293
      [cmdline] Add the "ipstat" command
      [prefix] Ignore PCI autoboot device location if set to 00:00.0
      [tcpip] Provide tcpip_netdev() to determine the transmitting network device
      [tcpip] Provide tcpip_mtu() to determine the maximum transmission unit
      [tcp] Calculate correct MSS from peer address
      [bzimage] Report exact initrd length via bzImage header
      [realtek] Include link status register details in debug messages
      [romprefix] Do not clobber stack segment when returning to BIOS
      [netdevice] Mark devices as open before calling open() method
      [tcp] Update window even if ACK does not acknowledge new data
      [linux] Avoid starting currticks() from zero every time
      [http] Use a retry timer to trigger retried requests
      [http] Automatically retry request on a 503 Service Unavailable
      [mii] Add mii_dump() to dump all MII registers
      [realtek] Dump all MII register contents when link status changes
      [monojob] Reset timeout when progress is made
      [image] Add "--timeout" parameter to image downloading commands
      [efi] Allow for 64-bit EFI_STATUS codes
      [efi] Allow driver to be unloaded
      [efi] Connect driver to devices as part of installation
      [console] Fix display of characters with top bit set
      [lotest] Allow loopback testing on shared networks
      [netdevice] Notify upper-layer drivers when RX processing is (un)frozen
      [efi] Avoid accidentally calling main() twice
      [efi] Unload our own image before exiting UEFI application
      [efi] Disable SNP devices when running iPXE as the application
      [realtek] Add ability to dump all internal registers
      [realtek] Clear bit 24 of RCR
      [bios] Fix screen clearing on even more buggy BIOSes
      [http] Accept Content-Length header with trailing whitespace
      [crypto] Remove dynamically-allocated storage for certificate name
      [crypto] Remove dynamically-allocated storage for certificate OCSP URI
      [build] Remove long-obsolete mechanism for wrapping embedded images
      [build] Disable ccache for all relevant build targets
      [build] Add dependency of generated files upon Makefile
      [crypto] Add pubkey_match() to check for matching public/private key pairs
      [crypto] Generalise X.509 cache to a full certificate store
      [crypto] Use fingerprint when no common name is available for debug messages
      [crypto] Allow signed timestamp error margin to be configured at build time
      [test] Rewrite X.509 tests using okx()
      [test] Rewrite CMS tests using okx()
      [test] Add tests for x509_check_name()
      [test] Add subject alternative names to X.509 server test certificate
      [crypto] Add support for subjectAltName and wildcard certificates
      [crypto] Allow wildcard matches on commonName as well as subjectAltName
      [intel] Avoid completely filling the TX descriptor ring
      [test] Rewrite TCP/IP tests using okx()
      [test] Add self-tests for flsl()
      [libc] Add inline assembly implementation of flsl() using BSR instruction
      [test] Add tests for 64-bit division
      [build] Fix __libgcc attribute for recent gcc versions
      [test] Check for correct -mrtd assumption on libgcc arithmetic functions
      [libc] Add isqrt() function to find integer square roots
      [libc] Add flsll()
      [profile] Add generic profiling infrastructure
      [cmdline] Add "profstat" command to display profiling statistics
      [netdevice] Profile common operations
      [intel] Profile common virtual machine operations
      [intel] Push new RX descriptors in batches
      [librm] Use genuine real mode to accelerate operation in virtual machines
      [ipv4] Profile transmit and receive datapaths
      [tcp] Profile transmit and receive datapaths
      [http] Profile receive datapath
      [downloader] Profile receive datapath
      [build] Allow for a debug level of zero
      [librm] Allow interrupts in protected mode
      [comboot] Use built-in interrupt reflector
      [pcbios] Do not switch to real mode to check for timer interrupt
      [pcbios] Do not switch to real mode to sleep the CPU
      [test] Print out profiling statistics after a successful test run
      [librm] Add a profiling self-test for measuring mode transition times
      [librm] Add meaningful labels at section changes
      [librm] Speed up protected-to-real mode transition under KVM
      [librm] Speed up real-to-protected mode transition under KVM
      [librm] Speed up protected-mode calls under KVM
      [profile] Provide methods for profiling individual stages of operations
      [librm] Add profiling self-tests for complete real_call and prot_call cycles
      [pxe] Profile all PXE API calls
      [pxe] Profile UNDI transmit datapath
      [pxe] Work around missing PXENV_UNDI_OPEN only when necessary
      [undi] Profile all PXE API calls
      [undi] Profile transmit and receive datapaths
      [undi] Report any PXENV_UNDI_ISR errors via netdev_rx_err()
      [undi] Do not switch to real mode to check for NIC interrupt
      [undi] Place an upper limit on the number of PXENV_UNDI_ISR calls per poll

Peter Pickford (1):
      [serial] Enable UART FIFOs

Robin Smidsrød (2):
      [settings] Add "version" builtin setting
      [build] Include ipxe.pxe in default build

Stefan Hajnoczi (2):
      [netdevice] Add vlan_tag() to get the VLAN tag of a network device
      [iscsi] Include 802.1Q VLAN identifier in iBFT

Thomas Miletich (3):
      [3c90x] Stall upload engine before setting RX ring address
      [3c90x] Don't round up transmit packet length
      [3c90x] Fix High-MTU packet reception

lolipop (1):
      [intel] Add Intel I217 Gigabit Ethernet PCI ID

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2014-05-15 14:24:05 +02:00
Gerd Hoffmann
db76ec6291 seabios: update to 1.7.5-rc1
Code grew a bit, had to disable CONFIG_USB_UAS to make the
bios for the old machine types continue top fit into 128k.

git shortlog since 1.7.4:

Eric Northup (2):
      init_virtio_blk, init_virtio_scsi: reset HBA on error
      vp_init_simple: enable PCI bus-mastering before relying on DMA.

Gabriel L. Somlo (1):
      SMBIOS: Check for aggregate tables & entry point in fw_cfg

Gerd Hoffmann (4):
      smbios: catch zero-length strings
      pci: improve io address space allocation
      xhci: allocate scratch pad buffers
      vga: rework bar detection, add virtio-vga

Johannes Krampf (5):
      build: Remove unneccesary semicolons from acpi_extract scripts.
      build: Make print statements in scripts python3 compatible.
      build: Be explicit that we want integers when dividing for python3 compat.
      build: Avoid sort() on unordered classes for python3 compatibility.
      build: Be careful with unicode and byte strings for python3 compatibility.

Kevin O'Connor (79):
      build: Don't trash the .config file when src/Kconfig changes.
      Remove the pmm handle argument from _malloc().
      Clear the total block transfer count on error.
      Remove unnecesary updates of the disk op->count field.
      Always perform thread cleanup on MainThread stack.
      pvscsi: Don't store reference to struct pci_device.
      pvscsi: Always run entirely in 32bit mode.
      pvscsi: Remove use of LOWFLAT and GLOBALFLAT macros.
      usb: Replace EHCI to UHCI/OHCI synchronization with new scheme.
      Minor - pciinit.c - order header files and use static on local functions.
      Minor - fix misspelling in romfile.c comment.
      ehci: memset the qTD structures in ehci_alloc_intr_pipe
      build: Update kconfig to version in Linux 3.13.
      scripts: Allow encodeint.py to take integers in hex notation.
      coreboot: Support alternative locations for CBFS.
      debug: Add runtime option to not report the debug serial port to the OS.
      debug: Only call serial_debug_preinit() at startup.
      debug: Unify the SeaBIOS debug version banner.
      xhci: Use 64bit writes to ERDP register.
      xhci: Fix incorrect direction setting on status transmissions.
      xhci: Set the interval parameter on interrupt pipes.
      xhci: Verify PAGESIZE register before initializing driver.
      xhci: Allocate and free the xhci inctx structure on each use.
      xhci: Move set_address code from xhci_control to xhci_alloc_pipe.
      xhci: Eliminate 'struct xhci_device'.
      xhci: Support xhci controllers with 64 byte contexts.
      xhci: Allow the XHCI USB controller to be enabled for coreboot.
      xhci: Don't use a dummy endpoint count in configure command.
      xhci: Report the "protocol defined" and PSIC bits of extended capabilities.
      xhci: Support USB hubs on xhci controllers.
      Add call32_params() helper function.
      Add space between DTYPE_* definitions.
      xhci: Run the XHCI driver entirely in 32bit mode.
      Remove pci_writel() and pci_readl() functions.
      xhci: Check if scratch pad allocation fails.
      Increase maximum size of permanent high memory area.
      usb: USB 3 devices encode bMaxPacketSize0 field.
      usb: Move default pipe max packet size code from xhci to main code.
      xhci: Use the same endpoint initialization code in xhci_alloc_pipe()
      xhci: Add copyright notice to usb-xhci.c
      vgabios: Make sure exported structs use PACKED.
      vgabios: Simplify the bios save state area.
      vgabios: Simplify save/restore mechanism.
      vgabios: Attempt to detect old x86emu and force a fault.
      vgabios: Don't interpret TAB character.
      vgabios: Refactor write_teletype and write_chars.
      vgabios: Make sure stdvga_list_modes() doesn't overrun the buffer.
      coreboot: Add support for a "links" file to have aliases in CBFS.
      Enhance nullTrailingSpace() so that it can also skip leading spaces.
      coreboot: Move links file processing to its own function.
      vgabios: Fix PMM allocation request size.
      smbios: Default all values to zero.
      usb: Only disable HID devices if both USB_MOUSE and USB_KEYBOARD are off.
      Minor - fix some typos in comments.
      Replace CONFIG_THREAD_OPTIONROMS with a runtime config setting.
      acpi: Move acpi parsing logic from acpi.c to biostables.c / paravirt.c.
      smbios: Move smbios parsing logic from smbios.c to biostables.c.
      Move PirAddr definition from pirtable.c to biostables.c.
      Use biostables.c for copying bios tables even when generating them.
      Document no new changes to pirtable.c, mptable.c, acpi.c, and smbios.c.
      apm: Remove old Bochs mechanism for shutdown/suspend/standby.
      Minor - remove unused includes from pci.c.
      vgabios: Add option to control use of standard VGA IO ports.
      vgabios: Split vgafb_scroll() into separate move and clear functions.
      vgabios: Rewrite vgafb.c graphics operations to set of 4 standard operators.
      vgabios: Introduce text_address().
      vgabios: Add support for manipulating framebuffers in high memory.
      Set the color attribute when calling vgabios print character.
      vgabios: PMM scan was incorrectly depending on a zero %ds segment.
      coreboot: Make coreboot table searching available to other code.
      vgabios: Initial support for coreboot native vga vgabios.
      Minor - replace some tab characters that slipped into the code.
      Factor out smbios table walking from display_uuid to smbios_next().
      vgabios: Define PlatformRunningOn to make compile happy.
      If an int 1587 call is made from an option rom, stay in bigreal mode.
      xhci: Use msleep() instead of mdelay() for port status delay.
      build: Make sure romlayout.o is recompiled on Kconfig change.
      Fix int 1589 calls when CONFIG_ENTRY_EXTRASTACK is enabled.
      acpi: Fix acpi dsdt compile warning.

Laszlo Ersek (1):
      init_virtio_scsi(): reset the HBA before freeing its virtio ring

Marcel Apfelbaum (3):
      resume: restore piix pm config registers after resume
      hw/pci: reserve IO and mem for pci-2-pci bridges with no devices attached
      hw/pci: check if pci2pci bridges implement optional limit registers

Roger Pau Monne (1):
      ld: don't hardcode "-melf_i386"

Sander Eikelenboom (1):
      Prevent build failure by not splitting line in the middle of arguments to checkrom.py script

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2014-05-15 14:05:26 +02:00
Alexey Kardashevskiy
3636226ae4 pseries: Update SLOF firmware image to qemu-slof-20140404
The change log is:
  > Isolate sc 1 detection logic
  > build: auto-detect ppc64 architecture
  > cas: increase hcall buffer size to accomodate 256 cpus
  > usb: change device tree naming
  > usb-core: adjust port numbers in set_address
  > virtio-scsi: correct srplun comment
  > Fix kernel loading
  > Workaround to make grub2 assign server ip from dhcp ack packet only
  > ELF: Enter LE binary in LE mode
  > ELF loading should fail for virt != phys

Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
Signed-off-by: Alexander Graf <agraf@suse.de>
2014-04-08 11:20:00 +02:00
Andreas Färber
4c1410d59c prep: Update ppc_rom.bin
This increases file size from 512 KiB to 1 MiB.

Signed-off-by: Andreas Färber <andreas.faerber@web.de>
2014-03-13 20:15:37 +01:00
Peter Maydell
be86c53c05 PowerPC queue for 2.0-rc0
* QEMUMachine include cleanup
 * SLOF update
 * XICS reset fix
 * sPAPR PCI host bridge refactorings
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.22 (GNU/Linux)
 
 iQIcBAABAgAGBQJTIR0LAAoJEPou0S0+fgE/4rMP/ReyYRPSXFFu2PXt2werCYcA
 P5Agynib/O5LXTBgZCOSkTrRYBE2+5bq3Zp3iQe7gkLrpbRjHJLulwBpFW3rlVQO
 5IWxMoFC1eW+PE9k+V0hRdTFXMfVxvvHam3g77XVGb4lm/thwHkQ2RYa7z1V4zCP
 hbj/gVdZA7pzXQZfLnOU6illaVCBjYeajEle5sagLlN+DANFSm3G/BdYWPTtxKxq
 MLiMEdaZJkBG/NG3zocyuCsWeF+oLyh8fB4IQUjORq7x8v749DgprQjFUy3YMrB5
 Ph5CQXyVyyiZSXmfbdINMpQPxdPaVm2rtBD9ol7p+mXtc6UOS3uzbFQ75XXiG401
 crqDpc74iXYpxmwtSs9FwD8TFqh5n8NFGEN8U3MOkhcNQ3zdjnlbVRMG1aqFIUne
 SbQeWC5Qg3MI7UruStq9n3l/3SL3KJSRRrT11ndO/4UoHT6PZfBKQ4eCD8XiHmPu
 /p0ahfnl8/UvMyTWVJhBvLt5G6+v8aumKJR/47jhrPnqLFCk4yUDbCdT5a5KSDjt
 ZauyfGlIQcORXKRbVw+DRgSQjeGLoQJMtOVqDXnKwS8j8cuhF2JebBCVTPHHjC72
 UTRYk5/tLjcZCLD7Vscpd4uRiuz69xJu/MCvwqUwSZ3TssuoW3Vl0/giLyajMxTU
 RLn0uLaFguDX+DoSNIAy
 =icAj
 -----END PGP SIGNATURE-----

Merge remote-tracking branch 'remotes/afaerber/tags/ppc-for-2.0' into staging

PowerPC queue for 2.0-rc0

* QEMUMachine include cleanup
* SLOF update
* XICS reset fix
* sPAPR PCI host bridge refactorings

# gpg: Signature made Thu 13 Mar 2014 02:50:51 GMT using RSA key ID 3E7E013F
# gpg: Good signature from "Andreas Färber <afaerber@suse.de>"
# gpg:                 aka "Andreas Färber <afaerber@suse.com>"

* remotes/afaerber/tags/ppc-for-2.0:
  spapr-pci: Convert fprintf() to error_report()
  spapr-pci: Convert to QOM realize
  xics-kvm: Fix reset function
  pseries: Update SLOF firmware image to qemu-slof-20140304
  Move QEMUMachine typedef to qemu/typedefs.h
  Revert "KVM: Split QEMUMachine typedef into separate header"

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2014-03-13 13:19:46 +00:00
Alexey Kardashevskiy
8f3babb74d pseries: Update SLOF firmware image to qemu-slof-20140304
The changelog is:
  > version: update to 20140304
  > Introduce dummy console device
  > vio-vscsi: Fix CRQ allocation alignment
  > version: update to 20140204
  > virtio-9p: disable unused structure
  > Make "boot net:dhcp" boot from IPv4 only
  > Fix virtio device shutdown
  > Change shutdown method name for virtio-scsi
  > Add support for 64bit LE ABI v1 and v2 support
  > Change representation of string environment variable
  > cas: return error when unknown node found
  > version: update
  > Reset obp-tftp arguments before parsing
  > Enable seamless netboot on IPv6 network
  > Fix shutdown for virtio devices
  > Fix zero checksum in UDP header
  > Handle router advertisement message properly
  > [oex]hci_exit: Check before freeing/unmapping memory
  > Work around missing sc 1 traps on pHyp
  > fix print_version() to return where it came from
  > usb-xhci: memory freeing and using returns as bool uniformly
  > Output banner and initial display output in VNC window
  > use VERSION file to generate FW version
  > cas: remove warning
  > Add support for loading little endian ELF binaries.
  > Add bswap_{16,32,64}p
  > dhcpv6 and other minor net-snk fixes
  > Fix missing drop in virtio-fs setup-alias
  > Find next available alias name
  > SLOF does not exit if given 1KB disk
  > boot: enable support for bootindex
  > pci-properties: add properties to enable hotplug for spapr
  > e1000: remember node handle
  > Increase quiesce tokens array size
  > virtio: timeout after 5sec
  > Enable IPv6 support in dns
  > usb-ohci: fix warnings
  > Add ipv6 support in net-snk
  > ipv4: fix frame overwriting following arp_send_request
  > e1000: fix SLOF_dma_map_out arguments
  > Maintain single global packet buffer for tftp
  > Increase virtio-net receive queue size
  > Increase veth receive queue size
  > Fix dprintf macros at various points
  > usb-ohci: rewrite done_head processing code
  > boot: add net in default boot order
  > block 0 address in the allocator
  > scsi: make-media-alias fix
  > usb-xhci: add xhci host controller support
  > usb-xhci: add xhci support
  > Avoid veth read/write calls with zero length buffer
  > boot: include other aliases
  > usb-core: disable xhci

Cc: Andreas Färber <afaerber@suse.de>
Cc: Nikunj A Dadhania <nikunj@linux.vnet.ibm.com>
Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
2014-03-13 03:49:48 +01:00
Andreas Färber
21143b615a prep: Update ppc_rom.bin
Functionally, this is a revert of Jocelyn's r3309 /
55aa45ddde (Quickly hack PowerPC BIOS
able to boot on CDROM again.), for which we do not have the sources.

Therefore the sources used are v0.4.1 plus pc-bios/ohw.diff plus a
workaround turning IDE errors into warnings.

Signed-off-by: Andreas Färber <andreas.faerber@web.de>
2014-03-12 17:26:40 +01:00
Andreas Färber
fd3ece2533 Add OpenHack'Ware submodule
This replaces the ohw.diff file on top of v0.4.1.

Signed-off-by: Andreas Färber <andreas.faerber@web.de>
2014-03-12 17:26:32 +01:00
Mark Cave-Ayland
5264917bcf Update OpenBIOS images
Update OpenBIOS images to SVN r1280 built from submodule.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
2014-03-10 08:48:31 +00:00
Peter Maydell
4db0014521 Update seabios to 1.7.4
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.22 (GNU/Linux)
 
 iQIcBAABAgAGBQJS76rkAAoJEEy22O7T6HE4vgAP/itjSXiG9jLiUAa7VBtvmWET
 rUONruU9PXE/0UnKsg/jZwYiCRCPjIZMV98gCbLJ2ol4+1trfFlEoLwPRfnEVcSl
 hA4Qn/EFe+2MbWAMJySEFZcuyMmQsLe4JUJSf7kB0kaYrRmfchsLtDLtRMufjiet
 KILQVx63jzKO5iUej5ITdcDxPRjnRY0j917XSsZzQUPOE1OtpCwR7JVF3J/HqqvR
 ZXB5J8iedFDPV9w6my4jeIqJIYinW1rTTlT9BtImikYyJ6jcluJnkM8qihiLgQ2f
 KdH8OdT5nJ+Z/dpPNWkcM89uuP+gEQR+/sZpH+TPhyBb2C4kAdqtB9Vi10QkpoRv
 NJ8xk02Nr0JlEvs1fC1SVzNoIM/7HTazDDzTyLg+3MMF329jKcWQ2pqfyTqvvcC7
 Dp8S+ZSohGIJDvGXNtgHM+rDw0W97wkCC3AOWw3cOV8LMoE9qwLQ0JvNknUkDPic
 ufy10kPiF5Xujwq+RhNP7m0c061CtdWuSkxkGD58c6mkqKd2Qp/Xr9F+iL+MBDW3
 zfQfulxXO3ux3WdmcPauXMQ2zu4nEHzBWkn5H2eiVipBRRGSg7jaelhUY1X/VtoI
 f437B+XW3XMCni7gnHTjF/IXxwkQa+mcAdRVRiG+VMuI+9ObTgUhBcUXF/iLAXeT
 nR/0lSwI+ljh5wuZ9p1Z
 =sM1G
 -----END PGP SIGNATURE-----

Merge remote-tracking branch 'remotes/kraxel/tags/pull-roms-1' into staging

Update seabios to 1.7.4

# gpg: Signature made Mon 03 Feb 2014 14:42:44 GMT using RSA key ID D3E87138
# gpg: Good signature from "Gerd Hoffmann (work) <kraxel@redhat.com>"
# gpg:                 aka "Gerd Hoffmann <gerd@kraxel.org>"
# gpg:                 aka "Gerd Hoffmann (private) <kraxel@gmail.com>"

* remotes/kraxel/tags/pull-roms-1:
  Update seabios binaries to 1.7.4
  Update seabios submodule to 1.7.4
  roms: remove explicit MAKEFLAGS from recursive make invocations

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2014-02-07 16:42:13 +00:00
Gerd Hoffmann
cd4eb4c5ac Update seabios submodule to 1.7.4
Not that many changes as we already have a git snapshot pretty close
to final 1.7.4 in the tree.  Most notably change is the vgabios change
which fixes the windows guest regression.

Full git shortlog:

Gerd Hoffmann (2):
      run qemu_cfg_e820 only for CONFIG_QEMU=y
      change boot order load log level

Kevin O'Connor (10):
      Minor - move sgdt/lgdt macros from stacks.c to x86.h.
      Separate out sec32init sections even when not doing code relocation.
      floppy: Fix incorrect LBA to CHS translation.
      floppy: Fix accesses to DOR register.
      vgabios: Avoid memory references via %esp register in vgabios.
      Small improvements to irqentry_extrastack assembler.
      floppy: Encode command and flags into single value in floppy pio code.
      On disk format request, verify cylinders and pass to driver.
      floppy: Implement cylinder seeking when accessing a different cylinder.
      coreboot: Make sure to print the SeaBIOS version in cbmem debug output.

Kyösti Mälkki (1):
      Fix CBMEM console overflow
2014-02-03 15:37:17 +01:00
Bruce Rogers
50df8d5db0 roms: remove explicit MAKEFLAGS from recursive make invocations
When using $(MAKE) within a makefile, we shouldn't be explicitly
including $(MAKEFLAGS) on the command-line. It causes problems
when that makefile is recursively invoked. When the roms/Makefile
is invoked as in make -C roms bios a spurious 'w' appears on the
sub-make invocation, due to the erroneous $(MAKEFLAGS) inclusion.

Signed-off-by: Bruce Rogers <brogers@suse.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2014-02-03 15:37:17 +01:00
Mark Cave-Ayland
fbb9c590ca Update OpenBIOS images
Update OpenBIOS images to SVN r1246 built from submodule.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
2014-01-12 07:52:44 +00:00
Gerd Hoffmann
07403a5a03 roms: enable seabios cross builds
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2013-12-06 08:55:42 +01:00
Gerd Hoffmann
94e68caaa0 roms: build two seabios binaries
Adding xhci support to seabios made it jump over the 128k line.
Changing the bios size breaks migration, so we have to keep a
128k seabios binary for old machine types.  New machine types can
use a large 256k bios which should be big enougth for a while.

This patch updates the seabios build process to build seabios twice,
once full featured and once with xen and xhci turned off so the
resulting binary is small enougth to fit into 128k.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2013-12-06 08:55:42 +01:00
Gerd Hoffmann
11938d7863 roms: update seabios submodule to 31b8b4eea9d9ad58a73b22a6060d3ac1c419c26d
Updates seabios to git master snapshot.  seabios is in freeze now,
update to final 1.7.4 will follow later this year.

Summary of major changes:

 * Support for acpi table loading from qemu.
 * Support for the xhci host adapter.
 * Support for the pvscsi HBA.
 * Various minor bug fixes.
 * Lots of cleanups.

Full shortlog since 1.7.3 (note that some of these changes have been
cherry-picked into 1.7.3-stable):

Evgeny Budilovsky (1):
      Add pvscsi boot support

Gerd Hoffmann (27):
      coreboot: add cbmem console support
      Add CONFIG_DEBUG_COREBOOT config option
      apm: fix shutdown
      ahci: add missing check for allocation failure
      bochsvga: fallback to stdvga if dispi interface isn't present
      Add generic qemu detection
      Drop coreboot qemu detection
      Add qemu detection to csm
      uas: add (temporary) superspeed stopgap
      usb: add usb_update_pipe()
      usb: add xhci support
      fix buildversion.sh
      build: simplify cross builds
      build: create output dirs in do-kconfig
      build: explicitly set ROM size
      Add qemu_cfg_e820 function.
      Add support for etc/e820 fw_cfg file
      pci: don't reorder entries when moving to 64bit list
      pci: don't map usb host adapters above 4G
      pci: align 64bit pci regions to 1G
      pci: tweak + comment minimum allocations
      pci: log pci windows
      pci: map 64-bit BARs at location provided by emulator
      ahci: zap real mode macros
      ahci: remote some parentheses
      ahci: alloc structs in high memory
      add hw/serialio.c to SRC32SEG

Jonathan A. Kollasch (1):
      vgahooks: add SM720 VGA BIOS hooks for WIN Enterprises MB-60470

Kevin O'Connor (80):
      Fix USB EHCI detection that was broken in hlist conversion of PCIDevices.
      Update README to include info on VARLOW variables.
      PIC code cleanups.
      Move internal timer code from clock.c to a new file timer.c.
      Don't pass khz to pmtimer_setup - it's always PM_TIMER_FREQUENCY.
      Add helper functions to convert timer irqs to milliseconds.
      Improve accuracy of internal timers.
      Rename cpu_khz to TimerKHz.
      Shift CPU TSC down to reduce need for 64bit variables.
      Rename check_timer() function (and similar) to irqtimer_check().
      Rename check_tsc() (and similar) to timer_check() and use u32.
      Separate out timer setup code.
      Unify pmtimer_read() and pittimer_read() code.
      Default unused UMB areas to be read-only.
      Add missing mathcp_setup() call to CSM code.
      Fix bug in CBFS file walking with compressed files.
      Support custom boot menu prompt and custom boot menu key.
      Minor cleanups to smm assembler.
      Add config option to support memory allocations in 9-segment.
      Minor - no need to declare MaxCountCPUs as VARFSEG.
      Minor - simplify rom_reserve().
      Rename tools/ directory to scripts/ directory.
      Update kconfig to latest version.
      build: Don't use vpath makefile directive.
      Move code centered around specific hardware devices to src/hw/
      Move code cenetered around firmware initialization to src/fw/
      build: Reorder makefile source list to group like files together.
      README: Update readme to note scripts/ directory rename and vgasrc/ directory.
      vgabios: Rename stdvga_bpp_factor to stdvga_vram_ratio.
      vgabios: Limit the range of the VBE number of "pages" parameter.
      readme: Minor - fix typo in readme.
      Split x86 specific functions out of util.c/h to new files x86.c/h.
      Move keyboard calling code from util.c to boot.c.
      Rename util.c to string.c and introduce string.h.
      build: Perform compile checking on vgasrc code.
      Move stacks.c definitions from util.h to new file stacks.h.
      Move romfile definitions from util.h to new file romfile.h.
      Move malloc code from pmm.c to new files malloc.c and malloc.h.
      Move function definitions for output.c from util.h to new file output.h.
      Move definition of struct segoff_s from farptr.h to types.h.
      build: Fix import of gcc dependency files.
      Move pirtable definitions from hw/pci.h to std/pirtable.h and util.h.
      Move optionroms.h to std/optionrom.h and util.h.
      Move vbe.h to std/vbe.h.
      Move fw/LegacyBios.h to std/LegacyBios.h and remove csm.h.
      Move fw/smbios.h to std/smbios.h.
      Move fw/mptable.h to std/mptable.h.
      Move fw/acpi.h to std/acpi.h.
      Move pnpbios definition to new file std/pnpbios.h.
      Move pmm definitions to new file std/pmm.h.
      Split disk.h into block.h and std/disk.h.
      Move standard bda type info from biosvar.h to std/bda.h.
      Merge bmp.h, boot.h, jpeg.h, and post.h into util.h.
      Sort the sections of util.h.
      Move PIT setup from clock.c to hw/timer.c.
      Rename hw/cmos.h to hw/rtc.h and copy RTC code from clock.c to hw/rtc.c.
      Move dma code to new file hw/dma.c.
      Remove ioport.h; disperse its contents to other header files.
      Minor - update file comments in src/malloc.c.
      Rename fields of 'struct chs_s' and use in floppy lba2chs().
      Rearrange stack_hop_back() call in wait_irq, check_irqs, and _farcall16.
      Minor - move call16 assembler in romlayout.S.
      Make __call16 use C calling convention and support two passed parameters.
      Update _farcall16() to pass segment of callregs explicitly.
      Support call16() calls after entering 32bit mode from call32().
      Run ahci code entirely in 32bit mode.
      Build different final files for QEMU, coreboot, and CSM.
      Convert op->drive_g from a 16bit pointer to a 32 bit "GLOBALFLAT" pointer.
      megasas: Don't attempt to access 'struct pci_device' at runtime.
      Minor - eliminate the SET_GLOBAL macro.
      Move low-level hardware writing from output.c to new file hw/serialio.c.
      vgabios: Load the DAC palette in "packed" modes on Cirrus and BochsVGA.
      vgabios: Support custom fonts in vga framebuffer text writing.
      vgabios: Add bochsvga "HDTV" resolutions.
      vgabios: Avoid possible divide by zero in bochsvga_set_displaystart.
      vgabios: Work around lack of support for "calll" in x86emu emulation.
      Minor - update file comment on bootsplash.c.
      vgabios: Support allocating an extra stack for vgabios calls and default on.
      vgabios: Move initialization code to new file vgainit.c.
      floppy: Minor - add warnings if timeouts occur.

Michael S. Tsirkin (6):
      acpi: sync FADT flags from PIIX4 to Q35
      acpi_extract.py: document DEVICE directives
      biostables: support looking up RSDP
      romfile_loader: utility to patch in-memory ROM files
      acpi: load and link tables through romfile loader
      acpi: strip compiler info in built-in DSDT if any

Paul Menzel (2):
      ACPI DSDT: Make control method `IQCR` serialized
      hw/usb-xhci.c: Code refactoring to not override initializers in `speed_from_xhci[16]`

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2013-12-06 08:24:52 +01:00
Alexey Kardashevskiy
9d0e1dac10 pseries: Update SLOF firmware image
SLOF git commit is e2e8ac901e617573ea383f9cffd136146d0675a4

The main changes are:
* fixed bug with not passing arguments from -append
* client-architecture-support hypercall
* netboot
* USB stack fixes

The full list of changes:
  > client-architecture-support: fix wrong version read
  > client-architecture-support: fix redundant stack drop
  > Update device tree returned by CAS hypercall
  > fdt: introduce fdt-init
  > Add ibm,client-architecture-support method
  > Kernel parameter passed from qemu commandline ignored
  > Allow more than one client to open net devices simultaneously
  > ci: add missing close in else condition
  > Add GPT support
  > pci: fix interrupt-map for bridges
  > usb-ohci: preserve the toggleCarry bit in ED
  > usb-ohci: done_head processing fixes
  > usb-ohci: update init and rationalize timings
  > usb-msc: handle stall and other fixes
  > scsi: make probe more error resilient
  > usb-core: Add CLEAR FEATURE api
  > Implement range allocator
  > Remove bcm57xx network driver as module
  > Remove e1000 network driver as module
  > Remove virtio-net network driver as module
  > Remove veth network driver as module
  > Add missing close-dev in ping
  > Remove lodable network driver modules and related functions
  > Add bcm57xx network driver in libbcm
  > Add e1000 network driver in libe1k
  > Add virtio-net driver in libvirtio
  > Add veth driver in libveth
  > Get MAC address for client interface module
  > Add SLOF usleep wrapper
  > Add SLOF pci wrapper functions
  > Fix 'canon' client interface

Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
Signed-off-by: Alexander Graf <agraf@suse.de>
2013-11-08 04:33:19 +01:00
Alexey Kardashevskiy
09b04845a7 pseries: Update SLOF firmware image
This has reworked USB OHCI and adds support of USB EHCI,
VIRTIO-SCSI and various fixes (IBM VSCSI, VGA and more).

The full list of fixes is:
*  usb-ohci: Convert td-phys every time to td-virt
*  usb-storage: Fix cbwflags field
*  Add -fno-strict-aliasing in global CFLAGS
*  usb: fix various issues found with js2x
*  Move hex64-{decode,encode}-unit to node.fs
*  usb: Use separate in-memory endian swap
*  usb-ohci: collect TDs from done list
*  js2x: more fixes
*  js2x: Fix build of takeover image
*  js2x: use new usb stack
*  usb-ohci: Use proper memory barriers always
*  usb: Fix a couple of warnings
*  Fix $cat-instance-unit
*  Cache phandle of /chosen
*  Use root.fs on qemu as well
*  usb-ehci: Add ehci handshake
*  usb: add mb for write accessors
*  usb-ohci: add missing memory barriers
*  usb-ohci: suspend the controller in exit code path
*  usb-ohci: Add a reset when closing the OHCI
*  usb: Use proper accessors for MMIO and separate in-memory endian swap
*  Use a global definition of sync() and mb()
*  net-snk: Remove exception handling
*  usb: unmap buffers
*  slof: call quiesce on closing of stdin
*  usb-kbd: accept "s" to drop to OF prompt
*  USB storage driver
*  usb-ohci: add Bulk transfer support
*  usb-ehci: Add bulk support
*  usb-core: add usb bulk support
*  USB generic hub device driver
*  usb-ehci: setup new device
*  usb-ehci: Check ehci ports
*  usb-ehci: initialize controller
*  USB keyboard driver
*  usb-core: setup new device
*  usb-core: create dev pool allocation
*  usb-ohci: implement ohci send control
*  usb-core: usb send control
*  usb-core: implement usb_{get,put}_pipe routines
*  usb-ohci: allocate pipe pool
*  usb-ohci: reset, init and check-ports
*  Add standard header stdbool.h
*  usb-slof: forth support routines for C
*  usb-ehci: Add USB EHCI skeleton
*  usb-core: Add register accessor functions
*  Use __builtin_bswap routines for endianness swapping
*  usb-core: hcd registration and query routines
*  usb-core: adding generic dev-hci.fs
*  usb-core: registration and makefiles
*  Add new USB code
*  Remove old usb code
*  vga: fix hcall-invert-screen and hcall-blink-screen
*  Enumerate disk/cdrom aliases for multiple disks or cdroms
*  scsi: unify scsi probing code
*  vscsi: generalizing probe code
*  virtio-scsi: iterate through targets
*  scsi: unify and use make-disk-alias
*  nvram: remove unnecessary prints
*  Add hack to client interface finddevice of "/memory"
*  scsi: Fix cdrom boot crash when no medium present
*  Look for /memory@0, not just /memory
*  Fix instance>qname crashing when displaying instance arguments
*  Fix js2x build
*  scsi-disk: Bound check read-blocks
*  Fix off by one error in scsi-disk get-capacity
*  scsi: fix report-luns handling
*  SLOF: virtio-scsi block driver code
*  scsi: Move bits of vio-vscsi.fs to a common helpers file
*  scsi: Move scsi-disk.fs to a generic place
*  SLOF: virtio-scsi helper routines
*  SLOF: virtio-scsi - add pci device file
*  iso9660: Don't constantly reallocate the read buffer
*  vscsi: Sanitize interface between scsi-disk.fs and vio-vscsi.fs
*  vio-vscsi: Rework vio-vscsi support
*  virtio: Add a virtio-set-qaddr helper
*  disk-label: Allocate 4096 bytes for 4k block devices
*  disk-label: Increase the max size of the PReP boot partition
*  Make load-base a real environment variable
*  vio-vscsi: Switch to using a wildcard "disk" node and make scsi-disk generic
*  Fix disk-label package to use proper instance path
*  Increase size of catpad
*  Fix instance>path to contain unit address for wildcard nodes
*  Fix handling of wildcard nodes in open-dev
*  vio-vscsi: Get CRQ on open and release on close

Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
Signed-off-by: Alexander Graf <agraf@suse.de>
2013-10-25 23:25:45 +02:00
Mark Cave-Ayland
ad98acb9b1 Update OpenBIOS images
Update OpenBIOS images to SVN r1229 built from submodule.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
2013-10-03 00:04:20 +01:00
Anthony Liguori
a684f3cf9b Merge remote-tracking branch 'kraxel/seabios-1.7.3.2' into staging
# By Gerd Hoffmann
# Via Gerd Hoffmann
* kraxel/seabios-1.7.3.2:
  update seabios from 1.7.2.2 to 1.7.3.2

Message-id: 1380533055-24960-1-git-send-email-kraxel@redhat.com
2013-09-30 17:15:27 -05:00
Gerd Hoffmann
1cf9412b3b update seabios from 1.7.2.2 to 1.7.3.2
'git shortlog d4f7d90f..ece025f5' says:

Alex Williamson (4):
      seabios q35: Enable all PIRQn IRQs at startup
      seabios q35: Add new PCI slot to irq routing function
      seabios: Add a dummy PCI slot to irq mapping function
      pciinit: Enable default VGA device

Asias He (2):
      virtio-scsi: Set _DRIVER_OK flag before scsi target scanning
      virtio-scsi: Pack struct virtio_scsi_{req_cmd,resp_cmd}

Avik Sil (1):
      USB-EHCI: Fix null pointer assignment

Christian Gmeiner (5):
      geodevga: fix errors in geode_fp_* functions
      geodevga: move framebuffer setup
      geodevga: move output setup to own function
      geodevga: add debug to msr functions
      geodevga: fix wrong define name

David Woodhouse (26):
      Add macros for pushing and popping struct bregs
      Clean up #if in pirtable.c. CONFIG_PIRTABLE can't be set if CONFIG_COREBOOT is
      post: Export functions which will be used individually by CSM
      Export callrom() for CSM to use
      Export copy_smbios() from biostables.c
      Import LegacyBios.h from OVMF
      Complete and checksum EFI_COMPATIBILITY16_TABLE at build time
      Add pic_save_mask() and pic_restore_mask() functions
      Add CSM support
      Add README.CSM
      Add find_pmtimer() function
      Enable PMTIMER for CSM build
      Fix rom_reserve()/rom_confirm() for CSM oprom dispatch
      Don't calibrate TSC if PMTIMER is already set up
      Move find_pmtimer() to ACPI table setup where it logically belongs
      Use find_pmtimer() after copying Xen ACPI tables
      Use find_pmtimer() after copying coreboot ACPI tables
      Unify return path for CSM to go via csm_return()
      Make CONFIG_OPTIONROMS_DEPLOYED depend on CONFIG_QEMU
      Implement !CONFIG_OPTIONROMS support for CSM
      Implement !CONFIG_BOOT for CSM
      Enable VGA output when settings bochs-specific mode
      Disable CONFIG_THREAD_OPTIONROMS for CSM build
      Fix return type of le64_to_cpu() and be64_to_cpu()
      Rename find_pmtimer() to find_acpi_features()
      Add acpi_reboot() reset method using RESET_REG

Gerd Hoffmann (6):
      config: allow DEBUG_IO for !QEMU
      coreboot: add qemu detection
      tweak coreboot qemu detection
      apm: fix shutdown
      ahci: add missing check for allocation failure
      fix buildversion.sh

Hu Tao (1):
      Add pvpanic device driver

Kevin O'Connor (101):
      pmm: Use 'struct segoff_s' in pmm header.
      Minor: Update README - variable changes are now reset on soft-reboots.
      Normalize POST initialization function name suffixes.
      POST: Reorganize post init functions for better grouping and reusability.
      Fix rebase error in commit 8a0a972f that broke LOWMEM variables.
      Support calling a function other than maininit() from reloc_preinit().
      Ensure exported symbols are visible in the final link
      POST: Move QEMU specific ramsize and BIOS table setup to paravirt.c.
      POST: Reorganize post entry and "preinit" functions.
      POST: Move cpu caching and dma setup to platform_hardware_setup().
      Undo incorrect assumptions about Xen in commit 6ca0460f.
      Determine century during init and store in VARLOW mem during runtime.
      No need to check both CONFIG_THREADS and CONFIG_THREAD_OPTIONROMS.
      Add runningOnQEMU() and runningOnXen() for runtime platform detection.
      Consistently use CONFIG_COREBOOT, CONFIG_QEMU, and runningOnXen().
      Convert kvm_para_available() to runningOnKVM().
      Minor - move definitions to paravirt.c from paravirt.h.
      Only perform SMP setup on QEMU.
      Start device_hardware_setup in mainint even with CONFIG_THREAD_OPTIONROMS.
      The mathcp setup touches the PIC and thus move to the "setup" phase.
      Update tools/acpi_extract.py to handle iasl 20130117 release.
      Support skipping content when reading from QEMU fw_cfg romfile entries.
      Convert fw_cfg ACPI entries into romfile entries.
      Convert fw_cfg SMBIOS entries into romfile entries.
      Convert basic integer fw_cfg entries into romfile entries.
      Convert fw_cfg NUMA entries into a romfile entry.
      Process fw_cfg e820 entries during the fw_cfg setup stage.
      Integrate qemu_cfg_preinit() into qemu_romfile_init().
      Group QEMU platform setup together and move to paravirt.c.
      vgabios: Bochs/QEMU vgabios support should depend on CONFIG_QEMU.
      Warn on unaligned PCI ROM structure in option roms.
      Fix Makefile - don't reference "out/" directly, instead use "$(OUT)".
      build: Don't require $(OUT) to be a sub-directory of the main directory.
      Rename rom_get_top() to rom_get_max().
      Report on f-segment UMB ram also.
      Clarify build generated "zone low" values.
      Verify CC is valid during build tests.
      Disable handle_post() on CSM builds.
      Remove unnecessary "export" declarations from assembler functions.
      Minor assembler enhancements to __csm_return.
      Introduce VARFSEG for variables that will reside in the f-segment.
      Convert VAR16VISIBLE, VAR16EXPORT, and VAR32VISIBLE to VARFSEG.
      Don't relocate "varlow" variable references at runtime.
      Move malloc's ZoneFSeg and ZoneLow setup to malloc_init.
      Calculate "RamSize" needed by 16bit interface dynamically.
      Eliminate separate BiosTableSpace[] space for f-segment allocations.
      Use CONFIG_ prefix for Kconfig variables; use BUILD_ for others.
      Try to detect an unsuccessful hard-reboot to prevent soft-reboot loops.
      Minor - fix confusing final_sec32low_start name in layoutrom.py.
      Minor - introduce numeric defines for the IVT offset of hw irqs.
      Separate out 16bit PCI-BIOS entry point from regular int 0x1a entry point.
      Support using the "extra stack" for all 16bit irq entry points.
      Minor - improve comments and grouping of handle_08().
      floppy: Introduce 'struct floppy_pio_s' for floppy PIO ops.
      floppy: Cleanup floppy irq wait handling.
      floppy: Clean up Check Interrupt Status code.
      floppy: Move recalibration and results parsing to floppy_cmd().
      floppy: Improve floppy_pio() error checking.
      floppy: Implement media format sensing.
      floppy: Actually do controller reset in floppy_reset().
      Minor - note that passing QEMU config via cmos is deprecated.
      Cache boot-fail-wait to avoid romfile access after POST.
      Rename src/ssdt-susp.dsl to src/ssdt-misc.dsl.
      acpi: Eliminate BDAT parameter passing to DSDT code.
      Add additional dependency checks to Makefile.
      Don't use __FILE__ in virtio-ring.c.
      shadow: Don't use PCIDevices list in make_bios_readonly().
      smm: Don't use PCIDevices list in smm_setup().
      Add VARVERIFY32INIT attribute for variables only available during "init".
      Use VARVERIFY32INIT on global variables that point to "tmp" memory.
      vgabios: Fix stdvga_perform_gray_scale_summing().
      vgabios: Fix cirrus memory clear on mode switch.
      Minor - add missing newline to floppy debug statement.
      Fix bug in NUMA node setup - don't create SRAT if NUMA not present.
      Update README - copy *.aml files for QEMU.
      Add dependencies to vgafixup.py and buildversion.sh scripts.
      Set ZF prior to keyboard read call in check_for_keystroke().
      mptable: Don't describe pci-to-pci bridges.
      mptable: Use same PCI irqs as ACPI code.
      Cleanup QEMU_CFG_NUMA fw_cfg processing - split into two romfile entries.
      Use container_of on romfile entries.
      acpi: Move ACPI table definitions from acpi.c to acpi.h.
      acpi: Remove dead code with descriptions of bit flags.
      acpi: Use cpu_to_leXX() consistently.
      Minor - explicitly close files in buildrom.py.
      Minor - move "tracked memory alloc" code in pmm.c.
      Introduce and convert pmm code to use standard list helpers.
      Minor - relocate code in stacks.c to keep low-level thread code together.
      Introduce helper function have_threads() in stacks.c.
      Convert stacks.c to use standard list manipulation code.
      Convert boot.c to use standard list manipulation code.
      Convert pciinit.c to use standard list manipulation code.
      Convert PCIDevices list to use standard list manipultion code.
      Revert "Convert pciinit.c to use standard list manipulation code."
      Fix error in hlist_for_each_entry_safe macro.
      Convert pciinit.c to use standard list manipulation code.
      make qemu_cfg_init depend on QEMU_HARDWARE instead of QEMU
      Another fix for hlist_for_each_entry_safe.
      Minor - remove debugging dprintf added to pciinit.c.
      Fix USB EHCI detection that was broken in hlist conversion of PCIDevices.
      Fix bug in CBFS file walking with compressed files.

Laszlo Ersek (1):
      Enable VGA output when setting Cirrus-specific mode

Michael S. Tsirkin (2):
      acpi: make default DSDT optional
      acpi: sync FADT flags from PIIX4 to Q35

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2013-09-30 11:18:02 +02:00
Gerd Hoffmann
774e80ea1d roms: add support for building sgabios
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2013-09-30 09:44:36 +02:00
Gerd Hoffmann
95f7c6803c roms: enable parallel seabios / seavgabios builds
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2013-09-30 09:44:35 +02:00
Gerd Hoffmann
779fa9d706 roms: enable ipxe cross builds 2013-09-30 09:44:35 +02:00
Gerd Hoffmann
bcf06c15e7 roms: add rules to build slof
Add some logic to detect cross compilers.  Add support for "make slof",
which should JustWork[tm] if you are on a ppx64 machine or have a ppc64
cross compiler installed somewhere in your path.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2013-09-30 09:44:35 +02:00
Gerd Hoffmann
46ef7f33a2 roms: parallel ipxe builds
Enable parallel ipxe builds.  Reduce the recursive make calls.  Call
recursive make properly using $(MAKE) $(MAKEFLAGS).

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2013-09-30 09:44:35 +02:00
Gerd Hoffmann
5a7bd33385 roms: build lgplvgabios isavga variant
Add logic to also build+install the isavga vgabios variant.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2013-09-30 09:44:35 +02:00
Gerd Hoffmann
1ede4dd04b roms: enable parallel builds for 'make lgplvgabios'
Recurse into vgabios once, adjust dependencies, call make using
$(MAKE) $(MAKEFLAGS) so jobserver mode works.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2013-09-30 09:44:35 +02:00
Gerd Hoffmann
6887581728 roms: add 'make clean'
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2013-09-30 09:44:35 +02:00
Mark Cave-Ayland
9a949b94f6 Update OpenBIOS images
Update OpenBIOS images to SVN r1198 built from submodule.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
2013-07-30 23:11:07 +01:00
Peter Maydell
f6bda9cb99 spapr: Rename 'dprintf' to 'DPRINTF'
'dprintf' is the name of a POSIX standard function so we should not be
stealing it for our debug macro. Rename to 'DPRINTF' (in line with
a number of other source files.)

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Andreas Färber <afaerber@suse.de>
Reviewed-by: MORITA Kazutaka <morita.kazutaka@lab.ntt.co.jp>
Acked-by: Richard Henderson <rth@twiddle.net>
Acked-by: Kevin Wolf <kwolf@redhat.com>
Message-id: 1375100199-13934-5-git-send-email-peter.maydell@linaro.org
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2013-07-29 19:56:46 -05:00
Gerd Hoffmann
41b8280a1c seabios: update to 1.7.3
Changes summary (git shortlog rel-1.7.2.2..rel-1.7.3):

Alex Williamson (4):
      seabios q35: Enable all PIRQn IRQs at startup
      seabios q35: Add new PCI slot to irq routing function
      seabios: Add a dummy PCI slot to irq mapping function
      pciinit: Enable default VGA device

Asias He (2):
      virtio-scsi: Set _DRIVER_OK flag before scsi target scanning
      virtio-scsi: Pack struct virtio_scsi_{req_cmd,resp_cmd}

Avik Sil (1):
      USB-EHCI: Fix null pointer assignment

Christian Gmeiner (5):
      geodevga: fix errors in geode_fp_* functions
      geodevga: move framebuffer setup
      geodevga: move output setup to own function
      geodevga: add debug to msr functions
      geodevga: fix wrong define name

David Woodhouse (26):
      Add macros for pushing and popping struct bregs
      Clean up #if in pirtable.c. CONFIG_PIRTABLE can't be set if CONFIG_COREBOOT is
      post: Export functions which will be used individually by CSM
      Export callrom() for CSM to use
      Export copy_smbios() from biostables.c
      Import LegacyBios.h from OVMF
      Complete and checksum EFI_COMPATIBILITY16_TABLE at build time
      Add pic_save_mask() and pic_restore_mask() functions
      Add CSM support
      Add README.CSM
      Add find_pmtimer() function
      Enable PMTIMER for CSM build
      Fix rom_reserve()/rom_confirm() for CSM oprom dispatch
      Don't calibrate TSC if PMTIMER is already set up
      Move find_pmtimer() to ACPI table setup where it logically belongs
      Use find_pmtimer() after copying Xen ACPI tables
      Use find_pmtimer() after copying coreboot ACPI tables
      Unify return path for CSM to go via csm_return()
      Make CONFIG_OPTIONROMS_DEPLOYED depend on CONFIG_QEMU
      Implement !CONFIG_OPTIONROMS support for CSM
      Implement !CONFIG_BOOT for CSM
      Enable VGA output when settings bochs-specific mode
      Disable CONFIG_THREAD_OPTIONROMS for CSM build
      Fix return type of le64_to_cpu() and be64_to_cpu()
      Rename find_pmtimer() to find_acpi_features()
      Add acpi_reboot() reset method using RESET_REG

Gerd Hoffmann (3):
      config: allow DEBUG_IO for !QEMU
      coreboot: add qemu detection
      tweak coreboot qemu detection

Hu Tao (1):
      Add pvpanic device driver

Kevin O'Connor (99):
      pmm: Use 'struct segoff_s' in pmm header.
      Minor: Update README - variable changes are now reset on soft-reboots.
      Normalize POST initialization function name suffixes.
      POST: Reorganize post init functions for better grouping and reusability.
      Fix rebase error in commit 8a0a972f that broke LOWMEM variables.
      Support calling a function other than maininit() from reloc_preinit().
      Ensure exported symbols are visible in the final link
      POST: Move QEMU specific ramsize and BIOS table setup to paravirt.c.
      POST: Reorganize post entry and "preinit" functions.
      POST: Move cpu caching and dma setup to platform_hardware_setup().
      Undo incorrect assumptions about Xen in commit 6ca0460f.
      Determine century during init and store in VARLOW mem during runtime.
      No need to check both CONFIG_THREADS and CONFIG_THREAD_OPTIONROMS.
      Add runningOnQEMU() and runningOnXen() for runtime platform detection.
      Consistently use CONFIG_COREBOOT, CONFIG_QEMU, and runningOnXen().
      Convert kvm_para_available() to runningOnKVM().
      Minor - move definitions to paravirt.c from paravirt.h.
      Only perform SMP setup on QEMU.
      Start device_hardware_setup in mainint even with CONFIG_THREAD_OPTIONROMS.
      The mathcp setup touches the PIC and thus move to the "setup" phase.
      Update tools/acpi_extract.py to handle iasl 20130117 release.
      Support skipping content when reading from QEMU fw_cfg romfile entries.
      Convert fw_cfg ACPI entries into romfile entries.
      Convert fw_cfg SMBIOS entries into romfile entries.
      Convert basic integer fw_cfg entries into romfile entries.
      Convert fw_cfg NUMA entries into a romfile entry.
      Process fw_cfg e820 entries during the fw_cfg setup stage.
      Integrate qemu_cfg_preinit() into qemu_romfile_init().
      Group QEMU platform setup together and move to paravirt.c.
      vgabios: Bochs/QEMU vgabios support should depend on CONFIG_QEMU.
      Warn on unaligned PCI ROM structure in option roms.
      Fix Makefile - don't reference "out/" directly, instead use "$(OUT)".
      build: Don't require $(OUT) to be a sub-directory of the main directory.
      Rename rom_get_top() to rom_get_max().
      Report on f-segment UMB ram also.
      Clarify build generated "zone low" values.
      Verify CC is valid during build tests.
      Disable handle_post() on CSM builds.
      Remove unnecessary "export" declarations from assembler functions.
      Minor assembler enhancements to __csm_return.
      Introduce VARFSEG for variables that will reside in the f-segment.
      Convert VAR16VISIBLE, VAR16EXPORT, and VAR32VISIBLE to VARFSEG.
      Don't relocate "varlow" variable references at runtime.
      Move malloc's ZoneFSeg and ZoneLow setup to malloc_init.
      Calculate "RamSize" needed by 16bit interface dynamically.
      Eliminate separate BiosTableSpace[] space for f-segment allocations.
      Use CONFIG_ prefix for Kconfig variables; use BUILD_ for others.
      Try to detect an unsuccessful hard-reboot to prevent soft-reboot loops.
      Minor - fix confusing final_sec32low_start name in layoutrom.py.
      Minor - introduce numeric defines for the IVT offset of hw irqs.
      Separate out 16bit PCI-BIOS entry point from regular int 0x1a entry point.
      Support using the "extra stack" for all 16bit irq entry points.
      Minor - improve comments and grouping of handle_08().
      floppy: Introduce 'struct floppy_pio_s' for floppy PIO ops.
      floppy: Cleanup floppy irq wait handling.
      floppy: Clean up Check Interrupt Status code.
      floppy: Move recalibration and results parsing to floppy_cmd().
      floppy: Improve floppy_pio() error checking.
      floppy: Implement media format sensing.
      floppy: Actually do controller reset in floppy_reset().
      Minor - note that passing QEMU config via cmos is deprecated.
      Cache boot-fail-wait to avoid romfile access after POST.
      Rename src/ssdt-susp.dsl to src/ssdt-misc.dsl.
      acpi: Eliminate BDAT parameter passing to DSDT code.
      Add additional dependency checks to Makefile.
      Don't use __FILE__ in virtio-ring.c.
      shadow: Don't use PCIDevices list in make_bios_readonly().
      smm: Don't use PCIDevices list in smm_setup().
      Add VARVERIFY32INIT attribute for variables only available during "init".
      Use VARVERIFY32INIT on global variables that point to "tmp" memory.
      vgabios: Fix stdvga_perform_gray_scale_summing().
      vgabios: Fix cirrus memory clear on mode switch.
      Minor - add missing newline to floppy debug statement.
      Fix bug in NUMA node setup - don't create SRAT if NUMA not present.
      Update README - copy *.aml files for QEMU.
      Add dependencies to vgafixup.py and buildversion.sh scripts.
      Set ZF prior to keyboard read call in check_for_keystroke().
      mptable: Don't describe pci-to-pci bridges.
      mptable: Use same PCI irqs as ACPI code.
      Cleanup QEMU_CFG_NUMA fw_cfg processing - split into two romfile entries.
      Use container_of on romfile entries.
      acpi: Move ACPI table definitions from acpi.c to acpi.h.
      acpi: Remove dead code with descriptions of bit flags.
      acpi: Use cpu_to_leXX() consistently.
      Minor - explicitly close files in buildrom.py.
      Minor - move "tracked memory alloc" code in pmm.c.
      Introduce and convert pmm code to use standard list helpers.
      Minor - relocate code in stacks.c to keep low-level thread code together.
      Introduce helper function have_threads() in stacks.c.
      Convert stacks.c to use standard list manipulation code.
      Convert boot.c to use standard list manipulation code.
      Convert pciinit.c to use standard list manipulation code.
      Convert PCIDevices list to use standard list manipultion code.
      Revert "Convert pciinit.c to use standard list manipulation code."
      Fix error in hlist_for_each_entry_safe macro.
      Convert pciinit.c to use standard list manipulation code.
      make qemu_cfg_init depend on QEMU_HARDWARE instead of QEMU
      Another fix for hlist_for_each_entry_safe.
      Minor - remove debugging dprintf added to pciinit.c.

Laszlo Ersek (1):
      Enable VGA output when setting Cirrus-specific mode

Michael S. Tsirkin (1):
      acpi: make default DSDT optional

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2013-07-24 15:37:43 +02:00
Richard Henderson
b957a1b03c pc-bios: Update palcode-clipper
Update image to c87a92639b28ac42bc8f6c67443543b405dc479b,
incorporating changes for vm_time.

Signed-off-by: Richard Henderson <rth@twiddle.net>
2013-07-18 08:17:42 -07:00
Gerd Hoffmann
6683d7bc27 update seabios to release 1.7.2.2
git shortlog from 1.7.2.1

Asias He (2):
      virtio-scsi: Pack struct virtio_scsi_{req_cmd,resp_cmd}
      virtio-scsi: Set _DRIVER_OK flag before scsi target scanning

Kevin O'Connor (1):
      Cache boot-fail-wait to avoid romfile access after POST.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2013-05-28 12:19:02 +02:00
Gerd Hoffmann
19cd090e17 Revert "roms: switch oldnoconfig to olddefconfig"
This reverts commit a5519b42cf.

Breaks "make bios" in roms/ as the kconfig version in seabios doesn't
support olddefconfig.  Must have been be totally untested.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2013-05-28 12:12:07 +02:00
Alexey Kardashevskiy
4807ab4f36 pseries: Update SLOF firmware image
Minor SLOF fixes which are required for libvirtd to function properly:
* vio-vscsi: vscsi-report-luns can return 0
* vio-vscsi: added a proper lun parser
* SLOF: vio-vscsi: fixed bug with reported luns

Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
Signed-off-by: Alexander Graf <agraf@suse.de>
2013-05-06 17:22:48 +02:00
Blue Swirl
467b34689d Update OpenBIOS images
Update OpenBIOS images to OpenBIOS 1.1 release (SVN r1136) built from
submodule.

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2013-05-05 09:53:22 +00:00
Anthony Liguori
404e7a4f4a virtio,pci,qom
Work by Alex to support VGA assignment,
 pci and virtio fixes by Stefan, Jason and myself, and a
 new qmp event for hotplug support by myself.
 
 Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.13 (GNU/Linux)
 
 iQEcBAABAgAGBQJRUfDAAAoJECgfDbjSjVRp5wwH/RiNzEuC0SNuMArXh2LS+qjn
 EavcSRTas5800Rl8bW2iYwJV38WhyW7jKs3JxbL5iK6XLeZvr7mureMRpsT6N5cR
 WPqoZBw2jIxcHmYZODHTGd9SrAmF2LpfKypN3a86P5P4sQvV/dEusPQx7ZNyi5I5
 kdhqNyP6Q6scAUbJVrNUbcOy8euLUtpEO2VQju/gikz2KLsQj6Hyxt9vKV2ZquYU
 B7pKvYt5UZhNPqhfBmRptW+U0CMYUPiZBZkZsTEPUibIFHQqGkMD/KtthFFDZc/U
 hjxttuETzjACR3KKgegwLVYCFEF8WadPJark4LWb4D9TA1MIdgo2NabNpqYxqrA=
 =PY9F
 -----END PGP SIGNATURE-----

Merge remote-tracking branch 'mst/tags/for_anthony' into staging

virtio,pci,qom

Work by Alex to support VGA assignment,
pci and virtio fixes by Stefan, Jason and myself, and a
new qmp event for hotplug support by myself.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>

# gpg: Signature made Tue 26 Mar 2013 02:02:24 PM CDT using RSA key ID D28D5469
# gpg: Can't check signature: public key not found

# By Alex Williamson (13) and others
# Via Michael S. Tsirkin
* mst/tags/for_anthony: (23 commits)
  pcie: Add endpoint capability initialization wrapper
  roms: switch oldnoconfig to olddefconfig
  pcie: Mangle types to match topology
  pci: Create and use API to determine root buses
  pci: Create pci_bus_is_express helper
  pci: Q35, Root Ports, and Switches create PCI Express buses
  pci: Allow PCI bus creation interfaces to specify the type of bus
  pci: Move PCI and PCIE type defines
  pci: Create and register a new PCI Express TypeInfo
  exec: assert that RAMBlock size is non-zero
  pci: refuse empty ROM files
  pci_bridge: Remove duplicate IRQ swizzle function
  pci_bridge: Use a default map_irq function
  pci: Fix INTx routing notifier recursion
  pci_bridge: drop formatting from source
  pci_bridge: factor out common code
  pci: Teach PCI Bridges about VGA routing
  pci: Add PCI VGA helpers
  virtio-pci: guest notifier mask without non-irqfd
  virtio-net: remove layout assumptions for mq ctrl
  ...
2013-03-26 16:16:43 -05:00
Michael S. Tsirkin
a5519b42cf roms: switch oldnoconfig to olddefconfig
When a new option is added that qemu does not know
about, the prudent thing is to use the default not
force it to "no".

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2013-03-26 21:02:19 +02:00
Gerd Hoffmann
95ca557d5c ipxe: disable two second timeout
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2013-03-25 09:07:40 +01:00
Gerd Hoffmann
2f3f430d7c Add Makefile rules to build nic rom binaries with efi support
"make -C roms efirom" will build rom binaries with EFI support.
They are composed from three images: legacy bios, efi ia32
and efi x64.  So netbooting via SeaBIOS will continue to work
like it does today, and additionally we get network support
for EFI.  This target needs the EfiRom utility (shipped with
edk2) somewhere in the $PATH.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2013-03-18 10:21:56 +01:00
Gerd Hoffmann
c3d8dab329 Update ipxe submodule to latest master
Needed for efi support.

ipxe is grown a bit, so *not* recompiling the (non-efi) pxe roms
because that would make some pxe roms larger than 64k, which in
turn would be a guest-visible change because the rom bar size
grows from 64k to 128k.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2013-03-18 10:21:56 +01:00
Gerd Hoffmann
2397edd735 Add Makefile rules to build nic rom binaries
"make -C roms pxerom" will build the ipxe roms and update
the binaries in pc-bios/, i.e. it basically documents how
the build process of our current nic roms works.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2013-03-18 10:21:56 +01:00
Gerd Hoffmann
5c75fb1002 update seabios to 1.7.2.1
Alex Williamson (3):
      seabios q35: Enable all PIRQn IRQs at startup
      seabios q35: Add new PCI slot to irq routing function
      seabios: Add a dummy PCI slot to irq mapping function

Avik Sil (1):
      USB-EHCI: Fix null pointer assignment

Kevin O'Connor (4):
      Update tools/acpi_extract.py to handle iasl 20130117 release.
      Fix Makefile - don't reference "out/" directly, instead use "$(OUT)".
      build: Don't require $(OUT) to be a sub-directory of the main
directory.
      Verify CC is valid during build tests.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2013-02-28 09:19:00 +01:00
Alexander Graf
71652365c5 Revert "Update OpenBIOS images"
This reverts commit 10442558ab.

With the updated OpenBIOS image, -M g3beige fails to boot quik.

Signed-off-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Message-id: 1360796292-27078-1-git-send-email-agraf@suse.de
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2013-02-14 08:58:30 -06:00
Blue Swirl
10442558ab Update OpenBIOS images
Update OpenBIOS images to SVN r1097 built from submodule.

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2013-02-09 13:39:45 +00:00
Gerd Hoffmann
3588185b83 seabios: update to 1.7.2 release
Not that many changes as we have a pretty recent git snapshot in master
already:

Hannes Reinecke (1):
      megasas: Invert PCI device selection

Kevin O'Connor (2):
      Minor: Separate UUID display from F12 boot prompt.
      boot: Support "halt" in the boot order to prevent default boot attempts.

Laszlo Ersek (1):
      display_uuid(): fix incomplete check after the loop

Paolo Bonzini (1):
      vgabios: implement AX=1120H..1124H functions
2013-01-21 09:17:16 +01:00
Gerd Hoffmann
15faf946f7 Update seabios to a810e4e72a0d42c7bc04eda57382f8e019add901
git shortlog:

Kevin O'Connor (6):
      floppy: Minor - reduce handle_0e code size when CONFIG_FLOPPY is disabled.
      vga: Minor comment spelling fix.
      Don't recursively evaluate CFLAGS variables.
      Don't use gcc's -combine option.
      Add compile checking phase to build.
      acpi: Use prt_slot() macro to describe irq pins of first PCI device.

Laszlo Ersek (1):
      maininit(): print machine UUID under seabios version message

Paolo Bonzini (1):
      acpi: reintroduce LNKS

Paolo's patch fixes the FreeBSD boot failure.

Cc: qemu-stable@nongnu.org
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2012-12-20 08:19:40 +01:00
Blue Swirl
6d4e18925a Merge branch 'ppc-for-upstream' of git://repo.or.cz/qemu/agraf
* 'ppc-for-upstream' of git://repo.or.cz/qemu/agraf: (40 commits)
  pseries: Increase default NVRAM size
  target-ppc: Don't use hwaddr to represent hardware state
  PPC: e500: pci: Export slot2irq calculation
  PPC: E500plat: Make a lot of PCI slots available
  PPC: E500: Move PCI slot information into params
  PPC: E500: Generate dt pci irq map dynamically
  PPC: E500: PCI: Make IRQ calculation more generic
  PPC: E500: PCI: Make first slot qdev settable
  openpic: Accelerate pending irq search
  openpic: fix minor coding style issues
  MSI-X: Fix endianness
  PPC: e500: Declare pci bridge as bridge
  PPC: e500: Add MSI support
  openpic: add Shared MSI support
  openpic: make brr1 model specific
  openpic: convert to qdev
  openpic: remove irq_out
  openpic: rename openpic_t to OpenPICState
  openpic: convert simple reg operations to builtin bitops
  openpic: remove unused type variable
  ...
2012-12-15 09:05:26 +00:00
David Gibson
4fd50339c0 pseries: Update SLOF for NVRAM support
Now that we have implemented PAPR compatible NVRAM interfaces in qemu, this
updates the SLOF firmware to actually initialize and use the NVRAM as a
PAPR guest firmware is expected to do.

This SLOF update also includes an ugly but useful workaround for a bug in
the SLES11 installer which caused it to fail under KVM.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Alexander Graf <agraf@suse.de>
2012-12-14 13:12:54 +01:00
Gerd Hoffmann
ff1562908d seabios: update to e8a76b0f225bba5ba9d63ab227e0a37b3beb1059
This patch updates seabios to latest git master.  Changes:

  (1) q35 patches merged.
  (2) some acpi cleanups.
  (3) fixes irq 8 conflict.

(3) makes this a candidate for the stable branch

Cc: qemu-stable@nongnu.org
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2012-12-11 08:26:59 +01:00
Gerd Hoffmann
7527bd85be roms: also copy the dsdt when updating seabios.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2012-11-30 16:24:40 +01:00
Gerd Hoffmann
1f32989d73 seabios: update to b1c35f2b28cc0c94ebed8176ff61ac0e0b377798
This patch updates the seabios submodule to commit
b1c35f2b28cc0c94ebed8176ff61ac0e0b377798.

Most important change is that seabios sets the busmaster bit
in the pci config space for the lsi and esp scsi host adapters.
Since commit 1c380f9460 qemu
is strict here and disallows any dma access when the bit is
clear.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2012-11-30 16:02:58 +01:00
Aurelien Jarno
ce67604048 Update OpenBIOS PPC image
Update OpenBIOS PPC image to SVN r1063 to fix issues introduced by
commit 9e56edcf. The code change in this revision only affects PPC,
so OpenBIOS SPARC images are not updated.

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2012-08-28 20:38:39 +02:00
David Gibson
4504068723 pseries: Update SLOF firmware image
This updates SLOF to handle the necessary device tree properties for MSI
and MSI-X.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Alexander Graf <agraf@suse.de>
2012-08-15 19:43:16 +02:00
Benjamin Herrenschmidt
03332579b8 pseries: Update SLOF
This patch updates the SLOF version, introducing a number of fixes:
 * add proper graphics support
 * fix bugs with graphical terminal under grub2
 * fix bugs in handling of 64-bit unit addresses
 * fix VSCSI representation to be closer to PowerVM
 * fix bugs which caused grub2 to crash

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Alexander Graf <agraf@suse.de>
2012-08-15 19:43:15 +02:00
Gerd Hoffmann
01afdadc92 update seabios to latest master
Upstream seabios commit 5a023065388287e261ae9212452ff541f9fa9cd3

Major changes since 1.7.0:
 - Usual share of bugfixes and cleanups ;)
 - Support for 64bit PCI bars and mapping those above 4G.
 - Stack switching for real mode irq handlers to reduce
   seabios stack footprint.
 - Support for booting from lsi scsi hba.
 - Support for booting from usb attached scsi.
 - Support for non-linear apic ids.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2012-08-07 17:11:12 +02:00
Gerd Hoffmann
b456677607 Add vgabios build rules to roms/Makefile
This patch adds some glue to roms/Makefile to build vgabios binaries for
qemu.  It covers both the lgpl'ed vgabios implementation used by qemu
traditionally and the new seabios implementation.

The purpose of this patch is to (a) document the vgabios build process
and (b) simplify seavgabios testing for those who want to play with it.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2012-07-12 15:25:54 +02:00
Blue Swirl
6f12926142 pc-bios: Update OpenBIOS images
Update OpenBIOS images to r1060 built from submodule.

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2012-05-30 17:04:41 +00:00
Gerd Hoffmann
6b034aa138 seabios: update to 1.7.0
Update roms/seabios and pc-bios/bios.bin to the 1.7.0 release.
Most noticable new feature is virtio-scsi support.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2012-04-17 10:51:41 +02:00
Anthony Liguori
b8b3e75609 Merge remote-tracking branch 'qemu-kvm/memory/urgent' into staging
* qemu-kvm/memory/urgent: (42 commits)
  memory: check for watchpoints when getting code ram_addr
  exec: fix write tlb entry misused as iotlb
  Sparc: avoid AREG0 wrappers for memory access helpers
  Sparc: avoid AREG0 for memory access helpers
  TCG: add 5 arg helpers to def-helper.h
  softmmu templates: optionally pass CPUState to memory access functions
  i386: Remove REGPARM
  sparc64: implement PCI and ISA irqs
  sparc: reset CPU state on reset
  apb: use normal PCI device header for PBM device
  w64: Fix data type of next_tb and tcg_qemu_tb_exec
  softfloat: fix for C99
  vmstate: fix varrays with uint32_t indexes
  Fix large memory chunks allocation with tcg_malloc.
  hw/pxa2xx.c: Fix handling of pxa2xx_i2c variable offset within region
  hw/pxa2xx_lcd.c: drop target_phys_addr_t usage in device state
  hw/pxa2xx_dma.c: drop target_phys_addr_t usage in device state
  ARM: Remove unnecessary subpage workarounds
  malta: Fix display for LED array
  malta: Use symbolic hardware addresses
  ...
2012-03-19 08:51:50 -05:00
David Gibson
53f649e863 pseries: Update SLOF firmware image
This patch updates the SLOF firmware image used on the pseries
machine.  The new version adds support for Cirrus VGA and virtfs, as
well as including a number of bugfixes.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Alexander Graf <agraf@suse.de>
2012-03-15 13:12:11 +01:00
Gerd Hoffmann
2ae2bce744 Update seabios to 1.6.3.2
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2012-03-12 14:01:07 +01:00
Gerd Hoffmann
b1c0d031c4 Add seabios build scripts to roms/
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2012-03-12 13:56:58 +01:00
Benjamin Herrenschmidt
4d8d5467cd pseries: SLOF PCI flag day
Currently on the pseries machine the SLOF firmware is used normally,
but we bypass it when -kernel is specified.  Having these two

different boot paths can cause some confusion.

In particular at present we need to "probe" the (emulated) PCI bus and
produce device tree nodes for the PCI devices in qemu, for the -kernel
case.  In the SLOF case, it takes the device tree from qemu adds some
stuff to it then passes it on to the kernel.

It's been decided that a better approach is to always boot through
SLOF, even when using -kernel.  WIth this approach we can leave PCI
probing and device node creation to SLOF in all cases which removes a
bunch of code in qemu, and avoids iterating the PCI devices from the
machine specific init code which we're not supposed to do.

This patch changes qemu to always boot through SLOF, and not to create
PCI nodes.  Simultaneously it updates the included version of SLOF
(submodule and binary image) to one which supports (and requires) the
new approach.

The new SLOF version also includes a number of unrelated enhancements:
support for booting from virtio-pci devices and e1000, greatly
improved FCode support and many bugfixes.  It also makes SLOF ready to
be used even when specifying a kernel on the qemu command line.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Alexander Graf <agraf@suse.de>
2012-01-21 05:17:02 +01:00
Jan Kiszka
41bd360325 seabios: Update to release 1.6.3.1
User visible changes in seabios:
 - Probe HPET existence (fix for -no-hpet)
 - Probe PCI existence (fix for -machine isapc)
 - usb: fix boot paths

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
2012-01-15 17:54:23 +01:00
Paolo Bonzini
6329866f81 add sgabios blob and submodule
The rom was not added together with the sgabios device and is
not installed.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2011-11-07 10:57:36 -06:00
David Gibson
d20dfdd4d2 pseries: Update SLOF firmware image
This patch is a general update to the SLOF firmware image used on the
pseries machine.  This doesn't contain updates for specific features but
contains a number of bugfixes and enhancements in the main SLOF tree from
Thomas Huth.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Alexander Graf <agraf@suse.de>
2011-10-30 17:11:54 +01:00
David Gibson
bdcf9d6cd4 pseries: Update SLOF firmware image
This patch updates the SLOF submodule and precompiled image.  The new
SLOF versions contains two changes of note:

 * The previous SLOF has a bug in SCSI condition handling that was
   exposed by recent updates to qemu's SCSI emulation.  This update
   fixes the bug.

 * The previous SLOF has a bug in its addressing of SCSI devices,
   which can be exposed under certain conditions.  The new SLOF also
   fixes this.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Alexander Graf <agraf@suse.de>
2011-10-30 17:11:53 +01:00
Richard Henderson
753d11f223 target-alpha: Add custom PALcode image for CLIPPER emulation.
Signed-off-by: Richard Henderson <rth@twiddle.net>
2011-10-08 08:46:03 -07:00
Blue Swirl
0bce98df26 Add OpenBIOS as a submodule
Update OpenBIOS images to r1047 built from submodule.

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2011-09-28 20:39:34 +00:00
Gerd Hoffmann
d67c3f2cd9 seabios: update to master
commit 8e301472e324b6d6496d8b4ffc66863e99d7a505

user visible changes in seabios:
  * ahci is enabled by default (and thus in this build).
  * bootorder support for ahci.
  * two-pass pci allocator (orders bars by size for better packing).

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2011-08-10 17:34:13 +02:00
Alex Williamson
31a44434f7 Add ipxe submodule
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
2011-04-08 13:03:34 -06:00
David Gibson
a9f8ad8f2a Add SLOF-based partition firmware for pSeries machine, allowing more boot options
Currently, the emulated pSeries machine requires the use of the
-kernel parameter in order to explicitly load a guest kernel.  This
means booting from the virtual disk, cdrom or network is not possible.

This patch addresses this limitation by inserting a within-partition
firmware image (derived from the "SLOF" free Open Firmware project).
If -kernel is not specified, qemu will now load the SLOF image, which
has access to the qemu boot device list through the device tree, and
can boot from any of the usual virtual devices.

In order to support the new firmware, an extension to the emulated
machine/hypervisor is necessary.  Unlike Linux, which expects
multi-CPU entry to be handled kexec() style, the SLOF firmware expects
only one CPU to be active at entry, and to use a hypervisor RTAS
method to enable the other CPUs one by one.

This patch also implements this 'start-cpu' method, so that SLOF can
start the secondary CPUs and marshal them into the kexec() holding
pattern ready for entry into the guest OS.  Linux should, and in the
future might directly use the start-cpu method to enable initially
disabled CPUs, but for now it does require kexec() entry.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: David Gibson <dwg@au1.ibm.com>
Signed-off-by: Alexander Graf <agraf@suse.de>
2011-04-01 18:34:57 +02:00
Anthony Liguori
8b06c62ae4 seabios: update to latest git
- cc97564 Add config option to permit running option roms with bad checksums.
 - 424f217 Add config option to disable MTRR initialization.
 - fb2f10d Prep version for next release.
 - f18b09b Update version to 0.6.2
 - 20fcf9b lets pretend that RTC can be used to wakeup from S4
 - 1efb10b Expand user configurable parameters in Kconfig.
 - 3dba4c2 Support non-local build directory - allow "make OUT=abc/" to work.
 - 42d9771 The vgabios build must depend on autoconf.h.
 - 32aa9f3 fix parallel compilation of SeaBIOS
 - 713be89 Start using Kconfig to configure SeaBIOS settings.
 - b623e7c Change kconfig to emit disabled symbols in autoconf.h.
 - 0da7bfd Build changes for Linux kconfig code to work in seabios dir structure.
 - a4c5daf Initial commit of Kconfig build tool.
 - 4d0c592 Minor boot fixes.
 - 812478e Minor comment / code layout improvement to romlayout.S.
 - 6fc7cf1 Fix to prevent infinite loop in build_pci_path().
 - f5154e2 support T13 EDD3.0 spec
 - d08eb9c Add ability to track PCI paths and add to build_pci_path().
 - 89a1efd Move the CBFS payload setup to later in the boot.
 - 9e881a3 Extract space trimming code from ATA and use in USB and bootorder code.
 - 3c241ed seabios: acpi: add _RMV control method for PCI devices
 - c2002a1 Add support for finding the boot priority of USB drives.
 - a5f2b91 Extend 'usb_pipe' to track the controller and ports of each device.
 - 8bf5503 Add functions for boot device path parsing.
 - c4bd3b9 Use bootprio_find_named_rom() for ramdisk and cbfs payload priorities.
 - ca2bc1c Remove drive->desc field.
 - f13a180 Minor reorganization of some of the boot_xxx code in boot.c.
 - 3da2c1c Move IPL.fw_bootorder to static variables in boot.c.
 - 7bb1584 Move IPL.bev to static variables in boot.c
 - baaadb6 Move IPL.checkfloppysig to a global (CheckFloppySig) in boot.c.
 - a0842f8 Remove Drives global struct in favor of independent global variables.
 - ecbcf77 Don't access drive_g->desc from boot_cdrom().
 - 551caa2 Simplify keyboard reading code in the interactive boot menu.
 - 697e63c Call setup_translation() from map_hd_drive().
 - 3c5e0e1 Rename add_ordered_drive() to add_drive() and use in map_hd_drive().
 - 031ef55 Add stubs to permit devices to specify their boot priority.
 - 72eee3e Simplify boot ordering by building an inclusive boot list.
 - ce24be5 Populate drive_g->desc prior to calling add_bcv_internal().
 - 74fd942 pciinit: fix off-by-one
 - 311f887 Minor build fixes.
 - bca3a87 Track the source of each optionrom deployed.
 - c6629e0 Support qemu based romfile wrappers called out of order.
 - d1a1746 Breakup boot_setup() bootorder code into its own function.
 - f9b0930 Add romfile_loadfile() helper function.
 - b9a7591 Read bootorder file into memory.
 - 2e109a6 Add strchr() function.
 - 1703ea2 Add romfile_name() function.
 - b674152 Add BAID for ahci cdrom.
 - f77e179 Provide full EDD 3.0 info for virtio disk
 - 67863be Enhance layoutrom.py to work around a binutils quirk.
 - 4c90a20 Create separate IPL entry for each CD/DVD
 - 0e6f636 ahci: set controller id
 - 1e924bb ahci: fix off-by-one in port count
 - 7eb0222 ahci: enable io/mem/dma
 - c19fc71 ahci: set dma feature flag
 - 80c2b6e Check if capability enabled in XXX_cmd_data functions.
 - f3fe3aa Require a "_cfuncXX_" symbol prefix for inter-mode c function references.
 - d52fdf6 add ahci support
 - 54fa8ec ata: make helpers available
 - 0a80608 util: add memset_fl()
 - f1f18eb pci: add helper functions for mmio bar access from real mode.
 - af9629b Enhance call32() to pass a parameter to called function.
 - 4057f98 Don't pass return address to transition(32,16,16big) on stack.
 - e2623fc pciinit: use pci_region functions.
 - 58a38e8 pci: introduce pci_region to manage pci io/memory/prefmemory regions.
 - 6d5a217 mark irq9 active high in DSDT
 - 9433098 Report meaningful error if pyserial not present in tools/readserial.py
 - 94dc9c4 Show size of non-relocatable runtime code during build.
 - 4d96edc Cleanup - it's no longer necessary to manually reset global variables.
 - a899945 Allow rom to grow to 256K.
 - 4a446d7 Fix typo preventing relocated space from being used for option roms.
 - 0f67397 fix virtio-blk failure after reboot
 - d4bded4 Add a debug method to AML code.
 - 2f96800 Warn that ohci bulk is not supported.
 - e826465 Enable optionroms to use freed space due to CONFIG_RELOCATE_INIT.
 - 7f55fd3 Move the 32bit init code to high memory at runtime.
 - 025cabd Move init code from _start() to post().
 - 12fa24a Add memalign_tmp() helper function.
 - 244caf8 Try to hard-reboot on rerun of post even on emulators.
 - 5bd01de Don't do shadow copying of optionroms when CONFIG_OPTIONROMS_DEPLOYED.
 - adaf373 Try to hard-reboot processor on rerun of post under coreboot.
 - 402fd9c Enhance build to emit relocation information.
 - d1b4f96 Separate out init code from the rest of the 32bit flat code.
 - 1a4885e Modify tools/layoutrom.py to use classes instead of tuples.
 - 6c2e781 Use str.startswith() in python scripts.
 - d9c916e Prep version for next release.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2011-03-21 17:41:52 -05:00
Anthony Liguori
f487d6278f Update SeaBIOS to 0.6.1.2
- 06d0bdd Minor build fixes.
 - 33abfc0 Update version to 0.6.1.2.
 - 484dd56 fix virtio-blk failure after reboot
 - dd9c0d3 Update version to 0.6.1.1.
 - 50ecfa8 mark irq9 active high in DSDT

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2011-02-01 16:57:00 -06:00
Gerd Hoffmann
3b3d448e01 Add new vgabios binaries to blobs list.
aliguori: update VGA BIOS

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2010-11-16 08:39:52 -06:00
Anthony Liguori
758c309f0a seabios: Update to 0.6.1
- 0ff9051 Update version to 0.6.1
 - 9c000e6 Support Samsung SE-S084 USB DVD drive (and probably many others)
 - eebe949 pciinit: remove unused variable, old_addr, in pci_set_io_region_addr().
 - 06644f4 Minor - indentation change to jpeg.c.
 - 2dcd9fa Enhance tools/readserial.py to support reading from a pipe.
 - 7ce09ae Make tools/transdump.py more resilient to unknown input.
 - 6039fc5 Update qemu_cfg_read to use "rep insb".
 - 9a01a9c Only show bootsplash during boot menu.
 - 5feb83c add write support to virtio-blk
 - 22f6378 Don't try to talk to APIC on 486
 - e2074bf Add ACPI SSDT/DSDT support for CPU hotplug.
 - eb6dc78 Add additional debug status messages to bootsplash code.
 - c8e4e88 Allow qemu to use bootsplash code via fwcfg interface.
 - 597040d Add tools/trandump.py tool for converting hexdump() output.
 - 48f5f8b Default bootsplash on (for coreboot users).
 - 8d85eb1 Autodetect video mode based on bootsplash jpeg dimensions.
 - b2b9d4a Rename "decdata" to "jpeg" in bootsplash - to be consistent with jpeg.c.
 - bbc4722 Breakup jpeg_decode into parsing and displaying phases.
 - 2976dd4 Avoid using BSS variables in jpeg.c.
 - cc9e1bf Add FUNC16() helper macro for converting a 16bit func to a segoff_s.
 - b4525a0 Handle unaligned sizes in iomemcpy().
 - 0e27e19 Cleanup bootsplash vesa signature detection.
 - cadaf0e Be sure to disable bootsplash on all BIOS boot cases.
 - 2641186 Add call16_int10 helper to bootsplash.c.
 - 6dc76f4 Don't do "double buffering" in bootsplash code.
 - 227dc3e Check that malloc succeeds in bootsplash code.
 - a576c9c Bootsplash fixes and cleanups.
 - 9fd4851 Minor - clarify bit logic in mptable.c.
 - abf31d3 Fix integer truncating bug in calc_future_timer().
 - 1d5c333 seabios: pciinit: fix 64bit bar initilization.
 - ae6924d Minor - introduce GDT_GRANLIMIT macro.
 - 0f78889 Avoid code addresses >64K in big real mode.
 - aec19c9 seabios: smm: move out piix4 specific smram logic to dev-i440fx.c
 - 08328e7 seabios: shadow: make device finding more generic.
 - 4c67f90 seabios: acpi: clean up of finding pm device.
 - fe54a53 seabios: acpi: split out piix4 pm logic.
 - d06afb4 seabios: acpi: move acpi definitions to acpi.h from acpi.c
 - 2f54bb4 seabios: acpi: move out endian conversion helper function.
 - 23173ac seabios: pci: introduce helper function to find device from table and initialize it.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2010-10-25 16:43:41 -05:00
Anthony Liguori
8c929e1e41 Update SeaBIOS
- 17d3e46 smbios: Allow all fields to be set via qemu_cfg_smbios_load_field()
 - 0d6b8d5 seabios: pciinit: use pci device initializer helper function.
 - 968d3a8 seabios: pci: introduce helper function to initialize a given device.
 - 4e0daae virtio: Clear interrupt status register in virtio-blk
 - af0963d seabios: pciinit: initialize pci bridge filtering registers.
 - f441666 seabios: pciinit: pci bridge bus initialization.
 - 5d0de15 seabios: pciinit: make bar offset calculation pci bridge aware.
 - a65821d seabios: pciinit: factor out bar offset calculation.
 - 0a8eada seabios: pciinit: make pci bar assigner preferchable memory aware.
 - dfd94fa seabios: pciinit: make pci memory space assignment 64bit aware.
 - b9e4721 seabios: pciinit: factor out pci bar region allocation logic.
 - edd9911 seabios: pci: introduce foreachpci_in_bus() helper macro.
 - f79a462 Add romfile_size() wrapper for accessing cbfs/qemu_cfg files.
 - afbed1b Initial bootsplash support.
 - 83d6ed6 Update TODO
 - 1d7d893 Fix bvprintf() to respect padding for hex printing.
 - e230426 Unify optionrom cbfs/qemu_cfg rom pulling code.
 - 8cb8ba5 SeaBIOS VGA hooks
 - 203f6f3 SeaBIOS CD/DVD abbreviations
 - 12cbb43 seabios: remove iasl output file when error.
 - d5d02b6 Allocate cdemu buffer in low mem instead of ebda.
 - 8f59aa3 Introduce memcpy_fl - a memcpy on "flat" pointers.
 - 42a1d4c Rework malloc to use a "first fit" algorithm.
 - 34e9cc5 Minor mptable changes.
 - 0f3783b virtio: clean up memory barrier usage
 - bfe4d60 virtio: remove NO_NOTIFY optimization
 - bb68591 Don't use RTC to time boot menu delay.
 - b5cc2ca Generalize timer based delay code.
 - 144817b Rename check_time() to check_tsc().
 - 9c447c3 Allow wait_irq to be called in 32bit code.
 - 49cc72b Improve optionrom debugging statements.
 - c65a4a6 Minor - compile out usb-msc code if CONFIG_USB_MSC not set.
 - 456479e Minor ata cleanups.
 - 2515a72 Make sure virtio-blk is fully compiled out if not wanted.
 - c4fe135 Minor - split up virtio_blk_setup().
 - 4030db0 fix two issues with virtio-blk
 - ea8ac63 Minor improvements to virtio (allow irqs, allocate page aligned).

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2010-07-13 08:55:04 -05:00
Anthony Liguori
14ac15d3ac Update SeaBIOS
- 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: Anthony Liguori <aliguori@us.ibm.com>
2010-05-14 10:55:58 -05:00
Anthony Liguori
a0acb46c72 Update to latest SeaBIOS
- 8f469b9 Dynamically allocate ata_channel info; introduce custom atadrive_s struct.
 - 575ffc8 Cleanup - build drive description in temp memory during init.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2010-03-05 21:45:16 -06:00
Anthony Liguori
e1c247d26c pc-bios: update to latest Seabios
- 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: Anthony Liguori <aliguori@us.ibm.com>
2010-02-23 13:35:12 -06:00
Anthony Liguori
9da92c4944 seabios: use correct submodule hash
Commit 392ecf543d introduced an accidental change
to the roms/seabios submodule.  This commit partially reverts that commit to
ensure the seabios module points to the right commit.

Reported-by: Marcelo Tosatti <mtosatti@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2010-02-03 12:36:25 -06:00
Amit Shah
392ecf543d virtio-console: Automatically use virtio-serial-bus for the older -virtioconsole invocation
These hunks got dropped off mysteriously during the rebasing of my
virtio-serial series. Thanks go to Markus for noticing it.

Without these fixes, -virtioconsole doesn't actually have any effect.

Signed-off-by: Amit Shah <amit.shah@redhat.com>
Reported-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2010-01-26 15:42:02 -06:00