@@ -15,9 +15,10 @@ limitations under the License.
1515*/ 
1616
1717use  crate :: interrupt_entry:: { 
18-     _do_excp0,  _do_excp1,  _do_excp2,  _do_excp3,  _do_excp4,  _do_excp5,  _do_excp6,  _do_excp7, 
19-     _do_excp8,  _do_excp9,  _do_excp10,  _do_excp11,  _do_excp12,  _do_excp13,  _do_excp14,  _do_excp15, 
20-     _do_excp16,  _do_excp17,  _do_excp18,  _do_excp19,  _do_excp20,  _do_excp30} ; 
18+     _do_excp0,  _do_excp1,  _do_excp10,  _do_excp11,  _do_excp12,  _do_excp13,  _do_excp14,  _do_excp15, 
19+     _do_excp16,  _do_excp17,  _do_excp18,  _do_excp19,  _do_excp2,  _do_excp20,  _do_excp3,  _do_excp30, 
20+     _do_excp4,  _do_excp5,  _do_excp6,  _do_excp7,  _do_excp8,  _do_excp9, 
21+ } ; 
2122
2223// An entry in the Interrupt Descriptor Table (IDT) 
2324// For reference, see: https://wiki.osdev.org/Interrupt_Descriptor_Table#Structure_on_x86-64 
@@ -36,8 +37,8 @@ impl IdtEntry {
3637    fn  new ( handler :  u64 )  -> Self  { 
3738        Self  { 
3839            offset_low :  ( handler &  0xFFFF )  as  u16 , 
39-             selector :  0x08 ,                               // Kernel Code Segment 
40-             ist :  0 ,                                       // No IST used 
40+             selector :  0x08 ,  // Kernel Code Segment 
41+             ist :  0 ,          // No IST used 
4142            type_attr :  0x8E , 
4243            // 0x8E = 10001110b 
4344            // 1 00 0 1110 
@@ -53,38 +54,38 @@ impl IdtEntry {
5354    } 
5455} 
5556
56- 
5757// The IDT is an array of 256 IDT entries 
5858// (for reference, see: https://wiki.osdev.org/Interrupt_Descriptor_Table#Structure_on_x86-64) 
5959pub ( crate )  static  mut  IDT :  [ IdtEntry ;  256 ]  = unsafe  {  core:: mem:: zeroed ( )  } ; 
6060
6161pub ( crate )  fn  init_idt ( )  { 
62-     set_idt_entry ( 0 ,  _do_excp0) ;      // Divide by zero 
63-     set_idt_entry ( 1 ,  _do_excp1) ;      // Debug 
64-     set_idt_entry ( 2 ,  _do_excp2) ;      // Non-maskable interrupt 
65-     set_idt_entry ( 3 ,  _do_excp3) ;      // Breakpoint 
66-     set_idt_entry ( 4 ,  _do_excp4) ;      // Overflow 
67-     set_idt_entry ( 5 ,  _do_excp5) ;      // Bound Range Exceeded 
68-     set_idt_entry ( 6 ,  _do_excp6) ;      // Invalid Opcode 
69-     set_idt_entry ( 7 ,  _do_excp7) ;      // Device Not Available 
70-     set_idt_entry ( 8 ,  _do_excp8) ;      // Double Fault 
71-     set_idt_entry ( 9 ,  _do_excp9) ;      // Coprocessor Segment Overrun 
72-     set_idt_entry ( 10 ,  _do_excp10) ;    // Invalid TSS 
73-     set_idt_entry ( 11 ,  _do_excp11) ;    // Segment Not Present 
74-     set_idt_entry ( 12 ,  _do_excp12) ;    // Stack-Segment Fault 
75-     set_idt_entry ( 13 ,  _do_excp13) ;    // General Protection Fault 
76-     set_idt_entry ( 14 ,  _do_excp14) ;    // Page Fault 
77-     set_idt_entry ( 15 ,  _do_excp15) ;    // Reserved 
78-     set_idt_entry ( 16 ,  _do_excp16) ;    // x87 Floating-Point Exception 
79-     set_idt_entry ( 17 ,  _do_excp17) ;    // Alignment Check 
80-     set_idt_entry ( 18 ,  _do_excp18) ;    // Machine Check 
81-     set_idt_entry ( 19 ,  _do_excp19) ;    // SIMD Floating-Point Exception 
82-     set_idt_entry ( 20 ,  _do_excp20) ;    // Virtualization Exception 
83-     set_idt_entry ( 30 ,  _do_excp30) ;    // Security Exception 
62+     set_idt_entry ( 0 ,  _do_excp0) ;  // Divide by zero 
63+     set_idt_entry ( 1 ,  _do_excp1) ;  // Debug 
64+     set_idt_entry ( 2 ,  _do_excp2) ;  // Non-maskable interrupt 
65+     set_idt_entry ( 3 ,  _do_excp3) ;  // Breakpoint 
66+     set_idt_entry ( 4 ,  _do_excp4) ;  // Overflow 
67+     set_idt_entry ( 5 ,  _do_excp5) ;  // Bound Range Exceeded 
68+     set_idt_entry ( 6 ,  _do_excp6) ;  // Invalid Opcode 
69+     set_idt_entry ( 7 ,  _do_excp7) ;  // Device Not Available 
70+     set_idt_entry ( 8 ,  _do_excp8) ;  // Double Fault 
71+     set_idt_entry ( 9 ,  _do_excp9) ;  // Coprocessor Segment Overrun 
72+     set_idt_entry ( 10 ,  _do_excp10) ;  // Invalid TSS 
73+     set_idt_entry ( 11 ,  _do_excp11) ;  // Segment Not Present 
74+     set_idt_entry ( 12 ,  _do_excp12) ;  // Stack-Segment Fault 
75+     set_idt_entry ( 13 ,  _do_excp13) ;  // General Protection Fault 
76+     set_idt_entry ( 14 ,  _do_excp14) ;  // Page Fault 
77+     set_idt_entry ( 15 ,  _do_excp15) ;  // Reserved 
78+     set_idt_entry ( 16 ,  _do_excp16) ;  // x87 Floating-Point Exception 
79+     set_idt_entry ( 17 ,  _do_excp17) ;  // Alignment Check 
80+     set_idt_entry ( 18 ,  _do_excp18) ;  // Machine Check 
81+     set_idt_entry ( 19 ,  _do_excp19) ;  // SIMD Floating-Point Exception 
82+     set_idt_entry ( 20 ,  _do_excp20) ;  // Virtualization Exception 
83+     set_idt_entry ( 30 ,  _do_excp30) ;  // Security Exception 
8484} 
8585
8686fn  set_idt_entry ( index :  usize ,  handler :  unsafe  extern  "sysv64"  fn ( ) )  { 
8787    let  handler_addr = handler as  * const  ( )  as  u64 ; 
88-     unsafe  {  IDT [ index]  = IdtEntry :: new ( handler_addr) ;  } 
88+     unsafe  { 
89+         IDT [ index]  = IdtEntry :: new ( handler_addr) ; 
90+     } 
8991} 
90- 
0 commit comments