DE112006003132T5 - Codebereichszugriffe eines Steuerungssystemmanagements - Google Patents

Codebereichszugriffe eines Steuerungssystemmanagements Download PDF

Info

Publication number
DE112006003132T5
DE112006003132T5 DE112006003132T DE112006003132T DE112006003132T5 DE 112006003132 T5 DE112006003132 T5 DE 112006003132T5 DE 112006003132 T DE112006003132 T DE 112006003132T DE 112006003132 T DE112006003132 T DE 112006003132T DE 112006003132 T5 DE112006003132 T5 DE 112006003132T5
Authority
DE
Germany
Prior art keywords
memory
address
system management
access
location
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
DE112006003132T
Other languages
English (en)
Inventor
Martin G. Portland Dixon
David A. Portland Koufaty
Camron B. Hillsboro Rust
Hermann W. Portland Gartler
Frank Hillsboro Binns
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of DE112006003132T5 publication Critical patent/DE112006003132T5/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1491Protection against unauthorised use of memory or access to memory by checking the subject access rights in a hierarchical protection system, e.g. privilege levels, memory rings

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

Eine Vorrichtung mit:
einem Statusindikator zum Angeben, ob die Vorrichtung in einem Systemmanagementmodus arbeitet;
einem Basisspeicherort zum Speichern einer Basisadresse, die zum Angeben eines ersten Speicheradressbereichs dient, unter der auf den Systemmanagementcode zugegriffen werden kann;
einem Abbruchspeicherort zum Speichern einer Abbruchadresse, die zum Angeben eines zweiten Speicheradressbereichs dient, auf den Zugriffe auf den ersten Speicheradressbereich zu steuern sind, wenn die Vorrichtung nicht in dem Systemmanagementmodus arbeitet.

