- Fix __rdtsc so it's considered volatile by GCC instead of caching it.
[reactos.git] / reactos / ntoskrnl / KrnlFun.c
1 ///////////////////////////////////////////////////////////////////////////////
2 //
3 // Alex's Big Ol' List of FIXMEs, bugs and regressions
4 // If you see something here, Alex *KNOWS ABOUT IT*.
5 // Do NOT bug him about it.
6 // Do NOT ask if he knows about it.
7 // Do NOT complain about it.
8 // Do NOT ask when it will be fixed.
9 // Failure to respect this will *ACHIEVE NOTHING*.
10 //
11 // Ke1:
12 // - Implement Privileged Instruction Handler in Umode GPF.
13 //
14 // Ex:
15 // - Use pushlocks for handle implementation.
16 //
17 // Ke2:
18 // - Dispatcher Rewrite (DPCs-Timers-Waits).
19 //
20 // Hal:
21 // - Use APC and DPC Interrupt Dispatchers.
22 // - CMOS Initialization and CMOS Spinlock.
23 //
24 // Fstub:
25 // - Implement IoAssignDriveLetters using mount manager support.
26 //
27 // Kd:
28 // - Implement KD Kernel Debugging and WinDBG support.
29 //
30 ///////////////////////////////////////////////////////////////////////////////
31
32 // REACTOS GUIDANCE PLAN
33 // ________________________________________________________________________________________________________
34 // / \
35 // | OB, PS, LPC, DBGK, IO => Almost entirely fixed interaction with Ke/Ex. | |
36 // | SE => Not looked at. Interaction with Ps/Io is minimal and currently hacked away. Preserve. |J|
37 // | EX => Needs re-visiting (in trunk). Do callbacks/push locks for interaction with Ps. |A|
38 // | KD/KDBG => Laptop has special version of ROS without these components. Commit in branch. |N|
39 // | INIT => Boot sequence still needs work in terms of interaction with Ke and CPU features. | |
40 // | || || || || || || || || || || || || |F|
41 // | \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ |E|
42 // | HAL => Needs APC/DPC/IRQL implementation fixed ASAP in terms of interaction with Ke. |B|
43 // | FSTUB => Needs IoAssignDriveLetters fixed ASAP but not critical to Ke/Ex. Interacts with Io. | |
44 // | || || || || || || || || || || || || |M|
45 // | \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ |A|
46 // | CM => TOTAL REWRITE. |R|
47 // | || || || || || || || || || || || || | |
48 // | || || || || || || || || || || || || |A|
49 // | \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ |P|
50 // | KE => Timer Rewrite + Thread Scheduler Rewrite. |R|
51 // | || || || || || || || || || || || || |I|
52 // | || || || || || || || || || || || || |L|
53 // | || || || || || || || || || || || || | |
54 // | \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ |M|
55 // | MM => TOTAL REWRITE. |A|
56 // | |Y|
57 // \________________________________________________________________________________________________________/
58 //