Hi all.
I know I need Bochs to use the BochsIA32Plugin and I would like to include some info on how to do this in the class comment for the same. (also, I am going to attempt to compile against it, so knowing what to do would be helpful too (: )
Has somebody documented this already?.
My apologies if this is old-hat. A search of my mail archives does not turn up anything obvious
thx.
tty
Hi Timothy,
On Mon, Jun 2, 2014 at 2:36 PM, gettimothy gettimothy@zoho.com wrote:
Hi all.
I know I need Bochs to use the BochsIA32Plugin and I would like to include some info on how to do this in the class comment for the same. (also, I am going to attempt to compile against it, so knowing what to do would be helpful too (: )
Has somebody documented this already?.
I'm not sure I'm answering your question, but ave you seen processors/IA32/bochs/README.COG? Tis explains how to build the support libraries. The Cog simulator and the CogIA32CompilerTests use the Bochs plugin.
Specifically what do you expect to be documented?
My apologies if this is old-hat. A search of my mail archives does not turn up anything obvious
thx.
tty
Thanks Eliot.
>>I'm not sure I'm answering your question, but ave you seen processors/IA32/bochs/README.COG? Tis explains how to build the support libraries. I know I had seen something on it somewhere, thanks for reminding me.
>>Specifically what do you expect to be documented?
An answer to the question "What the heck is this for?" for newbies like me (:
Let me elaborate a bit.
Last night, I got Bochs installed and running a couple of images from their site (alas, Plan9 hangs on boot, so no squeak install on Plan9 this week) so I can think about how this might fit together. Here are my thoughts, such as they are...
1. Bochs emulates computer hardware and you can run various operating systems on that hardware emulation. 2. In the same way Cog targets the x86, ARM and RiscOS platforms, Cog targets the Bochs platform. 3. To do so, Cog needs some configuration on that platform to run, which is provided in bochs .conf.xyz file 3.a See the processors/IA32/bochs/README.COG for details of which config file to use). At this point, the ability to boot and use Bochs is assumed. 4. Boot your bochs image with that .conf.xyz file 4.b (does the image already have the SVN source tree on it? do we download it with svn?) 5. Navigate to the correct directory (which one?) and build the VM with the BochsPlugin 6. scratch chin and mutter "hmmmmm". 7 "The Cog simulator and the CogIA32CompilerTests use the Bochs plugin." while an image is running on Bochs platform?
As you can see, my thought process gets muddy at steps 4 through 7 and I would like to clean that up. Then, put those thoughts into the class comment (or elsewhere) of the BochsPlugin such that answering the question "what the heck is this for?" is shortened a bit (:
Cheers,
tty
Hi tty:
On 02 Jun 2014, at 23:36, gettimothy gettimothy@zoho.com wrote:
I know I need Bochs to use the BochsIA32Plugin and I would like to include some info on how to do this in the class comment for the same. (also, I am going to attempt to compile against it, so knowing what to do would be helpful too (: )
Has somebody documented this already?.
Since you are working with the CMake infrastructure, you probably want to have a look at some of these commits in here: https://github.com/pharo-project/pharo-vm/pull/20
It wasn’t yet merged, but it adds support to build Bochs for OSX. Before it can be merged, it needs to be probably cleaned up and the other platforms need to be added.
Best regards Stefan
Hi Stefan.
Thank you.
Once I understand (and can state correctly) what it means to "build bochs" I will definitely give this a go.
Cheers.
tty
---- On Mon, 02 Jun 2014 23:55:27 -0700 Stefan Marr<smalltalk@stefan-marr.de> wrote ----
Hi tty:
On 02 Jun 2014, at 23:36, gettimothy <gettimothy@zoho.com> wrote:
> I know I need Bochs to use the BochsIA32Plugin and I would like to include some info on how to do this in the class comment for the same. (also, I am going to attempt to compile against it, so knowing what to do would be helpful too (: ) > > Has somebody documented this already?.
Since you are working with the CMake infrastructure, you probably want to have a look at some of these commits in here: https://github.com/pharo-project/pharo-vm/pull/20
It wasn’t yet merged, but it adds support to build Bochs for OSX. Before it can be merged, it needs to be probably cleaned up and the other platforms need to be added.
Best regards Stefan
Hi tty:
On 03 Jun 2014, at 13:48, gettimothy gettimothy@zoho.com wrote:
Once I understand (and can state correctly) what it means to “build bochs" I will definitely give this a go.
The most relevant part is this method, I think:
https://github.com/smarr/pharo-vm/blob/a4462dd599c919775ff3910fdca9891fd7be7...
It is the CMakeVMMaker definition to downloads two files we do not want in the repo, sets the necessary flags, and executes Eliot’s scripts.
Best regards Stefan
Hi Stefan.
>The most relevant part is this method, I think:
>https://github.com/smarr/pharo-vm/blob/a4462dd599c919775ff3910fdca9891fd7be7...
>It is the CMakeVMMaker definition to downloads two files we do not want in the repo, sets the necessary flags, and executes Eliot’s scripts.
Thank you. I have your link flagged for follow up as I proceed.
Your link reminds me of an issue I have ignored on the Squeak port of the CMakeVMaker work and that is the dynamic loading of "extra stuff" that the Pharo team does using git;
cmd: 'file' params: 'DOWNLOAD "http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;h..." "${topDir}/processors/IA32/bochs/config.sub" STATUS downloadStatus SHOW_PROGRESS'; cmd: 'file' params: 'DOWNLOAD "http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess..." "$"${topDir}/processors/IA32/bochs/config.guess" STATUS downloadStatus SHOW_PROGRESS' You also do something similar in the build.sh script's call to ../scripts/extract-commit-info.sh which does a git call too. I think I have seen stuff to load required libraries too.
cordially,
tty
vm-dev@lists.squeakfoundation.org