[M3devel] CM3 on IA64?
Daniel Alejandro Benavides D.
dabenavidesd at yahoo.es
Sun Oct 9 18:37:21 CEST 2011
Hi all:
that's a wonderful idea, still, this virtual machinery lacks module management (you have sort this out with Segmentation in HW and so).
The main con against this is due the subtleties of being Safe code the one responsible for getting CPU traps as RT exceptions, I only known of certain hardware drivers written in Modula-3 for controlling MMU, there we would have a point to ask a complete software environment and machine system in a type safe language (memory and instruction errors, etc). I knew of somebody working in this arena sort of looking behind the Module hardware idea but he moved up to Python, then it follows it must be UNSAFE code is the one responsible of this kind of machine support, or one if type safe VIEW operator type system coercion support, but controlled by the RT, which is something we could ask for ESC for interpreting in a logic manner if so.
Instead if the case is important we could manage to support JVM and .Net bytecodes safely if that's the way of them to support their platforms.
I guess Java explored this approach in the Java Guest VM approach:
http://www.youtube.com/watch?v=iHIaH12f2Ek
This is more or less the same idea, but instead of supporting Xen, we would rather run unmodified M3 (done) and export interfaces for JVM and .NET, etc and facilitate the hypervisor support Win is trying to verify (100k LoC C code verification estimated effort of 60 years of man work), with its new systems I think the man behind this ported a product to Modula-3 of this class (MIPS isa PPSIM, which I have no much support information, about bogomips, but that's why ask the support of ESC to be able to optimize this further than UNSAFE code efficiency that's part of a not true statement or misconception if I may say so).
Thanks in advance
--- El jue, 6/10/11, Jay K <jay.krell at cornell.edu> escribió:
De: Jay K <jay.krell at cornell.edu>
Asunto: RE: [M3devel] CM3 on IA64?
Para: dabenavidesd at yahoo.es, mark at wickensonline.co.uk
CC: "m3devel" <m3devel at elegosoft.com>
Fecha: jueves, 6 de octubre, 2011 10:51
Daniel I think you are maybe saying that either we need to write an NT/ARM backend like we have for NT/x86, or we need to generate C, or something else. Yes. True. I want to generate C. That should greatly reduce future porting work, might compile faster, might compile slower, will provide tremendous and portable debugability gains (and some debuggability loss on some systems). Writing other processor/OS specific backends is surely fun and interesting too, but more work, more difficult, and less value. We should also look into generating Java and/or C# and/or Microsoft .NET IL, i.e. for Windows Phone but this is an even larger tangent. C# has optional unsafety so is a somewhat different topic than generating Java. But this is still tangential to the topic at hand, and it is still very difficult to understand anything you say.
Linux/ia64 can plod along just fine using the existing gcc backend.
NT/ARM might be able to too eventually.
NT/AMD64 certainly could.
Mark, please try out what I said and ignore all the speculating. Linux/ia64 can be made to work without much change to the existing system.
Daniel's tangent: VMS isn't clearly as easy, but it has definite potential. gcc does support VMS/Alpha. So does binutils. I have a working gcc cross compiler and linker to target VMS/Alpha. That is an important piece. It was enough to build a native gcc for VMS/Alpha, that didn't work, but probably only because I was missing environment variables on the target (to find headers/libraries). These are important pieces, given our current situation (ie: no C generating backend).
But I have approximately zero time to devote to this stuff any longer, sorry.
- Jay
Date: Thu, 6 Oct 2011 16:31:08 +0100
From: dabenavidesd at yahoo.es
To: mark at wickensonline.co.uk; jay.krell at cornell.edu
CC: m3devel at elegosoft.com
Subject: Re: [M3devel] CM3 on IA64?
Hi all:
for instance:
http://forums.theregister.co.uk/forum/2/2011/05/18/james_on_arm_and_windows/
Again sorry for any inconvenience I may cause by this stuff.
The argument seems to be we did that already (ix86 and from AMD_64 for 8086) and don't think it's a good idea to do it again. I sort of disagree given the AMD64 support for that arguing.
Thanks in advance
--- El jue, 6/10/11, Daniel Alejandro Benavides D. <dabenavidesd at yahoo.es> escribió:
De: Daniel Alejandro Benavides D. <dabenavidesd at yahoo.es>
Asunto: Re: [M3devel] CM3 on IA64?
Para: mark at wickensonline.co.uk, "Jay K" <jay.krell at cornell.edu>
CC: "m3devel" <m3devel at elegosoft.com>
Fecha: jueves, 6 de octubre, 2011
10:20
Hi all:
my point is just to say, we would need alter SPIN protocol to load the M3RT without the WinRT (nor Win32), isn't that what you wanted Jay, sorry if not what you mentioned once? I mean you sort of wanted to drop C Windows dependences, well unless we develop further the idea, we won't be advancing too much in W8 arena and this is coming very soon, worse that we won't have much HW to boot any other OS that one would want to support, but we could provide the VM images for them.
It tourns out that OpenVMS had something to do with DEC-WRL which loved Modula-2, and the things they used had relation with that in their VMS, as a side story they tried
to promote their language without too much success:
http://billwake.blogspot.com/1997_05_01_archive.html
This is portrait in some external parts of the VMS freeware, like
here:
http://ia64.vsm.com.au/conan/sys$common/syslib/sys$starlet_c.tlb?search=x
I think DEC had a NT386 ahead of time interpreter for NT Alpha, we could move faster from that as well in these platforms, using our own MIPS VM, for commonly used OSes (cross-compiling from Linux host which is what we lack as for now):
http://www.usenix.org/publications/library/proceedings/usenix-nt97/full_papers/chernoff/chernoff.pdf
The cost associated with this is not as high as having OS ready but merely device drivers, and or the VM machinery like for OSF, etc and stuff.
Thanks in advance
--- El mar, 4/10/11, Daniel Alejandro Benavides D. <dabenavidesd at yahoo.es> escribió:
De: Daniel Alejandro Benavides D. <dabenavidesd at yahoo.es>
Asunto: Re: [M3devel] CM3 on IA64?
Para: mark at wickensonline.co.uk, "Jay
K" <jay.krell at cornell.edu>
CC: "m3devel" <m3devel at elegosoft.com>
Fecha: martes, 4 de octubre, 2011 17:28
Hi all:
yeah, but as you said it is bigger problem if we get to afford a machine to boot from, this is to say, can we create boots from W8 machine from source to OpenVMS.
This is a big question, and the thing is what is the W8 idea boot from anything but OSS (who was/is the OpenVMs engineer), then it is a sound question if the future is W8, where is the OpenVMS guy here (Mark you do know so surely). Well that's the question, I think. Can you solve it, and why not or why is not that the question here? Tell me if doesn't make that sense
to you. I would be peacefully leave the email if not, I have the right I mean you have the doubt, don't you?
Thanks in advance
--- El mar, 4/10/11, Jay K <jay.krell at cornell.edu> escribió:
De: Jay K <jay.krell at cornell.edu>
Asunto: RE: [M3devel] CM3 on IA64?
Para: dabenavidesd at yahoo.es, mark at wickensonline.co.uk
CC: "m3devel" <m3devel at elegosoft.com>
Fecha: martes, 4 de octubre, 2011 17:11
#yiv2008894693 .yiv2008894693ExternalClass #yiv2008894693ecxyiv283771742 .yiv2008894693ecxyiv283771742hmmessage P
{padding:0px;}
#yiv2008894693 .yiv2008894693ExternalClass #yiv2008894693ecxyiv283771742 body.yiv2008894693ecxyiv283771742hmmessage
{font-size:10pt;font-family:Tahoma;}
Daniel, please discuss SPIN and alternate m3core implementations on another thread.
Your links seem generally interesting, but you only seem to take a shred of a hint from our conversations and go all out on rambly tangents.
I do that too sometimes, granted. I almost did here, about quake vs. Python.. m3core in kernel or user mode...
Mark please ignore Daniel for purposes of bringing up CM3 on IA64.
- Jay
Date: Tue, 4 Oct 2011 22:58:32 +0100
From: dabenavidesd at yahoo.es
Subject: Re: [M3devel] CM3 on IA64?
To: mark at wickensonline.co.uk; jay.krell at cornell.edu
CC: m3devel at elegosoft.com
Hi all:
I wish more
akin the spin approach to skip m3core not embedded to compile assembly and link, with standalone C quake (5K loc or so) was enough in a cross platfrom way.
The main thing thing is that we would need a very sophisticated apparatus with VM, e.g Mark have you any VM inside (where this sounds like a good task to implement if there is such, I Imagine kqemu is on IA64, right? If not, then this is too onerous, I mean we would need a VM to start with, or at least a driver if we we want this to perform as quickly as possible).
I don't know but perhaps you could boot one OS on all machines by just one VM, and then move forward every CPU and OS. The positive side of this is we get a powerful enough VM to boot from (OpenVMS supported), we can solve an intrinsic problem in CM3 and all, the need to get trapped errors, like machine traps
isolated handled by the OS.
There is a complete MSc thesis to sort this out but I haven't get it, if somebody can make a clue of how to get it, that would be great (author is not too much available for doing this work again, at least we could see how that went that way).
http://www.unive.it/nqcontent.cfm?a_id=26764
Python sounds good for the start to boot everything else on it (if quake it's too lame, right Jay, if so, or tell me please if it isn't what doyou think about it).
http://www.imada.sdu.dk/~joan/security/sec.ps
I know that the guys working with Shared Data Abstractions explored more the quake idea, like MP quake, if that's what they called that:
http://books.google.com/books?ei=dH6LTuzbBcqctwfM0eiSAw&ct=result&id=_6RVAAAAMAAJ
However I'm not saying that just that sorts out the problem, perhaps a more integrated development environment is needed (AST based like Olivetti STL planned it or wrote
some part of it, but who cares or who used it anyway, perhaps like CAMEL in ARX OS, the useful part would be the interpreter but for more pedagogical purposes rather than that or if that's the thing we like Baby Modula-3, etc, where objects are not imperative just functional or if you want them then Obliq might appear then), something akin Vulcano and parallel make, but I don't have articles about it to say that .
Thanks in advance
--- El mar, 4/10/11, Jay K <jay.krell at cornell.edu> escribió:
De: Jay K <jay.krell at cornell.edu>
Asunto: Re: [M3devel] CM3 on IA64?
Para: mark at wickensonline.co.uk
CC: "m3devel" <m3devel at elegosoft.com>
Fecha: martes, 4 de octubre, 2011 15:57
#yiv2008894693 .yiv2008894693ExternalClass #yiv2008894693ecxyiv283771742 .yiv2008894693ecxyiv283771742ExternalClass #yiv2008894693ecxyiv283771742ecxyiv1998844698 .yiv2008894693ecxyiv283771742ecxyiv1998844698hmmessage P
{padding:0px;}
#yiv2008894693 .yiv2008894693ExternalClass #yiv2008894693ecxyiv283771742 .yiv2008894693ecxyiv283771742ExternalClass #yiv2008894693ecxyiv283771742ecxyiv1998844698 body.yiv2008894693ecxyiv283771742ecxyiv1998844698hmmessage
{font-size:10pt;font-family:Tahoma;}
Sorry. More/correct instruction:
Don't set any CM3 environment variables.
Just make sure some cm3 is in $PATH.
Go to a machine with a working cm3. Windows probably not preferred, but it might work.
On that machine run that script.
It may or may not work.
If it doesn't work, the errors shouldn't be terrible. You should investigate them. Report them here if stumped (or if you progress).
Once it works, you'll have like cm3-IA64_LINUX-timestamp.tar.gz.
You copy that .tar.gz to your Linux/ia64 machine. (I use scp.)
tar xfz it.
cd cm3-IA64-LINUX-timestamp
make
Which may or may not work, but should make a lot of progress.
Once that works, well..more later. It is a major step, but there is a little more to do.
You might have to edit the top of the Makefile.
I can predict
where the problems will be, but let's see how it goes with minimum hinting from me, ok?
You are signed up to waste time, right? :)
Let us know, and please don't give up quickly, thank you,
- Jay
> From: mark at wickensonline.co.uk
> To: jay.krell at cornell.edu
> Date: Tue, 4 Oct 2011 19:06:44 +0100
> CC: m3devel at elegosoft.com
> Subject: Re: [M3devel] CM3 on IA64?
>
> Jay,
>
> I tried this:
>
> msw at zx6000 /usr/local/cm3-build/cm3/scripts/python $ echo $CM3_INSTALL
> /usr/local/cm3-build/cm3/
>
> msw at zx6000 /usr/local/cm3-build/cm3/scripts/python $ ./boot1.py
> IA64_LINUXTraceback (most recent call last):
> File "./boot1.py", line 5, in <module>
> import pylib
> File "/usr/local/cm3-build/cm3/scripts/python/pylib.py", line 569, in
> <module>
> for a in
os.popen(CM3 + " -version 2>/dev/null"):
> TypeError: unsupported operand type(s) for +: 'NoneType' and 'str'
>
> Am I missing the executable 'cm3'?
>
> Mark.
>
>
> On Tue, 2011-10-04 at 01:06 +0000, Jay K wrote:
> > Can you give me or any of us ssh access to it?
> >
> >
> > Porting is much much easier these days.
> > Really, it is not difficult.
> > If gcc supports the target and the target is reasonably Posix
> > compliant, there is almost nothing to do.
> > These are both true for Linux/ia64.
> >
> >
> > Can you try?
> >
> >
> > See
> > http://modula3.elegosoft.com/cgi-bin/cvsweb.cgi/cm3/doc/notes/porting.txt?rev=1.6;content-type=text%2Fplain
> >
> >
> > or just go ahead and
> >
> >
> > cd
scripts/python
> > ./bootstrap.py IA64_LINUX
> >
> >
> > It *might* just work.
> > It will certainly almost work.
> > There is really very little to it.
> > There never was a whole lot really, but there is a lot less now.
> > A big part used to be rewriting /usr/include in Modula-3, which was
> > tedious, error-prone, and unsafe.
> > That is gone now.
> > Before pthreads, another part was dissecting jmpbuf.
> > That is gone now -- even for user threads.
> >
> >
> > - Jay
> >
> > > Date: Mon, 3 Oct 2011 23:18:17 +0100
> > > From: mark at wickensonline.co.uk
> > > To: m3devel at elegosoft.com
> > > Subject: [M3devel] CM3 on IA64?
> > >
> > > Hi guys,
> > >
> > > Has anyone attempted a port of CM3 to Itanium
architecture?
> > > I've recently installed gentoo on my ZX6000 and it's all running
> > very
> > > nicely.
> > > My thoughts turned to what would be involved in getting Modula-3
> > running.
> > >
> > > Kind regards, Mark.
> > >
> >
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20111009/fdfb037e/attachment-0002.html>
More information about the M3devel
mailing list