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/…
==============================================================================
--- 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 */