Reorder the rules in mainboard/*/*/Makefile so their order is identical
across all of these makefiles. The rules are now in order of execution
during boot, that is:
STAGE0_MAINBOARD_OBJ
INITRAM_OBJ
STAGE2_MAINBOARD_OBJ
As added benefit, mainboard makefiles are now almost identical.
Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006(a)gmx.net>
Index: LinuxBIOSv3-filteroutduplicatedshared/mainboard/adl/msm800sev/Makefile
===================================================================
--- LinuxBIOSv3-filteroutduplicatedshared/mainboard/adl/msm800sev/Makefile (Revision 529)
+++ LinuxBIOSv3-filteroutduplicatedshared/mainboard/adl/msm800sev/Makefile (Arbeitskopie)
@@ -21,14 +21,14 @@
STAGE0_MAINBOARD_OBJ := $(obj)/mainboard/$(MAINBOARDDIR)/stage1.o
+INITRAM_OBJ = $(obj)/mainboard/$(MAINBOARDDIR)/initram.o \
+ $(obj)/northbridge/amd/geodelx/raminit.o \
+ $(obj)/southbridge/amd/cs5536/smbus_initram.o \
+ $(obj)/arch/x86/geodelx/geodelx.o
+
STAGE2_MAINBOARD_OBJ =
$(obj)/linuxbios.vpd:
$(Q)printf " BUILD DUMMY VPD\n"
$(Q)dd if=/dev/zero of=$(obj)/linuxbios.vpd bs=256 count=1 $(SILENT)
-INITRAM_OBJ = $(obj)/mainboard/$(MAINBOARDDIR)/initram.o \
- $(obj)/northbridge/amd/geodelx/raminit.o \
- $(obj)/southbridge/amd/cs5536/smbus_initram.o \
- $(obj)/arch/x86/geodelx/geodelx.o
-
Index: LinuxBIOSv3-filteroutduplicatedshared/mainboard/artecgroup/dbe61/Makefile
===================================================================
--- LinuxBIOSv3-filteroutduplicatedshared/mainboard/artecgroup/dbe61/Makefile (Revision 529)
+++ LinuxBIOSv3-filteroutduplicatedshared/mainboard/artecgroup/dbe61/Makefile (Arbeitskopie)
@@ -21,12 +21,12 @@
STAGE0_MAINBOARD_OBJ := $(obj)/mainboard/$(MAINBOARDDIR)/stage1.o
+INITRAM_OBJ = $(obj)/mainboard/$(MAINBOARDDIR)/initram.o \
+ $(obj)/arch/x86/geodelx/geodelx.o
+
STAGE2_MAINBOARD_OBJ =
$(obj)/linuxbios.vpd:
$(Q)printf " BUILD DUMMY VPD\n"
$(Q)dd if=/dev/zero of=$(obj)/linuxbios.vpd bs=256 count=1 $(SILENT)
-INITRAM_OBJ = $(obj)/mainboard/$(MAINBOARDDIR)/initram.o \
- $(obj)/arch/x86/geodelx/geodelx.o
-
Index: LinuxBIOSv3-filteroutduplicatedshared/mainboard/emulation/qemu-x86/Makefile
===================================================================
--- LinuxBIOSv3-filteroutduplicatedshared/mainboard/emulation/qemu-x86/Makefile (Revision 529)
+++ LinuxBIOSv3-filteroutduplicatedshared/mainboard/emulation/qemu-x86/Makefile (Arbeitskopie)
@@ -21,6 +21,15 @@
STAGE0_MAINBOARD_OBJ := $(obj)/mainboard/$(MAINBOARDDIR)/stage1.o
+#
+# This is going to be the init RAM code.
+#
+# The initram file is always uncompressed. It belongs into the mainboard
+# directory and is built from what was auto.c in v2.
+#
+
+INITRAM_OBJ = $(obj)/mainboard/$(MAINBOARDDIR)/initram.o
+
STAGE2_MAINBOARD_OBJ = vga.o
#
@@ -33,12 +42,3 @@
$(Q)printf " BUILD DUMMY VPD\n"
$(Q)dd if=/dev/zero of=$(obj)/linuxbios.vpd bs=256 count=1 $(SILENT)
-#
-# This is going to be the init RAM code.
-#
-# The initram file is always uncompressed. It belongs into the mainboard
-# directory and is built from what was auto.c in v2.
-#
-
-INITRAM_OBJ = $(obj)/mainboard/$(MAINBOARDDIR)/initram.o
-
Author: ward
Date: 2007-12-04 02:15:29 +0100 (Tue, 04 Dec 2007)
New Revision: 2996
Modified:
trunk/LinuxBIOSv2/src/mainboard/supermicro/h8dmr/Config.lb
Log:
Enable vga option rom support for 1MB rom chip, which is what the h8dmr ships with (trivial).
Signed-off-by: Ward Vandewege <ward(a)gnu.org>
Acked-by: Ward Vandewege <ward(a)gnu.org>
Modified: trunk/LinuxBIOSv2/src/mainboard/supermicro/h8dmr/Config.lb
===================================================================
--- trunk/LinuxBIOSv2/src/mainboard/supermicro/h8dmr/Config.lb 2007-12-02 19:03:23 UTC (rev 2995)
+++ trunk/LinuxBIOSv2/src/mainboard/supermicro/h8dmr/Config.lb 2007-12-04 01:15:29 UTC (rev 2996)
@@ -339,11 +339,11 @@
device pci 5.1 on end # SATA 1
device pci 5.2 on end # SATA 2
device pci 6.0 on # PCI
-# chip drivers/pci/onboard
-# device pci 6.0 on end
+ chip drivers/pci/onboard
+ device pci 6.0 on end
+ register "rom_address" = "0xfff00000" #for 1M
# register "rom_address" = "0xfff80000" #for 512K
- # register "rom_address" = "0xfff00000" #for 1M
- # end
+ end
end
device pci 6.1 on end # AZA
device pci 8.0 on end # NIC
Hi all,
The following LinuxBIOS related project was created on Cofundos.org (a platform for describing open-source project ideas and pooling resources for their implementation):
*Boot Windows Vista with LinuxBIOS on real hardware* by coresystems
Tags: linux LinuxBIOS Windows_Vista Boot BIOS
http://Cofundos.org/project.php?id=45
Project description: Installation and booting of Windows Vista on real hardware,..
It has been done in an emulator (Qemu) but never tried on real hardware so far.
See http://linuxbios.org/index.php/Booting_Windows_using_LinuxBIOS
More info at: http://Cofundos.org/project.php?id=45
You can support this project by commenting it or bidding for its impementation!
--
241 Cofundos users were placing 133 bids (amounting Euro 6185) on 67 projects.
*Please help making open-source even more successful*
Spread the word about http://Cofundos.org
When attempting to use buildrom I'm seeing the " undefined reference to
`__stack_chk_fail'" message. I see that this was a topic of discussion
back in January but haven't found anything to say how or if this was
resolved. At the risk of scratching an old itch I have to ask if this
was resolved or if a solution to the problem is still needed.
I'm building on Ubuntu 6.10 which installs a gcc configured for stack
checking. I know about the -fno-stack-protector option when compiling
and have used this as a work-around but I'm thinking that if this was/is
a problem then other host distro dependent issues perhaps will or still
be lurking to catch someone.
Is it a viable solution to have buildrom build a cross-tool chain? Imho:
This would be best in order to have repeatable results. Having config
options to control the gcc and binutils versions cross-host build
repeatability would be improved.
Steve
I forgot one more file:
packages/busybox/conf/defconfig-serengeti_cheetah-x86_64
There are two options:
1. apply defconfig-busybox.patch, which adds the file
2. apply defconfig-busybox2.patch, which removes the dependency and
lets serengeti_cheetah have the same busybox as everyone else
The difference is that I'd added tab completion, command editing, and
a history of 15 commands to make it easier to mount drives, etc.
--- packages/busybox/conf/defconfig 2007-12-03 14:59:55.000000000 -0700
+++ packages/busybox/conf/defconfig-serengeti_cheetah-x86_64
2007-12-03 15:19:50.000000000 -0700
@@ -576,11 +576,11 @@
#
CONFIG_FEATURE_SH_EXTRA_QUIET=y
CONFIG_FEATURE_SH_STANDALONE_SHELL=y
-# CONFIG_FEATURE_COMMAND_EDITING is not set
+CONFIG_FEATURE_COMMAND_EDITING=y
# CONFIG_FEATURE_COMMAND_EDITING_VI is not set
-CONFIG_FEATURE_COMMAND_HISTORY=0
+CONFIG_FEATURE_COMMAND_HISTORY=15
# CONFIG_FEATURE_COMMAND_SAVEHISTORY is not set
-# CONFIG_FEATURE_COMMAND_TAB_COMPLETION is not set
+CONFIG_FEATURE_COMMAND_TAB_COMPLETION=y
# CONFIG_FEATURE_COMMAND_USERNAME_COMPLETION is not set
# CONFIG_FEATURE_SH_FANCY_PROMPT is not set
Put another way, the difference is about 5K in the ROM
Either way is fine with me.
Myles
Signed-off-by: Myles Watson <myles(a)pel.cs.byu.edu>
PS I've since learned to use svn stat, so I'll hopefully forget fewer
files in future diffs
Hi,
I was wondering if LinuxBIOS would work on my Compaq ProLiant 1850R server. The current Compaq BIOS lacks a lot of options.
I identified the following chips on the mainboard:
Super I/O: NSC PC87317
Northbridge: Intel FW82443BX
Southbridge: Intel FW82371EB
SCSI: Symbios LSI 53C876 (on-board)
Video: ATI Rage IIc (on-board)
Best regards,
Michiel.
Hi,
In the mptable.c for various CK804 boards, some settings
are written into the LPC bridge's PCI configuration space.
The comment just before this voodoo leads me to believe
that these registers have something to do with
interrupt mapping.
I've tried the values from the Asus A8N-E, they work
better than the values I extracted from the stock
bios on the MS-7135. (I think I'm making decent
progress on this board.)
Anyway, I have an interrupt storm issue, and I have
no idea how to debug it, short of trying all
79.2 octillion combinations that could
be put in these three registers.
That or, of course, a holiday miracle of nvidia releasing
chipset documentation.
But, somewhere between those two extremes may
lie a feasible method. Or at least I can hope.
Any advice on what these registers should be programmed to?
(Thinking next time he'll insist on a documented chipset ...)
Jonathan Kollasch
Ron mentioned he had strange hangs in pll_reset on various targets. This
may be due to miscompilation of XIP objects which do not have
_MAINBOBJECT defined. This issue was impossible to see on qemu because
no such object existed. Introduce initram_printktest.c in the Qemu
target, which will test for miscompilation and crash with a descriptive
error message.
This has been build tested and runtime tested on Qemu, and with my
compiler/linker combination it indeed crashes.
gcc (GCC) 4.2.1 (SUSE Linux)
GNU ld (GNU Binutils) 2.17.50.20070726-14 (SUSE Linux)
Trying with gcc-4.1 (GCC) 4.1.3 20070724 (prerelease) (SUSE Linux) and
the linker above had exactly the same results.
Unless we manage to fix the bug uncovered by this patch, leaving the
Qemu target in crashing state is the best thing we can do because this
behaviour mirrors the state of all other targets.
Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006(a)gmx.net>
(don't forget "svn add ainboard/emulation/qemu-x86/initram_printktest.c"
if you commit)
Index: LinuxBIOSv3-xiptest/mainboard/emulation/qemu-x86/initram.c
===================================================================
--- LinuxBIOSv3-xiptest/mainboard/emulation/qemu-x86/initram.c (Revision 532)
+++ LinuxBIOSv3-xiptest/mainboard/emulation/qemu-x86/initram.c (Arbeitskopie)
@@ -2,6 +2,7 @@
* This file is part of the LinuxBIOS project.
*
* Copyright (C) 2007 Stefan Reinauer <stepan(a)coresystems.de>
+ * Copyright (C) 2007 Carl-Daniel Hailfinger
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -21,6 +22,8 @@
#include <console.h>
+int printktest(void);
+
/* printktest1() is here to increase the likelihood of main() not ending up at
* the beginning of the file, so we can check whether the entry point at main()
* was honored.
@@ -39,6 +42,9 @@
printk(BIOS_INFO, "RAM init code started.\n");
printk(BIOS_INFO, "Nothing to do.\n");
printktest1();
+ printk(BIOS_INFO, "Trying absolute call from non-_MAINOBJECT XIP code.\n");
+ printktest();
+ printk(BIOS_INFO, "Done.\n");
return 0;
}
Index: LinuxBIOSv3-xiptest/mainboard/emulation/qemu-x86/initram_printktest.c
===================================================================
--- LinuxBIOSv3-xiptest/mainboard/emulation/qemu-x86/initram_printktest.c (Revision 0)
+++ LinuxBIOSv3-xiptest/mainboard/emulation/qemu-x86/initram_printktest.c (Revision 0)
@@ -0,0 +1,31 @@
+/*
+ * This file is part of the LinuxBIOS project.
+ *
+ * Copyright (C) 2007 Carl-Daniel Hailfinger
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#include <console.h>
+
+int printktest(void)
+{
+ /* If printk succeeds, it will print the message below. This is not a
+ * success message after a test, but a success message used as test.
+ * In case of compiler/linker bugs the printk call is likely to crash.
+ */
+ printk(BIOS_INFO, "Absolute call successful.\n");
+
+ return 0;
+}
Index: LinuxBIOSv3-xiptest/mainboard/emulation/qemu-x86/Makefile
===================================================================
--- LinuxBIOSv3-xiptest/mainboard/emulation/qemu-x86/Makefile (Revision 532)
+++ LinuxBIOSv3-xiptest/mainboard/emulation/qemu-x86/Makefile (Arbeitskopie)
@@ -40,5 +40,6 @@
# directory and is built from what was auto.c in v2.
#
-INITRAM_OBJ = $(obj)/mainboard/$(MAINBOARDDIR)/initram.o
+INITRAM_OBJ = $(obj)/mainboard/$(MAINBOARDDIR)/initram.o \
+ $(obj)/mainboard/$(MAINBOARDDIR)/initram_printktest.o