Author: sir_richard Date: Mon Jun 7 22:59:46 2010 New Revision: 47678
URL: http://svn.reactos.org/svn/reactos?rev=47678&view=rev Log: [HAL]: Implement ISA BUS address translation.
Modified: trunk/reactos/hal/halx86/generic/legacy/bus/isabus.c
Modified: trunk/reactos/hal/halx86/generic/legacy/bus/isabus.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/hal/halx86/generic/legacy/b... ============================================================================== --- trunk/reactos/hal/halx86/generic/legacy/bus/isabus.c [iso-8859-1] (original) +++ trunk/reactos/hal/halx86/generic/legacy/bus/isabus.c [iso-8859-1] Mon Jun 7 22:59:46 2010 @@ -24,9 +24,28 @@ IN OUT PULONG AddressSpace, OUT PPHYSICAL_ADDRESS TranslatedAddress) { - DPRINT1("ISA Translate\n"); - while (TRUE); - return FALSE; + BOOLEAN Status; + + /* Use system translation */ + Status = HalpTranslateSystemBusAddress(BusHandler, + RootHandler, + BusAddress, + AddressSpace, + TranslatedAddress); + + /* If it didn't work and it was memory address space... */ + if (!(Status) && (*AddressSpace == 0)) + { + /* Try EISA translation instead */ + Status = HalTranslateBusAddress(Eisa, + BusHandler->BusNumber, + BusAddress, + AddressSpace, + TranslatedAddress); + } + + /* Return the result */ + return Status; }
/* EOF */