News: 0000835875

  ARM Give a man a fire and he's warm for a day, but set fire to him and he's warm for the rest of his life (Terry Pratchett, Jingo)

Walleij: Setting up the Arm32 architecture

([Kernel] Nov 2, 2020 18:37 UTC (Mon) (corbet))


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

Vail's Second Axiom:
The amount of work to be done increases in proportion to the
amount of work already completed.