1234567890123456789012345678901234567890123456789012345678901234567890123456 On 1 August 2019 03:35 Geoff Conway
> On Wednesday, 31 July 2019 22:02 Johnny Billquist wrote: > > > On 2019-07-31 05:18, Geoff Conway wrote: > > > I spent a few hours yesterday investigating how the XU, XUB and XQ, > > > XQB> > devices interact within simh with respect of having CSR and > > > vectors > > assigned with or without autoconfig enabled. > > > > > > Unlike every other device the DEUNA XU & XUB behaviour in not auto- > > assigning the vectors within simh as the OS assigns them appears to be > > inconsistent with every other PDP device I've used so far in simh - > > and is the only device that won't work if autoconfig has been disabled > > before their vector value has been autoconfigured in simh as there is > > no way to manually assign the needed vector for either of XU & XUB. > > > > If you cannot assign a vector, then there is a bug there. > > Essentially, it is an absolutely requirement that you can set the > > vector, if you are configuring manually, as that is what you'd do on the > > real > hardware. < a whole lot of repetitive stuff culled> Thanks to Mark for the MTAB bug correction (that fixed the issue I found as well as Johnny for his explanations correcting some of my erroneous suggested options to correct the XU no vector setting capability as I had wrongly suggested that the DEUNA might have programmable vector assignment which due to its age it does not. The majority of simh devices use manual address & vector assignment just like in the real world. Due to my unfamiliarity of simh XU device source I wasn't aware until then of the MTAB table that specifies which simh commands are allowed for a device which Mark provided the solution for. The simplest solution of allowing set xu(b) vector=val was the appropriate answer to the bug that I found. This has now been corrected in pdp11_xu.c and Mark late yesterday his time built a new simh windows binaries distribution set. I have since verified that this XU bug has been fixed and also checked every device in the simh PDP11 hardware list and confirmed that where autoconfig has been disabled that the commands set <device name> address=val and set <device name> vector=val are allowed. While the sysadmin normally specifies the CSR addresses and vectors by using sysgen and netgen the hardware devices in simh also have to match the sysadmin specified csr & vectors. There is one exception in the simh list of devices and it appears to be with the KDP device for DECNet that is using the simh KMC device at the lower level. The help set kdp command lists that it can set the address=val as well as a line that says set address interrupt vector which possibly means the modifier table isn't configured correctly. The KDP device is a new DECNet device for simh and likely works ok when autoconfig is enabled. It is assigned floating addresses and vectors so both addr and vector commands should be allowed. However set kdp vector is not as it appears wrongly matched to address in its MTAB table. The first 2 MTAB entries show the problem (line 3 is the *possible bug). { MTAB_XTD|MTAB_VDV, 010, "ADDRESS", "ADDRESS", &set_addr, &show_addr, NULL, "Bus address" }, { MTAB_XTD|MTAB_VDV|MTAB_VALR, 0, "VECTOR", "ADDRESS", &set_vec, &show_vec, NULL, "Interrupt vector" }, If I am correct in my analysis I believe that the 3rd line { MTAB_XTD|MTAB_VDV|MTAB_VALR, 0, "VECTOR", "ADDRESS", Should be { MTAB_XTD|MTAB_VDV|MTAB_VALR, 0, "VECTOR", "VECTOR", Mark can you please have a look to see if this is in error as I suspect ? At the moment the command set vector is not allowed and I'm not sure what it is trying to do with line 3 - not what was intended anyway! Every other device in simh allows both the set vector and set address commands - exceptions being certain devices only at one fixed address without a vector or devices with programmable vectors which are the only devices that the OS can directly set the vector within the simh devices - xq, rq, tq. Other devices with alterable CSR and vector addresses will in the real world have switchpack settings for this purpose so will in simh have set addr and set vector commands allowed for where manual simh config is used.. Geoff _______________________________________________ Simh mailing list Simh@trailing-edge.com http://mailman.trailing-edge.com/mailman/listinfo/simh