mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-22 04:25:18 +00:00
cpu_x86: Use array of features in CPU map
There's no reason for keeping the features in a linked list. Especially when we know upfront the total number of features we are loading. Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
This commit is contained in:
parent
22137d3952
commit
3a7cd180a5
@ -56,8 +56,6 @@ typedef virCPUx86Feature *virCPUx86FeaturePtr;
|
|||||||
struct _virCPUx86Feature {
|
struct _virCPUx86Feature {
|
||||||
char *name;
|
char *name;
|
||||||
virCPUx86Data *data;
|
virCPUx86Data *data;
|
||||||
|
|
||||||
virCPUx86FeaturePtr next;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef struct _virCPUx86KVMFeature virCPUx86KVMFeature;
|
typedef struct _virCPUx86KVMFeature virCPUx86KVMFeature;
|
||||||
@ -102,10 +100,12 @@ typedef virCPUx86Map *virCPUx86MapPtr;
|
|||||||
struct _virCPUx86Map {
|
struct _virCPUx86Map {
|
||||||
size_t nvendors;
|
size_t nvendors;
|
||||||
virCPUx86VendorPtr *vendors;
|
virCPUx86VendorPtr *vendors;
|
||||||
virCPUx86FeaturePtr features;
|
size_t nfeatures;
|
||||||
|
virCPUx86FeaturePtr *features;
|
||||||
size_t nmodels;
|
size_t nmodels;
|
||||||
virCPUx86ModelPtr *models;
|
virCPUx86ModelPtr *models;
|
||||||
virCPUx86FeaturePtr migrate_blockers;
|
size_t nblockers;
|
||||||
|
virCPUx86FeaturePtr *migrate_blockers;
|
||||||
};
|
};
|
||||||
|
|
||||||
static virCPUx86MapPtr cpuMap;
|
static virCPUx86MapPtr cpuMap;
|
||||||
@ -412,15 +412,15 @@ x86DataToCPUFeatures(virCPUDefPtr cpu,
|
|||||||
virCPUx86Data *data,
|
virCPUx86Data *data,
|
||||||
virCPUx86MapPtr map)
|
virCPUx86MapPtr map)
|
||||||
{
|
{
|
||||||
virCPUx86FeaturePtr feature = map->features;
|
size_t i;
|
||||||
|
|
||||||
while (feature) {
|
for (i = 0; i < map->nfeatures; i++) {
|
||||||
|
virCPUx86FeaturePtr feature = map->features[i];
|
||||||
if (x86DataIsSubset(data, feature->data)) {
|
if (x86DataIsSubset(data, feature->data)) {
|
||||||
x86DataSubtract(data, feature->data);
|
x86DataSubtract(data, feature->data);
|
||||||
if (virCPUDefAddFeature(cpu, feature->name, policy) < 0)
|
if (virCPUDefAddFeature(cpu, feature->name, policy) < 0)
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
feature = feature->next;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
@ -599,40 +599,15 @@ x86FeatureFree(virCPUx86FeaturePtr feature)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static virCPUx86FeaturePtr
|
|
||||||
x86FeatureCopy(virCPUx86FeaturePtr src)
|
|
||||||
{
|
|
||||||
virCPUx86FeaturePtr feature;
|
|
||||||
|
|
||||||
if (VIR_ALLOC(feature) < 0)
|
|
||||||
return NULL;
|
|
||||||
|
|
||||||
if (VIR_STRDUP(feature->name, src->name) < 0)
|
|
||||||
goto error;
|
|
||||||
|
|
||||||
if (!(feature->data = x86DataCopy(src->data)))
|
|
||||||
goto error;
|
|
||||||
|
|
||||||
return feature;
|
|
||||||
|
|
||||||
error:
|
|
||||||
x86FeatureFree(feature);
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static virCPUx86FeaturePtr
|
static virCPUx86FeaturePtr
|
||||||
x86FeatureFind(virCPUx86MapPtr map,
|
x86FeatureFind(virCPUx86MapPtr map,
|
||||||
const char *name)
|
const char *name)
|
||||||
{
|
{
|
||||||
virCPUx86FeaturePtr feature;
|
size_t i;
|
||||||
|
|
||||||
feature = map->features;
|
for (i = 0; i < map->nfeatures; i++) {
|
||||||
while (feature) {
|
if (STREQ(map->features[i]->name, name))
|
||||||
if (STREQ(feature->name, name))
|
return map->features[i];
|
||||||
return feature;
|
|
||||||
|
|
||||||
feature = feature->next;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return NULL;
|
return NULL;
|
||||||
@ -646,21 +621,20 @@ x86FeatureNames(virCPUx86MapPtr map,
|
|||||||
{
|
{
|
||||||
virBuffer ret = VIR_BUFFER_INITIALIZER;
|
virBuffer ret = VIR_BUFFER_INITIALIZER;
|
||||||
bool first = true;
|
bool first = true;
|
||||||
|
size_t i;
|
||||||
virCPUx86FeaturePtr next_feature = map->features;
|
|
||||||
|
|
||||||
virBufferAdd(&ret, "", 0);
|
virBufferAdd(&ret, "", 0);
|
||||||
|
|
||||||
while (next_feature) {
|
for (i = 0; i < map->nfeatures; i++) {
|
||||||
if (x86DataIsSubset(data, next_feature->data)) {
|
virCPUx86FeaturePtr feature = map->features[i];
|
||||||
|
if (x86DataIsSubset(data, feature->data)) {
|
||||||
if (!first)
|
if (!first)
|
||||||
virBufferAdd(&ret, separator, -1);
|
virBufferAdd(&ret, separator, -1);
|
||||||
else
|
else
|
||||||
first = false;
|
first = false;
|
||||||
|
|
||||||
virBufferAdd(&ret, next_feature->name, -1);
|
virBufferAdd(&ret, feature->name, -1);
|
||||||
}
|
}
|
||||||
next_feature = next_feature->next;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return virBufferContentAndReset(&ret);
|
return virBufferContentAndReset(&ret);
|
||||||
@ -746,19 +720,13 @@ x86FeatureLoad(xmlXPathContextPtr ctxt,
|
|||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!migratable) {
|
if (!migratable &&
|
||||||
virCPUx86FeaturePtr blocker;
|
VIR_APPEND_ELEMENT_COPY(map->migrate_blockers,
|
||||||
|
map->nblockers, feature) < 0)
|
||||||
if (!(blocker = x86FeatureCopy(feature)))
|
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
blocker->next = map->migrate_blockers;
|
if (VIR_APPEND_ELEMENT(map->features, map->nfeatures, feature) < 0)
|
||||||
map->migrate_blockers = blocker;
|
goto cleanup;
|
||||||
}
|
|
||||||
|
|
||||||
feature->next = map->features;
|
|
||||||
map->features = feature;
|
|
||||||
feature = NULL;
|
|
||||||
|
|
||||||
ret = 0;
|
ret = 0;
|
||||||
|
|
||||||
@ -1106,11 +1074,9 @@ x86MapFree(virCPUx86MapPtr map)
|
|||||||
if (!map)
|
if (!map)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
while (map->features) {
|
for (i = 0; i < map->nfeatures; i++)
|
||||||
virCPUx86FeaturePtr feature = map->features;
|
x86FeatureFree(map->features[i]);
|
||||||
map->features = feature->next;
|
VIR_FREE(map->features);
|
||||||
x86FeatureFree(feature);
|
|
||||||
}
|
|
||||||
|
|
||||||
for (i = 0; i < map->nmodels; i++)
|
for (i = 0; i < map->nmodels; i++)
|
||||||
x86ModelFree(map->models[i]);
|
x86ModelFree(map->models[i]);
|
||||||
@ -1120,11 +1086,10 @@ x86MapFree(virCPUx86MapPtr map)
|
|||||||
x86VendorFree(map->vendors[i]);
|
x86VendorFree(map->vendors[i]);
|
||||||
VIR_FREE(map->vendors);
|
VIR_FREE(map->vendors);
|
||||||
|
|
||||||
while (map->migrate_blockers) {
|
/* migrate_blockers only points to the features from map->features list,
|
||||||
virCPUx86FeaturePtr migrate_blocker = map->migrate_blockers;
|
* which were already freed above
|
||||||
map->migrate_blockers = migrate_blocker->next;
|
*/
|
||||||
x86FeatureFree(migrate_blocker);
|
VIR_FREE(map->migrate_blockers);
|
||||||
}
|
|
||||||
|
|
||||||
VIR_FREE(map);
|
VIR_FREE(map);
|
||||||
}
|
}
|
||||||
@ -1157,14 +1122,19 @@ x86MapLoadInternalFeatures(virCPUx86MapPtr map)
|
|||||||
{
|
{
|
||||||
size_t i;
|
size_t i;
|
||||||
virCPUx86FeaturePtr feature = NULL;
|
virCPUx86FeaturePtr feature = NULL;
|
||||||
|
size_t nfeatures = map->nfeatures;
|
||||||
|
size_t count = ARRAY_CARDINALITY(x86_kvm_features);
|
||||||
|
|
||||||
for (i = 0; i < ARRAY_CARDINALITY(x86_kvm_features); i++) {
|
if (VIR_EXPAND_N(map->features, nfeatures, count) < 0)
|
||||||
|
goto error;
|
||||||
|
|
||||||
|
for (i = 0; i < count; i++) {
|
||||||
const char *name = x86_kvm_features[i].name;
|
const char *name = x86_kvm_features[i].name;
|
||||||
|
|
||||||
if (x86FeatureFind(map, name)) {
|
if (x86FeatureFind(map, name)) {
|
||||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
virReportError(VIR_ERR_INTERNAL_ERROR,
|
||||||
_("CPU feature %s already defined"), name);
|
_("CPU feature %s already defined"), name);
|
||||||
return -1;
|
goto error;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!(feature = x86FeatureNew()))
|
if (!(feature = x86FeatureNew()))
|
||||||
@ -1176,8 +1146,7 @@ x86MapLoadInternalFeatures(virCPUx86MapPtr map)
|
|||||||
if (virCPUx86DataAddCPUID(feature->data, &x86_kvm_features[i].cpuid))
|
if (virCPUx86DataAddCPUID(feature->data, &x86_kvm_features[i].cpuid))
|
||||||
goto error;
|
goto error;
|
||||||
|
|
||||||
feature->next = map->features;
|
map->features[map->nfeatures++] = feature;
|
||||||
map->features = feature;
|
|
||||||
feature = NULL;
|
feature = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1651,11 +1620,13 @@ x86Decode(virCPUDefPtr cpu,
|
|||||||
* features directly */
|
* features directly */
|
||||||
if (flags & VIR_CONNECT_BASELINE_CPU_MIGRATABLE) {
|
if (flags & VIR_CONNECT_BASELINE_CPU_MIGRATABLE) {
|
||||||
for (i = 0; i < cpuModel->nfeatures; i++) {
|
for (i = 0; i < cpuModel->nfeatures; i++) {
|
||||||
virCPUx86FeaturePtr feat;
|
size_t j;
|
||||||
for (feat = map->migrate_blockers; feat; feat = feat->next) {
|
for (j = 0; j < map->nblockers; j++) {
|
||||||
if (STREQ(feat->name, cpuModel->features[i].name)) {
|
if (STREQ(map->migrate_blockers[j]->name,
|
||||||
|
cpuModel->features[i].name)) {
|
||||||
VIR_FREE(cpuModel->features[i].name);
|
VIR_FREE(cpuModel->features[i].name);
|
||||||
VIR_DELETE_ELEMENT_INPLACE(cpuModel->features, i, cpuModel->nfeatures);
|
VIR_DELETE_ELEMENT_INPLACE(cpuModel->features, i,
|
||||||
|
cpuModel->nfeatures);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2106,7 +2077,6 @@ x86UpdateHostModel(virCPUDefPtr guest,
|
|||||||
{
|
{
|
||||||
virCPUDefPtr oldguest = NULL;
|
virCPUDefPtr oldguest = NULL;
|
||||||
virCPUx86MapPtr map;
|
virCPUx86MapPtr map;
|
||||||
virCPUx86FeaturePtr feat;
|
|
||||||
size_t i;
|
size_t i;
|
||||||
int ret = -1;
|
int ret = -1;
|
||||||
|
|
||||||
@ -2131,8 +2101,9 @@ x86UpdateHostModel(virCPUDefPtr guest,
|
|||||||
* Note: this only works as long as no CPU model contains non-migratable
|
* Note: this only works as long as no CPU model contains non-migratable
|
||||||
* features directly */
|
* features directly */
|
||||||
for (i = 0; i < guest->nfeatures; i++) {
|
for (i = 0; i < guest->nfeatures; i++) {
|
||||||
for (feat = map->migrate_blockers; feat; feat = feat->next) {
|
size_t j;
|
||||||
if (STREQ(feat->name, guest->features[i].name)) {
|
for (j = 0; j < map->nblockers; j++) {
|
||||||
|
if (STREQ(map->migrate_blockers[j]->name, guest->features[i].name)) {
|
||||||
VIR_FREE(guest->features[i].name);
|
VIR_FREE(guest->features[i].name);
|
||||||
VIR_DELETE_ELEMENT_INPLACE(guest->features, i, guest->nfeatures);
|
VIR_DELETE_ELEMENT_INPLACE(guest->features, i, guest->nfeatures);
|
||||||
}
|
}
|
||||||
|
@ -1,35 +1,35 @@
|
|||||||
<cpu mode='custom' match='exact'>
|
<cpu mode='custom' match='exact'>
|
||||||
<model fallback='forbid'>Westmere</model>
|
<model fallback='forbid'>Westmere</model>
|
||||||
<feature policy='require' name='lahf_lm'/>
|
|
||||||
<feature policy='require' name='lm'/>
|
|
||||||
<feature policy='require' name='nx'/>
|
|
||||||
<feature policy='require' name='syscall'/>
|
|
||||||
<feature policy='require' name='aes'/>
|
|
||||||
<feature policy='require' name='popcnt'/>
|
|
||||||
<feature policy='require' name='sse4.2'/>
|
|
||||||
<feature policy='require' name='sse4.1'/>
|
|
||||||
<feature policy='require' name='cx16'/>
|
|
||||||
<feature policy='require' name='ssse3'/>
|
|
||||||
<feature policy='require' name='pni'/>
|
|
||||||
<feature policy='require' name='sse2'/>
|
|
||||||
<feature policy='require' name='sse'/>
|
|
||||||
<feature policy='require' name='fxsr'/>
|
|
||||||
<feature policy='require' name='mmx'/>
|
|
||||||
<feature policy='require' name='clflush'/>
|
|
||||||
<feature policy='require' name='pse36'/>
|
|
||||||
<feature policy='require' name='pat'/>
|
|
||||||
<feature policy='require' name='cmov'/>
|
|
||||||
<feature policy='require' name='mca'/>
|
|
||||||
<feature policy='require' name='pge'/>
|
|
||||||
<feature policy='require' name='mtrr'/>
|
|
||||||
<feature policy='require' name='sep'/>
|
|
||||||
<feature policy='require' name='apic'/>
|
|
||||||
<feature policy='require' name='cx8'/>
|
|
||||||
<feature policy='require' name='mce'/>
|
|
||||||
<feature policy='require' name='pae'/>
|
|
||||||
<feature policy='require' name='msr'/>
|
|
||||||
<feature policy='require' name='tsc'/>
|
|
||||||
<feature policy='require' name='pse'/>
|
|
||||||
<feature policy='require' name='de'/>
|
|
||||||
<feature policy='require' name='fpu'/>
|
<feature policy='require' name='fpu'/>
|
||||||
|
<feature policy='require' name='de'/>
|
||||||
|
<feature policy='require' name='pse'/>
|
||||||
|
<feature policy='require' name='tsc'/>
|
||||||
|
<feature policy='require' name='msr'/>
|
||||||
|
<feature policy='require' name='pae'/>
|
||||||
|
<feature policy='require' name='mce'/>
|
||||||
|
<feature policy='require' name='cx8'/>
|
||||||
|
<feature policy='require' name='apic'/>
|
||||||
|
<feature policy='require' name='sep'/>
|
||||||
|
<feature policy='require' name='mtrr'/>
|
||||||
|
<feature policy='require' name='pge'/>
|
||||||
|
<feature policy='require' name='mca'/>
|
||||||
|
<feature policy='require' name='cmov'/>
|
||||||
|
<feature policy='require' name='pat'/>
|
||||||
|
<feature policy='require' name='pse36'/>
|
||||||
|
<feature policy='require' name='clflush'/>
|
||||||
|
<feature policy='require' name='mmx'/>
|
||||||
|
<feature policy='require' name='fxsr'/>
|
||||||
|
<feature policy='require' name='sse'/>
|
||||||
|
<feature policy='require' name='sse2'/>
|
||||||
|
<feature policy='require' name='pni'/>
|
||||||
|
<feature policy='require' name='ssse3'/>
|
||||||
|
<feature policy='require' name='cx16'/>
|
||||||
|
<feature policy='require' name='sse4.1'/>
|
||||||
|
<feature policy='require' name='sse4.2'/>
|
||||||
|
<feature policy='require' name='popcnt'/>
|
||||||
|
<feature policy='require' name='aes'/>
|
||||||
|
<feature policy='require' name='syscall'/>
|
||||||
|
<feature policy='require' name='nx'/>
|
||||||
|
<feature policy='require' name='lm'/>
|
||||||
|
<feature policy='require' name='lahf_lm'/>
|
||||||
</cpu>
|
</cpu>
|
||||||
|
@ -1,46 +1,46 @@
|
|||||||
<cpu mode='custom' match='exact'>
|
<cpu mode='custom' match='exact'>
|
||||||
<model fallback='forbid'>Westmere</model>
|
<model fallback='forbid'>Westmere</model>
|
||||||
<vendor>Intel</vendor>
|
<vendor>Intel</vendor>
|
||||||
<feature policy='require' name='hypervisor'/>
|
|
||||||
<feature policy='require' name='avx'/>
|
|
||||||
<feature policy='require' name='osxsave'/>
|
|
||||||
<feature policy='require' name='xsave'/>
|
|
||||||
<feature policy='require' name='tsc-deadline'/>
|
|
||||||
<feature policy='require' name='x2apic'/>
|
|
||||||
<feature policy='require' name='pcid'/>
|
|
||||||
<feature policy='require' name='pclmuldq'/>
|
|
||||||
<feature policy='require' name='ss'/>
|
|
||||||
<feature policy='require' name='vme'/>
|
<feature policy='require' name='vme'/>
|
||||||
<feature policy='require' name='lahf_lm'/>
|
<feature policy='require' name='ss'/>
|
||||||
<feature policy='require' name='lm'/>
|
<feature policy='require' name='pclmuldq'/>
|
||||||
<feature policy='require' name='nx'/>
|
<feature policy='require' name='pcid'/>
|
||||||
<feature policy='require' name='syscall'/>
|
<feature policy='require' name='x2apic'/>
|
||||||
<feature policy='require' name='aes'/>
|
<feature policy='require' name='tsc-deadline'/>
|
||||||
<feature policy='require' name='popcnt'/>
|
<feature policy='require' name='xsave'/>
|
||||||
<feature policy='require' name='sse4.2'/>
|
<feature policy='require' name='osxsave'/>
|
||||||
<feature policy='require' name='sse4.1'/>
|
<feature policy='require' name='avx'/>
|
||||||
<feature policy='require' name='cx16'/>
|
<feature policy='require' name='hypervisor'/>
|
||||||
<feature policy='require' name='ssse3'/>
|
|
||||||
<feature policy='require' name='pni'/>
|
|
||||||
<feature policy='require' name='sse2'/>
|
|
||||||
<feature policy='require' name='sse'/>
|
|
||||||
<feature policy='require' name='fxsr'/>
|
|
||||||
<feature policy='require' name='mmx'/>
|
|
||||||
<feature policy='require' name='clflush'/>
|
|
||||||
<feature policy='require' name='pse36'/>
|
|
||||||
<feature policy='require' name='pat'/>
|
|
||||||
<feature policy='require' name='cmov'/>
|
|
||||||
<feature policy='require' name='mca'/>
|
|
||||||
<feature policy='require' name='pge'/>
|
|
||||||
<feature policy='require' name='mtrr'/>
|
|
||||||
<feature policy='require' name='sep'/>
|
|
||||||
<feature policy='require' name='apic'/>
|
|
||||||
<feature policy='require' name='cx8'/>
|
|
||||||
<feature policy='require' name='mce'/>
|
|
||||||
<feature policy='require' name='pae'/>
|
|
||||||
<feature policy='require' name='msr'/>
|
|
||||||
<feature policy='require' name='tsc'/>
|
|
||||||
<feature policy='require' name='pse'/>
|
|
||||||
<feature policy='require' name='de'/>
|
|
||||||
<feature policy='require' name='fpu'/>
|
<feature policy='require' name='fpu'/>
|
||||||
|
<feature policy='require' name='de'/>
|
||||||
|
<feature policy='require' name='pse'/>
|
||||||
|
<feature policy='require' name='tsc'/>
|
||||||
|
<feature policy='require' name='msr'/>
|
||||||
|
<feature policy='require' name='pae'/>
|
||||||
|
<feature policy='require' name='mce'/>
|
||||||
|
<feature policy='require' name='cx8'/>
|
||||||
|
<feature policy='require' name='apic'/>
|
||||||
|
<feature policy='require' name='sep'/>
|
||||||
|
<feature policy='require' name='mtrr'/>
|
||||||
|
<feature policy='require' name='pge'/>
|
||||||
|
<feature policy='require' name='mca'/>
|
||||||
|
<feature policy='require' name='cmov'/>
|
||||||
|
<feature policy='require' name='pat'/>
|
||||||
|
<feature policy='require' name='pse36'/>
|
||||||
|
<feature policy='require' name='clflush'/>
|
||||||
|
<feature policy='require' name='mmx'/>
|
||||||
|
<feature policy='require' name='fxsr'/>
|
||||||
|
<feature policy='require' name='sse'/>
|
||||||
|
<feature policy='require' name='sse2'/>
|
||||||
|
<feature policy='require' name='pni'/>
|
||||||
|
<feature policy='require' name='ssse3'/>
|
||||||
|
<feature policy='require' name='cx16'/>
|
||||||
|
<feature policy='require' name='sse4.1'/>
|
||||||
|
<feature policy='require' name='sse4.2'/>
|
||||||
|
<feature policy='require' name='popcnt'/>
|
||||||
|
<feature policy='require' name='aes'/>
|
||||||
|
<feature policy='require' name='syscall'/>
|
||||||
|
<feature policy='require' name='nx'/>
|
||||||
|
<feature policy='require' name='lm'/>
|
||||||
|
<feature policy='require' name='lahf_lm'/>
|
||||||
</cpu>
|
</cpu>
|
||||||
|
@ -1,14 +1,14 @@
|
|||||||
<cpu mode='custom' match='exact'>
|
<cpu mode='custom' match='exact'>
|
||||||
<model fallback='forbid'>Westmere</model>
|
<model fallback='forbid'>Westmere</model>
|
||||||
<vendor>Intel</vendor>
|
<vendor>Intel</vendor>
|
||||||
<feature policy='require' name='hypervisor'/>
|
|
||||||
<feature policy='require' name='avx'/>
|
|
||||||
<feature policy='require' name='osxsave'/>
|
|
||||||
<feature policy='require' name='xsave'/>
|
|
||||||
<feature policy='require' name='tsc-deadline'/>
|
|
||||||
<feature policy='require' name='x2apic'/>
|
|
||||||
<feature policy='require' name='pcid'/>
|
|
||||||
<feature policy='require' name='pclmuldq'/>
|
|
||||||
<feature policy='require' name='ss'/>
|
|
||||||
<feature policy='require' name='vme'/>
|
<feature policy='require' name='vme'/>
|
||||||
|
<feature policy='require' name='ss'/>
|
||||||
|
<feature policy='require' name='pclmuldq'/>
|
||||||
|
<feature policy='require' name='pcid'/>
|
||||||
|
<feature policy='require' name='x2apic'/>
|
||||||
|
<feature policy='require' name='tsc-deadline'/>
|
||||||
|
<feature policy='require' name='xsave'/>
|
||||||
|
<feature policy='require' name='osxsave'/>
|
||||||
|
<feature policy='require' name='avx'/>
|
||||||
|
<feature policy='require' name='hypervisor'/>
|
||||||
</cpu>
|
</cpu>
|
||||||
|
@ -1,47 +1,47 @@
|
|||||||
<cpu mode='custom' match='exact'>
|
<cpu mode='custom' match='exact'>
|
||||||
<model fallback='allow'>SandyBridge</model>
|
<model fallback='allow'>SandyBridge</model>
|
||||||
<vendor>Intel</vendor>
|
<vendor>Intel</vendor>
|
||||||
<feature policy='require' name='hypervisor'/>
|
|
||||||
<feature policy='require' name='osxsave'/>
|
|
||||||
<feature policy='require' name='pcid'/>
|
|
||||||
<feature policy='require' name='ss'/>
|
|
||||||
<feature policy='require' name='vme'/>
|
<feature policy='require' name='vme'/>
|
||||||
|
<feature policy='require' name='ss'/>
|
||||||
|
<feature policy='require' name='pcid'/>
|
||||||
|
<feature policy='require' name='osxsave'/>
|
||||||
|
<feature policy='require' name='hypervisor'/>
|
||||||
<feature policy='disable' name='rdtscp'/>
|
<feature policy='disable' name='rdtscp'/>
|
||||||
<feature policy='require' name='lahf_lm'/>
|
|
||||||
<feature policy='require' name='lm'/>
|
|
||||||
<feature policy='require' name='nx'/>
|
|
||||||
<feature policy='require' name='syscall'/>
|
|
||||||
<feature policy='require' name='avx'/>
|
|
||||||
<feature policy='require' name='xsave'/>
|
|
||||||
<feature policy='require' name='aes'/>
|
|
||||||
<feature policy='require' name='tsc-deadline'/>
|
|
||||||
<feature policy='require' name='popcnt'/>
|
|
||||||
<feature policy='require' name='x2apic'/>
|
|
||||||
<feature policy='require' name='sse4.2'/>
|
|
||||||
<feature policy='require' name='sse4.1'/>
|
|
||||||
<feature policy='require' name='cx16'/>
|
|
||||||
<feature policy='require' name='ssse3'/>
|
|
||||||
<feature policy='require' name='pclmuldq'/>
|
|
||||||
<feature policy='require' name='pni'/>
|
|
||||||
<feature policy='require' name='sse2'/>
|
|
||||||
<feature policy='require' name='sse'/>
|
|
||||||
<feature policy='require' name='fxsr'/>
|
|
||||||
<feature policy='require' name='mmx'/>
|
|
||||||
<feature policy='require' name='clflush'/>
|
|
||||||
<feature policy='require' name='pse36'/>
|
|
||||||
<feature policy='require' name='pat'/>
|
|
||||||
<feature policy='require' name='cmov'/>
|
|
||||||
<feature policy='require' name='mca'/>
|
|
||||||
<feature policy='require' name='pge'/>
|
|
||||||
<feature policy='require' name='mtrr'/>
|
|
||||||
<feature policy='require' name='sep'/>
|
|
||||||
<feature policy='require' name='apic'/>
|
|
||||||
<feature policy='require' name='cx8'/>
|
|
||||||
<feature policy='require' name='mce'/>
|
|
||||||
<feature policy='require' name='pae'/>
|
|
||||||
<feature policy='require' name='msr'/>
|
|
||||||
<feature policy='require' name='tsc'/>
|
|
||||||
<feature policy='require' name='pse'/>
|
|
||||||
<feature policy='require' name='de'/>
|
|
||||||
<feature policy='require' name='fpu'/>
|
<feature policy='require' name='fpu'/>
|
||||||
|
<feature policy='require' name='de'/>
|
||||||
|
<feature policy='require' name='pse'/>
|
||||||
|
<feature policy='require' name='tsc'/>
|
||||||
|
<feature policy='require' name='msr'/>
|
||||||
|
<feature policy='require' name='pae'/>
|
||||||
|
<feature policy='require' name='mce'/>
|
||||||
|
<feature policy='require' name='cx8'/>
|
||||||
|
<feature policy='require' name='apic'/>
|
||||||
|
<feature policy='require' name='sep'/>
|
||||||
|
<feature policy='require' name='mtrr'/>
|
||||||
|
<feature policy='require' name='pge'/>
|
||||||
|
<feature policy='require' name='mca'/>
|
||||||
|
<feature policy='require' name='cmov'/>
|
||||||
|
<feature policy='require' name='pat'/>
|
||||||
|
<feature policy='require' name='pse36'/>
|
||||||
|
<feature policy='require' name='clflush'/>
|
||||||
|
<feature policy='require' name='mmx'/>
|
||||||
|
<feature policy='require' name='fxsr'/>
|
||||||
|
<feature policy='require' name='sse'/>
|
||||||
|
<feature policy='require' name='sse2'/>
|
||||||
|
<feature policy='require' name='pni'/>
|
||||||
|
<feature policy='require' name='pclmuldq'/>
|
||||||
|
<feature policy='require' name='ssse3'/>
|
||||||
|
<feature policy='require' name='cx16'/>
|
||||||
|
<feature policy='require' name='sse4.1'/>
|
||||||
|
<feature policy='require' name='sse4.2'/>
|
||||||
|
<feature policy='require' name='x2apic'/>
|
||||||
|
<feature policy='require' name='popcnt'/>
|
||||||
|
<feature policy='require' name='tsc-deadline'/>
|
||||||
|
<feature policy='require' name='aes'/>
|
||||||
|
<feature policy='require' name='xsave'/>
|
||||||
|
<feature policy='require' name='avx'/>
|
||||||
|
<feature policy='require' name='syscall'/>
|
||||||
|
<feature policy='require' name='nx'/>
|
||||||
|
<feature policy='require' name='lm'/>
|
||||||
|
<feature policy='require' name='lahf_lm'/>
|
||||||
</cpu>
|
</cpu>
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
<cpu mode='custom' match='exact'>
|
<cpu mode='custom' match='exact'>
|
||||||
<model fallback='allow'>SandyBridge</model>
|
<model fallback='allow'>SandyBridge</model>
|
||||||
<vendor>Intel</vendor>
|
<vendor>Intel</vendor>
|
||||||
<feature policy='require' name='hypervisor'/>
|
|
||||||
<feature policy='require' name='osxsave'/>
|
|
||||||
<feature policy='require' name='pcid'/>
|
|
||||||
<feature policy='require' name='ss'/>
|
|
||||||
<feature policy='require' name='vme'/>
|
<feature policy='require' name='vme'/>
|
||||||
|
<feature policy='require' name='ss'/>
|
||||||
|
<feature policy='require' name='pcid'/>
|
||||||
|
<feature policy='require' name='osxsave'/>
|
||||||
|
<feature policy='require' name='hypervisor'/>
|
||||||
<feature policy='disable' name='rdtscp'/>
|
<feature policy='disable' name='rdtscp'/>
|
||||||
</cpu>
|
</cpu>
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
<cpu mode='custom' match='exact'>
|
<cpu mode='custom' match='exact'>
|
||||||
<model fallback='allow'>SandyBridge</model>
|
<model fallback='allow'>SandyBridge</model>
|
||||||
<vendor>Intel</vendor>
|
<vendor>Intel</vendor>
|
||||||
<feature policy='require' name='hypervisor'/>
|
|
||||||
<feature policy='require' name='osxsave'/>
|
|
||||||
<feature policy='require' name='pcid'/>
|
|
||||||
<feature policy='require' name='ss'/>
|
|
||||||
<feature policy='require' name='vme'/>
|
<feature policy='require' name='vme'/>
|
||||||
|
<feature policy='require' name='ss'/>
|
||||||
|
<feature policy='require' name='pcid'/>
|
||||||
|
<feature policy='require' name='osxsave'/>
|
||||||
|
<feature policy='require' name='hypervisor'/>
|
||||||
<feature policy='disable' name='rdtscp'/>
|
<feature policy='disable' name='rdtscp'/>
|
||||||
</cpu>
|
</cpu>
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
<cpu mode='custom' match='exact'>
|
<cpu mode='custom' match='exact'>
|
||||||
<model fallback='allow'>SandyBridge</model>
|
<model fallback='allow'>SandyBridge</model>
|
||||||
<vendor>Intel</vendor>
|
<vendor>Intel</vendor>
|
||||||
<feature policy='require' name='invtsc'/>
|
|
||||||
<feature policy='require' name='hypervisor'/>
|
|
||||||
<feature policy='require' name='osxsave'/>
|
|
||||||
<feature policy='require' name='pcid'/>
|
|
||||||
<feature policy='require' name='ss'/>
|
|
||||||
<feature policy='require' name='vme'/>
|
<feature policy='require' name='vme'/>
|
||||||
|
<feature policy='require' name='ss'/>
|
||||||
|
<feature policy='require' name='pcid'/>
|
||||||
|
<feature policy='require' name='osxsave'/>
|
||||||
|
<feature policy='require' name='hypervisor'/>
|
||||||
|
<feature policy='require' name='invtsc'/>
|
||||||
<feature policy='disable' name='rdtscp'/>
|
<feature policy='disable' name='rdtscp'/>
|
||||||
</cpu>
|
</cpu>
|
||||||
|
@ -1,37 +1,37 @@
|
|||||||
<cpu mode='custom' match='exact'>
|
<cpu mode='custom' match='exact'>
|
||||||
<arch>x86_64</arch>
|
<arch>x86_64</arch>
|
||||||
<model fallback='allow'>486</model>
|
<model fallback='allow'>486</model>
|
||||||
<feature policy='require' name='svm'/>
|
|
||||||
<feature policy='require' name='lahf_lm'/>
|
|
||||||
<feature policy='require' name='3dnowext'/>
|
|
||||||
<feature policy='require' name='lm'/>
|
|
||||||
<feature policy='require' name='nx'/>
|
|
||||||
<feature policy='require' name='syscall'/>
|
|
||||||
<feature policy='require' name='sse4.1'/>
|
|
||||||
<feature policy='require' name='dca'/>
|
|
||||||
<feature policy='require' name='xtpr'/>
|
|
||||||
<feature policy='require' name='cx16'/>
|
|
||||||
<feature policy='require' name='ssse3'/>
|
|
||||||
<feature policy='require' name='monitor'/>
|
|
||||||
<feature policy='require' name='pni'/>
|
|
||||||
<feature policy='require' name='pbe'/>
|
|
||||||
<feature policy='require' name='sse2'/>
|
|
||||||
<feature policy='require' name='fxsr'/>
|
|
||||||
<feature policy='require' name='mmx'/>
|
|
||||||
<feature policy='require' name='clflush'/>
|
|
||||||
<feature policy='require' name='pse36'/>
|
|
||||||
<feature policy='require' name='pat'/>
|
|
||||||
<feature policy='require' name='cmov'/>
|
|
||||||
<feature policy='require' name='mca'/>
|
|
||||||
<feature policy='require' name='pge'/>
|
|
||||||
<feature policy='require' name='mtrr'/>
|
|
||||||
<feature policy='require' name='sep'/>
|
|
||||||
<feature policy='require' name='apic'/>
|
|
||||||
<feature policy='require' name='cx8'/>
|
|
||||||
<feature policy='require' name='mce'/>
|
|
||||||
<feature policy='require' name='pae'/>
|
|
||||||
<feature policy='require' name='msr'/>
|
|
||||||
<feature policy='require' name='tsc'/>
|
|
||||||
<feature policy='require' name='de'/>
|
<feature policy='require' name='de'/>
|
||||||
|
<feature policy='require' name='tsc'/>
|
||||||
|
<feature policy='require' name='msr'/>
|
||||||
|
<feature policy='require' name='pae'/>
|
||||||
|
<feature policy='require' name='mce'/>
|
||||||
|
<feature policy='require' name='cx8'/>
|
||||||
|
<feature policy='require' name='apic'/>
|
||||||
|
<feature policy='require' name='sep'/>
|
||||||
|
<feature policy='require' name='mtrr'/>
|
||||||
|
<feature policy='require' name='pge'/>
|
||||||
|
<feature policy='require' name='mca'/>
|
||||||
|
<feature policy='require' name='cmov'/>
|
||||||
|
<feature policy='require' name='pat'/>
|
||||||
|
<feature policy='require' name='pse36'/>
|
||||||
|
<feature policy='require' name='clflush'/>
|
||||||
|
<feature policy='require' name='mmx'/>
|
||||||
|
<feature policy='require' name='fxsr'/>
|
||||||
|
<feature policy='require' name='sse2'/>
|
||||||
|
<feature policy='require' name='pbe'/>
|
||||||
|
<feature policy='require' name='pni'/>
|
||||||
|
<feature policy='require' name='monitor'/>
|
||||||
|
<feature policy='require' name='ssse3'/>
|
||||||
|
<feature policy='require' name='cx16'/>
|
||||||
|
<feature policy='require' name='xtpr'/>
|
||||||
|
<feature policy='require' name='dca'/>
|
||||||
|
<feature policy='require' name='sse4.1'/>
|
||||||
|
<feature policy='require' name='syscall'/>
|
||||||
|
<feature policy='require' name='nx'/>
|
||||||
|
<feature policy='require' name='lm'/>
|
||||||
|
<feature policy='require' name='3dnowext'/>
|
||||||
|
<feature policy='require' name='lahf_lm'/>
|
||||||
|
<feature policy='require' name='svm'/>
|
||||||
<feature policy='disable' name='vme'/>
|
<feature policy='disable' name='vme'/>
|
||||||
</cpu>
|
</cpu>
|
||||||
|
@ -1,13 +1,13 @@
|
|||||||
<cpu mode='custom' match='exact'>
|
<cpu mode='custom' match='exact'>
|
||||||
<arch>x86_64</arch>
|
<arch>x86_64</arch>
|
||||||
<model fallback='allow'>Nehalem</model>
|
<model fallback='allow'>Nehalem</model>
|
||||||
<feature policy='require' name='svm'/>
|
|
||||||
<feature policy='require' name='3dnowext'/>
|
|
||||||
<feature policy='require' name='dca'/>
|
|
||||||
<feature policy='require' name='xtpr'/>
|
|
||||||
<feature policy='require' name='monitor'/>
|
|
||||||
<feature policy='require' name='pbe'/>
|
<feature policy='require' name='pbe'/>
|
||||||
<feature policy='disable' name='popcnt'/>
|
<feature policy='require' name='monitor'/>
|
||||||
<feature policy='disable' name='sse4.2'/>
|
<feature policy='require' name='xtpr'/>
|
||||||
|
<feature policy='require' name='dca'/>
|
||||||
|
<feature policy='require' name='3dnowext'/>
|
||||||
|
<feature policy='require' name='svm'/>
|
||||||
<feature policy='disable' name='sse'/>
|
<feature policy='disable' name='sse'/>
|
||||||
|
<feature policy='disable' name='sse4.2'/>
|
||||||
|
<feature policy='disable' name='popcnt'/>
|
||||||
</cpu>
|
</cpu>
|
||||||
|
@ -1,13 +1,13 @@
|
|||||||
<cpu mode='custom' match='exact'>
|
<cpu mode='custom' match='exact'>
|
||||||
<arch>x86_64</arch>
|
<arch>x86_64</arch>
|
||||||
<model fallback='allow'>qemu64</model>
|
<model fallback='allow'>qemu64</model>
|
||||||
<feature policy='require' name='lahf_lm'/>
|
|
||||||
<feature policy='require' name='3dnowext'/>
|
|
||||||
<feature policy='require' name='sse4.1'/>
|
|
||||||
<feature policy='require' name='dca'/>
|
|
||||||
<feature policy='require' name='xtpr'/>
|
|
||||||
<feature policy='require' name='ssse3'/>
|
|
||||||
<feature policy='require' name='monitor'/>
|
|
||||||
<feature policy='require' name='pbe'/>
|
<feature policy='require' name='pbe'/>
|
||||||
|
<feature policy='require' name='monitor'/>
|
||||||
|
<feature policy='require' name='ssse3'/>
|
||||||
|
<feature policy='require' name='xtpr'/>
|
||||||
|
<feature policy='require' name='dca'/>
|
||||||
|
<feature policy='require' name='sse4.1'/>
|
||||||
|
<feature policy='require' name='3dnowext'/>
|
||||||
|
<feature policy='require' name='lahf_lm'/>
|
||||||
<feature policy='disable' name='sse'/>
|
<feature policy='disable' name='sse'/>
|
||||||
</cpu>
|
</cpu>
|
||||||
|
@ -1,13 +1,13 @@
|
|||||||
<cpu mode='custom' match='exact'>
|
<cpu mode='custom' match='exact'>
|
||||||
<arch>x86_64</arch>
|
<arch>x86_64</arch>
|
||||||
<model fallback='allow'>Nehalem</model>
|
<model fallback='allow'>Nehalem</model>
|
||||||
<feature policy='require' name='svm'/>
|
|
||||||
<feature policy='require' name='3dnowext'/>
|
|
||||||
<feature policy='require' name='dca'/>
|
|
||||||
<feature policy='require' name='xtpr'/>
|
|
||||||
<feature policy='require' name='monitor'/>
|
|
||||||
<feature policy='require' name='pbe'/>
|
<feature policy='require' name='pbe'/>
|
||||||
<feature policy='disable' name='popcnt'/>
|
<feature policy='require' name='monitor'/>
|
||||||
<feature policy='disable' name='sse4.2'/>
|
<feature policy='require' name='xtpr'/>
|
||||||
|
<feature policy='require' name='dca'/>
|
||||||
|
<feature policy='require' name='3dnowext'/>
|
||||||
|
<feature policy='require' name='svm'/>
|
||||||
<feature policy='disable' name='sse'/>
|
<feature policy='disable' name='sse'/>
|
||||||
|
<feature policy='disable' name='sse4.2'/>
|
||||||
|
<feature policy='disable' name='popcnt'/>
|
||||||
</cpu>
|
</cpu>
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
<cpu mode='custom' match='exact'>
|
<cpu mode='custom' match='exact'>
|
||||||
<arch>x86_64</arch>
|
<arch>x86_64</arch>
|
||||||
<model fallback='allow'>Penryn</model>
|
<model fallback='allow'>Penryn</model>
|
||||||
<feature policy='require' name='svm'/>
|
|
||||||
<feature policy='require' name='3dnowext'/>
|
|
||||||
<feature policy='require' name='dca'/>
|
|
||||||
<feature policy='require' name='xtpr'/>
|
|
||||||
<feature policy='require' name='monitor'/>
|
|
||||||
<feature policy='require' name='pbe'/>
|
<feature policy='require' name='pbe'/>
|
||||||
|
<feature policy='require' name='monitor'/>
|
||||||
|
<feature policy='require' name='xtpr'/>
|
||||||
|
<feature policy='require' name='dca'/>
|
||||||
|
<feature policy='require' name='3dnowext'/>
|
||||||
|
<feature policy='require' name='svm'/>
|
||||||
<feature policy='disable' name='sse'/>
|
<feature policy='disable' name='sse'/>
|
||||||
</cpu>
|
</cpu>
|
||||||
|
@ -1,19 +1,19 @@
|
|||||||
<cpu mode='custom' match='exact'>
|
<cpu mode='custom' match='exact'>
|
||||||
<arch>x86_64</arch>
|
<arch>x86_64</arch>
|
||||||
<model fallback='allow'>core2duo</model>
|
<model fallback='allow'>core2duo</model>
|
||||||
<feature policy='require' name='lahf_lm'/>
|
|
||||||
<feature policy='require' name='sse4.1'/>
|
|
||||||
<feature policy='require' name='dca'/>
|
|
||||||
<feature policy='require' name='xtpr'/>
|
|
||||||
<feature policy='require' name='cx16'/>
|
|
||||||
<feature policy='require' name='tm2'/>
|
|
||||||
<feature policy='require' name='est'/>
|
|
||||||
<feature policy='require' name='vmx'/>
|
|
||||||
<feature policy='require' name='ds_cpl'/>
|
|
||||||
<feature policy='require' name='pbe'/>
|
|
||||||
<feature policy='require' name='tm'/>
|
|
||||||
<feature policy='require' name='ht'/>
|
|
||||||
<feature policy='require' name='ss'/>
|
|
||||||
<feature policy='require' name='acpi'/>
|
|
||||||
<feature policy='require' name='ds'/>
|
<feature policy='require' name='ds'/>
|
||||||
|
<feature policy='require' name='acpi'/>
|
||||||
|
<feature policy='require' name='ss'/>
|
||||||
|
<feature policy='require' name='ht'/>
|
||||||
|
<feature policy='require' name='tm'/>
|
||||||
|
<feature policy='require' name='pbe'/>
|
||||||
|
<feature policy='require' name='ds_cpl'/>
|
||||||
|
<feature policy='require' name='vmx'/>
|
||||||
|
<feature policy='require' name='est'/>
|
||||||
|
<feature policy='require' name='tm2'/>
|
||||||
|
<feature policy='require' name='cx16'/>
|
||||||
|
<feature policy='require' name='xtpr'/>
|
||||||
|
<feature policy='require' name='dca'/>
|
||||||
|
<feature policy='require' name='sse4.1'/>
|
||||||
|
<feature policy='require' name='lahf_lm'/>
|
||||||
</cpu>
|
</cpu>
|
||||||
|
@ -1,17 +1,17 @@
|
|||||||
<cpu mode='custom' match='exact'>
|
<cpu mode='custom' match='exact'>
|
||||||
<model fallback='allow'>Penryn</model>
|
<model fallback='allow'>Penryn</model>
|
||||||
<feature policy='require' name='dca'/>
|
|
||||||
<feature policy='require' name='xtpr'/>
|
|
||||||
<feature policy='require' name='tm2'/>
|
|
||||||
<feature policy='require' name='est'/>
|
|
||||||
<feature policy='require' name='vmx'/>
|
|
||||||
<feature policy='require' name='ds_cpl'/>
|
|
||||||
<feature policy='require' name='monitor'/>
|
|
||||||
<feature policy='require' name='pbe'/>
|
|
||||||
<feature policy='require' name='tm'/>
|
|
||||||
<feature policy='require' name='ht'/>
|
|
||||||
<feature policy='require' name='ss'/>
|
|
||||||
<feature policy='require' name='acpi'/>
|
|
||||||
<feature policy='require' name='ds'/>
|
|
||||||
<feature policy='require' name='vme'/>
|
<feature policy='require' name='vme'/>
|
||||||
|
<feature policy='require' name='ds'/>
|
||||||
|
<feature policy='require' name='acpi'/>
|
||||||
|
<feature policy='require' name='ss'/>
|
||||||
|
<feature policy='require' name='ht'/>
|
||||||
|
<feature policy='require' name='tm'/>
|
||||||
|
<feature policy='require' name='pbe'/>
|
||||||
|
<feature policy='require' name='monitor'/>
|
||||||
|
<feature policy='require' name='ds_cpl'/>
|
||||||
|
<feature policy='require' name='vmx'/>
|
||||||
|
<feature policy='require' name='est'/>
|
||||||
|
<feature policy='require' name='tm2'/>
|
||||||
|
<feature policy='require' name='xtpr'/>
|
||||||
|
<feature policy='require' name='dca'/>
|
||||||
</cpu>
|
</cpu>
|
||||||
|
@ -1,27 +1,27 @@
|
|||||||
<cpu mode='custom' match='exact'>
|
<cpu mode='custom' match='exact'>
|
||||||
<model fallback='allow'>pentium3</model>
|
<model fallback='allow'>pentium3</model>
|
||||||
<feature policy='require' name='lahf_lm'/>
|
|
||||||
<feature policy='require' name='lm'/>
|
|
||||||
<feature policy='require' name='nx'/>
|
|
||||||
<feature policy='require' name='syscall'/>
|
|
||||||
<feature policy='require' name='sse4.1'/>
|
|
||||||
<feature policy='require' name='dca'/>
|
|
||||||
<feature policy='require' name='xtpr'/>
|
|
||||||
<feature policy='require' name='cx16'/>
|
|
||||||
<feature policy='require' name='ssse3'/>
|
|
||||||
<feature policy='require' name='tm2'/>
|
|
||||||
<feature policy='require' name='est'/>
|
|
||||||
<feature policy='require' name='vmx'/>
|
|
||||||
<feature policy='require' name='ds_cpl'/>
|
|
||||||
<feature policy='require' name='monitor'/>
|
|
||||||
<feature policy='require' name='pni'/>
|
|
||||||
<feature policy='require' name='pbe'/>
|
|
||||||
<feature policy='require' name='tm'/>
|
|
||||||
<feature policy='require' name='ht'/>
|
|
||||||
<feature policy='require' name='ss'/>
|
|
||||||
<feature policy='require' name='sse2'/>
|
|
||||||
<feature policy='require' name='acpi'/>
|
|
||||||
<feature policy='require' name='ds'/>
|
|
||||||
<feature policy='require' name='clflush'/>
|
|
||||||
<feature policy='require' name='apic'/>
|
<feature policy='require' name='apic'/>
|
||||||
|
<feature policy='require' name='clflush'/>
|
||||||
|
<feature policy='require' name='ds'/>
|
||||||
|
<feature policy='require' name='acpi'/>
|
||||||
|
<feature policy='require' name='sse2'/>
|
||||||
|
<feature policy='require' name='ss'/>
|
||||||
|
<feature policy='require' name='ht'/>
|
||||||
|
<feature policy='require' name='tm'/>
|
||||||
|
<feature policy='require' name='pbe'/>
|
||||||
|
<feature policy='require' name='pni'/>
|
||||||
|
<feature policy='require' name='monitor'/>
|
||||||
|
<feature policy='require' name='ds_cpl'/>
|
||||||
|
<feature policy='require' name='vmx'/>
|
||||||
|
<feature policy='require' name='est'/>
|
||||||
|
<feature policy='require' name='tm2'/>
|
||||||
|
<feature policy='require' name='ssse3'/>
|
||||||
|
<feature policy='require' name='cx16'/>
|
||||||
|
<feature policy='require' name='xtpr'/>
|
||||||
|
<feature policy='require' name='dca'/>
|
||||||
|
<feature policy='require' name='sse4.1'/>
|
||||||
|
<feature policy='require' name='syscall'/>
|
||||||
|
<feature policy='require' name='nx'/>
|
||||||
|
<feature policy='require' name='lm'/>
|
||||||
|
<feature policy='require' name='lahf_lm'/>
|
||||||
</cpu>
|
</cpu>
|
||||||
|
@ -1,19 +1,19 @@
|
|||||||
<cpu mode='custom' match='exact'>
|
<cpu mode='custom' match='exact'>
|
||||||
<arch>x86_64</arch>
|
<arch>x86_64</arch>
|
||||||
<model fallback='allow'>Penryn</model>
|
<model fallback='allow'>Penryn</model>
|
||||||
<feature policy='require' name='3dnow'/>
|
|
||||||
<feature policy='require' name='dca'/>
|
|
||||||
<feature policy='require' name='xtpr'/>
|
|
||||||
<feature policy='require' name='tm2'/>
|
|
||||||
<feature policy='require' name='est'/>
|
|
||||||
<feature policy='require' name='vmx'/>
|
|
||||||
<feature policy='require' name='ds_cpl'/>
|
|
||||||
<feature policy='require' name='monitor'/>
|
|
||||||
<feature policy='require' name='pbe'/>
|
|
||||||
<feature policy='require' name='tm'/>
|
|
||||||
<feature policy='require' name='ht'/>
|
|
||||||
<feature policy='require' name='ss'/>
|
|
||||||
<feature policy='require' name='acpi'/>
|
|
||||||
<feature policy='require' name='ds'/>
|
|
||||||
<feature policy='require' name='vme'/>
|
<feature policy='require' name='vme'/>
|
||||||
|
<feature policy='require' name='ds'/>
|
||||||
|
<feature policy='require' name='acpi'/>
|
||||||
|
<feature policy='require' name='ss'/>
|
||||||
|
<feature policy='require' name='ht'/>
|
||||||
|
<feature policy='require' name='tm'/>
|
||||||
|
<feature policy='require' name='pbe'/>
|
||||||
|
<feature policy='require' name='monitor'/>
|
||||||
|
<feature policy='require' name='ds_cpl'/>
|
||||||
|
<feature policy='require' name='vmx'/>
|
||||||
|
<feature policy='require' name='est'/>
|
||||||
|
<feature policy='require' name='tm2'/>
|
||||||
|
<feature policy='require' name='xtpr'/>
|
||||||
|
<feature policy='require' name='dca'/>
|
||||||
|
<feature policy='require' name='3dnow'/>
|
||||||
</cpu>
|
</cpu>
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<cpu mode='custom' match='exact'>
|
<cpu mode='custom' match='exact'>
|
||||||
<arch>x86_64</arch>
|
<arch>x86_64</arch>
|
||||||
<model fallback='allow'>Haswell</model>
|
<model fallback='allow'>Haswell</model>
|
||||||
<feature policy='disable' name='rtm'/>
|
|
||||||
<feature policy='disable' name='hle'/>
|
<feature policy='disable' name='hle'/>
|
||||||
|
<feature policy='disable' name='rtm'/>
|
||||||
</cpu>
|
</cpu>
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<cpu mode='custom' match='exact'>
|
<cpu mode='custom' match='exact'>
|
||||||
<arch>x86_64</arch>
|
<arch>x86_64</arch>
|
||||||
<model fallback='allow'>Haswell</model>
|
<model fallback='allow'>Haswell</model>
|
||||||
<feature policy='disable' name='rtm'/>
|
|
||||||
<feature policy='disable' name='hle'/>
|
<feature policy='disable' name='hle'/>
|
||||||
|
<feature policy='disable' name='rtm'/>
|
||||||
</cpu>
|
</cpu>
|
||||||
|
@ -1,21 +1,21 @@
|
|||||||
<cpu mode='custom' match='exact'>
|
<cpu mode='custom' match='exact'>
|
||||||
<arch>x86_64</arch>
|
<arch>x86_64</arch>
|
||||||
<model fallback='allow'>core2duo</model>
|
<model fallback='allow'>core2duo</model>
|
||||||
<feature policy='require' name='lahf_lm'/>
|
|
||||||
<feature policy='require' name='popcnt'/>
|
|
||||||
<feature policy='require' name='sse4.2'/>
|
|
||||||
<feature policy='require' name='sse4.1'/>
|
|
||||||
<feature policy='require' name='dca'/>
|
|
||||||
<feature policy='require' name='xtpr'/>
|
|
||||||
<feature policy='require' name='cx16'/>
|
|
||||||
<feature policy='require' name='tm2'/>
|
|
||||||
<feature policy='require' name='est'/>
|
|
||||||
<feature policy='require' name='vmx'/>
|
|
||||||
<feature policy='require' name='ds_cpl'/>
|
|
||||||
<feature policy='require' name='pbe'/>
|
|
||||||
<feature policy='require' name='tm'/>
|
|
||||||
<feature policy='require' name='ht'/>
|
|
||||||
<feature policy='require' name='ss'/>
|
|
||||||
<feature policy='require' name='acpi'/>
|
|
||||||
<feature policy='require' name='ds'/>
|
<feature policy='require' name='ds'/>
|
||||||
|
<feature policy='require' name='acpi'/>
|
||||||
|
<feature policy='require' name='ss'/>
|
||||||
|
<feature policy='require' name='ht'/>
|
||||||
|
<feature policy='require' name='tm'/>
|
||||||
|
<feature policy='require' name='pbe'/>
|
||||||
|
<feature policy='require' name='ds_cpl'/>
|
||||||
|
<feature policy='require' name='vmx'/>
|
||||||
|
<feature policy='require' name='est'/>
|
||||||
|
<feature policy='require' name='tm2'/>
|
||||||
|
<feature policy='require' name='cx16'/>
|
||||||
|
<feature policy='require' name='xtpr'/>
|
||||||
|
<feature policy='require' name='dca'/>
|
||||||
|
<feature policy='require' name='sse4.1'/>
|
||||||
|
<feature policy='require' name='sse4.2'/>
|
||||||
|
<feature policy='require' name='popcnt'/>
|
||||||
|
<feature policy='require' name='lahf_lm'/>
|
||||||
</cpu>
|
</cpu>
|
||||||
|
@ -1,30 +1,30 @@
|
|||||||
<cpu mode='custom' match='exact'>
|
<cpu mode='custom' match='exact'>
|
||||||
<arch>x86_64</arch>
|
<arch>x86_64</arch>
|
||||||
<model fallback='allow'>pentium3</model>
|
<model fallback='allow'>pentium3</model>
|
||||||
<feature policy='require' name='lahf_lm'/>
|
|
||||||
<feature policy='require' name='lm'/>
|
|
||||||
<feature policy='require' name='nx'/>
|
|
||||||
<feature policy='require' name='syscall'/>
|
|
||||||
<feature policy='require' name='popcnt'/>
|
|
||||||
<feature policy='require' name='sse4.2'/>
|
|
||||||
<feature policy='require' name='sse4.1'/>
|
|
||||||
<feature policy='require' name='dca'/>
|
|
||||||
<feature policy='require' name='xtpr'/>
|
|
||||||
<feature policy='require' name='cx16'/>
|
|
||||||
<feature policy='require' name='ssse3'/>
|
|
||||||
<feature policy='require' name='tm2'/>
|
|
||||||
<feature policy='require' name='est'/>
|
|
||||||
<feature policy='require' name='vmx'/>
|
|
||||||
<feature policy='require' name='ds_cpl'/>
|
|
||||||
<feature policy='require' name='monitor'/>
|
|
||||||
<feature policy='require' name='pni'/>
|
|
||||||
<feature policy='require' name='pbe'/>
|
|
||||||
<feature policy='require' name='tm'/>
|
|
||||||
<feature policy='require' name='ht'/>
|
|
||||||
<feature policy='require' name='ss'/>
|
|
||||||
<feature policy='require' name='sse2'/>
|
|
||||||
<feature policy='require' name='acpi'/>
|
|
||||||
<feature policy='require' name='ds'/>
|
|
||||||
<feature policy='require' name='clflush'/>
|
|
||||||
<feature policy='require' name='apic'/>
|
<feature policy='require' name='apic'/>
|
||||||
|
<feature policy='require' name='clflush'/>
|
||||||
|
<feature policy='require' name='ds'/>
|
||||||
|
<feature policy='require' name='acpi'/>
|
||||||
|
<feature policy='require' name='sse2'/>
|
||||||
|
<feature policy='require' name='ss'/>
|
||||||
|
<feature policy='require' name='ht'/>
|
||||||
|
<feature policy='require' name='tm'/>
|
||||||
|
<feature policy='require' name='pbe'/>
|
||||||
|
<feature policy='require' name='pni'/>
|
||||||
|
<feature policy='require' name='monitor'/>
|
||||||
|
<feature policy='require' name='ds_cpl'/>
|
||||||
|
<feature policy='require' name='vmx'/>
|
||||||
|
<feature policy='require' name='est'/>
|
||||||
|
<feature policy='require' name='tm2'/>
|
||||||
|
<feature policy='require' name='ssse3'/>
|
||||||
|
<feature policy='require' name='cx16'/>
|
||||||
|
<feature policy='require' name='xtpr'/>
|
||||||
|
<feature policy='require' name='dca'/>
|
||||||
|
<feature policy='require' name='sse4.1'/>
|
||||||
|
<feature policy='require' name='sse4.2'/>
|
||||||
|
<feature policy='require' name='popcnt'/>
|
||||||
|
<feature policy='require' name='syscall'/>
|
||||||
|
<feature policy='require' name='nx'/>
|
||||||
|
<feature policy='require' name='lm'/>
|
||||||
|
<feature policy='require' name='lahf_lm'/>
|
||||||
</cpu>
|
</cpu>
|
||||||
|
@ -1,18 +1,18 @@
|
|||||||
<cpu mode='custom' match='exact'>
|
<cpu mode='custom' match='exact'>
|
||||||
<arch>x86_64</arch>
|
<arch>x86_64</arch>
|
||||||
<model fallback='allow'>Nehalem</model>
|
<model fallback='allow'>Nehalem</model>
|
||||||
<feature policy='require' name='dca'/>
|
|
||||||
<feature policy='require' name='xtpr'/>
|
|
||||||
<feature policy='require' name='tm2'/>
|
|
||||||
<feature policy='require' name='est'/>
|
|
||||||
<feature policy='require' name='vmx'/>
|
|
||||||
<feature policy='require' name='ds_cpl'/>
|
|
||||||
<feature policy='require' name='monitor'/>
|
|
||||||
<feature policy='require' name='pbe'/>
|
|
||||||
<feature policy='require' name='tm'/>
|
|
||||||
<feature policy='require' name='ht'/>
|
|
||||||
<feature policy='require' name='ss'/>
|
|
||||||
<feature policy='require' name='acpi'/>
|
|
||||||
<feature policy='require' name='ds'/>
|
|
||||||
<feature policy='require' name='vme'/>
|
<feature policy='require' name='vme'/>
|
||||||
|
<feature policy='require' name='ds'/>
|
||||||
|
<feature policy='require' name='acpi'/>
|
||||||
|
<feature policy='require' name='ss'/>
|
||||||
|
<feature policy='require' name='ht'/>
|
||||||
|
<feature policy='require' name='tm'/>
|
||||||
|
<feature policy='require' name='pbe'/>
|
||||||
|
<feature policy='require' name='monitor'/>
|
||||||
|
<feature policy='require' name='ds_cpl'/>
|
||||||
|
<feature policy='require' name='vmx'/>
|
||||||
|
<feature policy='require' name='est'/>
|
||||||
|
<feature policy='require' name='tm2'/>
|
||||||
|
<feature policy='require' name='xtpr'/>
|
||||||
|
<feature policy='require' name='dca'/>
|
||||||
</cpu>
|
</cpu>
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
<cpu mode='custom' match='exact'>
|
<cpu mode='custom' match='exact'>
|
||||||
<arch>x86_64</arch>
|
<arch>x86_64</arch>
|
||||||
<model fallback='allow'>Penryn</model>
|
<model fallback='allow'>Penryn</model>
|
||||||
<feature policy='require' name='svm'/>
|
|
||||||
<feature policy='require' name='3dnowext'/>
|
|
||||||
<feature policy='require' name='monitor'/>
|
|
||||||
<feature policy='require' name='pbe'/>
|
<feature policy='require' name='pbe'/>
|
||||||
|
<feature policy='require' name='monitor'/>
|
||||||
|
<feature policy='require' name='3dnowext'/>
|
||||||
|
<feature policy='require' name='svm'/>
|
||||||
<feature policy='disable' name='sse'/>
|
<feature policy='disable' name='sse'/>
|
||||||
</cpu>
|
</cpu>
|
||||||
|
@ -8,7 +8,7 @@ QEMU_AUDIO_DRV=none \
|
|||||||
-name QEMUGuest1 \
|
-name QEMUGuest1 \
|
||||||
-S \
|
-S \
|
||||||
-M pc \
|
-M pc \
|
||||||
-cpu Haswell,-rtm,-hle \
|
-cpu Haswell,-hle,-rtm \
|
||||||
-m 214 \
|
-m 214 \
|
||||||
-smp 6 \
|
-smp 6 \
|
||||||
-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
|
-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
|
||||||
|
@ -8,7 +8,7 @@ QEMU_AUDIO_DRV=none \
|
|||||||
-name QEMUGuest1 \
|
-name QEMUGuest1 \
|
||||||
-S \
|
-S \
|
||||||
-M pc \
|
-M pc \
|
||||||
-cpu qemu64,-svm,-lm,-nx,-syscall,-clflush,-pse36,-mca \
|
-cpu qemu64,-mca,-pse36,-clflush,-syscall,-nx,-lm,-svm \
|
||||||
-m 214 \
|
-m 214 \
|
||||||
-smp 6 \
|
-smp 6 \
|
||||||
-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
|
-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
|
||||||
|
@ -8,7 +8,7 @@ QEMU_AUDIO_DRV=none \
|
|||||||
-name QEMUGuest1 \
|
-name QEMUGuest1 \
|
||||||
-S \
|
-S \
|
||||||
-M pc \
|
-M pc \
|
||||||
-cpu core2duo,+lahf_lm,+3dnowext,+xtpr,+ds_cpl,+tm,+ht,+ds,-nx \
|
-cpu core2duo,+ds,+ht,+tm,+ds_cpl,+xtpr,+3dnowext,+lahf_lm,-nx \
|
||||||
-m 214 \
|
-m 214 \
|
||||||
-smp 6 \
|
-smp 6 \
|
||||||
-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
|
-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
|
||||||
|
@ -8,7 +8,7 @@ QEMU_AUDIO_DRV=none \
|
|||||||
-name QEMUGuest1 \
|
-name QEMUGuest1 \
|
||||||
-S \
|
-S \
|
||||||
-M pc \
|
-M pc \
|
||||||
-cpu core2duo,+lahf_lm,+3dnowext,+xtpr,+ds_cpl,+tm,+ht,+ds,-nx \
|
-cpu core2duo,+ds,+ht,+tm,+ds_cpl,+xtpr,+3dnowext,+lahf_lm,-nx \
|
||||||
-m 214 \
|
-m 214 \
|
||||||
-smp 6 \
|
-smp 6 \
|
||||||
-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
|
-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
|
||||||
|
@ -8,8 +8,8 @@ QEMU_AUDIO_DRV=none \
|
|||||||
-name QEMUGuest1 \
|
-name QEMUGuest1 \
|
||||||
-S \
|
-S \
|
||||||
-M pc \
|
-M pc \
|
||||||
-cpu Penryn,+xtpr,+tm2,+est,+vmx,+ds_cpl,+monitor,+pbe,+tm,+ht,+ss,+acpi,+ds,\
|
-cpu Penryn,+vme,+ds,+acpi,+ss,+ht,+tm,+pbe,+monitor,+ds_cpl,+vmx,+est,+tm2,\
|
||||||
+vme,-sse4.1 \
|
+xtpr,-sse4.1 \
|
||||||
-m 214 \
|
-m 214 \
|
||||||
-smp 6 \
|
-smp 6 \
|
||||||
-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
|
-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
|
||||||
|
@ -8,8 +8,8 @@ QEMU_AUDIO_DRV=none \
|
|||||||
-name QEMUGuest1 \
|
-name QEMUGuest1 \
|
||||||
-S \
|
-S \
|
||||||
-M pc \
|
-M pc \
|
||||||
-cpu 'core2duo,vendor=Libvirt QEMU,+lahf_lm,+xtpr,+cx16,+tm2,+est,+vmx,+ds_cpl,\
|
-cpu 'core2duo,vendor=Libvirt QEMU,+ds,+acpi,+ss,+ht,+tm,+pbe,+ds_cpl,+vmx,+est,\
|
||||||
+pbe,+tm,+ht,+ss,+acpi,+ds' \
|
+tm2,+cx16,+xtpr,+lahf_lm' \
|
||||||
-m 214 \
|
-m 214 \
|
||||||
-smp 6 \
|
-smp 6 \
|
||||||
-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
|
-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
|
||||||
|
@ -8,8 +8,8 @@ QEMU_AUDIO_DRV=none \
|
|||||||
-name QEMUGuest1 \
|
-name QEMUGuest1 \
|
||||||
-S \
|
-S \
|
||||||
-M pc \
|
-M pc \
|
||||||
-cpu core2duo,+lahf_lm,+xtpr,+cx16,+tm2,+est,+vmx,+ds_cpl,+pbe,+tm,+ht,+ss,+acpi,\
|
-cpu core2duo,+ds,+acpi,+ss,+ht,+tm,+pbe,+ds_cpl,+vmx,+est,+tm2,+cx16,+xtpr,\
|
||||||
+ds \
|
+lahf_lm \
|
||||||
-m 214 \
|
-m 214 \
|
||||||
-smp 6 \
|
-smp 6 \
|
||||||
-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
|
-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
|
||||||
|
@ -8,8 +8,8 @@ QEMU_AUDIO_DRV=none \
|
|||||||
-name QEMUGuest1 \
|
-name QEMUGuest1 \
|
||||||
-S \
|
-S \
|
||||||
-M pc \
|
-M pc \
|
||||||
-cpu core2duo,+lahf_lm,+xtpr,+cx16,+tm2,+est,+vmx,+ds_cpl,+pbe,+tm,+ht,+ss,+acpi,\
|
-cpu core2duo,+ds,+acpi,+ss,+ht,+tm,+pbe,+ds_cpl,+vmx,+est,+tm2,+cx16,+xtpr,\
|
||||||
+ds \
|
+lahf_lm \
|
||||||
-m 214 \
|
-m 214 \
|
||||||
-smp 6 \
|
-smp 6 \
|
||||||
-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
|
-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
|
||||||
|
@ -8,8 +8,8 @@ QEMU_AUDIO_DRV=none \
|
|||||||
-name QEMUGuest1 \
|
-name QEMUGuest1 \
|
||||||
-S \
|
-S \
|
||||||
-M pc \
|
-M pc \
|
||||||
-cpu core2duo,+lahf_lm,+xtpr,+cx16,+tm2,+est,+vmx,+ds_cpl,+pbe,+tm,+ht,+ss,+acpi,\
|
-cpu core2duo,+ds,+acpi,+ss,+ht,+tm,+pbe,+ds_cpl,+vmx,+est,+tm2,+cx16,+xtpr,\
|
||||||
+ds,-lm,-nx,-syscall \
|
+lahf_lm,-syscall,-nx,-lm \
|
||||||
-m 214 \
|
-m 214 \
|
||||||
-smp 6 \
|
-smp 6 \
|
||||||
-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
|
-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
|
||||||
|
@ -8,7 +8,7 @@ QEMU_AUDIO_DRV=none \
|
|||||||
-name QEMUGuest1 \
|
-name QEMUGuest1 \
|
||||||
-S \
|
-S \
|
||||||
-M pc \
|
-M pc \
|
||||||
-cpu core2duo,+lahf_lm,+3dnowext,+xtpr,+est,+vmx,+ds_cpl,+tm,+ht,+acpi,+ds,-nx \
|
-cpu core2duo,+ds,+acpi,+ht,+tm,+ds_cpl,+vmx,+est,+xtpr,+3dnowext,+lahf_lm,-nx \
|
||||||
-m 214 \
|
-m 214 \
|
||||||
-smp 6 \
|
-smp 6 \
|
||||||
-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
|
-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
|
||||||
|
@ -8,8 +8,8 @@ QEMU_AUDIO_DRV=spice \
|
|||||||
-name f14 \
|
-name f14 \
|
||||||
-S \
|
-S \
|
||||||
-M pc \
|
-M pc \
|
||||||
-cpu core2duo,+lahf_lm,+xtpr,+cx16,+tm2,+est,+vmx,+ds_cpl,+pbe,+tm,+ht,+ss,+acpi,\
|
-cpu core2duo,+ds,+acpi,+ss,+ht,+tm,+pbe,+ds_cpl,+vmx,+est,+tm2,+cx16,+xtpr,\
|
||||||
+ds \
|
+lahf_lm \
|
||||||
-m 1024 \
|
-m 1024 \
|
||||||
-smp 2 \
|
-smp 2 \
|
||||||
-uuid 553effab-b5e1-2d80-dfe3-da4344826c43 \
|
-uuid 553effab-b5e1-2d80-dfe3-da4344826c43 \
|
||||||
|
Loading…
x
Reference in New Issue
Block a user