Don't save/restore flags and ebp on external calls - saves on stack space.
It isn't necessary to save ebp - just mark it as clobbered.
The only important flag to save/restore is irqs - manually fixup all callers.
diff --git a/TODO b/TODO
index 603d763..e9c9d86 100644
@@ -1,4 +1,5 @@
-Audit all sti/cli calls.
+Audit all sti/cli calls. Audit all call16 calls to make sure flags is
+setup properly with respect to irqs.
Audit statements where a 32bit intermediary changes meaning of a 16bit