Module Name: src Committed By: matt Date: Sun Aug 16 03:33:58 UTC 2009
Modified Files: src/sys/arch/mips/include [matt-nb5-mips64]: cdefs.h elf_machdep.h isa_machdep.h locore.h mcontext.h pci_machdep.h psl.h regnum.h setjmp.h signal.h stdarg.h types.h Log Message: Kill use of _MIPS_BSD_ABI - switch to __mips_<abi> Use device_t where appropriate. Remove magic numbers. To generate a diff of this commit: cvs rdiff -u -r1.12 -r1.12.78.1 src/sys/arch/mips/include/cdefs.h cvs rdiff -u -r1.10 -r1.10.96.1 src/sys/arch/mips/include/elf_machdep.h cvs rdiff -u -r1.3 -r1.3.18.1 src/sys/arch/mips/include/isa_machdep.h cvs rdiff -u -r1.78.36.1 -r1.78.36.1.2.1 src/sys/arch/mips/include/locore.h cvs rdiff -u -r1.8 -r1.8.18.1 src/sys/arch/mips/include/mcontext.h cvs rdiff -u -r1.4 -r1.4.96.1 src/sys/arch/mips/include/pci_machdep.h cvs rdiff -u -r1.17 -r1.17.96.1 src/sys/arch/mips/include/psl.h cvs rdiff -u -r1.8 -r1.8.96.1 src/sys/arch/mips/include/regnum.h cvs rdiff -u -r1.7 -r1.7.138.1 src/sys/arch/mips/include/setjmp.h cvs rdiff -u -r1.27 -r1.27.92.1 src/sys/arch/mips/include/signal.h cvs rdiff -u -r1.28 -r1.28.14.1 src/sys/arch/mips/include/stdarg.h cvs rdiff -u -r1.43 -r1.43.36.1 src/sys/arch/mips/include/types.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/arch/mips/include/cdefs.h diff -u src/sys/arch/mips/include/cdefs.h:1.12 src/sys/arch/mips/include/cdefs.h:1.12.78.1 --- src/sys/arch/mips/include/cdefs.h:1.12 Sun Aug 27 19:04:30 2006 +++ src/sys/arch/mips/include/cdefs.h Sun Aug 16 03:33:57 2009 @@ -1,4 +1,4 @@ -/* $NetBSD: cdefs.h,v 1.12 2006/08/27 19:04:30 matt Exp $ */ +/* $NetBSD: cdefs.h,v 1.12.78.1 2009/08/16 03:33:57 matt Exp $ */ /* * Copyright (c) 1995 Carnegie-Mellon University. @@ -30,6 +30,9 @@ #ifndef _MIPS_CDEFS_H_ #define _MIPS_CDEFS_H_ +/* + * These are depreciated. Use __mips_{o32,o64,n32,n64} instead. + */ /* MIPS Subprogram Interface Model */ #define _MIPS_SIM_ABIX32 4 /* 64 bit safe, ILP32 o32 model */ #define _MIPS_SIM_ABI64 3 Index: src/sys/arch/mips/include/elf_machdep.h diff -u src/sys/arch/mips/include/elf_machdep.h:1.10 src/sys/arch/mips/include/elf_machdep.h:1.10.96.1 --- src/sys/arch/mips/include/elf_machdep.h:1.10 Sun Dec 11 12:18:09 2005 +++ src/sys/arch/mips/include/elf_machdep.h Sun Aug 16 03:33:57 2009 @@ -1,4 +1,4 @@ -/* $NetBSD: elf_machdep.h,v 1.10 2005/12/11 12:18:09 christos Exp $ */ +/* $NetBSD: elf_machdep.h,v 1.10.96.1 2009/08/16 03:33:57 matt Exp $ */ #define ELF32_MACHDEP_ID_CASES \ case EM_MIPS: \ @@ -62,10 +62,34 @@ #define R_MIPS_ADD_IMMEDIATE 34 #define R_MIPS_PJUMP 35 #define R_MIPS_RELGOT 36 +#define R_MIPS_JALR 37 +/* TLS relocations */ +#define R_MIPS_TLS_DTPMOD32 38 +#define R_MIPS_TLS_DTPREL32 39 +#define R_MIPS_TLS_DTPMOD64 40 +#define R_MIPS_TLS_DTPREL64 41 +#define R_MIPS_TLS_GD 42 +#define R_MIPS_TLS_LDM 43 +#define R_MIPS_TLS_DTPREL_HI16 44 +#define R_MIPS_TLS_DTPREL_LO16 45 +#define R_MIPS_TLS_GOTTPREL 46 +#define R_MIPS_TLS_TPREL32 47 +#define R_MIPS_TLS_TPREL64 48 +#define R_MIPS_TLS_TPREL_HI16 49 +#define R_MIPS_TLS_TPREL_LO16 50 -#define R_MIPS_max 37 +#define R_MIPS_max 51 #define R_TYPE(name) __CONCAT(R_MIPS_,name) +#define R_MIPS16_min 100 +#define R_MIPS16_26 100 +#define R_MIPS16_GPREL 101 +#define R_MIPS16_GOT16 102 +#define R_MIPS16_CALL16 103 +#define R_MIPS16_HI16 104 +#define R_MIPS16_LO16 105 +#define R_MIPS16_max 106 + /* mips dynamic tags */ @@ -86,6 +110,34 @@ #define DT_MIPS_HIPAGENO 0x70000014 #define DT_MIPS_RLD_MAP 0x70000016 /* address of loader map */ +/* + * ELF Flags + */ +#define EF_MIPS_PIC 0x00000002 /* Contains PIC code */ +#define EF_MIPS_CPIC 0x00000004 /* STD PIC calling sequence */ +#define EF_MIPS_ABI2 0x00000020 /* N32 */ + +#define EF_MIPS_ARCH_ASE 0x0f000000 /* Architectural extensions */ +#define EF_MIPS_ARCH_MDMX 0x08000000 /* MDMX multimedia extension */ +#define EF_MIPS_ARCH_M16 0x04000000 /* MIPS-16 ISA extensions */ + +#define EF_MIPS_ARCH 0x0f000000 /* Architecture field */ +#define EF_MIPS_ARCH_1 0x00000000 /* -mips1 code */ +#define EF_MIPS_ARCH_2 0x01000000 /* -mips2 code */ +#define EF_MIPS_ARCH_3 0x02000000 /* -mips3 code */ +#define EF_MIPS_ARCH_4 0x03000000 /* -mips4 code */ +#define EF_MIPS_ARCH_5 0x04000000 /* -mips5 code */ +#define EF_MIPS_ARCH_32 0x05000000 /* -mips32 code */ +#define EF_MIPS_ARCH_64 0x06000000 /* -mips64 code */ +#define EF_MIPS_ARCH_32R2 0x07000000 /* -mips32r2 code */ +#define EF_MIPS_ARCH_64R4 0x08000000 /* -mips64r2 code */ + +#define EF_MIPS_ABI 0x0000f000 +#define EF_MIPS_ABI_O32 0x00001000 +#define EF_MIPS_ABI_O64 0x00002000 +#define EF_MIPS_ABI_EABI32 0x00003000 +#define EF_MIPS_ABI_EABI64 0x00004000 + #ifdef _KERNEL #ifdef _KERNEL_OPT #include "opt_compat_netbsd.h" Index: src/sys/arch/mips/include/isa_machdep.h diff -u src/sys/arch/mips/include/isa_machdep.h:1.3 src/sys/arch/mips/include/isa_machdep.h:1.3.18.1 --- src/sys/arch/mips/include/isa_machdep.h:1.3 Mon Apr 28 20:23:28 2008 +++ src/sys/arch/mips/include/isa_machdep.h Sun Aug 16 03:33:57 2009 @@ -1,4 +1,4 @@ -/* $NetBSD: isa_machdep.h,v 1.3 2008/04/28 20:23:28 martin Exp $ */ +/* $NetBSD: isa_machdep.h,v 1.3.18.1 2009/08/16 03:33:57 matt Exp $ */ /*- * Copyright (c) 2000, 2001 The NetBSD Foundation, Inc. @@ -68,7 +68,7 @@ struct isa_dma_state ic_dmastate; - void (*ic_attach_hook)(struct device *, struct device *, + void (*ic_attach_hook)(device_t, device_t, struct isabus_attach_args *); const struct evcnt *(*ic_intr_evcnt)(void *, int); void *(*ic_intr_establish)(void *, int, int, int, Index: src/sys/arch/mips/include/locore.h diff -u src/sys/arch/mips/include/locore.h:1.78.36.1 src/sys/arch/mips/include/locore.h:1.78.36.1.2.1 --- src/sys/arch/mips/include/locore.h:1.78.36.1 Tue Jun 9 17:48:20 2009 +++ src/sys/arch/mips/include/locore.h Sun Aug 16 03:33:57 2009 @@ -1,4 +1,4 @@ -/* $NetBSD: locore.h,v 1.78.36.1 2009/06/09 17:48:20 snj Exp $ */ +/* $NetBSD: locore.h,v 1.78.36.1.2.1 2009/08/16 03:33:57 matt Exp $ */ /* * Copyright 1996 The Board of Trustees of The Leland Stanford @@ -138,8 +138,73 @@ void mips3_cp0_wired_write(uint32_t); void mips3_cp0_pg_mask_write(uint32_t); -uint64_t mips3_ld(uint64_t *); +#if defined(__GNUC__) && !defined(__mips_o32) +static inline uint64_t +mips3_ld(const uint64_t *va) +{ + uint64_t rv; +#if defined(__mips_o32) + uint32_t sr; + + sr = mips_cp0_status_read(); + mips_cp0_status_write(sr & ~MIPS_SR_INT_IE); + + __asm volatile( + ".set push \n\t" + ".set mips3 \n\t" + ".set noreorder \n\t" + ".set noat \n\t" + "ld %M0,0(%1) \n\t" + "dsll32 %L0,%M0,0 \n\t" + "dsra32 %M0,%M0,0 \n\t" /* high word */ + "dsra32 %L0,%L0,0 \n\t" /* low word */ + "ld %0,0(%1) \n\t" + ".set pop" + : "=d"(rv) + : "r"(va)); + + mips_cp0_status_write(sr); +#elif defined(_LP64) + rv = *va; +#else + __asm volatile("ld %0,0(%1)" : "=d"(rv) : "r"(va)); +#endif + + return rv; +} +static inline void +mips3_sd(uint64_t *va, uint64_t v) +{ +#if defined(__mips_o32) + uint32_t sr; + + sr = mips_cp0_status_read(); + mips_cp0_status_write(sr & ~MIPS_SR_INT_IE); + + __asm volatile( + ".set push \n\t" + ".set mips3 \n\t" + ".set noreorder \n\t" + ".set noat \n\t" + "dsll32 %M0,%M0,0 \n\t" + "dsll32 %L0,%L0,0 \n\t" + "dsrl32 %L0,%L0,0 \n\t" + "or %0,%L0,%M0 \n\t" + "sd %0,0(%1) \n\t" + ".set pop" + : "=d"(v) : "0"(v), "r"(va)); + + mips_cp0_status_write(sr); +#elif defined(_LP64) + *va = v; +#else + __asm volatile("sd %0,0(%1)" :: "r"(v), "r"(va)); +#endif +} +#else +uint64_t mips3_ld(uint64_t *va); void mips3_sd(uint64_t *, uint64_t); +#endif /* __GNUC__ */ #endif /* MIPS3 || MIPS4 || MIPS32 || MIPS64 */ #if defined(MIPS3) || defined(MIPS4) || defined(MIPS64) @@ -151,58 +216,66 @@ static __inline uint32_t mips3_lw_a64(uint64_t addr) { - uint32_t addrlo, addrhi; uint32_t rv; +#if defined(__mips_o32) uint32_t sr; sr = mips_cp0_status_read(); - mips_cp0_status_write(sr | MIPS3_SR_KX); + mips_cp0_status_write((sr & ~MIPS_SR_INT_IE) | MIPS3_SR_KX); - addrlo = addr & 0xffffffff; - addrhi = addr >> 32; - __asm volatile (" \n\ - .set push \n\ - .set mips3 \n\ - .set noreorder \n\ - .set noat \n\ - dsll32 $3, %1, 0 \n\ - dsll32 $1, %2, 0 \n\ - dsrl32 $3, $3, 0 \n\ - or $1, $1, $3 \n\ - lw %0, 0($1) \n\ - .set pop \n\ - " : "=r"(rv) : "r"(addrlo), "r"(addrhi) : "$1", "$3" ); + __asm volatile ( + ".set push \n\t" + ".set mips3 \n\t" + ".set noreorder \n\t" + ".set noat \n\t" + "dsll32 %M1,%M1,0 \n\t" + "dsll32 %L1,%L1,0 \n\t" + "dsrl32 $L1,%L1,0 \n\t" + "or %1,%M1,%L1 \n\t" + "lw %0, 0(%1) \n\t" + ".set pop" + : "=r"(rv), "=d"(addr) + : "1"(addr) + ); mips_cp0_status_write(sr); - +#elif defined(_LP64) + rv = *(const uint32_t *)addr; +#else + __asm volatile("lw %0, 0(%1)" : "=r"(rv) : "d"(addr)); +#endif return (rv); } static __inline void mips3_sw_a64(uint64_t addr, uint32_t val) { - uint32_t addrlo, addrhi; +#if defined(__mips_o32) uint32_t sr; sr = mips_cp0_status_read(); - mips_cp0_status_write(sr | MIPS3_SR_KX); + mips_cp0_status_write((sr & ~MIPS_SR_INT_IE) | MIPS3_SR_KX); - addrlo = addr & 0xffffffff; - addrhi = addr >> 32; - __asm volatile (" \n\ - .set push \n\ - .set mips3 \n\ - .set noreorder \n\ - .set noat \n\ - dsll32 $3, %1, 0 \n\ - dsll32 $1, %2, 0 \n\ - dsrl32 $3, $3, 0 \n\ - or $1, $1, $3 \n\ - sw %0, 0($1) \n\ - .set pop \n\ - " : : "r"(val), "r"(addrlo), "r"(addrhi) : "$1", "$3" ); + __asm volatile ( + ".set push \n\t" + ".set mips3 \n\t" + ".set noreorder \n\t" + ".set noat \n\t" + "dsll32 %M0,%M0,0 \n\t" + "dsll32 %L0,%L0,0 \n\t" + "dsrl32 $L0,%L0,0 \n\t" + "or %0,%M0,%L0 \n\t" + "sw %1, 0(%0) \n\t" + ".set pop" + : "=d"(addr): "r"(val), "0"(addr) + ); mips_cp0_status_write(sr); +#elif defined(_LP64) + *(uint32_t *)addr = val; +#else + __asm volatile("sw %1, 0(%0)" :: "d"(addr), "r"(val)); +#endif } #endif /* MIPS3 || MIPS4 || MIPS64 */ @@ -395,8 +468,15 @@ */ struct kernframe { +#if defined(__mips_o32) || defined(__mips_o64) register_t cf_args[4 + 1]; +#if defined(__mips_o32) register_t cf_pad; /* (for 8 word alignment) */ +#endif +#endif +#if defined(__mips_n32) || defined(__mips_n64) + register_t cf_args[8 + 1]; +#endif register_t cf_sp; register_t cf_ra; struct trapframe cf_frame; Index: src/sys/arch/mips/include/mcontext.h diff -u src/sys/arch/mips/include/mcontext.h:1.8 src/sys/arch/mips/include/mcontext.h:1.8.18.1 --- src/sys/arch/mips/include/mcontext.h:1.8 Mon Apr 28 20:23:28 2008 +++ src/sys/arch/mips/include/mcontext.h Sun Aug 16 03:33:58 2009 @@ -1,4 +1,4 @@ -/* $NetBSD: mcontext.h,v 1.8 2008/04/28 20:23:28 martin Exp $ */ +/* $NetBSD: mcontext.h,v 1.8.18.1 2009/08/16 03:33:58 matt Exp $ */ /*- * Copyright (c) 1999, 2002 The NetBSD Foundation, Inc. @@ -129,15 +129,6 @@ #define _UC_MACHINE_PAD 16 /* Padding appended to ucontext_t */ -/* - * Offsets relative to ucontext_t; intended to be used by assembly stubs. - */ -#if !defined(_MIPS_BSD_API) || _MIPS_BSD_API == _MIPS_BSD_API_LP32 -#define _OFFSETOF_UC_GREGS 40 -#else -#define _OFFSETOF_UC_GREGS 56 -#endif - #define _UC_SETSTACK 0x00010000 #define _UC_CLRSTACK 0x00020000 Index: src/sys/arch/mips/include/pci_machdep.h diff -u src/sys/arch/mips/include/pci_machdep.h:1.4 src/sys/arch/mips/include/pci_machdep.h:1.4.96.1 --- src/sys/arch/mips/include/pci_machdep.h:1.4 Sun Dec 11 12:18:09 2005 +++ src/sys/arch/mips/include/pci_machdep.h Sun Aug 16 03:33:58 2009 @@ -1,4 +1,4 @@ -/* $NetBSD: pci_machdep.h,v 1.4 2005/12/11 12:18:09 christos Exp $ */ +/* $NetBSD: pci_machdep.h,v 1.4.96.1 2009/08/16 03:33:58 matt Exp $ */ /* * Copyright (c) 1996 Carnegie-Mellon University. @@ -50,8 +50,8 @@ */ struct mips_pci_chipset { void *pc_conf_v; - void (*pc_attach_hook)(struct device *, - struct device *, struct pcibus_attach_args *); + void (*pc_attach_hook)(device_t, device_t, + struct pcibus_attach_args *); int (*pc_bus_maxdevs)(void *, int); pcitag_t (*pc_make_tag)(void *, int, int, int); void (*pc_decompose_tag)(void *, pcitag_t, int *, @@ -73,7 +73,7 @@ #ifdef __HAVE_PCIIDE_MACHDEP_COMPAT_INTR_ESTABLISH void *(*pc_pciide_compat_intr_establish)(void *, - struct device *, struct pci_attach_args *, int, + device_t, struct pci_attach_args *, int, int (*)(void *), void *); #endif }; Index: src/sys/arch/mips/include/psl.h diff -u src/sys/arch/mips/include/psl.h:1.17 src/sys/arch/mips/include/psl.h:1.17.96.1 --- src/sys/arch/mips/include/psl.h:1.17 Sun Dec 11 12:18:09 2005 +++ src/sys/arch/mips/include/psl.h Sun Aug 16 03:33:58 2009 @@ -1,4 +1,4 @@ -/* $NetBSD: psl.h,v 1.17 2005/12/11 12:18:09 christos Exp $ */ +/* $NetBSD: psl.h,v 1.17.96.1 2009/08/16 03:33:58 matt Exp $ */ /* * Copyright (c) 1992, 1993 @@ -47,7 +47,7 @@ */ #define MIPS3_PSL_LOWIPL (MIPS3_INT_MASK | MIPS_SR_INT_IE) -#if defined(_MIPS_BSD_API) && _MIPS_BSD_API != _MIPS_BSD_API_LP32 +#if !defined(__mips_o32) #define MIPS3_PSL_XFLAGS (MIPS3_SR_XX | MIPS3_SR_UX) #else #define MIPS3_PSL_XFLAGS (0) Index: src/sys/arch/mips/include/regnum.h diff -u src/sys/arch/mips/include/regnum.h:1.8 src/sys/arch/mips/include/regnum.h:1.8.96.1 --- src/sys/arch/mips/include/regnum.h:1.8 Sun Dec 11 12:18:09 2005 +++ src/sys/arch/mips/include/regnum.h Sun Aug 16 03:33:58 2009 @@ -1,4 +1,4 @@ -/* $NetBSD: regnum.h,v 1.8 2005/12/11 12:18:09 christos Exp $ */ +/* $NetBSD: regnum.h,v 1.8.96.1 2009/08/16 03:33:58 matt Exp $ */ /* * Copyright (c) 1992, 1993 @@ -81,53 +81,51 @@ * registers relative to ZERO. * Usage is p->p_regs[XX]. */ -#define _R_ZERO 0 -#define _R_AST 1 -#define _R_V0 2 -#define _R_V1 3 -#define _R_A0 4 -#define _R_A1 5 -#define _R_A2 6 -#define _R_A3 7 +#define _R_ZERO 0 /* hardware zero */ +#define _R_AST 1 /* caller-saved */ +#define _R_V0 2 /* caller-saved */ +#define _R_V1 3 /* caller-saved */ +#define _R_A0 4 /* caller-saved */ +#define _R_A1 5 /* caller-saved */ +#define _R_A2 6 /* caller-saved */ +#define _R_A3 7 /* caller-saved */ #if defined(__mips_n32) || defined(__mips_n64) -#define _R_A4 8 -#define _R_A5 9 -#define _R_A6 10 -#define _R_A7 11 -#define _R_T0 12 -#define _R_T1 13 -#define _R_T2 14 -#define _R_T3 15 +#define _R_A4 8 /* caller-saved */ +#define _R_A5 9 /* caller-saved */ +#define _R_A6 10 /* caller-saved */ +#define _R_A7 11 /* caller-saved */ +#define _R_T0 12 /* caller-saved */ +#define _R_T1 13 /* caller-saved */ +#define _R_T2 14 /* caller-saved */ +#define _R_T3 15 /* caller-saved */ #else -#define _R_T0 8 -#define _R_T1 9 -#define _R_T2 10 -#define _R_T3 11 -#define _R_T4 12 -#define _R_T5 13 -#define _R_T6 14 -#define _R_T7 15 +#define _R_T0 8 /* caller-saved */ +#define _R_T1 9 /* caller-saved */ +#define _R_T2 10 /* caller-saved */ +#define _R_T3 11 /* caller-saved */ +#define _R_T4 12 /* caller-saved */ +#define _R_T5 13 /* caller-saved */ +#define _R_T6 14 /* caller-saved */ +#define _R_T7 15 /* caller-saved */ #endif /* __mips_n32 || __mips_n64 */ -#define _R_S0 16 -#define _R_S1 17 -#define _R_S2 18 -#define _R_S3 19 -#define _R_S4 20 -#define _R_S5 21 -#define _R_S6 22 -#define _R_S7 23 -#define _R_T8 24 -#define _R_T9 25 -#define _R_K0 26 -#define _R_K1 27 -#define _R_GP 28 -#define _R_SP 29 -#define _R_S8 30 -#define _R_RA 31 +#define _R_S0 16 /* CALLEE-saved */ +#define _R_S1 17 /* CALLEE-saved */ +#define _R_S2 18 /* CALLEE-saved */ +#define _R_S3 19 /* CALLEE-saved */ +#define _R_S4 20 /* CALLEE-saved */ +#define _R_S5 21 /* CALLEE-saved */ +#define _R_S6 22 /* CALLEE-saved */ +#define _R_S7 23 /* CALLEE-saved */ +#define _R_T8 24 /* caller-saved */ +#define _R_T9 25 /* caller-saved */ +#define _R_K0 26 /* kernel reserved */ +#define _R_K1 27 /* kernel reserved */ +#define _R_GP 28 /* CALLEE-saved */ +#define _R_SP 29 /* CALLEE-saved */ +#define _R_S8 30 /* CALLEE-saved */ +#define _R_RA 31 /* caller-saved */ #define _R_SR 32 -#ifndef _KERNEL /* clashes with netccitt/pk.h */ #define _R_PS _R_SR /* alias for SR */ -#endif /* See <mips/regdef.h> for an explanation. */ #if defined(__mips_n32) || defined(__mips_n64) Index: src/sys/arch/mips/include/setjmp.h diff -u src/sys/arch/mips/include/setjmp.h:1.7 src/sys/arch/mips/include/setjmp.h:1.7.138.1 --- src/sys/arch/mips/include/setjmp.h:1.7 Tue Mar 5 14:17:16 2002 +++ src/sys/arch/mips/include/setjmp.h Sun Aug 16 03:33:58 2009 @@ -1,4 +1,4 @@ -/* $NetBSD: setjmp.h,v 1.7 2002/03/05 14:17:16 simonb Exp $ */ +/* $NetBSD: setjmp.h,v 1.7.138.1 2009/08/16 03:33:58 matt Exp $ */ /* * mips/setjmp.h: machine dependent setjmp-related information. @@ -7,10 +7,11 @@ * struct sigcontext to restore it. */ -#include <machine/cdefs.h> /* for API selection */ - -#if !defined(_MIPS_BSD_API) || _MIPS_BSD_API == _MIPS_BSD_API_LP32 +#if defined(__mips_o32) #define _JBLEN 87 /* XXX Naively 84; 87 for compatibility */ #else -#define _JBLEN 120 +#define _JBLEN (87 + 33) /* 32 more FP registers */ +#ifdef __mips_n32 +#define _BSD_JBSLOT_T_ long long +#endif #endif Index: src/sys/arch/mips/include/signal.h diff -u src/sys/arch/mips/include/signal.h:1.27 src/sys/arch/mips/include/signal.h:1.27.92.1 --- src/sys/arch/mips/include/signal.h:1.27 Sun Dec 11 12:18:09 2005 +++ src/sys/arch/mips/include/signal.h Sun Aug 16 03:33:58 2009 @@ -1,4 +1,4 @@ -/* $NetBSD: signal.h,v 1.27 2005/12/11 12:18:09 christos Exp $ */ +/* $NetBSD: signal.h,v 1.27.92.1 2009/08/16 03:33:58 matt Exp $ */ /* * Copyright (c) 1992, 1993 @@ -93,27 +93,12 @@ mips_reg_t sc_regs[32]; /* processor regs 0 to 31 */ mips_reg_t mullo, mulhi;/* mullo and mulhi registers... */ int sc_fpused; /* fp has been used */ - int sc_fpregs[33]; /* fp regs 0 to 31 and csr */ + mips_fpreg_t sc_fpregs[33]; /* fp regs 0 to 31 and csr */ int sc_fpc_eir; /* floating point exception instruction reg */ - int sc_xxx[8]; /* XXX reserved */ + long sc_xxx[8]; /* XXX reserved */ sigset_t sc_mask; /* signal mask to restore (new style) */ }; #endif /* _LIBC || _KERNEL */ #endif /* !_LANGUAGE_ASSEMBLY */ -#if defined(_LIBC) -/* - * Hard code these to make people think twice about breaking compatibility. - * These macros are generated independently for the kernel. - */ -#if !defined(_MIPS_BSD_API) || _MIPS_BSD_API == _MIPS_BSD_API_LP32 -#define _OFFSETOF_SC_REGS 12 -#define _OFFSETOF_SC_FPREGS 152 -#define _OFFSETOF_SC_MASK 320 -#else -#define _OFFSETOF_SC_REGS 16 -#define _OFFSETOF_SC_FPREGS 292 -#define _OFFSETOF_SC_MASK 460 -#endif -#endif /* _LIBC */ #endif /* !_MIPS_SIGNAL_H_ */ Index: src/sys/arch/mips/include/stdarg.h diff -u src/sys/arch/mips/include/stdarg.h:1.28 src/sys/arch/mips/include/stdarg.h:1.28.14.1 --- src/sys/arch/mips/include/stdarg.h:1.28 Sat Jun 21 00:56:39 2008 +++ src/sys/arch/mips/include/stdarg.h Sun Aug 16 03:33:58 2009 @@ -1,4 +1,4 @@ -/* $NetBSD: stdarg.h,v 1.28 2008/06/21 00:56:39 gmcgarry Exp $ */ +/* $NetBSD: stdarg.h,v 1.28.14.1 2009/08/16 03:33:58 matt Exp $ */ /*- * Copyright (c) 1992, 1993 @@ -62,10 +62,10 @@ #else -#if defined(_MIPS_BSD_API) && \ - !((_MIPS_BSD_API == _MIPS_BSD_API_LP32) || \ - (_MIPS_BSD_API == _MIPS_BSD_API_LP32_64CLEAN)) -#error stdargs.h does not work with 64 bit ABIs +#if defined(__mips_n32) +#error stdarg.h does not work with the N32 ABI with this compiler +#elif defined(__mips_n64) +#error stdarg.h does not work with the N64 ABI with this compiler #endif #define va_start(ap, last) \ Index: src/sys/arch/mips/include/types.h diff -u src/sys/arch/mips/include/types.h:1.43 src/sys/arch/mips/include/types.h:1.43.36.1 --- src/sys/arch/mips/include/types.h:1.43 Thu Nov 29 00:58:03 2007 +++ src/sys/arch/mips/include/types.h Sun Aug 16 03:33:58 2009 @@ -1,4 +1,4 @@ -/* $NetBSD: types.h,v 1.43 2007/11/29 00:58:03 ad Exp $ */ +/* $NetBSD: types.h,v 1.43.36.1 2009/08/16 03:33:58 matt Exp $ */ /*- * Copyright (c) 1992, 1993 @@ -47,18 +47,18 @@ * the rest of the operating system as possible. */ -#if defined(_MIPS_BSD_API) && _MIPS_BSD_API != _MIPS_BSD_API_LP32 -typedef long long mips_reg_t; -typedef unsigned long long mips_ureg_t; -#if _MIPS_BSD_API != _MIPS_BSD_API_LP32 && _MIPS_BSD_API != _MIPS_BSD_API_LP32_64CLEAN -typedef long long mips_fpreg_t; +#if !defined(__mips_o32) +typedef long long mips_reg_t; +typedef unsigned long long mips_ureg_t; +#if defined(__mips_o64) +typedef int mips_fpreg_t; #else -typedef int mips_fpreg_t; +typedef long long mips_fpreg_t; #endif #else -typedef long mips_reg_t; -typedef unsigned long mips_ureg_t; -typedef long mips_fpreg_t; +typedef long mips_reg_t; +typedef unsigned long mips_ureg_t; +typedef long mips_fpreg_t; #endif /* NB: This should probably be if defined(_KERNEL) */ @@ -67,11 +67,11 @@ typedef unsigned long long paddr_t; typedef unsigned long long psize_t; #else -typedef unsigned long paddr_t; -typedef unsigned long psize_t; +typedef unsigned long paddr_t; +typedef unsigned long psize_t; #endif -typedef unsigned long vaddr_t; -typedef unsigned long vsize_t; +typedef unsigned long vaddr_t; +typedef unsigned long vsize_t; #endif /* Make sure this is signed; we need pointers to be sign-extended. */