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
spapr-rtas
acpi-dsdt.aml
bamboo.dtb
bamboo.dts
bios-256k.bin
bios.bin
efi-e1000.rom
efi-eepro100.rom
efi-ne2k_pci.rom
efi-pcnet.rom
efi-rtl8139.rom
efi-virtio.rom
kvmvapic.bin
linuxboot.bin linuxboot: fix loading old kernels 2014-12-15 12:21:03 +01:00
Makefile
multiboot.bin
openbios-ppc
openbios-sparc32
openbios-sparc64
palcode-clipper
petalogix-ml605.dtb
petalogix-s3adsp1800.dtb
ppc_rom.bin
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
README
s390-ccw.img
s390-zipl.rom
sgabios.bin
slof.bin
spapr-rtas.bin
u-boot.e500
vgabios-cirrus.bin
vgabios-qxl.bin
vgabios-stdvga.bin
vgabios-vmware.bin
vgabios.bin

- 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