Re: [Simh] VMS 1.5 installable?

2017-10-17 Thread Sergey Oboguev
There is a file vax_cmode.c.

  From: John Forecast 
 To: simh  
 Sent: Tuesday, October 17, 2017 1:27 PM
 Subject: Re: [Simh] VMS 1.5 installable?
   
 
I don’t think you’ll be able to get early versions of VMS running on SIMH. A 
lot (almost all?) of the utilities run in PDP-11 compatibility mode  which, as 
far as I can see, is not supported by the 11/780 emulator.

  John.




   ___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

Re: [Simh] New simulator - VAX-11/782

2017-05-25 Thread Sergey Oboguev
Matt Burke  wrote:

> I probably should have researched memory barriers a bit more. 
> I knew a little bit about them but wasn't sure if they were needed here. 
> The problem may also exist for the rest of the shared memory.

For the purposes of running VMS, what really and ultimately matters is not what 
actual 78x hardware does, but what VMS expects it to do. And this latter bit 
can be learned from VMS sources, even if we do not have (and may be unable to 
obtain) sufficient knowledge about the hardware. 

Precise understanding of VMS expectations would require a more thorough look 
into VMS sources than I could have until now, however my hunch is that VMS 
desires are a subset of a stronger general statement: 

[SS:] "When VCPU1 and VCPU2 [in a shared-memory or cache-coherent 
multiprocessor] communicate via an IPI from VCPU1 to VCPU2, VCPU1 [most often] 
wants to pass its view of memory to VCPU2".

VMS may quite possibly expect less than that, however we do not (yet) know 
exactly what... it might take a night or more with the listings to understand 
the code well enough to figure this out exactly. (Comments in the code next to 
BBSSI/BBCCI instructions suggest that VMS uses them purposefully to flush and 
control the cache "manually"... hence my questions in the previous message.)

Also this "less" might turn out to be more difficult to implement in practice 
than (both stronger but comparatively simpler) SS.

My *hunch* however is that if SS were in place, VMS will most likely be happy 
with it. There is a slim chance this might prove wrong, only code reading might 
tell, but I think this chance is pretty slim... I'd place money on it. Thus 
assuming it for now:

SS is easy to implement. There is a flag that CPU1 sets and CPU2 reads, to pass 
an IPI. If this flag is protected by a lock both on read and write sides, this 
would ensure SS, since locking primitives issue memory barriers (and compiler 
barriers as well -- another important thing to have in mind).

Right now ipc_send_int uses ipc_lock/ipc_unlock but ipc_poll_int does not. If 
ipc_poll_int used locking (matching one in ipc_send_int), that would provide 
memory barriers (along with compiler barriers) and provide SS.

Alternatively, it is possible to insert WMB (or full MB) primitive into 
ipc_send_int before setting an IPI flag, and insert a RMB (or full MB) 
primitive in ipc_poll_int after reading the flag, but these are 
platform-specific. (RMB and WMB designations here also imply compiler barrier 
included, on both sides of a hardware barrier). VAX MP out of necessity has an 
implementation for smp_rmb() and smp_wmb() that also include compiler barrier 
(barrier(), COMPILER_BARRIER), but you do not really want to get into this host 
platform specific (and for X86, also host CPU model specific and bitness 
specific) mess unless really necessary... and for 782 it is really not. Using 
locks is a much neater solution for 782 purposes, I think.___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

Re: [Simh] VAX-11/782

2017-05-25 Thread Sergey Oboguev
Curiously enough, 11/782 and other MA780-based models were not the only 
multiprocessor design based on the 11/780.

Some brave souls just took out the SBI terminator and hooked in a second KA780 
CPU in its place, using the created dual-processor machine to develop what 
appears to be the very first multiprocessor version of UNIX (based on 4.1/4.2). 

Both processors (master and slave) shared the SBI, IO adaptors and single-port 
(MS780) memory.

http://dl.acm.org/citation.cfm?id=801738

According to the lore, the whole story started with a 780 being dropped off a 
truck...___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

Re: [Simh] Problem with MT_ASTLVL on the VAX-11/780

2017-05-18 Thread Sergey Oboguev
Matt Burke  wrote:

> Whilst experimenting with a new device on VAX/VMS V4.5 I got a fatal
> bugcheck (exception whilst above ASTDEL). The problem turned out the be
> a reserved operand fault and I traced it back to the following code
> (shown here from the VMS 3.0 source listings):
> 
> MOVL    PCB$L_PHD(R0),R0    ; Get PHD address
> MOVB    PHD$B_ASTLVL(R0),R0    ; And fetch ASTLVL
> MTPR    R0,#PR$_ASTLVL  ; Update current value

FWIW, the sequence does not appear to be present in 3.7-dev, 4.0 or 7.3 sources.

(For 3.x and 4.x I checked only ASTDEL, not ASMP code -- speaking on which, 
would not it be fun to emulate 11/782 or 11/784?)

Is this exact sequence actually indicated by the instruction trace when running 
4.5?

Thanks,Sergey
___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

Re: [Simh] Adding storage to vax running 4.3BSD

2017-05-11 Thread Sergey Oboguev


 Johnny Billquist wrote: 
> Well, MSCP was a good solution, and it's rather funny to now watch SATA 
> and SAS, which is almost a carbon copy of MSCP and DSI, but 20 years later.

Unless I am mistaken, SCSI (at least in the form of SASI) preceded MSCP 
chronologically and perhaps inspired the latter.
SAS thus would have no need for MSCP as an intellectual ancestor, although for 
sure technologies of the same field, such as storage technologies, mutually 
inform each other in the course of their development.
  ___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

Re: [Simh] DECserver (terminal server) emulation?

2017-04-12 Thread Sergey Oboguev
>> The MOP server that exists for Unix systems ... only supports booting.


> What else do you need?  MOP doesn't do much more than that

Academically speaking, MOP also provides remote control, counters, memory dump, 
loopback testing.Whether any of this is "needed" is a matter of taste of course 
(just like virtually all retro-computing is).
   ___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

Re: [Simh] VAX 8200

2017-03-16 Thread Sergey Oboguev
> Robert Armstrong  wrote:
> I have a running 8350 [...] I've always wondered if the limitation to two 
> CPUs was purely for testing and support reasons - 
> it doesn't seem that there's any reason why you could not plug in three or 
> even more CPU cards.
By the way of the anecdotes, Bernd Ulmann who owns a huge (likely the largest 
in the world by now) collection of VAX/Alpha equipment (a shed filled with  
various models of VAXes, including 7000, 6000 vector, 8000 series, MicroVAXes, 
VAXstations, HSCs, star couplers, RA disks, you name it), including the 
machines that were never released or were released in a singular quantities 
(like 32-processor Alpha), owns VAX 8330 (?) -- or anyway a 3-CPU 8000 series 
machine.

The machine was being designed by DEC Germany, and was intended to be a 
3-processor edition.
However it was generating spurious bus resets and DEC engineering was never 
able to figure why.
Thus the machine was never releases commercially and the only engineering 
sample had been sitting for a good while in DEC/Compaq engineering storage 
before being dumped to Bernd's collection.

* * *

I also cannot help but remember the other story Bernd had, about that 
32-processor Alpha. It was special-ordered by some German company, but while 
Compaq Germany was being putting it together, the company that ordered the 
machine went out of business. So Compaq held the machine for a while but 
several years later dumped it to Bernd as well. When I was visiting Bernd some 
years ago, he still never turned the machine on (unlike most of the others in 
his collection), since the power draw would put the lights out in the whole 
village where the shed resides... he was still figuring out the power feed.

* * *

And then, my favorite of Bernd's tales, is about the machine that had the most 
exotic fate: it was a MicroVAX III that was being shipped from the Western 
Germany to the USSR in the late 1980's, and German customs intercepted the 
shipping (infrequently, but occasionally they would succeeded in that). While 
German authorities were trying to figure out what to do with the intercepted 
shipping, the customs put it in the warehouse, where it sat for the next 20 
years. In the late 2000's German customs noticed that this box had been sitting 
there for 20 years, and it was apparently the time to do something about it 
after all. The box ended up at Bernd's barn. Bernd opened it, powered up this 
MicroVAX and installed VMS on it -- it worked flawlessly.

Few months after learning this story from Bernd (he told it to me while 
pointing at that MicroVAX) I was at my old VAXcluster room about 2 hours from 
Moscow (machines were long gone by then), taking out the old tapes -- in the 
hopes of finding some retro-interesting software/files there. My friend and I 
took select tapes from the storage shelves down to the building entrance, but 
we needed to transport them to another building on site located a mile away, 
where the tapes could be kept temporarily before smuggling them out beyond the 
secure perimeter. Tapes were bulky and heavy, and carrying them this distance 
would have been quite an exercise, so my friend called his colleague, who had a 
car pass to the site. His colleague came in the car, and while we were loading 
the tapes into the trunk, he looked at those tapes recorded 20 to 25 years ago 
and said:

– I kind of doubt you'll be able to read them.

In response I told him a story about Bernd's MicroVAX that sat for 20 years in 
the box and then worked just fine.

To which my friend's colleague responded with an instinctive exclamation, 
without an instant of thinking:

– Of course! What could have ever happened to it?! It's a VAX!___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

Re: [Simh] HSC vs UDA/QDA

2017-03-08 Thread Sergey Oboguev
And then of course, if someone wants a true emulation, then A and B paths 
should be running on separate Ethernet rails. ;-)


  From: Paul Koning 
 To: Johnny Billquist  
Cc: simh@trailing-edge.com
 Sent: Wednesday, March 8, 2017 5:26 PM
 Subject: Re: [Simh] HSC vs UDA/QDA
   

> On Mar 8, 2017, at 7:44 PM, Johnny Billquist  wrote:
> 
> On 2017-03-08 22:15, Bob Supnik wrote:
>> The HSC family offered a superset of capabilities compared to the
>> UDA50/QDA50. In particular,
>> 
>> - tape as well as disk support (TMSCP as well as MSCP);
>> - controller-based disk to tape backups and tape to disk restores;
>> - controller-based disk to disk duplication;
>> - controller-based volume shadowing (RAID 1).
>> 
>> UDA50/QDA50 did not support tape drives, disk duplication, or
>> controller-based volume shadowing.
>> 
>> HSC supported some data caching; UDA50/QDA50 did not.
> 
> Oh. I didnät mean to imply that the HSC was just the same as an UDA. But the 
> MSCP protocol as such is the same between them. Shadowing, local disk 
> copying, caching and so on, are just things a controller can do without the 
> host are even aware of it happening.
> But since we're talking emulation, the actual disks now might be doing even 
> more of that than an HSC ever could. It's not really something that makes 
> much sense to emulate.

I think the significant different for emulation, as opposed for the real 
hardware, is that CI is a multi-access network (like Ethernet).  All the hosts 
can see all the disks, and in addition the hosts have peer to peer 
communication.  VAXclusters use both of these things.  You can of course do 
them via LAVC (same services but over Ethernet).  With CI emulation you get a 
second way.  That enables running clusters with VMS versions predating LAVC, if 
that is interesting to anyone.

    paul


___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

   ___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

Re: [Simh] text from openvms

2016-03-25 Thread Sergey Oboguev
One approach would be to simply use telnet client that can dump a session to a 
file or copy it to the clipboard, and then inside VMS do something like "COPY 
Q.TXT TXB1:"

  From: Mark Pizzolato 
 To: Bill Cunningham ; Bill Deegan 
; "simh@trailing-edge.com"  
 Sent: Friday, March 25, 2016 11:50 AM
 Subject: Re: [Simh] text from openvms
   
#yiv1210572576 #yiv1210572576 -- _filtered #yiv1210572576 {panose-1:2 4 5 3 5 4 
6 3 2 4;} _filtered #yiv1210572576 {font-family:Calibri;panose-1:2 15 5 2 2 2 4 
3 2 4;}#yiv1210572576 #yiv1210572576 p.yiv1210572576MsoNormal, #yiv1210572576 
li.yiv1210572576MsoNormal, #yiv1210572576 div.yiv1210572576MsoNormal 
{margin:0in;margin-bottom:.0001pt;font-size:12.0pt;}#yiv1210572576 a:link, 
#yiv1210572576 span.yiv1210572576MsoHyperlink 
{color:blue;text-decoration:underline;}#yiv1210572576 a:visited, #yiv1210572576 
span.yiv1210572576MsoHyperlinkFollowed 
{color:purple;text-decoration:underline;}#yiv1210572576 
span.yiv1210572576EmailStyle17 {color:#1F497D;}#yiv1210572576 
.yiv1210572576MsoChpDefault {font-size:10.0pt;} _filtered #yiv1210572576 
{margin:1.0in 1.0in 1.0in 1.0in;}#yiv1210572576 div.yiv1210572576WordSection1 
{}#yiv1210572576 If you want to go down the Kermit path you’ll need Kermit for 
the VMS side and you’ll need to find a way to get it into your simulated 
environment.    From: Simh [mailto:simh-boun...@trailing-edge.com] On Behalf Of 
Bill Cunningham
Sent: Friday, March 25, 2016 12:46 PM
To: Bill Deegan ; simh@trailing-edge.com
Subject: Re: [Simh] text from openvms  I don't want to get involved with FTP. 
That's setting up tcpip in VMS and lately I've been having terrible problems 
with that. I have set that aside. For now anyway. IDK about the old VMSs but 
openvms is new to me and I don't want to go too far too much. Thank's for the 
idea. My linux does have kermit. Is there a way to do this without involving 
tcp/ip protocols? 
- Original Message - From: Bill Deegan To: Zachary Kline Cc: Bill 
Cunningham ; SIMH List Sent: Friday, March 25, 2016 1:38 PMSubject: Re: [Simh] 
text from openvms  How about FTP?  On Fri, Mar 25, 2016 at 11:27 AM, Zachary 
Kline  wrote:
Hi Bill,   Kermit is definitely robust enough to do what you want. You could 
always do the “type the file to your terminal and copy paste,” dance too. That 
would work for text files particularly. ON OS X at least there’s a way to save 
terminal output to a text file as well.I don’t know about CDs. I’d think that 
might be a bit of overkill for what you want, Kermit’s pretty easy to set 
up.Best,Zack.
On Mar 25, 2016, at 12:23 PM, Bill Cunningham  wrote:   
   I have been studying the best way to copy from a vax simulator with openvms 
to a linux host, text files. The Docs look like telnet and kermit are the way 
to do it. So is there not a device like ISO that I can copy TOO? I wouldn't 
think because cdrom is RO after all. and 'set rq writeenable' isn't working nor 
is anything to do with cdrom working.  There may be several ways to do 
this. I am not concerned so much about binary files as several .txt files. Am I 
on the right track with telnet and kermit from those who have attempted and 
done this? Bill ___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh
  
___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh
  

___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

  ___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

Re: [Simh] Missing (VAX) documents

2015-07-10 Thread Sergey Oboguev
From: Bob Supnik 

> a lot of that  failed to survive the DEC to Compaq and Compaq to HP 
> transitions, 
> as well as the various archival media transitions.

Do you know per chance if HP ever managed to recover VAXELN sources?  ___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

Re: [Simh] VAX vectors

2015-07-10 Thread Sergey Oboguev


Bob Supnik bob at supnik.org:

> Bolting on vectors to the existing 3900 would not be all that hard, 
> because the core floating point routines are available, but it would be 
> another "never existed in the real world" hybrid. That's already been 
> done once, when the 3900's memory capacity was extended to 512MB


Not to mention the ungodly 32-processor MicroVAX 3900. ;-)A monster in the dark 
with glowing red eyes.

