kern/177319: Add more x86 CPU feature flag definitions
Oliver Pinter
oliver.pntr at gmail.com
Sat Mar 23 23:10:01 UTC 2013
The following reply was made to PR kern/177319; it has been noted by GNATS.
From: Oliver Pinter <oliver.pntr at gmail.com>
To: Jeremy Chadwick <jdc at koitsu.org>
Cc: FreeBSD-gnats-submit at freebsd.org
Subject: Re: kern/177319: Add more x86 CPU feature flag definitions
Date: Sun, 24 Mar 2013 00:06:09 +0100
The cpu_stdext_feature section looks fine based on Intel Architecture
Instruction Set Extensions Programming Reference (aug. 2012)
319433-014.pdf.
On 3/23/13, Jeremy Chadwick <jdc at koitsu.org> wrote:
>
>>Number: 177319
>>Category: kern
>>Synopsis: Add more x86 CPU feature flag definitions
>>Confidential: no
>>Severity: non-critical
>>Priority: low
>>Responsible: freebsd-bugs
>>State: open
>>Quarter:
>>Keywords:
>>Date-Required:
>>Class: update
>>Submitter-Id: current-users
>>Arrival-Date: Sat Mar 23 19:20:02 UTC 2013
>>Closed-Date:
>>Last-Modified:
>>Originator: Jeremy Chadwick
>>Release: FreeBSD 9.1-STABLE amd64
>>Organization:
>>Environment:
> System: FreeBSD icarus.home.lan 9.1-STABLE FreeBSD 9.1-STABLE #0 r248403:
> Sat Mar 16 20:33:01 PDT 2013
> root at icarus.home.lan:/usr/obj/usr/src/sys/X7SBA_RELENG_9_amd64 amd64
>>Description:
> While reading this thread:
>
> http://lists.freebsd.org/pipermail/freebsd-current/2013-March/040666.html
>
> It occurred to me that we might be missing some x86 CPU feature flag
> definitions in comparison to other OSes (e.g. Linux).
>
> My comparison source was the Linux 3.8.4 source code, specifically
> arch/x86/include/asm/cpufeature.h. That can be viewed here:
>
> http://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/tree/arch/x86/include/asm/cpufeature.h?h=linux-3.8.y
>>How-To-Repeat:
> n/a
>>Fix:
> Apply below patch (intended for stable/9, but can be backported to head
> I'm sure). Patch is also available here once I get a PR number:
>
> http://jdc.koitsu.org/freebsd/{prnum}/
>
> I strongly recommend someone familiar with these bits review this patch
> first, as AFAIK these are only for cosmetical representation rather than
> operational, but I could be wrong.
>
>
> Index: sys/amd64/amd64/identcpu.c
> ===================================================================
> --- sys/amd64/amd64/identcpu.c (revision 248655)
> +++ sys/amd64/amd64/identcpu.c (working copy)
> @@ -366,13 +366,13 @@ printcpuinfo(void)
> "\017<b14>"
> "\020LWP" /* Lightweight Profiling */
> "\021FMA4" /* 4-operand FMA instructions */
> - "\022<b17>"
> + "\022TCE" /* Translation Cache Extension */
> "\023<b18>"
> "\024NodeId" /* NodeId MSR support */
> "\025<b20>"
> "\026TBM" /* Trailing Bit Manipulation */
> "\027Topology" /* Topology Extensions */
> - "\030<b23>"
> + "\030CorePerfC" /* Core Perf. Counter Extensions */
> "\031<b24>"
> "\032<b25>"
> "\033<b26>"
> @@ -390,9 +390,17 @@ printcpuinfo(void)
> "\020"
> "\001GSFSBASE"
> "\002TSCADJ"
> + "\004BMI1"
> + "\005HLE"
> + "\006AVX2"
> "\010SMEP"
> + "\011BMI2"
> "\012ENHMOVSB"
> "\013INVPCID"
> + "\014RTM"
> + "\023RDSEED"
> + "\024ADX"
> + "\025SMAP"
> );
> }
>
> Index: sys/i386/i386/identcpu.c
> ===================================================================
> --- sys/i386/i386/identcpu.c (revision 248655)
> +++ sys/i386/i386/identcpu.c (working copy)
> @@ -842,13 +842,13 @@ printcpuinfo(void)
> "\017<b14>"
> "\020LWP" /* Lightweight Profiling */
> "\021FMA4" /* 4-operand FMA instructions */
> - "\022<b17>"
> + "\022TCE" /* Translation Cache Extension */
> "\023<b18>"
> "\024NodeId" /* NodeId MSR support */
> "\025<b20>"
> "\026TBM" /* Trailing Bit Manipulation */
> "\027Topology" /* Topology Extensions */
> - "\030<b23>"
> + "\030CorePerfC" /* Core Perf. Counter Extensions */
> "\031<b24>"
> "\032<b25>"
> "\033<b26>"
>>Release-Note:
>>Audit-Trail:
>>Unformatted:
> _______________________________________________
> freebsd-bugs at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-bugs
> To unsubscribe, send any mail to "freebsd-bugs-unsubscribe at freebsd.org"
>
More information about the freebsd-bugs
mailing list