Age | Commit message (Collapse) | Author | Files | Lines |
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
Signed-off-by: Richard Henderson <rth@twiddle.net>
|
|
Update OpenBIOS images to r1047 built from submodule.
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
|
|
Update Sparc32 and Sparc64 OpenBIOS images to SVN revision 1045.
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
|
|
There were some changes upstream to account for broken usage of mtmsr, so
before applying the mtmsr patch we need to update OpenBIOS, otherwise the
PPC target would break.
Signed-off-by: Alexander Graf <agraf@suse.de>
|
|
Add script to make this easy to repeat later.
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
|
|
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>
|
|
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
|
|
Patching the rom data during load (in qemu) now
also supports i82801 (which had no rom file).
We only need a single rom file for the whole device family,
so remove the second one which is no longer needed.
Cc: Markus Armbruster <armbru@redhat.com>
Cc: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Stefan Weil <weil@mail.berlios.de>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
Only Mac-on-Linux stuff used video.x, OpenBIOS does not need it.
Remove video.x MoL hacks.
Signed-off-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
|
|
Update Sparc32 and Sparc64 OpenBIOS images to SVN revision 859.
Bring also pc-bios/README up to date including the update performed by
419ef5f1c6a9614e8ddcb0b0f826de692e7e4a43.
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
|
|
Update PPC, Sparc32 and Sparc64 OpenBIOS images to r821.
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
|
|
Update PPC, Sparc32 and Sparc64 OpenBIOS images to R795.
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
|
|
This patch adds a firmware blob to the S390 target. The blob is a simple
implementation of a virtio client that tries to read the second stage
bootloader from sectors described as of offset 0x20 in the MBR.
In combination with an updated zipl this allows for booting from virtio
block devices. This firmware is built from the same sources as the second
stage bootloader. You can find a virtio capable s390-tools in this repo:
git://repo.or.cz/s390-tools.git
Signed-off-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
|
|
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
|
|
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
|
|
Only two boot ROM files are needed for all devices.
* Add these GPXE ROM files using new naming convention
(as discussed on qemu-devel). Both files were created
with http://rom-o-matic.net/, PCI vendor / device ids
as in ROM filenames and option BANNER_TIMEOUT = 0.
* Remove old PXE ROM file for i82559er.
It was replaced by gpxe-eepro100-80861209.rom.
* Update pc-bios/README (and sort entries).
Full support still needs additional eepro100 fixes.
Signed-off-by: Stefan Weil <weil@mail.berlios.de>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
|
|
Fixes the boot problem introduced by r665 image in
694b9309462f07307d16f492961f01271f10c245.
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
|
|
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
|
|
The PC BIOS no longer comes from Bochs.
This patch updates the related entry.
V2 - Modify SeaBIOS description and URL
(Thanks to Gleb Natapov for the hint).
Signed-off-by: Stefan Weil <weil@mail.berlios.de>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
|
|
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
|
|
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
|
|
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
|
|
etherboot is deprecated and not under active development anymore.
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
|
|
they aren't integrated into the build but we can do that incrementally.
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
|
|
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
|
|
For Sparc64, this fixes the PCI bridge configuration bugs revealed by the
improved bridge handling (b7ee1603c16c1feb0d439d2ddf6cf824119d0aab).
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
|
|
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6962 c046a42c-6fe2-441c-8c8c-71466251a162
|
|
Use firmware configuration device for boot device, kernel, initrd and
kernel command line parameters on PPC, Sparc32 and Sparc64.
Update OpenBIOS images to r479 which supports the change.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6777 c046a42c-6fe2-441c-8c8c-71466251a162
|
|
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6658 c046a42c-6fe2-441c-8c8c-71466251a162
|
|
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6563 c046a42c-6fe2-441c-8c8c-71466251a162
|
|
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6560 c046a42c-6fe2-441c-8c8c-71466251a162
|
|
- fix milliseconds PROM call
- fix PCI I/O ports assignation
- misc fixes
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6363 c046a42c-6fe2-441c-8c8c-71466251a162
|
|
- Support kernel arguments through -append
- Quik support
- PowerMac serial ports supports
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6294 c046a42c-6fe2-441c-8c8c-71466251a162
|
|
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6273 c046a42c-6fe2-441c-8c8c-71466251a162
|
|
Fix boot on CD-ROM.
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6264 c046a42c-6fe2-441c-8c8c-71466251a162
|
|
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6260 c046a42c-6fe2-441c-8c8c-71466251a162
|
|
aliguori: did a little indenting and motion for aesthics.
Signed-off-by: Andre Przywara <andre.przywara@amd.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6109 c046a42c-6fe2-441c-8c8c-71466251a162
|
|
Now built from the kernel.org git tree.
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6079 c046a42c-6fe2-441c-8c8c-71466251a162
|
|
mirror is updated more regularly and reliably.
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6078 c046a42c-6fe2-441c-8c8c-71466251a162
|
|
Update the PC BIOS to the latest version, split out the patches into
patch series, and update the README to point to the new location of the
Bochs BIOS source tree.
Also update the gitignore to allow the patch queue directory to be used.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6077 c046a42c-6fe2-441c-8c8c-71466251a162
|
|
Changes:
r219: Fix #size-cells for HelenOS, add /openprom/version node
r220: Fix typo
r221: More realistic mmu_translate
r222: Fix device names to allow Net/OpenBSD to boot
r223: add set-callback for Aurora 2.0
r224: Switch keyboard controller to translated mode so it works as expected
r225: Add mmu release (claim added in r219)
r226: Set variable defaults before nvram_init also for Sparc64 (cf. r136)
r227: Use nvram boot-args and boot-device variables also for Sparc64 (cf. r137)
r228: Fix compilation on OpenBSD: avoid accidental system include file use
r229: Rename /packages/client-iface to /openprom/client-services
r230
From Igor V. Kovalenko:
This openbios-grubfs-ext2fs-block.patch fixes a problem where inode
pointer is truncated to 32bit integer and then sign-extended to 64bit
integer while passing second pointer argument to ext2_rdfsb.
r231: Fix pad alignment
r232: Remove package finding code that finds unrelated packages
r233: Fix virtual to physical address translation (Igor Kovalenko)
r234: Implement itlb/dtlb directed writes (Igor Kovalenko)
r235: Fix warnings that would be caused by ld flag --warn-common
r236: Enable ld flag --warn-common
r237: Use the firmware device introduced in Qemu SVN r5256
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5262 c046a42c-6fe2-441c-8c8c-71466251a162
|
|
r186: Revert broken r161, fix identification string printing (Igor Kovalenko)
r187: Fix NetBSD reset problem
r188: Add a TODO for Sparc
r189: Fix some Sparc32 compile warnings
r190: Fix some Sparc64 compile warnings
r191: Add prototypes for [v]snprintf
r192: Add a common header file for libgcc functions
r193: Implement obmem for NetBSD loader
r194: Add Make dependencies for some files, unify Sparc32/64 build.xml files
r195: Remove debug messages
r196: Add a.out support for SILO
r198: Add a CPU node
r199: Add (bogus) memory nodes
r200: Add idprom node
r201: Make serial console usable
r202: Add MMU node and ops
r203: Add trap table setting function to client interface
r204: Fix MMU translation
r205: Handle 32 bit windows, remove now unused files
r206: Support for simple boot device selection
r207: Fix TLB entry generation
r208: Fix printing of exception messages
r209: Set up tick_cmpr, update assembly flags
r210: Add a clock-frequency node
r211:
Fix available and total memory
Implement a static list of mmu translations
Map more pages
Add a fake unmap method
r212: Fix builtin.c dependencies
r213: Add FCode boot loader for Solaris etc.
r214: Add correct reset vectors
r215: Add T1 and T2 CPUs
r216: Fix wrong translations
r217: Add bootargs property for kernel command line
r218:
Finally fix the very obscure problem which prevented normal and especially
FCode boot: too small heap (used for Forth memory)!
Remove forced arch_init and boot hacks
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4983 c046a42c-6fe2-441c-8c8c-71466251a162
|
|
Update Sparc32 OpenBIOS image to SVN revision 185. Changes:
r184: Enforce malloc alignment
r185: Move AUX1 and AUX2 to correct locations, rename APC
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3946 c046a42c-6fe2-441c-8c8c-71466251a162
|
|
r182: Add handlers for timer interrupts
r183: Print a message and halt if Sun4c or Sun4d
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3875 c046a42c-6fe2-441c-8c8c-71466251a162
|
|
r177:
Reset fixes:
* recalculate CRC to avoid error message and halt after reset
* fix bug that crashed SS10/SMP when reset
r178: Remove unused variable
r179: Improved Module ID generation
r180: Add support for eccmemctl
r181: Add support for SPARCstation 20 machine type
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3804 c046a42c-6fe2-441c-8c8c-71466251a162
|