[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