exception handling in kernel code
John Baldwin
jhb at freebsd.org
Mon Aug 14 14:17:09 UTC 2006
On Monday 14 August 2006 02:46, Stanislav Sedov wrote:
> Hi!
>
> I'm trying to write kernel code where exceptions are unavoidable.
> To clarify , I need to recover after GP (general protection) exception
> on i386 cpu and return an error in that case.
> Unfortunately, looking in trap.c kernel code I can't find any exception
> handling mechanism except inserting hooks into trap.c.
>
> So, the question is: how can one recover after exception in kernel
> code? AFAIK, linux build special exception table from various __ex_table
> sections to allow placing recover code into .fixup section. Does any such
> mechanism exists in freebsd?
>
> Thanks!
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. :)
--
John Baldwin
More information about the freebsd-hackers
mailing list