[Vm-dev] Microhackathon [WAS Help: Float returns on RISCV]

Boris Shingarov boris at shingarov.com
Wed Jul 6 17:09:57 UTC 2022


Ken, Jan:

I am reading through the code we showed at the Second Hackathon and now 
I remember what the holdup was with RV64 (and with 64-bit TaCog in 
general): SpurMemoryManager>>memoryClass. In simulated OpenSmalltalk, 
the Alien's mapped (non-fake) address space is backed by a Bitmap (in 
32-bit) or a DoubleWordArray (in 64-bit).  Under the ULD, there is no 
difference between production and simulation, so the address space is 
always the CPU's address space.  But the rest of the simulator still 
thinks the memory is a Bitmap!!!  So, I made a class called RemoteRAM, 
this is a proxy that looks like a Bitmap on the outside but is backed by 
the real RAM.  This works perfectly well.  However, I haven't gotten 
around to care a similar proxy for DoubleWordArray.

::browsing through the code of RemoteRAM::

Hmm... I *think* this what's on GitHub right now, *might* work. Back in 
2020 when I wrote this, I was interested in demonstrating that Cog does 
fully boot on a never-supported-before processor (OpenPOWER) in a 
long-ago-abandoned endianness (BE); so I wasn't really careful about the 
other cases: they may have rotten.  We will have to check, I think this 
would be our first step to get Cog on RV64.

Thursday I have an appointment, how about Friday?  I am free all day.

Boris




More information about the Vm-dev mailing list