X-Git-Url: https://git.reactos.org/?p=reactos.git;a=blobdiff_plain;f=reactos%2Fhal%2Fhalx86%2Fgeneric%2Flegacy%2Fbus%2Fisabus.c;h=4d716a1060c6d9887d1e4a8fc0949af1f5a9a017;hp=884e6d026bbbff687f3216692a002b573f607cc2;hb=0ae7a75158fa0803b082b4644c99a551f6a8a0c2;hpb=ad1721c01643fcb01a52b9f072341f77a254803c diff --git a/reactos/hal/halx86/generic/legacy/bus/isabus.c b/reactos/hal/halx86/generic/legacy/bus/isabus.c index 884e6d026bb..4d716a1060c 100644 --- a/reactos/hal/halx86/generic/legacy/bus/isabus.c +++ b/reactos/hal/halx86/generic/legacy/bus/isabus.c @@ -24,9 +24,28 @@ HalpTranslateIsaBusAddress(IN PBUS_HANDLER BusHandler, 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 */