[Vm-dev] a question about building ARM support code in processors

Tim Olson tim.olson.mail at gmail.com
Sun Oct 18 16:06:14 UTC 2015


On Oct 18, 2015, at 8:41 AM, Robert Withers <robert.w.withers at gmail.com> wrote:

> Thank you, Tim! That fixed the issue and I now have a libsim.a.
> 
> I have a 64-bit machine and I installed 32-bit ubuntu. I'm sad about that and happy about this.
> 
> I am rebuilding the VM to see if the ARM plugin builds...which it did and I have that plugin.
> 
> Would you know the script to fire off an ARM simulation?

check the README in Cog/image, and use buildspurtrunkvmmakerimage.sh and buildspurtrunkreaderimage.sh to build the two spur images.  Then run your new VM on the SpurVMMaker.image.  In the image are a bunch of squeak workspaces.  Find the one titled “VM Simulation Workspace”.  About 7 lines down in that workspace are two commented-out choices: “ISA ARMv5” and “ISA IA32”.  

Start by uncommenting the ISA IA32 (remove quotes), then select everything from the beginning of the workspace to the line “cos openAsMorph; run)” and DoIt.  This will open up a simulation (running the x86 interpreter) on the “spurtrunkreader.image” image.  This runs for a little while for me before popping up an error message “Error: non-float was stored”.  I temporarily got around that by clicking on Debug for the floatAt: and commenting out the “self error…” line, then doing a restart then proceed.  Eventually you will get to a point where it will pop up a requester box labeled “Input please!”, which shows that the simulated image is running correctly.

You can then try running with the ARM simulator instead of the IA32 simulator by uncommenting it and commenting the ISA IA32 back again.  However, you won’t get as far, as there are still problems with ARM simulation and Cog ARM code generation.

	— tim



More information about the Vm-dev mailing list