Re: sun4v trap table

Martin Husemann <[email protected]> Sun, 5 Oct 2025 09:17:48 +0200
Newsgroups gmane.os.netbsd.ports.sparc64
Message-ID <[email protected]>
On Sun, Oct 05, 2025 at 07:30:11AM +0100, Sad Clouds wrote:

> Does anyone know how the TT (Trap Type) maps to the table entries?
> For example, when TT=0x080 why does the kernel think it needs to use
> SPILL64() and for example, not SPILL32(). Where is this defined?

> The architecture manual does not seem to specify the details, so I
> assume it is left up to the OS kernel to decide? Is this correct?

I am not sure I understand the question correctly.

All trap entries have constant size, the cpu (trivially) calculates the
start address of the handler directly from the TT.

What kind of code we put into that slot is all up to us, it is not defined
anywhere besides the table you quoted. But it usually should be obvious
from the TT definition what we want the trap handler to do.

Martin