exception handling in kernel code
John Baldwin
jhb at freebsd.org
Mon Aug 14 18:49:43 UTC 2006
On Monday 14 August 2006 09:47, Stanislav Sedov wrote:
> On Mon, 14 Aug 2006 09:32:57 -0400
> John Baldwin <jhb at freebsd.org> mentioned:
> >
> > You can make use of pcb_onfault to recover from a page fault, but that's
> > about it. Kernel code is expected to not generate exceptions. :)
> >
>
> Thanks a lot! I'll try it.
>
> To clarify:
>
> I've implemented driver to allow user-level code to read MSRs (Model
> specific registers) (like linux's /dev/cpu/msr). It's required for
> some programs like x86info.
>
> As long as not all MSRs documented and reading/writing unexistent MSR
> leads to GP fault, I need to recover in that case.
Hmm pcb_onfault won't help with this (it does PF#, not GP#). You will have to
hack trap() to provide some sort of fallback for your case.
--
John Baldwin
More information about the freebsd-hackers
mailing list