qemu-e2k/pc-bios
Paolo Bonzini 269e235849 linuxboot: fix loading old kernels
Old kernels that used high memory only allowed the initrd to be in the
first 896MB of memory.  If you load the initrd above, they complain
that "initrd extends beyond end of memory".

In order to fix this, while not breaking machines with small amounts
of memory fixed by cdebec5 (linuxboot: compute initrd loading address,
2014-10-06), we need to distinguish two cases.  If pc.c placed the
initrd at end of memory, use the new algorithm based on the e801
memory map.  If instead pc.c placed the initrd at the maximum address
specified by the bzImage, leave it there.

The only interesting part is that the low-memory info block is now
loaded very early, in real mode, and thus the 32-bit address has
to be converted into a real mode segment.  The initrd address is
also patched in the info block before entering real mode, it is
simpler that way.

This fixes booting the RHEL4.8 32-bit installation image with 1GB
of RAM.

Cc: qemu-stable@nongnu.org
Cc: mst@redhat.com
Cc: jsnow@redhat.com
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2014-12-15 12:21:03 +01:00
..
keymaps
optionrom linuxboot: fix loading old kernels 2014-12-15 12:21:03 +01:00
s390-ccw pc-bios/s390-ccw: Do proper console setup 2014-09-01 09:23:02 +02:00
spapr-rtas
acpi-dsdt.aml
bamboo.dtb
bamboo.dts
bios-256k.bin update seabios to 1.7.5.1 stable release 2014-11-13 11:59:46 +01:00
bios.bin update seabios to 1.7.5.1 stable release 2014-11-13 11:59:46 +01:00
efi-e1000.rom ipxe: update to current git 2014-05-15 14:24:05 +02:00
efi-eepro100.rom ipxe: update to current git 2014-05-15 14:24:05 +02:00
efi-ne2k_pci.rom ipxe: update to current git 2014-05-15 14:24:05 +02:00
efi-pcnet.rom ipxe: update to current git 2014-05-15 14:24:05 +02:00
efi-rtl8139.rom ipxe: update to current git 2014-05-15 14:24:05 +02:00
efi-virtio.rom ipxe: update to current git 2014-05-15 14:24:05 +02:00
kvmvapic.bin
linuxboot.bin linuxboot: fix loading old kernels 2014-12-15 12:21:03 +01:00
Makefile
multiboot.bin
openbios-ppc Update OpenBIOS images 2014-11-15 13:01:44 +00:00
openbios-sparc32 Update OpenBIOS images 2014-11-15 13:01:44 +00:00
openbios-sparc64 Update OpenBIOS images 2014-11-15 13:01:44 +00:00
palcode-clipper
petalogix-ml605.dtb
petalogix-s3adsp1800.dtb pc-bios: petalogix-s3adsp1800.dtb: Use 'xlnx, xps-ethernetlite-2.00.a' instead of 'xlnx, xps-ethernetlite-2.00.b' 2014-11-11 09:04:13 +03:00
ppc_rom.bin prep: Update ppc_rom.bin 2014-07-07 16:46:35 +02:00
pxe-e1000.rom
pxe-eepro100.rom
pxe-ne2k_pci.rom
pxe-pcnet.rom
pxe-rtl8139.rom
pxe-virtio.rom
q35-acpi-dsdt.aml
qemu_logo_no_text.svg
qemu_logo.svg
qemu-icon.bmp
qemu-nsis.bmp
qemu-nsis.ico
QEMU,cgthree.bin
QEMU,tcx.bin Update OpenBIOS images 2014-11-04 00:02:33 +00:00
README pseries: Update SLOF firmware image to qemu-slof-20140630 2014-07-08 12:10:36 +02:00
s390-ccw.img pc-bios/s390-ccw.img binary update 2014-09-01 09:23:02 +02:00
s390-zipl.rom
sgabios.bin
slof.bin pseries: Update SLOF firmware image to qemu-slof-20140630 2014-07-08 12:10:36 +02:00
spapr-rtas.bin
u-boot.e500 PPC: Add u-boot firmware for e500 2014-06-16 13:24:35 +02:00
vgabios-cirrus.bin update seabios to 1.7.5.1 stable release 2014-11-13 11:59:46 +01:00
vgabios-qxl.bin update seabios to 1.7.5.1 stable release 2014-11-13 11:59:46 +01:00
vgabios-stdvga.bin update seabios to 1.7.5.1 stable release 2014-11-13 11:59:46 +01:00
vgabios-vmware.bin update seabios to 1.7.5.1 stable release 2014-11-13 11:59:46 +01:00
vgabios.bin update seabios to 1.7.5.1 stable release 2014-11-13 11:59:46 +01:00

- SeaBIOS (bios.bin) is the successor of pc bios.
  See http://www.seabios.org/ for more information.

- The VGA BIOS and the Cirrus VGA BIOS come from the LGPL VGA bios
  project (http://www.nongnu.org/vgabios/).

- The PowerPC Open Hack'Ware Open Firmware Compatible BIOS is
  available at http://repo.or.cz/w/openhackware.git.

- OpenBIOS (http://www.openbios.org/) is a free (GPL v2) portable
  firmware implementation. The goal is to implement a 100% IEEE
  1275-1994 (referred to as Open Firmware) compliant firmware.
  The included images for PowerPC (for 32 and 64 bit PPC CPUs),
  Sparc32 (including QEMU,tcx.bin and QEMU,cgthree.bin) and Sparc64 are built
  from OpenBIOS SVN revision 1280.

- SLOF (Slimline Open Firmware) is a free IEEE 1275 Open Firmware
  implementation for certain IBM POWER hardware.  The sources are at
  https://github.com/aik/SLOF, and the image currently in qemu is
  built from git tag qemu-slof-20140630.

- sgabios (the Serial Graphics Adapter option ROM) provides a means for
  legacy x86 software to communicate with an attached serial console as
  if a video card were attached.  The master sources reside in a subversion
  repository at http://sgabios.googlecode.com/svn/trunk.  A git mirror is
  available at git://git.qemu-project.org/sgabios.git.

- The PXE roms come from the iPXE project. Built with BANNER_TIME 0.
  Sources available at http://ipxe.org.  Vendor:Device ID -> ROM mapping:

	8086:100e -> pxe-e1000.rom
	8086:1209 -> pxe-eepro100.rom
	1050:0940 -> pxe-ne2k_pci.rom
	1022:2000 -> pxe-pcnet.rom
	10ec:8139 -> pxe-rtl8139.rom
	1af4:1000 -> pxe-virtio.rom

- The S390 zipl loader is an addition to the official IBM s390-tools
  package. That fork is maintained in its own git repository at:
  git://repo.or.cz/s390-tools.git

- The sources for the Alpha palcode image is available from:
  git://github.com/rth7680/qemu-palcode.git

- The u-boot binary for e500 comes from the upstream denx u-boot project where
  it was compiled using the qemu-ppce500 target.
  A git mirror is available at: git://git.qemu-project.org/u-boot.git
  The hash used to compile the current version is: 2072e72