]> Zhao Yanbai Git Server - minix.git/commit
atomicity fix when enabling paging
authorTomas Hruby <tom@minix3.org>
Mon, 22 Mar 2010 07:42:52 +0000 (07:42 +0000)
committerTomas Hruby <tom@minix3.org>
Mon, 22 Mar 2010 07:42:52 +0000 (07:42 +0000)
commit12ef495cac6871abc8bb147b5307145ae37d107a
tree16f8ac7fa88e468e08a883b93d06c37d3aef3322
parenta5094f7d7f662e20a37b6c94a46cab86586d734a
atomicity fix when enabling paging

- before enabling paging VM asks kernel to resize its segments. This
  may cause kernel to segfault if APIC is used and an interrupt
  happens between this and paging enabled. As these are 2 separate
  vmctl calls it is not atomic. This patch fixes this problem. VM does
  not ask kernel to resize the segments in a separate call anymore.
  The new segments limit is part of the "enable paging" call. It
  generalizes this call in such a way that more information can be
  passed as need be or the information may be completely different if
  another architecture requires this.
include/arch/i386/vm.h
include/minix/syslib.h
kernel/arch/i386/memory.c
kernel/proto.h
kernel/system/do_vmctl.c
lib/libsys/sys_vmctl.c
servers/vm/i386/pagetable.c