DevCon for OS/2 - Developer Connection |
Operating systems: ArcaOS, eComStation, IBM OS/2 Warp |
|
|
Development of device driversDetailed information:
Template of 32-bit driver for eComStation
KEE interfaceTo develop modern drivers you should use DevHlp, KEE interfaces. Read DDK, pddref.inf for details.
Tutorials
Suspend/resumeeCS supports suspend/resume for one-core and multi-core desktops and notebooks. You can use APM interface (read DDK -> in_out.inf, Input/Output Device Driver Reference) or hidden kernel function SaveRestore()
/* * Function SaveRestore * @pkt standard drivers packet * @return None * Note: This function is undocemmented in pddref.inf */ void SaveRestore( PRPSAVERESTORE pkt) { PrintDevCall((PRPH)pkt, "SaveRestore"); if (PSD) { PSD->AcpiOsPrintf("APM:SaveRestore - %x\n",(ULONG)pkt->FuncCode); } pkt->rph.Status |= STDON; } dd OFFSET FLAT:SaveRestore ; Command code 20h SaveRestore
Please share information with other developers how to:
Programming PCI devicesTo create new driver, you need
Wakeup PCI devicesExamples:
Read/write ports from Ring3Example how to read/write to the ports
Mapping physical memory to linearUse this method (via SCREEN$) memory mapping via SCREEN$ (thx LightElf)
Driver debugging
if you are going to do driver debugging, a trap dump partition is a
must have. It will save you a lot of time. A usable kernel debugger
setup will save you a even more time, but this can be problematic on newer
systems that lack a serial port.
Useful links
|
|
||||
(C) OS2.GURU 2001-2024