Commit Graph

24 Commits

Author SHA1 Message Date
Andreas Färber
18b3992073 Zero-pad byte properties
.properties before:
someproperty              -- 3 : 1 42 3

Now:
someproperty              -- 3 : 01 42 03

Signed-off-by: Andreas Färber <andreas.faerber@web.de>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>

git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@890 f158a5a8-5612-0410-a976-696ce0be7e32
2010-10-09 10:16:21 +00:00
Mark Cave-Ayland
8943d89e26 Alter (encode-bootpath) so that it processes a string on the stack rather than using the parse buffer directly. This enables us
to ensure that execution of any platform-specific boot code can occur before the main "load & go" boot, even if they invoke 
Forth commands that alter the parse buffer.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@siriusit.co.uk>


git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@854 f158a5a8-5612-0410-a976-696ce0be7e32
2010-08-21 10:21:01 +00:00
Mark Cave-Ayland
f9bdcf050c Rework the OpenBIOS internals so that boot, load and init-program now all use the unified libopenbios loader code with improved
IEEE-1275 spec compliance.

This patch implements the following:

1) Fix bootpath/bootargs handling so that default values are read from NVRAM, and allow multiple space-separated values to be 
specified.
2) With correct bootargs handling in place, move the ELF loader over to the new libopenbios unified loaders.
3) Remove all the loader code from all architecture directories sine we don't need it anymore.
4) Simplify the boot word so it invokes platform-specific code where required, then calls load and go as per the specification.

Tested on all my available images for SPARC32, SPARC64 and PPC, and compile-tested on x86.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@siriusit.co.uk>


git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@828 f158a5a8-5612-0410-a976-696ce0be7e32
2010-08-01 15:13:48 +00:00
Mark Cave-Ayland
004dc4cf85 Fix up NVRAM settings for boot-device and boot-args.
This patch originally started as a fix for PPC, in that the NVRAM initialiser wasn't been run on startup (this is why printenv 
on PPC always showed much much less than on SPARC). However, it also showed up some inconsistent logic for boot device 
selection, which must also happen *before* boot is called in order for load to work correctly. With this patch applied, bootpath 
and bootargs are set from boot-device and boot-args respectively on startup for SPARC32, SPARC64 and PPC.

Note: there is a small chance SPARC32 may break on some images - please let me know if it does.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@siriusit.co.uk>


git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@805 f158a5a8-5612-0410-a976-696ce0be7e32
2010-06-28 11:58:28 +00:00
Mark Cave-Ayland
50e344721c Fix up parse word so that it can correctly handle empty arguments and (encode-bootpath) word so that it can handle optional
arguments. With these fixes in place we can now switch the boot word to use (encode-bootpath) which means that the bootpath and 
bootarg properties are now set exactly the same when executing boot and/or load.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@siriusit.co.uk>


git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@803 f158a5a8-5612-0410-a976-696ce0be7e32
2010-06-28 05:16:15 +00:00
Blue Swirl
cab993ac04 Fix Sparc32 boot breakage: define load-base
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>

git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@802 f158a5a8-5612-0410-a976-696ce0be7e32
2010-06-27 20:08:21 +00:00
Mark Cave-Ayland
3d7832bba9 Implement a basic C loader function in load.c that tries to load each supported executable file format. Now that the ihandle
hierarchy is correct, we can simply pass an ihandle into the loader and it will work correctly regardless of whether it is being 
invoked on an entire disk, partition or individual file.

In order to test the new code, start by switching the Fcode loader over to the new infrastructure for testing on SPARC64. Note 
this patch also contains a correction to load-base on SPARC which was being set to a value other than 0x4000 which is the 
documented default.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@siriusit.co.uk>


git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@798 f158a5a8-5612-0410-a976-696ce0be7e32
2010-06-25 20:42:00 +00:00
Blue Swirl
0b0411515c Make auto-boot default again
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>

git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@661 f158a5a8-5612-0410-a976-696ce0be7e32
2010-01-03 08:58:56 +00:00
Blue Swirl
fdf932f477 Fix non-Sparc64 architecture breakage by r657
Build broke with:
  GEN   openbios.dict
 undefined word.

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>

git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@660 f158a5a8-5612-0410-a976-696ce0be7e32
2010-01-03 08:58:55 +00:00
Mark Cave-Ayland
301d419d4c Add Stefan's hack for load-base to allow it to be referenced as a value from within Fcode bootloaders such as Milax.
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@657 f158a5a8-5612-0410-a976-696ce0be7e32
2010-01-02 12:43:59 +00:00
Mark Cave-Ayland
8c7efc5939 Add load-base NVRAM variable for SPARC64.
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@656 f158a5a8-5612-0410-a976-696ce0be7e32
2010-01-01 18:21:18 +00:00
Stefan Reinauer
7dbe5e6507 This patch replaces the string definitions in nvram.fs by the
simpler version s" that does not contain a complex parser for
" "(0a) type of strings.

