Walleij: Setting up the Arm32 architecture
([Kernel] Nov 2, 2020 18:37 UTC (Mon) (corbet))
- Reference: 0000835875
- News link: https://lwn.net/Articles/835875
- Source link:
For those who are following along with Linus Walleij's detailed writeup of how the 32-bit Arm bootstrap process works, he has posted two new installments ( [1]part 1 , [2]part 2 ) on what happens once virtual memory is enabled. " This init task is task 0. It is not identical to task 1, which will be the init process. That is a completely different task that gets forked in userspace later on. This task is only about providing context for the kernel itself, and a point for the first task (task 1) to fork from. The kernel is very dependent on context as we shall see, and that is why its thread/task information and even the stack pointer for this 'task zero' is hardcoded into the kernel like this. This 'zero task' does not even appear to userspace if you type ps aux , it is hidden inside the kernel. "
[1] https://people.kernel.org/linusw/setting-up-the-arm32-architecture-part-1
[2] https://people.kernel.org/linusw/setting-up-the-arm32-architecture-part-2
[1] https://people.kernel.org/linusw/setting-up-the-arm32-architecture-part-1
[2] https://people.kernel.org/linusw/setting-up-the-arm32-architecture-part-2