Port-vax archive

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

Re: UNS: Re: netbsd-5.1 cpu probe/attach for 11/7xx?



On 2011-06-27 13.18, Brad Parker wrote:
Johnny Billquist wrote:
Older VAXen don't really have a CPU attach function. There can only be
one CPU, and it is implicitly already attached.
I don't think that is how the code is working; at least in the abstract.
There are cpu attach routines for
all the 7xx cpu's, but none of them are being called. At the very least
they print a small amount of information
which is interestng to see -

I'm proposing a simple fix to make that code (which once worked) work
again.

Ok. I had to check things through a little more to refresh my memory.
Yes, there is a cpu_attach function for all cpus. But as far as I can tell, it is also called for all CPUs.

It's done in autoconf.c at line 186:

        if (dep_call->cpu_attach_cpu != NULL)
                (*dep_call->cpu_attach_cpu)(self);

Not that this attach function do much. On a 11/780, it prints some CPU information, and enables the FPA if it exists (but that is a pretty good thing to do :) ).

Sos it's not really called through the normal autoconf paths using the config file.

The system starts by trying to figure out what general type of system
it is (checking the SID), and then just start initializing pmap, and
all other stuff from there.

Check locore.c, which have the initial CPU type setup code.
Yes, thanks. I'm pretty familiar with locore.c and how it id's the cpu.

I also might argue that the 11/730 cpu is directly connected to the unibus.

Well, the 11/730 also have a Unibus map, and the memory does not sit on the Unibus. And the Unibus exists within a specific memory range in the CPU addressing. Other addresses goes to other places. So I'd definitely say no - the CPU does not sit directly on the Unibus.
(Heck, the Unibus can only address 256Kbyte, that would be rather severe...)

So the practical question is - fix the broken cpu probe code? other
architectures have similar
cpu probe code, even in UP cases where the bus structure is simple. It
seems to make sense to
fix it, or if not, remove it. The code in locore.c simply id's the cpu,
it does not do any cpu specific
work or print anything helpful.

True. locore sets up the CPU information. autoconf then calls the actual attach function. Not through some probing, but directly, as the CPU is already known to exist, and we already know which type.

        Johnny


Home | Main Index | Thread Index | Old Index