64 Commits (master)

Author SHA1 Message Date
0xAX 20ee3691a4
Merge branch 'master' into capitalize-linux 2 years ago
0xAX 5352b11ceb
Merge pull request #783 from Linux-project/imgbot
chore : [ImgBot] Optimize images
2 years ago
0xAX 6ad2ca2b60
Merge branch 'master' into master 2 years ago
Renaud Germain 17a0d7bfbc copyedit: interrupts chapter 2 years ago
Jingyu Wang d619037f75 fix ALLOC_PT_GREGS_ON_STACK to ALLOC_PT_GPREGS_ON_STACK.
Signed-off-by: Jingyu Wang <jingyuwang_vip@163.com>
2 years ago
Jingyu Wang 4a530b9573 fix contert_tracking_enter to context_tracking_enter.
Signed-off-by: Jingyu Wang <jingyuwang_vip@163.com>
2 years ago
Jingyu Wang 64fd9813ed fix local_disable_irq to local_irq_disable.
Signed-off-by: Jingyu Wang <jingyuwang_vip@163.com>
2 years ago
Jingyu Wang 2ffdc3dbc5 fix: irq_backing_store to irq_stack_backing_store.
Signed-off-by: Jingyu Wang <jingyuwang_vip@163.com>
2 years ago
Renaud Germain c2ecc331a0 capitalize Linux everywhere 2 years ago
Kian-Meng, Ang 2c15599cfb Fix typos 2 years ago
0xAX b7fad6ac7c
Merge pull request #776 from stefanocarna/master
Fix wrong value
3 years ago
slowy07 f74f207581 fix: typo grammar spelling 3 years ago
ImgBotApp f82cd213ad
[ImgBot] Optimize images
*Total -- 5,801.05kb -> 4,972.30kb (14.29%)

/Theory/images/4_level_paging.png -- 39.74kb -> 16.28kb (59.03%)
/Misc/images/git_diff.png -- 31.20kb -> 20.24kb (35.12%)
/Interrupts/images/kernel.png -- 65.52kb -> 46.78kb (28.6%)
/Assets/linux-kernel.png -- 42.63kb -> 30.93kb (27.44%)
/Initialization/images/CONFIG_NR_CPUS.png -- 79.77kb -> 59.39kb (25.55%)
/Initialization/images/NX.png -- 8.12kb -> 6.10kb (24.91%)
/Booting/images/minimal_stack.png -- 9.78kb -> 7.96kb (18.61%)
/Booting/images/kernel_first_address.png -- 62.22kb -> 50.95kb (18.12%)
/Booting/images/stack1.png -- 8.14kb -> 6.75kb (17.01%)
/cover.jpg -- 447.00kb -> 374.10kb (16.31%)
/MM/images/memblock.png -- 71.89kb -> 60.89kb (15.3%)
/Booting/images/bss.png -- 8.98kb -> 7.61kb (15.23%)
/Initialization/images/kernel_command_line.png -- 12.67kb -> 10.75kb (15.16%)
/Initialization/images/brk_area.png -- 11.11kb -> 9.50kb (14.52%)
/Timers/images/HZ.png -- 444.06kb -> 383.37kb (13.67%)
/Misc/images/qemu.png -- 87.48kb -> 75.67kb (13.5%)
/Misc/images/dgap_menu.png -- 886.13kb -> 766.69kb (13.48%)
/Misc/images/menuconfig.png -- 837.61kb -> 726.46kb (13.27%)
/Timers/images/base_small.png -- 807.52kb -> 700.40kb (13.27%)
/Misc/images/nconfig.png -- 773.45kb -> 671.00kb (13.25%)
/SysCall/images/ls_shell.png -- 468.70kb -> 407.11kb (13.14%)
/Booting/images/stack2.png -- 9.13kb -> 7.93kb (13.11%)
/Cgroups/images/menuconfig.png -- 118.09kb -> 102.99kb (12.78%)
/Booting/images/video_mode_setup_menu.png -- 12.98kb -> 11.35kb (12.59%)
/Misc/images/google_linux.png -- 120.87kb -> 106.98kb (11.49%)
/Misc/images/github.png -- 73.54kb -> 65.30kb (11.2%)
/MM/images/kernel_configuration_menu1.png -- 123.93kb -> 110.36kb (10.95%)
/Booting/images/linear_address.png -- 8.75kb -> 8.04kb (8.01%)
/MM/images/kernel_configuration_menu2.png -- 117.13kb -> 108.26kb (7.57%)
/Booting/images/try_vmlinuz_in_qemu.png -- 6.87kb -> 6.43kb (6.41%)
/Booting/images/simple_bootloader.png -- 6.05kb -> 5.72kb (5.41%)

