Disable a20 on 16bit calls.
[seabios.git] / TODO
diff --git a/TODO b/TODO
index b63351224dc9b8a9a0b1faa2c4814df58a4701a1..ca76fe3c369a6c6b1c59c2d7f5b6ebb27add3e9e 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,29 +1,55 @@
-Find out why ubuntu compiles are failing.  Find work around.
+Clean up timer code.  Don't use PORT_DIAG as delay mechanism.
 
-Audit all sti/cli calls.
+The keyboard driver should detect ctrl+alt+del and reboot the
+machine.
 
-Code assumes ebda segment is static - it doesn't read 0x40e.
+Fix keyboard LEDs.
+
+Review changes committed to coreboot, virtualbox, qemu, kvm, and bochs
+cvs tip.
+  * bochs cvs 20081016:           -- better post resume support
+  * coreboot (r3348):    20060708 -- no noteworthy enhancements
+  * qemu (r5536):        20080603 -- has cmos smp count
+  * kvm (1a33292):       20071016 -- acpi dsdt changes, e820 vmx
+    pages, setup mtrrs, clear tsc, acpi intsrcovr table, different pci
+    irqs, smbios always uses 16 cpus, no acpi ssdt, fadt->gpe0_blk set
+  * virtualbox (r13560): 20061231 -- lots of mouse changes, logo,
+    scsi/etherboot hooks, int 1589, floppy data rate?, int19 calls
+    post
+
+Look into ways to reduce stack usage.  Alter ISRs so that they do not
+enable irqs.  Only call out to other bios functions after minimizing
+stack usage.
 
-See if using an ld script for 16bit mode is a good idea.
+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
+comparison.
+
+Code assumes ebda segment is static - it doesn't read 0x40e.
 
 The __call16 code does a long jump to the interrupt trampolines - this
 is unnecessary.
 
-Fix makefiles so that they rebuild the required files automatically.
-
 Cleanup setting of ES on GET/SET_BDA
 
-Make sure inline assembly isn't preventing inlining of calling
-functions.
-
-Convert remaining parts of rombios.c to new code.
+Audit code for 16bit protected mode accesses.  Support 1ab1 from 16bit
+protected mode.
 
-Convert rombios32 and apm bios stuff to new code.
+Possibly implement 32bit pcibios support.
 
 Allow one to select adding 32 bit code to 0xf000 or in a separate
 location.
 
-Try generating bios tables at compile time.
+See if it is possible to handle interrupts while in 32bit mode.
+
+Add a kconfig style configuration program instead of requiring users
+to modify config.h.
+
+Look at integrating the lgpl vgabios into tree.
+
+Look at usb booting specs.  Look at possibly supporting usb
+keyboard/mice.
 
-Move e820 map generation to post time (just have e820 code copy pre
-made tables back to user).
+Add a graphical boot splash screen?