[SeaBIOS] [Qemu-devel] problems with freeBSD

Don Slutz dslutz at verizon.com
Thu Mar 7 15:00:59 CET 2013


On 03/07/13 08:02, Don Slutz wrote:
> On 03/07/13 03:43, Aurelien Jarno wrote:
>> On Wed, Mar 06, 2013 at 07:53:51PM -0500, Kevin O'Connor wrote:
>>> >On Thu, Mar 07, 2013 at 12:12:08AM +0100, Aurelien Jarno wrote:
>>>> > >On Wed, Mar 06, 2013 at 08:21:11AM +0000, Dietmar Maurer wrote:
> [snip]
>>>> Maybe I am doing something wrong or there is a bug in my toolchain 
>>>> (Debian Sid). It would be nice if someone could try to reproduce 
>>>> that on another distro/system. 
>> -- Aurelien Jarno GPG: 1024D/F1BCDB73 aurelien at aurel32.net 
>> http://www.aurel32.net
>
> I reproduced this on "Fedora release 17 (Beefy Miracle)" 
> 3.7.3-101.fc17.x86_64 doing the steps provided.
>    -Don Slutz

Turns out that this is not the normal kind of issue.  Newer seabios 
works, older does not:

good   * 88cb66e (HEAD, tag: rel-1.7.2.1, origin/1.7.2-stable, 
1.7.2-stable) seabios: Add a dummy PCI slot to irq mapping funct
good   * 985a9d3 seabios q35: Add new PCI slot to irq routing function
good   * 2b57726 seabios q35: Enable all PIRQn IRQs at startup
good   * e5fe4f9 Verify CC is valid during build tests.
good   * 4219149 build: Don't require $(OUT) to be a sub-directory of 
the main directory.
bad    * d75c22f Fix Makefile - don't reference "out/" directly, instead 
use "$(OUT)".
bad    * 12e8199 USB-EHCI: Fix null pointer assignment
bad    * f396871 Update tools/acpi_extract.py to handle iasl 20130117 
release.
bad    * 4bd8aeb (tag: rel-1.7.2) vgabios: implement AX=1120H..1124H 
functions


good:
Version: rel-1.7.2-4-g4219149-20130307_085117-don-lt.don.CloudSwitch.com
Fixed space: 0xe05b-0x10000  total: 8101  slack: 5  Percent slack: 0.1%
16bit size:           39856
32bit segmented size: 1430
32bit flat size:      18778
32bit flat init size: 62400
Lowmem size:          2176

bad:
Version: rel-1.7.2-3-gd75c22f-20130307_085345-don-lt.don.CloudSwitch.com
Fixed space: 0xe05b-0x10000  total: 8101  slack: 5  Percent slack: 0.1%
16bit size:           39808
32bit segmented size: 1430
32bit flat size:      18778
32bit flat init size: 62400
Lowmem size:          2176


The 16bit size change is the only output change.

The changed that fixed it:

commit 4219149ad2b783abfa61e80e9e9f6910db0c76c9
Author: Kevin O'Connor <kevin at koconnor.net>
Date:   Sun Feb 17 10:56:10 2013 -0500

     build: Don't require $(OUT) to be a sub-directory of the main 
directory.

     Remove references to "../" and "out/" from the build so that "make
     OUT=/a/b/c/" will work.

     Signed-off-by: Kevin O'Connor <kevin at koconnor.net>

diff --git a/Makefile b/Makefile
index a482c94..20da6d0 100644
--- a/Makefile
+++ b/Makefile
@@ -84,7 +84,7 @@ vpath %.S src vgasrc
  ################ Common build rules

  # Verify the build environment works.
-TESTGCC:=$(shell CC="$(CC)" LD="$(LD)" IASL="$(IASL)" tools/test-build.sh)
+TESTGCC:=$(shell OUT="$(OUT)" CC="$(CC)" LD="$(LD)" IASL="$(IASL)" 
tools/test-build.sh)
  ifeq "$(TESTGCC)" "-1"
  $(error "Please upgrade the build environment")
  endif
@@ -97,7 +97,7 @@ endif
  # Do a whole file compile by textually including all C code.
  define whole-compile
  @echo "  Compiling whole program $3"
-$(Q)printf '$(foreach i,$2,#include "../$i"\n)' > $3.tmp.c
+$(Q)printf '$(foreach i,$2,#include "$(CURDIR)/$i"\n)' > $3.tmp.c
  $(Q)$(CC) $1 $(CFLAGSWHOLE) -c $3.tmp.c -o $3
  endef

diff --git a/src/Kconfig b/src/Kconfig
index 0b112ed..2c9100d 100644
--- a/src/Kconfig
+++ b/src/Kconfig
@@ -367,7 +367,7 @@ menu "BIOS Tables"
              Support generation of ACPI tables.
  endmenu

-source ../vgasrc/Kconfig
+source vgasrc/Kconfig

  menu "Debugging"
      config DEBUG_LEVEL
diff --git a/tools/test-build.sh b/tools/test-build.sh
index 7bd6d1f..ce0aca9 100755
--- a/tools/test-build.sh
+++ b/tools/test-build.sh
@@ -14,13 +14,13 @@ if [ $? -ne 0 ]; then
      exit 0
  fi

-mkdir -p out
-TMPFILE1=out/tmp_testcompile1.c
-TMPFILE1o=out/tmp_testcompile1.o
-TMPFILE1_ld=out/tmp_testcompile1.lds
-TMPFILE2=out/tmp_testcompile2.c
-TMPFILE2o=out/tmp_testcompile2.o
-TMPFILE3o=out/tmp_testcompile3.o
+mkdir -p ${OUT}
+TMPFILE1=${OUT}/tmp_testcompile1.c
+TMPFILE1o=${OUT}/tmp_testcompile1.o
+TMPFILE1_ld=${OUT}/tmp_testcompile1.lds
+TMPFILE2=${OUT}/tmp_testcompile2.c
+TMPFILE2o=${OUT}/tmp_testcompile2.o
+TMPFILE3o=${OUT}/tmp_testcompile3.o

  # Test if ld's alignment handling is correct.  This is a known problem
  # with the linker that ships with Ubuntu 11.04.

   -Don Slutz
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.seabios.org/pipermail/seabios/attachments/20130307/8b1e73dd/attachment-0001.html>


More information about the SeaBIOS mailing list