Also use handle-text in " instead of the hand crafted version. This fixes 
strings in "see".

Signed-off-by: Stefan Reinauer <stepan@coresystems.de>



git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@613 f158a5a8-5612-0410-a976-696ce0be7e32
2009-11-17 16:54:24 +00:00
Laurent Vivier
ebf7e3f6da According to IEEE Std 1275-1994, "CORE REQUIREMENTS AND PRACTICES",
Annexe H.8, "User interface name changes", "select-dev" and
"unselect-dev" have been obsoleted and replaced by "open-dev" and 
"device-end".
But some scripts (like BootX) are using the obsoleted name, so we need 
to
define them.

Signed-off-by: Laurent Vivier <Laurent@vivier.eu>



git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@582 f158a5a8-5612-0410-a976-696ce0be7e32
2009-09-20 04:20:48 +00:00
Laurent Vivier
a58190e204 Define load-base to follow memory mapping defined in the BootX source
comments.

This as been reported by Steven Noonan.



git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@573 f158a5a8-5612-0410-a976-696ce0be7e32
2009-08-29 21:09:21 +00:00
Laurent Vivier
2db781a446 Replace yaboot_startup() by newworld_boot() which implements generic
CHRP boot method.
It finds the CHRP bootscript using the file attribute 'tbxi' and 
the blessed directory.

This method allows to boot easily Fedora (the bitness detection is done
by the script and yaboot is called with the according yaboot.conf) but
openSUSE is broken (you have to use "boot cd:,\suseboot\yaboot")
Debian works well (as usual...).
The openSUSE needs the missing forth words: "load" and "go".
The MacOS bootloader (BootX) is also loaded automatically but forth 
script is too complex to be executed correctly.

Signed-off-by: Laurent Vivier <Laurent@vivier.eu>


git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@571 f158a5a8-5612-0410-a976-696ce0be7e32
2009-08-29 15:43:00 +00:00
Blue Swirl
50d363515e Read the diagnostic mode setting from NVRAM (Mark Cave-Ayland)
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@491 f158a5a8-5612-0410-a976-696ce0be7e32
2009-05-22 17:09:05 +00:00
Blue Swirl
a757800a01 Remove unnecessary trailing newlines
git-svn-id: svn://coreboot.org/openbios/openbios-devel@285 f158a5a8-5612-0410-a976-696ce0be7e32
2008-12-13 09:26:41 +00:00
Blue Swirl
431f0f7f28 Fix NetBSD 4.0 booting
git-svn-id: svn://coreboot.org/openbios/openbios-devel@279 f158a5a8-5612-0410-a976-696ce0be7e32
2008-12-01 19:08:33 +00:00
Blue Swirl
c4f3fbc099 Fix boot-device use
git-svn-id: svn://coreboot.org/openbios/openbios-devel@138 f158a5a8-5612-0410-a976-696ce0be7e32
2007-05-04 20:55:05 +00:00
Stefan Reinauer
9f386f64bd add reset-all and reset for sparc32
git-svn-id: svn://coreboot.org/openbios/openbios-devel@48 f158a5a8-5612-0410-a976-696ce0be7e32
2006-06-05 20:34:53 +00:00
Stefan Reinauer
172438f171 - update dates
- fix address output of ls


git-svn-id: svn://coreboot.org/openbios/openbios-devel@34 f158a5a8-5612-0410-a976-696ce0be7e32
2006-05-26 11:14:20 +00:00
Stefan Reinauer
40d0162516 blueswirl sparc32 -17 (without romvec.c changes)
git-svn-id: svn://coreboot.org/openbios/openbios-devel@32 f158a5a8-5612-0410-a976-696ce0be7e32
2006-05-25 21:02:53 +00:00
Stefan Reinauer
45538d9e4f phandles are addresses, so print them unsigned.
git-svn-id: svn://coreboot.org/openbios/openbios-devel@7 f158a5a8-5612-0410-a976-696ce0be7e32
2006-05-05 10:25:53 +00:00
Stefan Reinauer
5c9eb9b45b initial import of openbios--main--1.0--patch-26
git-svn-id: svn://coreboot.org/openbios/openbios-devel@1 f158a5a8-5612-0410-a976-696ce0be7e32
2006-04-26 15:08:19 +00:00