Port-vax archive

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

Re: QVSS driver and kernel autoconf



On Sun, Feb 8, 2015 at 6:50 PM, Charles Dickman <chd%chdickman.com@localhost> wrote:
> I got sidetracked by a kernel panic that I still can't completely explain.
>
I figured out what was causing the panics.

Before the kernel starts, the qbus map is set to point to the first
2MB of physical memory. Some time after pmap_bootstrap() clears the
system page table, a device on the qbus uses DMA to write into
physical memory and scribbles on the system page table. If the all the
entries in the qbus map are invalidated before the system page table
is cleared, the problem goes away.

The device is likely the DELQA  used for booting. Perhaps it isn't
being shutdown properly before entering the kernel. For a while there
were problems with netboot loaders and I have been using this one for
a while and it mostly just worked. It is most definitely not from a
recent release.

This is probably getting a bit out of my league. Devices shouldn't be
writing into memory after the kernel is started, so this is really a
problem with the boot loader. Clearing the qbus map in
pmap_bootstrap() is before the kernel even knows it has a qbus.

This raises a question for the QVSS driver. How does the framebuffer
in qbus memory get removed qbus memory space available for use in the
qbus map? Is this simply one of effects of bus_space_map() or is there
more that needs to be done?

-chuck


Home | Main Index | Thread Index | Old Index