In 32 bit systems with more than 896 MB of RAM it is obvious, that the mapping of kernel addresses need to be changed because of kernel virtual addresses and the non-continuous mapping.
But how is this handled in 64 bit? As the RAM can always be mapped entirely in the address space, the master kernel page table needs to be set up once at initialization and then is never changed, since the mapping is never changed. Thus, this kernel region in the user page table never needs to be updated?
Btw has someone a good explanation how the user process page tables are updated in 32 bit? As it is always said, that the master kernel page tables are not directly used but only used as a reference. Are the entries for the kernel region copied for every process in its user page table?