[Vm-dev] Help: Float returns on RISCV

Boris Shingarov boris at shingarov.com
Fri Jul 1 23:25:23 UTC 2022


> I quite don't remember where and how we handle target description annex
It's in RemoteGdbXFER>>regTransfersFrom:, which takes a PPXmlElement 
(the annex received from the stub) and returns an Array of 
RSPOneRegisterTransfers sorted by the GDB's idea of "regNum" (which 
isn't necessarily contiguous, for example the Motorola e500v2 has no 
regNum 70). Near the end of prepareSession, this array is passed to 
AcProcessorDescription>>regsInGPacket:.

Then during the actual debugging, de/serialization is done in 
RemoteGDB>>decodeGPacket:/sendRegistersToRSP.

> We may need to work around CSRs,
> they're not (yet) modelled in (my) RISC-V ArchC model
That shouldn't matter, because right now there is no connection between 
GDB's names and ArchC's names for registers.  Yes it's broken; yes we 
should fix it; but that's what on GitHub right now.

> I do have some time tomorrow (Saturday; 2 July) in Pacific Time Zone
Hmmm... how about some day during the week?  This weekend is Canada Day 
and this always means guests etc.

> So building and debugging takes patience
Wait... you build stuff on the board?  I don't exactly remember how I built the interpreter OpenSmalltalkVM for the Neuquén demo in November 2019, but I *think* cross-compiling OSTVM *should* work.  Or maybe it was my own hacked version of Cog (the one that doesn't quite slang yet)... damn, my brain is failing, I don't remember.  But I have the SD card I was running the Neuquén demo off, untouched, so we can go look.
> work left on assembly/disaasembly support for flw/fld/fsw/fsd
I am *CERTAIN* one can debug the JIT without FPU, *if* one disables initialization of Morphic, -- because that's what I was showing at the Second Hackathon (~500,000 bytecodes before the Reader REPL comes up, on the e500v2 which doesn't have IEEE FP).



More information about the Vm-dev mailing list