Freigeben über


Richtlinien für PSHED Plug-In

Im Folgenden finden Sie eine Liste der Richtlinien, die von PSHED-Plug-Ins befolgt werden müssen.

  • Bei korrigierten Fehlern unterliegt der Fehlerbehandlungsablauf den gleichen Einschränkungen, die für alle Gerätetreiber gelten. Interruptdienstroutinen (ISRs) dürfen nicht mehr als 25 Mikrosekunden ausgeführt werden, und verzögerte Prozeduraufrufe (DPCs) dürfen nicht mehr als 100 Mikrosekunden ausgeführt werden. Daher dürfen die Rückruffunktionen eines PSHED-Plug-Ins sowie alle Firmwareroutinen, die die Rückruffunktionen des PSHED-Plug-Ins möglicherweise aufrufen, nicht für beliebige Zeiträume ausgeführt werden. Bei nicht korrigierten Fehlern kann der Fehlerbehandlungsablauf diese Einschränkungen ignorieren, da sich das System in einem Zustand befindet, in dem Datenverlust auftreten kann, wenn der Behandlung der Fehlerbedingung keine Priorität zugewiesen wird.

  • Ein PSHED-Plug-In sollte nur direkt mit Hardware interagieren, über die es die Kontrolle hat. Dies bedeutet, dass ein PSHED-Plug-In Folgendes ausführen sollte:

    • Beanspruchen Sie den Besitz aller Hardwareressourcen, mit denen sie interagiert und die für das Betriebssystem architektonisch sichtbar sind.
    • Unterstützung Plug & Play (PnP), wenn eine der Hardwareressourcen, mit denen sie interagiert, verschoben werden kann.
    • Koordinieren Sie alle Interaktionen mit Hardwareressourcen, die für das Betriebssystem nicht architektonisch sichtbar sind, mit der gesamten anderen Software oder Firmware, die mit denselben Hardwareressourcen interagiert.
    • Interagieren Sie nur mit Hardwareressourcen, die noch nicht vom PSHED oder von einem Hardwarefehlerhandler auf niedriger Ebene (LLHEH) bearbeitet wurden. Ein PSHED-Plug-In sollte nur chipsatzspezifische Register bearbeiten, die nicht Teil der Standard-Chipsatzregister sind, die vom LLHEH manipuliert werden.

Hinweis Die Plattformfirmware sollte nicht die absolute Kontrolle über alle Computerressourcen übernehmen, wie dies im Allgemeinen bei Fehlerbehandlungscode im Systemverwaltungsmodus der Fall ist, da die Hardware in einem virtualisierten oder partitionierten System möglicherweise so partitioniert ist, dass diese Annahme falsch ist.