* * *

Curiously enough though, there were rumors about the existence of a 
64-processor VAX.

Some of these relate to VAX M31 (codenamed Andromeda) 

http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=4859
http://ieeexplore.ieee.org/search/searchresult.jsp?queryText=vax%20m31&newsearch=true

which was supposed to be expandable up to 64 processors, but as net rumors say, 
has actually grown up to 32-way machine only.
I vaguely recall however seeing somewhere (at comp.os.vms?) a comment by Steve 
Lionel about him working with parallel algorithms on a 64-processor VAX SMP 
machine (running custom OS), and VMS people coming down from the East coast to 
test the stability of VMS on it, whatever this means (e.g. perhaps partitioned 
down to 32 processors, or running custom kernel able to handle 64 CPUs ?).

My memory of this comment are dim and I may well mis-remember the particulars, 
however VAX/VMS 7.3 does actually run fine on 32 processors (scalability issues 
aside), except for the bug in the MONITOR utility making it able to pick up 
only the first 31 processors in its screens.

http://oboguev.net/vax_mp/screen-39320.html   ___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

Re: [Simh] Regarding "Cutler THE father of VMS" myth

2015-03-22 Thread Sergey Oboguev
> From: Henk Gooijen 
> "up" and "down" is not the best translation for "P/V" operation.
> P stands for the Dutch word "passeer" which roughly translates to "pass".
> V stands for the Dutch word "verhoog" and that should be translated to 
> "increment".

The history of early efforts in synchronization is fascinating.

Another fascinating piece along the same lines is a comment at Lamport's web 
page to one of his articles relating that when Alpha was being designed, the 
designers came to Lamport and asked if he can optimize his synchronization 
algorithm so that Alpha can get by with having no interlocked instructions (low 
contention was considered to be the primary use case)... and Lamport did, but 
even the optimized version of the algorithm was still deemed expensive, so 
Alpha team designed LL/SC into the processor.

___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

Re: [Simh] Simulating the PDP-15/76 Unichannel

2015-03-17 Thread Sergey Oboguev


> From: Christian Gauger-Cosgrove 
> The "Direct" solution that Sergey suggested ...

To clarify: I certainly did not suggest nor advocate it.

___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

Re: [Simh] Simulating the PDP-15/76 Unichannel

2015-03-17 Thread Sergey Oboguev
Unless I misread Mark's message about the RQDX3 analogy, he is suggesting to 
put PDP-15 and PDP-11 in the same SIMH thread and in the same address space. 
When PDP-11 side becomes non-idle, it can signal an event and become eligible 
for execution, in a way similar to RQDX3. The options for co-execution with 
PDP-15 side in this structure are:

1) Execute PDP-11 exclusively until it enters idle state, then resume PDP-15 
execution until PDP-11 becomes non-idle again.(This directly mirrors RQDX3 
analogy).

2) Probably a better option (albeit dissimilar with RQDX3): co-execute PDP-11 
and PDP-15 instruction streams on the same SIMH thread. I.e. execute of chunk 
of N instructions on PDP-15 side, then execute N (or M) instructions on PDP-11 
side, then come back to PDP-15 main loop etc., and repeat this alternating 
execution of per-CPU main loops until one of the sides becomes idle, at which 
point the other side receives 100% share unless it becomes idle too.

One disadvantage of this approach is namespace conflicts.
But perhaps this can be addressed by restructuring SIMH build into 
machine-independent part and machine-specific parts, with machine-specific 
parts going to respective machine-specific DLLs/DSOs, with names local to 
specific CPUs not exported from these DLLs/DSOs and thus not colliding.
A complication might be that while machine-independent part code may be shared, 
but some machine-independent data perhaps might be not (for instance the event 
queue may have the same logical structure for both sides, but either a separate 
instance of this structure is needed for each side, or resets etc. need to be 
handled in a more delicate and involved way taking into account which side is 
resetting -- so the required reorg may be deeper than at the first glance).

The other disadvantage is that it does not leverage host multi-CPU resources.
That's assuming computational performance matters at all.

Yet the other disadvantage is the issues with calibrating VCPU speed.
As the calibration now becomes significantly distorted by the co-executing 
CPU(s) going in and out of idle state in a rapidly varying pattern.

Yet another disadvantage is that by default the consoles of two systems get 
mapped to the same host window, rather than being split, as they probably were 
in real life.

Yet another disadvantage is a complication of the codebase to implement the 
mentioned reorgs or offset for them.

The advantage is that it takes inter-thread synchronization issues out, 
includingmemory coherence issues and timing issues.
But those may be not that great after all.


- Original Message -
From: Christian Gauger-Cosgrove 
To: Mark Pizzolato - Info Comm 
Cc: "simh@trailing-edge.com" 
Sent: Tuesday, March 17, 2015 6:58 PM
Subject: Re: [Simh] Simulating the PDP-15/76 Unichannel

On 17 March 2015 at 21:41, Mark Pizzolato - Info Comm  wrote:
> Wasn't the RQDX3's processor a member of the PDP11 family?  We don't try to 
> execute the RQDX3 firmware, but we merely have a device simulator that 
> communicates across the bus just as the RQDX3 did.  Would an approach make 
> sense that implemented the PIREX behaviors in a DR15 simulation (possibly, 
> internally talking to the various UNIBUS device simulations)?
>
> Just a wild idea...
>
I mentioned that back on the GitHub discussion (just to plug it again:
). The PDP-11 side of things
does more than just run PIREX and respond to requests. The PDP-11 also
runs the SPOL11 spooler package, and you can run custom MACRO-11
programs on the '11 loaded and started by the '15.

Really the best way is to find some way of making the simulators talk
to each other. Plus, that framework can be expanded towards other
examples. (KL10 and PDP-11/74, being the ones off the top of my head.)


Regards,
Christian
-- 
Christian M. Gauger-Cosgrove
STCKON08DS0
Contact information available upon request.



___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh
___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

Re: [Simh] Simulating the PDP-15/76 Unichannel

2015-03-17 Thread Sergey Oboguev
> From: E. Groenenberg 
>
> Any current & reasonably seasoned Unix or derivative has shmat() & shmdt()
> (or equivalent) calls for attaching & detaching a segment of a given size.
>
> Also MS$ has this
> [...]
> so a common API for SIMH would be fairly easy.
>
>[ ...]
>
> With this feature, it would probably also easy to realize a PDP-11/74
> with 4 instances of SIMH.

Mapping shared memory segment into the address spaces of multiple SIMH
instances is the straightforward part.

More intricate parts are:

1) Mapping guest memory-consistency model to host memory-consistency model.

Does legacy software expect to observe updates to the shared memory executed
by simulated VCPU1 (or virtual IO processor) to become observable by VCPU2
in the same order they were executed by VCPU1? If yes, this would not work
(without special handling by the simulator) on modern machines with weaker
memory-consistency model.

What is the cache coherency protocol of the simulated system and how does it
map to the host system?

Does simulated system have any system events (such as inter-processor
interrupts or IO completion) that affect cache synchronization between VCPUs
or VCPUs/VIOPs, and if yes, how this is to be mapped to the simulator?

Ultimately it all depends on exact actual synchronization patterns utilized
by legacy software.

2) Mapping memory atomicity.

Does host machine provide the same memory access atomicity and separability
as the simulated machine? For instance, if a simulated machine provides a way
to update a byte at address A without interfering with concurrent updates to
bytes at A-1 and A+1 by other VCPUs, then this would take a special effort
to be implemented on a host machine that has let us say a 4-byte word as
the minimum separable unit. Ditto for atomic and separable 2-byte word
accesses (atomicity would mean that concurrent writes to the word do not
result in resultant bytes values coming from different writes,
separability would mean that concurrent writes to neighbor words do not
interfere with each other).

3) Does a simulated system have any synchronization facilities such as
interlocked instructions or machine-specific registers that affect cache
coherency?

4) Mapping execution model.

What happens if a host system thread simulating the execution of VCPU1 (or
virtual IO processor) gets preempted, while VCPU2 is waiting for a response
from VCPU1? Does the simulated system (specifically, its legacy software)
rely on finite timeouts?
___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

Re: [Simh] Regarding "Cutler THE father of VMS" myth

2015-03-08 Thread Sergey Oboguev
> Johnny Billquist  wrote:

> One thing Cutler did, which you do not find in the predecessors are ACPs.

If so, he may have a claim to inventing (a hint at) a microkernel concept. ;-)

Ironically, while ACPs made a lot of sense in a PDP-11 world due to the 
constraints in address space and kernel memory size, but rolling ACP idea over 
to VMS was much less productive (since these constraints were gone), and 
eventually F11 ACP was replaced with in-process XQP.

I am wondering though if FUSE developers ever heard of ACPs or reinvented the 
concept from scratch.
At least http://en.wikipedia.org/wiki/Filesystem_in_Userspace
claims that "The idea of a filesystem driver living in userspace was originally 
developed in 1995".

It is also curious that ACPs (whether in traditional form or XQP form) allowed 
to do one thing that Unix/Linux interface still does not -- opening files as an 
asynchronous operation -- but ironically the chief utility of this capability 
is mainly for web servers which were not invented back then yet.

P.S. To come think of it, my very first project as a salaried software 
developer (more akin to commercial enterprise of Tom Sawyer in fence painting 
business) at ca. 1984 involved writing an ACP-like structure... not for a file 
system, but for a graphics card, on RSX.
___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

Re: [Simh] Regarding "Cutler THE father of VMS" myth

2015-03-05 Thread Sergey Oboguev
> From: Andreas Davour 


> what is the "Showstopper"?

A belletristic account of Windows NT development history.

"Showstopper is the dramatic, inside story of the creation of Windows NT, told 
by Wall Street Journal reporter G. Pascal Zachary. Driven by the legendary 
Bruce [sic!] Cutler, a picked band of software engineers sacrifices almost 
everything in their lives to build a new, stable, operating system aimed at 
giving Microsoft a platform for growth through the next decade of development 
in the computing business. Comparable in many ways to the Pulitzer 
Prize-winning book The Soul of a New Machine by Tracy Kidder, Showstopper gets 
deep inside the process of software development, the lives and motivations of 
coders and the pressure to succeed coupled with the drive for originality and 
perfection that can pull a diverse team together to create a program consisting 
of many hundreds of thousands of lines of code."

http://www.amazon.com/Showstopper-Breakneck-Windows-Generation-Microsoft/dp/1497638836

In all fairness, in the text of the book they actually got Cutler's name right.

"G. Pascal Zachary is a journalist, author, and teacher. He spent thirteen 
years as a senior writer for the Wall Street Journal (1989 to 2001) [...] 
Zachary concentrates on African affairs. He also writes on globalization, 
America's role in world affairs, immigration, race and identity, and the 
dysfunctionalities and divisions in US society."

Some undoubtedly would argue that Windows must be falling into 
"dysfunctionalities and divisions in US society".
___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

Re: [Simh] Regarding "Cutler THE father of VMS" myth

2015-03-04 Thread Sergey Oboguev
> From: Clem Cole 


> While I think it bug Dave and others that people did not like his 
> favorite system ...

"The New Hacker's Dictionary", MIT Press, 3rd edition:

"Many Unix fans generously concede that VMS would probably be the
hacker's favorite commercial OS if Unix didn't exist; though true,
this makes VMS fans furious."  ;-)

> Unix has been able to embrace the ideas easily and I do not think
> that would have been easy with VMS

It would not, which makes it even more curious that there was a pilot
effort at reimplementation of VMS on top of Mach.

http://dl.acm.org/citation.cfm?id=964616
http://dl.acm.org/citation.cfm?id=692228
http://www.sture.ch/vms/Usenix_VMS-on-Mach.pdf

> They wrote Mica in C++ (warped a bit to look like PL/1 IMO)

Was not it supposed to be in Pillar (kind of Pascal++)?
Or was Pillar abandoned or relegated to some other role?

http://www.textfiles.com/bitsavers/pdf/dec/prism/mica/Pillar_Language_Specification_Nov88.pdf

___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

Re: [Simh] Regarding "Cutler THE father of VMS" myth

