Port-vax archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
KA46/48 vsbus DMA fallthrough (was: Re: VAX 4000/200 panic with 6.1.5)
Am 08.05.2015 um 23:59 schrieb Christos Zoulas:
But still it should not jump to NULL...
While plowing through the code regarding this, I saw something else that
could be a missing break in a case statement in vsbus.c, vsbus_attach().
At least there is no /* FALLTHROUGH */ (anymore) as would be required by
KNF. Change vsbus.c r1.23 -> r1.24 looks strange...
If this turns out to be an issue, VAXstations 4000 VLC and m60 (KA48 and
KA46) would be affected.
Are there any known problems with those machines?
I have a VS 4000/60, too, and could test this, but wouldn't know how to
trigger a possible problem.
switch (vax_boardtype) {
#if VAX49 || VAX53
case VAX_BTYP_53:
case VAX_BTYP_49:
sc->sc_vsregs = vax_map_physmem(VS_REGS_KA49, 1);
sc->sc_intreq = (char *)sc->sc_vsregs + 12;
sc->sc_intclr = (char *)sc->sc_vsregs + 12;
sc->sc_intmsk = (char *)sc->sc_vsregs + 8;
vsbus_dma_init(sc, 8192);
break;
#endif
#if VAX46 || VAX48
case VAX_BTYP_48:
case VAX_BTYP_46:
sc->sc_vsregs = vax_map_physmem(VS_REGS, 1);
sc->sc_intreq = (char *)sc->sc_vsregs + 15;
sc->sc_intclr = (char *)sc->sc_vsregs + 15;
sc->sc_intmsk = (char *)sc->sc_vsregs + 12;
vsbus_dma_init(sc, 32768);
#endif
default:
sc->sc_vsregs = vax_map_physmem(VS_REGS, 1);
sc->sc_intreq = (char *)sc->sc_vsregs + 15;
sc->sc_intclr = (char *)sc->sc_vsregs + 15;
sc->sc_intmsk = (char *)sc->sc_vsregs + 12;
[...]
Home |
Main Index |
Thread Index |
Old Index