mirror of https://gitee.com/openkylin/qemu.git
ff56954baf
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> |
||
---|---|---|
.. | ||
keymaps | ||
optionrom | ||
Makefile | ||
README | ||
bamboo.dtb | ||
bamboo.dts | ||
bios.bin | ||
mpc8544ds.dtb | ||
mpc8544ds.dts | ||
multiboot.bin | ||
ohw.diff | ||
openbios-ppc | ||
openbios-sparc32 | ||
openbios-sparc64 | ||
petalogix-s3adsp1800.dtb | ||
ppc_rom.bin | ||
pxe-e1000.bin | ||
pxe-ne2k_pci.bin | ||
pxe-pcnet.bin | ||
pxe-rtl8139.bin | ||
vgabios-cirrus.bin | ||
vgabios.bin | ||
video.x |
README
- 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/