Description

  • HINTERGRUND
  • 1. Gebiet
  • Die vorliegende Offenbarung trifft das Gebiet der Informationsverarbeitung und insbesondere das Gebiet des Speichermanagements- und schutzes.
  • 2. Beschreibung des Standes der Technik
  • Informationsverarbeitungssysteme wie solche, die einen Prozessor der Pentium® Familie der Intel Corporation haben, können einen Systemmanagementmodus („SMM") aufweisen, der eine Betriebsumgebung ist, die parallel zu der normalen Ausführungsumgebung ist und zum Ausführen bestimmter Aufgaben wie einem Systemmanagement, einem Gerätemanagement, einem Leistungsmanagement, einem thermischen Management, Zuverlässigkeitsfunktionen, Verfügbarkeitsfunktionen, Bedienbarkeitsfunktionen usw. verwendet werden kann. Der SMM wird typischerweise durch Setzen eines Systemmanagementinterruptpins erreicht und wird durch Ausführen eines Resümebefehls angeregt. Da der SMM eine gesonderte Betriebsumgebung ist, hat es seinen eigenen Speicherraum, der gegen den normalen Ausführungsumgebung geschützt werden muss. Obwohl dieser gesonderte Speicherraum von dem regulären Systemspeicher gesondert ist, ist er in einem Adressbereich in dem regulären Systemspeicher mappiert.
  • Der Adressbereich in dem regelmäßigen Systemspeicher, zu dem der SSM Code mappiert ist, sollte nur während des SMM Betriebs zugänglich sein. Da ein typischer Cache jedoch nicht zwischen dem SMM Code und einem anderen Code unterscheidet, weist ein bekannter Virusansatz das Schreiben in den Cache unter einer Adresse, unter dem der SMM Code mappiert ist, auf. Ein Versuch zum Schützen des SMM Codes von einer solchen Vorgehen ist die Verwendung von speicherartigen Bereichsregistern („MTRRs") zum Setzen der SSM Codebereiche als während der normalen Ausführung nicht-pufferbar, Rückschreiben als pufferbar bei Eintrag in das SMM und zurück zu nicht-pufferbar bei dem Resümee.
  • KURZE ERLÄUTERUNG DER ZEICHNUNGEN
  • Die vorliegende Erfindung ist in beiliegenden Zeichnungen beispielhaft und ohne Begrenzung wiedergegeben.
  • 1 zeigt ein Ausführungsbeispiel der Erfindung in einem Prozessor mit einer Logik zum Steuern einer SMM Codebereichszugriffen.
  • 2 zeigt ein Ausführungsbeispiel der Erfindung bei einem Verfahren zum Steuern der SMM Codebereichszugriffe.
  • EINGEHENDE BESCHREIBUNG
  • Die nachfolgende Beschreibung beschreibt Ausführungsbeispiele von Techniken zum Steuern der SMM Codebereichszugriffe. In der nachfolgenden Beschreibung werden verschiedene spezifische Einzelheiten wie die Prozessor- und Systemkonfigurationen angegeben, um ein besseres Verständnis der vorliegenden Erfindung zu ermöglichen. Es versteht sich jedoch, dass der Fachmann die Erfindung ohne derartige spezifische Einzelheiten verwirklichen kann.
  • Weiter sind einige bekannte Strukturen, Schaltungen und dergleichen nicht in ihren Einzelheiten gezeigt, um eine unnötige Verundeutlichung der vorliegenden Erfindung zu vermeiden.
  • Ausführungsbeispiele der vorliegenden Erfindung sorgen für SMM Codebereichszugriffe. Ein solches Steuern kann erwünscht sein zum Schützen des SMM Codes vor einem Zugriff während der normalen Ausführung. Ausführungsbeispiele der vorliegenden Erfindung können implementiert werden ohne eine Beeinträchtigung der Betriebseigenschaften des Änderns von Speicherarten zwischen pufferbar und nicht-pufferbar in Verbindung mit den Übergängen zwischen dem SMM und dem normalen Ausführungsmodus.
  • 1 zeigt ein Ausführungsbeispiel der Erfindung in einem Prozessor, dem Prozessor 110, einschließlich einer Logik zum Steuern von Zugriffen zu SMM Codebereichen. Der Prozessor 110 ist in dem System 100 gezeigt, das auch den SMM Speicher 120 und einen normalen Systemspeicher 130 einschließt.
  • Der Prozessor 110 kann ein beliebiger aus einer Vielzahl von unterschiedlichen Typen von Prozessoren sein, etwa ein Prozessor der Pentium® Prozessorfamilie, der Itanium® Prozessorfamilie und anderen Prozessorfamilien der Intel Corporation oder jeder allgemein verwendbare Prozessor einer anderen Firma. Obwohl 1 die Erfindung zeigt, wie sie bei einem Prozessor verwendet wird, kann die Erfindung alternativ bei jeder anderen Art einer Datenverarbeitungskomponente oder -vorrichtung verwirklicht werden. Bei dem Ausführungsbeispiel von 1 weist der Prozessor 110 einen Statusindikator 111, einen Basisspeicherort 112, einen Speichertypspeicherort 113, eine Maskenspeicherort 114, einen Gültigkeitsindikator 115, einen Abbruchspeicherort 116, einen Adresskomperator 117, eine Steuerlogik 118 und eine Steuerlogik 119 auf.
  • Der Statusindikator 111 dient zum Angeben, ob der Prozessor 110 in dem SMM arbeitet. Der Statusindikator 111 kann jedes Feld oder jeder Indikator an einem beliebigen Speicherort sein, etwa ein Statusbit in einem Register, das von einer Steuerlogik 119 (unten beschrieben) auf 1 gesetzt wird, wenn der Prozessor 110 den SMM erreicht und auf Null gelöscht wird, wenn der Prozessor 110 den SMM verlässt.
  • Der Basisspeicherort 112 dient zum Speichern einer Basisadresse. Die Basisadresse dient zum Spezifizieren eines Speicheradressbereichs, in dem der SMM Code zugreifbar ist (der „SMM Bereich"). Der Basisspeicherort 112 kann jedes Feld an jedem beliebigen Speicherort sein. Bei einem Ausführungsbeispiel kann der Basisspeicherort 112 Bits 31:12 eines 64-Bitmodellspezifischen Register (dem „Basissystemmanagementbereichsregister" oder „Basis SMRR") sein, um eine 4K angepasste Basisadresse anzugeben.
  • Der Speichertypspeicherort 113 dient zum Speichern des Speichertyps (beispielsweise nicht pufferbar, rückschreib-pufferbar, schreibgeschützt-pufferbar, durchschreib-pufferbar, usw.) des Bereichs, der durch die Basisadresse angegeben wird. Der Speichertypspeicherort 113 kann jedes beliebige Feld an jedem beliebigen Speicherort sein. Bei einem Ausführungsbeispiel kann der Speichertypspeicherort 113 Bits 7:0 des Basis SMRR sein.
  • Ein Maskenspeicherort 114 dient zum Speichern eines Maskenwerts, der zum Maskieren ausgewählter Bits bei Vergleich einer Adresse, die in einem Speicherzugriff auf die Basisadresse genutzt wird, zu verwenden ist. Der Maskenspeicherort 114 kann jedes beliebige Feld an jedem beliebigen Speicherort sein. Bei einem Ausführungsbeispiel kann der Maskenspeicherort 114 Bits 31:12 eines 64-Bit modellspezifischen Registers sein (dem „Maskensystemmanagementbereichsregister" oder Masken SMRR"), um die maskierten Bits einer in dem Basis SMRR zu speichernden Basisadresse anzugeben.
  • Der Gültigkeitsindikator 115 dient zum Angeben, ob der Basisspeicherort 112 und der Maskenspeicherort 114 gültige Werte speichern. Der Gültigkeitsindikator 115 kann jedes Feld oder jeder Indikator an jedem Speicherort sein und kann durch einen Systemmanagementinitialisierungscode, einem Systemmanangementsteuerungsprogramm oder jeder anderen Software, Firmenware oder Hardware gesetzt sein. Bei einem Ausführungsbeispiel kann der Indikator Bit 11 des Masken-SMRR sein.
  • Der Abbruchspeicherort 116 dient zum Speichern einer Abbruchadresse. Die Abbruchadresse dient zum Angeben eines Speicheradressbereichs (den „Abbruchbereich"), auf den Zugriffe auf den SMM Bereich zu steuern sind, wenn der Prozessor 110 nicht in dem SMM arbeitet. Der Abbruchspeicherort 116 kann jedes Feld an einem beliebigen Speicherort sein. An einem Ausführungsbeispiel kann der Abbruchspeicherort 116 ein Register sein. Bei einem Ausffürungsbeispiel ist die Abbruchadresse eine Speicheradresse eines Steuerungsgramms. Jeder Code, etwa eine Betriebssystemroutine zum Behandeln des Zugriffs, kann in dem Abbruchbereich gespeichert sein.
  • Der Adresskomparator 117 dient zum Vergleichen einer Adresse, die in einem Speicherzugriff verwendet wird, mit einer Basisadresse. Der Vergleich kann entsprechend jedem bekannten Ansatz ausgeführt werden und kann einen Maskenwert von dem Maskenspeicherort 114 zum Maskieren von ausgewählten Bits des Vergleichs verwenden.
  • Die Steuerlogik 118 dient zum Steuern von SMM Bereichszugriffen auf den Abbruchbereich, wenn der Prozessor 110 nicht in dem SMM arbeitet. Das Steuern kann entsprechend jedem bekannten Ansatz durchgeführt werden, etwa durch Ersetzen der Abbruchadresse durch die Basisadresse auf einem internen oder externen Adressbus.
  • Eine Steuerlogik 119 dient zum Erlauben einer Programmierung der Speicherorte und -anzeiger, die oben beschrieben worden sind, nur dann, wenn der Prozessor 110 in dem SMM ist. Die Steuerlogik 119 kann einen Mikrocode, eine programmierbare Logik, eine hartcodierte Logik oder jede andere Form einer Steuerlogik in dem Prozessor 110 sein. Bei anderen Ausführungsbeispielen kann die Steuerlogik 119 in jeder anderen Form von Hardware, Software oder Firmenware implementiert sein, etwa einer Prozessorabstraktionsebene, in einem Prozessor oder in einer beliebigen Komponente, die zugreifbar ist oder einem Medium, das von einem Prozessor lesbar ist, etwa einem SMM Speicher 120.
  • In 1 können die Speicher 120 und 130 statische oder dynamische Speicher mit wahlfreiem Zugriff, auf Halbleiter basierende nur Lese- oder Festspeicher, magnetische oder optische Platten oder andere Formen von Medien, die von dem Prozessor 110 lesbar sind, oder jede Kombination derartiger Medien sein. Der SMM Speicher 120 dient zum Speichern des SMM Codes. Der normale Systemspeicher 130 dient zum Speichern des Codes einschließlich des Betriebssystems und des Anwendungsprogrammcodes.
  • Der Prozessor 110 und die Speicher 120 und 130 können nach jedem bekannten Ansatz miteinander gekoppelt sein oder miteinander kommunizieren, entweder direkt oder indirekt über einen oder mehrere Busse, Punkt-zu-Punkt oder anderen verdrahteten oder drahtlosen Verbindungen oder über jede andere Komponente, etwa einem Chipsatz oder einem Speicherkontroller. Das System 100 kann weiter jede beliebige Anzahl von zusätzlichen Komponenten oder Verbindungen aufweisen.
  • 2 zeigt ein Ausführungsbeispiel der vorliegenden Erfindung bei einem Verfahren, dem Verfahren 200 zum Steuern der SMM Codebereichszugriffe. In dem Block 210 wird ein Speicherzugriff, beispielsweise aufgrund des Nolens, Dekodierens, Ausführens oder dem Versuch des Ausführens eines Schreib- oder Lesebefehls, erkannt. Der Speicherzugriff initiert ein Nachschlagen in einem MTRR zum Bestimmen der Speicherart des zugegriffenen Speicherbereichs.
  • In dem Block 212 wird die Adresse, die dem Speicherzugang in dem Block 210 zugehörig ist, mit der Basisadresse der Basis SMRR unter Verwendung der Maske von dem Masken SMRR, beispielsweise einem Adresskomparator 117 verglichen. Wenn die Adressen nicht übereinstimmen, wird der Zugriff in Block 240 zugelassen. Wenn die Adressen übereinstimmen, wird in dem Block 214 der Statusindikator 111 geprüft um zu bestimmen, ob der Prozessor 110 in dem SMM ist.
  • Von dem Block 214 steuert die Steuerlogik 118 dann, wenn der Prozessor 110 nicht in SMM ist, den Zugriff auf den Abbruchbereich, beispielsweise durch Ersetzen des Basisabschnitts der Adresse, die dem Speicherzugriff zugehörig ist, mit der Abbruchadresse. In dem Block 222 ordnet die Steuerlogik 119 einen nicht-pufferbaren Speichertyp dem Speicherzugriff zu. In dem Block 240 wird der Zugriff zugelassen.
  • Von dem Block 214 wird sodann in dem Block 230 dann, wenn der Prozessor in SMM ist, der Speichertyp von der Basis SMRR dem Speicherzugriff zugewiesen. In dem Block 240 wird der Zugriff zugelassen.
  • Innerhalb des Schutzbereiches der vorliegenden Erfindung liegt es, dass das Verfahren 200 in einer anderen Weise mit einem gleichzeitigen Ausführen des dargestellten Blocks, unter Verzicht auf die dargestellten Blöcke, mit Hinzufügung von zusätzlichen Blöcken oder mit einer Kombination oder einer Umordnung, Kombination, Weglassen oder zusätzlichen Blöcken ausgeführt wird.
  • Der Prozessor 110 oder jeder andere Prozessor oder Komponente, die nach einem Ausführungsbeispiel der vorliegenden Erfindung ausgebildet ist, kann in verschiedenen Stufen von der Herstellung über die Simulation zur Fabrikation ausgestaltet sein. Daten, die eine Ausgestaltung repräsentieren, können die Ausgestaltung in einer Anzahl von Weisen repräsentieren. Zunächst kann, wie es bei Situationen nützlich ist, die Hardware repräsentiert unter Verwendung einer Hardwarebeschreibungssprache oder einer anderen funktionalen Beschreibungssprache sein. Zusätzlich oder alternativ kann ein Schaltungsebenenmodul mit logischen und/oder Transistorgattern auf denselben Stufen des Designprozesses erzeugt sein. Weiter erreichen die meisten Ausgestaltungen auf einer Stufe eine Ebene, bei der sie moduliert werden können mit Daten, die die physikalische Anordnung von verschiedenen Geräten repräsentieren kann. In dem Fall, in dem übliche Halbleiterfabrikationstechniken verwendet werden, können die Daten, die das Geräteanordnungsmodell repräsentieren, die Daten sein, die das Vorhandensein oder das Fehlen verschiedener Merkmale unterschiedlicher Maskenebenen für Masken, die zum Erzeugen einer integrierten Schaltung verwendet werden, sein.
  • Bei jeder Repräsentation der Ausgestaltung können Daten jeder Form eines maschinenlesbaren Mediums gespeichert sein. Eine optische oder elektrische Welle, die moduliert ist oder anders erzeugt worden ist zum Übertragen einer solchen Information, ein Speicher oder ein magnetisches oder optisches Speichermedium, etwa eine Platte, können das maschinenlesbare Medium sein. Jede dieser Medien können die Ausbildung „tragen" oder „angeben" oder andere Information, die bei einem Ausführungsbeispiel der vorliegenden Erfindung verwendet wird, etwa die Befehle in einer Fehlerentdeckungsroutine. Wenn eine elektrische Trägerwelle, die die Information angibt oder trägt, übertragen wird, ein einem Ausmaß, das ein Kopieren, Puffer oder erneutes Übertragen des elektrischen Signals durchgeführt wird, wird eine neue Kopie erstellt. Die Aktionen des Kommunikationsproviders oder eines Netzwerkproviders kann so das Erstellen von Kopien eines Gegenstands, etwa einer Trägerwelle, die Techniken der vorliegenden Erfindung verwirklichen.
  • Es werden daher Techniken zum Steuern der SMM Codebereichszugriffe offenbart. Obwohl verschiedene Ausführungsbeispiele beschrieben und in den beiliegenden Zeichnungen gezeigt sind, versteht es sich, dass die Ausführungsbeispiele lediglich illustrativ sind und die Breite der Erfindung einschränken sollen und dass die Erfindung nicht auf bestimmte Konstruktionen und Anordnungen, die gezeigt und beschrieben worden sind, begrenzt ist, es sind verschiedene andere Modifikationen für den Fachmann, der diese Offenbarung liest, zugänglich. In einem Bereich der Technologie wie diesem hier, in dem das Wachstum schnell ist und weitere Fortschritte nicht einfach vorhersehbar sind, können die offenbarten Ausführungsbeispiele geeignet modifizierbar sein in der Anordnung und in den Einzelheiten, wie dies möglich wird durch den technischen Fortschritt ohne sich von den Grundprinzipien der vorliegenden Erfindung oder aus dem Schutzbereich der beiliegenden Ansprüche zu entfernen.
  • ZUSAMMENFASSUNG
  • Vorrichtungen und Verfahren zum Steuern von SMM Codebereichszugriffen werden offenbart. In einem Ausführungsbeispiel weist eine Vorrichtung einen Statusindikator, einen Basisspeicherort und einen Abbruchspeicherort auf. Der Statusindikator gibt an, ob die Vorrichtung in dem SMM arbeitet. Der Basisspeicherort dient zum Speichern einer Basisadresse und der Abbruchspeicherort dient zum Speichern einer Abbruchadresse. Die Basisadresse dient zum Angeben eines ersten Speicheradressbereichs, unter dem auf den SMM Code zuzugreifen ist. Die Abbruchadresse dient zum Angeben eines zweiten Speicheradressbereichs, in dem Adressen des ersten Speicheradressbereichs zu steuern sind, wenn die Vorrichtung nicht in dem SMM arbeitet.

Claims (20)

  1. Eine Vorrichtung mit: einem Statusindikator zum Angeben, ob die Vorrichtung in einem Systemmanagementmodus arbeitet; einem Basisspeicherort zum Speichern einer Basisadresse, die zum Angeben eines ersten Speicheradressbereichs dient, unter der auf den Systemmanagementcode zugegriffen werden kann; einem Abbruchspeicherort zum Speichern einer Abbruchadresse, die zum Angeben eines zweiten Speicheradressbereichs dient, auf den Zugriffe auf den ersten Speicheradressbereich zu steuern sind, wenn die Vorrichtung nicht in dem Systemmanagementmodus arbeitet.
  2. Die Vorrichtung nach Anspruch 1, weiter mit einer Steuerlogik zum Steuern erster Speicheradressbereichszugriffe auf den zweiten Speicheradressbereich, wenn die Vorrichtung nicht in dem Systemmanagementmodus arbeitet.
  3. Die Vorrichtung nach Anspruch 1, weiter mit einem Speichertypspeicherort zum Speichern eines Speichertyps, der einem Zugriff auf den ersten Speicheradressbereich zuzuweisen ist.
  4. Die Vorrichtung nach Anspruch 1, weiter mit einer Steuerlogik zum Zuordnen eines nicht-pufferbaren Speichertyps für Zugriffe auf den zweiten Speicheradressbereich.
  5. Die Vorrichtung nach Anspruch 1, weiter mit einem Komparator zum Vergleichen der Basisadresse mit einer dem Speicherzugriff zugehörigen Adresse.
  6. Die Vorrichtung nach Anspruch 5, weiter mit einem Maskenspeicherort zum Speichern einer Maske zum Angeben von Adressbits, die von dem Komparator zu maskieren sind.
  7. Ein Verfahren mit: Erkennen einer Speicherzugriffsanordnung; und Steuern des Speicherzugriffs auf einen Abbruchcodebereich, wenn der Zugriff auf einen Systemmanagementcodebereich erfolgt und die Speicherzugriffsanforderung nicht in einem Systemmanagementmodus erfolgt.
  8. Das Verfahren nach Anspruch 7, weiter mit Vergleichen einer Adresse, die einem Speicherzugriff zugehörig ist mit einer Basisadresse, um zu bestimmen, ob der Zugriff zu dem Systemmanagementcodebereich erfolgt.
  9. Das Verfahren nach Anspruch 8, weiter mit Lesen der Basisadresse von einem Basisadressspeicherort.
  10. Das Verfahren nach Anspruch 8, wobei das Vergleichen der Adresse, die der Speicheradresse zugeordnet ist, mit der Basisadresse weiter das Markieren von ausgewählten Bits der Basisadresse einschließt.
  11. Das Verfahren nach Anspruch 10, weiter mit dem Beinhalten des Lesens eines Maskenspeicherorts zum Bestimmen, welche Bits zum Maskieren ausgewählt sind.
  12. Das Verfahren nach Anspruch 7, weiter mit: Lesen eines Speichertyps von einem Speichertypspeicherort; und Zuordnen des Speichertyps zu dem Zugriff, wenn der Zugriff auf den Systemmanagementcodebereich erfolgt und die Speicherzugriffsanforderung in dem Systemmanagementmodus erfolgt.
  13. Das Verfahren nach Anspruch 7, weiter mit dem Zuordnen eines nicht-pufferbaren Speichertyps zu dem Zugriff, wenn der Zugriff auf den Systemmanagementcodebereich erfolgt und die Speicherzugriffsanforderung nicht in dem Systemmanagementmodus erfolgt.
  14. Das Verfahren nach Anspruch 7, weiter mit dem Bestimmen, ob der Zugriff in dem Systemmanagementmodus durch Prüfen eines Statusindikators ausgeführt wird.
  15. Das Verfahren nach Anspruch 7, wobei das Steuern des Speicherzugriffs auf einen Abbruchcodebereich das Ersetzen eines Teiles einer Adresse, die dem Speicherzugriff zugehörig ist, durch eine Abbruchadresse einschließt.
  16. Das Verfahren nach Anspruch 15, weiter mit dem Lesen einer Abbruchadresse aus einem Abbruchadressspeicherort.
  17. Das Verfahren nach Anspruch 7, weiter mit dem Erlauben eines Zugriffs zum dem Systemmanagementcodebereich, wenn die Speicherzugriffsanforderung in dem Systemmanagementmodus durchgeführt wird.
  18. Ein System mit: einem dynamischen Speicher mit wahlfreiem Zugriff; und einem Prozessor, der aufweist: einen Statusindikator zum Angeben, ob der Prozessor in einem Systemmanagementmodus arbeitet; einem Basisspeicherort zum Speichern einer Basisadresse, wobei die Basisadresse dazu dient, einen ersten Speicheradressbereich zu speichern, unter dem auf den Systemmanagementcode zuzugreifen ist; einen Abbruchspeicherort zum Speichern einer Abbruchadresse, unter der die Abbruchadresse einen zweiten Speicheradressbereich angibt, auf den Zugriffe zu dem ersten Speicheradressbereich zu steuern sind, wenn der Prozessor nicht in dem Systemmanagementmodus arbeitet.
  19. Das System nach Anspruch 18, wobei der dynamische Speicher mit wahlfreiem Zugriff den Systemmanagementcode speichert.
  20. Das System nach Anspruch 18, wobei der dynamische Speicher mit wahlfreiem Zugriff ein Steuerprogramm zum Handhaben von Zugriffen auf den ersten Speicherbereich dann, wenn der Prozessor nicht in dem Systemmanagementmodus arbeitet, ist.
DE112006003132T 2005-12-30 2006-12-18 Codebereichszugriffe eines Steuerungssystemmanagements Ceased DE112006003132T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/322,756 2005-12-30
US11/322,756 US8683158B2 (en) 2005-12-30 2005-12-30 Steering system management code region accesses
PCT/US2006/048556 WO2007078959A2 (en) 2005-12-30 2006-12-18 Steering system management code region accesses

Publications (1)

Publication Number Publication Date
DE112006003132T5 true DE112006003132T5 (de) 2008-09-25

Family

ID=38110327

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112006003132T Ceased DE112006003132T5 (de) 2005-12-30 2006-12-18 Codebereichszugriffe eines Steuerungssystemmanagements

Country Status (4)

Country Link
US (1) US8683158B2 (de)
CN (1) CN101351775B (de)
DE (1) DE112006003132T5 (de)
WO (1) WO2007078959A2 (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8683158B2 (en) 2005-12-30 2014-03-25 Intel Corporation Steering system management code region accesses
US20110131381A1 (en) * 2009-11-27 2011-06-02 Advanced Micro Devices, Inc. Cache scratch-pad and method therefor
US20120036308A1 (en) * 2010-08-06 2012-02-09 Swanson Robert C Supporting a secure readable memory region for pre-boot and secure mode operations
US9448867B2 (en) * 2011-12-31 2016-09-20 Intel Corporation Processor that detects when system management mode attempts to reach program code outside of protected space
US20210026950A1 (en) * 2016-03-07 2021-01-28 Crowdstrike, Inc. Hypervisor-based redirection of system calls and interrupt-based task offloading

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62126448A (ja) 1985-11-27 1987-06-08 Fuji Electric Co Ltd メモリの管理・保護方式
US5063496A (en) * 1988-06-01 1991-11-05 International Business Machines Corporation Signaling attempted transfer to protected entry point bios routine
US5475829A (en) * 1993-03-22 1995-12-12 Compaq Computer Corp. Computer system which overrides write protection status during execution in system management mode
US5513337A (en) 1994-05-25 1996-04-30 Intel Corporation System for protecting unauthorized memory accesses by comparing base memory address with mask bits and having attribute bits for identifying access operational mode and type
JP2634147B2 (ja) 1994-09-16 1997-07-23 インターナショナル・ビジネス・マシーンズ・コーポレイション コンピュータシステム、キャッシュヒットの判定方法
US6093213A (en) * 1995-10-06 2000-07-25 Advanced Micro Devices, Inc. Flexible implementation of a system management mode (SMM) in a processor
US5909696A (en) 1996-06-04 1999-06-01 Intel Corporation Method and apparatus for caching system management mode information with other information
US5729760A (en) 1996-06-21 1998-03-17 Intel Corporation System for providing first type access to register if processor in first mode and second type access to register if processor not in first mode
US6081664A (en) * 1996-09-30 2000-06-27 Intel Corporation Method for monitoring a BIOS
JP3082701B2 (ja) 1997-03-14 2000-08-28 日本電気株式会社 メモリ保護装置およびメモリ保護方法
US6044478A (en) * 1997-05-30 2000-03-28 National Semiconductor Corporation Cache with finely granular locked-down regions
US6192455B1 (en) 1998-03-30 2001-02-20 Intel Corporation Apparatus and method for preventing access to SMRAM space through AGP addressing
US6711653B1 (en) * 2000-03-30 2004-03-23 Intel Corporation Flexible mechanism for enforcing coherency among caching structures
US6745296B2 (en) * 2001-04-18 2004-06-01 Phoenix Technologies, Ltd. System and method for providing cacheable smram
US7149854B2 (en) * 2001-05-10 2006-12-12 Advanced Micro Devices, Inc. External locking mechanism for personal computer memory locations
US20030014667A1 (en) 2001-07-16 2003-01-16 Andrei Kolichtchak Buffer overflow attack detection and suppression
US20060036830A1 (en) * 2004-07-31 2006-02-16 Dinechin Christophe De Method for monitoring access to virtual memory pages
ES2310853T3 (es) 2004-11-04 2009-01-16 Biomerieux Peptidos citrulinados derivados de la fibrina reconocidos por autoanticuerpos especificos de la poliartritis reumatoide y usos de los mismos.
US7748037B2 (en) * 2005-09-22 2010-06-29 Intel Corporation Validating a memory type modification attempt
US8683158B2 (en) 2005-12-30 2014-03-25 Intel Corporation Steering system management code region accesses

Also Published As

Publication number Publication date
WO2007078959A2 (en) 2007-07-12
US20070156978A1 (en) 2007-07-05
CN101351775A (zh) 2009-01-21
WO2007078959A3 (en) 2007-12-21
CN101351775B (zh) 2011-04-13
US8683158B2 (en) 2014-03-25

Similar Documents

Publication Publication Date Title
DE112005002304B4 (de) Adreßumsetzung für Eingabe/Ausgabe- Vorrichtungen mittels hierarchischer Umsetzungstabellen
DE112005002298B4 (de) Leistungssteigerung einer Adreßübersetzung unter Verwendung von Übersetzungstabellen, die große Adreßräume umfassen
DE112005002405B4 (de) Fehlerverarbeitung für Direktspeicherzugriffs-Adreßübersetzung
DE102006061939B4 (de) Verfahren und Vorrichtung zum Zugriff auf eine speicherabgebildete Vorrichtung durch einen Gast
DE102007062744B4 (de) Guest-Host-Adressübersetzung für den Zugriff von Geräten auf einen Speicher in einem partitionierten System
DE112005002328T5 (de) Cachespeicherungsunterstützung für Direktspeicherzugriffsadreßübersetzung
DE10297433B4 (de) Speicherverwaltungseinheit, Verfahren zum Bereitstellen einer Speicherzugriffssicherheit auf der Basis einer linearen Adresse und Prozessor
DE112009000344B4 (de) Zugriffsrechte auf eine Speicher-Map
DE69715203T2 (de) Ein Datenverarbeitungssystem mit cc-NUMA (cache coherent, non-uniform memory access) Architektur und im lokalen Speicher enthaltenem Cache-Speicher für Fernzugriff
DE69732181T2 (de) Verfahren und gerät zum zwischenspeichern von systemverwaltungsinformationen mit anderen informationen
DE102011076894B4 (de) Persistenter Speicher für einen Hauptspeicher eines Prozessors
CN105431858B (zh) 安全特权等级执行和访问保护
DE68923863T2 (de) Ein-/Ausgabecachespeicherung.
DE112007001988T5 (de) Gemeinsames Nutzen von Informationen durch Gäste in einer Virtuelle-Maschine-Umgebung
DE112006002237T5 (de) Verfahren zur selbstinitiierenden Synchronisierung in einem Computersystem
DE102014014076A1 (de) Reduzierte Adressenkonvertierung mit mehreren Seitengrößen
DE112007001714T5 (de) Virtualisieren von Leistungszählern
DE102006015106A1 (de) Bereitstellen eines erweiterten Speicherschutzes
DE60025788T2 (de) Flexibles Mehrzweck-Ein/Ausgabesystem
DE112006003132T5 (de) Codebereichszugriffe eines Steuerungssystemmanagements
EP2807558A1 (de) Speichercontroller zur bereitstellung mehrerer definierter bereiche eines massenspeichermediums als unabhängige massenspeicher an einen master-betriebssystem - kern zur exklusiven bereitstellung an virutelle maschinen
DE10196440T5 (de) Steuern des Zugriffs auf mehrere isolierte Speicher in einer isolierten Ausführungsumgebung
DE112007003206T5 (de) Neukonfigurieren eines sicheren Systems
DE10297494T5 (de) System und Verfahren zum Behandeln von Gerätezugriffen auf einen Speicher mit erhöhter Speicherzugriffssicherheit
KR20230017832A (ko) Tag 체킹 장치 및 방법

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8131 Rejection