Commit graph

3 commits

Author SHA1 Message Date
Hermès Bélusca-Maïto 5e4bad7a5d [FREELDR]
Revert an unneeded modification.

svn path=/branches/kd++/; revision=58909
2013-05-01 22:36:42 +00:00
Hermès Bélusca-Maïto a57fa92c2f [FREELDR]
- Fix some function parameter types, so to avoid unuseful casts (from pointers to const strings to pointers to strings in particular).
- The big thing: make FreeLdr load personalized Kernel Debugger Transport DLLs by reading at the kernel command line and interpreting the /DEBUGPORT=xxx entry (--> loads KDxxx.DLL dll in \SystemRoot\System32\).
  So now, we can not only load the "default" kdcom.dll, but also 3rd-party ones such as kdbazis.dll from VirtualKD.
  Read http://www.nynaeve.net/?p=173 for a trick I used :
  "[...] Another enhancement that could be done Microsoft-side would be a better interface for replacing KD transport modules. Right now, due to the fact that ntoskrnl is static linked to KDCOM.DLL, the OS loader has a hardcoded hack that interprets the KD type in the OS loader options, loads one of the (hardcoded filenames) "kdcom.dll", "kd1394.dll", or "kdusb2.dll" modules, and inserts them into the loaded module list under the name "kdcom.dll". [...]".

svn path=/branches/kd++/; revision=58902
2013-05-01 17:12:56 +00:00
Hermès Bélusca-Maïto e1ef078741 Create this branch to work on loading of different Kernel-Debugger DLL providers, and see whether it is possible to move KDBG from ntoskrnl to a new DLL called, say, KDROSDBG.DLL.
The idea then would be to have the following behaviour (when specifying the following options in the kernel command line):

/DEBUGPORT=COMi --> load KDCOM.DLL and use COMi port (i == 1,2,3,4) if possible.
/DEBUGPORT=FOO  --> load KDFOO.DLL (useful for KDUSB.DLL, KD1394.DLL, KDBAZIS.DLL for VirtualKD, etc...)
/DEBUGPORT=ROSDBG:[COMi|SCREEN|FILE|GDB|...] --> load KDROSDBG.DLL which contains the ROS kernel debugger, and use COMi or SCREEN or... as output port.

svn path=/branches/kd++/; revision=58883
2013-04-28 13:26:45 +00:00