#[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 · Source§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
impl Copy for ExceptionVector
impl StructuralPartialEq for ExceptionVector
Auto Trait Implementations§
impl Freeze for ExceptionVector
impl RefUnwindSafe for ExceptionVector
impl Send for ExceptionVector
impl Sync for ExceptionVector
impl Unpin for ExceptionVector
impl UnwindSafe for ExceptionVector
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more