From d383e52ef71bdeaf28d8af351b60704cc1124ea3 Mon Sep 17 00:00:00 2001 From: Sebastian Fricke Date: Thu, 30 Apr 2020 17:32:59 +0200 Subject: [PATCH] linux-interrupts-2:missing punctuation,improve wording s/So, as you can understand there is no sense to have two similar structures which differ only by name./ It would make no sense to create two structures that only differ in their names./ Set missing punctuation. Signed-off-by: Sebastian Fricke --- Interrupts/linux-interrupts-2.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Interrupts/linux-interrupts-2.md b/Interrupts/linux-interrupts-2.md index c659a73..f41a90f 100644 --- a/Interrupts/linux-interrupts-2.md +++ b/Interrupts/linux-interrupts-2.md @@ -27,7 +27,7 @@ static void setup_idt(void) } ``` -where `gdt_ptr` represents a special 48-bit `GDTR` register which must contain the base address of the `Global Descriptor Table`: +where `gdt_ptr` represents a special 48-bit `GDTR` register, which must contain the base address of the `Global Descriptor Table`: ```C struct gdt_ptr { @@ -36,7 +36,7 @@ struct gdt_ptr { } __attribute__((packed)); ``` -Of course in our case the `gdt_ptr` does not represent the `GDTR` register, but `IDTR` since we set `Interrupt Descriptor Table`. You will not find an `idt_ptr` structure, because if it had been in the Linux kernel source code, it would have been the same as `gdt_ptr` but with different name. So, as you can understand there is no sense to have two similar structures which differ only by name. You can note here, that we do not fill the `Interrupt Descriptor Table` with entries, because it is too early to handle any interrupts or exceptions at this point. That's why we just fill the `IDT` with `NULL`. +Of course in our case the `gdt_ptr` does not represent the `GDTR` register, but `IDTR` since we set the `Interrupt Descriptor Table`. You will not find an `idt_ptr` structure, because if it had been in the Linux kernel source code, it would have been the same as a `gdt_ptr` but with a different name. It would make no sense to create two structures that only differ in their names. Note here that we do not fill the `Interrupt Descriptor Table` with entries, because it is too early to handle any interrupts or exceptions at this point. That's why we just fill the `IDT` with `NULL`. After the setup of the [Interrupt descriptor table](http://en.wikipedia.org/wiki/Interrupt_descriptor_table), [Global Descriptor Table](http://en.wikipedia.org/wiki/GDT) and other stuff we jump into [protected mode](http://en.wikipedia.org/wiki/Protected_mode) in the - [arch/x86/boot/pmjump.S](https://github.com/torvalds/linux/blob/16f73eb02d7e1765ccab3d2018e0bd98eb93d973/arch/x86/boot/pmjump.S). You can read more about it in the [part](https://0xax.gitbooks.io/linux-insides/content/Booting/linux-bootstrap-3.html) which describes the transition to protected mode.