Re: Need help from a VAX abi expert (was: Reproducable kernel crash)

Martin Husemann <[email protected]>
Newsgroups gmane.os.netbsd.ports.vax
Message-ID <[email protected]>
On Sat, Jan 11, 2025 at 05:20:42PM +0100, Anders Magnusson wrote:
> Anyway; adding the settings of the page registers to cpu_lwp_fork() is
> non-trivial (if the goal is just to remove the pmap_activate() call).

No, that part should not happen there, only the initialiization of the PCB
list. The registers will be set by another pmap_activate() call later in
the sequence before that lwp first time makes it to userland.

But again I am not claiming to fully understand what is going on and I
am seriously confused by some parts of the code - I will add instrumentation
and try to debug it further, now that you explained why this is needed here.

> > Side note:
> > what I don't undstand is why VAX needs a list of PCBs in its struct pmap.
> > Doesn't this always map 1:1 to the list pcbs of all lwp's in the process?
> > This list handling seems to be different to all other pmaps I have seen.
> Do you mean the list in PCB; pcb_pmnext?  IIRC it had to do with the logic
> for handling the page table resource map (since all lwp:s in a process share
> the same page table but have different PCBs).

Ok, I will read more code and ask questions...

Martin
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.