34 Commits (09642cab4e16e5f23283f3201f7d6220be7fc907)

Author SHA1 Message Date
0xAX f87effa3dc
Merge pull request #715 from initBasti/linux-interrupts-2-update
Linux interrupts 2 update Part 1
4 years ago
0xAX e58c06bfca
Merge pull request #712 from initBasti/linux-interrupts-1-update
Linux interrupts 1 update
4 years ago
Sebastian Fricke a327d7237b linux-interrupts-2: rework pm jump part
Shorten the sentence to reduce repetition, as the correlation with the boot chapter
is already explained in the previous sentence.
Add 'function' to `protected_mode_jump`

s/We already know from the earliest parts that entry to protected mode is located
  in the `boot_params.hdr.code32_start` and you can see that we pass the entry of
  the protected mode and `boot_params` to the `protected_mode_jump`
 /The entry to protected mode is located in the `boot_params.hdr.code32_start`
  and passed together with the `boot_params` to the `protected_mode_jump` function/

Correct grammatical errors:
s/in the end of the/at the end of/

Improve word choices:
s/gets these two parameters in the/receives these two parameters within the/

Add missing punctuation and add filling words for a more fluent reading.

This commit introduced a new way of annotating functions: (https://lkml.org/lkml/2019/1/30/374)
s/GLOBAL(protected_mode_jump)/SYM_FUNC_START_NOALIGN(protected_mode_jump)/
s/ENDPROC(protected_mode_jump)/SYM_FUNC_END(protected_mode_jump)/
s/GLOBAL(in_pm32)/SYM_FUNC_START_LOCAL_NOALIGN(.Lin_pm32)/
s/ENDPROC(in_pm32)/SYM_FUNC_END(.Lin_pm32)/

This commit made in_pm32 local: (https://lkml.org/lkml/2019/10/11/192)
s/2:     .long   in_pm32/2:     .long   .Lin_pm32/

Signed-off-by: Sebastian Fricke <sebastian.fricke.linux@gmail.com>
4 years ago
Sebastian Fricke d383e52ef7 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 <sebastian.fricke.linux@gmail.com>
4 years ago
Sebastian Fricke 83ab97a7b1 linux-interrupts-2: Remove wrong 's' @ end of a word
s/the `NULL` interrupts descriptor table/the `NULL` interrupt descriptor table/

Signed-off-by: Sebastian Fricke <sebastian.fricke.linux@gmail.com>
4 years ago
Sebastian Fricke a03aff1a0f linux-interrupts-2: Improve sentence structure
s/in the `go_to_protected_mode` function by the call of the `setup_idt`/
  in the `go_to_protected_mode` function by calling `setup_idt`/

Signed-off-by: Sebastian Fricke <sebastian.fricke.linux@gmail.com>
4 years ago
Sebastian Fricke 256b27ef79 Improve wording and remove repetitions
Remove repetitive statements and improve wording choices.

Signed-off-by: Sebastian Fricke <sebastian.fricke.linux@gmail.com>
4 years ago
Sebastian Fricke 2dcb99f7f7 Update gate-descriptor initialization 2/2
Removed backslashes in links in front of underscores as they are
unnecessary.
Fixes problems of commit: 350c9715ee
4 years ago
Sebastian Fricke 350c9715ee Update gate-descriptor initialization
The initialization of gate descriptors was changed from using
set_intr_gate_ist() to idt_setup_from_table, which initalizes the
struct idt_data def_idts[] array.
Commit: https://lkml.org/lkml/2017/8/25/732

Update the entry point definition to contain the new read_cr2 attribute
Commit: https://lkml.org/lkml/2019/7/4/656

Update ENTRY and END macro to the new SYM_CODE_START & SYM_CODE_END
Commit: https://lkml.org/lkml/2019/10/11/344

Update the description of the code passages accordingly.
4 years ago
Sebastian Fricke d9df431572 Update wrmsr description
Replace irq_stack_union with fixed_percpu_data
Add missing punctuation

Improve sentence structure:
s/the ability to switch to a new stack for events non-maskable interrupt
interrupt/the ability to switch to a new stack for events like a non-maskable interrupt/
4 years ago
Sebastian Fricke 4aef3bfbdb Update gs register initialization
Replace irq_stack_union with fixed_percpu_data
Update load_percpu_segment as documented in these commits:
https://lkml.org/lkml/2018/3/13/1126 & https://lkml.org/lkml/2016/4/29/276
4 years ago
Sebastian Fricke 8976544271 remove accidental corruptions 4 years ago
Sebastian Fricke caa200e708 Interrupts/linux-interrupts-2.md: Improve wording
s/more about its implementation you can read/you can read more about its implementation/
s/For now we come to/For now, we have reached/
s/Of course you already can know that we will/You probably already know, that we will/
4 years ago
Sebastian Fricke a40a3d1be3 Fix typo at the description of IDT entries
s/special mechanism in the x86_64, will see it later;/
  special mechanism in the x86_64, which is described below;/
4 years ago
Sebastian Fricke 781a2d12f1 Missing commas
Commas after the words: Finally, Also at the beginning of sentences
and before a which within a sentence.
4 years ago
Sebastian Fricke f294553e43 Fix typo in Interrupts-1
s/..allows the interrupted program to be resume/
  ..allows the interrupted program to resume/
4 years ago
Sebastian Fricke 4a7f812014 Update irq_stack initialization II
Replace the removed initialization within setup_percpu.c with the
initialization for X86_64 defined within irq_64.c
Change the description accordingly.
4 years ago
Sebastian Fricke c96791d527 Update irq_stack initialization
Replace irq_stack_union with fixed_percpu_data
Update to the current system map
Update description of initialization process
Replace DECLARE macros with the current implementation
4 years ago
Sebastian Fricke 64a9777ca7 Replace deprecated initial_gs initialization
Within /arch/x86/kernel/head_64.S the implementation of the
initialization was changed.
Update the passage accordingly.
b1bd27b9ad (diff-a136f03867893e5d01eeadaba59c2dff)

Also fix a typo from a previous commit.
4 years ago
Sebastian Fricke 7a3f099c76 Replace irq_stack_union with new implementation
The irq_stack is no longer within a irq_stack_union
but separated into the irq_stack struct and the fixed_percpu_data struct
This change was made with the following series of commits:
e6401c1309 (diff-7db868ab08485b2578c9f97e45fb7d00)
4 years ago
Sebastian Fricke e3711a1ac3 Add correct location & link to the definition
Add link to the github file location and the path
within the source directory to gate_struct definiton
4 years ago
Sebastian Fricke 1bf6ed1ec9 replace gate_struct64 with unified gate_struct
As described in this:
https://lore.kernel.org/lkml/20170828064957.861974317@linutronix.de/
mail from the lkml.
And changed within this commit:
64b163fab6 (diff-35bcd00365a749ba6cfa246a7dc86a68)

The gate_struct was unified for 32 and 64bit machines.
Replaced gate_struct64 definition with that of gate_struct.
4 years ago
Sebastian Fricke db72e924c1 correct the source code file as reference
the function void set_system_intr_gate doesn't exists anymore
the function set_intr_gate is now located in arch/x86/kernel/idt.c
4 years ago
Michael D a047b17551 More recovered images
Patch 4: Interrupts/
5 years ago
kylekizirian 53230a12c8 fixed typo in interrupts/linux-interrupts-2 for early_idt_handler_array 5 years ago
xindoo ceef21cc6e fix some lexcial mistakes 5 years ago
rmdashrf e678006230 Update broken link for initcall
The old link
(http://www.compsoc.man.ac.uk/~moz/kernelnewbies/documents/initcall/index.html)
is 404ing. Replaced it with the same document on kernelnewbies.
6 years ago
Alexander Potapenko 759b76cba7
Update linux-interrupts-9.md
Fix style/grammar nits I've ran into while reading about interrupts.
6 years ago
Dou Liyang a91502c80a
Update linux-interrupts-9.md 6 years ago
Alexander Kuleshov e896e56c86
s/http/https for linux-insides 6 years ago
Dongliang Mu 49c8951eb8 modify broken links related with Thoery, Data structure, Misc and so on 6 years ago
Dongliang Mu 4a57db7015 fix broken links 6 years ago
Dongliang Mu 72c71c2560 fix interrupts 6 years ago
Dongliang Mu f159c63e0c Change mm to MM, interrupts to Interrupts 6 years ago