zach@xxxxxxxxxx wrote: > This round attempts to conclude all of the LDT related cleanup with some > finally nice looking LDT code, fixes for the UML build, a bugfix for > really rather nasty kprobes problems, and the basic framework for an LDT > test suite. It is really rather unfortunate that this code is so > difficult to test, even with DOSemu and Wine, there are still very nasty > corner cases here - anyone want an iret to 16-bit stack test?. > > I was going to attempt to clean up the math-emu code to make it use the > nice new segment and descriptor table accessors, but it quickly became > apparent that this would be a long, tedious, error prone process that > would eventually result in the death of a large section of my brain. > In addition, it is not very fun to test this on the actual hardware it > is designed to run on (although I did manage to track down a 386 with > detachable i387 coprocessor, the owner is not sure it still boots). > Someday it would be nice to have an audit of this code; it appears to > be riddled with bugs relating to segmentation, for example it assumes > LDT segments on overrides, does not use the mm->context semaphore to > protect LDT access, and generally looks scarily out of date in both > function and appearance. If you really want to test the math emu code, you can hack check_x87 in head.S to always leave the fpu disabled. Then you can test it on any cpu, not just a 386. -- Brian Gerst