[PATCH 0/5] RFC: x86: Early exception table support

H. Peter Anvin
2012-04-19T00:17:10Z

If we get an exception during early boot, walk the exception table to
see if we should intercept it. The main use case for this is to allow
rdmsr_safe()/wrmsr_safe() during CPU initialization.

Since the exception table is currently sorted at runtime, and fairly
late in startup, this code walks the exception table linearly. We
obviously don't need to worry about modules, however: none have been
loaded at this point.

In the future it would be better to have the table sorted at compile
time, or even better, turned into a perfect hash. At that point this
code should be changed out from doing a linear search.

This patchset also makes the early exception handling a little more
similar between x86-64 and i386, but a lot of unification could (and
should) still be done: in particular, setup done in C as in x86-64,
and verbose error dump as in i386.