2015-01-28 18:17:02 +00:00
|
|
|
### Summary
|
|
|
|
|
2015-01-28 18:26:05 +00:00
|
|
|
* [Booting](Booting/README.md)
|
|
|
|
* [From bootloader to kernel](Booting/linux-bootstrap-1.md)
|
2015-01-28 18:46:18 +00:00
|
|
|
* [First steps in the kernel setup code](Booting/linux-bootstrap-2.md)
|
2015-02-11 17:26:53 +00:00
|
|
|
* [Video mode initialization and transition to protected mode](Booting/linux-bootstrap-3.md)
|
|
|
|
* [Transition to 64-bit mode](Booting/linux-bootstrap-4.md)
|
2015-02-22 14:02:16 +00:00
|
|
|
* [Kernel decompression](Booting/linux-bootstrap-5.md)
|
|
|
|
* [Initialization](Initialization/README.md)
|
2015-03-08 13:52:15 +00:00
|
|
|
* [First steps in the kernel](Initialization/linux-initialization-1.md)
|
2015-03-14 16:51:50 +00:00
|
|
|
* [Early interrupts handler](Initialization/linux-initialization-2.md)
|
2015-03-22 13:52:03 +00:00
|
|
|
* [Last preparations before the kernel entry point](Initialization/linux-initialization-3.md)
|
2015-04-05 13:30:43 +00:00
|
|
|
* [Kernel entry point](Initialization/linux-initialization-4.md)
|
2015-04-12 14:18:08 +00:00
|
|
|
* [Continue architecture-specific boot-time initializations](Initialization/linux-initialization-5.md)
|
2015-05-04 17:56:07 +00:00
|
|
|
* [Architecture-specific initializations, again...](Initialization/linux-initialization-6.md)
|
2015-05-03 14:24:40 +00:00
|
|
|
* [End of the architecture-specific initializations, almost...](Initialization/linux-initialization-7.md)
|
2015-05-10 13:54:14 +00:00
|
|
|
* [Scheduler initialization](Initialization/linux-initialization-8.md)
|
2015-05-17 13:59:15 +00:00
|
|
|
* [RCU initialization](Initialization/linux-initialization-9.md)
|
2015-05-24 14:09:31 +00:00
|
|
|
* [End of initialization](Initialization/linux-initialization-10.md)
|
2015-05-31 14:08:50 +00:00
|
|
|
* [Interrupts](interrupts/README.md)
|
|
|
|
* [Introduction](interrupts/interrupts-1.md)
|
2015-06-07 14:02:42 +00:00
|
|
|
* [Start to dive into interrupts](interrupts/interrupts-2.md)
|
2015-06-14 13:57:19 +00:00
|
|
|
* [Interrupt handlers](interrupts/interrupts-3.md)
|
2015-06-21 14:04:14 +00:00
|
|
|
* [Initialization of non-early interrupt gates](interrupts/interrupts-4.md)
|
2015-06-28 14:08:43 +00:00
|
|
|
* [Implementation of some exception handlers](interrupts/interrupts-5.md)
|
2015-07-05 14:09:52 +00:00
|
|
|
* [Handling Non-Maskable interrupts](interrupts/interrupts-6.md)
|
2015-07-12 14:25:13 +00:00
|
|
|
* [Dive into external hardware interrupts](interrupts/interrupts-7.md)
|
2015-07-19 14:11:57 +00:00
|
|
|
* [Initialization of external hardware interrupts structures](interrupts/interrupts-8.md)
|
2015-08-12 07:58:07 +00:00
|
|
|
* [Softirq, Tasklets and Workqueues](interrupts/interrupts-9.md)
|
2015-08-16 14:10:47 +00:00
|
|
|
* [Last part](interrupts/interrupts-10.md)
|
2015-08-23 14:16:27 +00:00
|
|
|
* [System calls](SysCall/README.md)
|
|
|
|
* [Introduction to system calls](SysCall/syscall-1.md)
|
2015-08-30 14:01:17 +00:00
|
|
|
* [How the Linux kernel handles a system call](SysCall/syscall-2.md)
|
2015-09-06 14:17:01 +00:00
|
|
|
* [vsyscall and vDSO](SysCall/syscall-3.md)
|
2015-09-13 14:13:13 +00:00
|
|
|
* [How the Linux kernel runs a program](SysCall/syscall-4.md)
|
2017-01-29 14:00:25 +00:00
|
|
|
* [Implementation of the open system call](SysCall/syscall-5.md)
|
2017-07-30 07:49:44 +00:00
|
|
|
* [Limits on resources in Linux](SysCall/syscall-6.md)
|
2015-09-27 14:12:06 +00:00
|
|
|
* [Timers and time management](Timers/README.md)
|
2015-10-11 14:10:17 +00:00
|
|
|
* [Introduction](Timers/timers-1.md)
|
|
|
|
* [Clocksource framework](Timers/timers-2.md)
|
2015-10-18 14:24:54 +00:00
|
|
|
* [The tick broadcast framework and dyntick](Timers/timers-3.md)
|
2015-10-25 14:12:41 +00:00
|
|
|
* [Introduction to timers](Timers/timers-4.md)
|
2016-03-13 14:06:56 +00:00
|
|
|
* [Clockevents framework](Timers/timers-5.md)
|
2016-03-20 14:18:02 +00:00
|
|
|
* [x86 related clock sources](Timers/timers-6.md)
|
2016-03-30 13:28:39 +00:00
|
|
|
* [Time related system calls](Timers/timers-7.md)
|
2016-04-10 14:36:34 +00:00
|
|
|
* [Synchronization primitives](SyncPrim/README.md)
|
|
|
|
* [Introduction to spinlocks](SyncPrim/sync-1.md)
|
2016-04-17 14:13:55 +00:00
|
|
|
* [Queued spinlocks](SyncPrim/sync-2.md)
|
2016-04-24 14:11:11 +00:00
|
|
|
* [Semaphores](SyncPrim/sync-3.md)
|
2016-05-08 14:15:06 +00:00
|
|
|
* [Mutex](SyncPrim/sync-4.md)
|
2016-05-15 15:10:44 +00:00
|
|
|
* [Reader/Writer semaphores](SyncPrim/sync-5.md)
|
2016-07-10 14:18:38 +00:00
|
|
|
* [SeqLock](SyncPrim/sync-6.md)
|
2016-07-05 08:20:22 +00:00
|
|
|
* [RCU]()
|
|
|
|
* [Lockdep]()
|
2015-09-13 14:13:44 +00:00
|
|
|
* [Memory management](mm/README.md)
|
|
|
|
* [Memblock](mm/linux-mm-1.md)
|
|
|
|
* [Fixmaps and ioremap](mm/linux-mm-2.md)
|
2016-10-27 23:46:59 +00:00
|
|
|
* [kmemcheck](mm/linux-mm-3.md)
|
2016-12-30 10:13:46 +00:00
|
|
|
* [Cgroups](Cgroups/README.md)
|
2016-12-30 10:55:21 +00:00
|
|
|
* [Introduction to Control Groups](Cgroups/cgroups1.md)
|
2015-04-25 06:30:26 +00:00
|
|
|
* [SMP]()
|
2015-04-05 07:06:30 +00:00
|
|
|
* [Concepts](Concepts/README.md)
|
|
|
|
* [Per-CPU variables](Concepts/per-cpu.md)
|
2015-04-05 13:53:29 +00:00
|
|
|
* [Cpumasks](Concepts/cpumask.md)
|
2016-04-03 14:25:42 +00:00
|
|
|
* [The initcall mechanism](Concepts/initcall.md)
|
2015-04-05 07:08:35 +00:00
|
|
|
* [Data Structures in the Linux Kernel](DataStructures/README.md)
|
|
|
|
* [Doubly linked list](DataStructures/dlist.md)
|
2015-05-16 11:44:30 +00:00
|
|
|
* [Radix tree](DataStructures/radix-tree.md)
|
2016-02-28 14:16:16 +00:00
|
|
|
* [Bit arrays](DataStructures/bitmap.md)
|
2015-02-28 12:45:33 +00:00
|
|
|
* [Theory](Theory/README.md)
|
2015-02-28 12:46:40 +00:00
|
|
|
* [Paging](Theory/Paging.md)
|
2015-02-17 17:11:56 +00:00
|
|
|
* [Elf64](Theory/ELF.md)
|
2016-05-01 15:23:29 +00:00
|
|
|
* [Inline assembly](Theory/asm.md)
|
2015-03-05 13:58:26 +00:00
|
|
|
* [CPUID]()
|
|
|
|
* [MSR]()
|
2015-04-05 13:53:29 +00:00
|
|
|
* [Initial ram disk]()
|
|
|
|
* [initrd]()
|
2015-04-08 07:46:26 +00:00
|
|
|
* [Misc](Misc/README.md)
|
2015-09-22 00:11:08 +00:00
|
|
|
* [How the kernel is compiled](Misc/how_kernel_compiled.md)
|
2015-08-02 14:22:01 +00:00
|
|
|
* [Linkers](Misc/linkers.md)
|
2015-09-20 14:12:23 +00:00
|
|
|
* [Linux kernel development](Misc/contribute.md)
|
2016-09-11 13:52:13 +00:00
|
|
|
* [Program startup process in userspace](Misc/program_startup.md)
|
2015-08-02 14:22:01 +00:00
|
|
|
* [Write and Submit your first Linux kernel Patch]()
|
2015-03-29 06:09:57 +00:00
|
|
|
* [Data types in the kernel]()
|
2016-08-20 19:18:18 +00:00
|
|
|
* [KernelStructures](KernelStructures/README.md)
|
|
|
|
* [IDT](KernelStructures/idt.md)
|
2015-01-28 18:35:51 +00:00
|
|
|
* [Useful links](LINKS.md)
|
|
|
|
* [Contributors](contributors.md)
|