2015-03-04 Thread Sergey Oboguev


> Remember when "VAX SW" is being put together in the early/mid-70s,
> many commercial OS guys (particularly @ DEC) did not (yet) believe it
> was possible to right a commercial OS in anything but assembler -
> until UNIX (although UNIX was hardly the first - Boroughs used an
> Algol, and of course GE/Honeywell and Pr1me used PL/1 and to be fair
> UNIX v1 was written in PDP-7 assembler).

VMS  team had to make design choices within the constraints of the state of
compiler technology, hardware technology/costs, and the requirements of
market competitiveness.

Looking back, it is very clear that VMS designers went to extreme lengths
to ensure a system runnable very efficiently on a resource-constrained
hardware.

Some of their choices included

- partially paged system code
- partially paged pool
- extremely sophisticated memory management algorithms

Their choices also included choosing assembler as an implementation language
for key system modules rather than high-level language. The state of the
compiler technology to match or surpass hand-written assembler code just was
not there at the time, and would not be there for about another decade
(after all, the advent of modern efficient compilers owes a historical stage
of their development to the availability VAX as a development platform).

Choice of the assembler and accordingly manual hard labor as "an optimization
engine" allowed to achieve smaller memory footprint of the system and faster
code than present state of compiler technology would allow, which was crucial.

One should just remember that 11/780 computational performance was only about
0.7 MIPS and some of the initial machines shipped with less than 1 MB of 
memory.

As an illustration, the first VAX I personally met even much later (ca. 1984)
was 11/780 with only 2 MB of RAM.

Another place I worked at later ran (in ca. 1984-1988) a cluster of 780's with
initially 4 MB each later upgraded to 8 MB. During daytime, the mix on *each*
of the machines included about 4-6 concurrently executing batch jobs doing
particle physics computations plus about 20 interactive sessions of people
editing, compiling, running and debugging their computational applications --
all in a few MBs of RAM. It was a crawl, but the system was still reasonably
responsive and able to make forward progress with only limited loss to paging
etc., and the fact VMS was able to sustain workloads like these (and thus
meet the needs of technical/engineering and scientific markets) was made
possible by those extreme lengths VMS developers went to and by the
trade-offs they chose -- one of which was the choice of the assembler
as an implementation language.

This trade-off, of course, meant bleaker prospects for VMS longer-term future,
but it enabled its early market success and building of market momentum.

In a similar vein, Gordon Bell tells in one of his interviews how already in
the 1990's Cutler once asked him why they did not design VAX as a RISC from the
start. Bell answered that it would not be possible at the time: RISC
instruction set would  have meant larger code size, and at those-day RAM
costs, this would impede VAX market success.

___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

Re: [Simh] Regarding "Cutler THE father of VMS" myth

2015-03-04 Thread Sergey Oboguev


> From: Bill Cunningham 

> I've always heard Dave Cutler given full credit 
> for RSX. I know he designed NTFS.

If you imply NT file system, then the history of NTFS development is described
at some length in the "Showstopper". According to this description NTFS was one
of the aspects of NT Cutler did not partake in.

NTFS had other developers:

http://en.wikipedia.org/wiki/NTFS#Developers
___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

[Simh] Regarding "Cutler THE father of VMS" myth

2015-03-03 Thread Sergey Oboguev
> - Original Message -
> From: Christian Gauger-Cosgrove 
> To: Bill Cunningham 
> Cc: SIMH 
> Sent: Tuesday, March 3, 2015 12:12 PM
> Subject: Re: [Simh] Getting rsxs to run on the pdp11 emulator

> Dave Cutler is the "father" of RSX-11/M+, VMS, and Windows NT.

Since the topic of "Cutler the Demiurg of VMS" comes up once in a while here
and there...

In the interests of some historical justice and accuracy, Cutler is "a" father
of VMS, not "the" father.

The myth that Cutler was "the" father of VMS originated in its public
circulations probably from the authors of the "Showstopper" book, who did not
have much interest in the subject of VMS, did not have access to the members of
early VMS design team and could not know what had been happening there, and
also probably (as many if not most book authors) were not against dramatizing
and embellishing their story a little.

I have not read or heard anywhere that Cutler himself was ever claiming the
role in VMS development ascribed to him by this myth.

In reality, from the very start there were three key people on the software
side in development of VAX and subsequently VMS, and if any "the" father of VMS
were to be named at all, it would hands down be Dick Hustvedt.

http://en.wikipedia.org/wiki/Dick_Hustvedt

Cutler was a technical team manager during the development of initial versions
of VMS, however he was not the top #1 architect and technical contributor.

"VAX Team A" designing VAX architecture included 3 people from the hardware
side and 3 people from the software side. On the software side these were
Dick Hustvedt, Peter Lipman and David Cutler. These three also became later
the principal authors of VMS kernel.

In terms of the magnitude of contribution to VMS among these three
a distinct #1 was certainly Hustvedt.

A look into VMS source code (authorship and change history in source files
headers) in source kits at around VMS late 3.x-4.0 versions timeframe -- about
the time when all three departed VMS development -- makes the picture
exceedingly clear.

Direct code contributions of Cutler to VMS were parts of the kernel, DCL, MCR,
autoconfig, 5 drivers and C run-time library.

As to the specific parts of VMS kernel, the breakdown of its primary authors
is as follows:

Cutler was responsible for IO subsystem (except page locking), forking (like in
fork processes/fork blocks), exception handling, system timer and timer
services, executive pool allocation, bugcheck code, logical names and several
miscellaneous facilities (including mailboxes, console IO routines, CHMx
dispatcher, adjust stack and error logging interface routines in the kernel).
There are no visible Cutler "fingerprints" (change/authorship comments) in any
other kernel modules.

Hustvedt was the primary author responsible for the scheduler, swapper,
synchronization primitives (including event flags and kernel mutexes) and RSE
code (that changes process scheduling state in response to system events), AST
handling (for all CPU modes), process creation/deletion/starting, process
control (suspend/resume/hibernate/wakeup/handling process priorities and
names), process shell and null process, system init, SYSGEN parameters,
image exit and rundown, power failure handling and recovery, VMB, SYSBOOT,
XDELTA and MSCP port driver.

In addition, as a secondary author Hustvedt was responsible for 55 other source
files in the kernel.

Later Hustvedt was also responsible for ASMP (asymmetric multi-processing) and
was the driving force behind the advent of VAXcluster.

Peter Lipman was the primary author responsible for all virtual and physical
memory handling (except swapper). This may sound brief, but these are the most
complex and sophisticated modules in the system with extreme importance.
One should remember that the ability of VMS to run scores of user sessions
in a few megabytes of main memory was a sort of a technical wonder that,
one might surmise, greatly contributed to VMS success. In the course of
VAX MP project, I had a reason to look through some pieces of these algorithms
and implementation code behind them and might say they stay a technical miracle
even today, with hardly any modern operating system replicating their
complexity and sophistication (of course, in days of RAM plenty this is not
much of a pressing issue). In addition, Lipman was responsible as the primary
author for image activator, kernel file IO routines and GETDVI. As a secondary
contributor he was also responsible for 63 other source files in the kernel.

There were also other major VMS components, such as file system, various system
processes, later SCA/SCS etc., developed by other people.

Thus, though contributions of Cutler to VMS were significant, he by no means
was "the demiurge" of VMS as the myth would have it, nor even the architect #1.

One may surmise that dedication of I&DS to Hustvedt (rather than Cutler, who by
the time the book was published also departed VMS development) was not only a
"thank y

Re: [Simh] Is Alpha AXP in SIMH's future?

2015-03-03 Thread Sergey Oboguev
My comment was is not about Intel vs. non-Intel, but about having 64-bit as a
native type in host machine instructions and leveraged by the compiler, rather
than simulated by 32-bit host operations.

Just consider how let us say LDQ or ADDQ would actually be implemented
in each of the respective cases.




From: "li...@openmailbox.org" 
To: "Simh@trailing-edge.com"  
Sent: Tuesday, March 3, 2015 12:56 PM
Subject: Re: [Simh] Is Alpha AXP in SIMH's future?


Hi,

I don't understand (a) unless this is referring specially to Intel. For (b)
I didn't imagine needing so much memory for a guest.

Right now I'm running SIMH on a MIPS III (64 bit) box under OpenBSD and on
Solaris SPARC (sun4u). SIMH builds and runs on everything I have. I don't
use Windows and my Linux box is 32 bit for a few things that don't run
elsewhere. From my view it would be fantastic to have SIMH support an Alpha
emulator because SIMH doesn't require particular hosts.


On Tue, 3 Mar 2015 12:44:03 -0800
Sergey Oboguev  wrote:

> The downside of running a 32-bit version of virtually any AXP simulator
> is that it is bound to be 2-3 times slower than 64-bit version, due to
> 
> (a) simulation of AXP 64-bit operations on top of 32-bit host operations,
> 
> (b) indirect access to guest memory when it is sized above 2 GB or so
> assuming such an access is implemented at all.
> 
> The only exception to (a) would be a 64-bit simulator squeezed into 32-bit
> environment running on 64-bit machine, but this is hardly worth the
> effort.
> 
> 
> - Original Message -
> From: "li...@openmailbox.org" 
> To: "Simh@trailing-edge.com" 
> Cc: 
> Sent: Tuesday, March 3, 2015 9:25 AM
> Subject: [Simh] Is Alpha AXP in SIMH's future?
> 
> Is an Alpha machine capable of running OpenVMS in SIMH's future? I know
> there are several Alpha emulators for Linux and Windows but I really like
> SIMH since it runs on pretty much any UNIX-like OS and doesn't depend on
> having a 64-bit Linux installed.
> 
> Thank you for SIMH.
> ___
> Simh mailing list
> Simh@trailing-edge.com
> http://mailman.trailing-edge.com/mailman/listinfo/simh 

___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh
___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

Re: [Simh] Is Alpha AXP in SIMH's future?

2015-03-03 Thread Sergey Oboguev
> How did this get to be a discussion about running a 32bit simulator of a 
> 64bit machine?


It is not a discussion, rather an observation to a person who wished to run 

AXP simulation without "having a 64-bit Linux installed".




- Original Message -
From: Mark Pizzolato - Info Comm 
To: Sergey Oboguev ; "li...@openmailbox.org" 
; "Simh@trailing-edge.com" 
Cc: 
Sent: Tuesday, March 3, 2015 12:55 PM
Subject: RE: [Simh] Is Alpha AXP in SIMH's future?

On Tuesday, March 3, 2015 at 12:44 PM, Serge Oboguev wrote:
> The downside of running a 32-bit version of virtually any AXP simulator is
> that it is bound to be 2-3 times slower than 64-bit version, due to
> 
> (a) simulation of AXP 64-bit operations on top of 32-bit host operations,
> 
> (b) indirect access to guest memory when it is sized above 2 GB or so
> assuming such an access is implemented at all.
> 
> The only exception to (a) would be a 64-bit simulator squeezed into 32-bit
> environment running on 64-bit machine, but this is hardly worth the effort.

How did this get to be a discussion about running a 32bit simulator of a 64bit 
machine?

The ONLY requirement that the simh framework would require to implement a AXP 
simulator would be that the host machine have 64bit integer support.  Certainly 
if large memory was to be simulated (as would only be reasonable with an AXP 
simulator) then things would have to run on an 64bit capable host with a 64bit 
OS compiled as a 64bit binary.

The existing makefile will compile simulators with the default compiler 
available on the host (gcc) or any other compiler which is explicitly requested 
by GCC=othercompiler on the make command line.  If the host system is native 
64bit and the compiler is native 64bit then the resulting simulator will be 
fully capable of providing memory beyond 4GB.  Nothing special needs to be done.

There already are other simulators which require 64bit integer support.  

- Mark


> - Original Message -
> From: "li...@openmailbox.org" 
> To: "Simh@trailing-edge.com" 
> Cc:
> Sent: Tuesday, March 3, 2015 9:25 AM
> Subject: [Simh] Is Alpha AXP in SIMH's future?
> 
> Is an Alpha machine capable of running OpenVMS in SIMH's future? I know
> there are several Alpha emulators for Linux and Windows but I really like
> SIMH since it runs on pretty much any UNIX-like OS and doesn't depend on
> having a 64-bit Linux installed.
> 
> Thank you for SIMH.
> ___
> Simh mailing list
> Simh@trailing-edge.com
> http://mailman.trailing-edge.com/mailman/listinfo/simh



> ___
> Simh mailing list
> Simh@trailing-edge.com
> http://mailman.trailing-edge.com/mailman/listinfo/simh

___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

Re: [Simh] Is Alpha AXP in SIMH's future?

2015-03-03 Thread Sergey Oboguev
The downside of running a 32-bit version of virtually any AXP simulator
is that it is bound to be 2-3 times slower than 64-bit version, due to

(a) simulation of AXP 64-bit operations on top of 32-bit host operations,

(b) indirect access to guest memory when it is sized above 2 GB or so
assuming such an access is implemented at all.

The only exception to (a) would be a 64-bit simulator squeezed into 32-bit
environment running on 64-bit machine, but this is hardly worth the effort.


- Original Message -
From: "li...@openmailbox.org" 
To: "Simh@trailing-edge.com" 
Cc: 
Sent: Tuesday, March 3, 2015 9:25 AM
Subject: [Simh] Is Alpha AXP in SIMH's future?

Is an Alpha machine capable of running OpenVMS in SIMH's future? I know
there are several Alpha emulators for Linux and Windows but I really like
SIMH since it runs on pretty much any UNIX-like OS and doesn't depend on
having a 64-bit Linux installed.

Thank you for SIMH.
___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh 
___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

Re: [Simh] Getting rsxs to run on the pdp11 emulator

2015-03-03 Thread Sergey Oboguev
There is a couple of publicly accessible system running RSX-11M+.

***

The first one I know of is located in Novosibirsk and runs 
RSX-11M-PLUS V4.6 BL87.

