[Fwd: Re: [OpenBIOS] patch: machine dependent config]
Segher Boessenkool
segher at chello.nl
Fri Jun 7 23:17:30 CEST 2002
> > > Just a dumb idea, could we rewrite the preprocessing and testing
> > > completely in C? I know that there are a lot of issues with perl on
> >
> > Nope, cpp can't do all that's necessary. Btw, once we have a working
> > Forth compiler, we can use that to bootstrap itself :)
>
> You're talking about forth -> binary translation? That is not what we
> want, I guess. Can you explain?
There's three ways to represent a program:
1) Forth source
2) Forth dictionary (binary)
3) Forth dictionary/source (FCode)
3) is limited, but cross-platform; it's the prefered way for device
manufacturers to distribute drivers, but there's no reason to implement
our internal stuff with FCode.
2) is okay, but machine-specific.
1) is our prefered form.
But that leads to a problem: the Forth compiler itself is written in
Forth. So the "initial dictionary" will have to be distributed as 2).
That's exactly what ref.pl + cpp magic do: they convert "pseudo-forth"
source (engine.in) to dictionary.
Now, what I said was: when we have the Forth compiler finished, we can
have the engine.in compile a engine.fs, to replace itself.
> > > newer platforms, which could make it hard to get paflof running on new
> > > machines, even if we already have a gcc. Ugly though. If this is
> >
> > Cross-compilers save the day :)
>
> Cross compilers is exactly where this stops working. If I cross compile
> for SH1 CPUs using a crosscompiler on Intel x86, my perl nor my gcc will
> never tell me whether my 'long' is 32 or 64bit on the target platform.
> We probably can't even use this to check for TI mode availability
Sure you can; you just can't run the target programs, but of course the
compiler knows the target data sizes :)
> > I hope to finish the "Forth command group" today :)
>
> How much work has to be done here?
One or two days, plus some cleanup, but that can be done later.
> How far are we from being able to
> read FCode with this (i.e. use the work in the fcode/base/ directory
> already done?
This is the Forth compiler, not yet the FCode compiler; that one is a lot
easier.
> Please make sure we don't do duplicate work here.
I'll try :)
> " text" is the only one missing to get the mandelbrot signature, one
> of my toke test programs, running. Then we can start using the example
> code and really testing the Fcode layer on top.
I'll implement it without things like S" blabla(0d)(0a)blabla" etc., at
first. It'll be here later tonight :)
Segher
-
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