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/...
Gleb Smirnoff
glebius at FreeBSD.org
Fri Nov 21 23:09:00 UTC 2014
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 at PLT
#define PIC_GOT(x) x at 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 at 7f804000 {
+ beripic0: beripic at 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 at 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 at 7f804000 {
+ beripic0: beripic at 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 at 7f000000 {
compatible = "altera,jtag_uart-11_0";
reg = <0x7f000000 0x40>;
interrupts = <0>;
- interrupt-parent = <&beripic>;
+ interrupt-parent = <&beripic0>;
};
serial at 7f001000 {
@@ -198,7 +198,7 @@
0x7f007420 0x20>;
// RX, TX
interrupts = <1 2>;
- interrupt-parent = <&beripic>;
+ interrupt-parent = <&beripic0>;
};
ethernet at 7f005000 {
@@ -211,11 +211,12 @@
0x7f005420 0x20>;
// RX, TX
interrupts = <11 12>;
- interrupt-parent = <&beripic>;
+ interrupt-parent = <&beripic0>;
};
touchscreen at 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 ***
More information about the svn-src-projects
mailing list