Some days it is executed by SimH, other days by Ersatz-11.

To access,
telnet rsx.pdp-11.org.ru

Then log in as
HEL GUEST/  (note the slash before empty password field)

Web page (in Russian): 
http://pdp-11.org.ru/~form/ctakah.html

To get an account or for other inquiries contact supp...@pdp-11.org.ru.

Login screen reports the date as 4-MAR-15, so the system must be Y2K aware
at least to the extent of "mostly running".

***

Another one is hosted in IL, but the owner seems to be in MA.

http://www.dbit.com

telnet rsx.dbit.com

Specifically, if you want to plug your old dusty Unibus or Q-bus card
into a PC, knock there.
___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

Re: [Simh] Platform for VAX MP Experimentation (amongst other uses)

2015-01-05 Thread Sergey Oboguev
Most extensive VAX MP stress tests I did were on 8-VCPU configuration (i7), 
however I also did some testing on 24-VCPU and 32-VCPU configurations. No 
problems have been spotted.

If you want to run VAX MP on a 32-bit host system, you might wish to rebuild 
VAX MP from source, as 32-bit binaries posted on the web site do not 
incorporate some later fixes (I currently do not have 32-bit Linux build 
environment around, so I updated only 64-bit binaries).

However be sure to read the note on OpenVMS VAX SMP licensing at the beginning 
of "VAX MP User Guide".




 From: Mark Wickens 
To: "simh@trailing-edge.com"  
Sent: Monday, January 5, 2015 3:01 PM
Subject: [Simh] Platform for VAX MP Experimentation (amongst other uses)
 


Hi

I was interested in the collective thoughts of SIMH users with regard to 
simulator performance - and in particular - about what would be a suitable 
platform to experiment with the multiprocessor variant of SIMH.

I have various reasons to be interested in a server that has multiple cores - 
from virtualisation of Windows and other operating systems to running multiple 
emulators including VAX and Alpha emulators.

I am seriously considering buying an HP Proliant 585 Gen 6 server - the variant 
I'm looking it has 32 GB of RAM and 4 x hex core AMD Opteron 2.4Ghz (8431) for 
a total of 24 cores. There isn't a great deal of performance information out 
there but I think buying one of these second hand for around GBP 250 is a 
sensible compromise between number of CPUs and price.

Are there any other multi-cpu servers I could sensibly consider given budget 
constraints? Is 32 GB a sensible amount of RAM or should I got for more?

Thanks for the help.

Mark.
___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

Re: [Simh] simh networking tuntap no success

2014-12-30 Thread Sergey Oboguev
If it is of any help, I had a chapter on setting up a network connection in 
"VAX MP OpenVMS User Manual"


http://oboguev.net/vax_mp/VAX%20MP%20OpenVMS%20User%20Manual.pdf

For Linux/VMS, see pages 18-22 and also 7-10.

linux-tap.sh helper script can downloaded from
https://raw.githubusercontent.com/oboguev/vax_mp/master/src/linux-tap.sh 




 From: Valdir Franco 
To: Mark Pizzolato - Info Comm  
Cc: simh@trailing-edge.com 
Sent: Tuesday, December 30, 2014 4:48 PM
Subject: Re: [Simh] simh networking tuntap no success
 


Hi...
Just for verification, I did a NetBSD/vax installation with the same 
virtual machine (simh39) that was used with OpenVMS73. Net adapter eth0 
bridged with virt. tap0, under bridge br0, with IP from lan 192.168.25.0
 (with same steps as followed to put vms network up). Connecting via  
ssh from linux to vax (netbsd) and ...voilá...connection established. 
So, I think there is a misconfiguration with VMS. I have to check it 
out. 
Meanwhile, I have to choose vde (as recommended), even if network traffic gets 
a bit heavy.

greetings...



2014-12-27 16:16 GMT-02:00 Mark Pizzolato - Info Comm :

I think that a solution involving VDE will probably be the best for what seems 
to be your ultimate goal of not using the wired lan interface on your laptop.
> 
>Along the way, If you want to mess around with a bridging approach, follow as 
>much of the Ubuntu steps which are outlined in the 0readme_ethernet.txt file.  
>Notice that those instructions do not involve any external taptap.c program.
> 
>-  Mark
> 
>From:Mark Pizzolato - Info Comm 
>Sent: Friday, December 26, 2014 9:02 PM
>To: Valdir Franco
>Cc: Mark Pizzolato - Info Comm
>Subject: Re: [Simh] simh networking tuntap no success
> 
>
>On Dec 26, 2014 8:41 PM, Valdir Franco  wrote:
>>
>> Hi...
>> Surely there is some misconfiguration I did. I have attempted several 
>> configuration involving eth0, tap0 and lately tap1 too. Failed.
>> I got some success with vde, but realized a more heavy traffic over the lan. 
>> But trying bridging eth0/tap0 just get stuck.
>> I'll give another chance to taptap.c, just to be sure about communication 
>> between eth0 and tap0 or tap1. At this point I cant see what is going wrong. 
>> Even after deleting (under vms)QE0 and QE1 and reconfiguration.
>> I 'll start from scratch again, and check configuration used. Let's see.
>> ...
>Taptap.c functionality is built into the simh Ethernet layer now.
>>
>>
>> 2014-12-22 22:05 GMT-02:00 Mark Pizzolato - Info Comm :
>>>
>>> The simh version and the OS should work.
>>>
>>> Like I (and Rhialto) said, you should start with only one interface 
>>> configured, both in the VMS IP setup AND in the hardware config.  You 
>>> should start with a direct connect to the wired network and convince 
>>> yourself that you can talk to other systems on the lab (and optionally 
>>> beyond).  Once you've got that working, you should work on using VDE to 
>>> achieve host to simh VAX networking.  You should not need a separate 
>>> interface.
>>>
>>> Getting anything to work with your WiFi interface should only be explored 
>>> after the above works.
>>>
>>> Good luck!
>>>
>>> Feel free to come back with more questions.
>>>
>>> - Mark
>>>
>>> On Dec 22, 2014 4:38 PM, Valdir Franco  wrote:
>>> >
>>> > Hi Mark,
>>> >
>>> > Here is it...
>>> > My present simh version:
>>> >
>>> > sim> sho version
>>> > MicroVAX 3900 simulator V4.0-0 Beta
>>> > Simulator Framework Capabilities:
>>> > 64b data
>>> > 64b addresses
>>> > Ethernet Packet transport:PCAP:TAP:VDE:UDP
>>> > Idle/Throttling support is available
>>> > Virtual Hard Disk (VHD) support
>>> > RAW disk and CD/DVD ROM support
>>> > Asynchronous I/O support
>>> > Host Platform:
>>> > Compiler: GCC 4.8.2
>>> > Simulator Compiled: Nov 30 2014 at 16:12:31
>>> > Memory Access: Little Endian
>>> > Memory Pointer Size: 64 bits
>>> > Large File (>2GB) support
>>> > PCRE RegEx support for EXPECT commands
>>> > OS clock tick size (time taken by msleep(1)): 2ms
>>> > OS: Linux mrx 3.10.17 #2 SMP Wed Oct 23 16:34:38 CDT 2013 
>>> > x86_64 Intel(R) Core(TM) i7-2630QM CPU @ 2.00GHz GenuineIntel GNU/Linux
>>> >
>>> > git commit id: a9ac7c15
>>> >
>>> > And the downloaded and built today simh version:
>>> >
>>> > MicroVAX 3900 simulator V4.0-0 Betagit commit id: ef0eae13
>>> > sim> sh ver
>>> > MicroVAX 3900 simulator V4.0-0 Beta
>>> > Simulator Framework Capabilities:
>>> > 64b data
>>> > 64b addresses
>>> > Ethernet Packet transport:PCAP:TAP:VDE:UDP
>>> > Idle/Throttling support is available
>>> > Virtual Hard Disk (VHD) support
>>> > RA

Re: [Simh] Possibly a n00b configuration error

2014-09-20 Thread Sergey Oboguev
If memory serves, a couple of ROM tests sometimes used to fail because 
ROM code has a very tight tolerance on the accuracy of SSC clocks, 
and simulated clocks deviated beyond the tolerance limits of the ROM test.

This might be the message for one of those tests.

The issue is annoying, but harmless and irrelevant for VMS operation
(as well as probably for BSD and Ultrix) -- at least as long as the clock
is just imprecise, but otherwise basically functional -- and can be ignored,
for anything other than unattended boot.

In VAX MP I shut off the message for one of these tests (that used to come up
more often) by returning good known values from SSC clock register.

See ROM_PC_TEST in
https://github.com/oboguev/vax_mp/blob/master/src/VAX/vax_sysdev.cpp

- Sergey







 From: Mark Pizzolato - Info Comm 
To: Robert G. Schaffrath  
Cc: "simh@trailing-edge.com"  
Sent: Saturday, September 20, 2014 12:27 PM
Subject: Re: [Simh] Possibly a n00b configuration error
 


I added the extended memory code to the ka655.bin ROM image.  Extended memory, 
here is support for greater than the 64MB that the hardware and the original 
ka655.bin supported. The original ka655.bin image was slightly patched from the 
original to work better in the simulator (mostly disabling a few tests).  
The ka655x.bin changes were intended to replace the original ka655.bin, but 
both were kept in the simh distribution for several versions just in case.  
After several years someone found a bug in the ka655x.bin changes which I 
subsequently fixed.  I'm pretty sure that this change happened after 2008.
To best avoid the problem that Mark Wickens encountered, the latest ka655x.bin 
has been included in the simulator binary.
- Mark
On Sep 20, 2014 11:54 AM, "Robert G. Schaffrath"  wrote:

Yes I run the KA655x.BIN version myself dated 3/31/2008.  I believe it is 
patched to allow 64MB (at least that is what I run it with).  It has been a 
long time since I dug into the finer details!

Robert



On 9/20/2014 2:48 PM, khandy21yo wrote:


>
>If I remember correctly, simh started out with the ka655 version, which is the 
>code from an actual machine. Then  thr rmulatoe was modifies to handle more 
>memoet than a real machine rver had, and the ka655x version was cewares0d to 
>deal with the extra eam.
>
>
>If you reduce the nenory configured, the other eom might work.
>
>
>
>
>
>
>Sent from Samsung tablet
>
>
> Original message 
>From Mark Pizzolato - Info Comm  
>Date: 09/20/2014 6:25 AM (GMT-07:00) 
>To Mark Wickens ,simh@trailing-edge.com 
>Subject Re: [Simh] Possibly a n00b configuration error 
>
>
>HI Mark,
>
>On Saturday, September 20, 2014 at 4:00 AM, Mark Wickens wrote:
>> A quick configuration question if I could be so bold. Ever since I can
>> remember my startup script for the VAX 3900 has halted with an error:
>> 
>> msw@hpm:/usr/local/vax/bin$ sudo ./vax
>> 
>> VAX simulator V3.9-0
>> NVR: buffering file in memory
>> Eth: opened OS device eth3
>> Listening on port 2023 (socket 9)
>> 
>> 
>> KA655-B V5.3, VMB 2.7
>> Performing normal system tests.
>> 40..39..38..37..36..35..34..33..32..31..30..29..28..27..26..25..
>> 24..23..22..21..20..19..18..17..16..15..14..13..12..11..10..09..
>> 
>> ?80 2 17 FF 00 
>> 
>> P1=0100  P2=  P3=  P4=0088  P5=
>> P6=  P7=  P8=03FC  P9=303FFE00 P10=1FFF
>> r0=  r1=20088000  r2=  r3=3040  r4=03FF4000
>> r5=  r6=0400  r7=3000  r8=8000 ERF=8000
>> 
>> 08..07..06..05..04..03..
>> Normal operation not possible.
>> 
>>  >>>
>> 
>> 
>> Is this expected behaviour, or a configuration issue? I'd like to have
>> the SIMH instance to boot into VMS automatically on server start up if
>> possible, as I'm always forgetting to go in there and continue the boot
>> process.
>> 
>> My configuration file is as below. Thanks for the help!
>
>If this always happens, then it might be "expected behavior", given the pieces 
>you are working with. :-)
>
>> ;add CPU microcode
>> load -r /usr/local/vax/data/ka655.bin
>  
>This is slightly suspicious.
>
>The remaining configuration file is fine.
>
>Please explain:
>1) What host system you're running on.
>2) Where you got the "suspicious" boot rom image you are loading.
>
>Alternatively:
>1) Pick up the latest code from: 
>https://github.com/simh/simh/archive/master.zip
>2) Unzip it
>3) make vax
>
>Use the resulting BIN/vax simulator AND in your configuration, don't bother 
>loading the "suspicious" ka655.bin.  The current simulator will provide the 
>right ROM image and automatically load when you do the "boot CPU" to start 
>execution.  This is only done
 if you haven't already loaded 'some', possibly "suspicious", ROM image, so you 
could still have the same problem even with the latest code.  
>
>If this fixes your problem, please remove the "suspicious" ROM image from

Re: [Simh] Booting a real VAX from an emulated one

2014-07-01 Thread Sergey Oboguev
Set up your virtual node as a VAXcluster master node with self-sufficient
quorum and as MOP server with NCP.

Boot physical uVAX 3900 via Ethernet as a diskless satellite
cluster node(>>> B XQ).

Then image the local drive with BACKUP.




 From: Eric Smith 
To: "simh@trailing-edge.com"  
Sent: Tuesday, July 1, 2014 1:22 PM
Subject: [Simh] Booting a real VAX from an emulated one
 

I apologize in advance .. I may well be posting this in the wrong
forum.  If so, if someone would be so kind as to redirect me offline I
would appreciate it.

I have a uVAX 3900 I rescued about 10 years ago.  It was headed for a
dumpster.  It has two 300 meg drives and 16M of RAM, one
non-functional tape drive, and a qbus card I have a 10 meg network
adapter plugged into.

