Bug 246250

Summary: 1.3239 kernel won't compile on i686
Product: [Fedora] Fedora Reporter: H.J. Lu <hongjiu.lu>
Component: kernelAssignee: Kernel Maintainer List <kernel-maint>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: low Docs Contact:
Priority: low    
Version: 7CC: avi
Target Milestone: ---   
Target Release: ---   
Hardware: i686   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2007-08-27 14:33:15 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:
Attachments:
Description Flags
A patch to remove ULL in SVM MSR indexes none

Description H.J. Lu 2007-06-29 15:52:20 UTC
MSR index is 32bit not 64bit. All other MSR indexes are defined
without the ULL suffix. Otherwise, you will get

[hjl@gnu-5 tmp]$ cat foo.c
typedef unsigned long long u64;

int is_disabled(void)
{
 u64 vm_cr;

 do { unsigned long l__,h__; __asm__ __volatile__("rdmsr" : "=a" (l__),
"=d" (h__) : "c" (0xc0010114ULL)); vm_cr = l__; vm_cr |=
((u64)h__<<32); } while(0);
 if (vm_cr & (1 << 4))
  return 1;

 return 0;
}
[hjl@gnu-5 tmp]$ gcc -m32 -S foo.c
foo.c: In function â_disabledâfoo.c:7: error: impossible register
constraint in âmâoo.c:12: confused by earlier errors, bailing out
[hjl@gnu-5 tmp]$

on 32bit. This patch removes the ULL suffix in SVM MSR indexes.

Comment 1 H.J. Lu 2007-06-29 15:52:21 UTC
Created attachment 158219 [details]
A patch to remove ULL in SVM MSR indexes

Comment 2 Chuck Ebbert 2007-06-29 16:26:30 UTC
(In reply to comment #1)
> Created an attachment (id=158219) [edit]
> A patch to remove ULL in SVM MSR indexes

Patch is in 1.3240, thanks for testing.