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>
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>
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>
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.
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/
s/as if a single task/as if they were a single task/
s/The least unit which scheduler operates is an individual task or thread. But a process is not only one type of entities of which the scheduller may operate./
The smallest unit that the scheduler works with is an individual task or thread. However, a process is not the only type of entity that the scheduler can operate with./
s/these options provides support/these options provide support/
s/The first one option provides support for group scheduling with `completely fair scheduler` policies and the second with `real-time` policies respectively./
The first option provides support for group scheduling with the `completely fair scheduler` policies and the second with the `real-time` policies respectively./
s/It means that it supports/That means it supports/
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/
Replace the removed initialization within setup_percpu.c with the
initialization for X86_64 defined within irq_64.c
Change the description accordingly.
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
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.
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)
The btsl not only tests the bit, it tests the bit
by transfering it into the carry flag and then sets
it as well. Otherwise the wrmsr would not make sense.
Signed-off-by: Andreas J. Reichel <webmaster@6th-dimension.com>
While reading about initcalls around the web and kernel source code I found
that the information of what happens to __init functions not explicitly set to
any initcall list pretty useful. With this patch such information is added.
Signed-off-by: Bruno Meneguele <bmeneguele@gmail.com>
This patch handle different typos present in the initcall section of the book.
It also reword some paragraphs in order to get it clearer to the reader.
Some example codes were also added in order to help the reader to understand
smaller concepts, like the way initcalls callbacks are named in the object
file.
Signed-off-by: Bruno Meneguele <bmeneguele@gmail.com>