1
1
use crate :: ManagedSlice ;
2
2
use core:: alloc:: Allocator ;
3
3
4
- #[ derive( Debug ) ]
4
+ #[ derive( Debug , Clone , Copy ) ]
5
5
pub struct IoApic {
6
6
pub id : u8 ,
7
7
/// The physical address at which to access this I/O APIC.
@@ -10,7 +10,7 @@ pub struct IoApic {
10
10
pub global_system_interrupt_base : u32 ,
11
11
}
12
12
13
- #[ derive( Debug ) ]
13
+ #[ derive( Debug , Clone , Copy ) ]
14
14
pub struct NmiLine {
15
15
pub processor : NmiProcessor ,
16
16
pub line : LocalInterruptLine ,
@@ -59,7 +59,7 @@ pub enum TriggerMode {
59
59
/// models. For example, if a device is connected to ISA IRQ 0 and IOAPIC input 2, an override will
60
60
/// appear mapping source 0 to GSI 2. Currently these will only be created for ISA interrupt
61
61
/// sources.
62
- #[ derive( Debug ) ]
62
+ #[ derive( Debug , Clone , Copy ) ]
63
63
pub struct InterruptSourceOverride {
64
64
pub isa_source : u8 ,
65
65
pub global_system_interrupt : u32 ,
@@ -69,14 +69,14 @@ pub struct InterruptSourceOverride {
69
69
70
70
/// Describes a Global System Interrupt that should be enabled as non-maskable. Any source that is
71
71
/// non-maskable can not be used by devices.
72
- #[ derive( Debug ) ]
72
+ #[ derive( Debug , Clone , Copy ) ]
73
73
pub struct NmiSource {
74
74
pub global_system_interrupt : u32 ,
75
75
pub polarity : Polarity ,
76
76
pub trigger_mode : TriggerMode ,
77
77
}
78
78
79
- #[ derive( Debug ) ]
79
+ #[ derive( Debug , Clone ) ]
80
80
pub struct Apic < ' a , A >
81
81
where
82
82
A : Allocator ,
@@ -116,7 +116,7 @@ where
116
116
}
117
117
}
118
118
119
- #[ derive( Debug ) ]
119
+ #[ derive( Debug , Clone ) ]
120
120
#[ non_exhaustive]
121
121
pub enum InterruptModel < ' a , A >
122
122
where
0 commit comments