From 0fe84ef3250f8222da397ac08247b2c803e51e8e Mon Sep 17 00:00:00 2001 From: Arnau478 Date: Sat, 18 Jun 2022 02:10:52 +0200 Subject: [PATCH] Implemented ISR --- scripts/generate_isrs.sh | 46 +++ scripts/kernel.mk | 3 + src/kernel/arch/i686/isr.asm | 57 ++++ src/kernel/arch/i686/isr.c | 55 ++++ src/kernel/arch/i686/isr.h | 17 + src/kernel/arch/i686/isrs_gen.c | 519 ++++++++++++++++++++++++++++++ src/kernel/arch/i686/isrs_gen.inc | 257 +++++++++++++++ 7 files changed, 954 insertions(+) create mode 100755 scripts/generate_isrs.sh create mode 100644 src/kernel/arch/i686/isr.asm create mode 100644 src/kernel/arch/i686/isr.c create mode 100644 src/kernel/arch/i686/isr.h create mode 100644 src/kernel/arch/i686/isrs_gen.c create mode 100644 src/kernel/arch/i686/isrs_gen.inc diff --git a/scripts/generate_isrs.sh b/scripts/generate_isrs.sh new file mode 100755 index 0000000..636930c --- /dev/null +++ b/scripts/generate_isrs.sh @@ -0,0 +1,46 @@ +#!/usr/bin/bash + +set -e + +if [ $# -le 1 ]; then + echo "Usage: generate_isrs.sh " + exit 1 +fi + +ISRS_GEN_C=$1 +ISRS_GEN_ASM=$2 + +ISRS_WITH_ERROR_CODE="8 10 11 12 13 14 17 21 29 30" + +# C code +echo "// (autogenerated file)" > $ISRS_GEN_C + +echo "#include \"idt.h\"" >> $ISRS_GEN_C +echo "#include \"gdt.h\"" >> $ISRS_GEN_C + +echo "" >> $ISRS_GEN_C + +for i in $(seq 0 255); do + echo "void __attribute__((cdecl)) i686_ISR${i}();" >> $ISRS_GEN_C +done + +echo "" >> $ISRS_GEN_C + +echo "void i686_isr_initialize_gates(){" >> $ISRS_GEN_C + +for i in $(seq 0 255); do + echo " i686_idt_set_gate(${i}, i686_ISR${i}, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT);" >> $ISRS_GEN_C +done + +echo "}" >> $ISRS_GEN_C + +# Asm code +echo "; (autogenerated file)" > $ISRS_GEN_ASM + +for i in $(seq 0 255); do + if echo "$ISRS_WITH_ERROR_CODE" | grep -q "\b${i}\b"; then + echo "ISR_ERRORCODE ${i}" >> $ISRS_GEN_ASM + else + echo "ISR_NOERRORCODE ${i}" >> $ISRS_GEN_ASM + fi +done diff --git a/scripts/kernel.mk b/scripts/kernel.mk index 163b71c..2882877 100644 --- a/scripts/kernel.mk +++ b/scripts/kernel.mk @@ -21,3 +21,6 @@ $(BUILD_DIR)/kernel/asm/%.obj: src/kernel/%.asm $(HEADERS_ASM) @mkdir -p $(@D) @$(TARGET_ASM) $(TARGET_ASMFLAGS) -f elf -o $@ $< @echo -e $(ARROW) "Assembled $<" + +src/kernel/arch/i686/isrs_gen.c src/kernel/arch/i686/isrs_gen.inc: + scripts/generate_isrs.sh $@ diff --git a/src/kernel/arch/i686/isr.asm b/src/kernel/arch/i686/isr.asm new file mode 100644 index 0000000..db8c288 --- /dev/null +++ b/src/kernel/arch/i686/isr.asm @@ -0,0 +1,57 @@ +[bits 32] + +extern i686_isr_handler + +%macro ISR_NOERRORCODE 1 + +global i686_ISR%1 +i686_ISR%1: + push 0 ; No error code + push %1 ; Interrupt number + jmp isr_common + +%endmacro + +%macro ISR_ERRORCODE 1 + +global i686_ISR%1 +i686_ISR%1: + ; Error code pushed by the CPU + push %1 ; Interrupt number + jmp isr_common + +%endmacro + +%include "src/kernel/arch/i686/isrs_gen.inc" + +isr_common: + pusha + + ; Push ds + xor eax, eax + mov ax, ds + push eax + + ; Ensure that we are on kernel mode + mov ax, 0x10 + mov ds, ax + mov es, ax + mov fs, ax + mov gs, ax + + ; Call C handler + push esp + call i686_isr_handler + add esp, 4 + + ; Restore old segment + pop eax + mov ds, ax + mov es, ax + mov fs, ax + mov gs, ax + + ; Return + popa + add esp, 8 + iret diff --git a/src/kernel/arch/i686/isr.c b/src/kernel/arch/i686/isr.c new file mode 100644 index 0000000..2279fc8 --- /dev/null +++ b/src/kernel/arch/i686/isr.c @@ -0,0 +1,55 @@ +#include "isr.h" +#include "../../stdio.h" + +static isr_handler g_isr_handlers[256]; + +static const char *const g_exceptions[] = { + "Divide by zero error", + "Debug", + "Non-maskable interrupt", + "Breakpoint", + "Overflow", + "Bound range exceeded", + "Invalid opcode", + "Device not available", + "Double fault", + "Coprocessor segment overrun", + "Invalid TTS", + "Segment not present", + "Stack-segment fault", + "General protection fault", + "Page fault", + "", + "x87 floating point exception", + "Alignment check", + "Machine check", + "SIMD floating-point exception", + "Virtualization exception", + "Control protection exception", + "", + "", + "", + "", + "", + "", + "Hypervisor injection exception", + "VMM communication exception", + "Security exception", + "" +}; + +void i686_isr_initialize_gates(); + +void i686_isr_initialize(){ + i686_isr_initialize_gates(); + + // Remap PIC +} + +void i686_isr_handler(registers *regs){ + printf("Interrupt %i\n", regs->interrupt); +} + +void i686_isr_register_handler(int interrupt, isr_handler handler){ + g_isr_handlers[interrupt] = handler; +} diff --git a/src/kernel/arch/i686/isr.h b/src/kernel/arch/i686/isr.h new file mode 100644 index 0000000..a9ed062 --- /dev/null +++ b/src/kernel/arch/i686/isr.h @@ -0,0 +1,17 @@ +#pragma once + +#include + +#define IRQ(n) ((n)+32) + +typedef struct{ + uint32_t ds; + uint32_t edi, esi, ebp, kern_esp, ebx, edx, ecx, eax; + uint32_t interrupt, error; + uint32_t eip, cs, eflags, esp, ss; +} __attribute__((packed)) registers; + +typedef void (*isr_handler)(registers regs); + +void i686_isr_initialize(); +void i686_isr_register_handler(int interrupt, isr_handler handler); diff --git a/src/kernel/arch/i686/isrs_gen.c b/src/kernel/arch/i686/isrs_gen.c new file mode 100644 index 0000000..51ce4d1 --- /dev/null +++ b/src/kernel/arch/i686/isrs_gen.c @@ -0,0 +1,519 @@ +// (autogenerated file) +#include "idt.h" +#include "gdt.h" + +void __attribute__((cdecl)) i686_ISR0(); +void __attribute__((cdecl)) i686_ISR1(); +void __attribute__((cdecl)) i686_ISR2(); +void __attribute__((cdecl)) i686_ISR3(); +void __attribute__((cdecl)) i686_ISR4(); +void __attribute__((cdecl)) i686_ISR5(); +void __attribute__((cdecl)) i686_ISR6(); +void __attribute__((cdecl)) i686_ISR7(); +void __attribute__((cdecl)) i686_ISR8(); +void __attribute__((cdecl)) i686_ISR9(); +void __attribute__((cdecl)) i686_ISR10(); +void __attribute__((cdecl)) i686_ISR11(); +void __attribute__((cdecl)) i686_ISR12(); +void __attribute__((cdecl)) i686_ISR13(); +void __attribute__((cdecl)) i686_ISR14(); +void __attribute__((cdecl)) i686_ISR15(); +void __attribute__((cdecl)) i686_ISR16(); +void __attribute__((cdecl)) i686_ISR17(); +void __attribute__((cdecl)) i686_ISR18(); +void __attribute__((cdecl)) i686_ISR19(); +void __attribute__((cdecl)) i686_ISR20(); +void __attribute__((cdecl)) i686_ISR21(); +void __attribute__((cdecl)) i686_ISR22(); +void __attribute__((cdecl)) i686_ISR23(); +void __attribute__((cdecl)) i686_ISR24(); +void __attribute__((cdecl)) i686_ISR25(); +void __attribute__((cdecl)) i686_ISR26(); +void __attribute__((cdecl)) i686_ISR27(); +void __attribute__((cdecl)) i686_ISR28(); +void __attribute__((cdecl)) i686_ISR29(); +void __attribute__((cdecl)) i686_ISR30(); +void __attribute__((cdecl)) i686_ISR31(); +void __attribute__((cdecl)) i686_ISR32(); +void __attribute__((cdecl)) i686_ISR33(); +void __attribute__((cdecl)) i686_ISR34(); +void __attribute__((cdecl)) i686_ISR35(); +void __attribute__((cdecl)) i686_ISR36(); +void __attribute__((cdecl)) i686_ISR37(); +void __attribute__((cdecl)) i686_ISR38(); +void __attribute__((cdecl)) i686_ISR39(); +void __attribute__((cdecl)) i686_ISR40(); +void __attribute__((cdecl)) i686_ISR41(); +void __attribute__((cdecl)) i686_ISR42(); +void __attribute__((cdecl)) i686_ISR43(); +void __attribute__((cdecl)) i686_ISR44(); +void __attribute__((cdecl)) i686_ISR45(); +void __attribute__((cdecl)) i686_ISR46(); +void __attribute__((cdecl)) i686_ISR47(); +void __attribute__((cdecl)) i686_ISR48(); +void __attribute__((cdecl)) i686_ISR49(); +void __attribute__((cdecl)) i686_ISR50(); +void __attribute__((cdecl)) i686_ISR51(); +void __attribute__((cdecl)) i686_ISR52(); +void __attribute__((cdecl)) i686_ISR53(); +void __attribute__((cdecl)) i686_ISR54(); +void __attribute__((cdecl)) i686_ISR55(); +void __attribute__((cdecl)) i686_ISR56(); +void __attribute__((cdecl)) i686_ISR57(); +void __attribute__((cdecl)) i686_ISR58(); +void __attribute__((cdecl)) i686_ISR59(); +void __attribute__((cdecl)) i686_ISR60(); +void __attribute__((cdecl)) i686_ISR61(); +void __attribute__((cdecl)) i686_ISR62(); +void __attribute__((cdecl)) i686_ISR63(); +void __attribute__((cdecl)) i686_ISR64(); +void __attribute__((cdecl)) i686_ISR65(); +void __attribute__((cdecl)) i686_ISR66(); +void __attribute__((cdecl)) i686_ISR67(); +void __attribute__((cdecl)) i686_ISR68(); +void __attribute__((cdecl)) i686_ISR69(); +void __attribute__((cdecl)) i686_ISR70(); +void __attribute__((cdecl)) i686_ISR71(); +void __attribute__((cdecl)) i686_ISR72(); +void __attribute__((cdecl)) i686_ISR73(); +void __attribute__((cdecl)) i686_ISR74(); +void __attribute__((cdecl)) i686_ISR75(); +void __attribute__((cdecl)) i686_ISR76(); +void __attribute__((cdecl)) i686_ISR77(); +void __attribute__((cdecl)) i686_ISR78(); +void __attribute__((cdecl)) i686_ISR79(); +void __attribute__((cdecl)) i686_ISR80(); +void __attribute__((cdecl)) i686_ISR81(); +void __attribute__((cdecl)) i686_ISR82(); +void __attribute__((cdecl)) i686_ISR83(); +void __attribute__((cdecl)) i686_ISR84(); +void __attribute__((cdecl)) i686_ISR85(); +void __attribute__((cdecl)) i686_ISR86(); +void __attribute__((cdecl)) i686_ISR87(); +void __attribute__((cdecl)) i686_ISR88(); +void __attribute__((cdecl)) i686_ISR89(); +void __attribute__((cdecl)) i686_ISR90(); +void __attribute__((cdecl)) i686_ISR91(); +void __attribute__((cdecl)) i686_ISR92(); +void __attribute__((cdecl)) i686_ISR93(); +void __attribute__((cdecl)) i686_ISR94(); +void __attribute__((cdecl)) i686_ISR95(); +void __attribute__((cdecl)) i686_ISR96(); +void __attribute__((cdecl)) i686_ISR97(); +void __attribute__((cdecl)) i686_ISR98(); +void __attribute__((cdecl)) i686_ISR99(); +void __attribute__((cdecl)) i686_ISR100(); +void __attribute__((cdecl)) i686_ISR101(); +void __attribute__((cdecl)) i686_ISR102(); +void __attribute__((cdecl)) i686_ISR103(); +void __attribute__((cdecl)) i686_ISR104(); +void __attribute__((cdecl)) i686_ISR105(); +void __attribute__((cdecl)) i686_ISR106(); +void __attribute__((cdecl)) i686_ISR107(); +void __attribute__((cdecl)) i686_ISR108(); +void __attribute__((cdecl)) i686_ISR109(); +void __attribute__((cdecl)) i686_ISR110(); +void __attribute__((cdecl)) i686_ISR111(); +void __attribute__((cdecl)) i686_ISR112(); +void __attribute__((cdecl)) i686_ISR113(); +void __attribute__((cdecl)) i686_ISR114(); +void __attribute__((cdecl)) i686_ISR115(); +void __attribute__((cdecl)) i686_ISR116(); +void __attribute__((cdecl)) i686_ISR117(); +void __attribute__((cdecl)) i686_ISR118(); +void __attribute__((cdecl)) i686_ISR119(); +void __attribute__((cdecl)) i686_ISR120(); +void __attribute__((cdecl)) i686_ISR121(); +void __attribute__((cdecl)) i686_ISR122(); +void __attribute__((cdecl)) i686_ISR123(); +void __attribute__((cdecl)) i686_ISR124(); +void __attribute__((cdecl)) i686_ISR125(); +void __attribute__((cdecl)) i686_ISR126(); +void __attribute__((cdecl)) i686_ISR127(); +void __attribute__((cdecl)) i686_ISR128(); +void __attribute__((cdecl)) i686_ISR129(); +void __attribute__((cdecl)) i686_ISR130(); +void __attribute__((cdecl)) i686_ISR131(); +void __attribute__((cdecl)) i686_ISR132(); +void __attribute__((cdecl)) i686_ISR133(); +void __attribute__((cdecl)) i686_ISR134(); +void __attribute__((cdecl)) i686_ISR135(); +void __attribute__((cdecl)) i686_ISR136(); +void __attribute__((cdecl)) i686_ISR137(); +void __attribute__((cdecl)) i686_ISR138(); +void __attribute__((cdecl)) i686_ISR139(); +void __attribute__((cdecl)) i686_ISR140(); +void __attribute__((cdecl)) i686_ISR141(); +void __attribute__((cdecl)) i686_ISR142(); +void __attribute__((cdecl)) i686_ISR143(); +void __attribute__((cdecl)) i686_ISR144(); +void __attribute__((cdecl)) i686_ISR145(); +void __attribute__((cdecl)) i686_ISR146(); +void __attribute__((cdecl)) i686_ISR147(); +void __attribute__((cdecl)) i686_ISR148(); +void __attribute__((cdecl)) i686_ISR149(); +void __attribute__((cdecl)) i686_ISR150(); +void __attribute__((cdecl)) i686_ISR151(); +void __attribute__((cdecl)) i686_ISR152(); +void __attribute__((cdecl)) i686_ISR153(); +void __attribute__((cdecl)) i686_ISR154(); +void __attribute__((cdecl)) i686_ISR155(); +void __attribute__((cdecl)) i686_ISR156(); +void __attribute__((cdecl)) i686_ISR157(); +void __attribute__((cdecl)) i686_ISR158(); +void __attribute__((cdecl)) i686_ISR159(); +void __attribute__((cdecl)) i686_ISR160(); +void __attribute__((cdecl)) i686_ISR161(); +void __attribute__((cdecl)) i686_ISR162(); +void __attribute__((cdecl)) i686_ISR163(); +void __attribute__((cdecl)) i686_ISR164(); +void __attribute__((cdecl)) i686_ISR165(); +void __attribute__((cdecl)) i686_ISR166(); +void __attribute__((cdecl)) i686_ISR167(); +void __attribute__((cdecl)) i686_ISR168(); +void __attribute__((cdecl)) i686_ISR169(); +void __attribute__((cdecl)) i686_ISR170(); +void __attribute__((cdecl)) i686_ISR171(); +void __attribute__((cdecl)) i686_ISR172(); +void __attribute__((cdecl)) i686_ISR173(); +void __attribute__((cdecl)) i686_ISR174(); +void __attribute__((cdecl)) i686_ISR175(); +void __attribute__((cdecl)) i686_ISR176(); +void __attribute__((cdecl)) i686_ISR177(); +void __attribute__((cdecl)) i686_ISR178(); +void __attribute__((cdecl)) i686_ISR179(); +void __attribute__((cdecl)) i686_ISR180(); +void __attribute__((cdecl)) i686_ISR181(); +void __attribute__((cdecl)) i686_ISR182(); +void __attribute__((cdecl)) i686_ISR183(); +void __attribute__((cdecl)) i686_ISR184(); +void __attribute__((cdecl)) i686_ISR185(); +void __attribute__((cdecl)) i686_ISR186(); +void __attribute__((cdecl)) i686_ISR187(); +void __attribute__((cdecl)) i686_ISR188(); +void __attribute__((cdecl)) i686_ISR189(); +void __attribute__((cdecl)) i686_ISR190(); +void __attribute__((cdecl)) i686_ISR191(); +void __attribute__((cdecl)) i686_ISR192(); +void __attribute__((cdecl)) i686_ISR193(); +void __attribute__((cdecl)) i686_ISR194(); +void __attribute__((cdecl)) i686_ISR195(); +void __attribute__((cdecl)) i686_ISR196(); +void __attribute__((cdecl)) i686_ISR197(); +void __attribute__((cdecl)) i686_ISR198(); +void __attribute__((cdecl)) i686_ISR199(); +void __attribute__((cdecl)) i686_ISR200(); +void __attribute__((cdecl)) i686_ISR201(); +void __attribute__((cdecl)) i686_ISR202(); +void __attribute__((cdecl)) i686_ISR203(); +void __attribute__((cdecl)) i686_ISR204(); +void __attribute__((cdecl)) i686_ISR205(); +void __attribute__((cdecl)) i686_ISR206(); +void __attribute__((cdecl)) i686_ISR207(); +void __attribute__((cdecl)) i686_ISR208(); +void __attribute__((cdecl)) i686_ISR209(); +void __attribute__((cdecl)) i686_ISR210(); +void __attribute__((cdecl)) i686_ISR211(); +void __attribute__((cdecl)) i686_ISR212(); +void __attribute__((cdecl)) i686_ISR213(); +void __attribute__((cdecl)) i686_ISR214(); +void __attribute__((cdecl)) i686_ISR215(); +void __attribute__((cdecl)) i686_ISR216(); +void __attribute__((cdecl)) i686_ISR217(); +void __attribute__((cdecl)) i686_ISR218(); +void __attribute__((cdecl)) i686_ISR219(); +void __attribute__((cdecl)) i686_ISR220(); +void __attribute__((cdecl)) i686_ISR221(); +void __attribute__((cdecl)) i686_ISR222(); +void __attribute__((cdecl)) i686_ISR223(); +void __attribute__((cdecl)) i686_ISR224(); +void __attribute__((cdecl)) i686_ISR225(); +void __attribute__((cdecl)) i686_ISR226(); +void __attribute__((cdecl)) i686_ISR227(); +void __attribute__((cdecl)) i686_ISR228(); +void __attribute__((cdecl)) i686_ISR229(); +void __attribute__((cdecl)) i686_ISR230(); +void __attribute__((cdecl)) i686_ISR231(); +void __attribute__((cdecl)) i686_ISR232(); +void __attribute__((cdecl)) i686_ISR233(); +void __attribute__((cdecl)) i686_ISR234(); +void __attribute__((cdecl)) i686_ISR235(); +void __attribute__((cdecl)) i686_ISR236(); +void __attribute__((cdecl)) i686_ISR237(); +void __attribute__((cdecl)) i686_ISR238(); +void __attribute__((cdecl)) i686_ISR239(); +void __attribute__((cdecl)) i686_ISR240(); +void __attribute__((cdecl)) i686_ISR241(); +void __attribute__((cdecl)) i686_ISR242(); +void __attribute__((cdecl)) i686_ISR243(); +void __attribute__((cdecl)) i686_ISR244(); +void __attribute__((cdecl)) i686_ISR245(); +void __attribute__((cdecl)) i686_ISR246(); +void __attribute__((cdecl)) i686_ISR247(); +void __attribute__((cdecl)) i686_ISR248(); +void __attribute__((cdecl)) i686_ISR249(); +void __attribute__((cdecl)) i686_ISR250(); +void __attribute__((cdecl)) i686_ISR251(); +void __attribute__((cdecl)) i686_ISR252(); +void __attribute__((cdecl)) i686_ISR253(); +void __attribute__((cdecl)) i686_ISR254(); +void __attribute__((cdecl)) i686_ISR255(); + +void i686_isr_initialize_gates(){ + i686_idt_set_gate(0, i686_ISR0, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(1, i686_ISR1, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(2, i686_ISR2, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(3, i686_ISR3, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(4, i686_ISR4, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(5, i686_ISR5, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(6, i686_ISR6, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(7, i686_ISR7, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(8, i686_ISR8, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(9, i686_ISR9, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(10, i686_ISR10, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(11, i686_ISR11, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(12, i686_ISR12, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(13, i686_ISR13, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(14, i686_ISR14, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(15, i686_ISR15, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(16, i686_ISR16, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(17, i686_ISR17, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(18, i686_ISR18, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(19, i686_ISR19, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(20, i686_ISR20, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(21, i686_ISR21, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(22, i686_ISR22, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(23, i686_ISR23, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(24, i686_ISR24, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(25, i686_ISR25, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(26, i686_ISR26, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(27, i686_ISR27, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(28, i686_ISR28, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(29, i686_ISR29, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(30, i686_ISR30, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(31, i686_ISR31, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(32, i686_ISR32, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(33, i686_ISR33, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(34, i686_ISR34, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(35, i686_ISR35, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(36, i686_ISR36, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(37, i686_ISR37, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(38, i686_ISR38, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(39, i686_ISR39, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(40, i686_ISR40, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(41, i686_ISR41, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(42, i686_ISR42, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(43, i686_ISR43, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(44, i686_ISR44, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(45, i686_ISR45, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(46, i686_ISR46, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(47, i686_ISR47, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(48, i686_ISR48, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(49, i686_ISR49, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(50, i686_ISR50, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(51, i686_ISR51, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(52, i686_ISR52, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(53, i686_ISR53, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(54, i686_ISR54, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(55, i686_ISR55, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(56, i686_ISR56, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(57, i686_ISR57, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(58, i686_ISR58, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(59, i686_ISR59, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(60, i686_ISR60, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(61, i686_ISR61, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(62, i686_ISR62, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(63, i686_ISR63, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(64, i686_ISR64, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(65, i686_ISR65, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(66, i686_ISR66, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(67, i686_ISR67, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(68, i686_ISR68, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(69, i686_ISR69, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(70, i686_ISR70, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(71, i686_ISR71, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(72, i686_ISR72, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(73, i686_ISR73, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(74, i686_ISR74, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(75, i686_ISR75, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(76, i686_ISR76, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(77, i686_ISR77, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(78, i686_ISR78, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(79, i686_ISR79, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(80, i686_ISR80, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(81, i686_ISR81, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(82, i686_ISR82, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(83, i686_ISR83, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(84, i686_ISR84, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(85, i686_ISR85, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(86, i686_ISR86, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(87, i686_ISR87, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(88, i686_ISR88, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(89, i686_ISR89, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(90, i686_ISR90, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(91, i686_ISR91, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(92, i686_ISR92, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(93, i686_ISR93, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(94, i686_ISR94, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(95, i686_ISR95, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(96, i686_ISR96, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(97, i686_ISR97, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(98, i686_ISR98, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(99, i686_ISR99, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(100, i686_ISR100, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(101, i686_ISR101, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(102, i686_ISR102, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(103, i686_ISR103, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(104, i686_ISR104, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(105, i686_ISR105, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(106, i686_ISR106, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(107, i686_ISR107, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(108, i686_ISR108, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(109, i686_ISR109, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(110, i686_ISR110, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(111, i686_ISR111, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(112, i686_ISR112, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(113, i686_ISR113, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(114, i686_ISR114, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(115, i686_ISR115, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(116, i686_ISR116, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(117, i686_ISR117, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(118, i686_ISR118, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(119, i686_ISR119, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(120, i686_ISR120, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(121, i686_ISR121, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(122, i686_ISR122, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(123, i686_ISR123, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(124, i686_ISR124, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(125, i686_ISR125, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(126, i686_ISR126, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(127, i686_ISR127, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(128, i686_ISR128, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(129, i686_ISR129, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(130, i686_ISR130, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(131, i686_ISR131, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(132, i686_ISR132, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(133, i686_ISR133, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(134, i686_ISR134, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(135, i686_ISR135, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(136, i686_ISR136, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(137, i686_ISR137, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(138, i686_ISR138, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(139, i686_ISR139, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(140, i686_ISR140, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(141, i686_ISR141, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(142, i686_ISR142, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(143, i686_ISR143, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(144, i686_ISR144, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(145, i686_ISR145, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(146, i686_ISR146, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(147, i686_ISR147, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(148, i686_ISR148, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(149, i686_ISR149, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(150, i686_ISR150, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(151, i686_ISR151, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(152, i686_ISR152, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(153, i686_ISR153, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(154, i686_ISR154, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(155, i686_ISR155, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(156, i686_ISR156, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(157, i686_ISR157, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(158, i686_ISR158, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(159, i686_ISR159, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(160, i686_ISR160, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(161, i686_ISR161, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(162, i686_ISR162, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(163, i686_ISR163, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(164, i686_ISR164, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(165, i686_ISR165, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(166, i686_ISR166, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(167, i686_ISR167, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(168, i686_ISR168, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(169, i686_ISR169, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(170, i686_ISR170, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(171, i686_ISR171, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(172, i686_ISR172, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(173, i686_ISR173, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(174, i686_ISR174, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(175, i686_ISR175, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(176, i686_ISR176, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(177, i686_ISR177, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(178, i686_ISR178, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(179, i686_ISR179, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(180, i686_ISR180, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(181, i686_ISR181, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(182, i686_ISR182, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(183, i686_ISR183, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(184, i686_ISR184, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(185, i686_ISR185, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(186, i686_ISR186, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(187, i686_ISR187, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(188, i686_ISR188, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(189, i686_ISR189, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(190, i686_ISR190, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(191, i686_ISR191, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(192, i686_ISR192, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(193, i686_ISR193, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(194, i686_ISR194, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(195, i686_ISR195, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(196, i686_ISR196, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(197, i686_ISR197, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(198, i686_ISR198, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(199, i686_ISR199, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(200, i686_ISR200, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(201, i686_ISR201, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(202, i686_ISR202, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(203, i686_ISR203, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(204, i686_ISR204, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(205, i686_ISR205, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(206, i686_ISR206, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(207, i686_ISR207, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(208, i686_ISR208, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(209, i686_ISR209, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(210, i686_ISR210, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(211, i686_ISR211, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(212, i686_ISR212, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(213, i686_ISR213, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(214, i686_ISR214, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(215, i686_ISR215, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(216, i686_ISR216, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(217, i686_ISR217, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(218, i686_ISR218, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(219, i686_ISR219, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(220, i686_ISR220, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(221, i686_ISR221, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(222, i686_ISR222, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(223, i686_ISR223, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(224, i686_ISR224, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(225, i686_ISR225, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(226, i686_ISR226, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(227, i686_ISR227, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(228, i686_ISR228, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(229, i686_ISR229, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(230, i686_ISR230, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(231, i686_ISR231, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(232, i686_ISR232, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(233, i686_ISR233, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(234, i686_ISR234, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(235, i686_ISR235, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(236, i686_ISR236, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(237, i686_ISR237, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(238, i686_ISR238, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(239, i686_ISR239, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(240, i686_ISR240, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(241, i686_ISR241, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(242, i686_ISR242, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(243, i686_ISR243, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(244, i686_ISR244, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(245, i686_ISR245, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(246, i686_ISR246, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(247, i686_ISR247, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(248, i686_ISR248, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(249, i686_ISR249, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(250, i686_ISR250, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(251, i686_ISR251, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(252, i686_ISR252, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(253, i686_ISR253, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(254, i686_ISR254, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); + i686_idt_set_gate(255, i686_ISR255, i686_GDT_CODE_SEGMENT, IDT_FLAG_RING0 | IDT_FLAG_GATE_32BIT_INT); +} diff --git a/src/kernel/arch/i686/isrs_gen.inc b/src/kernel/arch/i686/isrs_gen.inc new file mode 100644 index 0000000..93bb162 --- /dev/null +++ b/src/kernel/arch/i686/isrs_gen.inc @@ -0,0 +1,257 @@ +; (autogenerated file) +ISR_NOERRORCODE 0 +ISR_NOERRORCODE 1 +ISR_NOERRORCODE 2 +ISR_NOERRORCODE 3 +ISR_NOERRORCODE 4 +ISR_NOERRORCODE 5 +ISR_NOERRORCODE 6 +ISR_NOERRORCODE 7 +ISR_ERRORCODE 8 +ISR_NOERRORCODE 9 +ISR_ERRORCODE 10 +ISR_ERRORCODE 11 +ISR_ERRORCODE 12 +ISR_ERRORCODE 13 +ISR_ERRORCODE 14 +ISR_NOERRORCODE 15 +ISR_NOERRORCODE 16 +ISR_ERRORCODE 17 +ISR_NOERRORCODE 18 +ISR_NOERRORCODE 19 +ISR_NOERRORCODE 20 +ISR_ERRORCODE 21 +ISR_NOERRORCODE 22 +ISR_NOERRORCODE 23 +ISR_NOERRORCODE 24 +ISR_NOERRORCODE 25 +ISR_NOERRORCODE 26 +ISR_NOERRORCODE 27 +ISR_NOERRORCODE 28 +ISR_ERRORCODE 29 +ISR_ERRORCODE 30 +ISR_NOERRORCODE 31 +ISR_NOERRORCODE 32 +ISR_NOERRORCODE 33 +ISR_NOERRORCODE 34 +ISR_NOERRORCODE 35 +ISR_NOERRORCODE 36 +ISR_NOERRORCODE 37 +ISR_NOERRORCODE 38 +ISR_NOERRORCODE 39 +ISR_NOERRORCODE 40 +ISR_NOERRORCODE 41 +ISR_NOERRORCODE 42 +ISR_NOERRORCODE 43 +ISR_NOERRORCODE 44 +ISR_NOERRORCODE 45 +ISR_NOERRORCODE 46 +ISR_NOERRORCODE 47 +ISR_NOERRORCODE 48 +ISR_NOERRORCODE 49 +ISR_NOERRORCODE 50 +ISR_NOERRORCODE 51 +ISR_NOERRORCODE 52 +ISR_NOERRORCODE 53 +ISR_NOERRORCODE 54 +ISR_NOERRORCODE 55 +ISR_NOERRORCODE 56 +ISR_NOERRORCODE 57 +ISR_NOERRORCODE 58 +ISR_NOERRORCODE 59 +ISR_NOERRORCODE 60 +ISR_NOERRORCODE 61 +ISR_NOERRORCODE 62 +ISR_NOERRORCODE 63 +ISR_NOERRORCODE 64 +ISR_NOERRORCODE 65 +ISR_NOERRORCODE 66 +ISR_NOERRORCODE 67 +ISR_NOERRORCODE 68 +ISR_NOERRORCODE 69 +ISR_NOERRORCODE 70 +ISR_NOERRORCODE 71 +ISR_NOERRORCODE 72 +ISR_NOERRORCODE 73 +ISR_NOERRORCODE 74 +ISR_NOERRORCODE 75 +ISR_NOERRORCODE 76 +ISR_NOERRORCODE 77 +ISR_NOERRORCODE 78 +ISR_NOERRORCODE 79 +ISR_NOERRORCODE 80 +ISR_NOERRORCODE 81 +ISR_NOERRORCODE 82 +ISR_NOERRORCODE 83 +ISR_NOERRORCODE 84 +ISR_NOERRORCODE 85 +ISR_NOERRORCODE 86 +ISR_NOERRORCODE 87 +ISR_NOERRORCODE 88 +ISR_NOERRORCODE 89 +ISR_NOERRORCODE 90 +ISR_NOERRORCODE 91 +ISR_NOERRORCODE 92 +ISR_NOERRORCODE 93 +ISR_NOERRORCODE 94 +ISR_NOERRORCODE 95 +ISR_NOERRORCODE 96 +ISR_NOERRORCODE 97 +ISR_NOERRORCODE 98 +ISR_NOERRORCODE 99 +ISR_NOERRORCODE 100 +ISR_NOERRORCODE 101 +ISR_NOERRORCODE 102 +ISR_NOERRORCODE 103 +ISR_NOERRORCODE 104 +ISR_NOERRORCODE 105 +ISR_NOERRORCODE 106 +ISR_NOERRORCODE 107 +ISR_NOERRORCODE 108 +ISR_NOERRORCODE 109 +ISR_NOERRORCODE 110 +ISR_NOERRORCODE 111 +ISR_NOERRORCODE 112 +ISR_NOERRORCODE 113 +ISR_NOERRORCODE 114 +ISR_NOERRORCODE 115 +ISR_NOERRORCODE 116 +ISR_NOERRORCODE 117 +ISR_NOERRORCODE 118 +ISR_NOERRORCODE 119 +ISR_NOERRORCODE 120 +ISR_NOERRORCODE 121 +ISR_NOERRORCODE 122 +ISR_NOERRORCODE 123 +ISR_NOERRORCODE 124 +ISR_NOERRORCODE 125 +ISR_NOERRORCODE 126 +ISR_NOERRORCODE 127 +ISR_NOERRORCODE 128 +ISR_NOERRORCODE 129 +ISR_NOERRORCODE 130 +ISR_NOERRORCODE 131 +ISR_NOERRORCODE 132 +ISR_NOERRORCODE 133 +ISR_NOERRORCODE 134 +ISR_NOERRORCODE 135 +ISR_NOERRORCODE 136 +ISR_NOERRORCODE 137 +ISR_NOERRORCODE 138 +ISR_NOERRORCODE 139 +ISR_NOERRORCODE 140 +ISR_NOERRORCODE 141 +ISR_NOERRORCODE 142 +ISR_NOERRORCODE 143 +ISR_NOERRORCODE 144 +ISR_NOERRORCODE 145 +ISR_NOERRORCODE 146 +ISR_NOERRORCODE 147 +ISR_NOERRORCODE 148 +ISR_NOERRORCODE 149 +ISR_NOERRORCODE 150 +ISR_NOERRORCODE 151 +ISR_NOERRORCODE 152 +ISR_NOERRORCODE 153 +ISR_NOERRORCODE 154 +ISR_NOERRORCODE 155 +ISR_NOERRORCODE 156 +ISR_NOERRORCODE 157 +ISR_NOERRORCODE 158 +ISR_NOERRORCODE 159 +ISR_NOERRORCODE 160 +ISR_NOERRORCODE 161 +ISR_NOERRORCODE 162 +ISR_NOERRORCODE 163 +ISR_NOERRORCODE 164 +ISR_NOERRORCODE 165 +ISR_NOERRORCODE 166 +ISR_NOERRORCODE 167 +ISR_NOERRORCODE 168 +ISR_NOERRORCODE 169 +ISR_NOERRORCODE 170 +ISR_NOERRORCODE 171 +ISR_NOERRORCODE 172 +ISR_NOERRORCODE 173 +ISR_NOERRORCODE 174 +ISR_NOERRORCODE 175 +ISR_NOERRORCODE 176 +ISR_NOERRORCODE 177 +ISR_NOERRORCODE 178 +ISR_NOERRORCODE 179 +ISR_NOERRORCODE 180 +ISR_NOERRORCODE 181 +ISR_NOERRORCODE 182 +ISR_NOERRORCODE 183 +ISR_NOERRORCODE 184 +ISR_NOERRORCODE 185 +ISR_NOERRORCODE 186 +ISR_NOERRORCODE 187 +ISR_NOERRORCODE 188 +ISR_NOERRORCODE 189 +ISR_NOERRORCODE 190 +ISR_NOERRORCODE 191 +ISR_NOERRORCODE 192 +ISR_NOERRORCODE 193 +ISR_NOERRORCODE 194 +ISR_NOERRORCODE 195 +ISR_NOERRORCODE 196 +ISR_NOERRORCODE 197 +ISR_NOERRORCODE 198 +ISR_NOERRORCODE 199 +ISR_NOERRORCODE 200 +ISR_NOERRORCODE 201 +ISR_NOERRORCODE 202 +ISR_NOERRORCODE 203 +ISR_NOERRORCODE 204 +ISR_NOERRORCODE 205 +ISR_NOERRORCODE 206 +ISR_NOERRORCODE 207 +ISR_NOERRORCODE 208 +ISR_NOERRORCODE 209 +ISR_NOERRORCODE 210 +ISR_NOERRORCODE 211 +ISR_NOERRORCODE 212 +ISR_NOERRORCODE 213 +ISR_NOERRORCODE 214 +ISR_NOERRORCODE 215 +ISR_NOERRORCODE 216 +ISR_NOERRORCODE 217 +ISR_NOERRORCODE 218 +ISR_NOERRORCODE 219 +ISR_NOERRORCODE 220 +ISR_NOERRORCODE 221 +ISR_NOERRORCODE 222 +ISR_NOERRORCODE 223 +ISR_NOERRORCODE 224 +ISR_NOERRORCODE 225 +ISR_NOERRORCODE 226 +ISR_NOERRORCODE 227 +ISR_NOERRORCODE 228 +ISR_NOERRORCODE 229 +ISR_NOERRORCODE 230 +ISR_NOERRORCODE 231 +ISR_NOERRORCODE 232 +ISR_NOERRORCODE 233 +ISR_NOERRORCODE 234 +ISR_NOERRORCODE 235 +ISR_NOERRORCODE 236 +ISR_NOERRORCODE 237 +ISR_NOERRORCODE 238 +ISR_NOERRORCODE 239 +ISR_NOERRORCODE 240 +ISR_NOERRORCODE 241 +ISR_NOERRORCODE 242 +ISR_NOERRORCODE 243 +ISR_NOERRORCODE 244 +ISR_NOERRORCODE 245 +ISR_NOERRORCODE 246 +ISR_NOERRORCODE 247 +ISR_NOERRORCODE 248 +ISR_NOERRORCODE 249 +ISR_NOERRORCODE 250 +ISR_NOERRORCODE 251 +ISR_NOERRORCODE 252 +ISR_NOERRORCODE 253 +ISR_NOERRORCODE 254 +ISR_NOERRORCODE 255