Detect keyboard ctrl-alt-delete and try to reset machine.
[seabios.git] / TODO
diff --git a/TODO b/TODO
index bd3bbe99d5c6b11eda15725c2d6bd8cf95538ddf..0b45ffe81bb27867b97500dbd92decbf6eb7fb54 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,29 +1,49 @@
-Find out why ubuntu compiles are failing.  Find work around.
+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.
+
+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.
 
-See if using an ld script for 16bit mode is a good idea.
-
 The __call16 code does a long jump to the interrupt trampolines - this
 is unnecessary.
 
-Fix makefiles so that they rebuild the required files automatically.
-
-Make sure gdt/idt tables are properly aligned
-
 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.  The BDA is technically at segment 0x0040 (not
+0x0000).
 
-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?