Index: doc/TODO
===================================================================
--- doc/TODO	(revision f761f1eb635bfe9a5deaf70a0f0a51aa8d2f5f22)
+++ doc/TODO	(revision f761f1eb635bfe9a5deaf70a0f0a51aa8d2f5f22)
@@ -0,0 +1,22 @@
++ implement true memory management
+  + [ia32] use int 0x15 ax=0xe820 to get memory map and memory size
+  + [mips] use some heuristics to get memory map and memory size
+  + reimplement heap so that it can allocate/deallocate itself frames as necessary
+  + provide native four-level portable page table interface
+    + every architecture uses its native page table format
+    + kernel provides unified four-level page table interface for all architectures
+  + track usage of frames containing middle-level page tables (frame leak)
+
++ get user mode support for all architectures
+
++ when a new thread enters scheduler, at least one CPU in
+  cpu_sleep() should be woken up by an IPI
++ save/restore floating point context on context switch 
+  + [ia32] lazy context switch using TS flag
++ [ia32] review privilege separation
+  + zero IOPL in EFLAGS
+  + before IRET (from SYSCALL), zero NT in EFLAGS
++ [ia32] review the cache controling bits in CR0 register
++ [ia32] zero the alignment exception bit in EFLAGS
++ make emulated architectures also work on real hardware
++ bring in support for other architectures (e.g. PowerPC)
