Port-vax archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: PSA: Clock drift and pkgin
On Tue, 19 Dec 2023, Johnny Billquist wrote:
> > The DS1287 is an example source of the timer interrupt with some systems
> > where a high-resolution timer has to provided separately, just as with the
> > 4000/60. By no means I find the DS1287 itself a high-resolution timer.
>
> Ok. Then we agree, and I'll drop that. :)
>
> I would still think that if you have the full ICCS and ICR register in the
> VAX, it is better than such a chip, or probably any chip.
Full ICCS/ICR isn't necessarily better than a having a truly free-running
counter of a suitable width available, such as with the KA60, because such
a counter is immune to missed timer interrupts.
> > > Did anyone actually report results running on a 4000/60?
> >
> > Me, earlier on in this thread.
>
> Great. Sorry that I didn't remember. How did the clock behave for you?
See my first message in this thread, in reply to one of yours actually.
> > I do have a 4000/90 too, but it suffers from an issue I yet need to debug
> > where it ever boots NetBSD 9 from local storage only once. Then the OS
> > corrupts itself somehow in storage such that any subsequent attempt to
> > boot causes the firmware to fail:
>
> Weird. I have a 4000/90, and have never observed such issues. But now it's a
> few months since I last spun it up. I plan to test it out with the current
> updates after christmas.
I don't know what could be causing it. I made the installation with my
4000/60 using the NetBSD installer while at my lab where it was more
convenient to me and I had time available to experiment (it was during a
COVID-19 pandemic lockdown), dd'ed the resulting disk contents to another,
identical disk (and thankfully to a backup file too) and placed the latter
disk in my 4000/90 which I keep at a different site across Europe.
Maybe it is not the canonical way to install the OS, but I can see no
reason for this to fail as the KA90 mainboard is a drop-in upgrade for the
KA60, so the console ABI of both is the same. Besides, it does boot once,
so it's not that there is an issue with the pristine installation itself
being incompatible with the 4000/90, but rather the OS writing something
to storage while running that corrupts the bootloader or suchlike.
Besides, there is an issue with netbooting my 4000/90, i.e. the NetBSD
bootloader loads, but then fails to proceed, so I couldn't have installed
the system the proper way anyway:
>>> boot EZA0
-EZA0
>> NetBSD/vax boot [1.12 (Fri Feb 14 00:06:28 UTC 2020)] <<
>> Press any key to abort autoboot 0
SGEC: Ethernet address 08:00:2b:30:96:d8
Trying BOOTP
Using IP address: x.x.x.x
myip: xxx.xxx.xxx.xxx (x.x.x.x)
root addr=y.y.y.y path=/scratch
3882276read section: Unknown error: code 60
> boot netbsd
SGEC: Ethernet address 08:00:2b:30:96:d8
open netbsd: No such file or directory
netbsd: boot failed: No such file or directory
> boot netbsd.gz
[...]
and on the boot host:
$ ls -laL /scratch/netbsd.vax
-r--r--r-- 1 root root 3883124 Feb 14 2020 /scratch/netbsd.vax
$ readelf -l /scratch/netbsd.vax
Elf file type is EXEC (Executable file)
Entry point 0x80000578
There is 1 program header, starting at offset 52
Program Headers:
Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align
LOAD 0x000080 0x80000000 0x80000000 0x3b3d24 0x3d45c8 RWE 0x40
Section to Segment mapping:
Segment Sections...
00 .text .rodata link_set_evcnts link_set_sysctl_funcs link_set_modules link_set_domains link_set_dkwedge_methods link_set_prop_linkpools .data .bss
$
so all seems right (3882276 reported by the bootloader above is 0x3b3d24
hex reported as the file size of the sole loadable segment). This would
have to be debugged too. I can't remember if I could figure out what
"read section: Unknown error: code 60" boils down to, probably not.
For the disk bootloader things work:
>>> boot DKA200
-DKA200
>> NetBSD/vax boot [1.12 (Fri Feb 14 00:06:28 UTC 2020)] <<
>> Press any key to abort autoboot 0
nfs_open: must mount first.
open netbsd.vax: Device not configured
> boot netbsd
3293856+205208 [238480+226939]=0x3c821c
[ 1.0000000] Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
[ 1.0000000] 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017,
[ 1.0000000] 2018, 2019, 2020 The NetBSD Foundation, Inc. All rights reserved.
[ 1.0000000] Copyright (c) 1982, 1986, 1989, 1991, 1993
[ 1.0000000] The Regents of the University of California. All rights reserved.
[ 1.0000000] NetBSD 9.0 (GENERIC) #0: Fri Feb 14 00:06:28 UTC 2020
[ 1.0000000] mkrepro%mkrepro.NetBSD.org@localhost:/usr/src/sys/arch/vax/compile/GENERIC
[ 1.0000000] MicroVAX 4000/{90,90A,96}
[ 1.0000000] total memory = 127 MB
[ 1.0000000] avail memory = 119 MB
[ 1.0000000] mainbus0 (root)
[ 1.0000000] cpu0 at mainbus0: KA49, NVAX, 10KB L1 cache, 256KB L2 cache
[...]
Starting local daemons:.
Updating motd.
Starting ntpd.
Starting sshd.
Starting inetd.
Starting cron.
The following components reported failures:
/etc/rc.d/ntpdate
See /var/run/rc.log for more information.
Wed Jan 1 01:02:19 CET 2070
NetBSD/vax (xxx.xxx.xxx.xxx) (constty)
login:
but as I say once only (ignore the NTP failure/odd date reported; it's due
to wrong IP addressing for the 4000/90 vs the 4000/60 the image has come
from). Given that the machine fails to netboot too, there's no feasible
way for me to use it with NetBSD until these issues have been debugged and
fixed.
> > NB I worked with Mike Uhler (the lead designer of the NVAX in case you
> > didn't know), who was the manager of our group at MIPS UK back in early
> > 2000s, and knowing his absolute technical insight I'd have no doubt he
> > wouldn't let such an important architectural feature out of the NVAX
> > microarchitecture.
>
> Very cool/nice. But as observed, the NVAX don't have it built in as such. So
> it might, or might not exist on a specific machine, depending on external
> bits. The NVAX itself only guarantees that the ICCS exists, and can generate
> 10ms interval interrupts, which is the basic requirement for any VAX. The
> documentation for the NVAX chip is on bitsavers.
NVAX/NMC/NCA was the standard chipset configuration and I don't think the
NVAX CPU itself was ever used in any other way. Therefore I gather it was
a deliberate design decision to put the ICR in the peripheral bus bridge
component rather than the CPU itself, perhaps to fit in the silicon space
available for the CPU component.
Conversely the NVAX+ CPU was designed to interface Alpha CPU chipset
components, which do not provide for any VAX architectural features, and
therefore the ICR was placed in the Cbox unit of the NVAX+ CPU itself.
Observe that for the NVAX CPU numerous IPRs are implemented in the other
chipset components while for the NVAX+ they are all internal to the CPU.
Nowadays I guess the NVAX/NMC/NCA combo would have been implemented as a
single chip, but there was no technology available to do so back in 1990s,
and the three chips were rather huge each by the contemporary standards.
Maciej
Home |
Main Index |
Thread Index |
Old Index