Port-vax archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: No kernel output on MicroVAX 3100-30



On Tue, Sep 11, 2018 at 10:42:01AM +0200, Anders Magnusson wrote:
> Den 2018-09-11 kl. 10:38, skrev Erno Palonheimo:
> >On Mon, Sep 10, 2018 at 09:13:03PM -0400, Charles Dickman wrote:
> >>On Thu, Sep 6, 2018 at 11:34 PM Erno Palonheimo <esp%iki.fi@localhost> wrote:
> >>>On Thu, Sep 06, 2018 at 08:29:30PM -0400, Charles Dickman wrote:
> >>>>On Thu, Sep 6, 2018 at 3:41 AM Erno Palonheimo <esp%iki.fi@localhost> wrote:
> >>>>>On Sat, Sep 01, 2018 at 10:27:33AM +0200, Anders Magnusson wrote:
> >>>>>>Den 2018-09-01 kl. 10:12, skrev Erno Palonheimo:
> >>>>>>>On Sat, Sep 01, 2018 at 12:56:22AM +0200, Johnny Billquist wrote:
> >>>>>>>>>Any ideas?
> >>>>What about memory size?
> >>>24 megabytes, shouldn't be a problem - and wasn't. I suppose 8.0 could
> >>>run in 12 megabytes, possibly even 8.
> >>8.0 boots fine on my VAXstation 4000 model 60 with 104MB.
> >>
> >>8.0 does NOT boot on a VAXstation 3100 model 30 with 16MB. I was not
> >>able to get it to net boot install.ram or the GENERIC kernel. Both
> >>restart right after the loader progress lines showing sizes finishes.
> >>There are problems on some machines (MVII and MVIII for sure) when the
> >>kernel size gets close to 4MB. These machines have SG DMA maps only
> >>capable of mapping 4MB. boot doesn't change the mapping, so everything
> >>has to fit into the first 4MB. This may not be the problem Erno is
> >>seeing, but it is a problem.
> >My problem seemed to be lcg framebuffer driver not checking carefully
> >enough whether the machine is or isn't a VLC. 3100-30/40 seem to share
> >the same board ID, but different siedata. Checking this in the driver
> >allows the system boot a GENERIC kernel without problem. It should
> >still work as intended on a VLC.
> Great!  Thanks for your patches!
> 
> Can you please do a diff -u and send me?  Then I will check them in.

Attached should be a diff of some kind. I haven't used CVS in fifteen
years so I am not quite certain if it turned out right.

-e
Index: arch/vax/vsa/dz_vsbus.c
===================================================================
RCS file: /cvsroot/src/sys/arch/vax/vsa/dz_vsbus.c,v
retrieving revision 1.44
diff -u -r1.44 dz_vsbus.c
--- arch/vax/vsa/dz_vsbus.c	22 May 2017 17:17:25 -0000	1.44
+++ arch/vax/vsa/dz_vsbus.c	11 Sep 2018 10:19:20 -0000
@@ -153,10 +153,12 @@
 	 * due to the nature of how bus_space_* works on VAX, this will
 	 * be perfectly good until everything is converted.
 	 */
+#if NDZKBD > 0
 	if (cn_tab->cn_dev != makedev(cdevsw_lookup_major(&dz_cdevsw), 0)) {
 		dz_regs = vax_map_physmem(va->va_paddr, 1);
 		consline = -1;
 	} else
+#endif
 		consline = minor(cn_tab->cn_dev);
 	sc->sc_ioh = dz_regs;
 	sc->sc_dr.dr_csr = 0;
Index: arch/vax/vsa/lcg.c
===================================================================
RCS file: /cvsroot/src/sys/arch/vax/vsa/lcg.c,v
retrieving revision 1.2
diff -u -r1.2 lcg.c
--- arch/vax/vsa/lcg.c	18 Dec 2014 22:46:53 -0000	1.2
+++ arch/vax/vsa/lcg.c	11 Sep 2018 10:19:20 -0000
@@ -439,6 +439,9 @@
 	if ((vax_boardtype != VAX_BTYP_46) && (vax_boardtype != VAX_BTYP_48))
 		return 0;
 
+	if ((vax_boardtype == VAX_BTYP_48) && ((vax_siedata & 3) == 1))
+		return 0;
+
 	*ch = 1;
 	if ((*ch & 1) == 0)
 		return 0;
@@ -954,6 +957,9 @@
 	if ((vax_boardtype != VAX_BTYP_46) && (vax_boardtype != VAX_BTYP_48))
 		return; /* Only for VS 4000/60 and VLC */
 
+	if ((vax_boardtype == VAX_BTYP_48) && ((vax_siedata & 3) == 1))
+		return; /* No LCG on a MicroVAX 3100 m30/40 */
+
 	if (vax_confdata & 0x100)
 		return; /* Diagnostic console */
 


Home | Main Index | Thread Index | Old Index