[OpenBIOS] [PATCH] RFC: Increase dictionary size on SPARC64
Tarl Neustaedter
tarl-b2 at tarl.net
Wed Apr 14 05:34:48 CEST 2010
On 2010-4-13 11:19 PM, Segher Boessenkool wrote:
>> Unfortunately, it does matter. FCode still expects to run in 32-bit mode
>> and use 32-bit pointers, so the 64-bit address space doesn't buy us
>> anything.
>>
> FCode uses 64-bit pointers on a 64-bit OF. The only thing that's
> always 32-bit in FCode are the literals (and of course many badly-written
> FCode drivers do not work properly on 64-bit OF).
>
Right. *Most* existing FCode drivers out there are written under
FCode-version2 rules, and expect 32-bit machines.
It's possible to write 64-bit FCode using FCode-version3, but few do.
Most make implicit assumptions about truncating arithmetic operations at
32 bits and fitting pointers into 32-bit values (read/written with
variants of l@/l!) even among the Fcode-Version3 drivers. Regrettable,
but real.
I recently had an unpleasant experience porting the MD5 algorithm to
64-bit (needed to run under Forth rather than FCode), and turned the air
blue finding all the places where bad assumptions were made.
More information about the OpenBIOS
mailing list