Commit Graph

63 Commits

Author SHA1 Message Date
Jim Huang
e551c98dde Clarify kernel header inclusion
Both <linux/module.h> and <linux/kernel.h> are essential headers, and
LKM should include them. Here, we do not use the fully qualified path
specifying the headers.
2021-08-09 22:05:08 +08:00
Jim Huang
251adeb075 Change the header file which defines sys_delete_module 2021-08-09 22:00:57 +08:00
Jim Huang
526ad3c842 Annotate function calls 2021-08-09 21:41:50 +08:00
Jim Huang
53ef0614e8 Annotate more commands 2021-08-09 21:35:19 +08:00
Jim Huang
971148e3ed Annotate 'mknod' command 2021-08-09 21:19:40 +08:00
Jim Huang
2ac8a81945 Add hyperlinks to microkernel examples 2021-08-09 21:17:22 +08:00
Jim Huang
5786975d89 Update tLDP hyperlink 2021-08-09 21:12:04 +08:00
Jim Huang
bb3466461a Add hyperlink to Understanding The Linux Kernel 2021-08-09 21:11:15 +08:00
Jim Huang
e0ad741c8c Fix layout with \LaTeX 2021-08-09 21:07:35 +08:00
Jim Huang
3208d46d46 Always mention \LaTeX rather than plain text form 2021-08-09 20:53:50 +08:00
Jim Huang
fe0ad50e6f Fix cross reference 2021-08-09 20:51:12 +08:00
Jim Huang
ebfe5404c0 Use the newer entries for Linux kernel documentation 2021-08-09 20:40:09 +08:00
Jim Huang
1b487e5931 Annotate the path 2021-08-09 20:35:24 +08:00
Jim Huang
91418dec73 Remove out-of-date kernel source descriptions 2021-08-09 20:31:03 +08:00
Jim Huang
375bdd0ccf Unify the annotations
This patch enforces the annotations by means of the following:
  * \cpp : C/C++ code, functions, variables, macros, symbols
  * \sh : commands, executable files
  * \verb : path and filenames
