2007-01-07 15:11:33

by Yitzchak Eidus

[permalink] [raw]
Subject: controling on witch cpu part of module code exectue

i am writing a module that have to make use in the vmx operations,
to enable vmx operations i have to set bit 13 (vmxe bit) in the
control registetr cr4 to 1.
doing so in a uni cpu platform is not a problem, the question is what
to do when working on smp system?
to make all the cpus in the smp system support the vmx operations i
have to set the that bit in cr4 in each one of them to 1.
running the code servel times might always run on just one cpu and
therefor not set any other cpu cr4 register to this value.
what i ask is:how to control in dynamic runtime on witch cpu ~parts~
of the code will run...
(the question isnt about if there is a simpler way to set up all the
cr4 registers in smp system, but it is more interesting to me how to
control in dynamic runtime on witch cpu code will exectue in kernel
mode)
thanks!