From owner-freebsd-ports-bugs@FreeBSD.ORG Tue Nov 14 17:50:11 2006 Return-Path: X-Original-To: freebsd-ports-bugs@hub.freebsd.org Delivered-To: freebsd-ports-bugs@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5B57316A515 for ; Tue, 14 Nov 2006 17:50:11 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2711543D5C for ; Tue, 14 Nov 2006 17:50:01 +0000 (GMT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.13.4/8.13.4) with ESMTP id kAEHo0qE081241 for ; Tue, 14 Nov 2006 17:50:00 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.13.4/8.13.4/Submit) id kAEHo0gj081240; Tue, 14 Nov 2006 17:50:00 GMT (envelope-from gnats) Resent-Date: Tue, 14 Nov 2006 17:50:00 GMT Resent-Message-Id: <200611141750.kAEHo0gj081240@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-ports-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Ed Maste Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 378AD16A416 for ; Tue, 14 Nov 2006 17:49:12 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id E462643D45 for ; Tue, 14 Nov 2006 17:49:11 +0000 (GMT) (envelope-from emaste@FreeBSD.org) Received: from freefall.freebsd.org (emaste@localhost [127.0.0.1]) by freefall.freebsd.org (8.13.4/8.13.4) with ESMTP id kAEHnBkR081207 for ; Tue, 14 Nov 2006 17:49:11 GMT (envelope-from emaste@freefall.freebsd.org) Received: (from emaste@localhost) by freefall.freebsd.org (8.13.4/8.13.4/Submit) id kAEHnBwr081206; Tue, 14 Nov 2006 17:49:11 GMT (envelope-from emaste) Message-Id: <200611141749.kAEHnBwr081206@freefall.freebsd.org> Date: Tue, 14 Nov 2006 17:49:11 GMT From: Ed Maste To: FreeBSD-gnats-submit@FreeBSD.org X-Send-Pr-Version: 3.113 Cc: Subject: ports/105534: Update misc/cpuid handling of AMD CPU features X-BeenThere: freebsd-ports-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Ed Maste List-Id: Ports bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 14 Nov 2006 17:50:11 -0000 >Number: 105534 >Category: ports >Synopsis: Update misc/cpuid handling of AMD CPU features >Confidential: no >Severity: non-critical >Priority: medium >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Tue Nov 14 17:50:00 GMT 2006 >Closed-Date: >Last-Modified: >Originator: Ed Maste >Release: FreeBSD 6.0-STABLE i386 >Organization: >Environment: System: FreeBSD freefall.freebsd.org 6.0-STABLE FreeBSD 6.0-STABLE #0: Sat Dec 10 03:18:20 UTC 2005 kensmith@freefall.freebsd.org:/usr/obj/usr/src/sys/FREEFALL i386 >Description: On an Opteron 250 machine here, cpuid shows: Extended feature flags e3d3fbff: Floating Point Unit Virtual Mode Extensions Debugging Extensions Page Size Extensions Time Stamp Counter (with RDTSC and CR4 disable bit) Model Specific Registers with RDMSR & WRMSR PAE - Page Address Extensions Machine Check Exception COMPXCHG8B Instruction APIC SYSCALL/SYSRET or SYSENTER/SYSEXIT instructions MTRR - Memory Type Range Registers Global paging extension Machine Check Architecture Conditional Move Instruction PAT - Page Attribute Table PSE-36 - Page Size Extensions 20 - reserved AMD MMX Instruction Extensions MMX instructions FXSAVE/FXRSTOR 25 - reserved 29 - reserved 3DNow! Instruction Extensions 3DNow instructions Note that a number of reserved bits are not correctly parsed. In addition, the format of the AMD bits is quite different to that of the Intel output. The patch mentioned below makes it print instead: Extended feature flags e3d3fbff: FPU Floating Point Unit VME Virtual 8086 Mode Enhancements DE Debugging Extensions PSE Page Size Extensions TSC Time Stamp Counter MSR Model Specific Registers PAE Physical Address Extension MCE Machine Check Exception CX8 COMPXCHG8B Instruction APIC On-chip Advanced Programmable Interrupt Controller present and enabled SEP Fast System Call MTRR Memory Type Range Registers PGE PTE Global Flag MCA Machine Check Architecture CMOV Conditional Move and Compare Instructions PAT Page Attribute Table PSE36 36-bit Page Size Extension NX No-execute page protection MmxExt MMX instruction extensions MMX MMX instructions FXSR Fast FP/MMX Streaming SIMD Extensions save/restore FFXSR FXSAVE and FXRSTOR instruction optimizations LM 64 bit long mode 3DNowE 3DNow! instruction extensions 3DNow 3DNow! instructions >How-To-Repeat: Run cpuid on a modern AMD machine >Fix: A modified patch-cpuid.c is at http://people.freebsd.org/~emaste/patches/patch-cpuid.c I added references to two AMD documents relating to the CPUID instruction. In general I used the short forms of the feature bits from those documents, except where it was too long. In those cases I borrowed the short from from the Intel version. Please look for formatting issues, typos, etc. >Release-Note: >Audit-Trail: >Unformatted: