[OpenBIOS] Some thoughts on paflof.
Stefan Reinauer
stepan at openbios.net
Tue Jun 11 17:41:02 CEST 2002
Hi...
to get things to a point where smaller projects can be split off
OpenBIOS allowing easier and more wide-spread development, we should
change paflof to some point where it is usable for development...
Some random thoughts that are written down below.
Please comment on this.. We got to get it going asap...
* according to IEEE 1275 paflof needs to be able to parse words case
independant.
To achieve this we have to change parse word to uppercase a word
before it is looked up.
hex
: uppercase ( char -- uppercasechar ) dup 61 7a between 20 - ;
: uppercases ( addr len -- ) bounds do i c@ uppercase i c! /c +loop ;
PARSE-WORD should then contain 2DUP UPPERCASES
CHAR uses PARSE-WORD illegaly. it should be replaced by the expanded
version of the current PARSE-WORD implementation.
* paflof needs load_dictionary and dump_dictionary.
for bootstrapping it will be compiled with a primword + minimal
dictionary created by the preprocessor. When this is done, the words
are defined in normal forth, compiled to dictionary and then the
dictionary is dumped. Putting more words into preprocessor magic
only bloats this part of the implementation and does not make sense
from a project point of view (Several people would have to work on
the same part of code, which Segher does not prefer to see anyways)
* Having different implementations of load_dictionary will allow us to
use either the preprocessor based dictionary or a dumped one,
depending on which dictionary target file is linked. In a flashed
system load_dictionary would only change the dictionary pointer to a
certain address in ram or rom.
* The dictionary should be position independant. This will allow to
relocate it at will in the flashed bios later on. The host version
of paflof should be able to load the dictionary from a plain
file at any position. Some enhancements for the flashed version of
paflof come to my mind, i.e. having the choice between a full blown
and a backup dictionary, i.e comparable to the emergency bios part
in current legacy implementations.
* The prim words are part of paflof, not the dictionary, logically seen.
It does not make sense to make them position independant, as this
would probably hurt performance on broken architectures like x86.
We need a DOPRIM to connect the prim words to the dictionary then.
* Therefore paflof should be stripped down to only contain words needed
for bootstrapping the next abstraction level: the forth dictionary.
Regards,
Stefan
--
The x86 isn't all that complex - it just doesn't make a lot of
sense. -- Mike Johnson, Leader of 80x86 Design at AMD
Microprocessor Report (1994)
-
To unsubscribe: send mail to majordomo at freiburg.linux.de
with 'unsubscribe openbios' in the body of the message
http://www.freiburg.linux.de/OpenBIOS/ - free your system..
More information about the openbios
mailing list