i386 registers during a syscall

Attilio Rao attilio at freebsd.org
Sun Jul 23 21:18:59 UTC 2006

2006/7/23, Divacky Roman <xdivac02 at stud.fit.vutbr.cz>:
> hi,
> I need to get content of %esi register as it was during a syscall. Should I get
> this info from td->td_pcb->pcb_esi or td->td_frame->tf_esi?
> Is it so that trapframe is "content of registers when entering a kernel" and
> pcb is "when leaving a kernel" ?
> thnx for info

pcb and trapframe are used for very different purposes.

The trapframe is built into the exception handler and it is used as
'registers gate' from userspace/kernelspace.

The pcb (process control block) is used to handle registers saving
during a context switch, so it seems completely ortogonal to your

BTW, it's unclear to me what do you need...


Peace can only be achieved by understanding - A. Einstein

More information about the freebsd-hackers mailing list