It had VMS v 5.something on it I believe at the time.  Over the years
I (inadvertently) mangled that installation trying to learn VMS and
ended up putting an instance of OpenBSD on it.  I did this by running
mopd on another unix box and booting the VAX over the network.

I would like to install VMS on it again, but not sure how to get it
there.  The tape drive doesn't pull tape anymore.

I'm thinking you VMS experts know a way I can use my SIMH VAX VMS
emulation to boot the real VAX from? I'm thinking it is possible to
boot VMS this way, and/or do a VMS installation this way, correct?

Again, I realize this isn't a purely SIMH post, so if more appropriate
to contact me offline, please do.  Any direct help or just pointers to
an online resource would be much appreciated.

Thanks!
Eric KD5UWL
___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

Re: [Simh] Reduce CPU usage

2014-01-24 Thread Sergey Oboguev
Could it perhaps be a canonical case of Linux build with low CONFIG_HZ such as 
100 or around?




 From: "Hittner, David T (IS)" 
To: Mark Pizzolato - Info Comm ; Priya Chincholikar 
; "simh@trailing-edge.com"  
Sent: Friday, January 24, 2014 12:43 PM
Subject: Re: [Simh] Reduce CPU usage
 


 
And what version of VMS are you running? Different versions of VMS have 
different idle characteristics..
 
Dave
 
From:simh-boun...@trailing-edge.com [mailto:simh-boun...@trailing-edge.com] On 
Behalf Of Mark Pizzolato - Info Comm
Sent: Friday, January 24, 2014 8:26 AM
To: Priya Chincholikar; simh@trailing-edge.com
Subject: EXT :Re: [Simh] Reduce CPU usage
 
Hi Priya,
 
This is one of those “it works for me” cases.  Idling works fine for a VMS 
guest on my fc18 x86 test system.
 
What is the output of “SHOW VERSION” done at the “sim>” prompt?
What does your configuration file look like?
 
-  Mark
 
From:simh-boun...@trailing-edge.com [mailto:simh-boun...@trailing-edge.com] On 
Behalf Of Priya Chincholikar
Sent: Friday, January 24, 2014 3:40 AM
To: simh@trailing-edge.com
Subject: [Simh] Reduce CPU usage
 
Hi,
 
The cpu usage while running the emulator is shown as 97% to 99%. Is there a way 
to reduce this?
And I tried setting the cpu idle but no use. CPU utilization is still high.
 
sim> show cpu
CPU     idle disabled, model=VAXServer 3900 (KA655), NOAUTOBOOT
        64MB, HALT to console
sim> SET CPU IDLE=VMS
sim> show cpu
CPU     idle=VMS, idle enabled, model=VAXServer 3900 (KA655), NOAUTOBOOT
        64MB, HALT to console
 
Host OS used is Linux. fc18. 
 
Thanks,
Priya 
 
 
___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

Re: [Simh] EXT : Questions regarding future simulator development

2013-04-10 Thread Sergey Oboguev
> There is an unreleased VAX simulator variant in the wild with 32 processor 
>support.

It had been released about 8 months ago.
___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

Re: [Simh] Why 36-bit computing?

2013-03-19 Thread Sergey Oboguev
My very first computer as a kid was a 37-bit computer we had at school, which I 
reckon must be considered superior to 36-bit computers.





From: Michael Mondy 
To: simh@trailing-edge.com
Sent: Tue, March 19, 2013 7:39:07 AM
Subject: [Simh] Why 36-bit computing?

