From owner-svn-src-head@FreeBSD.ORG Wed May 1 06:57:47 2013 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 9FF161E4; Wed, 1 May 2013 06:57:47 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 80B8E1E8D; Wed, 1 May 2013 06:57:47 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r416vl48013606; Wed, 1 May 2013 06:57:47 GMT (envelope-from imp@svn.freebsd.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r416vkwh013600; Wed, 1 May 2013 06:57:46 GMT (envelope-from imp@svn.freebsd.org) Message-Id: <201305010657.r416vkwh013600@svn.freebsd.org> From: Warner Losh Date: Wed, 1 May 2013 06:57:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r250138 - in head/sys/mips: include mips X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 May 2013 06:57:47 -0000 Author: imp Date: Wed May 1 06:57:46 2013 New Revision: 250138 URL: http://svnweb.freebsd.org/changeset/base/250138 Log: Don't include asm.h in non-asm files. Remove #define to get kludges that asm.h used to define Move clever macros to access assembler instructions to trap.c Remove __ASSEMBLER__ ifdefs in regdef.h: they aren't needed anymore. Modified: head/sys/mips/include/asm.h head/sys/mips/include/regdef.h head/sys/mips/mips/db_interface.c head/sys/mips/mips/trap.c Modified: head/sys/mips/include/asm.h ============================================================================== --- head/sys/mips/include/asm.h Wed May 1 06:55:13 2013 (r250137) +++ head/sys/mips/include/asm.h Wed May 1 06:57:46 2013 (r250138) @@ -56,9 +56,7 @@ #ifndef _MACHINE_ASM_H_ #define _MACHINE_ASM_H_ -#ifndef NO_REG_DEFS #include -#endif #include #include @@ -111,26 +109,6 @@ #define WARN_REFERENCES(_sym,_msg) \ .section .gnu.warning. ## _sym ; .ascii _msg ; .text -/* - * These are temp registers whose names can be used in either the old - * or new ABI, although they map to different physical registers. In - * the old ABI, they map to t4-t7, and in the new ABI, they map to a4-a7. - * - * Because they overlap with the last 4 arg regs in the new ABI, ta0-ta3 - * should be used only when we need more than t0-t3. - */ -#if defined(__mips_n32) || defined(__mips_n64) -#define ta0 $8 -#define ta1 $9 -#define ta2 $10 -#define ta3 $11 -#else -#define ta0 $12 -#define ta1 $13 -#define ta2 $14 -#define ta3 $15 -#endif /* __mips_n32 || __mips_n64 */ - #ifdef __ELF__ # define _C_LABEL(x) x #else @@ -674,97 +652,6 @@ _C_LABEL(x): #define USE_ALT_CP(a) .cplocal a #endif /* __mips_n32 || __mips_n64 */ -#define mfc0_macro(data, spr) \ - __asm __volatile ("mfc0 %0, $%1" \ - : "=r" (data) /* outputs */ \ - : "i" (spr)); /* inputs */ - -#define mtc0_macro(data, spr) \ - __asm __volatile ("mtc0 %0, $%1" \ - : /* outputs */ \ - : "r" (data), "i" (spr)); /* inputs */ - -#define cfc0_macro(data, spr) \ - __asm __volatile ("cfc0 %0, $%1" \ - : "=r" (data) /* outputs */ \ - : "i" (spr)); /* inputs */ - -#define ctc0_macro(data, spr) \ - __asm __volatile ("ctc0 %0, $%1" \ - : /* outputs */ \ - : "r" (data), "i" (spr)); /* inputs */ - - -#define lbu_macro(data, addr) \ - __asm __volatile ("lbu %0, 0x0(%1)" \ - : "=r" (data) /* outputs */ \ - : "r" (addr)); /* inputs */ - -#define lb_macro(data, addr) \ - __asm __volatile ("lb %0, 0x0(%1)" \ - : "=r" (data) /* outputs */ \ - : "r" (addr)); /* inputs */ - -#define lwl_macro(data, addr) \ - __asm __volatile ("lwl %0, 0x0(%1)" \ - : "=r" (data) /* outputs */ \ - : "r" (addr)); /* inputs */ - -#define lwr_macro(data, addr) \ - __asm __volatile ("lwr %0, 0x0(%1)" \ - : "=r" (data) /* outputs */ \ - : "r" (addr)); /* inputs */ - -#define ldl_macro(data, addr) \ - __asm __volatile ("ldl %0, 0x0(%1)" \ - : "=r" (data) /* outputs */ \ - : "r" (addr)); /* inputs */ - -#define ldr_macro(data, addr) \ - __asm __volatile ("ldr %0, 0x0(%1)" \ - : "=r" (data) /* outputs */ \ - : "r" (addr)); /* inputs */ - -#define sb_macro(data, addr) \ - __asm __volatile ("sb %0, 0x0(%1)" \ - : /* outputs */ \ - : "r" (data), "r" (addr)); /* inputs */ - -#define swl_macro(data, addr) \ - __asm __volatile ("swl %0, 0x0(%1)" \ - : /* outputs */ \ - : "r" (data), "r" (addr)); /* inputs */ - -#define swr_macro(data, addr) \ - __asm __volatile ("swr %0, 0x0(%1)" \ - : /* outputs */ \ - : "r" (data), "r" (addr)); /* inputs */ - -#define sdl_macro(data, addr) \ - __asm __volatile ("sdl %0, 0x0(%1)" \ - : /* outputs */ \ - : "r" (data), "r" (addr)); /* inputs */ - -#define sdr_macro(data, addr) \ - __asm __volatile ("sdr %0, 0x0(%1)" \ - : /* outputs */ \ - : "r" (data), "r" (addr)); /* inputs */ - -#define mfgr_macro(data, gr) \ - __asm __volatile ("move %0, $%1" \ - : "=r" (data) /* outputs */ \ - : "i" (gr)); /* inputs */ - -#define dmfc0_macro(data, spr) \ - __asm __volatile ("dmfc0 %0, $%1" \ - : "=r" (data) /* outputs */ \ - : "i" (spr)); /* inputs */ - -#define dmtc0_macro(data, spr, sel) \ - __asm __volatile ("dmtc0 %0, $%1, %2" \ - : /* no outputs */ \ - : "r" (data), "i" (spr), "i" (sel)); /* inputs */ - #define GET_CPU_PCPU(reg) \ PTR_L reg, _C_LABEL(pcpup); Modified: head/sys/mips/include/regdef.h ============================================================================== --- head/sys/mips/include/regdef.h Wed May 1 06:55:13 2013 (r250137) +++ head/sys/mips/include/regdef.h Wed May 1 06:57:46 2013 (r250138) @@ -41,7 +41,6 @@ #include /* for API selection */ -#if defined(__ASSEMBLER__) #define zero $0 /* always zero */ #define AT $at /* assembler temporary */ #define v0 $2 /* return value */ @@ -106,5 +105,4 @@ #define ta3 $15 #endif /* __mips_n32 || __mips_n64 */ -#endif /* __ASSEMBLER__ */ #endif /* _MIPS_REGDEF_H */ Modified: head/sys/mips/mips/db_interface.c ============================================================================== --- head/sys/mips/mips/db_interface.c Wed May 1 06:55:13 2013 (r250137) +++ head/sys/mips/mips/db_interface.c Wed May 1 06:57:46 2013 (r250138) @@ -55,8 +55,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#define NO_REG_DEFS 1 /* Prevent asm.h from including regdef.h */ -#include #include #include Modified: head/sys/mips/mips/trap.c ============================================================================== --- head/sys/mips/mips/trap.c Wed May 1 06:55:13 2013 (r250137) +++ head/sys/mips/mips/trap.c Wed May 1 06:57:46 2013 (r250138) @@ -47,7 +47,6 @@ __FBSDID("$FreeBSD$"); #include "opt_ktrace.h" #include "opt_kdtrace.h" -#define NO_REG_DEFS 1 /* Prevent asm.h from including regdef.h */ #include #include #include @@ -85,7 +84,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #ifdef DDB #include @@ -127,6 +125,61 @@ SYSCTL_INT(_machdep, OID_AUTO, trap_debu &trap_debug, 0, "Debug information on all traps"); #endif +#define lbu_macro(data, addr) \ + __asm __volatile ("lbu %0, 0x0(%1)" \ + : "=r" (data) /* outputs */ \ + : "r" (addr)); /* inputs */ + +#define lb_macro(data, addr) \ + __asm __volatile ("lb %0, 0x0(%1)" \ + : "=r" (data) /* outputs */ \ + : "r" (addr)); /* inputs */ + +#define lwl_macro(data, addr) \ + __asm __volatile ("lwl %0, 0x0(%1)" \ + : "=r" (data) /* outputs */ \ + : "r" (addr)); /* inputs */ + +#define lwr_macro(data, addr) \ + __asm __volatile ("lwr %0, 0x0(%1)" \ + : "=r" (data) /* outputs */ \ + : "r" (addr)); /* inputs */ + +#define ldl_macro(data, addr) \ + __asm __volatile ("ldl %0, 0x0(%1)" \ + : "=r" (data) /* outputs */ \ + : "r" (addr)); /* inputs */ + +#define ldr_macro(data, addr) \ + __asm __volatile ("ldr %0, 0x0(%1)" \ + : "=r" (data) /* outputs */ \ + : "r" (addr)); /* inputs */ + +#define sb_macro(data, addr) \ + __asm __volatile ("sb %0, 0x0(%1)" \ + : /* outputs */ \ + : "r" (data), "r" (addr)); /* inputs */ + +#define swl_macro(data, addr) \ + __asm __volatile ("swl %0, 0x0(%1)" \ + : /* outputs */ \ + : "r" (data), "r" (addr)); /* inputs */ + +#define swr_macro(data, addr) \ + __asm __volatile ("swr %0, 0x0(%1)" \ + : /* outputs */ \ + : "r" (data), "r" (addr)); /* inputs */ + +#define sdl_macro(data, addr) \ + __asm __volatile ("sdl %0, 0x0(%1)" \ + : /* outputs */ \ + : "r" (data), "r" (addr)); /* inputs */ + +#define sdr_macro(data, addr) \ + __asm __volatile ("sdr %0, 0x0(%1)" \ + : /* outputs */ \ + : "r" (data), "r" (addr)); /* inputs */ + static void log_illegal_instruction(const char *, struct trapframe *); static void log_bad_page_fault(char *, struct trapframe *, int); static void log_frame_dump(struct trapframe *frame);