Hello Patrick .... > can somebody tell me, why the register 'CR3' is not part of the > struct 'thread_struct' (in processor.h)? > Why ist 'CR3' part of the 'tss_struct' ? > IMHO, the struct thread_struct saves the hardware context of a > process, but this register 'CR3' is not part of the struct. I can only say that actually kernel doesn't need to save CR3 content. Why? because actually on every context switch, we just need to point CR3 register to the physical address of selected task's page global directory. take a look on switch_mm(). So why do you see __cr3 on tss_struct? I only guess this is just for satisfying x86 arch requirement that urge you to setup TSS segment. perhaps Intel documents might give better information. Somebody CMIIW..... regards, Mulyadi -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/