-
Die Erfindung bezieht sich auf Verfahren und Systeme für Sicherheitsfunktionen für Mikrocontroller. Genauer gesagt bezieht sich die Erfindung auf Verfahren und Systeme zum Definieren einer Prozessor-Sicherheitsprivilegierungsstufe für das Steuern eines verteilten Speicherzugriff-Schutzsystems.
-
Moderne elektronische Steuergeräte (ECUs, electronic control units) für den Automobilbereich integrieren weiterhin eine ständig steigende Anzahl von Funktionalität. Dieser Trend wird auf der einen Seite von der Technologieskalierung, die einen hohen Grad an Integration ermöglicht, als auch von der in hohem Maße kostengesteuerten Natur der Automobilindustrie vorangetrieben, die die Reduzierung der Gesamtanzahl an ECUs pro Auto erzwingt. Die Elektronik spielt eine zunehmende Rolle bei der Bereitstellung von hochentwickelten Fahrassistenzfunktionen und insbesondere bei der Verhinderung von Gefährdungen, was die Anzahl an tödlichen Verletzungen reduzieren wird.
-
Die Integration von Funktionen innerhalb eines ECU konzentriert sich hauptsächlich um einen sicheren Mikrocontroller, der durch die Unterbringung von kritischen Erfassungs-, Berechnungs- und Steuerfunktionen eine zentrale Rolle spielt. Der Sicherheitsstandard ISO 26262 bietet eine Möglichkeit, die Kritikalität der an einer Sicherheitsanwendung beteiligten Software näher zu bestimmen. In einem ersten Schritt durch eine Gefährdungs- und Risikoanalyse hindurch wird jede Funktion eingestuft. Dies führt zu einem Automotive Safety Integrity Level (ASIL) bzw. Automobil-Sicherheits-Integritätslevel für jedes Sicherheitsziel. Als Folge davon gibt es einen komplexen Satz von heterogenen Softwarekomponenten, die miteinander interagieren, um die geplante Funktionalität und Integrität bereitzustellen.
-
Die Privilegierungsstufen, die in herkömmlichen eingebetteten bzw. integrierten Prozessoren zu finden sind, sind nicht mehr länger ausreichend, um die Softwarekapselungsanforderungen zu erfüllen, die zu dem Sicherheitsstandard ISO 26262 gehören. Außerdem sollten die Softwarekapselungsanforderungen nicht auf die Ausführung von Software innerhalb einer CPU beschränkt sein, sondern sie sollten alle Ressourcen innerhalb eines Mikrocontrollers ansprechen. Das Nichtvorhandensein der geeigneten Hardware- und Software-Infrastruktur für die Unterstützung dieser Softwarekapselungsanforderungen erfordert den Aufbau von ziemlich komplexen Virtualisierungsschichten auf der Softwareebene, was wiederum eine unglaublich komplexe Softwarearchitektur erfordert und einen beträchtlichen Teil der CPU-Leistung verbraucht. Als Folge davon machen es diese Nachteile schwierig, den Grad an Integration zu erreichen, der von dem Standard ISO 26262 erwartet wird, und sie können ein limitierender Faktor für die Verwendung der möglichen Softwareintegrationsfähigkeiten von modernen CPUs sein.
-
Einige herkömmliche Mikrocontroller haben versucht, virtuelle Schichten in Software zu implementieren, so dass der Zugriff auf jegliche Ressource von einer vertrauenswürdigen Softwareschicht kontrolliert bzw. gesteuert wird, bevor dieser zu den dedizierten Hardware-Ressourcen gesendet wird. Aber eine solche Software ist sehr von der Hardware-Plattform abhängig und erzeugt einen großen System-Engpass, da die Anzahl an Software-Tasks (Software-Aufgaben) zunimmt.
-
Deshalb besteht ein Bedarf an einem System und einem Verfahren für eine Sicherheits-Hypervisor-Funktion, die sowohl in der Hardware als auch in der Software aktiviert ist. Genauer gesagt besteht ein Bedarf an einer neuen Privilegierungsschicht, die für jede Task (Aufgabe) spezifiziert werden kann, die in einem Mikrocontroller ausgeführt wird.
-
Die Erfindung löst diese bzw. weitere Aufgaben durch die Gegenstände der unabhängigen Ansprüche. Vorteilhafte Weiterbildungen der Erfindung sind in den Unteransprüchen angegeben.
-
In Übereinstimmung mit einem Aspekt der Erfindung weist ein System für eine Sicherheits-Hypervisor-Funktion für das Zugreifen auf einen Bus in einem Computerverarbeitungssystem (Computer Processing System) ein Modul für das Zugreifen auf einen Systemspeicher sowie eine Speichereinheit für das Speichern eines Sicherheitscodes auf. Das Modul ordnet den Sicherheitscode einer Verarbeitungstransaktion zu und der Sicherheitscode ist bei dem Zugriff auf den Bus durch das Modul sichtbar.
-
In einer Ausführungsform weist ein System für eine Sicherheits-Hypervisor-Funktion in einem Computersystem eine CPU-Speicherschutzeinheit (CPU-MPU (Memory Protection Unit)) für das Schützen des Zugriffs auf die CPU und auf lokale Speicher, eine Bus-Speicherschutzeinheit (Bus-MPU) für das Schützen des Zugriffs auf einen Prozessorbus und eine Register-Speicherschutzeinheit (Register-MPU) für das Schützen des Zugriffs auf ein oder mehrere Peripheriegeräte in dem System auf, wobei eine Sicherheitsprivilegierungsstufe von der CPU-MPU, der Bus-MPU und der Register-MPU verwendet wird, um den Zugriff auf die jeweiligen Einrichtungen zu bestimmen. In einer Ausführungsform befindet sich die Sicherheitsprivilegierungsstufe in dem Prozessorstatuswort und kann entweder ein Sicherheitsbit oder ein Sicherheitscode sein. Die Sicherheitsprivilegierungsstufe kann auch konfiguriert werden, wenn das System entworfen wird, und kann von dem Betriebssystem dynamisch zugeordnet werden. Die Sicherheitsprivilegierungsstufe beschränkt den Zugriff auf Transaktionen, die auf dem Chip ausgeführt werden.
-
In Übereinstimmung mit einem anderen Aspekt der Erfindung umfasst ein Verfahren zum Durchführen einer Sicherheits-Hypervisor-Funktion in einem Computersystem die Schritte des Konfigurierens von statischen Attributen für eine Software-Task, des Zuordnens der Task zu einer der CPUs und des Konfigurierens jeder Bus-Speicherschutzeinheit und jedes Registerschutzes, die von der Task benötigt werden. In einer Ausführungsform umfasst das Verfahren des Weiteren die Schritte des Zuweisens einer neuen Prozessor-Sicherheitsprivilegierungsstufe zu der Task, des Verwendens der statischen Attribute während der Laufzeit, um Hardware-Ressourcen einzustellen, und des Definierens des internen Datenflusses.
-
Gemäß einem Aspekt wird ein System bereitgestellt für eine Sicherheits-Hypervisor-Funktion für das Zugreifen auf einen Bus in einem Computerverarbeitungssystem, wobei das System Folgendes aufweist:
ein Modul für das Zugreifen auf einen Systemspeicher; und
eine Speichereinheit für das Speichern eines Sicherheitscodes; wobei das Modul den Sicherheitscode einer Verarbeitungstransaktion zuordnet und wobei der Sicherheitscode beim Zugriff auf den Bus durch das Modul sichtbar ist.
-
Vorteilhaft ist das Modul eine Computerverarbeitungseinheit (CPU; Computer Processing Unit).
-
Vorteilhaft ist das Modul ein direkter Speicherzugriff (DMA, Direct Memory Access).
-
Vorteilhaft weist das System des Weiteren ein Prozessorstatuswort (PSW) für das Speichern des Sicherheitscodes für die CPU auf.
-
Vorteilhaft wird der Sicherheitscode einer Task unter Verwendung des PSW zugeordnet.
-
Vorteilhaft weist das System des Weiteren ein Konfigurationsregister für das Speichern des Sicherheitscodes für den DMA auf.
-
Vorteilhaft wird der Sicherheitscode einer DMA-Kanal-Transaktion zugeordnet.
-
Gemäß einem Aspekt wird ein System bereitgestellt für eine Sicherheits-Hypervisor-Funktion, wobei das System Folgendes aufweist:
eine CPU-Speicherschutzeinheit (CPU-MPU (Memory Protection Unit)) für das Schützen des Zugriffs auf die CPU und auf lokale Speicher;
eine Bus-Speicherschutzeinheit (Bus-MPU) für das Schützen des Zugriffs auf einen Prozessorbus; und
eine Register-Speicherschutzeinheit (Register-MPU) für das Schützen des Zugriffs auf ein oder mehrere Peripheriegeräte) in dem System, wobei eine Sicherheitsprivilegierungsstufe von der CPU-MPU, der Bus-MPU und der Register-MPU verwendet wird, um den Zugriff auf die jeweiligen Einrichtungen zu bestimmen.
-
Vorteilhaft befindet sich die Sicherheitsprivilegierungsstufe in dem Prozessorstatuswort.
-
Vorteilhaft ist die Sicherheitsprivilegierungsstufe ein Sicherheitsbit.
-
Vorteilhaft ist die Sicherheitsprivilegierungsstufe ein Sicherheitscode.
-
Vorteilhaft wird die Sicherheitsprivilegierungsstufe zur Designzeit des Systems konfiguriert.
-
Vorteilhaft ordnet das Betriebssystem die Sicherheitsprivilegierungsstufe den CPU-Hardwarestrukturen dynamisch zu.
-
Gemäß einem Aspekt wird ein Verfahren bereitgestellt für eine Sicherheits-Hypervisor-Funktion für das Bereitstellen einer Sicherheitsprivilegierungsstufe in einem verteilten Speicherzugriff-Schutzsystem, wobei das System eine Vielzahl von CPUs aufweist, wobei das Verfahren die folgenden Schritte umfasst:
Konfigurieren von statischen Attributen für eine Software-Task;
Zuordnen der Task zu einer der CPUs; und
Konfigurieren jeder Bus-Speicherschutzeinheit und jedes Registerschutzes, die von der Task benötigt werden.
-
Vorteilhaft wird die Sicherheitsprivilegierungsstufe zur Designzeit konfiguriert.
-
Vorteilhaft weist das Verfahren des Weiteren die folgenden Schritte auf:
Zuweisen einer neuen Prozessor-Sicherheitsprivilegierungsstufe zu der Task;
Verwenden der statischen Attribute während der Laufzeit, um Hardware-Ressourcen einzustellen; und
Definieren des internen Datenflusses.
-
Vorteilhaft umfasst das Verfahren des Weiteren den Schritt, dass das Betriebssystem die Sicherheitsprivilegierungsstufe dynamisch Hardwarestrukturen der CPU zuordnet.
-
Vorteilhaft umfasst das Verfahren des Weiteren den Schritt des Propagierens (Verbreitens) der Sicherheitsprivilegierungsstufe zu den auf dem Chip ausgeführten Transaktionen initiiert durch die Task-Lade/Speicher-Befehle.
-
Vorteilhaft umfasst das Verfahren des Weiteren den Schritt des Verwendens der Sicherheitsprivilegierungsstufe für das Blockieren von auf dem Chip ausgeführten Transaktionen.
-
Weitere Merkmale, Aspekte und Vorteile der vorliegenden Erfindung werden aus der folgenden ausführlichen Beschreibung der Erfindung, die unter Bezugnahme auf die beigefügten Zeichnungen vorgenommen wird, deutlich werden.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
Die beigefügten Zeichnungen sind enthalten, um ein weiteres Verständnis der vorliegenden Erfindung bereitzustellen, und sie sind in die vorliegende Patentspezifikation integriert und bilden einen Teil davon. Die Zeichnungen veranschaulichen Ausführungsformen der vorliegenden Erfindung, und zusammen mit der Beschreibung dienen sie dazu, die Prinzipien der Erfindung zu erläutern. Andere Ausführungsformen der vorliegenden Erfindung und viele der beabsichtigten Vorteile der vorliegenden Erfindung werden ohne weiteres klar werden, wenn sie durch Bezugnahme auf die folgende ausführliche Beschreibung besser verstanden werden.
-
1 zeigt ein exemplarisches schematisches Diagramm einer Sicherheits-Hypervisor-Funktion in Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung.
-
2 ist ein Ablaufdiagramm, das ein Verfahren zum Durchführen einer Sicherheits-Hypervisor-Funktion in Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung zeigt.
-
3 ist ein Ablaufdiagramm, das ein Verfahren zum Durchführen einer Sicherheits-Hypervisor-Funktion in Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung zeigt.
-
4 ist ein Ablaufdiagramm, das ein Verfahren zum Durchführen einer Sicherheits-Hypervisor-Funktion in Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung zeigt.
-
5 ist ein exemplarisches schematisches Diagramm einer anderen Ausführungsform einer Sicherheits-Hypervisor-Funktion für einen direkten Speicherzugriff (DMA, Direct Memory Access).
-
AUSFÜHRLICHE BESCHREIBUNG DER ERFINDUNG
-
In der nachfolgenden ausführlichen Beschreibung wird Bezug auf die beigefügten Zeichnungen genommen, die einen Teil davon bilden und in denen durch Veranschaulichung spezifische Ausführungsformen gezeigt sind, in denen die Erfindung praktiziert werden kann. Es soll klar sein, dass andere Ausführungsformen verwendet werden können und dass strukturelle oder andere Änderungen vorgenommen werden können, ohne dass von dem Schutzumfang der vorliegenden Erfindung abgewichen wird. Die nachfolgende ausführliche Beschreibung soll daher nicht in einem beschränkenden Sinne betrachtet werden, und der Schutzumfang der vorliegenden Erfindung ist durch die angehängten Ansprüche definiert.
-
1 ist ein exemplarisches schematisches Diagramm einer Hardware- und Software-gestützten Sicherheits-Hypervisor-Funktion 100 in Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung. Die vorliegende Erfindung stellt ein verteiltes Speicherzugriff-Schutzsystem bereit, das von einer neuen Prozessor-Sicherheitsprivilegierungsstufe gesteuert wird. Die Sicherheits-Hypervisor-Funktion 100 umfasst eine CPU 102, lokale Programmspeicher 104, lokale Datenspeicher 106, einen Prozessorbus 108, einen Peripheriegerätebus 110 und eine Vielzahl von Peripheriegeräten 112.
-
Die CPU 102 weist des Weiteren ein Prozessorstatuswort (PSW) 120 auf. In einer Ausführungsform enthält das PSW 120 die statischen Task-Eigenschaften, die für eine Laufzeitausführung relevant sind. Typischerweise können sowohl Informationen, die die Benutzer-/Supervisor-Privilegierungsstufen betreffen, als auch die Speicherschutzkonfiguration in dem PSW gefunden werden. In einer Ausführungsform der vorliegenden Erfindung ist das PSW um ein neues Informationsfeld 122 erweitert, das eine Sicherheitsprivilegierungsstufe enthält. In einer Ausführungsform kann die Sicherheitsprivilegierungsstufe ein Sicherheitsbit sein. In einer anderen Ausführungsform kann die Sicherheitsprivilegierungsstufe ein Code sein, der Sicherheitseigenschaften identifiziert, die von dem Rest der CPU-Architektur unterstützt werden.
-
Die vorliegende Erfindung sieht drei verschiedene Arten von Speicherschutzeinheiten vor: 1) auf der CPU-Ebene (CPU-MPU) 124, 2) auf der Busebene (Bus-MPU) 126 und 3) auf der Registerebene (Register-MPU) 128. Die CPU-MPU 124 wird direkt von der CPU auf der Basis der CPU-MPU-Eigenschaften auf der Task-Ebene in dem PSW 120 gehandhabt bzw. gesteuert, um die Zugriffe auf die eng miteinander gekoppelten Speicher zu überwachen. Wenn eine Task Zugriffe auf einen Bus durchführt, dann wird eine Codierung der Sicherheitsprivilegierungsstufe (je nach der Implementierung können die nativen Informationen gesendet werden) als eine neue Eigenschaft der Bustransaktion gesendet. Dies kann erreicht werden, indem das Busprotokoll erweitert wird oder indem einige Seitenbandinformationen mit einer Zeitsteuerung, die mit der Busprotokollphase konform ist, dort hinzugefügt werden, wo die Informationen verwendet werden.
-
An dem Ziel prüft die Bus-MPU 126 oder die Register-MPU 128 die Konformität der Sicherheitsprivilegierungsstufencodierung mit ihrer privaten Konfiguration. Die private Konfiguration ist der spezielle Sicherheitscode oder die spezielle Sicherheitskennung für das Zugreifen auf die bestimmte Einrichtung. Eine mögliche Codierung kann wie folgt erzielt werden: in einem Multi-Master-Bussystem hat jeder Master eine eindeutige statische Kennung. Die Sicherheitsprivilegierungsstufe könnte verwendet werden, um eine alternative Kennung auszuwählen. Dann würde an einem Ziel die private Konfiguration der Bus- oder Register-MPU aus der Fähigkeit bestehen, eine oder mehrere Master-Kennungen) konfigurieren zu können, der bzw. denen Zugriff auf die geschützten Ressourcen gewährt werden wird. Auf der MPU-Ebene kann die Schutzgranularität jedes von Nur-Lese-(Read-Only)-Attributen, Nur-Schreib-(Write-Only)-Attributen oder Lese-/Schreib-(Read/Write)-Attributen oder einer Untergruppe davon in Abhängigkeit von den Bedürfnissen der Architektur spezifizieren.
-
Wie in 1 zu sehen ist, wird die Sicherheitsprivilegierungsstufe auch verwendet, wenn eine Software, die auf der CPU läuft, ihre eigenen Register konfigurieren muss. In einer anderen Ausführungsform kann die vorliegende Erfindung die neue Sicherheitsprivilegierungsstufe als eine neue Schutzschicht für den Schutz ihrer eigenen kritischen Register in Abhängigkeit von dem Supervisor-Modus verwenden.
-
In einer anderen Ausführungsform sind die Register-MPU 128 und die Bus-MPU 126 unabhängig von dem Betriebssystem, um potentielle systematische bzw. systemabhängige Fehler zu erfassen, die während der Konfiguration des Systems entstehen können, was typischerweise ein extrem komplexer Prozess ist, oder die der Betriebssystemsoftware selbst inhärent sind. In solchen Situationen kontrolliert bzw. steuert das Betriebssystem die CPU-MPU 124, wobei alle anderen MPUs unabhängig von dem Betriebssystem konfiguriert werden. Eine Betriebssystem-Funktionsstörung während einer CPU-MPU-Rekonfiguration könnte es ermöglichen, dass eine Software in Standardqualität heimlich, still und leise sicherheitsbezogene Ressourcen korrumpiert bzw. beschädigt. So könnte zum Beispiel eine QM-Software aufgrund von einigen nicht spezifizierten Eingaben nicht richtig funktionieren und willkürlich versuchen, auf einen sicherheitsrelevanten Speicherbereich zuzugreifen. In diesem Fall würde die unabhängige Bus-MPU-Konfiguration erkennen, dass die Task nicht die vorgesehene Sicherheitsprivilegierungsstufe propagiert, und würde den Zugriff verweigern. Infolgedessen ermöglicht es die Kombination aus der Sicherheitsprivilegierungsstufe und ihrer Handhabung durch die Hardwareeinheiten der vorliegenden Erfindung, vorteilhafterweise einen chipinternen Hypervisor aufzubauen, der die neuen Forderungen im Hinblick auf die Rückwirkungsfreiheit auf den Software- und Hardwareebenen erfüllt.
-
2 ist ein Ablaufdiagramm, das ein Verfahren 200 zum Durchführen einer Sicherheits-Hypervisor-Funktion in einem verteilten Speicherzugriff-Schutzsystem zeigt. Aus Gründen der Klarheit wird das Verfahren 200 zum Durchführen einer Sicherheits-Hypervisor-Funktion in dem Kontext des Systems 100 beschrieben. Aber in alternativen Ausführungsformen können auch andere Konfigurationen verwendet werden. Darüber hinaus können andere Ausführungsformen die hier beschriebenen Schritte in anderen Reihenfolgen durchführen und/oder können andere Ausführungsformen zusätzliche und/oder andere Schritte als die hier beschriebenen durchführen. Im Schritt 202 wird die statische Konfiguration der Software-Task durchgeführt. Diese statische Software-Task-Konfiguration wird unten unter Bezugnahme auf 3 noch genauer beschrieben werden. Dann werden die Tasks im Schritt 204 verschiedenen CPUs zugeordnet. Diese Zuordnung wird unten noch ausführlicher unter Bezugnahme auf 3 beschrieben werden. Schließlich wird im Schritt 206 auf der Basis der Informationen von der statischen Konfiguration und der Task-Zuordnung jede Bus-Speicherschutzeinheit (MPU) und jeder Registerschutz konfiguriert.
-
3 ist ein Ablaufdiagramm, das ein Verfahren 300 für eine statische Konfiguration einer Software-Task zeigt. Die statische Software-Task-Konfiguration ist der erste Schritt bei der Durchführung einer Sicherheits-Hypervisor-Funktion. Im Schritt 302 werden statische Attribute für jede Task bereitgestellt. In einer bevorzugten Ausführungsform weist das Betriebssystem jeder Task diese Attribute zu. Im Schritt 304 wird jeder Task eine neue Prozessor-Sicherheitsprivilegierungsstufe zugewiesen. Während dieser Phase wird jeder Task auch das Benutzer-/Supervisor-Attribut zusätzlich zu der neuen Prozessor-Sicherheitsprivilegierungsstufe gegeben. Im Schritt 306 werden die statischen Attribute während der Laufzeit verwendet, um Hardware-Ressourcen einzustellen. Schließlich werden im Schritt 308 alle Informationen über die Speicher- und Codebereiche, die von jeder Task verwendet werden, definiert.
-
4 ist ein Ablaufdiagramm, das ein Verfahren für die CPU-Zuordnung für die unterschiedlichen Tasks zeigt. Im Schritt 402 werden Speicherbereiche und Peripheriegeräte, auf die von jeder CPU für eine bestimmte Task zugegriffen werden können muss, identifiziert. Im Schritt 404 werden diese Informationen verwendet, um alle internen Datenflüsse zu definieren.
-
Infolgedessen sieht die Sicherheits-Hypervisor-Funktion der vorliegenden Erfindung vorteilhafterweise eine neue Prozessorarchitekturverbesserung durch eine neue Prozessor-Sicherheitsprivilegierungsstufe vor, um höhere Schutzniveaus zu unterstützen, um so eine Störungsfreiheit zwischen heterogenen Softwarekomponenten mit unterschiedlichen Sicherheits-Integritätsleveln zu garantieren. Diese Prozessor-Sicherheitsprivilegierungsstufe ist unabhängig von der traditionellen Task-Kennung, die typischerweise in CPU-Architekturen zu finden ist. Die Task-ID kann zum Beispiel von dem Betriebssystem dort verwendet werden, wo die Sicherheitsprivilegierungsstufe nicht von dem Betriebssystem verwendet wird, da sie die Überwachung des Betriebssystems selbst ermöglicht (innerhalb eines vorhandenen Funktionsumfangs). Mit anderen Worten, die vorliegende Erfindung ermöglicht vorteilhafterweise auch eine unabhängige Überwachung der dynamischen Betriebssystem-Speicherschutz-Zuordnung und gewährleistet daher auch die angestrebte Rückwirkungsfreiheit auf der Hardwareebene.
-
Darüber hinaus stellt die vorliegende Erfindung vorteilhafterweise ein skalierbares Konzept bereit, das eine kostengünstige Implementierung durch die Skalierbarkeit der Sicherheitsprivilegierungsstufe, bei der die Schutzniveaus konfiguriert werden können, ermöglicht. Die Sicherheitsprivilegierungsstufe kann zum Beispiel so spezifiziert werden, dass sie zwischen einer ASIL-Software oder einer Nicht-ASIL-Software oder zwischen einer ASIL-D-Software oder einer anderen Software unterscheidet. Andere Implementierungen des Konzepts können es ermöglichen, dass eine ASIL-D-, ASIL-C-, ASIL-A- und QM-Software durch die Verwendung von mehr Hardware-Ressourcen identifiziert werden können.
-
Obwohl die obige Beschreibung und die damit in Beziehung stehenden Figuren ein Sicherheits-Hypervisor-System in dem Kontext einer CPU beschreiben, wird es einem Fachmann auf dem Gebiet klar sein, dass die vorliegende Erfindung auch auf andere Computersystemmodule verallgemeinert werden kann, die als ein Master auf einen gegebenen Bus zugreifen können. Mit anderen Worten, ein allgemeines System für eine Sicherheits-Hypervisor-Funktion für das Zugreifen auf einen Bus in einem Computersystem weist ein Modul für das Zugreifen auf einen Systemspeicher sowie eine Speichereinheit für das Speichern eines Sicherheitscodes auf, wobei das Modul den Sicherheitscode der Verarbeitungstransaktion zuordnet und wobei der Sicherheitscode beim Zugriff auf den Bus durch das Modul sichtbar ist. Infolgedessen kann das Modul in einer anderen Ausführungsform der vorliegenden Erfindung einen direkten Speicherzugriff bzw. Direct Memory Access (DMA) und ein Konfigurationsregister für das Speichern des Sicherheitscodes für den DMA aufweisen. In einer Ausführungsform kann der Sicherheitscode einer DMA-Kanal-Transaktion zugeordnet werden.
-
5 ist ein exemplarisches schematisches Diagramm einer anderen Ausführungsform der vorliegenden Erfindung 500, die einen direkten Speicherzugriff (DMA, Direct Memory Access) und ein Konfigurationsregister für das Speichern des Sicherheitscodes für den DMA aufweist. Die DMA-Sicherheits-Hypervisor-Funktion 500 weist einen DMA 502, einen SPB-Bus 510, eine SRI 512, ein SRAM 514 und eine SRI-MPU 516 auf. Der DMA 502 weist des Weiteren mindestens eine Move Engine (ME) 520, einen HW-Partitionsmanager 522 und ein HW-Trigger-Priorisierungs- und -Dispatch(Abfertigung, Auswahl)-Modul 524 auf. Eine ME 520 wird (entsprechend Prioritätsparametern, etc. ...) dynamisch zugeordnet, um einen gegebenen DMA-Kanal zu verarbeiten, der mit einem gegebenen HW-Trigger assoziiert ist. Der HW-Partitionsmanager 522 ermöglicht und steuert, welche ID von einer DMA Move Engine 520 für einen gegebenen DMA-Kanal während einer Bustransaktion verwendet werden wird. Eine Transaktion im SPB 510 und in der SRI 512 wird von einer ID identifiziert, und jede Move Engine 520 hat eine eindeutige ID. Die SRI-Speicherschutzeinheit (SRI-MPU) ist so konfiguriert, dass nur vorgegebene DMA-Kanäle in den SRAM-Bereich 0 schreiben können und dass nur andere vorgegebene DMA-Kanäle in den SRAM-Bereich 1 schreiben können. Andere Master oder eine andere Software können bzw. kann nur aus dem Bereich 1 und dem Bereich 2 auslesen.
-
Obwohl hier spezifische Ausführungsformen veranschaulicht und beschrieben worden sind, wird es den Durchschnittsfachleuten auf dem Gebiet klar sein, dass eine Ersetzung durch eine Vielfalt von alternativen und/oder äquivalenten Implementierungen für die gezeigten und beschriebenen spezifischen Ausführungsformen vorgenommen werden kann, ohne dass von dem Schutzumfang der vorliegenden Erfindung abgewichen wird. Die vorliegende Patentanmeldung soll alle Anpassungen oder Variationen der spezifischen Ausführungsformen, die hier erörtert worden sind, abdecken. Deshalb soll die vorliegende Erfindung nur durch die Ansprüche und deren Äquivalente beschränkt sein.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Nicht-Patentliteratur
-
- Sicherheitsstandard ISO 26262 [0003]
- Sicherheitsstandard ISO 26262 [0004]
- Standard ISO 26262 [0004]