Signed-off-by: ImgBotApp <ImgBotHelp@gmail.com>
3 years ago
Stefano Carnà 72c64da87c Fix wrong value
NR_VECTORS is 256 if CONFIG_X86_LOCAL_APIC is not defined,
else it gets 0xec (LOCAL_TIMER_VECTOR).
3 years ago
Saril Sudhakaran 4f8277531e
Update linux-interrupts-1.md
Fixed link for idt.c
3 years ago
Z 44dc8cb8db
Update linux-interrupts-2.md 4 years ago
Z 4d1e9aebaf
Update linux-interrupts-2.md 4 years ago
Z b1b719feba
Update linux-interrupts-1.md 4 years ago
0xAX af1a757457
Merge pull request #722 from initBasti/fix_broken_links
Fix broken git hub links
4 years ago
Sebastian Fricke 46877264f0 Fix multiple display names for fixed links
Change the display names to match the correct file location, which the
link points to.

Signed-off-by: Sebastian Fricke <sebastian.fricke.linux@gmail.com>
4 years ago
Sebastian Fricke c83bbdf9be
Merge pull request #723 from GIHOLee/GIHOLee-patch-1
Update linux-interrupts-5.md: improve the grammar
4 years ago
GIHOLee 9c66a3659a
Update linux-interrupts-5.md
change 'the' to 'a'
4 years ago
GIHOLee 4a9aba4aec
Update linux-interrupts-5.md
s/SIGFPE for the divide error, SIGILL for the invalid opcode and etc.../
SIGFPE for a divide error, SIGILL for a invalid instruction etc.../
4 years ago
Sebastian Fricke f1b388dbdb Fix broken git hub links
Replace the following dead github links, with equivalent working ones.

s/ 16f73eb02d | https://github.com/torvalds/linux
s/ 16f73eb02d/ | https://github.com/torvalds/linux
s/ 16f73eb02d/Documentation/security/credentials.txt | https://github.com/torvalds/linux/blob/master/Documentation/security/credentials.rst
s/ 16f73eb02d/Documentation/workqueue.txt | 6f0d349d92/Documentation/core-api/workqueue.rst
s/ 16f73eb02d/arch/x86/entry_entry_64.S | https://github.com/torvalds/linux/blob/master/arch/x86/entry/entry_64.S
s/ 16f73eb02d/arch/x86/include/asm/calling.h | https://github.com/torvalds/linux/blob/master/arch/x86/entry/calling.h
s/ 16f73eb02d/arch/x86/include/asm/pgalloc. | https://github.com/torvalds/linux/blob/master/arch/x86/include/asm/pgalloc.h
s/ 16f73eb02d/arch/x86/include/bitops.h | https://github.com/torvalds/linux/blob/master/arch/x86/include/asm/bitops.h
s/ 16f73eb02d/arch/x86/include/irqflags.h | https://github.com/torvalds/linux/blob/master/arch/x86/include/asm/irqflags.h
s/ 16f73eb02d/arch/x86/include/uapi/asm/msr-index.h | https://github.com/torvalds/linux/blob/master/arch/x86/include/asm/msr-index.h
s/ 16f73eb02d/arch/x86/kernel.setup.c | https://github.com/torvalds/linux/blob/master/arch/x86/kernel/setup.c
s/ 16f73eb02d/arch/x86/kernel/entry_64.S | https://github.com/torvalds/linux/blob/master/arch/x86/entry/entry_64.S
s/ 16f73eb02d/arch/x86/kernel/vsyscall_64.c | https://github.com/torvalds/linux/blob/master/arch/x86/entry/vsyscall/vsyscall_64.c
s/ 16f73eb02d/arch/x86/kernel/vsyscall_emu_64.S | https://github.com/torvalds/linux/blob/master/arch/x86/entry/vsyscall/vsyscall_emu_64.S
s/ 16f73eb02d/blob/arch/x86/kernel/cpu/common.c | https://github.com/torvalds/linux/blob/master/arch/x86/kernel/cpu/common.c
s/ 16f73eb02d/drivers/clocksource_acpi_pm.c | https://github.com/torvalds/linux/blob/master/drivers/clocksource/acpi_pm.c
s/ 16f73eb02d/drivers/i2c/i2c-core.c | https://github.com/torvalds/linux/blob/master/drivers/i2c/i2c-core-base.c
s/ 16f73eb02d/include/asm-generic-sections.h | https://github.com/torvalds/linux/blob/master/include/asm-generic/sections.h
s/ 16f73eb02d/include/context_tracking.h | https://github.com/torvalds/linux/blob/master/include/linux/context_tracking.h
s/ 16f73eb02d/include/mm_types.h | https://github.com/torvalds/linux/blob/master/include/linux/mm_types.h
s/ 16f73eb02d/kernel/apic/io_apic.c | https://github.com/torvalds/linux/blob/master/arch/x86/kernel/apic/io_apic.c
s/ 16f73eb02d/kernel/apic/vector.c | https://github.com/torvalds/linux/blob/master/arch/x86/kernel/apic/vector.c
s/ 16f73eb02d/kernel/cgroup.c | https://github.com/torvalds/linux/blob/master/kernel/cgroup/cgroup.c
s/ 16f73eb02d/kernel/cpuset.c | https://github.com/torvalds/linux/blob/master/kernel/cgroup/cpuset.c
s/ 16f73eb02d/kernel/irqinit.c | https://github.com/torvalds/linux/blob/master/arch/x86/kernel/irqinit.c
s/ 16f73eb02d/kernel/locking/lockdep_insides.h | https://github.com/torvalds/linux/blob/master/kernel/locking/lockdep_internals.h
s/ 16f73eb02d/kernel/tick-common.c | https://github.com/torvalds/linux/blob/master/kernel/time/tick-common.c
s/ 16f73eb02d/kernel/time/tich-sched.c | https://github.com/torvalds/linux/blob/master/kernel/time/tick-sched.c
s/ 16f73eb02d/linux/binfmts.h | https://github.com/torvalds/linux/blob/master/include/linux/binfmts.h
s/ 16f73eb02d/locking/rwsem-xadd.c | https://github.com/torvalds/linux/blob/master/kernel/locking/rwsem.c
s/ 16f73eb02d/mm/block.c | https://github.com/torvalds/linux/blob/master/mm/memblock.c
s/ 16f73eb02d/sched/idle.c | https://github.com/torvalds/linux/blob/master/kernel/sched/idle.c
s/ 16f73eb02d/sound/isa/sscape | https://github.com/torvalds/linux/blob/master/sound/isa/sscape.c

