Messages in this thread | | | From | "H. Peter Anvin" <> | Subject | [PATCH 0/5] RFC: x86: Early exception table support | Date | Wed, 18 Apr 2012 17:16:45 -0700 |
| |
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.
| |