[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