Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F148319485
D23553.id68003.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
2 KB
Referenced Files
None
Subscribers
None
D23553.id68003.diff
View Options
Index: sys/amd64/vmm/io/iommu.c
===================================================================
--- sys/amd64/vmm/io/iommu.c
+++ sys/amd64/vmm/io/iommu.c
@@ -184,7 +184,7 @@
if (vmm_is_intel())
ops = &iommu_ops_intel;
- else if (vmm_is_amd())
+ else if (vmm_is_svm())
ops = &iommu_ops_amd;
else
ops = NULL;
Index: sys/amd64/vmm/vmm.c
===================================================================
--- sys/amd64/vmm/vmm.c
+++ sys/amd64/vmm/vmm.c
@@ -347,7 +347,7 @@
if (vmm_is_intel())
ops = &vmm_ops_intel;
- else if (vmm_is_amd())
+ else if (vmm_is_svm())
ops = &vmm_ops_amd;
else
return (ENXIO);
Index: sys/amd64/vmm/vmm_stat.c
===================================================================
--- sys/amd64/vmm/vmm_stat.c
+++ sys/amd64/vmm/vmm_stat.c
@@ -67,7 +67,7 @@
if (vst->scope == VMM_STAT_SCOPE_INTEL && !vmm_is_intel())
return;
- if (vst->scope == VMM_STAT_SCOPE_AMD && !vmm_is_amd())
+ if (vst->scope == VMM_STAT_SCOPE_AMD && !vmm_is_svm())
return;
if (vst_num_elems + vst->nelems >= MAX_VMM_STAT_ELEMS) {
Index: sys/amd64/vmm/vmm_util.h
===================================================================
--- sys/amd64/vmm/vmm_util.h
+++ sys/amd64/vmm/vmm_util.h
@@ -34,7 +34,7 @@
struct trapframe;
bool vmm_is_intel(void);
-bool vmm_is_amd(void);
+bool vmm_is_svm(void);
bool vmm_supports_1G_pages(void);
void dump_trapframe(struct trapframe *tf);
Index: sys/amd64/vmm/vmm_util.c
===================================================================
--- sys/amd64/vmm/vmm_util.c
+++ sys/amd64/vmm/vmm_util.c
@@ -46,9 +46,13 @@
}
bool
-vmm_is_amd(void)
+vmm_is_svm(void)
{
- return (strcmp(cpu_vendor, "AuthenticAMD") == 0);
+ if (strcmp(cpu_vendor, "AuthenticAMD") == 0 ||
+ strcmp(cpu_vendor, "HygonGenuine") == 0)
+ return 1;
+ else
+ return 0;
}
bool
Index: sys/amd64/vmm/x86.c
===================================================================
--- sys/amd64/vmm/x86.c
+++ sys/amd64/vmm/x86.c
@@ -135,7 +135,7 @@
break;
case CPUID_8000_0008:
cpuid_count(*eax, *ecx, regs);
- if (vmm_is_amd()) {
+ if (vmm_is_svm()) {
/*
* As on Intel (0000_0007:0, EDX), mask out
* unsupported or unsafe AMD extended features
@@ -234,7 +234,7 @@
case CPUID_8000_001D:
/* AMD Cache topology, like 0000_0004 for Intel. */
- if (!vmm_is_amd())
+ if (!vmm_is_svm())
goto default_leaf;
/*
@@ -276,8 +276,11 @@
break;
case CPUID_8000_001E:
- /* AMD Family 16h+ additional identifiers */
- if (!vmm_is_amd() || CPUID_TO_FAMILY(cpu_id) < 0x16)
+ /*
+ * AMD Family 16h+ and Hygon Family 18h additional
+ * identifiers.
+ */
+ if (!vmm_is_svm() || CPUID_TO_FAMILY(cpu_id) < 0x16)
goto default_leaf;
vm_get_topology(vm, &sockets, &cores, &threads,
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Wed, Mar 18, 3:53 AM (16 h, 30 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
29876965
Default Alt Text
D23553.id68003.diff (2 KB)
Attached To
Mode
D23553: vmm: Add Hygon Dhyana support
Attached
Detach File
Event Timeline
Log In to Comment