-------------------------------------------------------------------------------
things that still need to be done
-------------------------------------------------------------------------------
update code base to pcmcia-cs-3.2+
- fix the cardbus code, it should delay the creation of the nub
- switch CS cardbus to pci "space" addressing instead of the nub
- make cardbus and 16 bit code more symetric
fix rsrc_mgr.c it should be rewritten in terms of IOKit, ie IORangeAllocator
- validate_mem (could just skip)
- find_mem_region
- release_mem_region(u_long base, u_long num);
- find_io_region
- release_io_region(u_long base, u_long num); aka, release_region
write and call a new macosx version of exit_pcmcia_cs()
- the pccard card family doesn't unload yet
fix the Zoom Video code, it is not tested/complete?
-------------------------------------------------------------------------------
possible code enhancements - later (much later)
-------------------------------------------------------------------------------
implement AddSocketServices
- to replace register_ss_entry()
- move i82365.c into a seperate kext
write a ds style driver interface for the ds ioctls? can probably use
IORegistry and get/setProperties() hook to catch things, or io_connect
write funky cis tuple code
- look for specific tuple and match against its data
- default enabler should check for card match and then
patch cis data from info in the XML file
- the entry in xml wouldn't have to specify a class,
it could just do the patch (if that even works?)
write a simple sram driver
- create a nub of type IOBlockStorageDevice, look at DiskImages
- ApplePCCardSRAMDevice -> IOBlockStorageDevice -> IOMedia
write code to create MTD driver nubs using using JEDEC tuples for matching
- they would need to get loaded first
- the MTD is not fully hooked up yet, search for mtd_req
-it might be easier to ditch the MTD code?
- workaround: make MTD drivers part of regular memory driver
should change socket services to load in card services, ... on card
insert we could have a lite weight dummy driver that adds a flag to
the registry on card detection, and then unloads itself, on the
"rematching" the flag could be used for altering the match scores both
probes (lite weight and real) could toggle the flag during matching
fix IOPCCardBridge::getModuleParameters, it needs to be expanded to
look at more configuration options, ie, most of what is currently
MODULE_PARM()'ed. These properties could be contained in different
personalties depending on which controller/laptop we end up matching
against. This might fit in well with breaking out socket services into
a seperate kext.
dma? not done on 9