Ignore:
Timestamp:
Mar 16, 2011, 10:31:12 PM (14 years ago)
Author:
David Azarewicz
Message:

APIC interrupt transition fixes

File:
1 edited

Legend:

Unmodified
Added
Removed
  • GPL/trunk/drv32/strategy.c

    r545 r547  
    3333#include <ossidc32.h>
    3434#include <dbgos2.h>
     35#include <string.h>
    3536
    3637ULONG StratRead(RP __far *_rp);
     
    4142ULONG deviceOwner = DEV_NO_OWNER;
    4243ULONG numOS2Opens = 0;
     44extern "C" BOOL fRewired; //pci.c
     45
     46DBGINT DbgInt;
    4347
    4448//******************************************************************************
     
    6771        ULONG rc;
    6872
     73        memset(&DbgInt, 0, sizeof(DbgInt));
     74
    6975        RPInit __far* rp = (RPInit __far*)_rp;
    7076        rc = DiscardableInit(rp);
    7177        //dprintf(("StratInit End rc=%d", rc));
     78        DbgInt.usState = 1;
    7279        return rc;
    7380}
     
    8289#pragma on (unreferenced)
    8390{
     91        DbgInt.usState = 2;
    8492#ifdef ACPI
    8593        PciAdjustInterrupts();
    8694#endif
     95        rprintf(("StratInitComplete: Init=%ld/%ld Between=%ld/%ld Complete=%ld/%ld",
     96                DbgInt.ulIntServiced[0], DbgInt.ulIntUnserviced[0],
     97                DbgInt.ulIntServiced[1], DbgInt.ulIntUnserviced[1],
     98                DbgInt.ulIntServiced[2], DbgInt.ulIntUnserviced[2]));
    8799        //dprintf(("StratInitComplete"));
    88100        return(RPDONE);
     
    160172ULONG Strategy(RP __far* rp)
    161173{
    162   if (rp->Command < sizeof(StratDispatch)/sizeof(StratDispatch[0]))
     174        if (fRewired) {
     175                fRewired = FALSE;
     176                rprintf(("Strategy: Resuming"));
     177                OSS32_APMResume();
     178        }
     179
     180        if (rp->Command < sizeof(StratDispatch)/sizeof(StratDispatch[0]))
    163181                return(StratDispatch[rp->Command](rp));
    164   else  return(RPERR_COMMAND | RPDONE);
     182        else return(RPERR_COMMAND | RPDONE);
    165183}
    166184//******************************************************************************
Note: See TracChangeset for help on using the changeset viewer.