qemu/pc-bios
Juergen Lock ff56954baf multiboot.S patch for old as(1) (was: Re: [Qemu-devel] Some OpenBSD/amd64 build fixes)
On Wed, Sep 23, 2009 at 10:55:02PM +0200, Juergen Lock wrote:
> On Wed, Sep 23, 2009 at 09:31:16PM +0100, Laurence Tratt wrote:
>[...]
> >  then the above error doesn't occur, but
> > pc-bios/optionrom/multiboot.S dies as follows:
> >
> >   $
> >     AS    optionrom/multiboot.o
> >   multiboot.S: Assembler messages:
> >   multiboot.S:116: Error: `%es:-4(%edi)' is not a valid 16 bit base/index
> > expression
> >   $
> >
> > What little Intel assembler I ever knew has long since departed from my
> > brain, so I don't know why that error occurs, nor what a fix might be.
> >
>  It occurs because of too old binutils (as(1) in this case), on FreeBSD
> we now have a port for newer ones,
> 	http://www.freshports.org/devel/binutils
> so I depend on that and have the optionrom Makefile use the new as
> like this: (the first change wrt CFLAGS is unrelated and has probably
> been fixed in the meantime; it caused gmake to complain about
> recursive use of CFLAGS.)
>
> Index: qemu/pc-bios/optionrom/Makefile
> @@ -9,10 +9,13 @@
>
>  CFLAGS = -Wall -Wstrict-prototypes -Werror -fomit-frame-pointer -fno-builtin
>  CFLAGS += -I$(SRC_PATH)
> -CFLAGS += $(call cc-option, $(CFLAGS), -fno-stack-protector,"")
> +CFLAGS := $(CFLAGS) $(call cc-option, $(CFLAGS), -fno-stack-protector,"")
>
>  build-all: multiboot.bin
>
> +%.o: %.S
> +	$(CC) -E $(CFLAGS) -o - -c $< |${LOCALBASE}/bin/as -V -Qy -o $@
> +
>  %.img: %.o
>  	$(call quiet-command,$(LD) -Ttext 0 -e _start -s -o $@ $<,"  Building $(TARGET_DIR)$@")
>

That patch didn't seem to help on OpenBSD so I now finally got around
making another one that just emits the bytes of the offending insn
instead so people can keep using old assemblers:

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2009-10-27 12:28:36 -05:00
..
keymaps Move keymaps into pc-bios 2009-05-28 02:14:56 -05:00
optionrom multiboot.S patch for old as(1) (was: Re: [Qemu-devel] Some OpenBSD/amd64 build fixes) 2009-10-27 12:28:36 -05:00
bamboo.dtb Add bamboo.dtb compiled from bamboo.dts 2008-12-17 00:03:01 +00:00
bamboo.dts target-ppc: IBM PowerPC 440EP Bamboo reference board emulation 2008-12-16 10:44:14 +00:00
bios.bin update pc-bios/bios.bin 2009-10-05 09:32:47 -05:00
Makefile pc-bios/Makefile: add a rule to produce dtb files 2009-03-07 04:56:06 +00:00
mpc8544ds.dtb kvm/powerpc: flat device tree files for MPC8544DS 2009-03-02 16:42:49 +00:00
mpc8544ds.dts kvm/powerpc: flat device tree files for MPC8544DS 2009-03-02 16:42:49 +00:00
multiboot.bin Multiboot build system v4 2009-06-29 14:17:49 -05:00
ohw.diff
openbios-ppc Update OpenBIOS images to r577 2009-09-11 09:13:04 +02:00
openbios-sparc32 Update OpenBIOS images to r569 2009-08-28 19:47:11 +00:00
openbios-sparc64 Update OpenBIOS images to r569 2009-08-28 19:47:11 +00:00
petalogix-s3adsp1800.dtb microblaze: Fix loading of petalogix s3adsp1800 dtb. 2009-06-03 21:54:31 +02:00
ppc_rom.bin
pxe-e1000.bin
pxe-ne2k_pci.bin
pxe-pcnet.bin
pxe-rtl8139.bin
README Bring pcbios, seabios, and vgabios into the tree as git submodules. Right now, 2009-09-04 10:13:29 -05:00
vgabios-cirrus.bin Update VGA BIOS 2008-12-17 22:29:37 +00:00
vgabios.bin Update VGA BIOS 2008-12-17 22:29:37 +00:00
video.x

- The PC BIOS comes from the Bochs project (http://bochs.sourceforge.net/).

- 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://perso.magic.fr/l_indien/OpenHackWare/index.htm.

- video.x is a PowerMac NDRV compatible driver for a VGA frame
  buffer. It comes from the Mac-on-Linux project
  (http://www.maconlinux.org/).

- 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 Sparc32, Sparc64 and PowerPC (for 32 and 64 bit
  PPC CPUs) are built from OpenBIOS SVN revision 569.

- The PXE roms come from Rom-o-Matic etherboot 5.4.2.
  pcnet32:pcnet32 -- [0x1022,0x2000]
  ns8390:winbond940 -- [0x1050,0x0940]
  rtl8139:rtl8139 -- [0x10ec,0x8139]
  http://rom-o-matic.net/