Commit Graph

25 Commits

Author SHA1 Message Date
Igor V. Kovalenko
91857d3a8c pathres: consistently encode unit address on 64bit target
This change fixes node unit address matching on arch
where cell is not 4 byte integer (tested with sparc64.)

Since we encode "reg" property chunks with encode-int
we need to use the same encoding while preparing unit
phys addr for comparison at path resolution time.

- (exact-match): calculate phys addr length using 4 byte
  member encoding with /l* not cells

- find-child: encode phys addr components similar to
  encode-int with 4 byte stores

Signed-off-by: Igor V. Kovalenko <igor.v.kovalenko@gmail.com>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>

git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@674 f158a5a8-5612-0410-a976-696ce0be7e32
2010-02-03 17:54:14 +00:00
Mark Cave-Ayland
46f2ccaf6d Change the new-device word so that subsequent words within a new device are added to the public wordlist and not
the private wordlist by default. This is required for executing Milax Fcode which defines package words which need to be externally 
visible.

As a consequence, it is now possible to remove lots of "external" words used building the device tree since this is now the 
default.


git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@655 f158a5a8-5612-0410-a976-696ce0be7e32
2010-01-01 18:17:15 +00:00
Mark Cave-Ayland
3ef33eb736 Correct Forth data stack when the alarm word is used (the implementation is currently missing, but we'll worry about that a bit
later). This allows us to proceed further with SPARC64 boot.

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


git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@642 f158a5a8-5612-0410-a976-696ce0be7e32
2009-12-09 18:44:01 +00:00
Mark Cave-Ayland
7253d7b0af Revert r638, apply previous patch to extend control flow stack items to 2 data stack items, and fix the Fcode evaluator to use
this new information to correctly resolve destination (b<mark) references. See the email archives for further discussion on why 
this is required.

Hopefully this should finally resolve the Fcode backward branch problem; at least all previous incorrect resolutions now appear 
correct and the Fcode evaluator no longer crashes or gets stuck in a loop while attempting to boot Milax.



git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@641 f158a5a8-5612-0410-a976-696ce0be7e32
2009-12-09 01:09:48 +00:00
Mark Cave-Ayland
dbc5a9c3ba Fix backwards Fcode branches (bbranch and b?branch).
According to the specification, the destination for a backwards Fcode branch must be resolved from the bottom rather than the 
top of the cstack. The existing version of the code was simply doing a swap, and so nesting any branches within a backward branch 
would fail since the wrong destination would be resolved from the stack.

This patch adds a new cstack-startdepth variable to keep track of the cstack base location within an execution context 
(setup-tmp-comp and execute-tmp-comp) and alters the backward branches to make use of it.

With this patch in place, Milax under Qemu doesn't crash anymore but sits in an infinite loop reading sectors from the CDROM.


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



git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@638 f158a5a8-5612-0410-a976-696ce0be7e32
2009-12-03 15:47:39 +00:00
Stefan Reinauer
b1cb73b506 fix ms
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@618 f158a5a8-5612-0410-a976-696ce0be7e32
2009-11-20 15:42:28 +00:00
Stefan Reinauer
7c14e1eac7 - hook up new 64bit words into fcode table.
- dummy implementations for peek, poke, ms and get-msecs


git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@617 f158a5a8-5612-0410-a976-696ce0be7e32
2009-11-20 15:40:53 +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
Blue Swirl
c1a48cf75c Fix b(field) Fcode evaluation (Mark Cave-Ayland)
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@499 f158a5a8-5612-0410-a976-696ce0be7e32
2009-05-30 07:41:48 +00:00
Blue Swirl
0ac767a200 Implement push-package/pop-package (Mark Cave-Ayland)
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@497 f158a5a8-5612-0410-a976-696ce0be7e32
2009-05-24 11:04:06 +00:00
Blue Swirl
f13e795c12 Implement /x FCode (Mark Cave-Ayland)
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@495 f158a5a8-5612-0410-a976-696ce0be7e32
2009-05-23 15:31:31 +00:00
Igor Kovalenko
02130e8240 Fix regprop int encoding (Igor Kovalenko)
Wrong encoding of "#address-cells" property can lead to a failure
fetching correct value in my-#acells method. According to docs
properties must be encoded with "encode-int". I spent some time
looking at the docs and it is clear that encode-int produces
quad-sized result (of size /l bytes).

This patch fixes pci helpers to encode to 32bit instead of 64bit values,
and correctes my-address and my-unit methods to read 32bit data
to match encode-int rules
modules/bindings.c: also fixed set_int_property and get_int_property
to match encode-int rules

Signed-off-by: Igor Kovalenko <igor.v.kovalenko@gmail.com>


git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@493 f158a5a8-5612-0410-a976-696ce0be7e32
2009-05-22 17:14:10 +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
a924d32bcc Fix various bugs in bbranch and b?branch implementations (Mark Cave-Ayland)
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@485 f158a5a8-5612-0410-a976-696ce0be7e32
2009-04-28 16:40:49 +00:00
Blue Swirl
7948face2b Display more information when ?fcode-verbose enabled (Mark Cave-Ayland)
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@484 f158a5a8-5612-0410-a976-696ce0be7e32
2009-04-13 17:05:41 +00:00
Blue Swirl
604f68deaf Correct b?branch for negative offset branches (Mark Cave-Ayland)
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@483 f158a5a8-5612-0410-a976-696ce0be7e32
2009-04-12 18:53:37 +00:00
Blue Swirl
7563abe630 Fix fcode-offset sign extension problem (Mark Cave-Ayland)
git-svn-id: svn://coreboot.org/openbios/openbios-devel@460 f158a5a8-5612-0410-a976-696ce0be7e32
2009-02-27 21:04:01 +00:00
Blue Swirl
ef41834dc2 Fix b?branch (Mark Cave-Ayland)
git-svn-id: svn://coreboot.org/openbios/openbios-devel@458 f158a5a8-5612-0410-a976-696ce0be7e32
2009-02-21 16:27:51 +00:00
Blue Swirl
397977b9a6 Disable romfont: unused
git-svn-id: svn://coreboot.org/openbios/openbios-devel@379 f158a5a8-5612-0410-a976-696ce0be7e32
2009-01-10 11:49:43 +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
b7d48e0105 Remove package finding code that finds unrelated packages
git-svn-id: svn://coreboot.org/openbios/openbios-devel@232 f158a5a8-5612-0410-a976-696ce0be7e32
2008-08-30 10:55:33 +00:00
Blue Swirl
6f94c89a68 Rename /packages/client-iface to /openprom/client-services
git-svn-id: svn://coreboot.org/openbios/openbios-devel@229 f158a5a8-5612-0410-a976-696ce0be7e32
2008-08-10 18:12:17 +00:00
Stefan Reinauer
247c616971 Fix for interpose problem.
git-svn-id: svn://coreboot.org/openbios/openbios-devel@127 f158a5a8-5612-0410-a976-696ce0be7e32
2007-04-24 19:19:58 +00:00
Stefan Reinauer
280a06e3d9 small fixes/enhancements for solaris
git-svn-id: svn://coreboot.org/openbios/openbios-devel@43 f158a5a8-5612-0410-a976-696ce0be7e32
2006-06-05 19:30:59 +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