Date: Fri, 21 Nov 2014 23:08:52 +0000 (UTC) From: Gleb Smirnoff <glebius@FreeBSD.org> To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r274827 - in projects/sendfile: . contrib/binutils/binutils contrib/binutils/include/elf lib/libc/gen lib/libc/include lib/libc/mips/gen lib/libc/sys lib/libkiconv lib/libmd lib/libthr/... Message-ID: <201411212308.sALN8qSx042048@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: glebius Date: Fri Nov 21 23:08:51 2014 New Revision: 274827 URL: https://svnweb.freebsd.org/changeset/base/274827 Log: Merge head r258543 through r274826. Added: projects/sendfile/sys/dev/terasic/mtl/terasic_mtl_vt.c - copied unchanged from r274826, head/sys/dev/terasic/mtl/terasic_mtl_vt.c Modified: projects/sendfile/Makefile.inc1 projects/sendfile/contrib/binutils/binutils/readelf.c projects/sendfile/contrib/binutils/include/elf/common.h projects/sendfile/lib/libc/gen/errlst.c projects/sendfile/lib/libc/gen/isnan.c projects/sendfile/lib/libc/gen/tls.c projects/sendfile/lib/libc/include/errlst.h projects/sendfile/lib/libc/mips/gen/_setjmp.S projects/sendfile/lib/libc/mips/gen/setjmp.S projects/sendfile/lib/libc/sys/stack_protector.c projects/sendfile/lib/libc/sys/stack_protector_compat.c projects/sendfile/lib/libkiconv/quirks.c projects/sendfile/lib/libkiconv/xlat16_iconv.c projects/sendfile/lib/libkiconv/xlat16_sysctl.c projects/sendfile/lib/libmd/rmd160c.c projects/sendfile/lib/libmd/sha1c.c projects/sendfile/lib/libthr/thread/thr_exit.c projects/sendfile/lib/libthr/thread/thr_private.h projects/sendfile/lib/msun/src/s_isnan.c projects/sendfile/libexec/rtld-elf/rtld.c projects/sendfile/sbin/fsck/fsck.c projects/sendfile/share/man/man4/iicbus.4 projects/sendfile/share/man/man9/Makefile projects/sendfile/share/mk/bsd.README projects/sendfile/sys/amd64/amd64/elf_machdep.c projects/sendfile/sys/amd64/amd64/fpu.c projects/sendfile/sys/amd64/amd64/ptrace_machdep.c projects/sendfile/sys/amd64/include/asm.h projects/sendfile/sys/arm/include/asm.h projects/sendfile/sys/boot/fdt/dts/mips/beri-sim.dts projects/sendfile/sys/boot/fdt/dts/mips/beripad-de4.dts projects/sendfile/sys/cam/cam_xpt.c projects/sendfile/sys/cam/ctl/ctl.c projects/sendfile/sys/cam/ctl/ctl_cmd_table.c projects/sendfile/sys/cam/ctl/ctl_frontend.c projects/sendfile/sys/cam/ctl/ctl_frontend.h projects/sendfile/sys/cam/ctl/ctl_frontend_cam_sim.c projects/sendfile/sys/cam/ctl/ctl_frontend_internal.c projects/sendfile/sys/cam/ctl/ctl_frontend_iscsi.c projects/sendfile/sys/cam/ctl/ctl_frontend_iscsi.h projects/sendfile/sys/cam/ctl/ctl_ha.h projects/sendfile/sys/cam/ctl/ctl_private.h projects/sendfile/sys/cam/ctl/ctl_tpc_local.c projects/sendfile/sys/cam/ctl/scsi_ctl.c projects/sendfile/sys/compat/ia32/ia32_sysvec.c projects/sendfile/sys/dev/advansys/advansys.c projects/sendfile/sys/dev/advansys/adwcam.c projects/sendfile/sys/dev/aha/aha.c projects/sendfile/sys/dev/ahb/ahb.c projects/sendfile/sys/dev/ahci/ahci.c projects/sendfile/sys/dev/aic/aic.c projects/sendfile/sys/dev/altera/avgen/altera_avgen.c projects/sendfile/sys/dev/altera/jtag_uart/altera_jtag_uart_cons.c projects/sendfile/sys/dev/altera/jtag_uart/altera_jtag_uart_tty.c projects/sendfile/sys/dev/arcmsr/arcmsr.c projects/sendfile/sys/dev/asr/asr.c projects/sendfile/sys/dev/buslogic/bt.c projects/sendfile/sys/dev/ciss/ciss.c projects/sendfile/sys/dev/dpt/dpt_scsi.c projects/sendfile/sys/dev/firewire/sbp.c projects/sendfile/sys/dev/glxiic/glxiic.c projects/sendfile/sys/dev/hpt27xx/hpt27xx_os_bsd.c projects/sendfile/sys/dev/hptnr/hptnr_os_bsd.c projects/sendfile/sys/dev/hptrr/hptrr_os_bsd.c projects/sendfile/sys/dev/hwpmc/hwpmc_mod.c projects/sendfile/sys/dev/hyperv/storvsc/hv_storvsc_drv_freebsd.c projects/sendfile/sys/dev/iir/iir.c projects/sendfile/sys/dev/isci/isci_io_request.c projects/sendfile/sys/dev/isci/isci_timer.c projects/sendfile/sys/dev/mpr/mpr_sas.c projects/sendfile/sys/dev/mps/mps_sas.c projects/sendfile/sys/dev/mpt/mpt.c projects/sendfile/sys/dev/mpt/mpt.h projects/sendfile/sys/dev/mpt/mpt_cam.c projects/sendfile/sys/dev/mrsas/mrsas_cam.c projects/sendfile/sys/dev/mvs/mvs.c projects/sendfile/sys/dev/siis/siis.c projects/sendfile/sys/dev/sym/sym_hipd.c projects/sendfile/sys/dev/terasic/mtl/terasic_mtl.c projects/sendfile/sys/dev/terasic/mtl/terasic_mtl.h projects/sendfile/sys/dev/terasic/mtl/terasic_mtl_fdt.c projects/sendfile/sys/dev/terasic/mtl/terasic_mtl_nexus.c projects/sendfile/sys/dev/terasic/mtl/terasic_mtl_reg.c projects/sendfile/sys/dev/terasic/mtl/terasic_mtl_text.c projects/sendfile/sys/dev/trm/trm.c projects/sendfile/sys/dev/tws/tws_cam.c projects/sendfile/sys/dev/virtio/scsi/virtio_scsi.c projects/sendfile/sys/fs/smbfs/smbfs_vfsops.c projects/sendfile/sys/i386/i386/elf_machdep.c projects/sendfile/sys/i386/i386/ptrace_machdep.c projects/sendfile/sys/i386/include/asm.h projects/sendfile/sys/i386/isa/npx.c projects/sendfile/sys/kern/imgact_elf.c projects/sendfile/sys/mips/beri/files.beri projects/sendfile/sys/mips/conf/BERI_DE4_BASE projects/sendfile/sys/mips/include/asm.h projects/sendfile/sys/mips/mips/cpu.c projects/sendfile/sys/powerpc/include/asm.h projects/sendfile/sys/powerpc/include/profile.h projects/sendfile/sys/powerpc/powerpc/db_trace.c projects/sendfile/sys/sparc64/include/asm.h projects/sendfile/sys/sys/elf_common.h projects/sendfile/sys/sys/imgact_elf.h projects/sendfile/sys/x86/include/fpu.h projects/sendfile/sys/x86/include/ptrace.h projects/sendfile/tools/tools/nanobsd/nanobsd.sh projects/sendfile/usr.bin/gcore/elfcore.c projects/sendfile/usr.sbin/autofs/auto_master.5 projects/sendfile/usr.sbin/ctld/ctld.c projects/sendfile/usr.sbin/ctld/isns.c Directory Properties: projects/sendfile/ (props changed) projects/sendfile/contrib/binutils/ (props changed) projects/sendfile/lib/libc/ (props changed) projects/sendfile/sbin/ (props changed) projects/sendfile/share/ (props changed) projects/sendfile/share/man/man4/ (props changed) projects/sendfile/sys/ (props changed) projects/sendfile/sys/boot/ (props changed) projects/sendfile/sys/dev/hyperv/ (props changed) Modified: projects/sendfile/Makefile.inc1 ============================================================================== --- projects/sendfile/Makefile.inc1 Fri Nov 21 23:05:08 2014 (r274826) +++ projects/sendfile/Makefile.inc1 Fri Nov 21 23:08:51 2014 (r274827) @@ -97,11 +97,22 @@ SUBDIR+=contrib/ofed # SUBDIR+=etc -# These are last, since it is nice to at least get the base system -# rebuilt before you do them. -.for _DIR in ${LOCAL_LIB_DIRS} ${LOCAL_DIRS} +# Local directories are last, since it is nice to at least get the base +# system rebuilt before you do them. +.for _DIR in ${LOCAL_DIRS} .if exists(${.CURDIR}/${_DIR}/Makefile) -SUBDIR+= ${_DIR} +SUBDIR+= ${_DIR} +.endif +.endfor +# Add LOCAL_LIB_DIRS, but only if they will not be picked up as a SUBDIR +# of a LOCAL_DIRS directory. This allows LOCAL_DIRS=foo and +# LOCAL_LIB_DIRS=foo/lib to behave as expected. +.for _DIR in ${LOCAL_DIRS:M*/} ${LOCAL_DIRS:N*/:S|$|/|} +_REDUNDENT_LIB_DIRS+= ${LOCAL_LIB_DIRS:M${_DIR}*} +.endfor +.for _DIR in ${LOCAL_LIB_DIRS} +.if empty(_REDUNDENT_LIB_DIRS:M${_DIR}) && exists(${.CURDIR}/${_DIR}/Makefile) +SUBDIR+= ${_DIR} .endif .endfor .endif @@ -691,6 +702,11 @@ buildworld_epilogue: buildenvvars: @echo ${WMAKEENV:Q} +.if ${.TARGETS:Mbuildenv} +.if ${.MAKEFLAGS:M-j} +.error The buildenv target is incompatible with -j +.endif +.endif buildenv: @echo Entering world for ${TARGET_ARCH}:${TARGET} @cd ${.CURDIR} && env ${WMAKEENV} ${BUILDENV_SHELL} || true Modified: projects/sendfile/contrib/binutils/binutils/readelf.c ============================================================================== --- projects/sendfile/contrib/binutils/binutils/readelf.c Fri Nov 21 23:05:08 2014 (r274826) +++ projects/sendfile/contrib/binutils/binutils/readelf.c Fri Nov 21 23:08:51 2014 (r274827) @@ -9159,6 +9159,8 @@ get_freebsd_note_type (unsigned e_type) return _("NT_PROCSTAT_PSSTRINGS (ps_strings data)"); case NT_PROCSTAT_AUXV: return _("NT_PROCSTAT_AUXV (auxv data)"); + case NT_X86_XSTATE: + return _("NT_X86_XSTATE (x86 XSAVE extended state)"); default: return get_note_type(e_type); } Modified: projects/sendfile/contrib/binutils/include/elf/common.h ============================================================================== --- projects/sendfile/contrib/binutils/include/elf/common.h Fri Nov 21 23:05:08 2014 (r274826) +++ projects/sendfile/contrib/binutils/include/elf/common.h Fri Nov 21 23:08:51 2014 (r274827) @@ -414,6 +414,7 @@ #define NT_PROCSTAT_OSREL 14 #define NT_PROCSTAT_PSSTRINGS 15 #define NT_PROCSTAT_AUXV 16 +#define NT_X86_XSTATE 0x202 /* Note segments for core files on NetBSD systems. Note name Modified: projects/sendfile/lib/libc/gen/errlst.c ============================================================================== --- projects/sendfile/lib/libc/gen/errlst.c Fri Nov 21 23:05:08 2014 (r274826) +++ projects/sendfile/lib/libc/gen/errlst.c Fri Nov 21 23:08:51 2014 (r274827) @@ -158,7 +158,7 @@ const char *const sys_errlist[] = { }; const int sys_nerr = sizeof(sys_errlist) / sizeof(sys_errlist[0]); -#ifdef PIC +#ifdef __PIC__ __strong_reference(sys_errlist, __hidden_sys_errlist); __strong_reference(sys_nerr, __hidden_sys_nerr); #endif Modified: projects/sendfile/lib/libc/gen/isnan.c ============================================================================== --- projects/sendfile/lib/libc/gen/isnan.c Fri Nov 21 23:05:08 2014 (r274826) +++ projects/sendfile/lib/libc/gen/isnan.c Fri Nov 21 23:08:51 2014 (r274827) @@ -40,7 +40,7 @@ * time, when calling both functions. */ -#ifdef PIC +#ifdef __PIC__ __weak_reference(__isnan, isnan); __weak_reference(__isnanf, isnanf); @@ -61,4 +61,4 @@ __isnanf(float f) u.f = f; return (u.bits.exp == 255 && u.bits.man != 0); } -#endif /* PIC */ +#endif /* __PIC__ */ Modified: projects/sendfile/lib/libc/gen/tls.c ============================================================================== --- projects/sendfile/lib/libc/gen/tls.c Fri Nov 21 23:05:08 2014 (r274826) +++ projects/sendfile/lib/libc/gen/tls.c Fri Nov 21 23:08:51 2014 (r274827) @@ -78,7 +78,7 @@ void __libc_free_tls(void *tls, size_t t #define TLS_VARIANT_II #endif -#ifndef PIC +#ifndef __PIC__ #define round(size, align) \ (((size) + (align) - 1) & ~((align) - 1)) @@ -107,7 +107,7 @@ __libc_tls_get_addr(void *ti __unused) return (0); } -#ifndef PIC +#ifndef __PIC__ #ifdef TLS_VARIANT_I @@ -264,14 +264,14 @@ __libc_free_tls(void *tcb __unused, size { } -#endif /* PIC */ +#endif /* __PIC__ */ extern char **environ; void _init_tls() { -#ifndef PIC +#ifndef __PIC__ Elf_Addr *sp; Elf_Auxinfo *aux, *auxp; Elf_Phdr *phdr; Modified: projects/sendfile/lib/libc/include/errlst.h ============================================================================== --- projects/sendfile/lib/libc/include/errlst.h Fri Nov 21 23:05:08 2014 (r274826) +++ projects/sendfile/lib/libc/include/errlst.h Fri Nov 21 23:08:51 2014 (r274827) @@ -31,7 +31,7 @@ #include <sys/cdefs.h> -#ifdef PIC +#ifdef __PIC__ /* If the main executable imports these, do not use its copy from libc.so. */ extern const char *const __hidden_sys_errlist[] __hidden; extern const int __hidden_sys_nerr __hidden; Modified: projects/sendfile/lib/libc/mips/gen/_setjmp.S ============================================================================== --- projects/sendfile/lib/libc/mips/gen/_setjmp.S Fri Nov 21 23:05:08 2014 (r274826) +++ projects/sendfile/lib/libc/mips/gen/_setjmp.S Fri Nov 21 23:08:51 2014 (r274827) @@ -61,9 +61,16 @@ __FBSDID("$FreeBSD$"); LEAF(_setjmp) REG_PROLOGUE - REG_LI v0, _JB_MAGIC__SETJMP + REG_LI v0, _JB_MAGIC__SETJMP # sigcontext magic number REG_S v0, (_JB_MAGIC * SZREG)(a0) REG_S ra, (_JB_REG_RA * SZREG)(a0) + /* + * From "MIPSpro N32 ABI Handbook", Table 2-1: + * Registers s0..s7 are callee-saved. + * The sp register is callee-saved. + * The fp (or s8) register is callee-saved. + * The gp register is callee-saved (for n32/n64). + */ REG_S s0, (_JB_REG_S0 * SZREG)(a0) REG_S s1, (_JB_REG_S1 * SZREG)(a0) REG_S s2, (_JB_REG_S2 * SZREG)(a0) @@ -72,11 +79,41 @@ LEAF(_setjmp) REG_S s5, (_JB_REG_S5 * SZREG)(a0) REG_S s6, (_JB_REG_S6 * SZREG)(a0) REG_S s7, (_JB_REG_S7 * SZREG)(a0) + REG_S sp, (_JB_REG_SP * SZREG)(a0) REG_S s8, (_JB_REG_S8 * SZREG)(a0) #if defined(__mips_n32) || defined(__mips_n64) REG_S gp, (_JB_REG_GP * SZREG)(a0) # newabi gp is callee-saved #endif - REG_S sp, (_JB_REG_SP * SZREG)(a0) + /* + * From "MIPSpro N32 ABI Handbook", Table 2-1: + * In N32, FP registers F20, F22, F24, F26, F28, F30 are callee-saved. + * In N64, FP registers F24 .. F31 are callee-saved. + * In O32, FP registers F20 .. F23 are callee-saved. + */ +#ifndef SOFTFLOAT + cfc1 v0, $31 # too bad can't check if FP used +#if defined(__mips_n64) || defined(__mips_n32) + FP_S $f30, (_JB_FPREG_F30 * SZREG)(a0) + FP_S $f28, (_JB_FPREG_F28 * SZREG)(a0) + FP_S $f26, (_JB_FPREG_F26 * SZREG)(a0) + FP_S $f24, (_JB_FPREG_F24 * SZREG)(a0) +#endif +#if defined(__mips_n32) || defined(__mips_o32) || defined(__mips_o64) + FP_S $f22, (_JB_FPREG_F22 * SZREG)(a0) + FP_S $f20, (_JB_FPREG_F20 * SZREG)(a0) +#endif +#if defined(__mips_o32) || defined(__mips_o64) + FP_S $f21, (_JB_FPREG_F21 * SZREG)(a0) + FP_S $f23, (_JB_FPREG_F23 * SZREG)(a0) +#endif +#if defined(__mips_n64) + FP_S $f25, (_JB_FPREG_F25 * SZREG)(a0) + FP_S $f27, (_JB_FPREG_F27 * SZREG)(a0) + FP_S $f29, (_JB_FPREG_F29 * SZREG)(a0) + FP_S $f31, (_JB_FPREG_F31 * SZREG)(a0) +#endif + INT_S v0, (_JB_FPREG_FCSR * SZREG)(a0) +#endif /* ! SOFTFLOAT */ REG_EPILOGUE j ra @@ -94,6 +131,13 @@ LEAF(_longjmp) REG_LI t0, _JB_MAGIC__SETJMP bne v0, t0, botch # jump if error PTR_ADDU sp, sp, CALLFRAME_SIZ # does not matter, sanity + /* + * From "MIPSpro N32 ABI Handbook", Table 2-1: + * Registers s0..s7 are callee-saved. + * The sp register is callee-saved. + * The fp (or s8) register is callee-saved. + * The gp register is callee-saved (for n32/n64). + */ REG_L s0, (_JB_REG_S0 * SZREG)(a0) REG_L s1, (_JB_REG_S1 * SZREG)(a0) REG_L s2, (_JB_REG_S2 * SZREG)(a0) @@ -102,11 +146,42 @@ LEAF(_longjmp) REG_L s5, (_JB_REG_S5 * SZREG)(a0) REG_L s6, (_JB_REG_S6 * SZREG)(a0) REG_L s7, (_JB_REG_S7 * SZREG)(a0) + REG_L sp, (_JB_REG_SP * SZREG)(a0) + REG_L s8, (_JB_REG_S8 * SZREG)(a0) #if defined(__mips_n32) || defined(__mips_n64) REG_L gp, (_JB_REG_GP * SZREG)(a0) #endif - REG_L sp, (_JB_REG_SP * SZREG)(a0) - REG_L s8, (_JB_REG_S8 * SZREG)(a0) +#ifndef SOFTFLOAT + # get fpu status + INT_L v0, (_JB_FPREG_FCSR * SZREG)(a0) + ctc1 v0, $31 + /* + * From "MIPSpro N32 ABI Handbook", Table 2-1: + * In N32, FP registers F20, F22, F24, F26, F28, F30 are callee-saved. + * In N64, FP registers F24 .. F31 are callee-saved. + * In O32, FP registers F20 .. F23 are callee-saved. + */ +#if defined(__mips_n64) || defined(__mips_n32) + FP_L $f30, (_JB_FPREG_F30 * SZREG)(a0) + FP_L $f28, (_JB_FPREG_F28 * SZREG)(a0) + FP_L $f26, (_JB_FPREG_F26 * SZREG)(a0) + FP_L $f24, (_JB_FPREG_F24 * SZREG)(a0) +#endif +#if defined(__mips_n32) || defined(__mips_o32) || defined(__mips_o64) + FP_L $f22, (_JB_FPREG_F22 * SZREG)(a0) + FP_L $f20, (_JB_FPREG_F20 * SZREG)(a0) +#endif +#if defined(__mips_o32) || defined(__mips_o64) + FP_L $f21, (_JB_FPREG_F21 * SZREG)(a0) + FP_L $f23, (_JB_FPREG_F23 * SZREG)(a0) +#endif +#if defined(__mips_n64) + FP_L $f25, (_JB_FPREG_F25 * SZREG)(a0) + FP_L $f27, (_JB_FPREG_F27 * SZREG)(a0) + FP_L $f29, (_JB_FPREG_F29 * SZREG)(a0) + FP_L $f31, (_JB_FPREG_F31 * SZREG)(a0) +#endif +#endif /* ! SOFTFLOAT */ REG_EPILOGUE move v0, a1 # get return value in 1st arg Modified: projects/sendfile/lib/libc/mips/gen/setjmp.S ============================================================================== --- projects/sendfile/lib/libc/mips/gen/setjmp.S Fri Nov 21 23:05:08 2014 (r274826) +++ projects/sendfile/lib/libc/mips/gen/setjmp.S Fri Nov 21 23:08:51 2014 (r274827) @@ -86,6 +86,13 @@ NESTED(setjmp, SETJMP_FRAME_SIZE, ra) REG_LI v0, _JB_MAGIC_SETJMP REG_S v0, (_JB_MAGIC * SZREG)(a0) REG_S ra, (_JB_REG_RA * SZREG)(a0) + /* + * From "MIPSpro N32 ABI Handbook", Table 2-1: + * Registers s0..s7 are callee-saved. + * The sp register is callee-saved. + * The fp (or s8) register is callee-saved. + * The gp register is callee-saved (for n32/n64). + */ REG_S s0, (_JB_REG_S0 * SZREG)(a0) REG_S s1, (_JB_REG_S1 * SZREG)(a0) REG_S s2, (_JB_REG_S2 * SZREG)(a0) @@ -99,6 +106,36 @@ NESTED(setjmp, SETJMP_FRAME_SIZE, ra) #if defined(__mips_n32) || defined(__mips_n64) REG_S gp, (_JB_REG_GP * SZREG)(a0) #endif +#ifndef SOFTFLOAT + /* + * From "MIPSpro N32 ABI Handbook", Table 2-1: + * In N32, FP registers F20, F22, F24, F26, F28, F30 are callee-saved. + * In N64, FP registers F24 .. F31 are callee-saved. + * In O32, FP registers F20 .. F23 are callee-saved. + */ + cfc1 v0, $31 + INT_S v0, (_JB_FPREG_FCSR * SZREG)(a0) +#if defined(__mips_o32) || defined(__mips_o64) || defined(__mips_n32) + FP_S $f20, (_JB_FPREG_F20 * SZREG)(a0) + FP_S $f22, (_JB_FPREG_F22 * SZREG)(a0) +#endif +#if defined(__mips_o32) || defined(__mips_o64) + FP_S $f21, (_JB_FPREG_F21 * SZREG)(a0) + FP_S $f23, (_JB_FPREG_F23 * SZREG)(a0) +#endif +#if defined(__mips_n32) || defined(__mips_n64) + FP_S $f24, (_JB_FPREG_F24 * SZREG)(a0) + FP_S $f26, (_JB_FPREG_F26 * SZREG)(a0) + FP_S $f28, (_JB_FPREG_F28 * SZREG)(a0) + FP_S $f30, (_JB_FPREG_F30 * SZREG)(a0) +#endif +#if defined(__mips_n64) + FP_S $f25, (_JB_FPREG_F25 * SZREG)(a0) + FP_S $f27, (_JB_FPREG_F27 * SZREG)(a0) + FP_S $f29, (_JB_FPREG_F29 * SZREG)(a0) + FP_S $f31, (_JB_FPREG_F31 * SZREG)(a0) +#endif +#endif /* ! SOFTFLOAT */ move v0, zero jr ra @@ -133,6 +170,13 @@ NESTED(longjmp, LONGJMP_FRAME_SIZE, ra) REG_L a1, (CALLFRAME_SIZ + SZREG)(sp) # restore return value REG_L ra, (_JB_REG_RA * SZREG)(a0) + /* + * From "MIPSpro N32 ABI Handbook", Table 2-1: + * Registers s0..s7 are callee-saved. + * The sp register is callee-saved. + * The fp (or s8) register is callee-saved. + * The gp register is callee-saved (for n32/n64). + */ REG_L s0, (_JB_REG_S0 * SZREG)(a0) REG_L s1, (_JB_REG_S1 * SZREG)(a0) REG_L s2, (_JB_REG_S2 * SZREG)(a0) @@ -146,6 +190,36 @@ NESTED(longjmp, LONGJMP_FRAME_SIZE, ra) #if defined(__mips_n32) || defined(__mips_n64) REG_L gp, (_JB_REG_GP * SZREG)(a0) #endif +#ifndef SOFTFLOAT + /* + * From "MIPSpro N32 ABI Handbook", Table 2-1: + * In N32, FP registers F20, F22, F24, F26, F28, F30 are callee-saved. + * In N64, FP registers F23 .. F31 are callee-saved. + * In O32, FP registers F20 .. F23 are callee-saved. + */ + INT_L v0, (_JB_FPREG_FCSR * SZREG)(a0) + ctc1 v0, $31 +#if defined(__mips_n64) || defined(__mips_n32) + FP_L $f30, (_JB_FPREG_F30 * SZREG)(a0) + FP_L $f28, (_JB_FPREG_F28 * SZREG)(a0) + FP_L $f26, (_JB_FPREG_F26 * SZREG)(a0) + FP_L $f24, (_JB_FPREG_F24 * SZREG)(a0) +#endif +#if defined(__mips_n32) || defined(__mips_o32) || defined(__mips_o64) + FP_L $f22, (_JB_FPREG_F22 * SZREG)(a0) + FP_L $f20, (_JB_FPREG_F20 * SZREG)(a0) +#endif +#if defined(__mips_o32) || defined(__mips_o64) + FP_L $f21, (_JB_FPREG_F21 * SZREG)(a0) + FP_L $f23, (_JB_FPREG_F23 * SZREG)(a0) +#endif +#if defined(__mips_n64) + FP_L $f25, (_JB_FPREG_F25 * SZREG)(a0) + FP_L $f27, (_JB_FPREG_F27 * SZREG)(a0) + FP_L $f29, (_JB_FPREG_F29 * SZREG)(a0) + FP_L $f31, (_JB_FPREG_F31 * SZREG)(a0) +#endif +#endif /* ! SOFTFLOAT */ move v0, a1 j ra Modified: projects/sendfile/lib/libc/sys/stack_protector.c ============================================================================== --- projects/sendfile/lib/libc/sys/stack_protector.c Fri Nov 21 23:05:08 2014 (r274826) +++ projects/sendfile/lib/libc/sys/stack_protector.c Fri Nov 21 23:08:51 2014 (r274827) @@ -115,6 +115,6 @@ __chk_fail(void) __fail("buffer overflow detected; terminated"); } -#ifndef PIC +#ifndef __PIC__ __weak_reference(__stack_chk_fail, __stack_chk_fail_local); #endif Modified: projects/sendfile/lib/libc/sys/stack_protector_compat.c ============================================================================== --- projects/sendfile/lib/libc/sys/stack_protector_compat.c Fri Nov 21 23:05:08 2014 (r274826) +++ projects/sendfile/lib/libc/sys/stack_protector_compat.c Fri Nov 21 23:08:51 2014 (r274827) @@ -8,7 +8,7 @@ __FBSDID("$FreeBSD$"); void __stack_chk_fail(void); -#ifdef PIC +#ifdef __PIC__ void __stack_chk_fail_local_hidden(void) { Modified: projects/sendfile/lib/libkiconv/quirks.c ============================================================================== --- projects/sendfile/lib/libkiconv/quirks.c Fri Nov 21 23:05:08 2014 (r274826) +++ projects/sendfile/lib/libkiconv/quirks.c Fri Nov 21 23:08:51 2014 (r274827) @@ -31,7 +31,7 @@ * when statically linked. */ -#ifdef PIC +#ifdef __PIC__ /* * Why do we need quirks? @@ -193,4 +193,4 @@ kiconv_quirkcs(const char* base __unused return (base); } -#endif /* PIC */ +#endif /* __PIC__ */ Modified: projects/sendfile/lib/libkiconv/xlat16_iconv.c ============================================================================== --- projects/sendfile/lib/libkiconv/xlat16_iconv.c Fri Nov 21 23:05:08 2014 (r274826) +++ projects/sendfile/lib/libkiconv/xlat16_iconv.c Fri Nov 21 23:08:51 2014 (r274827) @@ -31,7 +31,7 @@ * when statically linked. */ -#ifdef PIC +#ifdef __PIC__ #include <sys/types.h> #include <sys/iconv.h> @@ -462,4 +462,4 @@ kiconv_add_xlat16_cspairs(const char *to return (-1); } -#endif /* PIC */ +#endif /* __PIC__ */ Modified: projects/sendfile/lib/libkiconv/xlat16_sysctl.c ============================================================================== --- projects/sendfile/lib/libkiconv/xlat16_sysctl.c Fri Nov 21 23:05:08 2014 (r274826) +++ projects/sendfile/lib/libkiconv/xlat16_sysctl.c Fri Nov 21 23:08:51 2014 (r274827) @@ -37,7 +37,7 @@ * when statically linked. */ -#ifdef PIC +#ifdef __PIC__ #include <sys/types.h> #include <sys/iconv.h> @@ -82,4 +82,4 @@ kiconv_add_xlat16_table(const char *to _ return (EINVAL); } -#endif /* PIC */ +#endif /* __PIC__ */ Modified: projects/sendfile/lib/libmd/rmd160c.c ============================================================================== --- projects/sendfile/lib/libmd/rmd160c.c Fri Nov 21 23:05:08 2014 (r274826) +++ projects/sendfile/lib/libmd/rmd160c.c Fri Nov 21 23:08:51 2014 (r274827) @@ -75,7 +75,7 @@ __FBSDID("$FreeBSD$"); * The assembly-language code is not position-independent, so don't * try to use it in a shared library. */ -#ifdef PIC +#ifdef __PIC__ #undef RMD160_ASM #endif Modified: projects/sendfile/lib/libmd/sha1c.c ============================================================================== --- projects/sendfile/lib/libmd/sha1c.c Fri Nov 21 23:05:08 2014 (r274826) +++ projects/sendfile/lib/libmd/sha1c.c Fri Nov 21 23:08:51 2014 (r274827) @@ -78,7 +78,7 @@ __FBSDID("$FreeBSD$"); * The assembly-language code is not position-independent, so don't * try to use it in a shared library. */ -#ifdef PIC +#ifdef __PIC__ #undef SHA1_ASM #endif Modified: projects/sendfile/lib/libthr/thread/thr_exit.c ============================================================================== --- projects/sendfile/lib/libthr/thread/thr_exit.c Fri Nov 21 23:05:08 2014 (r274826) +++ projects/sendfile/lib/libthr/thread/thr_exit.c Fri Nov 21 23:08:51 2014 (r274827) @@ -54,7 +54,7 @@ __weak_reference(_pthread_exit, pthread_ static int message_printed; static void thread_unwind(void) __dead2; -#ifdef PIC +#ifdef __PIC__ static void thread_uw_init(void); static _Unwind_Reason_Code thread_unwind_stop(int version, _Unwind_Action actions, @@ -114,7 +114,7 @@ _Unwind_GetCFA(struct _Unwind_Context *c #else #pragma weak _Unwind_GetCFA #pragma weak _Unwind_ForcedUnwind -#endif /* PIC */ +#endif /* __PIC__ */ static void thread_unwind_cleanup(_Unwind_Reason_Code code, struct _Unwind_Exception *e) @@ -222,11 +222,11 @@ _pthread_exit_mask(void *status, sigset_ curthread->ret = status; #ifdef _PTHREAD_FORCED_UNWIND -#ifdef PIC +#ifdef __PIC__ thread_uw_init(); -#endif /* PIC */ +#endif /* __PIC__ */ -#ifdef PIC +#ifdef __PIC__ if (uwl_forcedunwind != NULL) { #else if (_Unwind_ForcedUnwind != NULL) { Modified: projects/sendfile/lib/libthr/thread/thr_private.h ============================================================================== --- projects/sendfile/lib/libthr/thread/thr_private.h Fri Nov 21 23:05:08 2014 (r274826) +++ projects/sendfile/lib/libthr/thread/thr_private.h Fri Nov 21 23:08:51 2014 (r274827) @@ -100,7 +100,7 @@ TAILQ_HEAD(mutex_queue, pthread_mutex); #define THR_ASSERT(cond, msg) #endif -#ifdef PIC +#ifdef __PIC__ # define STATIC_LIB_REQUIRE(name) #else # define STATIC_LIB_REQUIRE(name) __asm (".globl " #name) Modified: projects/sendfile/lib/msun/src/s_isnan.c ============================================================================== --- projects/sendfile/lib/msun/src/s_isnan.c Fri Nov 21 23:05:08 2014 (r274826) +++ projects/sendfile/lib/msun/src/s_isnan.c Fri Nov 21 23:08:51 2014 (r274827) @@ -31,7 +31,7 @@ #include "fpmath.h" /* Provided by libc.so */ -#ifndef PIC +#ifndef __PIC__ #undef isnan int isnan(double d) @@ -41,7 +41,7 @@ isnan(double d) u.d = d; return (u.bits.exp == 2047 && (u.bits.manl != 0 || u.bits.manh != 0)); } -#endif /* !PIC */ +#endif /* !__PIC__ */ int __isnanf(float f) Modified: projects/sendfile/libexec/rtld-elf/rtld.c ============================================================================== --- projects/sendfile/libexec/rtld-elf/rtld.c Fri Nov 21 23:05:08 2014 (r274826) +++ projects/sendfile/libexec/rtld-elf/rtld.c Fri Nov 21 23:08:51 2014 (r274827) @@ -1817,7 +1817,7 @@ init_rtld(caddr_t mapbase, Elf_Auxinfo * objtmp.path = NULL; objtmp.rtld = true; objtmp.mapbase = mapbase; -#ifdef PIC +#ifdef __PIC__ objtmp.relocbase = mapbase; #endif if (RTLD_IS_DYNAMIC()) { Modified: projects/sendfile/sbin/fsck/fsck.c ============================================================================== --- projects/sendfile/sbin/fsck/fsck.c Fri Nov 21 23:05:08 2014 (r274826) +++ projects/sendfile/sbin/fsck/fsck.c Fri Nov 21 23:08:51 2014 (r274827) @@ -41,8 +41,7 @@ __FBSDID("$FreeBSD$"); #include <sys/mount.h> #include <sys/queue.h> #include <sys/wait.h> -#define FSTYPENAMES -#include <sys/disklabel.h> +#include <sys/disk.h> #include <sys/ioctl.h> #include <ctype.h> @@ -81,10 +80,21 @@ static void addentry(struct fstypelist * static void maketypelist(char *); static void catopt(char **, const char *); static void mangle(char *, int *, const char ** volatile *, int *); -static const char *getfslab(const char *); +static const char *getfstype(const char *); static void usage(void) __dead2; static int isok(struct fstab *); +static struct { + const char *ptype; + const char *name; +} ptype_map[] = { + { "ufs", "ffs" }, + { "ffs", "ffs" }, + { "fat", "msdosfs" }, + { "efi", "msdosfs" }, + { NULL, NULL }, +}; + int main(int argc, char *argv[]) { @@ -203,7 +213,7 @@ main(int argc, char *argv[]) if ((fs = getfsfile(spec)) == NULL && (fs = getfsspec(spec)) == NULL) { if (vfstype == NULL) - vfstype = getfslab(spec); + vfstype = getfstype(spec); if (vfstype == NULL) errx(1, "Could not determine filesystem type"); type = vfstype; @@ -535,41 +545,27 @@ mangle(char *opts, int *argcp, const cha *maxargcp = maxargc; } - static const char * -getfslab(const char *str) +getfstype(const char *str) { - struct disklabel dl; - int fd; - char p; - const char *vfstype; - u_char t; + struct diocgattr_arg attr; + int fd, i; - /* deduce the file system type from the disk label */ if ((fd = open(str, O_RDONLY)) == -1) err(1, "cannot open `%s'", str); - if (ioctl(fd, DIOCGDINFO, &dl) == -1) { + strncpy(attr.name, "PART::type", sizeof(attr.name)); + memset(&attr.value, 0, sizeof(attr.value)); + attr.len = sizeof(attr.value); + if (ioctl(fd, DIOCGATTR, &attr) == -1) { (void) close(fd); return(NULL); } - (void) close(fd); - - p = str[strlen(str) - 1]; - - if ((p - 'a') >= dl.d_npartitions) - errx(1, "partition `%s' is not defined on disk", str); - - if ((t = dl.d_partitions[p - 'a'].p_fstype) >= FSMAXTYPES) - errx(1, "partition `%s' is not of a legal vfstype", - str); - - if ((vfstype = fstypenames[t]) == NULL) - errx(1, "vfstype `%s' on partition `%s' is not supported", - fstypenames[t], str); - - return vfstype; + for (i = 0; ptype_map[i].ptype != NULL; i++) + if (strstr(attr.value.str, ptype_map[i].ptype) != NULL) + return (ptype_map[i].name); + return (NULL); } Modified: projects/sendfile/share/man/man4/iicbus.4 ============================================================================== --- projects/sendfile/share/man/man4/iicbus.4 Fri Nov 21 23:05:08 2014 (r274826) +++ projects/sendfile/share/man/man4/iicbus.4 Fri Nov 21 23:08:51 2014 (r274827) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd June 24, 2014 +.Dd November 17, 2014 .Dt IICBUS 4 .Os .Sh NAME @@ -103,12 +103,59 @@ Some I2C interfaces are available: .It Sy lpbb Ta "parallel port specific bit-banging interface" .It Sy bktr Ta "Brooktree848 video chipset, hardware and software master-only interface" .El +.Sh BUS FREQUENCY CONFIGURATION +The operating frequency of an I2C bus may be fixed or configurable. +The bus may be used as part of some larger standard interface, and that +interface specification may require a fixed frequency. +The driver for that hardware would not honor an attempt to configure a +different speed. +A general purpose I2C bus, such as those found in many embedded systems, +will often support multiple bus frequencies. +.Pp +When a system supports multiple I2C busses, a different frequency can +be configured for each bus by number, represented by the +.Va %d +in the variable names below. +Busses can be configured using any combination of device hints, +Flattened Device Tree (FDT) data, tunables set via +.Xr loader 8 , +or at runtime using +.Xr sysctl 8 . +When configuration is supplied using more than one method, FDT and +hint data will be overridden by a tunable, which can be overriden by +.Xr sysctl 8 . +.Ss Device Hints +Set +.Va hint.iicbus.%d.frequency +to the frequency in Hz, on systems that use device hints to configure +I2C devices. +The hint is also honored by systems that use FDT data if +no frequency is configured using FDT. +.Ss Flattened Device Tree Data +Configure the I2C bus speed using the FDT standard +.Va clock-frequency +property of the node describing the I2C controller hardware. +.Ss Sysctl and Tunable +Set +.Va dev.iicbus.%d.frequency +in +.Xr loader.conf 5 . +The same variable can be changed at any time with +.Xr sysctl 8 . +Reset the bus using +.Xr i2c 8 +or the +.Xr iic 4 +.Va I2CRSTCARD +ioctl to make the change take effect. .Sh SEE ALSO .Xr bktr 4 , +.Xr fdt 4 , .Xr iic 4 , .Xr iicbb 4 , .Xr lpbb 4 , -.Xr pcf 4 +.Xr pcf 4 , +.Xr i2c 8 .Sh HISTORY The .Nm Modified: projects/sendfile/share/man/man9/Makefile ============================================================================== --- projects/sendfile/share/man/man9/Makefile Fri Nov 21 23:05:08 2014 (r274826) +++ projects/sendfile/share/man/man9/Makefile Fri Nov 21 23:08:51 2014 (r274827) @@ -1733,6 +1733,7 @@ MLINKS+=VOP_OPENCLOSE.9 VOP_CLOSE.9 \ MLINKS+=VOP_RDWR.9 VOP_READ.9 \ VOP_RDWR.9 VOP_WRITE.9 MLINKS+=VOP_REMOVE.9 VOP_RMDIR.9 +MLINKS+=vnet.9 vimage.9 MLINKS+=vref.9 VREF.9 MLINKS+=vrele.9 vput.9 \ vrele.9 vunref.9 Modified: projects/sendfile/share/mk/bsd.README ============================================================================== --- projects/sendfile/share/mk/bsd.README Fri Nov 21 23:05:08 2014 (r274826) +++ projects/sendfile/share/mk/bsd.README Fri Nov 21 23:08:51 2014 (r274827) @@ -146,7 +146,7 @@ MAN The manual pages to be installed (u MLINKS List of manual page links (using a .1 - .9 suffix). The linked-to file must come first, the linked file second, - and there may be multiple pairs. The files are soft-linked. + and there may be multiple pairs. The files are hard-linked. The include file <bsd.man.mk> includes a file named "../Makefile.inc" if it exists. Modified: projects/sendfile/sys/amd64/amd64/elf_machdep.c ============================================================================== --- projects/sendfile/sys/amd64/amd64/elf_machdep.c Fri Nov 21 23:05:08 2014 (r274826) +++ projects/sendfile/sys/amd64/amd64/elf_machdep.c Fri Nov 21 23:08:51 2014 (r274827) @@ -44,6 +44,7 @@ __FBSDID("$FreeBSD$"); #include <vm/vm_param.h> #include <machine/elf.h> +#include <machine/fpu.h> #include <machine/md_var.h> struct sysentvec elf64_freebsd_sysvec = { @@ -133,11 +134,26 @@ SYSINIT(kelf64, SI_SUB_EXEC, SI_ORDER_AN &kfreebsd_brand_info); void -elf64_dump_thread(struct thread *td __unused, void *dst __unused, - size_t *off __unused) +elf64_dump_thread(struct thread *td, void *dst, size_t *off) { -} + void *buf; + size_t len; + len = 0; + if (use_xsave) { + if (dst != NULL) { + fpugetregs(td); + len += elf64_populate_note(NT_X86_XSTATE, + get_pcb_user_save_td(td), dst, + cpu_max_ext_state_size, &buf); + *(uint64_t *)((char *)buf + X86_XSTATE_XCR0_OFFSET) = + xsave_mask; + } else + len += elf64_populate_note(NT_X86_XSTATE, NULL, NULL, + cpu_max_ext_state_size, NULL); + } + *off = len; +} /* Process one elf relocation with addend. */ static int Modified: projects/sendfile/sys/amd64/amd64/fpu.c ============================================================================== --- projects/sendfile/sys/amd64/amd64/fpu.c Fri Nov 21 23:05:08 2014 (r274826) +++ projects/sendfile/sys/amd64/amd64/fpu.c Fri Nov 21 23:08:51 2014 (r274827) @@ -127,6 +127,13 @@ CTASSERT(sizeof(struct savefpu_ymm) == 8 */ CTASSERT(sizeof(struct pcb) % XSAVE_AREA_ALIGN == 0); +/* + * Ensure the copy of XCR0 saved in a core is contained in the padding + * area. + */ +CTASSERT(X86_XSTATE_XCR0_OFFSET >= offsetof(struct savefpu, sv_pad) && + X86_XSTATE_XCR0_OFFSET + sizeof(uint64_t) <= sizeof(struct savefpu)); + static void fpu_clean_state(void); SYSCTL_INT(_hw, HW_FLOATINGPT, floatingpoint, CTLFLAG_RD, Modified: projects/sendfile/sys/amd64/amd64/ptrace_machdep.c ============================================================================== --- projects/sendfile/sys/amd64/amd64/ptrace_machdep.c Fri Nov 21 23:05:08 2014 (r274826) +++ projects/sendfile/sys/amd64/amd64/ptrace_machdep.c Fri Nov 21 23:08:51 2014 (r274827) @@ -42,6 +42,7 @@ __FBSDID("$FreeBSD$"); static int cpu_ptrace_xstate(struct thread *td, int req, void *addr, int data) { + struct ptrace_xstate_info info; char *savefpu; int error; @@ -49,14 +50,14 @@ cpu_ptrace_xstate(struct thread *td, int return (EOPNOTSUPP); switch (req) { - case PT_GETXSTATE: + case PT_GETXSTATE_OLD: fpugetregs(td); savefpu = (char *)(get_pcb_user_save_td(td) + 1); error = copyout(savefpu, addr, cpu_max_ext_state_size - sizeof(struct savefpu)); break; - case PT_SETXSTATE: + case PT_SETXSTATE_OLD: if (data > cpu_max_ext_state_size - sizeof(struct savefpu)) { error = EINVAL; break; @@ -70,6 +71,36 @@ cpu_ptrace_xstate(struct thread *td, int free(savefpu, M_TEMP); break; + case PT_GETXSTATE_INFO: + if (data != sizeof(info)) { + error = EINVAL; + break; + } + info.xsave_len = cpu_max_ext_state_size; + info.xsave_mask = xsave_mask; + error = copyout(&info, addr, data); + break; + + case PT_GETXSTATE: + fpugetregs(td); + savefpu = (char *)(get_pcb_user_save_td(td)); + error = copyout(savefpu, addr, cpu_max_ext_state_size); + break; + + case PT_SETXSTATE: + if (data > cpu_max_ext_state_size) { + error = EINVAL; + break; + } + savefpu = malloc(data, M_TEMP, M_WAITOK); + error = copyin(addr, savefpu, data); + if (error == 0) + error = fpusetregs(td, (struct savefpu *)savefpu, + savefpu + sizeof(struct savefpu), data - + sizeof(struct savefpu)); + free(savefpu, M_TEMP); + break; + default: error = EINVAL; break; @@ -81,8 +112,6 @@ cpu_ptrace_xstate(struct thread *td, int #ifdef COMPAT_FREEBSD32 #define PT_I386_GETXMMREGS (PT_FIRSTMACH + 0) #define PT_I386_SETXMMREGS (PT_FIRSTMACH + 1) -#define PT_I386_GETXSTATE (PT_FIRSTMACH + 2) -#define PT_I386_SETXSTATE (PT_FIRSTMACH + 3) static int cpu32_ptrace(struct thread *td, int req, void *addr, int data) @@ -104,12 +133,12 @@ cpu32_ptrace(struct thread *td, int req, fpstate->sv_env.en_mxcsr &= cpu_mxcsr_mask; break; - case PT_I386_GETXSTATE: - error = cpu_ptrace_xstate(td, PT_GETXSTATE, addr, data); - break; - - case PT_I386_SETXSTATE: - error = cpu_ptrace_xstate(td, PT_SETXSTATE, addr, data); + case PT_GETXSTATE_OLD: + case PT_SETXSTATE_OLD: + case PT_GETXSTATE_INFO: + case PT_GETXSTATE: + case PT_SETXSTATE: + error = cpu_ptrace_xstate(td, req, addr, data); break; default: @@ -131,13 +160,16 @@ cpu_ptrace(struct thread *td, int req, v return (cpu32_ptrace(td, req, addr, data)); #endif - /* Support old values of PT_GETXSTATE and PT_SETXSTATE. */ + /* Support old values of PT_GETXSTATE_OLD and PT_SETXSTATE_OLD. */ if (req == PT_FIRSTMACH + 0) - req = PT_GETXSTATE; + req = PT_GETXSTATE_OLD; if (req == PT_FIRSTMACH + 1) - req = PT_SETXSTATE; + req = PT_SETXSTATE_OLD; switch (req) { + case PT_GETXSTATE_OLD: + case PT_SETXSTATE_OLD: + case PT_GETXSTATE_INFO: case PT_GETXSTATE: case PT_SETXSTATE: error = cpu_ptrace_xstate(td, req, addr, data); Modified: projects/sendfile/sys/amd64/include/asm.h ============================================================================== --- projects/sendfile/sys/amd64/include/asm.h Fri Nov 21 23:05:08 2014 (r274826) +++ projects/sendfile/sys/amd64/include/asm.h Fri Nov 21 23:08:51 2014 (r274827) @@ -38,7 +38,7 @@ #include <sys/cdefs.h> -#ifdef PIC +#ifdef __PIC__ #define PIC_PLT(x) x@PLT #define PIC_GOT(x) x@GOTPCREL(%rip) #else Modified: projects/sendfile/sys/arm/include/asm.h ============================================================================== --- projects/sendfile/sys/arm/include/asm.h Fri Nov 21 23:05:08 2014 (r274826) +++ projects/sendfile/sys/arm/include/asm.h Fri Nov 21 23:08:51 2014 (r274827) @@ -104,7 +104,7 @@ #define ASMSTR .asciz -#if defined(PIC) +#if defined(__PIC__) #define PLT_SYM(x) PIC_SYM(x, PLT) #define GOT_SYM(x) PIC_SYM(x, GOT) #define GOT_GET(x,got,sym) \ @@ -131,7 +131,7 @@ #define GOT_INIT(got,gotsym,pclabel) #define GOT_INITSYM(gotsym,pclabel) #define PIC_SYM(x,y) x -#endif /* PIC */ +#endif /* __PIC__ */ #undef __FBSDID #if !defined(lint) && !defined(STRIP_FBSDID) Modified: projects/sendfile/sys/boot/fdt/dts/mips/beri-sim.dts ============================================================================== --- projects/sendfile/sys/boot/fdt/dts/mips/beri-sim.dts Fri Nov 21 23:05:08 2014 (r274826) +++ projects/sendfile/sys/boot/fdt/dts/mips/beri-sim.dts Fri Nov 21 23:08:51 2014 (r274827) @@ -97,7 +97,7 @@ reg = <0x0 0x4000000>; // 64M at 0x0 }; - beripic: beripic@7f804000 { + beripic0: beripic@7f804000 { compatible = "sri-cambridge,beri-pic"; interrupt-controller; #address-cells = <0>; @@ -115,7 +115,7 @@ compatible = "altera,jtag_uart-11_0"; reg = <0x7f000000 0x40>; interrupts = <0>; - interrupt-parent = <&beripic>; + interrupt-parent = <&beripic0>; }; serial@7f001000 { Modified: projects/sendfile/sys/boot/fdt/dts/mips/beripad-de4.dts ============================================================================== --- projects/sendfile/sys/boot/fdt/dts/mips/beripad-de4.dts Fri Nov 21 23:05:08 2014 (r274826) +++ projects/sendfile/sys/boot/fdt/dts/mips/beripad-de4.dts Fri Nov 21 23:08:51 2014 (r274827) @@ -97,7 +97,7 @@ reg = <0x0 0x40000000>; // 1G at 0x0 }; - beripic: beripic@7f804000 { + beripic0: beripic@7f804000 { compatible = "sri-cambridge,beri-pic"; interrupt-controller; #address-cells = <0>; @@ -117,14 +117,14 @@ reg-shift = <2>; clock-frequency = <50000000>; interrupts = <6>; - interrupt-parent = <&beripic>; + interrupt-parent = <&beripic0>; }; serial@7f000000 { compatible = "altera,jtag_uart-11_0"; reg = <0x7f000000 0x40>; interrupts = <0>; - interrupt-parent = <&beripic>; + interrupt-parent = <&beripic0>; }; serial@7f001000 { @@ -198,7 +198,7 @@ 0x7f007420 0x20>; // RX, TX interrupts = <1 2>; - interrupt-parent = <&beripic>; + interrupt-parent = <&beripic0>; }; ethernet@7f005000 { @@ -211,11 +211,12 @@ 0x7f005420 0x20>; // RX, TX interrupts = <11 12>; - interrupt-parent = <&beripic>; + interrupt-parent = <&beripic0>; }; touchscreen@70400000 { compatible = "sri-cambridge,mtl"; + panel-size = < 800 480 >; reg = <0x70400000 0x1000 0x70000000 0x177000 0x70177000 0x2000>; @@ -227,7 +228,7 @@ 0x7f140000 0x4>; // IRQ 4 is DC, IRQ 5 is HC. interrupts = <4 5>; - interrupt-parent = <&beripic>; *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201411212308.sALN8qSx042048>