Home · Articles · Downloads · Hobby Wear · Forums · Web Links · News CategoriesSaturday, April 20, 2024
Navigation
Home
Articles
Downloads
Hobby Wear
FAQ
Forums
Web Links
News Categories
Contact Us
Photo Gallery
OpenVMS Bigot
Search
Users Online
Guests Online: 1
No Members Online

Registered Members: 7,708
Newest Member: nifseg
Sponsors
Island Computer
View Thread
OpenVMS Hobbyist Program | Alpha Systems Forums | FreeAXP
Author NetBSD on FreeAXP
flxd
Member

Posts: 6
Joined: 29.11.16
Posted on November 29 2016 06:24
Hello,

as a NetBSD developer (with a collection of different VAX, Alpha, ...) I would be very interested in FreeAXP supporting NetBSD as guest operating system (at least inofficially), to gain broader platform support etc.
I ran into two problems when trying to boot NetBSD on FreeAXP V2.6.4.598 on a Win10 64bit host.

(1)
Our timer initialization routine seems problematic with the way FreeAXP emulates the hardware. It certainly works running on the "real thing".
With the default setting of FreeAXP's timing_window = 1000 (Expert properties), the timecounter frequency is determined to be zero, which will result in a kernel panic. I think it can be worked around by playing with the timing_window parameter, where 1M (1000000) seems to allow the emulated machine to boot further.
What is still noticeable is that detecting the "mc146818 compatible time-of-day clock" as below takes many seconds, while on a real machine judging from our code this should be done in a few milliseconds.

(2)
Unfortunately, the boot process will end in a processor machine check eventually, when reaching init. I understand this must be caused by the "emulated hardware", but probably triggered by the guest somehow. Is this another effect of (1) above, or completely different?

You can reproduce this also with a -current install "disk" image attached as virtual CD-ROM drive from (for example):
http://nycdn.netbsd.org/pub/NetBSD-daily/HEAD/201611290250Z/alpha/installation/diskimage/cdhdtape

NetBSD 7.99.43 (INSTALL.201611290250Z)
AlphaServer 400 4/166, 1215MHz, s/n
8192 byte page size, 1 processor.
total memory = 128 MB
(2000 KB reserved for PROM, 126 MB used by NetBSD)
avail memory = 113 MB
mainbus0 (root)
cpu0 at mainbus0: ID 0 (primary), 21064-0
apecs0 at mainbus0: DECchip 21071 Core Logic chipset
apecs0: DC21071-CA pass 2, 64-bit memory bus
apecs0: DC21071-DA pass 2
pci0 at apecs0 bus 0
siop0 at pci0 dev 6 function 0: Symbios Logic 53c810ap (fast scsi)
siop0: interrupting at isa irq 11
scsibus0 at siop0: 8 targets, 8 luns per target
sio0 at pci0 dev 7 function 0: vendor 8086 product 0484 (rev. 0x43)
tlp0 at pci0 dev 11 function 0: DECchip 21040 Ethernet, pass 2.0
tlp0: interrupting at isa irq 5
tlp0: Ethernet address 6a:05:ca:xx:xx:xx
tlp0: 10baseT, 10baseT-FDX, 10base5, manual
isa0 at sio0
com0 at isa0 port 0x3f8-0x3ff irq 4: ns16550a, working fifo
com0: console
mcclock0 at isa0 port 0x70-0x71: mc146818 compatible time-of-day clock
scsibus0: waiting 2 seconds for devices to settle...
cd0 at scsibus0 target 6 lun 0: <DEC, RRD42, 4.5d> cdrom removable
cd0: async, 8-bit transfers
cd0: no disk label
root on md0a dumps on md0b
root file system type: ffs
kern.module.path=/stand/alpha/7.99.43/modules
Processor Machine Check (670), Code 0x10000008e
CPU state:
PAL temp[0-1] = 0x 0 0x 82f800000004
PAL temp[2-3] = 0x 69 0x 69
PAL temp[4-5] = 0x ffffffff00 0x 0
PAL temp[6-7] = 0x 4200 0x 400
PAL temp[8-9] = 0x 0 0xfffffc0000a003a8
PAL temp[10-11] = 0x 0 0xfffffc0000a00348
PAL temp[12-13] = 0xfffffc0000a003d4 0xfffffc0000a00470
PAL temp[14-15] = 0xfffffc0000a00404 0xfffffc0000a00378
PAL temp[16-17] = 0x 0 0x 1ffffde80
PAL temp[18-19] = 0xfffffc0000412000 0xfffffc000144f8b8
PAL temp[20-21] = 0x 0 0x 505070727a7a7a
PAL temp[22-23] = 0x 0 0x 0
PAL temp[24-25] = 0x 10000 0x 0
PAL temp[26-27] = 0x 0 0x 7e64000
PAL temp[28-29] = 0xfffffffc00000000 0x 1
PAL temp[30-31] = 0x 40e000 0x 18199
Excepting Instruction Addr = 0x0000000000000000
Summary of arithmetic traps = 0x0000000000000000
Exception mask = 0x000082f800000004
ICCSR = 0x0000000000014000
Base address for PALcode = 0x00000000000014f0
HIER = 0x0000000000000000
HIRR = 0x00000000000037d0
MM_CSR = 0x0000000000000007
DC_STAT = 0x0000000000000000
DC_ADDR = 0x000000000000942e
ABOX_CTL = 0x0000000000000000
Bus Interface Unit status = 0x0000000000000000
Bus Interface Unit addr = 0x0000000810002225
Bus Interface Unit control = 0x0000000000000000
Fill Syndrome = 0x0000000000000000
Fill Address = 0xfffffc0000411fe0
Effective VA = 0x0000000000000000
BC_TAG = 0x0000000000000000

