Re: HP9000 K-Series support, howto and diffs

Jochen Kunz <[email protected]> Sat, 1 Nov 2003 16:59:08 -0800
Newsgroups gmane.os.openbsd.hppa
Message-ID <[email protected]>
On 2003.11.01 02:46 Hellmuth Michaelis wrote:

> The very first sentence is "Find monarch processor and memory
> controller".
> On the K, these two items are not found by neither PDC_SYSTEM_MAP nor
> by PDC_MEMMAP (PDC_SYSTEM_MAP does not find these ond others and
> PDC_MEMMAP is not supported on that platform).
Did you try to find the CPU via PDC_SYSTEM_MAP, TRANSLATE_PATH?
At least on my B132L PDC_SYSTEM_MAP, TRANSLATE_PATH finds CPU and 
memory.

> So the purpose of walk_iomem() is to initially scan the central bus
> to get the memory controller, cpu(s) and IOA's from where to scan
> further down the tree to get everything else possible.
Did you try PDC_HPA? It returns the HPA of the CPU. I found no other 
way to get the memory controller besides walking the main bus. But this 
is more or less identical to the current implementation in 
{Net,Open}BSD. pdc_scanbus() finds CPU and MEM and a few iterations 
later the IO Hardware.

I choose not to follow the advertised scanning algorithem in the PDC 
manual because the existing algorithem worked well. (It is in case of 
PDC_SYSTEM_MAP mostly identical to the OpenBSD code.) The B132L is my 
only machine that uses PDC_SYSTEM_MAP so I choose to leave it like it 
is until I get some [CDJK] hardware myself.
-- 



tschüß,
           Jochen

Homepage: http://www.unixag-kl.fh-kl.de/~jkunz