blob: e9c9d864b42bc800594ad51a4a176324c1dfe1e7 [file] [log] [blame]
Kevin O'Connor7a558e42008-03-11 20:38:33 -04001Audit all sti/cli calls. Audit all call16 calls to make sure flags is
2setup properly with respect to irqs.
Kevin O'Connor44c631d2008-03-02 11:24:36 -05003
Kevin O'Connored128492008-03-11 11:14:59 -04004Audit statements where a 32bit intermediary changes meaning of a 16bit
5comparison.
6
Kevin O'Connord1118332008-03-02 23:26:09 -05007Look into ways to reduce stack usage. For example, %esp, %ebp, %esi
8(high bits), %edi (high bits) are already restored by the C code if
9they're changed - they probably don't need to be backed up on entry.
10
Kevin O'Connor63dbcfb2008-03-01 22:17:07 -050011Code assumes ebda segment is static - it doesn't read 0x40e.
12
13See if using an ld script for 16bit mode is a good idea.
14
Kevin O'Connorb8aacb02008-03-01 14:56:07 -050015The __call16 code does a long jump to the interrupt trampolines - this
16is unnecessary.
Kevin O'Connorf076a3e2008-02-25 22:25:15 -050017
18Fix makefiles so that they rebuild the required files automatically.
19
Kevin O'Connorf076a3e2008-02-25 22:25:15 -050020Cleanup setting of ES on GET/SET_BDA
21
22Make sure inline assembly isn't preventing inlining of calling
23functions.
24
25Convert remaining parts of rombios.c to new code.
26
27Convert rombios32 and apm bios stuff to new code.
28
29Allow one to select adding 32 bit code to 0xf000 or in a separate
30location.
31
32Try generating bios tables at compile time.
33
34Move e820 map generation to post time (just have e820 code copy pre
35made tables back to user).