Bug 647308
| Summary: | Support Westmere as a CPU model or included within existing models.. | |||
|---|---|---|---|---|
| Product: | Red Hat Enterprise Linux 6 | Reporter: | john cooper <john.cooper> | |
| Component: | qemu-kvm | Assignee: | john cooper <john.cooper> | |
| Status: | CLOSED ERRATA | QA Contact: | Virtualization Bugs <virt-bugs> | |
| Severity: | medium | Docs Contact: | ||
| Priority: | low | |||
| Version: | 6.1 | CC: | gcosta, jdenemar, john.cooper, juzhang, khong, lihuang, michen, mjenner, mkenneth, nobody, shuang, snagar, tburke, virt-maint | |
| Target Milestone: | rc | Keywords: | Reopened | |
| Target Release: | 6.1 | |||
| Hardware: | All | |||
| OS: | Linux | |||
| Whiteboard: | ||||
| Fixed In Version: | qemu-kvm-0.12.1.2-2.131.el6 | Doc Type: | Bug Fix | |
| Doc Text: |
Cause
Intel cpu architecture "Westmere" not defined as a supported model.
Consequence
Missing support for "aes" feature and local attributes for Westmere.
Change
"Westmere" added as a supported Intel model, AES now recognized as
a cpu feature flag.
Result
"Westmere" added as a supported Intel model, AES now recognized as
a cpu feature flag.
|
Story Points: | --- | |
| Clone Of: | 632257 | |||
| : | 656248 663538 (view as bug list) | Environment: | ||
| Last Closed: | 2011-05-19 11:33:29 UTC | Type: | --- | |
| Regression: | --- | Mount Type: | --- | |
| Documentation: | --- | CRM: | ||
| Verified Versions: | Category: | --- | ||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | ||
| Cloudforms Team: | --- | Target Upstream Version: | ||
| Embargoed: | ||||
| Bug Depends On: | 632257, 647310 | |||
| Bug Blocks: | 580951, 647037, 647306, 663538, 669401, 669514 | |||
Update to Comment #2: After further review, Westmere should be broken out as a separate model to allow family/stepping/model/level/etc.. to track the actual silicon definitions. Probably should be a rule of thumb in similar cases: http://post-office.corp.redhat.com/archives/rhvirt-patches/2010-November/msg00585.html result: guest boot successfully with -cpu Westmere,enforce on Westmere host, flag aes is exported to guest, guest family/model/stepping/level is the same as the info in dump guest quit with error when boot with -cpu Westmere,enforce on host < Westmere 1. qemu-kvm & kernel kernel: 2.6.32-113.el6.x86_64 qemu: qemu-kvm-0.12.1.2-2.144.el6.x86_64 2. cmd qemu-kvm -monitor stdio -drive file=/images/RHEL-Server-6.0-32-virtio.qcow2,index=0,if=none,id=drive-virtio-disk1,media=disk,cache=none,format=qcow2,aio=native -device virtio-blk-pci,bus=pci.0,addr=0x4,drive=drive-virtio-disk1,id=virtio-disk1 -device virtio-net-pci,netdev=idx1i8qD,mac=9a:42:99:6d:c8:2d,netdev=idx1i8qD,id=ndev00idx1i8qD,bus=pci.0,addr=0x3 -netdev tap,id=idx1i8qD,script='/kvm/scripts/qemu-ifup-switch',downscript='no' -m 2048 -smp 2,cores=1,threads=1,sockets=2 -cpu Westmere,enforce -vnc :0 -rtc base=utc,clock=host,driftfix=none -usbdevice tablet -no-kvm-pit-reinjection -enable-kvm 3. host1 (E5620) processor : 15 vendor_id : GenuineIntel cpu family : 6 model : 44 model name : Intel(R) Xeon(R) CPU E5620 @ 2.40GHz stepping : 2 cpu MHz : 2393.932 cache size : 12288 KB physical id : 0 siblings : 8 core id : 10 cpu cores : 4 apicid : 21 initial apicid : 21 fpu : yes fpu_exception : yes cpuid level : 11 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm dca sse4_1 sse4_2 popcnt aes lahf_lm ida arat tpr_shadow vnmi flexpriority ept vpid 3. guest cpuinfo processor : 1 vendor_id : GenuineIntel cpu family : 6 model : 44 model name : Westmere E56xx/L56xx/X56xx (Nehalem-C) stepping : 1 cpu MHz : 2393.932 cache size : 4096 KB fpu : yes fpu_exception : yes cpuid level : 11 wp : yes flags : fpu de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx lm constant_tsc rep_good unfair_spinlock pni ssse3 cx16 sse4_1 sse4_2 x2apic popcnt aes hypervisor lahf_lm 4. guest quit with error when boot in 1216 host Using CPU model "Westmere,enforce" warning: host cpuid 0000_0001:ecx lacks requested flag 'ssse3' [0x00000200] warning: host cpuid 0000_0001:ecx lacks requested flag 'sse4.1|sse4_1' [0x00080000] warning: host cpuid 0000_0001:ecx lacks requested flag 'sse4.2|sse4_2' [0x00100000] warning: host cpuid 0000_0001:ecx lacks requested flag 'popcnt' [0x00800000] warning: host cpuid 0000_0001:ecx lacks requested flag 'aes' [0x02000000] Unable to support requested x86 CPU definition Add CCFR.
Technical note added. If any revisions are required, please edit the "Technical Notes" field
accordingly. All revisions will be proofread by the Engineering Content Services team.
New Contents:
Cause
Intel cpu architecture "Westmere" not defined as a supported model.
Consequence
Missing support for "aes" feature and local attributes for Westmere.
Change
"Westmere" added as a supported Intel model, AES now recognized as
a cpu feature flag.
Result
"Westmere" added as a supported Intel model, AES now recognized as
a cpu feature flag.
An advisory has been issued which should help the problem described in this bug report. This report is therefore being closed with a resolution of ERRATA. For more information on therefore solution and/or where to find the updated files, please follow the link below. You may reopen this bug report if the solution does not work for you. http://rhn.redhat.com/errata/RHSA-2011-0534.html An advisory has been issued which should help the problem described in this bug report. This report is therefore being closed with a resolution of ERRATA. For more information on therefore solution and/or where to find the updated files, please follow the link below. You may reopen this bug report if the solution does not work for you. http://rhn.redhat.com/errata/RHSA-2011-0534.html |
Per discussion with Don Dugger, it should be sufficient to enable AES in qemu to allow this to be specifiied for Westmere beyond the Nehalem definition. I'm a little leery whether this was the entirety of the customer request and need clarification before closing this off as sufficient. In any case: diff --git a/target-i386/helper.c b/target-i386/helper.c index 55aa7fb..f9ae62a 100644 --- a/target-i386/helper.c +++ b/target-i386/helper.c @@ -55,7 +55,7 @@ static const char *ext_feature_name[] = { NULL, "cx16", "xtpr", NULL, NULL, NULL, "dca", "sse4.1|sse4_1", "sse4.2|sse4_2", "x2apic", NULL, "popcnt", - NULL, NULL, NULL, NULL, + NULL, "aes", NULL, NULL, NULL, NULL, NULL, "hypervisor", }; static const char *ext2_feature_name[] = {