It cannot be, since per-cpu data is re-allocated and zeroed across CPU
hotplug. Th ecomment about resetting teh per-cpu generation counter is
incorrect, since all vcpus must have been migrated to other cpus while
this cpu was offline, and that resets the per-vcpu generation stamp.
Signed-off-by: Keir Fraser <keir@xen.org>
u32 next_asid;
u32 max_asid;
bool_t disabled;
- bool_t initialised;
};
static DEFINE_PER_CPU(struct hvm_asid_data, hvm_asid_data);
static s8 g_disabled = -1;
struct hvm_asid_data *data = &this_cpu(hvm_asid_data);
- /*
- * If already initialised, we just bump the generation to force a TLB
- * flush. Resetting the generation could be dangerous, if VCPUs still
- * exist that reference earlier generations on this CPU.
- */
- if ( test_and_set_bool(data->initialised) )
- return hvm_asid_flush_core();
-
data->max_asid = nasids - 1;
data->disabled = (nasids <= 1);