Signed-off-by: Sebastian Fricke <sebastian.fricke.linux@gmail.com>
4 years ago
0xAX 58928da0bb
Merge branch 'master' into linux-interrupts-2-update 4 years ago
GIHOLee e2ee5a7368
fix content
fix content:`SIGILL` for overflow exception -> `SIGILL` for the invalid opcode
4 years ago
Sebastian Fricke 2cff4abf08 Gitbook Links: replace old links with new ones
The old links didn't point to valid locations.
Replace the old links with the new links and test those changes with a
small script: https://github.com/initBasti/markdown_link_check .

______________________________________________________________

In order to find and replace the links, I used the following commands:

grep -rwohP '.' -e "\(https\:\/\/0xax.gitbooks.io\/\S*\)" > links.txt
(Find all links recursivly in the project directories and print out the
 only the matches links)

Within links.txt:
Remove the '(' & ')' => :%s/\(//g  and :%s/\)//g
Remove duplicates => :sort u

Test if the links work with:
python3 md_link_check.py --pattern 0xax.gitbook --output-file bad.txt
(https://github.com/initBasti/markdown_link_check)

Create replace commands:
:%s/.*/grep -rl & '.' | xargs sed -i 's#&##g'
Enter replacement URL between the 2nd & 3rd '#'
Execute commands: :w !sh

Signed-off-by: Sebastian Fricke <sebastian.fricke.linux@gmail.com>
4 years ago
Sebastian Fricke 4058f2418a linux-interrupts-2: Improve text block
Remove redundant 'the'
s/Now as we jumped on the startup_32 from the/Now as we jumped into `startup_32` from/

Remove redundant 'the', ensure a varied choice of words
s/we will not find anything related to the interrupt handling here/
  we will not encounter anything related to interrupt handling here/

Improve sentence structure
s/The startup_32 contains code that makes preparations before the transition into long mode and directly jumps in to it/
The code inside of `startup_32` makes necessary preparations, before transitioning into the long mode with a direct jump/

Improve sentence structure and ensure a varied choice of words.
s/it makes preparations before the kernel decompression that occurs in the decompress_kernel from the/
it makes arrangements for the kernel decompression that occurs in the `decompress_kernel` function inside of ../

Remove redundant 'the', vary the choice of words
s/we jump on the startup_64 from the/we jump into `startup_64` defined at/

Reduce repetition, improve sentence structure
s/we start to build identity-mapped pages. After we have built identity-mapped pages, checked the NX bit, setup the Extended Feature Enable Register (see in links), and updated the early Global Descriptor Table with the lgdt instruction, we need to setup gs register/

Signed-off-by: Sebastian Fricke <sebastian.fricke.linux@gmail.com>
4 years ago
Sebastian Fricke 55ebd12262 linux-interrupts-2: Reduce word repetion
Reduce the repetion of words and set missing punctuation.

Signed-off-by: Sebastian Fricke <sebastian.fricke.linux@gmail.com>
4 years ago
Sebastian Fricke f9c54129a3 linux-interrupts-2: Deprecated Makefile assignment
Replace a deprecated Makefile assignment with the current version.
Change was introduced with the following commit:
https://lkml.org/lkml/2019/10/24/377

Signed-off-by: Sebastian Fricke <sebastian.fricke.linux@gmail.com>
4 years ago
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