Cache and Memory Controller (21071-CA) state:
COMA_GCR = 0x0000000000002000
COMA_EDSR = 0x0000000000000000
COMA_TER = 0x0000000000000000
COMA_ELAR = 0x0000000000000000
COMA_EHAR = 0x0000000000000000
COMA_LDLR = 0x0000000000000000
COMA_LDHR = 0x0000000000000000
COMA_BASE0 = 0x0000000000000100
COMA_BASE1 = 0x0000000000000000
COMA_BASE2 = 0x0000000000001ff9
COMA_CNFG0 = 0x0000000000001ff9
COMA_CNFG1 = 0x0000000000000000
COMA_CNFG2 = 0x000000008000001c

PCI bridge (21071-DA) state:
EPIC Diag. control/status = 0x0000000000000000
EPIC_PEAR = 0x0000000000000000
EPIC_SEAR = 0x00000000001ec000
EPIC_TBR1 = 0x0000000000000000
EPIC_TBR2 = 0x00000000008c0000
EPIC_PBR1 = 0x0000000040080000
EPIC_PBR2 = 0x0000000000700000
EPIC_PMR1 = 0x000000003ff00000
EPIC_PMR2 = 0x0000000080000000
EPIC_HARX1 = 0x0000000000000000
EPIC_HARX2 = 0x0000000000000000
EPIC_PMLT = 0x0000000000000000
EPIC_TAG0 = 0x0000000000000000
EPIC_TAG1 = 0x0000000000000000
EPIC_TAG2 = 0x0000000000000000
EPIC_TAG3 = 0x0000000000000000
EPIC_TAG4 = 0x0000000000000000
EPIC_TAG5 = 0x0000000000000000
EPIC_TAG6 = 0x0000000000000000
EPIC_TAG7 = 0x0000000000000000
EPIC_DATA0 = 0x0000000000000000
EPIC_DATA1 = 0x0000000000000000
EPIC_DATA2 = 0x0000000000000000
EPIC_DATA3 = 0x0000000000000000
EPIC_DATA4 = 0x0000000000000000
EPIC_DATA5 = 0x0000000000000000
EPIC_DATA6 = 0x0000000000000000
EPIC_DATA7 = 0x0000000000000000


