• Navigation überspringen
  • Zur Navigation
  • Zum Seitenende
Organisationsmenü öffnen Organisationsmenü schließen
Friedrich-Alexander-Universität Lehrstuhl für Informatik 4 (Systemsoftware)
  • FAUZur zentralen FAU Website
  1. Friedrich-Alexander-Universität
  2. Technische Fakultät
  3. Department Informatik
Suche öffnen
  • English
  • Campo
  • StudOn
  • FAUdir
  • Stellenangebote
  • Lageplan
  • Hilfe im Notfall
  1. Friedrich-Alexander-Universität
  2. Technische Fakultät
  3. Department Informatik
Friedrich-Alexander-Universität Lehrstuhl für Informatik 4 (Systemsoftware)
Menu Menu schließen
  • Lehrstuhl
    • Team
    • Aktuelles
    • Kontakt und Anfahrt
    • Leitbild
    • 50-jähriges Jubiläum
    Portal Lehrstuhl
  • Forschung
    • Forschungsbereiche
      • Betriebssysteme
      • Confidential Computing
      • Embedded Systems Software
      • Verteilte Systeme
    • Projekte
      • AIMBOS
      • BALu
      • BFT2Chain
      • DOSS
      • Mirador
      • NEON
      • PAVE
      • ResPECT
      • Watwa
    • Projektkampagnen
      • maRE
    • Seminar
      • Systemsoftware
    Portal Forschung
  • Publikationen
  • Lehre
    • Sommersemester 2025
      • Applied Software Architecture
      • Ausgewählte Kapitel der Systemsoftware
      • Betriebssystemtechnik
      • Projekt angewandte Systemsoftwaretechnik
      • System-Level Programming
      • Systemnahe Programmierung in C
      • Systemprogrammierung 1
      • Verteilte Systeme
    • Wintersemester 2024/25
      • Betriebssysteme
      • Middleware – Cloud Computing
      • Systemprogrammierung 2
      • Verlässliche Echtzeitsysteme
      • Virtuelle Maschinen
      • Web-basierte Systeme
    Portal Lehre
  • Examensarbeiten
  1. Startseite
  2. Extern

Extern

Bereichsnavigation: Lehre
  • Betriebssystemtechnik
    • Vorlesung
      • Folien
      • Glossar
    • Übung
      • Aufgaben
      • Dokumentation
        • Blog
          • Entwicklungsumgebung
            • Assembler Crashkurs
              • C++ Crashkurs
                • 🔗 Testrechnerverwaltung
                • 🔗 Adora-Belle (Helpdesk)
                • Kontakt
              • Evaluation

              Dokumentation

              Classes | Structs | Enumerations | Functions
              IDT Namespace Reference

              "Interrupt Descriptor Table (IDT) More...

              Classes

              union  InterruptDescriptor.__unnamed__
               

              Structs

              struct  InterruptDescriptor
               
              struct  InterruptDescriptor.__unnamed__.__unnamed__
               
              struct  Register
               

              Enumerations

              enum  Gate {
                GATE_TASK = 0x5,
                GATE_INT = 0x6,
                GATE_TRAP = 0x7
              }
               Gate types. More...
               
              enum  GateSize {
                GATE_SIZE_16 = 0,
                GATE_SIZE_32 = 1
              }
               Segment type. More...
               
              enum  DPL {
                DPL_KERNEL = 0,
                DPL_USER = 3
              }
               Descriptor Privilege Level. More...
               

              Functions

              void load ()
               Load the IDT's address and size into the IDT-Register via idtr.
               
              void handle (uint8_t vector, void *handler, enum Gate type=Gate::GATE_INT, enum GateSize size=GateSize::GATE_SIZE_32, enum DPL dpl=DPL::DPL_KERNEL, bool present=true)
               Configure entry point for interrupt handling. More...
               

              Detailed Description

              "Interrupt Descriptor Table (IDT)

              See also
              ISDMv3 6.14 Exception and Interrupt Handling in 64-bit Mode

              Class Documentation

              union IDT::InterruptDescriptor.__unnamed__
              Class Members
              __unnamed__ __unnamed__
              uint16_t flags

              Enumeration Type Documentation

              enum IDT::Gate

              Gate types.

              See also
              ISDMv3 3.5 System Descriptor Types
              Enumerator
              GATE_TASK 

              Task Gate.

              GATE_INT 

              Interrupt Gate.

              GATE_TRAP 

              Trap Gate.

              enum IDT::GateSize

              Segment type.

              See also
              ISDMv3 3.5 System Descriptor Types
              Enumerator
              GATE_SIZE_16 

              16 bit

              GATE_SIZE_32 

              32 / 64 bit

              enum IDT::DPL

              Descriptor Privilege Level.

              Enumerator
              DPL_KERNEL 

              Ring 0 / Kernel mode.

              DPL_USER 

              Ring 3 / User mode.

              Function Documentation

              void IDT::handle ( uint8_t  vector,
              void *  handler,
              enum Gate  type = Gate::GATE_INT,
              enum GateSize  size = GateSize::GATE_SIZE_32,
              enum DPL  dpl = DPL::DPL_KERNEL,
              bool  present = true 
              )

              Configure entry point for interrupt handling.

              The provided entry function ("handler") is required to, as first step, save the registers.

              Parameters
              vectorInterrupt vector number for which the handler is to be set/changed
              handlerLow-level entry point for interrupt handling
              typeGate type (Interrupt, Trap, or Task)
              size16- or 32-bit
              dplPermissions required for enter this interrupt handler (kernel- or user space)
              presentDenotes whether the IDT descriptor is marked as available
              Friedrich-Alexander-Universität
              Erlangen-Nürnberg

              Schlossplatz 4
              91054 Erlangen
              • Impressum
              • Datenschutz
              • Barrierefreiheit
              • Facebook
              • RSS Feed
              • Xing
              Nach oben