Commit Graph

11 Commits

Author SHA1 Message Date
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 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
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 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 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
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