Processor fault

unexpected machine check:

mces = 0x1
vector = 0x670
param = 0xfffffc0000006000
pc = 0x18198
ra = 0x0
code = 0x10000008e
curlwp = 0xfffffc0007ee0040
pid = 1.1, comm = init

panic: machine check
Stopped in pid 1.1 (init) at fffffc0000a51454: ret zero,(ra)
db>


We drop into the ddb here, but I cannot obtain further useful information...

AFAICT, a processor machine check 670 would mean bad B-cache or memory on a real machine (see https://archive.org/stream/dec-alphaserver1000.serviceguide/alphaserver1000.serviceguide_djvu.txt), but on an emulated machine?

I'd be happy to help getting NetBSD supported, please let me know how I can assist. Thanks!

Regards,
Felix
Author RE: NetBSD on FreeAXP
Bruce Claremont
Moderator

Posts: 623
Joined: 07.01.10
Posted on November 30 2016 05:56
A boot-up log from a real Alpha would be helpful to compare real hardware behavior to the emulator.

Author RE: NetBSD on FreeAXP
flxd
Member

Posts: 6
Joined: 29.11.16
Posted on November 30 2016 06:55
Bruce Claremont wrote:
A boot-up log from a real Alpha would be helpful to compare real hardware behavior to the emulator.


From which machine type, and what exactly do you want to see in such a boot-up log? Up to login?
The dmesg output I posted already shows all the hardware that I configured and that was also successfully detected, after that you will only see all services etc. starting.

Please have a look at http://dmesgd.nycbug.org/index.cgi?do=view&id=3019, this is a dmesg output from another type, my DEC 3000. I can also provide a complete log up to login, the machine is sitting on my desk.

I also have two AlphaStations 200 4/166, which should be very similar to the machine you emulate (same "CPU", chipset, subsystems I think).
I have never seen problems with these machines running NetBSD so far, they have been supported for many years.

Felix
Author RE: NetBSD on FreeAXP
flxd
Member

Posts: 6
Joined: 29.11.16
Posted on November 30 2016 07:38
flxd wrote:
Please have a look at http://dmesgd.nycbug.org/index.cgi?do=view&id=3019, this is a dmesg output from another type, my DEC 3000. I can also provide a complete log up to login, the machine is sitting on my desk.


A complete console log of the DEC 3000 booting follows. This forum doesn't seem to preserve whitespace, so I put it also to http://www.netbsd.org/~flxd/dec3400_console_20161130.txt.

The AlphaStations 200 are in storage, I could grab them tomorrow and give them a test run. I do not expect bad surprises however.

DEC 3000 - M400
Digital Equipment Corporation
System conducting power up tests
------------------------------------------------------------

Devnam Devstat
-------- -------
CPU OK KN15-BA -V7.0-S887-I21F-sV2.1-DECchip 21064 P3.0
OSC 133 MHz
ASIC OK
MEM OK 96MB
NVR OK
SCC OK ptr(0) = Present keybd(2) = Present
NI OK Ethernet Address: 08-00-2B-XX-XX-XX , TENBT
SCSI OK
ISDN OK
TC0 OK - PMAGB-BA
------------------------------------------------------------
System power up OK.
Enter B to boot software from DKA200,ESA0

>>> b
INIT-S-CPU...
INIT-S-RESET_TC...
INIT-S-ASIC...
INIT-S-MEM...
INIT-S-NVR...
INIT-S-SCC...
INIT-S-NI...
INIT-S-SCSI...
INIT-S-ISDN...
INIT-S-TC0...
AUDIT_BOOT_STARTS ...
AUDIT_CHECKSUM_GOOD
AUDIT_LOAD_BEGINS
AUDIT_LOAD_DONE

NetBSD/alpha 7.99.42 FFS Primary Bootstrap
Jumping to entry point...

NetBSD/alpha 7.99.42 Secondary Bootstrap, Revision 1.13

VMS PAL rev: 0x100010538
OSF PAL rev: 0x2012d
Switch to OSF PAL code succeeded.

Boot flags: -a
11704368+261568 [633744+413157]=0xc696c0

Entering netbsd at 0xfffffc0000a01220...
Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016
The NetBSD Foundation, Inc. All rights reserved.
Copyright (c) 1982, 1986, 1989, 1991, 1993
The Regents of the University of California. All rights reserved.

NetBSD 7.99.42 (GENERIC-$Revision: 1.371 $.201611262120Z)
DEC 3000 - M400, 133MHz, s/n
8192 byte page size, 1 processor.
total memory = 98304 KB
(2048 KB reserved for PROM, 96256 KB used by NetBSD)
avail memory = 82200 KB
mainbus0 (root)
cpu0 at mainbus0: ID 0 (primary), 21064-1
tcasic0 at mainbus0
tc0 at tcasic0: 25 MHz clock
ioasic0 at tc0 slot 7 offset 0x0: fast mode
le0 at ioasic0 offset 0xc0000: address 08:00:2b:xx:xx:xx
le0: 32 receive buffers, 8 transmit buffers
zsc0 at ioasic0 offset 0x100000
vsms0 at zsc0 channel 0
wsmouse0 at vsms0 mux 0
zstty0 at zsc0 channel 1
zsc1 at ioasic0 offset 0x180000
lkkbd0 at zsc1 channel 0
lkkbd0: no keyboard
wskbd0 at lkkbd0 mux 1
zstty2 at zsc1 channel 1 (console i/o)
mcclock0 at ioasic0 offset 0x200000: mc146818 compatible time-of-day clock
bba0 at ioasic0 offset 0x240000
audio0 at bba0: full duplex, playback, capture, mmap
tcds0 at tc0 slot 6 offset 0x0: TurboChannel Dual SCSI (baseboard)
tcds0: fast mode set for chip 0
asc0 at tcds0 chip 0: NCR53C94, 25MHz, SCSI ID 7
scsibus0 at asc0: 8 targets, 8 luns per target
tcds0: fast mode set for chip 1
asc1 at tcds0 chip 1: NCR53C94, 25MHz, SCSI ID 7
scsibus1 at asc1: 8 targets, 8 luns per target
sfb0 at tc0 slot 3 offset 0x0: 1280x1024, 8bpp
wsdisplay1 at sfb0 kbdmux 1
scsibus0: waiting 2 seconds for devices to settle...
scsibus1: waiting 2 seconds for devices to settle...
sd0 at scsibus0 target 2 lun 0: <DEC, RZ26 (C) DEC, 392A> disk fixed
sd0: 1001 MB, 2570 cyl, 14 head, 57 sec, 512 bytes/sect x 2050860 sectors
sd0: sync (200.00ns offset 15), 8-bit (5.000MB/s) transfers, tagged queueing
cd0 at scsibus0 target 4 lun 0: <DEC, RRD42 (C) DEC, 4.5d> cdrom removable
cd0: async, 8-bit transfers
root on sd0a dumps on sd0b
root file system type: ffs
kern.module.path=/stand/alpha/7.99.42/modules
Wed Nov 30 19:19:06 CET 2016
Starting root file system check:
/dev/rsd0a: file system is clean; not checking
swapctl: setting dump device to /dev/sd0b
swapctl: adding /dev/sd0b as swap device at priority 0
Starting file system checks:
Loaded entropy from /var/db/entropy-file.
Setting tty flags.
Setting sysctl variables:
ddb.onpanic: 1 -> 0
Starting network.
Hostname: dec3400.home
IPv6 mode: host
Configuring network interfaces: le0.
Adding interface aliases:.
Waiting for DAD to complete for statically configured addresses...
Starting dhcpcd.
Building databases: dev, utmp, utmpx.
Starting syslogd.
Setting date via ntp.
Mounting all file systems...
Clearing temporary files.
Checking quotas: done.
Setting securelevel: kern.securelevel: 0 -> 1
swapctl: setting dump device to /dev/sd0b
Starting virecover.
Checking for core dump...
savecore: no core dump
Starting local daemons:.
Updating motd.
Starting inetd.
Starting cron.
Wed Nov 30 19:20:24 CET 2016

NetBSD/alpha (dec3400.home) (console)

login:


Author RE: NetBSD on FreeAXP
flxd
Member

Posts: 6
Joined: 29.11.16
Posted on December 01 2016 06:45
I tested the installation disk image found at
http://nycdn.netbsd.org/pub/NetBSD-daily/HEAD/201612011010Z/alpha/installation/diskimage/
on both, FreeAXP v2.6.4.598, and my AlphaStation 200 4/166, and tried to keep the "hardware" configurations as close as possible.

The console logs can be found at
http://www.netbsd.org/~flxd/freeaxp_console_20161201.txt
and
http://www.netbsd.org/~flxd/as200_console_20161201.txt
respectively.

NetBSD runs fine on the real machine and starts the menu-driven installer after entering the terminal type, FreeAXP ends in a processor machine check as previously posted.

Felix
Author RE: NetBSD on FreeAXP
abrsvc
Member

Posts: 108
Joined: 12.03.10
Posted on December 01 2016 09:20
At first glance, I see a difference that may or may not be important. The failing log shows the bootflags = 0 where the one above that works shows bootflags=-a

Could this be a contributing factor in the crash?

Dan
Author RE: NetBSD on FreeAXP
flxd
Member

Posts: 6
Joined: 29.11.16
Posted on December 01 2016 19:11
abrsvc wrote:
At first glance, I see a difference that may or may not be important. The failing log shows the bootflags = 0 where the one above that works shows bootflags=-a

Could this be a contributing factor in the crash?

Dan


No, a processor machine check would indicate a severe hardware problem on a real machine, different bootflags shouldn't provoke that.
I tested FreeAXP with bootflags=-a just to be sure: same machine check.

To put it simply (from my point of view): An emulator throwing a processor machine check probably has an emulation issue. And the real machine (AS 200) very close to the emulated hardware is fine.

Felix
Author RE: NetBSD on FreeAXP
malmberg
Moderator

Posts: 530
Joined: 15.04.08
Posted on December 02 2016 03:11
http://h20564.www2.hpe.com/hpsc/doc/public/display?docId=mmr_kc-0105943
http://h20564.www2.hpe.com/hpsc/doc/public/display?docId=mmr_kc-0111867

It states that the Machine Check 670 is a D-Cache Parity Error.

Can you isolate what NetBSD is doing that triggers this bug-check?


See also:

http://gnats.netbsd.org/8216
http://gnats.netbsd.org/8939 --- Indicates a possible PAL_CODE issue.
http://gnats.netbsd.org/25788 --- Have you tried different emulated Ethernet adapters?


Author RE: NetBSD on FreeAXP
malmberg
Moderator

Posts: 530
Joined: 15.04.08
Posted on December 02 2016 03:19
In device drivers, you can trigger a machine check from bugs in the code.

Doing a reset on a I/O chip that is doing a bus transfer is one operation that will succeed over 99.9% of the time, yet if you manage to do the reset as a block transfer is actually running, that can cause a machine check.

So what is really needed to find out what the code was doing at the time of the crash, and that usually needs someone that is familiar with the code or who can add instrumentation to the code to get better diagnostics.

Just to make things fun, there can be a small delay between the event that caused the machine check and the signaling of the event.
Author RE: NetBSD on FreeAXP
flxd
Member

Posts: 6
Joined: 29.11.16
Posted on December 02 2016 05:23
malmberg wrote:
http://h20564.www2.hpe.com/hpsc/doc/public/display?docId=mmr_kc-0105943
http://h20564.www2.hpe.com/hpsc/doc/public/display?docId=mmr_kc-0111867

It states that the Machine Check 670 is a D-Cache Parity Error.

Can you isolate what NetBSD is doing that triggers this bug-check?


We end up in ddb after the machine check (no useful info then), but I'll try to break before and single-step or ...


See also:

http://gnats.netbsd.org/8216
http://gnats.netbsd.org/8939 --- Indicates a possible PAL_CODE issue.
http://gnats.netbsd.org/25788 --- Have you tried different emulated Ethernet adapters?


The first two reports are over 17 years old and could be fixed by now probably...
Yes, I tried all ethernet adapters available for emulation. DE435 and DE500 (21143) are correctly attached, DE500 (21140) is not due to MII problems:

tlp0: unable to configure MII
tlp0: no media found!




In all cases the machine check happens.

Please still keep in mind that the real machine works. If we find a problem in NetBSD, I'll gladly fix it though.

Testing will the different hardware adapters enabled/disabled could also be interesting, and booting over network with SCSI disabled...

Felix
Author RE: NetBSD on FreeAXP
JonathanBelanger
Member

Posts: 42
Joined: 09.06.16
Posted on January 13 2017 06:50
I'm not sure if this is an issue or not, but the DEC 300 M400 was a Turbochannel system. I'm not sure the FreeAXP emulates the Turbochannel. Either way, I'm not sure this is your problem. I have noticed that some emulations have a tendency to borrow from multiple alpha implementations. The one I'm playing with says that it emulates the "Tsunami" EV6 CPU, but there is code that is emulating the "Typhoon" EV6 CPU (every similar chips, differing only in how internal registers and cache are utilized).

JonB
Author RE: NetBSD on FreeAXP
Bruce Claremont
Moderator

Posts: 623
Joined: 07.01.10
Posted on January 13 2017 11:35
FreeAXP emulates an AlphaServer 400 right down to the firmware. It has extension to support EV5 and EV6 code extensions.
Jump to Forum:
Login
Username

Password



Not a member yet?
Click here to register.

Forgotten your password?
Request a new one here.
Member Poll
Are you going to OpenVMS Boot Camp 2016?

Yes

No

You must login to vote.
Shoutbox
You must login to post a message.

malmberg
August 04 2022
No more VAX hobbyist licenses. Community licenses for Alpha/IA64/X86_64 VMS Software Inc. Commercial VMS software licenses for VAX available from HPE.

ozboomer
July 20 2022
Just re-visiting.. No more hobbyist licenses? Is that from vmssoftware.com, no 'community' licenses?

valdirfranco
July 01 2022
No more hobbyist license...sad

mister_wavey
February 12 2022
I recall that the disks failed on the public access VMS systems that included Fafner

parwezw
January 03 2022
Anyone know what happened to FAFNER.DYNDS.ORG? I had a hobbyist account here but can longer access the site.

gtackett
October 27 2021
Make that DECdfs _2.1A_ for Vax

gtackett
October 27 2021
I'm looking for DECdfs V2.4A kit for VAX. Asking here just in case anyone is still listening.

MarkRLV
September 17 2021
At one time, didn't this web site have a job board? I would love to use my legacy skills one last time in my career.

malmberg
January 18 2021
New Hobbyist PAKs for VAX/VMS are no longer available according to reports. Only commercial licenses are reported to be for sale from HPE

dfilip
January 16 2021
Can someone please point me to hobbyist license pak? I'm looking for VAX/VMS 7.1, DECnet Phase IV, and UCX/TCPIP ... have the 7.1 media, need the license paks ... thanks!

Bart
October 16 2020
OpenVMS, and this website!

malmberg
September 05 2020
VSI community non-commercial licenses for AXP/IA64 are available now.

malmberg
September 05 2020
See the forum about licensing. Don't know if HPE hobby licenses still being issued. Commercial licenses still being sold.

silfox70
September 01 2020
I need the license for OpenVMS7.3. Where can I find them?

malmberg
August 29 2020
Eisner, which is currently being moved, got an SSH update and the keys were updated to more modern encryption standards.

Shoutbox Archive