=================================================================== RCS file: /MkLinux/floppy-darwin/floppy.cpp,v retrieving revision 1.26 retrieving revision 1.27 diff -u -r1.26 -r1.27 --- floppy-darwin/floppy.cpp 2002/03/21 03:24:30 1.26 +++ floppy-darwin/floppy.cpp 2002/03/21 10:51:08 1.27 @@ -21,6 +21,7 @@ */ #include +#include #define CPLUSPLUS @@ -35,9 +36,12 @@ BSIOStatus FloppyPluginFlush(BSStorePtr ioStore, BSIORequestBlockPtr parentRequest, struct BSErrorList **errors); -} OSStatus FloppyPluginCleanup(BSStorePtr theStore); +static vm_offset_t org_mklinux_iokit_swim3_iobase; +vm_offset_t org_mklinux_iokit_swim3_get_io_base_addr(); +} + caddr_t org_mklinux_swim3_vaddr[2]; caddr_t org_mklinux_swim3_dmvaddr[2]; caddr_t org_mklinux_swim3_device[2]; @@ -99,11 +103,10 @@ { bool res = super::start(provider); struct bus_device *bd; - IOMemoryMap * fdMap; - IOMemoryMap * DMAfdMap; + IOMemoryMap *fdMap; + IOMemoryMap *DMAfdMap; io_return_t error; - IOLog("Starting\n"); if (!res) { @@ -112,12 +115,15 @@ } DAG_Rules=OSDynamicCast(AppleMacIODevice, provider); - + + if (!DAG_Rules) { IOLog("Failed: OSDynamicCast\n"); return false; } + // memcpy(&org_mklinux_iokit_swim3_iobase, OSDynamicCast(OSData,(provider->getProperty("AAPL,address")))->getBytesNoCopy(), sizeof(vm_offset_t)); + if( 0 == (fdMap = provider->mapDeviceMemoryWithIndex( 0 )) ) { IOLog("%s: no fd memory\n", getName()); kprintf("Start is bailing\n"); @@ -267,6 +273,8 @@ // self->mediaStateHasChanged((IOMediaState)kIOMediaStateOnline); /* @@@ Create IOMedia Nub? @@@ */ + + break; case kBSOffline: IOLog("New state: kBSOffline\n"); @@ -326,7 +334,8 @@ IOStorageCompletion completion) { - return kIOReturnUnsupported; + return kIOReturnIOError; + // return kIOReturnUnsupported; } @@ -796,3 +805,11 @@ } + +vm_offset_t org_mklinux_iokit_swim3_get_io_base_addr() +{ + +return org_mklinux_iokit_swim3_iobase; + +} +