2021-08-09 20:20:38 +08:00
VxTeemo
d1c0efeec9
fix minor typo
verb warp wrong at line 330 "linux/.config"
2021-08-09 17:21:56 +08:00
Arush Sharma
51d96f56e5
fix minor typo
Fixes a very minor typo.
2021-08-08 02:23:07 +05:30
Jim Huang
d0721da3d9 Tidy the rest of chapters 2021-08-07 18:35:28 +08:00
Jim Huang
2303d5c851 Tidy section: Optimizations 2021-08-07 11:02:49 +08:00
Jim Huang
40e83aa14b Tidy section: The Device Model 2021-08-07 10:59:15 +08:00
Jim Huang
939bd4e9ab Tidy section: Crypto 2021-08-07 10:56:16 +08:00
Jim Huang
e1d31e9500 Tidy section: Interrupt Handlers 2021-08-07 10:35:52 +08:00
Jim Huang
768b70e95e Tidy section: Scheduling Tasks 2021-08-07 10:27:05 +08:00
Jim Huang
2c1f4d185b Tidy section: Replacing Print Macros
FIXME: we should rewrite this section
2021-08-07 10:24:08 +08:00
Jim Huang
4a34cc69b3 Tidy section: Avoiding Collisions and Deadlocks 2021-08-07 10:16:08 +08:00
Jim Huang
678757e19c Tidy section: Blocking Processes and threads 2021-08-07 10:07:22 +08:00
Jim Huang
3070689d19 Update document maintainer information 2021-08-07 09:52:03 +08:00
asas1asas200
92b646ed64
proc_ops: Be aware of kernel API changes (#13)
The proc_ops structure is defined in <include/linux/proc_fs.h> since
Linux v5.6+.
In older kernels, file_operations structure is used for custom hooks in
/proc file system. However, it contains some members that are unnecessary
in VFS, and every time VFS expands file_operations set, /proc code comes
bloated.

On the other hand, not only the space, but also some operations were
saved by this structure to improve its performance.
2021-08-06 18:08:05 +08:00
Jim Huang
466e8a00fd cat_nonblock: Use canonical name scheme and fix unintended assignment 2021-08-05 14:28:12 +08:00
吳建興
634c3659a8
Fix typo. 2021-08-05 02:16:36 +08:00
RinHizakura
5940dd9faa
Revise hello-5 and its output (#38)
For the example module hello_5, the book showed the incorrect output
in corresponding with its execution results.

In addition, this patch changes from myintArray[2] = {-1, -1} to
myintArray[2] = {420, 420}, which help the readers distinguish from
the kernel messages.
2021-08-04 23:42:10 +08:00
吳建興
a7f81a2cfc
Fix typo.
There is a typo in chapter 0.6.3.
2021-08-04 09:33:21 +08:00
Jim Huang
7c129a4276 Minor wording tweak 2021-08-03 06:29:52 +08:00
demonsome
45769753d3
procfs1: Fix parameter descriptions (#34)
In "procfs1.c," the "buffer" is actually the second parameter of procfile_read().
The "offset" is the fourth one.
2021-08-02 23:01:34 +08:00
demonsome
65a8f5a1d6
Unify device node name "/proc/helloworld" (#33)
The file name "proc helloworld" was not consistent with that of the later
sentences. The latter sentences use the device node name "/proc/helloworld".
2021-08-02 22:59:19 +08:00
Jim Huang
749f0392bb Tidy section: system calls 2021-08-02 02:57:31 +08:00
Jim Huang
6689090085 Tidy section: device files 2021-08-02 02:43:35 +08:00
fennecJ
044cfefe65
Generate HTML via make4ht (#20)
This patch generates HTML files with "make4ht" in the "html" directory.

Known issues with "make4ht":
Running "make4ht -suf html5 -d html lkmpg.tex" will cause the following
flaws:
1. The layout was unsatisfying.
2. After parsing TeX, it stoped at "\tableofcontents" with errors.
3. Several unneeded files were generated.
4. No way to specify the destination filename for HTML generation.

Solutions/workaround:
1. Use customized configuration file "html.cfg" to specify the layout style.
2. Turn off the \tableofcontents section when using make4ht. However, this
    results in the lack of table of contents in HTML. It can be fixed by
    appending "\Configure{tableofcontents*}{chapter,section,subsection}"
    to configuration file.
3. The build system removes the temporary files.
4. Use a symbolic link "index.html" to "lkmpg.html".
2021-08-02 02:42:39 +08:00
Hsin-Hsiang Peng
d097d0c472
Add package xparse (#31)
The package xparse should be included since
\NewDocumentCommand is part of it
2021-08-02 02:24:09 +08:00
Jim Huang
4639ca1b26 Remove out-of-date versioing scheme 2021-08-01 22:41:28 +08:00
Jim Huang
6026699a40 Tidy section: Character Device drivers 2021-08-01 16:21:01 +08:00
Jim Huang
4257b6ddcb Tidy section: Preliminaries 2021-08-01 15:03:49 +08:00
Jim Huang
09bde29531 Zircon kernel was formerly called Magenta
The renaming appeared in 2017.
2021-08-01 14:15:59 +08:00
fennecj
5d2f428cff Fix grammar 2021-07-31 23:19:44 +08:00
fennecJ
a4af7b5e5a
Fix dead link (#21) 2021-07-30 14:47:22 +08:00
Jim Huang
377ec93a05 Add information for contributing 2021-07-30 13:45:58 +08:00
fennecj
69b40b7bda Fix typo 2021-07-29 19:52:22 +08:00
2011eric
d0f604fc26
Use unified command prompt (#11)
This patch enforces the assumption of using as a non-root user. That is,
it is necessary to specify sudo for the essential commands such as
insmod and rmmod. In addition, most command prompts should start with
$ (dollar sign).
2021-07-26 13:10:34 +08:00
Jim Huang
65a8c123e4 Tidy section: hello world 2021-07-26 01:46:26 +08:00
Wei-Lun Tsai
ddcbb69fa3
Trivial fix for writing style 2021-07-24 09:14:46 +08:00