Want to start using/porting HydraVM

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Want to start using/porting HydraVM

Tapple Gao
 
Hi. I'm working on a project at my school to make squeak run on
a Cell Broadband Engine, and HydraVM seems the best way to do
that. Currently, the easiest/simplest way I see to do that is
to:

1. Port HydraVM to Linux
2. Get it running on a Cell
3. Modify it so the sub-interpreters run in a SPU thread rather
   than a PPU thread
4. Add a plugin for Cell's Memory Flow Controller to Craig's
   Flow stream library
5. Get a tiny spoon image started on each SPU

Unfortunately, I'm totally new to VM development, and don't know
a good way to get started. Currently, I don't have a PS3, only a
Cell emulator, and I don't want to figure out how to adapt
Squeak to cross-compile onto it, as it won't be neccessary in
the long term. So:

What is the best way to get started finding my way around the
VM, and figuring out what modifications you made for Hydra? Are
there specific C files I should be looking at, or is it mostly
changes made within VMMaker? I've never figured out how to
successfully build a VM using VMMaker, I've only been able to
use the pre-generated sources.

Sorry for the overly generic questions. I hope to have more
specific ones soon! Thanks for your work!

--
Matthew Fulmer -- http://mtfulmer.wordpress.com/
Help improve Squeak Documentation: http://wiki.squeak.org/squeak/808
Reply | Threaded
Open this post in threaded view
|

Re: Want to start using/porting HydraVM

Igor Stasenko
 
Hello Matthew!
Sorry, i wasn't subscribed to this list.

I will gladly to help you with developing unix port.

>Hi. I'm working on a project at my school to make squeak run on
>a Cell Broadband Engine, and HydraVM seems the best way to do
>that. Currently, the easiest/simplest way I see to do that is
>to:

>1. Port HydraVM to Linux
>2. Get it running on a Cell
>3. Modify it so the sub-interpreters run in a SPU thread rather
>   than a PPU thread
>4. Add a plugin for Cell's Memory Flow Controller to Craig's
>   Flow stream library
>5. Get a tiny spoon image started on each SPU

>Unfortunately, I'm totally new to VM development, and don't know
>a good way to get started. Currently, I don't have a PS3, only a
>Cell emulator, and I don't want to figure out how to adapt
>Squeak to cross-compile onto it, as it won't be neccessary in
>the long term. So:

>What is the best way to get started finding my way around the
>VM, and figuring out what modifications you made for Hydra? Are
>there specific C files I should be looking at, or is it mostly
>changes made within VMMaker? I've never figured out how to
>successfully build a VM using VMMaker, I've only been able to
>use the pre-generated sources.

>Sorry for the overly generic questions. I hope to have more
>specific ones soon! Thanks for your work!

First, make your main interpreter compile ok. Then, step by step
compile platform sources. This is mostly dumb procedure by making
little changes over the code.
But in some cases, of course, it require some deep thought :)

As for VMMaker: select an empty directory where VMMaker should put all
generated sources. This is just to get confused of what sources is
generated and what is manually crafted.
After a couple of days, i think you'll study directory structure, so
you will know where to look for fixing errors in platform/generated
sources.


--
Best regards,
Igor Stasenko AKA sig.