Commit Graph

14 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
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
Blue Swirl
d6aac5ffe2 Reworked version of Forth Source debugger (Mark Cave-Ayland)
This patch implements the following Forth words:

   debug <xt> - Mark word for debugging
   debug-off  - Unmark all words for debugging
   resume     - Return from subordinate Forth interpreter

The source debugger also implements the following commands when it has
been activated:

   Up - Unmark current word for debugging, mark parent and continue
   Down - Mark next word for debugging
   Trace - Continue execution until end of word displaying
           debug information
   Rstack - Display contents of the Rstack
   Forth - Launch subordinate Forth interpreter

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

git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@611 f158a5a8-5612-0410-a976-696ce0be7e32
2009-11-15 21:03:51 +00:00
Laurent Vivier
3e457210bd Implement "$=" to compare two strings (needed by BootX)
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@572 f158a5a8-5612-0410-a976-696ce0be7e32
2009-08-29 20:42:22 +00:00
Blue Swirl
dfb87d8446 Minor tweaks to dump word output (Mark Cave-Ayland)
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@511 f158a5a8-5612-0410-a976-696ce0be7e32
2009-07-12 20:16:39 +00:00
Blue Swirl
0d8df65985 Don't add padding spaces when evaluating headerless words (Mark Cave-Ayland)
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@502 f158a5a8-5612-0410-a976-696ce0be7e32
2009-06-06 14:57:25 +00:00
Blue Swirl
14cdca306d Fix b(case)...b(of)...b(endof)...b(endcase) (Mark Cave-Ayland)
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@498 f158a5a8-5612-0410-a976-696ce0be7e32
2009-05-24 11:15:48 +00:00
Igor Kovalenko
17594b70b8 forth: add more pockets
This changes pocket index calculation to support more than two pockets.
As an example default number of pockets is set to 4.
This should ease nesting more than two levels using pockets as
temporary storage.

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


git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@494 f158a5a8-5612-0410-a976-696ce0be7e32
2009-05-22 17:15:48 +00:00
Blue Swirl
0ba0e77ecd Fix b(do) ... b(leaves) ... b(loop)/b(+loop) (Mark Cave-Ayland)
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@492 f158a5a8-5612-0410-a976-696ce0be7e32
2009-05-22 17:09:52 +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
a7188cc237 Fix pad alignment
git-svn-id: svn://coreboot.org/openbios/openbios-devel@231 f158a5a8-5612-0410-a976-696ce0be7e32
2008-08-30 10:51:55 +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