On Tue, Mar 19, 2013 at 02:43:10PM +0100, Johnny Billquist wrote:
> [ ... ]
> 
> It wasn't just DEC. Back in the day, most everyone used various word
> lengths that wasn't a power of two. I can't really make many
> comments on why other word lengths were more popular. I've seen
> mentioned that floating point formats was pretty nice to do with
> something like 60 or 72 bits. Reason being that you had large enough
> exponents for useful things, and enough precision for most
> calculations.
> So a word length that related to this made sense.
> 
> Number of bits being a power of two started with IBM in the 60s, and
> became common with the PDP-11 in the 70s. (Or so I'd like to think.)
> 
> Johnny

Wikipedia has an article on 36-bit computing: 
http://en.wikipedia.org/wiki/36-bit

Snipped from the wikipedia article:

[ ... ]

Many early computers aimed at the scientific market had a 36-bit word length. 
This word length was just long enough to represent positive and negative 
integers to an accuracy of ten decimal digits (35 bits would have been the 
minimum). It also allowed the storage of six alphanumeric characters encoded in 
a six-bit character encoding. Prior to the introduction of computers, the state 
of the art in precision scientific and engineering calculation was the 
ten-digit, electrically powered, mechanical calculator, such as those 
manufactured by Friden, Marchant and Monroe. These calculators had a column of 
keys for each digit and operators were trained to use all their fingers when 
entering numbers, so while some specialized calculators had more columns, ten 
was a practical limit. Computers, as the new competitor, had to match that 
accuracy. Decimal computers sold in that era, such as the IBM 650 and the IBM 
7070, had a word length of ten digits, as did ENIAC, one of the earliest 
computers.

[ ... ]

By the time IBM introduced System/360, scientific calculations had shifted to 
floating point and mechanical calculators were no longer a competitor. [...]  [ 
At which point the advantages of using powers of two became more important than 
feature parity with mechanical calculators. ]

-- Mike
___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh
___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

Re: [Simh] VAX XQ and wireless networking

2012-11-17 Thread Sergey Oboguev
I have not personally tried it, but here are few general remarks:

SIMH DEQNA/DELQA virtual devices talk 802.3, whereas WiFi (802.11) is different 
from 802.3 in frame structure and everything else. WiFi may superficially look 
like Ethernet (i.e. have similarly looking MAC address), but it is actually 
not, 
so naive binding of XQ to host WiFi interface would not work for that reason.

In addition, guest operating system software using DEQNA/DELQA will likewise be 
expecting 802.3 structured frames and protocol capabilities.

Therefore, some form of translation between 802.3 and 802.11 or tunneling of 
802.3 packets through 802.11 (or generic TCP/IP) would be required.

If all you want is to connect SIMH instance to exterior TCP/IP network via IP 
connectivity only (i.e. do not need VAXcluster, LAT or DECnet), then regular 
host OS level bridging of tap interface (or Windows interface such as loopback 
or wired Ethernet interfaces) to WiFi interface would be one thing to try. 
Bridging is likely to suffice to translate IP packets from 802.3 MAC envelope 
to 
802.11 and vice versa; that is it's purpose anyway.

If, on the other hand, you want to interconnect multiple SIMH instances over 
WiFi utilizing not only IP, but also other Ethernet based protocols such as 
VAXcluster or LAT or DECnet, host OS bridging may fail to translate those 
protocols. In the latter case you'd need to find a way to tunnel 802.3 packets 
over 802.11 or over generic TCP/IP. General approach would be to attach SIMH XQ 
to Linux tap device on one side and hook tap/tun's other side into tunneling 
software. VDE (http://wiki.virtualsquare.org/wiki/index.php/VDE) does just 
that, 
but I personally do not have experience using VDE. Furthermore, there is some 
direct VDE support in the latest version of SIMH (assuming the simulator 
executable is built with VDE option enabled). I have not personally tried using 
it, but at a glance at the code, it looks like it allows to connect XQ to 
VDE_SWITCH directly (using vde:port syntax), not requiring tap device as an 
intermediary.___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

Re: [Simh] Virtual VAXen

2012-11-11 Thread Sergey Oboguev
I came across another article regarding the history of VAX virtualization 
project at DEC.
Surprisingly, the projects dates back to 1981 and ran till 1990.
The goal was to achieve A1 security level certification.

Steve Lipner et al., "Lessons from VAX/SVS for High Assurance VM Systems"

http://dx.doi.org/10.1109/MSP.2012.87
http://www.cse.psu.edu/~tjaeger/cse543-f12/docs/SP_SPSI-2012-03-0042 
R1_Zurko.pdf




____
From: Sergey Oboguev 
To: simh@trailing-edge.com
Sent: Mon, July 9, 2012 6:23:41 AM
Subject: Re: [Simh] Virtual VAXen

> Ah yes, the VVAX option... another attempted graft on the VAX architecture 
>tree. Unlike vectors, it never got as far as a real implementation.

According to VVAX / VAX Security Kernel developers, while it was never released 
externally as a product, there was internal proof-of-concept implementation on 
11/730 and production quality implementation on 8800, the latter field-tested 
in 

1989 at a number of external customers' sites.

http://dx.doi.org/10.1109/32.106971
http://www.cse.psu.edu/~tjaeger/cse543-f06/papers/vax_vmm.pdf

http://dx.doi.org/10.1109/RISP.1990.63834
http://www.scs.stanford.edu/nyu/02sp/sched/vmm.pdf

And here is somewhat more detailed technical description:
http://dx.doi.org/10.1109/ISCA.1991.1021630
http://mprc.pku.cn/mentors/training/ISCAreading/1991/p380-hall/p380-hall.pdf
___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

[Simh] Multiprocessor VAX simulator

2012-11-10 Thread Sergey Oboguev
VAX MP is a derivative variant of SIMH VAX simulator capable to execute OpenVMS 
(VAX/VMS) in true SMP mode on multiprocessor host machines, including modern 
commodity multicore/hyperthreaded PCs and Macs.

Initial release of VAX MP supports Intel x86 and x64 processors based machines 
as host hardware platform with Windows, Linux and OS X as host operating 
systems. 

The number of VAX MP virtual processors is limited to the number of host 
machine's 

simultaneous execution units (logical CPUs). For example, PC with quad-core i7 
processor has hyperthreaded cores and would allow to run VAX MP instance 
with up to 8 virtual processors. 

VAX MP had been tested to OpenVMS VAX theoretical limit of 32 processors.

VAX MP is an architectural simulator. The focus is on OpenVMS SMP capability, 
rather than simulation of specific historical hardware. Accordingly VAX MP does 
not attempt to simulate any historically existing VAX multiprocessor model, 
although it may be used as a stepping stone towards further development of such 
a simulator. Instead VAX MP simulates a multiprocessor variant of MicroVAX 3900,
a machine that never historically existed, but complies generic VAX 
architecture 

and runs OpenVMS in SMP mode.

VAX MP is currently downloadable from my pesonal web page that hosts source 
code,
documentation, prebuilt binaries and screenshots.

http://www.oboguev.net/vax_mp

Those nostalgic for "real iron" may also view photographs of a session using 
VT320 connected via DECserver 200 to a VAXcluster of two VAX MP nodes, each 
with 

8 processors, under heavy cluster IO traffic.

Important legal notice: 

Although on a purely technical level VAX MP does not require VMS SMP extension 
license to run and OpenVMS runs fully functional in SMP mode on VAX MP without 
prompting for SMP extension license, however from the legal standpoint running 
VMS in SMP mode may require a license for VMS SMP extension. Whether such 
license is needed for hobbyist use is a gray area. Please be sure to consult 
"Legal information notice B" in "VAX MP OpenVMS User Manual" for more 
information regarding licensing situation. I personally do have SMP extension 
license legally sufficient to cover VAX MP development and testing "in the 
white", but your mileage may vary. I am unable to advise whether hobbyist use 
of 

OpenVMS VAX in multiprocessor mode would require SMP extension license.
___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh


Re: [Simh] pdp11.org.ru

2012-10-09 Thread Sergey Oboguev
http://pdp11.org.ru/support.html





From: Johnny Billquist 
To: simh@trailing-edge.com
Sent: Tue, October 9, 2012 2:32:00 AM
Subject: Re: [Simh] pdp11.org.ru

On 2012-10-09 10:10, John H. Reinhardt wrote:
> Does anyone know how to get in contact with the owner/manager of the
> website pdp11.org.ru?
>
> I was downloading some files from it about three weeks ago.

I believe that would be Oleg Safiullin. Contact me if you can't find an 
address for him. I think I should have one somewhere.

Johnny

___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh
___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

Re: [Simh] Connecting to Ethernet

2012-09-04 Thread Sergey Oboguev
 0
 
$ tcpip show route /full
MYVAX::SYSTEM 09:53:18 TCPIP$UCP CPU=00:00:03.15 PF=4490 IO=341 MEM=931
MYVAX::SYSTEM 09:53:22 TCPIP$UCP CPU=00:00:03.15 PF=4502 IO=347 MEM=943
MYVAX::SYSTEM 09:53:29 TCPIP$UCP CPU=00:00:03.16 PF=4502 IO=353 MEM=943
 Interrupt 

SHOW ROUTE just hangs .. well, I see it's doing I/Os, but no results.

$ mc tcpip$ping 10.0.0.2

Hangs as well. 


--- On Mon, 9/3/12, Sergey Oboguev  wrote:


>From: Sergey Oboguev 
>Subject: Re: [Simh] Connecting to Ethernet
>To: david.d.mil...@att.net, simh@trailing-edge.com
>Date: Monday, September 3, 2012, 5:34 PM
>
>
>Did you remember to configure the interface in TCP/IP services for OpenVMS?
>
>Assuming for the sake of example that your host uses IP address 192.168.21.3 
>for 
>
>
>(initially) eth0 and (subsequently after bridging) br0, and assuming you want 
>to 
>
>assign 
>
>IP address 192.168.21.200 to VAX instance, you need to configure QE0 inside 
>VMS 

>as follows:
>
>$ TCPIP SET INTERFACE QE0 /HOST=192.168.21.200 
>$ TCPIP SET CONFIGURATION INTERFACE QE0 /HOST=192.168.21.200
>
>Depending on exact value of network addresses being used and network topology 
>it 
>
>
>may be necessary to additionally specify options  /NETWORK_MASK=n.n.n.n and 
>/BROADCAST_MASK=m.m.m.m, although usually VMS TCP/IP picks correct defaults 
>for 

>the masks.
>
>If it still does not work, please post the output of
>
>$ TCPIP SHOW INTERFACE /FULL
>$ TCPIP SHOW ROUTE /FULL
>
>and (in Linux)
>
>ifconfig br0
>ifcongig eth0
>ifconfig tap0
>brctl show
>brctl show br0
>brctl showmacs br0
>route -n
>
>and (at SIMH command console prompt)
>
>show xq
>
>Thanks,
>Sergey
>
>
>From: "david.d.mil...@att.net" 
>To: simh@trailing-edge.com
>Sent: Mon, September 3, 2012 4:10:48 PM
>Subject: Re: [Simh] Connecting to Ethernet
>
>
>Sergey
>
>That was a big help, but I'm not  there yet.  I did the following
>
>$ sudo ./ linux-tap.sh create br0 eth0 tap0 david
>$ sudo vax; to start SIMH
>simh>   ; the usual stuff
>simh> set xq mac=bla bla
>simh> att tap0  ;  hooray, this is the first time this succeeded.
>simh> boot cpu
>
>When logged into VMS, I could PING and TELNET to LOCALHOST (and 127.0.0.1).   
>But alas, not to my physical host.  And my physical host can't see the VAX 
>either.
>
>But I did so many things to get to this point that something else might be 
>screwed up, so I need to reboot linux and start this drill again.
>
>Thanks for a great start!
>
>Any other suggestions?
>
>--- On Mon,  9/3/12, Sergey Oboguev  wrote:
>
>
>>From: Sergey Oboguev 
>>Subject: Re: [Simh] Basic questions
>>To: david.d.mil...@att.net, simh@trailing-edge.com
>>Date: Monday, September 3, 2012, 12:20 PM
>>
>>
>>> In particular I get the following error:
>>> david@Thinkpad:~$ sudo brctl addbr br0
>>> david@Thinkpad:~$ sudo ifconfig tap0 up
>>> tap0: ERROR while getting interface flags: No such device
>>
>>Perhaps because 
>>
>>/usr/sbin/tunctl -t $TAPDEV -u  $USERID
>>
>>is missing.
>>
>>You may find the following script helpful:  
>>http://oboguev.net/misc/linux-tap.sh.txt
>>
>>Usage is at the bottom or invokable as
>>
>>./linux-tap.sh help
>> 
> ___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

Re: [Simh] Connecting to Ethernet

2012-09-04 Thread Sergey Oboguev
SYSTEM 09:53:18 TCPIP$UCP CPU=00:00:03.15 PF=4490 IO=341 MEM=931
MYVAX::SYSTEM 09:53:22 TCPIP$UCP CPU=00:00:03.15 PF=4502 IO=347 MEM=943
MYVAX::SYSTEM 09:53:29 TCPIP$UCP CPU=00:00:03.16 PF=4502 IO=353 MEM=943
 Interrupt 

SHOW ROUTE just hangs .. well, I see it's doing I/Os, but no results.

$ mc tcpip$ping 10.0.0.2

Hangs as well. 


--- On Mon, 9/3/12, Sergey Oboguev  wrote:


>From: Sergey Oboguev 
>Subject: Re: [Simh] Connecting to Ethernet
>To: david.d.mil...@att.net, simh@trailing-edge.com
>Date: Monday, September 3, 2012, 5:34 PM
>
>
>Did you remember to configure the interface in TCP/IP services for OpenVMS?
>
>Assuming for the sake of example that your host uses IP address 192.168.21.3 
>for 
>
>
>(initially) eth0 and (subsequently after bridging) br0, and assuming you want 
>to 
>
>assign 
>
>IP address 192.168.21.200 to VAX instance, you need to configure QE0 inside 
>VMS 

>as follows:
>
>$ TCPIP SET INTERFACE QE0 /HOST=192.168.21.200 
>$ TCPIP SET CONFIGURATION INTERFACE QE0 /HOST=192.168.21.200
>
>Depending on exact value of network addresses being used and network topology 
>it 
>
>
>may be necessary to additionally specify options  /NETWORK_MASK=n.n.n.n and 
>/BROADCAST_MASK=m.m.m.m, although usually VMS TCP/IP picks correct defaults 
>for 

>the masks.
>
>If it still does not work, please post the output of
>
>$ TCPIP SHOW INTERFACE /FULL
>$ TCPIP SHOW ROUTE /FULL
>
>and (in Linux)
>
>ifconfig br0
>ifcongig eth0
>ifconfig tap0
>brctl show
>brctl show br0
>brctl showmacs br0
>route -n
>
>and (at SIMH command console prompt)
>
>show xq
>
>Thanks,
>Sergey
>
>
>From: "david.d.mil...@att.net" 
>To: simh@trailing-edge.com
>Sent: Mon, September 3, 2012 4:10:48 PM
>Subject: Re: [Simh] Connecting to Ethernet
>
>
>Sergey
>
>That was a big help, but I'm not there yet.  I did the following
>
>$ sudo ./ linux-tap.sh create br0 eth0 tap0 david
>$ sudo vax; to start SIMH
>simh>   ; the usual stuff
>simh> set xq mac=bla bla
>simh> att tap0  ;  hooray, this is the first time this succeeded.
>simh> boot cpu
>
>When logged into VMS, I could PING and TELNET to LOCALHOST (and 127.0.0.1).   
>But alas, not to my physical host.  And my physical host can't see the VAX 
>either.
>
>But I did so many things to get to this point that something else might be 
>screwed up, so I need to reboot linux and start this drill again.
>
>Thanks for a great start!
>
>Any other suggestions?
>
>--- On Mon,  9/3/12, Sergey Oboguev  wrote:
>
>
>>From: Sergey Oboguev 
>>Subject: Re: [Simh] Basic questions
>>To: david.d.mil...@att.net, simh@trailing-edge.com
>>Date: Monday, September 3, 2012, 12:20 PM
>>
>>
>>> In particular I get the following error:
>>> david@Thinkpad:~$ sudo brctl addbr br0
>>> david@Thinkpad:~$ sudo ifconfig tap0 up
>>> tap0: ERROR while getting interface flags: No such device
>>
>>Perhaps because 
>>
>>/usr/sbin/tunctl -t $TAPDEV -u  $USERID
>>
>>is missing.
>>
>>You may find the following script helpful:  
>>http://oboguev.net/misc/linux-tap.sh.txt
>>
>>Usage is at the bottom or invokable as
>>
>>./linux-tap.sh help
>> 
> ___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

Re: [Simh] Connecting to Ethernet

2012-09-03 Thread Sergey Oboguev
Did you remember to configure the interface in TCP/IP services for OpenVMS?

Assuming for the sake of example that your host uses IP address 192.168.21.3 
for 

(initially) eth0 and (subsequently after bridging) br0, and assuming you want 
to 
assign 

IP address 192.168.21.200 to VAX instance, you need to configure QE0 inside VMS 
as follows:

$ TCPIP SET INTERFACE QE0 /HOST=192.168.21.200 
$ TCPIP SET CONFIGURATION INTERFACE QE0 /HOST=192.168.21.200

Depending on exact value of network addresses being used and network topology 
it 

may be necessary to additionally specify options /NETWORK_MASK=n.n.n.n and 
/BROADCAST_MASK=m.m.m.m, although usually VMS TCP/IP picks correct defaults for 
the masks.

If it still does not work, please post the output of

$ TCPIP SHOW INTERFACE /FULL
$ TCPIP SHOW ROUTE /FULL

and (in Linux)

ifconfig br0
ifcongig eth0
ifconfig tap0
brctl show
brctl show br0
brctl showmacs br0
route -n

and (at SIMH command console prompt)

show xq

Thanks,
Sergey


From: "david.d.mil...@att.net" 
To: simh@trailing-edge.com
Sent: Mon, September 3, 2012 4:10:48 PM
Subject: Re: [Simh] Connecting to Ethernet


Sergey

That was a big help, but I'm not there yet.  I did the following

$ sudo ./ linux-tap.sh create br0 eth0 tap0 david
$ sudo vax; to start SIMH
simh>   ; the usual stuff
simh> set xq mac=bla bla
simh> att tap0  ;  hooray, this is the first time this succeeded.
simh> boot cpu

When logged into VMS, I could PING and TELNET to LOCALHOST (and 127.0.0.1).   
But alas, not to my physical host.  And my physical host can't see the VAX 
either.

But I did so many things to get to this point that something else might be 
screwed up, so I need to reboot linux and start this drill again.

Thanks for a great start!

Any other suggestions?

--- On Mon, 9/3/12, Sergey Oboguev  wrote:


>From: Sergey Oboguev 
>Subject: Re: [Simh] Basic questions
>To: david.d.mil...@att.net, simh@trailing-edge.com
>Date: Monday, September 3, 2012, 12:20 PM
>
>
>> In particular I get the following error:
>> david@Thinkpad:~$ sudo brctl addbr br0
>> david@Thinkpad:~$ sudo ifconfig tap0 up
>> tap0: ERROR while getting interface flags: No such device
>
>Perhaps because 
>
>/usr/sbin/tunctl -t $TAPDEV -u $USERID
>
>is missing.
>
>You may find the following script helpful:  
>http://oboguev.net/misc/linux-tap.sh.txt
>
>Usage is at the bottom or invokable as
>
>./linux-tap.sh help
> 
___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh


Re: [Simh] Basic questions

2012-09-03 Thread Sergey Oboguev
> In particular I get the following error:
> david@Thinkpad:~$ sudo brctl addbr br0
> david@Thinkpad:~$ sudo ifconfig tap0 up
> tap0: ERROR while getting interface flags: No such device

Perhaps because 

/usr/sbin/tunctl -t $TAPDEV -u $USERID

is missing.

You may find the following script helpful:  
http://oboguev.net/misc/linux-tap.sh.txt

Usage is at the bottom or invokable as

./linux-tap.sh help
___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh


Re: [Simh] Virtual VAXen

2012-07-09 Thread Sergey Oboguev
> Ah yes, the VVAX option... another attempted graft on the VAX architecture 
>tree. Unlike vectors, it never got as far as a real implementation.

According to VVAX / VAX Security Kernel developers, while it was never released 
externally as a product, there was internal proof-of-concept implementation on 
11/730 and production quality implementation on 8800, the latter field-tested 
in 
1989 at a number of external customers' sites.

http://dx.doi.org/10.1109/32.106971
http://www.cse.psu.edu/~tjaeger/cse543-f06/papers/vax_vmm.pdf

http://dx.doi.org/10.1109/RISP.1990.63834
http://www.scs.stanford.edu/nyu/02sp/sched/vmm.pdf

And here is somewhat more detailed technical description:
http://dx.doi.org/10.1109/ISCA.1991.1021630
http://mprc.pku.cn/mentors/training/ISCAreading/1991/p380-hall/p380-hall.pdf
___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh


Re: [Simh] clang (was Re: XCode and LTO)

2012-04-28 Thread Sergey Oboguev
> From: Michael Bloom 

> nanosleep() would give you the exact timing needed.  I'm very much against 
>polling the time as a solution because it could use up a lot of CPU cycles 
>that 
>other processes would love to have.  
>
> "spinning" when there are ways that are more accurate (not to mention 
>friendlier to other processes who'd like some CPU time) to simulate timing,  
>is 
>not the best choice, in my opinion.


Hi Michael,

First off, the whole issue was about the code that gets executed only when 
console ROM is active.
Once the bootstrap is started, it is irrelevant.

Second, on most platforms you are lucky to get sleep interval with granularity 
around 1 ms.
Never mind 100 us, let alone 1 us.
Having system call that takes its argument in nanosecond or femtosecond  units 
does not mean host OS timer events are actually processed at this resolution.

But even if they magically were, the cost for no-op system call  
(userland-kernel-userland context roundtrip) on 3+ GHz x64 CPU is about 1 us,  
which is approximately the amount of the delay introduced by  rom_read_delay 
loop. The overhead of creating timer entry -- merely  creating the entry, 
without any processing of it -- would exceed the  delay required.
___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh


Re: [Simh] clang (was Re: XCode and LTO)

2012-04-28 Thread Sergey Oboguev
Like with all busy-wait loops intended to implement short delays, loop is 
initially calibrated against a real time source, then a required number of 
iterations is used to execute actual delay.
You can find more details in SIMH source code.


- Original Message 
From: Peter Svensson 
> What is the rom code able to check instruction cycle against? Real time clock 
>imported to the simulation from the host? 
>
> I.e what is it that makes the wall time of the host matter to the simulation?
___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh


Re: [Simh] clang (was Re: XCode and LTO)

2012-04-28 Thread Sergey Oboguev
> From: Peter Svensson 
> What is the rom code comparing against and why do we not do the delay 
> compared 
>to that? 
>
> If it is against the real time clock, would not nanosleep() or just polling 
> the 
>time be more portable?

Time flow quantum exposed to applications in a portable way is not  in the 
nanosecond range, but is in the range of several milliseconds.
Delay has to be performed to a small fraction of this quantum.

___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh


Re: [Simh] clang (was Re: XCode and LTO)

2012-04-27 Thread Sergey Oboguev
Hi Mark,

The goal is to prevent smart compiler from collapsing the loops in  
rom_read_delay, especially the bottom loop, by optimizing them.
Declaring "loopval" as volatile does just that, by effectively disabling  
compiler's capability to optimize, and does it in a portable way.

Disabling inlining of rom_swapb, in fact, does not provide such guarantee long 
term.
It may shut off compiler's optimizations today, but once the compiler  (or 
compilers) gets even smarter in the future, it can some day figure  out the 
code 
"does not need" to call rom_swapb.
Compiler may leave the function un-inlined, but just figure out it does  not 
need to be called and optimize the whole loop construct away.

Therefore volatile is both portable and -- long-term -- safer approach.
The caveat is, compilers do have bugs and can sometimes disregard volatile 
declaration.
See for ex. "Volatiles Are Miscompiled, and What to Do about It"
http://dl.acm.org/citation.cfm?id=1450093
Note that in older versions of LLVM used to be a particularly bad  offender, 
miscompiling (in LLVC-GCC version 2.2) 19% of volatile  references, however it 
got better since then.

So when using volatile it's worth to take some extra steps that reduce  
probability of triggering compiler's bug, particularly avoiding  declaring 
variable in question as local scope.
Or, perhaps even better, what Eide & Regehr suggest in the mentioned article: 
instead of  accessing variable directly, perform accesses via via per-type 
accessor  routines. Or both.

Thanks,
Sergey


- Original Message 
From: Mark Pizzolato - Info Comm 
To: Craig A. Berry ; Mark Pizzolato - Info Comm 

Cc: Sergey Oboguev ; "simh@trailing-edge.com" 

Sent: Fri, April 27, 2012 1:36:48 PM
Subject: RE: [Simh] clang (was Re:  XCode and LTO)

On Friday, April 27, 2012, at 1:15 PM, Craig A. Berry wrote:
> On Apr 27, 2012, at 2:52 PM, Mark Pizzolato - Info Comm wrote:
> 
> > On Friday, April 27, 2012, at 10:44 AM, Sergey Oboguev wrote:
> >> Declaring "loopval" as volatile (and perhaps global, rather than
> >> on-stack, to reduce chances of compiler disregarding volatile
> >> declaration) might do the trick.
> >
> > The goal really isn't to cause a memory reference, but really to avoid the
> inlining on this specific function.  We're trying to do enough 'spinning' to 
>slow
> things down predictably here.
> 
> Doesn't it amount to the same thing?  If the function gets inlined, then a
> subsequent optimization step may realize loopval never changes and
> eliminate even the inlined function calls.  Preventing inlining prevents that.
> But making loopval volatile is like saying it's a device register or something
> that can be changed from outside of the program, right?  So that also
> prevents it from optimizing out references to loopval (even if the function 
>it's
> passed to gets inlined) since the compiler doesn't know when it might
> change.  This is speculative as I haven't tried to analyze any assembler 
>listings
> (and they don't always reflect exactly what the optimizer did), but I suspect
> that's the gist of it.

I guess, in the end it either way is OK (as long as the variable is global as 
Sergey suggested).  I'm checking in that version.

> In other words, I'm not sure if it matters much which way we go, especially
> since I *think* this code is just involved with spinning up the virtual ROM 
and
> doesn't do much after the simulator is up and running.

It's only purpose is to allow the ROM diagnostics to pass which will then let 
the
ROM believe that the hardware is in good enough shape to allow the system to 
boot.
If a powerup diag fails, the ROM won't allow a boot.

- Mark___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

Re: [Simh] clang (was Re: XCode and LTO)

2012-04-27 Thread Sergey Oboguev
Splitting into separate files won't override optimization in LTO case since 
(tautologically) it is link-time.



- Original Message 
From: Nelson H. F. Beebe 
To: Sergey Oboguev ; "simh@trailing-edge.com" 

Cc: be...@math.utah.edu
Sent: Fri, April 27, 2012 10:48:42 AM
Subject: Re: [Simh] clang (was Re: XCode and LTO)

>> Declaring "loopval" as volatile (and perhaps global, rather than on-stack, 
>> to 

>> reduce chances of compiler disregarding volatile declaration) might do the 
>> trick.

Yes, that should work if the compiler obeys volatile declarations.  Otherwise,
a store subterfuge will work too:

(a)volatile int foo;

(b)int foo;
...
store(&foo);

In another file:
void store(int *x) { }

Both cases should force the compiler to load foo from memory, and
not optimize it away.

---
- Nelson H. F. BeebeTel: +1 801 581 5254  -
- University of UtahFAX: +1 801 581 4148  -
- Department of Mathematics, 110 LCBInternet e-mail: be...@math.utah.edu  -
- 155 S 1400 E RM 233  be...@acm.org  be...@computer.org -
- Salt Lake City, UT 84112-0090, USAURL: http://www.math.utah.edu/~beebe/ -
---

___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh


Re: [Simh] clang (was Re: XCode and LTO)

2012-04-27 Thread Sergey Oboguev
Declaring "loopval" as volatile (and perhaps global, rather than on-stack, to 
reduce chances of compiler disregarding volatile declaration) might do the 
trick.



- Original Message 
From: Craig A. Berry 
Subject: [Simh] clang (was Re:  XCode and LTO)


The comments in the code say, "To avoid smart compilers, the loopval variable 
is 
referenced in the function arguments so that the function expression is not 
loop 
invariant," which led me to the lucky guess that the compiler was inlining the 
function and then optimizing away the inlined code.  So I made the following 
(non-portable) change:

[...]

If anyone knows of a more portable way to prevent inlining of rom_swapb(), it 
seems like it would be a  good idea to do so.  
___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh


Re: [Simh] OT - Windows - Re: Alpha simulator performance

2012-04-22 Thread Sergey Oboguev
Hi Nathan,

I believe the issue was not whether Windows is exact replica of VMS, but 
whether 
there are grounds to believe Windows is substantially inferior to VMS.

On specific aspects you mentioned, it is certainly not. Windows does have help 
systems superior to that of VMS Help: hypertext based, with TOC, navigation, 
search, context help, tooltips etc.

Absence of RMS equivalent in any modern operating system is an advantage 
compared to VMS. It was a doubtful idea to build the database into the kernel 
in 
the first place, and to impose file data structuring on the applications. May 
be 
it was an interesting experiment for its time, and in homogenous environment, 
but it was a failed one. Rdb was an explicit admission of this failure, obvious 
admission anyway: database layer does not belong to the standard part of the 
executive, it belongs either to a server process (replaceable, customizable and 
remote-able) or (for personal databases) in the library. Another aspect of RMS 
-- imposing structuring on files -- is the bane to anyone attempting to use VMS 
in heterogeneous environments. Long-term, it were bad ideas to use structured 
(non-stream) text files, and also to fork file contents in to two segments 
(data 
and attributes that are required for the interpretation of data structure), one 
of which is hidden and gets lost when trying to transfer the file across 
heterogeneous environment.

As for scripting, Windows does offer a variety scripting languages (both 
Microsoft supported and open-source standards), and many of Windows components 
are exposed for management either as callable COM/DCOM objects or via WMI/WBEM 
or through the registry. Admittedly, scripting capabilities came somewhat late. 
However this is just the reflection of the fact that Windows was developed and 
targeted as an operating system for desktop market first, where GUI-level 
management interface certainly had to take a priority; managing via scripting 
had to be a second priority. Nevertheless it had been available for many years 
now.

Now, I am not quite sure about the "modality" of complaints about Windows vs. 
VMS. If they are an expression of just purely personal preferences, unrelated 
to 
any objective comparative merits, akin to acquired taste (e.g. based on vested 
effort, attachment to acquired knowledge, emotional nostalgia etc.), than this 
of course is not a debatable subject. However what I do not see is any 
objectively justifiable grounds for such complaints. (At least on a significant 
scale, generally of course it may be possible to find corner cases that are 
implemented better in this system or in that.)

> There is one area where Windows has VMS beat, though: eye-candy.

It would be more to the point to rephrase it as usability and productivity.

> there's also the 'minor detail' that VMS was never ported to the x86 platform.

Such porting would not have changed the fate of VMS very much. Windows won 
desktop space because it provided expanding continuity of massive desktop 
application base on the expanding continuity of deployed desktop hardware. Or 
to 
put it in other way, because it swam with the strong current of market 
collapsing to standardization rather than against it.

VMS stood no more chances for desktop than, some years earlier, DEC non-x86 PCs 
with no software applications for them, at the time when market already 
collapsed to standardization on IBM PC compatibles with thriving software 
development ecosystem (Gordon Bell in his memories is quite acidic about this 
situation).

Taking over the desktop meant also taking over the large part of software 
development resources. Therefore if VMS x86 port were available, VMS could have 
fared better in server space than it did, but it would have been undercut by 
the 
shortage of 3rd party development support anyway.
___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh


Re: [Simh] Alpha simulator performance

2012-04-20 Thread Sergey Oboguev
> On Fri, Apr 20, 2012 at 09:01:11PM -0400, Dan Gahlinger wrote:

> Given that Cutler was the core architect on both, that isn't exactly 
>surprising. 
>

As a minor historical correction: whatever Cutler's merits are, he was not 
"the" 
core architect of VMS, as common legend has it.
As evidenced by the headers in VMS sources, he was just one of the key 
architects and developers for the kernel, let alone the whole system.
Even at early VAX architecture design state there were three key people on the 
software side (Hustvedt, Lippman and Cutler) and when it came down to the 
actual 
VMS design and implementation it naturally became even more diluted, with 
different people covering different major areas.

> Even though some of the later silly ideas (putting the entire GUI subsystem 
>into kernel mode to speed up graphics) were not his fault.

Silly -- from whose prospective?
Apparently not from the prospective of paying customers.

If GDI server goes down and everything else survives, from average customer's 
prospective the system is as good as dead (all GUI applications are killed and 
user session is destroyed, and that's what matters on a PC), and the next step 
is restart. So what would be the point of sacrificing performance (at the time 
when it still mattered) for virtually nothing?

As Torvalds once colorfully commented on a distinct but somewhat related issue: 
"message passing as the fundamental operation of the OS is just an exercise in 
computer science masturbation. It may feel good, but you don't actually get 
anything DONE. Nobody has ever shown that it made sense in the real world".

I might also mention that I had a coworker who previously spent 6 years at OSF 
working on virtual memory subsystem and similar stuff, and when I inquired him 
about his experiences, his very second comment was literally: "god, was it 
slow!".

___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh


Re: [Simh] Alpha simulator performance

2012-04-20 Thread Sergey Oboguev
> I would say Unix (and its derivatives) and VMS are Operating Systems.

> Windows is an Application.  Takes VMware to run it.

Takes SIMH to run VMS.

___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh


Re: [Simh] Alpha simulator performance

2012-04-20 Thread Sergey Oboguev
> NT is not VMS or a reimplementation of it.

Let's look at some basics in internals.

I'd rather just quote someone here, to save time typing:

=== quote begin ===
The scheduler. 
(process scheduler in VMS, thread scheduler in NT) 32 scheduling priorities, 
divided into the "real-time" (16-31) and "variable" (0-15) priority ranges. 
identical preemption at ready by higher-priority threads; identical quantum and 
priority boost implementations; identical CPU starvation avoidance mechanism to 
get out of priority inversion situations; a null thread for each CPU; etc., etc.

Memory management. 
0-7FFF is per-process, mostly user-mode-accessible only; 8000- 
is systemwide, mostly kernel-accessible only. Functionally identical 
implementations of paging vs. swapping.

I/O. 
I could write a book, but briefly, IRPs are IRPs, UCBs are "device objects", 
CRBs are "controller objects", ADPs are "adapter objects", FDT routines are 
"dispatch routines", EXE$QIODRVPKT is IoStartPacket, StartIO routines are 
StartIO routines, fork routines are DPC routines, ASTs are APCs... etc., etc., 
etc., etc., etc.

Interrupt handling. 
32 levels of interrupts (some simulated but this is nevertheless the way the 
code is written). IPLs on VMS, IRQLs on NT. In order: Passive level, APC (AST) 
Level, Dispatch (fork) level, then the IO hardware interrupts, then some 
"hardware maintenance" functions like the hardware timer, IPI, power fail 
notification, and HIGH_LEVEL to block all interrupts. 

=== quote end ===

Could go on, but probably enough to give an initial idea.
Native API and subsystems came from Mica, I might just add.
In effect you could say Mica turned out to be a dry run for Windows 
architectural design.

As for crashes, after installing XP SP3, my old computer at work stayed up 
(unrebooted) for about 2 years and was restarted only because IT pushed 
hotfixes 
that required restart.
I also do not remember having any crashes in XP or later era on my home 
computer 
that were not related to 3rd party drivers (and those were largely gone by XP 
time too).

Earlier versions of NT may have been less stable, but they had to deal with 
diversity of supported hardware and magnitude of functionality far exceeding 
those early versions of VMS had to.

As for single-user system, it is an era of client/server computing and personal 
computing.
The era of timeshared computers is long gone.
Nevertheless Windows does provide multiple logon sessions with remote desktops.

> vms was elegant. thats something NT never had.

Cannot agree.
At user level, Windows is certainly more usable than VMS.
At API level, likewise there is no even comparison in terms of elegance.
This is not to say VMS APIs were bad at their time -- but they are APIs of 
their 
era.___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

Re: [Simh] Alpha simulator performance

2012-04-20 Thread Sergey Oboguev
> While we're in "wish list" mode, I'd like to see SimH emulate Alpha or 
> Itanium, 
>
>so I could use it to run  newer versions of OpenVMS than 7.3. There are free 
>versions of commercial Alpha emulators available, but they only run on Windows 
>(BLEAH) and their performance is intentionally limited, presumably to get 
>people 
>
>to buy the full version.

If you are concerned about performance, it is unlikely that SIMH implementation 
of Alpha (which apparently is in works, but hard to guess when it might become 
available) will "ever" match the performance of free versions of commercial 
emulators. The latter do JIT binary compilation, whereas SIMH performs 
interpretation of instruction stream and is unlikely to have JIT for the 
foreseeable 

future if ever at all.

FreeAXP performance may be throttled down compared to full Avanti, but it is 
still very fast -- much, much faster than SIMH VAX alongside it.

Also note that FreeAXP is about 3x faster when running on 64-bit version of 
Windows compared to being executed on 32-bit Windows (just as can be expected 
for the emulation of 64-bit processor).

To give a rough idea, here were the results CHARON/SRI benchmark executed on
FreeAXP running on i7 2600, 3.40 GHz on 64-bit Windows:

Test started [...] for a AlphaServer 400 4/166 CPU with VMS V8.3

Sequential test results:

  Whetstones   Dhrystones   VUPs
Run 0  81.7203735  144.5
Run 1  80.3200222  144.5
Run 2  79.0203735  144.0
Run 3  80.3200222  145.0
-
Average80.3   201978  144.5

Interleaved test results:

  Whetstones   Dhrystones   VUPs
Run 0  81.7200222  145.0
Run 1  80.3203735  145.0
Run 2  80.3203735  144.5
Run 3  81.7200222  144.5
-
Average81.0   201978  144.8

By the way of comparison, same test executed in native Windows x64 mode on the 
same machine (with SSE code generation disabled during compilation) produced 
only 150 000 Dhrystones ;-), albeit was 150 times faster than virtual Alpha on 
Whetstones.

As a side note, I personally was never quite able to understand the reasoning 
of 

people who extoll VMS and simultaneously "bleah" about "Windoze", which after 
all at its foundations is to a significant extent a clean and neat 
reimplementation of 

VMS/Mica architecture at a new technological volution.
___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh


Re: [Simh] simh under slackware64

2012-02-21 Thread Sergey Oboguev
Try using apt-get or Synaptic manager to install libpcap{version} and 
libpcap-dev/libpcap{version}-dev.
Recent (man be no longer the latest as of now) {version} for 64-bit linux was 
0.8.


From: valdir 
To: simh@trailing-edge.com
Sent: Tue, February 21, 2012 1:52:08 PM
Subject: [Simh] simh under slackware64

Hi..

Did anyone get success on making/compiling simh on linux64 plataform?
Simh asks libpcap.a, that doenst exist on /usr/local/lib.

//valdir//

___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh


[Simh] RE : Segmentation fault when running the MIcrovax emulator

2012-01-08 Thread Sergey Oboguev
If you compile it, rather than using pre-built binary, can you compile in debug 
mode, run under gdb and see the stack at fault point, and also the fault 
location?
Similarly, can you verify if SHOW XQ ETH works or also faults?

From: brian 
To: "simh@trailing-edge.com >> SIMH" 
Sent: Sun, January 8, 2012 1:51:10 AM
Subject: Re: [Simh] RE :  Segmentation fault when running the MIcrovax emulator

I'm actually running Mint 9, but that's based on Ubuntu 10.04.

However, I've compiled the software without any errors, so presumably 
the linker could find the library OK.

It's when running SIMH that the segmentation fault occurs.


Brian.
___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh


Re: [Simh] Segmentation fault when running the MIcrovax emulator

2012-01-07 Thread Sergey Oboguev
I'd suggest to start with identifying script command that causes the fault.

You can do it by disabling individual suspect commands by commenting them out 
with "!" prefix
or by inserting "echo step 1", "echo step 2" etc. commands in the script 
between 
the suspect commands
or simply by starting the simulator's executable without an argument and 
copy-pasting script commands
one line at a time at the simulator's prompt.





From: brian 
To: simh@trailing-edge.com
Sent: Sat, January 7, 2012 10:53:29 AM
Subject: Re: [Simh] Segmentation fault when running the MIcrovax emulator

I put a "show version" in vax.ini.

This is the output from trying to run the program


VAX simulator V3.8-1
NVR: buffering file in memory
VAX simulator V3.8-1 [64b data, 64b addresses, Ethernet support]
RQ: unit is read only
Segmentation fault


Brian.

On 01/07/2012 01:31 PM, Sergey Oboguev wrote:
> Build options can be checked with "show version" command.
> It should display something like
>
> sim> sh vers
> VAX_MP simulator V3.8-1 [64b data, 64b addresses, Ethernet support]
>
> --
> *From:* "Boucher, François" 
> *To:* simh@trailing-edge.com
> *Sent:* Sat, January 7, 2012 10:21:33 AM
> *Subject:* Re: [Simh] Segmentation fault when running the MIcrovax
> emulator
>
> Maybe your microvax emulator was not compiled with the ethernet (XQ)
> support?
> Just to test this, please remove the two lines:
> set xq mac=00-1C-25-EA-22-09
> attach xq eth0
>
> that are related to the ethernet interface, then run the microvax again.
> Hope that helps,
>
> François
>
>
> ___
> Simh mailing list
> Simh@trailing-edge.com
> http://mailman.trailing-edge.com/mailman/listinfo/simh

___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh
___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

Re: [Simh] Segmentation fault when running the MIcrovax emulator

2012-01-07 Thread Sergey Oboguev
Build options can be checked with "show version" command.
It should display something like

sim> sh vers
VAX_MP simulator V3.8-1 [64b data, 64b addresses, Ethernet support]




From: "Boucher, François" 
To: simh@trailing-edge.com
Sent: Sat, January 7, 2012 10:21:33 AM
Subject: Re: [Simh] Segmentation fault when running the MIcrovax emulator

Maybe your microvax emulator was not compiled with the ethernet (XQ) support?
Just to test this, please remove the two lines:
set xq mac=00-1C-25-EA-22-09
attach xq eth0

that are related to the ethernet interface, then run the microvax again.
Hope that helps,

François
___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

Re: [Simh] Network interfaces under Windows

2011-12-21 Thread Sergey Oboguev
If you want to communicate between Windows host machine and SIMH, the easiest 
setup is Windows Loopback Adaptor (yes, with "o"). To avoid confusion by name, 
it is not an adapter that is associated with address 127.0.0.1, but a virtual 
Ethernet card driver that creates a subnet connected on one side to the Windows 
host machine, and on other side to applications, pretty much like TAP/TUN, but 
without the hassle.

Loopback Adaptor can be installed from Device Manager (on Windows 7, Action -> 
Add Legacy Hardware -> manually -> Network -> Microsoft -> Microsoft Loopback 
Adaptor, and there is similar sequence in XP).

Once the adapter is installed, assign its host-side address in Control Panel 
(something like 192.168.3.1/255.255.255.0), restart the machine to get PCAP to 
recognize it, then bind it on SIMH side the usual way, just as you would bind a 
physical adapter, and configure it inside VMS.

Note that there is a bug in SIMH 3.8.1 autoconfigure that causes mis-assignment 
of QBus device vectors when there are two XQ devices present and that may cause 
some other devices such as DHV stop working. I forwarded the fix some time ago 
to Robert Supnik, so if you run into the problem perhaps he could advise how to 
obtain the codebase that incorporates the fix.





From: Timothe Litt 
To: Stafford Winters 
Cc: simh@trailing-edge.com
Sent: Wed, December 21, 2011 11:03:36 AM
Subject: Re: [Simh] Network interfaces under Windows

Your second interface probably doesn't have an IP address assigned (under
windoze); annoyingly, libpcap doesn't return interfaces without addresses.

Be careful picking a subnet.

Alternatively, you don't actually need a dedicated interface.  I use OpenVPN
(just install the TAP adapter & bridge it to your primary ethernet card).
You don't need the whole OpenVPN package.  Don't forget to set the Media
Status of the TAP to Always Connected, and things just work.


-
This communication may not represent my employer's views,
if any, on the matters discussed. 

-Original Message-
From: simh-boun...@trailing-edge.com [mailto:simh-boun...@trailing-edge.com]
On Behalf Of Stafford Winters
Sent: Wednesday, December 21, 2011 13:48
To: simh@trailing-edge.com
Subject: [Simh] Network interfaces under Windows

I've had SimH for several months, running VAX (including ethernet
support) with OpenVMS installed.  (WinPcap is installed.)  I decided I
wanted to add a second network card so that I could telnet in from the same
computer to the OpenVMS system.  I had a Dynex DX-E102 available, so I stuck
it in the computer, but I don't see it as an available network interface
under SimH.  The primary network interface is an integrated NVIDIA nForce
10/100/1000.  To complicate matters, I have old VMware Player software
installed (version 1.0.2.) that allows me to run some necessary software
for a client.  The host computer is running Windows XP Professional x64
Edition.  Under SimH:
sim> show xq eth
ETH devices:
   0  \Device\NPF_{4EBEA91C-BB4D-4EB4-A3D0-D44914480A2F} (Local Area
Connection)
   1  \Device\NPF_{237514F4-8533-43C8-A69E-E94618353E5F} (VMware Network
Adapter VMnet8)
sim>
The Local Area Connection is the NVIDIA NIC.  Am I not able to additional
network interfaces because of VMware, or is the Dynex NIC not usable for
this, or is it something else altogether?

I realize this is a bit on the fringe for SimH discussion, but I haven't
been able to find anything that seems promising in my internet searches.
Thanks for any pointers you can provide.
___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh
___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

[Simh] VAX VMS73 listings -> source

2011-11-06 Thread Sergey Oboguev
I put together a small utility that massages OpenVMS VAX 7.3 listings back to a 
source-like form, basically stripping off compiler-produced crud, thus making 
files easier to read and restoring original file names (found in listings) to 
the best of its ability.

Those who use these listings may find this utility handy.

The utility has two passes: StripVersion (that removes ";V" postfix in file 
names) and ReSource-VAX73, the latter part is specific to the version of 
listings.
It runs under MSDEV/C#/.NET and is a "quick and dirty" utility put together 
overnight, but worked for me.

http://oboguev.net/misc/vaxvms-lis2src-73.zip

- Sergey
___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

[Simh] Physical tapes to SIMH virtual tapes

2011-11-05 Thread Sergey Oboguev
I put together a small utility to read physical tape into SIMH virtual magtape 
container file.

The purpose was to read my old personal tape(s), but I thought I'd share the 
utility and experience to possibly save the effort for someone who might need 
to 
do the same.

The utility (M2V hereafter) is derived from open-source SCSITAPE utility by 
Eric 
Lee Green (distribued under GPL terms); for original SCSITAPE utility see:
http://sourceforge.net/projects/mtx/
http://linux.die.net/man/1/scsitape

M2V runs under Windows (and possibly other environments) and reads SCSI tape as 
a whole into SIMH container.
The source code and compiled executables are here (you may use it as you want, 
standard disclaimers apply):
http://oboguev.net/misc/m2v.zip

Original SCSITAPE runs under a number of systems 
(Windows/Linux/SunOS/FreeBSD/HP-UX/SGI/AIX)... theoretically, that is. When I 
tried to use it on Windows, it was able to perform some operations fine but was 
unable to read the tape at all, so I fixed some bugs that prevented SCSITAPE 
running under Windows (primarily, querying and taking into account adapter 
limitations on scatter/gather map size and then properly aligning the buffer).

I also added the code that dumps the whole tape into SIMH format. The code is 
implemented as an additional command (m2v) in SCSITAPE utility.
The arguments for the command are: 

scsitape -f tapeid m2v outfile

Under Windows, tapeid has structure pci-bus-id:xxx:tape-drive-scsi-id:lun, for 
example 2:0:5:0.
Values can be found by checking device properties in Windows Device Manager.
Note: you may need to execute "Scan for changes" in Device Manager to cause 
tape 
drive to appear there after the drive is powered.

I used M2V under Windows. You might be able to use it under other systems that 
SCSITAPE supports, but you may need to adjust the code, perhaps by providing a 
dummy implementation for routine SCSI_adapter_info.

There is also an auxiliary associated command "m2v_test" that is used for 
testing basic functions. M2V_TEST writes a simple data set to the drive and 
then 
reads it back from the drive into SIMH file. When something basic seems not to 
work, it is a handy code for debugging.

M2V will read blocks with parity errors and write them to SIMH container, 
marking those blocks as having parity errors, so when VMS BACKUP (or whatever 
system/application virtualized by SIMH) reads them later, it will get a parity 
error signal.

I used QualStar 9-track drive connected to Windows 7/x64 machine with Adaptec 
2940UW SCSI adapter. It was a challenge to find adapter's driver since Windows 
7 
no longer comes with drivers for older Adaptec boards, and Adaptec never 
implemented 64-bit drivers for these older boards. However it is possible to 
use 
64-bit Microsoft drivers borrowed from Windows 2008 server (if you do not have 
it on hand, google for AdaptecAic78xx.zip) or Vista (google djsvs.inf_6451fbc2) 
under Windows 7/x64. Driver file name is djsvs.sys, displayable name is 
"Adaptec 
AIC-78XX PCI SCSI Controller (Emulated)". I used driver for Windows 2008 Server 
(as it was released later than Vista) and it worked fine under Windows 7. To 
install the driver under Windows 7, do not use "Search in directory" option, as 
Win7 will tell it does not find any driver in the directory; instead use "Have 
Disk" option. Win7 will display warnings several times, but will install the 
driver and it will work, at least it did for me. You may want to create System 
Restore point before installing the driver (or take a backup of system drive); 
I 
did. Alternative approach is to buy one of the current Adaptec SCSI boards.

The tape I read had been recorded almost exactly 25 years ago. I will skip the 
part about personal emotions one may feel when finding a stack of old tapes 
with 
content stickers made out with his own hand and marked recording dates ranging 
from 1986 to 1991 ;-)

Anyway, I had doubts the tape would read at all, but the surprizingly it read 
just fine the very first time. There were some parity errors, but all errors 
were recovered in the drive firmware and by autonomous read retries, not a 
single non-recoverable error was signalled to the host computer. VMS BACKUP was 
able to read produced virtual tape file just fine, without a single complaint. 
Data set size on that tape was about 85 MB, i.e. 50% of 2400 ft tape. 


However when I tried to read the same tape second time, just immediately after 
rewinding the tape, parity error rate peaked and the tape went basically 
semi-unreadable. Apparently just one pass of the tape (and then only to the 
middle of it, since the tape was only half-full) left enough residue on the 
drive head and in the tape path to require drive cleaning. I tried putting the 
drive into slow-speed mode (the particular drive has selectable reading speed 
for 6250 BPI density) and it worked noticeably better for a while, but still 
the 
reading process eventually reached a point when virtua