From owner-p4-projects@FreeBSD.ORG Wed Feb 20 05:13:19 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 15EAD16A405; Wed, 20 Feb 2008 05:13:19 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CFE6B16A400 for ; Wed, 20 Feb 2008 05:13:18 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C1E5F13C457 for ; Wed, 20 Feb 2008 05:13:18 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m1K5DIr7083025 for ; Wed, 20 Feb 2008 05:13:18 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m1K5DI1P082872 for perforce@freebsd.org; Wed, 20 Feb 2008 05:13:18 GMT (envelope-from marcel@freebsd.org) Date: Wed, 20 Feb 2008 05:13:18 GMT Message-Id: <200802200513.m1K5DI1P082872@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 135774 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Feb 2008 05:13:19 -0000 http://perforce.freebsd.org/chv.cgi?CH=135774 Change 135774 by marcel@marcel_xcllnt on 2008/02/20 05:12:57 Replace NetBSD's evcnt with sysctl. Minor tweaking to make it compile. Affected files ... .. //depot/projects/e500/sys/powerpc/fpu/fpu_emu.c#4 edit Differences ... ==== //depot/projects/e500/sys/powerpc/fpu/fpu_emu.c#4 (text+ko) ==== @@ -80,13 +80,17 @@ #include "opt_ddb.h" +#define DEBUG + #include +#include +#include +#include #include +#include #include -#include #include #include -//#include /* for evcnt */ #include #include @@ -95,13 +99,14 @@ #include #include +SYSCTL_NODE(_hw, OID_AUTO, fpu_emu, CTLFLAG_RW, 0, "FPU emulator"); + #define FPU_EMU_EVCNT_DECL(name) \ -static struct evcnt fpu_emu_ev_##name = \ - EVCNT_INITIALIZER(EVCNT_TYPE_TRAP, NULL, "fpemu", #name); \ -EVCNT_ATTACH_STATIC(fpu_emu_ev_##name) +static u_int fpu_emu_evcnt_##name; \ +SYSCTL_INT(_hw_fpu_emu, OID_AUTO, evcnt_##name, CTLFLAG_RD, \ + &fpu_emu_evcnt_##name, 0, "") -#define FPU_EMU_EVCNT_INCR(name) \ - fpu_emu_ev_##name.ev_count++ +#define FPU_EMU_EVCNT_INCR(name) fpu_emu_evcnt_##name++ FPU_EMU_EVCNT_DECL(stfiwx); FPU_EMU_EVCNT_DECL(fpstore); @@ -143,14 +148,11 @@ #define FPSR_EX (FPSCR_VE|FPSCR_OE|FPSCR_UE|FPSCR_ZE|FPSCR_XE) #define FPSR_EXOP (FPSR_EX_MSK&(~FPSR_EX)) - int fpe_debug = 0; -#ifdef DDB -extern vaddr_t opc_disasm(vaddr_t loc, int opcode); -#endif +#ifdef DEBUG +vm_offset_t opc_disasm(vm_offset_t, int); -#ifdef DEBUG /* * Dump a `fpn' structure. */ @@ -238,7 +240,7 @@ if (fpe_debug & FPE_EX) { printf("fpu_emulate: illegal insn %x at %p:", insn.i_int, (void *) (frame->srr0)); - opc_disasm((vaddr_t)(frame->srr0), insn.i_int); + opc_disasm(frame->srr0, insn.i_int); } #endif /* @@ -248,7 +250,7 @@ sig = SIGILL; #ifdef DEBUG if (fpe_debug & FPE_EX) - Debugger(); + kdb_enter(KDB_WHY_UNSET, "illegal instruction"); #endif } lastill = frame->srr0; @@ -272,7 +274,7 @@ struct fpn *fp; union instr instr = *insn; int *a; - vaddr_t addr; + vm_offset_t addr; int ra, rb, rc, rt, type, mask, fsr, cx, bf, setcr; unsigned int cond; struct fpreg *fs; @@ -293,7 +295,7 @@ #if defined(DDB) && defined(DEBUG) if (fpe_debug & FPE_EX) { - vaddr_t loc = tf->srr0; + vm_offset_t loc = tf->srr0; printf("Trying to emulate: %p ", (void *)loc); opc_disasm(loc, instr.i_int);