From owner-svn-src-stable@FreeBSD.ORG Wed Aug 7 07:24:21 2013 Return-Path: Delivered-To: svn-src-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTP id 6C9D576C; Wed, 7 Aug 2013 07:24:21 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 597552CC2; Wed, 7 Aug 2013 07:24:21 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id r777OLsq080371; Wed, 7 Aug 2013 07:24:21 GMT (envelope-from kib@svn.freebsd.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.7/8.14.5/Submit) id r777OLpd080370; Wed, 7 Aug 2013 07:24:21 GMT (envelope-from kib@svn.freebsd.org) Message-Id: <201308070724.r777OLpd080370@svn.freebsd.org> From: Konstantin Belousov Date: Wed, 7 Aug 2013 07:24:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r254032 - stable/9/sys/amd64/amd64 X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Aug 2013 07:24:21 -0000 Author: kib Date: Wed Aug 7 07:24:20 2013 New Revision: 254032 URL: http://svnweb.freebsd.org/changeset/base/254032 Log: MFC r253352: MFi386: add ddb "show sysregs" command. Modified: stable/9/sys/amd64/amd64/machdep.c Directory Properties: stable/9/sys/ (props changed) Modified: stable/9/sys/amd64/amd64/machdep.c ============================================================================== --- stable/9/sys/amd64/amd64/machdep.c Wed Aug 7 07:22:56 2013 (r254031) +++ stable/9/sys/amd64/amd64/machdep.c Wed Aug 7 07:24:20 2013 (r254032) @@ -1198,6 +1198,36 @@ DB_SHOW_COMMAND(idt, db_show_idt) ip++; } } + +/* Show privileged registers. */ +DB_SHOW_COMMAND(sysregs, db_show_sysregs) +{ + struct { + uint16_t limit; + uint64_t base; + } __packed idtr, gdtr; + uint16_t ldt, tr; + + __asm __volatile("sidt %0" : "=m" (idtr)); + db_printf("idtr\t0x%016lx/%04x\n", + (u_long)idtr.base, (u_int)idtr.limit); + __asm __volatile("sgdt %0" : "=m" (gdtr)); + db_printf("gdtr\t0x%016lx/%04x\n", + (u_long)gdtr.base, (u_int)gdtr.limit); + __asm __volatile("sldt %0" : "=r" (ldt)); + db_printf("ldtr\t0x%04x\n", ldt); + __asm __volatile("str %0" : "=r" (tr)); + db_printf("tr\t0x%04x\n", tr); + db_printf("cr0\t0x%016lx\n", rcr0()); + db_printf("cr2\t0x%016lx\n", rcr2()); + db_printf("cr3\t0x%016lx\n", rcr3()); + db_printf("cr4\t0x%016lx\n", rcr4()); + db_printf("EFER\t%016lx\n", rdmsr(MSR_EFER)); + db_printf("FEATURES_CTL\t%016lx\n", rdmsr(MSR_IA32_FEATURE_CONTROL)); + db_printf("DEBUG_CTL\t%016lx\n", rdmsr(MSR_DEBUGCTLMSR)); + db_printf("PAT\t%016lx\n", rdmsr(MSR_PAT)); + db_printf("GSBASE\t%016lx\n", rdmsr(MSR_GSBASE)); +} #endif void