Enum x86_64::structures::idt::ExceptionVector
source · #[non_exhaustive]#[repr(u8)]pub enum ExceptionVector {
Show 23 variants
Division = 0,
Debug = 1,
NonMaskableInterrupt = 2,
Breakpoint = 3,
Overflow = 4,
BoundRange = 5,
InvalidOpcode = 6,
DeviceNotAvailable = 7,
Double = 8,
InvalidTss = 10,
SegmentNotPresent = 11,
Stack = 12,
GeneralProtection = 13,
Page = 14,
X87FloatingPoint = 16,
AlignmentCheck = 17,
MachineCheck = 18,
SimdFloatingPoint = 19,
Virtualization = 20,
ControlProtection = 21,
HypervisorInjection = 28,
VmmCommunication = 29,
Security = 30,
}
Expand description
This structure defines the CPU-internal exception vector numbers.
The values are defined by the following manual sections:
- AMD Volume 2: 8.2
- Intel Volume 3A: 6.3.1
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Division = 0
Error during Division
Debug = 1
Debug
NonMaskableInterrupt = 2
Non-Maskable Interrupt
Breakpoint = 3
Breakpoint
Overflow = 4
Overflow
BoundRange = 5
Bound Range Exceeded
InvalidOpcode = 6
Invalid Opcode
DeviceNotAvailable = 7
Device Not Available
Double = 8
Double Fault
InvalidTss = 10
Invalid TSS
SegmentNotPresent = 11
Segment Not Present
Stack = 12
Stack Fault
GeneralProtection = 13
General Protection Fault
Page = 14
Page Fault
X87FloatingPoint = 16
x87 Floating-Point Exception
AlignmentCheck = 17
Alignment Check
MachineCheck = 18
Machine Check
SimdFloatingPoint = 19
SIMD Floating-Point Exception
Virtualization = 20
Virtualization Exception (Intel-only)
ControlProtection = 21
Control Protection Exception
HypervisorInjection = 28
Hypervisor Injection (AMD-only)
VmmCommunication = 29
VMM Communication (AMD-only)
Security = 30
Security Exception
Trait Implementations§
source§impl Clone for ExceptionVector
impl Clone for ExceptionVector
source§fn clone(&self) -> ExceptionVector
fn clone(&self) -> ExceptionVector
Returns a copy of the value. Read more
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for ExceptionVector
impl Debug for ExceptionVector
source§impl PartialEq for ExceptionVector
impl PartialEq for ExceptionVector
source§fn eq(&self, other: &ExceptionVector) -> bool
fn eq(&self, other: &ExceptionVector) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.