From nobody@FreeBSD.org  Sat Oct  4 17:47:05 2008
Return-Path: <nobody@FreeBSD.org>
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id EB72B106569F
	for <freebsd-gnats-submit@FreeBSD.org>; Sat,  4 Oct 2008 17:47:05 +0000 (UTC)
	(envelope-from nobody@FreeBSD.org)
Received: from www.freebsd.org (www.freebsd.org [IPv6:2001:4f8:fff6::21])
	by mx1.freebsd.org (Postfix) with ESMTP id DA2878FC0C
	for <freebsd-gnats-submit@FreeBSD.org>; Sat,  4 Oct 2008 17:47:05 +0000 (UTC)
	(envelope-from nobody@FreeBSD.org)
Received: from www.freebsd.org (localhost [127.0.0.1])
	by www.freebsd.org (8.14.3/8.14.3) with ESMTP id m94Hl4YD025047
	for <freebsd-gnats-submit@FreeBSD.org>; Sat, 4 Oct 2008 17:47:04 GMT
	(envelope-from nobody@www.freebsd.org)
Received: (from nobody@localhost)
	by www.freebsd.org (8.14.3/8.14.3/Submit) id m94Hl4Re025045;
	Sat, 4 Oct 2008 17:47:04 GMT
	(envelope-from nobody)
Message-Id: <200810041747.m94Hl4Re025045@www.freebsd.org>
Date: Sat, 4 Oct 2008 17:47:04 GMT
From: Artem Naluzhnyy <tut@nhamon.com.ua>
To: freebsd-gnats-submit@FreeBSD.org
Subject: Update AMD features in identcpu.c
X-Send-Pr-Version: www-3.1
X-GNATS-Notify:

>Number:         127859
>Category:       kern
>Synopsis:       [identcpu] [patch] Update AMD features in identcpu.c
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    jkim
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Sat Oct 04 17:50:01 UTC 2008
>Closed-Date:    Mon Dec 15 16:50:41 UTC 2008
>Last-Modified:  Mon Dec 15 16:50:41 UTC 2008
>Originator:     Artem Naluzhnyy
>Release:        
>Organization:
>Environment:
>Description:
Here is a patch to satisfy recent CPUID Specification from AMD
(http://www.amd.com/us-en/assets/content_type/white_papers_and_tech_docs/25481.pdf).
It should be applied to sys/i386/i386/identcpu.c and
sys/amd64/amd64/identcpu.c probably.
>How-To-Repeat:

>Fix:
--- identcpu.c.orig	2008-10-04 19:56:38.000000000 +0300
+++ identcpu.c	2008-10-04 20:21:26.000000000 +0300
@@ -754,6 +754,9 @@
 			}
 
 			/*
+			 * AMD CPUID Specification, Revision 2.28
+			 * http://www.amd.com/us-en/assets/content_type/white_papers_and_tech_docs/25481.pdf
+			 *
 			 * AMD64 Architecture Programmer's Manual Volume 3:
 			 * General-Purpose and System Instructions
 			 * http://www.amd.com/us-en/assets/content_type/white_papers_and_tech_docs/24594.pdf
@@ -775,7 +778,7 @@
 				"\010<s7>"	/* Same */
 				"\011<s8>"	/* Same */
 				"\012<s9>"	/* Same */
-				"\013<b10>"	/* Undefined */
+				"\013<b10>"	/* Reserved */
 				"\014SYSCALL"	/* Have SYSCALL/SYSRET */
 				"\015<s12>"	/* Same */
 				"\016<s13>"	/* Same */
@@ -783,17 +786,17 @@
 				"\020<s15>"	/* Same */
 				"\021<s16>"	/* Same */
 				"\022<s17>"	/* Same */
-				"\023<b18>"	/* Reserved, unknown */
-				"\024MP"	/* Multiprocessor Capable */
+				"\023<b18>"	/* Reserved */
+				"\024<b19>"	/* Reserved */
 				"\025NX"	/* Has EFER.NXE, NX */
-				"\026<b21>"	/* Undefined */
+				"\026<b21>"	/* Reserved */
 				"\027MMX+"	/* AMD MMX Extensions */
 				"\030<s23>"	/* Same */
 				"\031<s24>"	/* Same */
 				"\032FFXSR"	/* Fast FXSAVE/FXRSTOR */
 				"\033Page1GB"	/* 1-GB large page support */
 				"\034RDTSCP"	/* RDTSCP */
-				"\035<b28>"	/* Undefined */
+				"\035<b28>"	/* Reserved */
 				"\036LM"	/* 64 bit long mode */
 				"\0373DNow!+"	/* AMD 3DNow! Extensions */
 				"\0403DNow!"	/* AMD 3DNow! */
@@ -808,15 +811,18 @@
 				"\003SVM"	/* Secure Virtual Mode */
 				"\004ExtAPIC"	/* Extended APIC register */
 				"\005CR8"	/* CR8 in legacy mode */
-				"\006<b5>"
-				"\007<b6>"
-				"\010<b7>"
+				"\006ABM"	/* Advanced Bit Manipulation */
+				"\007SSE4A"	/* 
+						 * EXTRQ, INSERTQ, MOVNTSS,
+						 * and MOVNTSD instructions
+						 */
+				"\010MASSE"     /* Misaligned SSE mode */
 				"\011Prefetch"	/* 3DNow! Prefetch/PrefetchW */
-				"\012<b9>"
-				"\013<b10>"
-				"\014<b11>"
-				"\015<b12>"
-				"\016<b13>"
+				"\012OSVW"	/* OS Visible Workaround */
+				"\013IBS"	/* Instruction Based Sampling */
+				"\014SSE5"	/* SSE5 Instruction support */
+				"\015SKINIT"	/* SKINIT/STGI support */
+				"\016WDT"	/* Watchdog timer support */
 				"\017<b14>"
 				"\020<b15>"
 				"\021<b16>"


>Release-Note:
>Audit-Trail:
State-Changed-From-To: open->closed 
State-Changed-By: jkim 
State-Changed-When: Mon Dec 15 16:45:53 UTC 2008 
State-Changed-Why:  
I committed different version few days ago without knowing existence of this PR. 


Responsible-Changed-From-To: freebsd-bugs->jkim 
Responsible-Changed-By: jkim 
Responsible-Changed-When: Mon Dec 15 16:45:53 UTC 2008 
Responsible-Changed-Why:  
Committed a different version. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=127859 
>Unformatted:
