Date: Thu, 15 Aug 2013 20:28:14 +0000 (UTC) From: Alexander Motin <mav@FreeBSD.org> To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r254381 - in projects/camlock: . bin/sh crypto/openssh gnu/lib/libstdc++ include lib lib/libc/db/btree lib/libc/db/hash lib/libc/gmon lib/libc/iconv lib/libc/stdlib lib/libiconv_compat ... Message-ID: <201308152028.r7FKSEbN099031@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: mav Date: Thu Aug 15 20:28:13 2013 New Revision: 254381 URL: http://svnweb.freebsd.org/changeset/base/254381 Log: MFC @ r254380 Added: projects/camlock/lib/libiconv_compat/ - copied from r254380, head/lib/libiconv_compat/ projects/camlock/sys/arm/freescale/imx/imx51_machdep.c - copied unchanged from r254380, head/sys/arm/freescale/imx/imx51_machdep.c projects/camlock/sys/fs/ext2fs/ext2_extents.c - copied unchanged from r254380, head/sys/fs/ext2fs/ext2_extents.c projects/camlock/sys/fs/ext2fs/ext2_extents.h - copied unchanged from r254380, head/sys/fs/ext2fs/ext2_extents.h - copied unchanged from r254380, head/sys/x86/include/acpica_machdep.h projects/camlock/tools/regression/bin/sh/builtins/local4.0 - copied unchanged from r254380, head/tools/regression/bin/sh/builtins/local4.0 projects/camlock/tools/regression/bin/sh/parser/only-redir2.0 - copied unchanged from r254380, head/tools/regression/bin/sh/parser/only-redir2.0 projects/camlock/tools/regression/bin/sh/parser/only-redir3.0 - copied unchanged from r254380, head/tools/regression/bin/sh/parser/only-redir3.0 projects/camlock/tools/regression/bin/sh/parser/only-redir4.0 - copied unchanged from r254380, head/tools/regression/bin/sh/parser/only-redir4.0 Directory Properties: projects/camlock/sys/x86/include/acpica_machdep.h (props changed) Deleted: projects/camlock/sys/arm/freescale/imx/imx_machdep.c Modified: projects/camlock/UPDATING projects/camlock/bin/sh/parser.c projects/camlock/bin/sh/var.c projects/camlock/crypto/openssh/sftp.c projects/camlock/gnu/lib/libstdc++/config.h projects/camlock/include/Makefile projects/camlock/include/iconv.h projects/camlock/lib/Makefile projects/camlock/lib/libc/db/btree/bt_open.c projects/camlock/lib/libc/db/hash/hash_page.c projects/camlock/lib/libc/gmon/gmon.c projects/camlock/lib/libc/iconv/Symbol.map projects/camlock/lib/libc/iconv/iconv.c projects/camlock/lib/libc/stdlib/system.c projects/camlock/lib/libkiconv/xlat16_iconv.c projects/camlock/release/release.conf.sample projects/camlock/release/release.sh projects/camlock/sbin/init/init.c projects/camlock/share/man/man7/release.7 projects/camlock/share/man/man9/EVENTHANDLER.9 projects/camlock/share/man/man9/netisr.9 projects/camlock/share/misc/committers-ports.dot projects/camlock/share/mk/bsd.own.mk projects/camlock/sys/amd64/amd64/initcpu.c projects/camlock/sys/amd64/include/acpica_machdep.h projects/camlock/sys/arm/freescale/imx/files.imx51 projects/camlock/sys/arm/freescale/imx/imx_gpt.c projects/camlock/sys/arm/freescale/imx/imx_gptreg.h projects/camlock/sys/cam/ata/ata_da.c projects/camlock/sys/cam/ctl/ctl.c projects/camlock/sys/cam/scsi/scsi_da.c projects/camlock/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c projects/camlock/sys/cddl/contrib/opensolaris/uts/common/sys/dtrace.h projects/camlock/sys/cddl/dev/dtrace/dtrace_load.c projects/camlock/sys/cddl/dev/dtrace/dtrace_unload.c projects/camlock/sys/cddl/dev/fbt/fbt.c projects/camlock/sys/cddl/dev/sdt/sdt.c projects/camlock/sys/compat/freebsd32/freebsd32_misc.c projects/camlock/sys/conf/files projects/camlock/sys/conf/kern.post.mk projects/camlock/sys/dev/aacraid/aacraid_pci.c projects/camlock/sys/dev/acpica/Osd/OsdSynch.c projects/camlock/sys/dev/advansys/adw_pci.c projects/camlock/sys/dev/aic7xxx/ahc_pci.c projects/camlock/sys/dev/aic7xxx/ahd_pci.c projects/camlock/sys/dev/amr/amr_pci.c projects/camlock/sys/dev/an/if_an_pci.c projects/camlock/sys/dev/arcmsr/arcmsr.c projects/camlock/sys/dev/asr/asr.c projects/camlock/sys/dev/ata/ata-pci.c projects/camlock/sys/dev/bktr/bktr_os.c projects/camlock/sys/dev/buslogic/bt_pci.c projects/camlock/sys/dev/bwi/bwimac.c projects/camlock/sys/dev/dpt/dpt_pci.c projects/camlock/sys/dev/e1000/if_em.c projects/camlock/sys/dev/e1000/if_igb.c projects/camlock/sys/dev/e1000/if_lem.c projects/camlock/sys/dev/fatm/if_fatm.c projects/camlock/sys/dev/firewire/fwohci_pci.c projects/camlock/sys/dev/fxp/if_fxp.c projects/camlock/sys/dev/hatm/if_hatm.c projects/camlock/sys/dev/iir/iir.c projects/camlock/sys/dev/iir/iir.h projects/camlock/sys/dev/iir/iir_ctrl.c projects/camlock/sys/dev/iir/iir_pci.c projects/camlock/sys/dev/ips/ips_pci.c projects/camlock/sys/dev/isp/isp_freebsd.c projects/camlock/sys/dev/isp/isp_pci.c projects/camlock/sys/dev/iwn/if_iwn.c projects/camlock/sys/dev/ixgb/if_ixgb.c projects/camlock/sys/dev/ixgbe/ixgbe.c projects/camlock/sys/dev/ixgbe/ixv.c projects/camlock/sys/dev/mfi/mfi_pci.c projects/camlock/sys/dev/mfi/mfi_syspd.c projects/camlock/sys/dev/mly/mly.c projects/camlock/sys/dev/mn/if_mn.c projects/camlock/sys/dev/mps/mps_pci.c projects/camlock/sys/dev/mpt/mpt_pci.c projects/camlock/sys/dev/mwl/if_mwl_pci.c projects/camlock/sys/dev/mxge/if_mxge.c projects/camlock/sys/dev/nvme/nvme.c projects/camlock/sys/dev/nvme/nvme.h projects/camlock/sys/dev/nvme/nvme_ctrlr.c projects/camlock/sys/dev/nvme/nvme_private.h projects/camlock/sys/dev/pccbb/pccbb_pci.c projects/camlock/sys/dev/pst/pst-pci.c projects/camlock/sys/dev/rp/rp_pci.c projects/camlock/sys/dev/safe/safe.c projects/camlock/sys/dev/sound/pci/als4000.c projects/camlock/sys/dev/sound/pci/aureal.c projects/camlock/sys/dev/sound/pci/cmi.c projects/camlock/sys/dev/sound/pci/cs4281.c projects/camlock/sys/dev/sound/pci/csa.c projects/camlock/sys/dev/sound/pci/ds1.c projects/camlock/sys/dev/sound/pci/emu10k1.c projects/camlock/sys/dev/sound/pci/emu10kx.c projects/camlock/sys/dev/sound/pci/envy24.c projects/camlock/sys/dev/sound/pci/envy24ht.c projects/camlock/sys/dev/sound/pci/es137x.c projects/camlock/sys/dev/sound/pci/fm801.c projects/camlock/sys/dev/sound/pci/hdspe.c projects/camlock/sys/dev/sound/pci/maestro.c projects/camlock/sys/dev/sound/pci/maestro3.c projects/camlock/sys/dev/sound/pci/neomagic.c projects/camlock/sys/dev/sound/pci/solo.c projects/camlock/sys/dev/sound/pci/t4dwave.c projects/camlock/sys/dev/sound/pci/via82c686.c projects/camlock/sys/dev/sound/pci/vibes.c projects/camlock/sys/dev/stge/if_stge.c projects/camlock/sys/dev/sym/sym_hipd.c projects/camlock/sys/dev/tdfx/tdfx_pci.c projects/camlock/sys/dev/twa/tw_osl_freebsd.c projects/camlock/sys/dev/tws/tws.c projects/camlock/sys/dev/ubsec/ubsec.c projects/camlock/sys/dev/wi/if_wi_pci.c projects/camlock/sys/fs/ext2fs/ext2_alloc.c projects/camlock/sys/fs/ext2fs/ext2_balloc.c projects/camlock/sys/fs/ext2fs/ext2_bmap.c projects/camlock/sys/fs/ext2fs/ext2_dinode.h projects/camlock/sys/fs/ext2fs/ext2_extern.h projects/camlock/sys/fs/ext2fs/ext2_inode.c projects/camlock/sys/fs/ext2fs/ext2_inode_cnv.c projects/camlock/sys/fs/ext2fs/ext2_subr.c projects/camlock/sys/fs/ext2fs/ext2_vfsops.c projects/camlock/sys/fs/ext2fs/ext2_vnops.c projects/camlock/sys/fs/ext2fs/ext2fs.h projects/camlock/sys/fs/ext2fs/inode.h projects/camlock/sys/fs/nfs/nfsport.h projects/camlock/sys/fs/nfs/nfsrvcache.h projects/camlock/sys/fs/nfsserver/nfs_nfsdcache.c projects/camlock/sys/fs/nfsserver/nfs_nfsdport.c projects/camlock/sys/geom/raid/g_raid.c projects/camlock/sys/geom/raid/g_raid.h projects/camlock/sys/geom/raid/tr_raid5.c projects/camlock/sys/i386/include/acpica_machdep.h projects/camlock/sys/ia64/include/acpica_machdep.h projects/camlock/sys/kern/kern_descrip.c projects/camlock/sys/kern/kern_event.c projects/camlock/sys/kern/kern_exec.c projects/camlock/sys/kern/kern_exit.c projects/camlock/sys/kern/kern_fork.c projects/camlock/sys/kern/kern_linker.c projects/camlock/sys/kern/kern_malloc.c projects/camlock/sys/kern/kern_proc.c projects/camlock/sys/kern/kern_rangelock.c projects/camlock/sys/kern/kern_sdt.c projects/camlock/sys/kern/kern_sig.c projects/camlock/sys/kern/kern_timeout.c projects/camlock/sys/kern/subr_vmem.c projects/camlock/sys/kern/sys_pipe.c projects/camlock/sys/kern/sys_socket.c projects/camlock/sys/kern/tty_pts.c projects/camlock/sys/kern/uipc_mqueue.c projects/camlock/sys/kern/uipc_sem.c projects/camlock/sys/kern/uipc_shm.c projects/camlock/sys/kern/uipc_syscalls.c projects/camlock/sys/kern/vfs_syscalls.c projects/camlock/sys/kern/vfs_vnops.c projects/camlock/sys/modules/dtrace/sdt/Makefile projects/camlock/sys/modules/ext2fs/Makefile projects/camlock/sys/net80211/ieee80211.c projects/camlock/sys/net80211/ieee80211_action.c projects/camlock/sys/net80211/ieee80211_node.c projects/camlock/sys/net80211/ieee80211_phy.c projects/camlock/sys/net80211/ieee80211_power.c projects/camlock/sys/net80211/ieee80211_proto.c projects/camlock/sys/net80211/ieee80211_scan_sta.c projects/camlock/sys/netinet/ip_carp.c projects/camlock/sys/netinet/sctp_dtrace_define.h projects/camlock/sys/netinet/sctp_output.c projects/camlock/sys/ofed/include/linux/linux_compat.c projects/camlock/sys/opencrypto/cryptodev.c projects/camlock/sys/pci/ncr.c projects/camlock/sys/sys/eventhandler.h projects/camlock/sys/sys/file.h projects/camlock/sys/sys/linker.h projects/camlock/sys/sys/param.h projects/camlock/sys/sys/rangelock.h projects/camlock/sys/sys/sdt.h projects/camlock/sys/sys/socket.h projects/camlock/sys/sys/vmmeter.h projects/camlock/sys/vm/memguard.c projects/camlock/sys/vm/vm_kern.h projects/camlock/sys/vm/vm_page.c projects/camlock/sys/vm/vm_page.h projects/camlock/sys/vm/vm_pageout.c projects/camlock/sys/x86/isa/clock.c projects/camlock/tools/build/mk/OptionalObsoleteFiles.inc projects/camlock/usr.bin/calendar/calendars/calendar.freebsd projects/camlock/usr.bin/dtc/input_buffer.cc projects/camlock/usr.bin/kdump/kdump.c projects/camlock/usr.bin/kdump/mksubr projects/camlock/usr.bin/su/su.c projects/camlock/usr.sbin/bsdinstall/scripts/mirrorselect Directory Properties: projects/camlock/ (props changed) projects/camlock/crypto/openssh/ (props changed) projects/camlock/gnu/lib/ (props changed) projects/camlock/lib/libc/ (props changed) projects/camlock/sbin/ (props changed) projects/camlock/sys/ (props changed) projects/camlock/sys/cddl/contrib/opensolaris/ (props changed) projects/camlock/sys/conf/ (props changed) projects/camlock/usr.bin/calendar/ (props changed) Modified: projects/camlock/UPDATING ============================================================================== --- projects/camlock/UPDATING Thu Aug 15 20:19:17 2013 (r254380) +++ projects/camlock/UPDATING Thu Aug 15 20:28:13 2013 (r254381) @@ -31,6 +31,14 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 10 disable the most expensive debugging functionality run "ln -s 'abort:false,junk:false' /etc/malloc.conf".) +20130813: + WITH_ICONV has been split into two feature sets. WITH_ICONV now + enables just the iconv* functionality and is now on by default. + WITH_LIBICONV_COMPAT enables the libiconv api and link time + compatability. Set WITHOUT_ICONV to build the old way. + If you have been using WITH_ICONV before, you will very likely + need to turn on WITH_LIBICONV_COMPAT. + 20130806: INVARIANTS option now enables DEBUG for code with OpenSolaris and Illumos origin, including ZFS. If you have INVARIANTS in your Modified: projects/camlock/bin/sh/parser.c ============================================================================== --- projects/camlock/bin/sh/parser.c Thu Aug 15 20:19:17 2013 (r254380) +++ projects/camlock/bin/sh/parser.c Thu Aug 15 20:28:13 2013 (r254381) @@ -577,6 +577,9 @@ TRACE(("expecting DO got %s %s\n", tokna case TSEMI: case TAND: case TOR: + case TPIPE: + case TENDCASE: + case TFALLTHRU: /* * An empty command before a ; doesn't make much sense, and * should certainly be disallowed in the case of `if ;'. Modified: projects/camlock/bin/sh/var.c ============================================================================== --- projects/camlock/bin/sh/var.c Thu Aug 15 20:19:17 2013 (r254380) +++ projects/camlock/bin/sh/var.c Thu Aug 15 20:28:13 2013 (r254381) @@ -710,6 +710,7 @@ localcmd(int argc __unused, char **argv { char *name; + nextopt(""); if (! in_function()) error("Not in a function"); while ((name = *argptr++) != NULL) { Modified: projects/camlock/crypto/openssh/sftp.c ============================================================================== --- projects/camlock/crypto/openssh/sftp.c Thu Aug 15 20:19:17 2013 (r254380) +++ projects/camlock/crypto/openssh/sftp.c Thu Aug 15 20:28:13 2013 (r254381) @@ -1328,7 +1328,8 @@ parse_dispatch_command(struct sftp_conn case I_SYMLINK: sflag = 1; case I_LINK: - path1 = make_absolute(path1, *pwd); + if (!sflag) + path1 = make_absolute(path1, *pwd); path2 = make_absolute(path2, *pwd); err = (sflag ? do_symlink : do_hardlink)(conn, path1, path2); break; Modified: projects/camlock/gnu/lib/libstdc++/config.h ============================================================================== --- projects/camlock/gnu/lib/libstdc++/config.h Thu Aug 15 20:19:17 2013 (r254380) +++ projects/camlock/gnu/lib/libstdc++/config.h Thu Aug 15 20:28:13 2013 (r254381) @@ -212,13 +212,13 @@ #define HAVE_LOG10F 1 /* Define to 1 if you have the `log10l' function. */ -/* #undef HAVE_LOG10L */ +#define HAVE_LOG10L 1 /* Define to 1 if you have the `logf' function. */ #define HAVE_LOGF 1 /* Define to 1 if you have the `logl' function. */ -/* #undef HAVE_LOGL */ +#define HAVE_LOGL 1 /* Define to 1 if you have the <machine/endian.h> header file. */ #define HAVE_MACHINE_ENDIAN_H 1 Modified: projects/camlock/include/Makefile ============================================================================== --- projects/camlock/include/Makefile Thu Aug 15 20:19:17 2013 (r254380) +++ projects/camlock/include/Makefile Thu Aug 15 20:28:13 2013 (r254381) @@ -72,10 +72,6 @@ _dev_ieee488= dev/ieee488 INCS+= hesiod.h .endif -.if ${MK_ICONV} != "no" -INCS+= iconv.h -.endif - .if ${MK_BLUETOOTH} != "no" LSUBSUBDIRS+= netgraph/bluetooth/include .endif @@ -85,6 +81,20 @@ LSUBSUBDIRS+= netgraph/bluetooth/include _netipx= netipx #.endif +# Handle the #define aliases for libiconv +.if ${MK_ICONV} == "yes" +CLEANFILES+= _libiconv_compat.h +INCS+= _libiconv_compat.h iconv.h +_libiconv_compat.h: ${.CURDIR}/Makefile + echo "/* Indicate whether libiconv symbols are present */" > _libiconv_compat.h +.if ${MK_LIBICONV_COMPAT} == "yes" + echo "#define __LIBICONV_COMPAT" >> _libiconv_compat.h +.else + echo "#undef __LIBICONV_COMPAT" >> _libiconv_compat.h +.endif +.endif + + # Define SHARED to indicate whether you want symbolic links to the system # source (``symlinks''), or a separate copy (``copies''). ``symlinks'' is # probably only useful for developers and should be avoided if you do not Modified: projects/camlock/include/iconv.h ============================================================================== --- projects/camlock/include/iconv.h Thu Aug 15 20:19:17 2013 (r254380) +++ projects/camlock/include/iconv.h Thu Aug 15 20:28:13 2013 (r254381) @@ -41,20 +41,23 @@ #include <sys/cdefs.h> #include <sys/types.h> -#define iconv_open libiconv_open -#define iconv_close libiconv_close -#define iconv libiconv -#define iconv_t libiconv_t +#include <_libiconv_compat.h> +#ifdef __LIBICONV_COMPAT +#define libiconv_open iconv_open +#define libiconv_close iconv_close +#define libiconv iconv +#define libiconv_t iconv_t +#endif struct __tag_iconv_t; typedef struct __tag_iconv_t *iconv_t; __BEGIN_DECLS -iconv_t libiconv_open(const char *, const char *); -size_t libiconv(iconv_t, const char ** __restrict, - size_t * __restrict, char ** __restrict, - size_t * __restrict); -int libiconv_close(iconv_t); +iconv_t iconv_open(const char *, const char *); +size_t iconv(iconv_t, const char ** __restrict, + size_t * __restrict, char ** __restrict, + size_t * __restrict); +int iconv_close(iconv_t); /* * non-portable interfaces for iconv */ @@ -67,20 +70,28 @@ size_t __iconv(iconv_t, const char **, s /* * GNU interfaces for iconv */ -#define iconv_open_into libiconv_open_into -#define iconvctl libiconvctl -#define iconvlist libiconvlist +#ifdef __LIBICONV_COMPAT +#define libiconv_open_into iconv_open_into +#define libiconvctl iconvctl +#define libiconvlist iconvlist +#define libiconv_set_relocation_prefix iconv_set_relocation_prefix +#endif /* We have iconvctl() */ -#define _LIBICONV_VERSION 0x0108 -extern int _libiconv_version; +#define _ICONV_VERSION 0x0108 +extern int _iconv_version; + +#ifdef __LIBICONV_COMPAT +#define _libiconv_version _iconv_version +#define _LIBICONV_VERSION _ICONV_VERSION +#endif typedef struct { void *spaceholder[64]; } iconv_allocation_t; int iconv_open_into(const char *, const char *, iconv_allocation_t *); -void libiconv_set_relocation_prefix (const char *orig_prefix, +void iconv_set_relocation_prefix(const char *orig_prefix, const char *curr_prefix); /* Modified: projects/camlock/lib/Makefile ============================================================================== --- projects/camlock/lib/Makefile Thu Aug 15 20:19:17 2013 (r254380) +++ projects/camlock/lib/Makefile Thu Aug 15 20:28:13 2013 (r254381) @@ -78,6 +78,7 @@ SUBDIR= ${SUBDIR_ORDERED} \ ${_libgpib} \ ${_libgssapi} \ ${_librpcsec_gss} \ + ${_libiconv_compat} \ libipsec \ ${_libipx} \ libjail \ @@ -189,6 +190,10 @@ _libcxxrt= libcxxrt _libcplusplus= libc++ .endif +.if ${MK_LIBICONV_COMPAT} != "no" +_libiconv_compat= libiconv_compat +.endif + .if ${MK_LIBTHR} != "no" _libthr= libthr .endif Modified: projects/camlock/lib/libc/db/btree/bt_open.c ============================================================================== --- projects/camlock/lib/libc/db/btree/bt_open.c Thu Aug 15 20:19:17 2013 (r254380) +++ projects/camlock/lib/libc/db/btree/bt_open.c Thu Aug 15 20:28:13 2013 (r254381) @@ -196,7 +196,7 @@ __bt_open(const char *fname, int flags, goto einval; } - if ((t->bt_fd = _open(fname, flags, mode)) < 0) + if ((t->bt_fd = _open(fname, flags | O_CLOEXEC, mode)) < 0) goto err; } else { @@ -207,9 +207,6 @@ __bt_open(const char *fname, int flags, F_SET(t, B_INMEM); } - if (_fcntl(t->bt_fd, F_SETFD, 1) == -1) - goto err; - if (_fstat(t->bt_fd, &sb)) goto err; if (sb.st_size) { @@ -405,7 +402,7 @@ tmp(void) (void)sigfillset(&set); (void)_sigprocmask(SIG_BLOCK, &set, &oset); - if ((fd = mkstemp(path)) != -1) + if ((fd = mkostemp(path, O_CLOEXEC)) != -1) (void)unlink(path); (void)_sigprocmask(SIG_SETMASK, &oset, NULL); return(fd); Modified: projects/camlock/lib/libc/db/hash/hash_page.c ============================================================================== --- projects/camlock/lib/libc/db/hash/hash_page.c Thu Aug 15 20:19:17 2013 (r254380) +++ projects/camlock/lib/libc/db/hash/hash_page.c Thu Aug 15 20:28:13 2013 (r254381) @@ -862,10 +862,8 @@ open_temp(HTAB *hashp) /* Block signals; make sure file goes away at process exit. */ (void)sigfillset(&set); (void)_sigprocmask(SIG_BLOCK, &set, &oset); - if ((hashp->fp = mkstemp(path)) != -1) { + if ((hashp->fp = mkostemp(path, O_CLOEXEC)) != -1) (void)unlink(path); - (void)_fcntl(hashp->fp, F_SETFD, 1); - } (void)_sigprocmask(SIG_SETMASK, &oset, (sigset_t *)NULL); return (hashp->fp != -1 ? 0 : -1); } Modified: projects/camlock/lib/libc/gmon/gmon.c ============================================================================== --- projects/camlock/lib/libc/gmon/gmon.c Thu Aug 15 20:19:17 2013 (r254380) +++ projects/camlock/lib/libc/gmon/gmon.c Thu Aug 15 20:28:13 2013 (r254381) @@ -163,13 +163,13 @@ _mcleanup(void) else snprintf(outname, sizeof(outname), "%s.gmon", _getprogname()); - fd = _open(outname, O_CREAT|O_TRUNC|O_WRONLY, 0666); + fd = _open(outname, O_CREAT|O_TRUNC|O_WRONLY|O_CLOEXEC, 0666); if (fd < 0) { _warn("_mcleanup: %s", outname); return; } #ifdef DEBUG - log = _open("gmon.log", O_CREAT|O_TRUNC|O_WRONLY, 0664); + log = _open("gmon.log", O_CREAT|O_TRUNC|O_WRONLY|O_CLOEXEC, 0664); if (log < 0) { _warn("_mcleanup: gmon.log"); return; Modified: projects/camlock/lib/libc/iconv/Symbol.map ============================================================================== --- projects/camlock/lib/libc/iconv/Symbol.map Thu Aug 15 20:19:17 2013 (r254380) +++ projects/camlock/lib/libc/iconv/Symbol.map Thu Aug 15 20:28:13 2013 (r254381) @@ -18,6 +18,7 @@ FBSD_1.2 { }; FBSD_1.3 { + _iconv_version; iconv; iconv_open; iconv_close; @@ -49,6 +50,7 @@ FBSDprivate_1.0 { _citrus_bcs_strtoul; _citrus_bcs_tolower; _citrus_bcs_toupper; + _citrus_bcs_trunc_rws_len; _citrus_bcs_trunc_ws_len; _citrus_csmapper_open; _citrus_csmapper_close; Modified: projects/camlock/lib/libc/iconv/iconv.c ============================================================================== --- projects/camlock/lib/libc/iconv/iconv.c Thu Aug 15 20:19:17 2013 (r254380) +++ projects/camlock/lib/libc/iconv/iconv.c Thu Aug 15 20:28:13 2013 (r254381) @@ -47,17 +47,21 @@ #include "citrus_hash.h" #include "citrus_iconv.h" -__weak_reference(libiconv, iconv); -__weak_reference(libiconv_open, iconv_open); -__weak_reference(libiconv_open_into, iconv_open_into); -__weak_reference(libiconv_close, iconv_close); -__weak_reference(libiconvlist, iconvlist); -__weak_reference(libiconvctl, iconvctl); -__weak_reference(libiconv_set_relocation_prefix, iconv_set_relocation_prefix); +#include <_libiconv_compat.h> +#ifdef __LIBICONV_COMPAT +__weak_reference(iconv, libiconv); +__weak_reference(iconv_open, libiconv_open); +__weak_reference(iconv_open_into, libiconv_open_into); +__weak_reference(iconv_close, libiconv_close); +__weak_reference(iconvlist, libiconvlist); +__weak_reference(iconvctl, libiconvctl); +__weak_reference(iconv_set_relocation_prefix, libiconv_set_relocation_prefix); +__weak_reference(_iconv_version, _libiconv_version); +#endif #define ISBADF(_h_) (!(_h_) || (_h_) == (iconv_t)-1) -int _libiconv_version = _LIBICONV_VERSION; +int _iconv_version = _ICONV_VERSION; iconv_t _iconv_open(const char *out, const char *in, struct _citrus_iconv *prealloc); @@ -100,14 +104,14 @@ _iconv_open(const char *out, const char } iconv_t -libiconv_open(const char *out, const char *in) +iconv_open(const char *out, const char *in) { return (_iconv_open(out, in, NULL)); } int -libiconv_open_into(const char *out, const char *in, iconv_allocation_t *ptr) +iconv_open_into(const char *out, const char *in, iconv_allocation_t *ptr) { struct _citrus_iconv *handle; @@ -116,7 +120,7 @@ libiconv_open_into(const char *out, cons } int -libiconv_close(iconv_t handle) +iconv_close(iconv_t handle) { if (ISBADF(handle)) { @@ -130,7 +134,7 @@ libiconv_close(iconv_t handle) } size_t -libiconv(iconv_t handle, const char **in, size_t *szin, char **out, size_t *szout) +iconv(iconv_t handle, const char **in, size_t *szin, char **out, size_t *szout) { size_t ret; int err; @@ -210,7 +214,7 @@ qsort_helper(const void *first, const vo } void -libiconvlist(int (*do_one) (unsigned int, const char * const *, +iconvlist(int (*do_one) (unsigned int, const char * const *, void *), void *data) { char **list, **names; @@ -264,7 +268,7 @@ __inline const char } int -libiconvctl(iconv_t cd, int request, void *argument) +iconvctl(iconv_t cd, int request, void *argument) { struct _citrus_iconv *cv; struct iconv_hooks *hooks; @@ -316,7 +320,7 @@ libiconvctl(iconv_t cd, int request, voi } void -libiconv_set_relocation_prefix(const char *orig_prefix __unused, +iconv_set_relocation_prefix(const char *orig_prefix __unused, const char *curr_prefix __unused) { Modified: projects/camlock/lib/libc/stdlib/system.c ============================================================================== --- projects/camlock/lib/libc/stdlib/system.c Thu Aug 15 20:19:17 2013 (r254380) +++ projects/camlock/lib/libc/stdlib/system.c Thu Aug 15 20:28:13 2013 (r254381) @@ -39,6 +39,7 @@ __FBSDID("$FreeBSD$"); #include <signal.h> #include <stdlib.h> #include <stddef.h> +#include <string.h> #include <unistd.h> #include <paths.h> #include <errno.h> @@ -56,37 +57,36 @@ __system(const char *command) if (!command) /* just checking... */ return(1); - /* - * Ignore SIGINT and SIGQUIT, block SIGCHLD. Remember to save - * existing signal dispositions. - */ - ign.sa_handler = SIG_IGN; - (void)sigemptyset(&ign.sa_mask); - ign.sa_flags = 0; - (void)_sigaction(SIGINT, &ign, &intact); - (void)_sigaction(SIGQUIT, &ign, &quitact); (void)sigemptyset(&newsigblock); (void)sigaddset(&newsigblock, SIGCHLD); (void)_sigprocmask(SIG_BLOCK, &newsigblock, &oldsigblock); - switch(pid = fork()) { + switch(pid = vfork()) { case -1: /* error */ - break; + (void)_sigprocmask(SIG_SETMASK, &oldsigblock, NULL); + return (-1); case 0: /* child */ /* * Restore original signal dispositions and exec the command. */ - (void)_sigaction(SIGINT, &intact, NULL); - (void)_sigaction(SIGQUIT, &quitact, NULL); (void)_sigprocmask(SIG_SETMASK, &oldsigblock, NULL); execl(_PATH_BSHELL, "sh", "-c", command, (char *)NULL); _exit(127); - default: /* parent */ - savedpid = pid; - do { - pid = _wait4(savedpid, &pstat, 0, (struct rusage *)0); - } while (pid == -1 && errno == EINTR); - break; } + /* + * If we are running means that the child has either completed + * its execve, or has failed. + * Block SIGINT/QUIT because sh -c handles it and wait for + * it to clean up. + */ + memset(&ign, 0, sizeof(ign)); + ign.sa_handler = SIG_IGN; + (void)sigemptyset(&ign.sa_mask); + (void)_sigaction(SIGINT, &ign, &intact); + (void)_sigaction(SIGQUIT, &ign, &quitact); + savedpid = pid; + do { + pid = _wait4(savedpid, &pstat, 0, (struct rusage *)0); + } while (pid == -1 && errno == EINTR); (void)_sigaction(SIGINT, &intact, NULL); (void)_sigaction(SIGQUIT, &quitact, NULL); (void)_sigprocmask(SIG_SETMASK, &oldsigblock, NULL); Modified: projects/camlock/lib/libkiconv/xlat16_iconv.c ============================================================================== --- projects/camlock/lib/libkiconv/xlat16_iconv.c Thu Aug 15 20:19:17 2013 (r254380) +++ projects/camlock/lib/libkiconv/xlat16_iconv.c Thu Aug 15 20:28:13 2013 (r254381) @@ -49,8 +49,6 @@ #include "quirks.h" -typedef void *iconv_t; - struct xlat16_table { uint32_t * idx[0x200]; void * data; @@ -61,6 +59,7 @@ static struct xlat16_table kiconv_xlat16 static int chklocale(int, const char *); #ifdef ICONV_DLOPEN +typedef void *iconv_t; static int my_iconv_init(void); static iconv_t (*my_iconv_open)(const char *, const char *); static size_t (*my_iconv)(iconv_t, const char **, size_t *, char **, size_t *); Modified: projects/camlock/release/release.conf.sample ============================================================================== --- projects/camlock/release/release.conf.sample Thu Aug 15 20:19:17 2013 (r254380) +++ projects/camlock/release/release.conf.sample Thu Aug 15 20:28:13 2013 (r254381) @@ -10,18 +10,13 @@ CHROOTDIR="/scratch" SVNROOT="svn://svn.FreeBSD.org" ## Set the src/, ports/, and doc/ branches or tags. -SRCBRANCH="base/head" -DOCBRANCH="doc/head" -PORTBRANCH="ports/head" +SRCBRANCH="base/head@rHEAD" +DOCBRANCH="doc/head@rHEAD" +PORTBRANCH="ports/head@rHEAD" ## Run svn co --force for src checkout. #SRC_FORCE_CHECKOUT=yes -## Set the src/, ports/, and doc/ revisions. -SRCREVISION="-rHEAD" -DOCREVISION="-rHEAD" -PORTREVISION="-rHEAD" - ## Set to override the default target architecture. #TARGET="amd64" #TARGET_ARCH="amd64" Modified: projects/camlock/release/release.sh ============================================================================== --- projects/camlock/release/release.sh Thu Aug 15 20:19:17 2013 (r254380) +++ projects/camlock/release/release.sh Thu Aug 15 20:28:13 2013 (r254381) @@ -41,19 +41,14 @@ CHROOTDIR="/scratch" # The default svn checkout server, and svn branches for src/, doc/, # and ports/. SVNROOT="svn://svn.freebsd.org" -SRCBRANCH="base/head" -DOCBRANCH="doc/head" -PORTBRANCH="ports/head" +SRCBRANCH="base/head@rHEAD" +DOCBRANCH="doc/head@rHEAD" +PORTBRANCH="ports/head@rHEAD" # Sometimes one needs to checkout src with --force svn option. # If custom kernel configs copied to src tree before checkout, e.g. SRC_FORCE_CHECKOUT= -# The default src/, doc/, and ports/ revisions. -SRCREVISION="-rHEAD" -DOCREVISION="-rHEAD" -PORTREVISION="-rHEAD" - # The default make.conf and src.conf to use. Set to /dev/null # by default to avoid polluting the chroot(8) environment with # non-default settings. @@ -62,34 +57,22 @@ SRC_CONF="/dev/null" # The number of make(1) jobs, defaults to the number of CPUs available for # buildworld, and half of number of CPUs available for buildkernel. -WORLD_FLAGS="-j$(sysctl -n hw.ncpu)" -KERNEL_FLAGS="-j$(expr $(sysctl -n hw.ncpu) / 2)" +NCPU=$(sysctl -n hw.ncpu) +if [ ${NCPU} -gt 1 ]; then + WORLD_FLAGS="-j${NCPU}" + KERNEL_FLAGS="-j$(expr ${NCPU} / 2)" +fi MAKE_FLAGS="-s" # The name of the kernel to build, defaults to GENERIC. KERNEL="GENERIC" -# The TARGET and TARGET_ARCH to build, defaults to the running system. -TARGET="$(uname -p)" -TARGET_ARCH="${TARGET}" - # Set to non-empty value to disable checkout of doc/ and/or ports/. Disabling # ports/ checkout also forces NODOC to be set. NODOC= NOPORTS= MAKE_FLAGS="${MAKE_FLAGS}" -get_rev_branch () { - # Set up the OSVERSION, BRANCH, and REVISION based on the src/ tree - # checked out. - OSVERSION=$(grep '#define __FreeBSD_version' ${CHROOTDIR}/usr/src/sys/sys/param.h | awk '{print $3}') - BRANCH=$(grep '^BRANCH=' ${CHROOTDIR}/usr/src/sys/conf/newvers.sh \ - | awk -F\= '{print $2}' | sed -e 's,",,g') - REVISION=$(grep '^REVISION=' ${CHROOTDIR}/usr/src/sys/conf/newvers.sh \ - | awk -F\= '{print $2}' | sed -e 's,",,g') - OSRELEASE="${REVISION}-${BRANCH}" -} - usage() { echo "Usage: $0 [-c release.conf]" exit 1 @@ -136,7 +119,11 @@ fi # this file, unless overridden by release.conf. In most cases, these # will not need to be changed. CONF_FILES="__MAKE_CONF=${MAKE_CONF} SRCCONF=${SRC_CONF}" -ARCH_FLAGS="TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH}" +if [ "x${TARGET}" != "x" ] && [ "x${TARGET_ARCH}" != "x" ]; then + ARCH_FLAGS="TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH}" +else + ARCH_FLAGS= +fi CHROOT_WMAKEFLAGS="${MAKE_FLAGS} ${WORLD_FLAGS} ${CONF_FILES}" CHROOT_IMAKEFLAGS="${CONF_FILES}" CHROOT_DMAKEFLAGS="${CONF_FILES}" @@ -165,16 +152,14 @@ set -e # Everything must succeed mkdir -p ${CHROOTDIR}/usr -svn co ${FORCE_SRC_KEY} ${SVNROOT}/${SRCBRANCH} ${CHROOTDIR}/usr/src $SRCREVISION +svn co ${FORCE_SRC_KEY} ${SVNROOT}/${SRCBRANCH} ${CHROOTDIR}/usr/src if [ "x${NODOC}" = "x" ]; then - svn co ${SVNROOT}/${DOCBRANCH} ${CHROOTDIR}/usr/doc $DOCREVISION + svn co ${SVNROOT}/${DOCBRANCH} ${CHROOTDIR}/usr/doc fi if [ "x${NOPORTS}" = "x" ]; then - svn co ${SVNROOT}/${PORTBRANCH} ${CHROOTDIR}/usr/ports $PORTREVISION + svn co ${SVNROOT}/${PORTBRANCH} ${CHROOTDIR}/usr/ports fi -get_rev_branch - cd ${CHROOTDIR}/usr/src make ${CHROOT_WMAKEFLAGS} buildworld make ${CHROOT_IMAKEFLAGS} installworld DESTDIR=${CHROOTDIR} Modified: projects/camlock/sbin/init/init.c ============================================================================== --- projects/camlock/sbin/init/init.c Thu Aug 15 20:19:17 2013 (r254380) +++ projects/camlock/sbin/init/init.c Thu Aug 15 20:28:13 2013 (r254381) @@ -1729,7 +1729,8 @@ setprocresources(const char *cname) login_cap_t *lc; if ((lc = login_getclassbyname(cname, NULL)) != NULL) { setusercontext(lc, (struct passwd*)NULL, 0, - LOGIN_SETPRIORITY | LOGIN_SETRESOURCES); + LOGIN_SETPRIORITY | LOGIN_SETRESOURCES | + LOGIN_SETLOGINCLASS | LOGIN_SETCPUMASK); login_close(lc); } } Modified: projects/camlock/share/man/man7/release.7 ============================================================================== --- projects/camlock/share/man/man7/release.7 Thu Aug 15 20:19:17 2013 (r254380) +++ projects/camlock/share/man/man7/release.7 Thu Aug 15 20:28:13 2013 (r254381) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd August 11, 2013 +.Dd August 14, 2013 .Dt RELEASE 7 .Os .Sh NAME @@ -149,41 +149,23 @@ The .Li src/ branch to use. Defaults to -.Va head/ . +.Va head/@rHEAD . .It Va DOCBRANCH The .Li doc/ branch to use. Defaults to -.Va head/ . +.Va head/@rHEAD . .It Va PORTBRANCH The .Li ports/ branch to use. Defaults to -.Va head/ . -.It Va SRCREVISION -The revision of the -.Li src/ -tree to use. -Defaults to the current top of tree revision. -.It Va DOCREVISION -The revision of the -.Li doc/ -tree to use. -Defaults to the current top of tree revision. -.It Va PORTREVISION -The revision of the -.Li ports/ -tree to use. -Defaults to the current top of tree revision. +.Va head/@rHEAD . .It Va TARGET -The target machine type for the release. -Defaults to the current machine type. +The target machine type for cross-building a release. .It Va TARGET_ARCH -The target machine architecture for the release. -Defaults to the value of -.Va TARGET . +The target machine architecture for cross-building a release. .Pp For the supported list of .Va TARGET @@ -227,7 +209,7 @@ Defaults to setting the number of .Xr make 1 jobs .Pq Ar -j -to the number of CPUs available on the system. +to the number of CPUs available on a SMP-capable system. .It Va KERNEL_FLAGS Additional flags to pass to .Xr make 1 @@ -238,7 +220,7 @@ Defaults to setting the number of .Xr make 1 jobs .Pq Ar -j -to half the number of CPUs available on the system. +to half the number of CPUs available on a SMP-capable system. .It Va NODOC Set to a non-empty value to skip the .Li doc/ Modified: projects/camlock/share/man/man9/EVENTHANDLER.9 ============================================================================== --- projects/camlock/share/man/man9/EVENTHANDLER.9 Thu Aug 15 20:19:17 2013 (r254380) +++ projects/camlock/share/man/man9/EVENTHANDLER.9 Thu Aug 15 20:28:13 2013 (r254381) @@ -23,7 +23,7 @@ .\" SUCH DAMAGE. .\" $FreeBSD$ .\" -.Dd May 11, 2012 +.Dd August 1, 2013 .Dt EVENTHANDLER 9 .Os .Sh NAME @@ -199,6 +199,12 @@ Callbacks invoked when a new network int Callbacks invoked when a network interface is taken down. .It Vt bpf_track Callbacks invoked when a BPF listener attaches to/detaches from network interface. +.It Vt kld_load +Callbacks invoked after a linker file has been loaded. +.It Vt kld_unload +Callbacks invoked before a linker file is about to be unloaded. +These callbacks may be used to return an error and prevent the unload from +proceeding. .It Vt power_profile_change Callbacks invoked when the power profile of the system changes. .It Vt process_exec Modified: projects/camlock/share/man/man9/netisr.9 ============================================================================== --- projects/camlock/share/man/man9/netisr.9 Thu Aug 15 20:19:17 2013 (r254380) +++ projects/camlock/share/man/man9/netisr.9 Thu Aug 15 20:28:13 2013 (r254381) @@ -83,7 +83,7 @@ and .Nm supports multi-processor execution of handlers, and relies on a combination of source ordering and protocol-specific ordering and work-placement -policies to decide how do distribute work across one or more worker +policies to decide how to distribute work across one or more worker threads. Registering protocols will declare one of three policies: .Bl -tag -width NETISR_POLICY_SOURCE Modified: projects/camlock/share/misc/committers-ports.dot ============================================================================== --- projects/camlock/share/misc/committers-ports.dot Thu Aug 15 20:19:17 2013 (r254380) +++ projects/camlock/share/misc/committers-ports.dot Thu Aug 15 20:28:13 2013 (r254381) @@ -155,6 +155,7 @@ miwi [label="Martin Wilke\nmiwi@FreeBSD. mm [label="Martin Matuska\nmm@FreeBSD.org\n2007/04/04"] mnag [label="Marcus Alves Grando\nmnag@FreeBSD.org\n2005/09/15"] mva [label="Marcus von Appen\nmva@FreeBSD.org\n2009/02/16"] +nemysis [label="Rusmir Dusko\nnemysis@FreeBSD.org\n2013/07/31"] nemoliu [label="Tong Liu\nnemoliu@FreeBSD.org\n2007/04/25"] netchild [label="Alexander Leidinger\nnetchild@FreeBSD.org\n2002/03/19"] nobutaka [label="Nobutaka Mantani\nnobutaka@FreeBSD.org\n2001/11/02"] @@ -421,6 +422,7 @@ miwi -> lme miwi -> makc miwi -> mandree miwi -> mva +miwi -> nemysis miwi -> nox miwi -> olivierd miwi -> pawel @@ -456,6 +458,8 @@ pav -> josef pav -> kwm pav -> mnag +pawel -> nemysis + pgj -> ashish pgj -> jacula @@ -525,9 +529,12 @@ wen -> cs wen -> culot wen -> pawel +wg -> nemysis + will -> lioux wxs -> jsa +wxs -> nemysis wxs -> sahil wxs -> skreuzer wxs -> swills Modified: projects/camlock/share/mk/bsd.own.mk ============================================================================== --- projects/camlock/share/mk/bsd.own.mk Thu Aug 15 20:19:17 2013 (r254380) +++ projects/camlock/share/mk/bsd.own.mk Thu Aug 15 20:28:13 2013 (r254381) @@ -292,6 +292,7 @@ __DEFAULT_YES_OPTIONS = \ GPIO \ GROFF \ HTML \ + ICONV \ INET \ INET6 \ INFO \ @@ -377,7 +378,7 @@ __DEFAULT_NO_OPTIONS = \ GNU_PATCH \ GPL_DTC \ HESIOD \ - ICONV \ + LIBICONV_COMPAT \ INSTALL_AS_USER \ LDNS_UTILS \ NMTREE \ @@ -484,6 +485,10 @@ MK_BIND_NAMED:= no MK_BIND_UTILS:= no .endif +.if ${MK_ICONV} == "no" +MK_LIBICONV_COMPAT:= no +.endif + .if ${MK_LDNS} == "no" MK_LDNS_UTILS:= no .endif Modified: projects/camlock/sys/amd64/amd64/initcpu.c ============================================================================== --- projects/camlock/sys/amd64/amd64/initcpu.c Thu Aug 15 20:19:17 2013 (r254380) +++ projects/camlock/sys/amd64/amd64/initcpu.c Thu Aug 15 20:28:13 2013 (r254381) @@ -192,7 +192,7 @@ initializecpu(void) } void -initializecpucache() +initializecpucache(void) { /* Modified: projects/camlock/sys/amd64/include/acpica_machdep.h ============================================================================== --- projects/camlock/sys/amd64/include/acpica_machdep.h Thu Aug 15 20:19:17 2013 (r254380) +++ projects/camlock/sys/amd64/include/acpica_machdep.h Thu Aug 15 20:28:13 2013 (r254381) @@ -1,80 +1,6 @@ /*- - * Copyright (c) 2002 Mitsuru IWASAKI - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * $FreeBSD$ + * This file is in the public domain. */ +/* $FreeBSD$ */ -/****************************************************************************** - * - * Name: acpica_machdep.h - arch-specific defines, etc. - * $Revision$ - * - *****************************************************************************/ - -#ifndef __ACPICA_MACHDEP_H__ -#define __ACPICA_MACHDEP_H__ - -#ifdef _KERNEL -/* - * Calling conventions: - * - * ACPI_SYSTEM_XFACE - Interfaces to host OS (handlers, threads) - * ACPI_EXTERNAL_XFACE - External ACPI interfaces - * ACPI_INTERNAL_XFACE - Internal ACPI interfaces - * ACPI_INTERNAL_VAR_XFACE - Internal variable-parameter list interfaces - */ -#define ACPI_SYSTEM_XFACE -#define ACPI_EXTERNAL_XFACE -#define ACPI_INTERNAL_XFACE -#define ACPI_INTERNAL_VAR_XFACE - -/* Asm macros */ - -#define ACPI_ASM_MACROS -#define BREAKPOINT3 -#define ACPI_DISABLE_IRQS() disable_intr() -#define ACPI_ENABLE_IRQS() enable_intr() - -#define ACPI_FLUSH_CPU_CACHE() wbinvd() - -/* Section 5.2.9.1: global lock acquire/release functions */ -extern int acpi_acquire_global_lock(uint32_t *lock); -extern int acpi_release_global_lock(uint32_t *lock); -#define ACPI_ACQUIRE_GLOBAL_LOCK(GLptr, Acq) do { \ - (Acq) = acpi_acquire_global_lock(&((GLptr)->GlobalLock)); \ -} while (0) -#define ACPI_RELEASE_GLOBAL_LOCK(GLptr, Acq) do { \ - (Acq) = acpi_release_global_lock(&((GLptr)->GlobalLock)); \ -} while (0) - -void acpi_SetDefaultIntrModel(int model); -void acpi_cpu_c1(void); -void *acpi_map_table(vm_paddr_t pa, const char *sig); -void acpi_unmap_table(void *table); -vm_paddr_t acpi_find_table(const char *sig); - -#endif /* _KERNEL */ - -#endif /* __ACPICA_MACHDEP_H__ */ +#include <x86/acpica_machdep.h> Modified: projects/camlock/sys/arm/freescale/imx/files.imx51 ============================================================================== --- projects/camlock/sys/arm/freescale/imx/files.imx51 Thu Aug 15 20:19:17 2013 (r254380) +++ projects/camlock/sys/arm/freescale/imx/files.imx51 Thu Aug 15 20:28:13 2013 (r254381) @@ -8,7 +8,7 @@ arm/arm/irq_dispatch.S standard kern/kern_clocksource.c standard # Init -arm/freescale/imx/imx_machdep.c standard +arm/freescale/imx/imx51_machdep.c standard arm/freescale/imx/common.c standard arm/freescale/imx/bus_space.c standard Copied: projects/camlock/sys/arm/freescale/imx/imx51_machdep.c (from r254380, head/sys/arm/freescale/imx/imx51_machdep.c) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/camlock/sys/arm/freescale/imx/imx51_machdep.c Thu Aug 15 20:28:13 2013 (r254381, copy of r254380, head/sys/arm/freescale/imx/imx51_machdep.c) @@ -0,0 +1,142 @@ +/*- + * Copyright (c) 1994-1998 Mark Brinicombe. + * Copyright (c) 1994 Brini. + * Copyright (c) 2012, 2013 The FreeBSD Foundation + * All rights reserved. + * + * + * This code is derived from software written for Brini by Mark Brinicombe + * Portions of this software were developed by Oleksandr Rybalko + * under sponsorship from the FreeBSD Foundation. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by Brini. + * 4. The name of the company nor the name of the author may be used to + * endorse or promote products derived from this software without specific + * prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY BRINI ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL BRINI OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * from: FreeBSD: //depot/projects/arm/src/sys/arm/at91/kb920x_machdep.c, rev 45 + */ + +#include "opt_platform.h" + +#include <sys/cdefs.h> +__FBSDID("$FreeBSD$"); + +#define _ARM32_BUS_DMA_PRIVATE +#include <sys/param.h> +#include <sys/systm.h> +#include <sys/bus.h> +#include <sys/reboot.h> + +#include <vm/vm.h> +#include <vm/pmap.h> + +#include <machine/bus.h> +#include <machine/frame.h> /* For trapframe_t, used in <machine/machdep.h> */ +#include <machine/machdep.h> +#include <machine/pmap.h> + +#include <dev/fdt/fdt_common.h> + +#define IMX51_DEV_VIRT_BASE 0xe0000000 +vm_offset_t +initarm_lastaddr(void) +{ + + boothowto |= RB_VERBOSE|RB_MULTIPLE; + bootverbose = 1; + + if (fdt_immr_addr(IMX51_DEV_VIRT_BASE) != 0) + while (1); + + /* Platform-specific initialisation */ + return (fdt_immr_va - ARM_NOCACHE_KVA_SIZE); +} + +/* + * Set initial values of GPIO output ports + */ +void +initarm_gpio_init(void) +{ + +} + +void +initarm_late_init(void) +{ + +} + +#define FDT_DEVMAP_MAX 2 +static struct pmap_devmap fdt_devmap[FDT_DEVMAP_MAX] = { + { 0, 0, 0, 0, 0, }, + { 0, 0, 0, 0, 0, } +}; + +/* + * Construct pmap_devmap[] with DT-derived config data. + */ +int +platform_devmap_init(void) +{ + + /* + * Map segment where UART1 and UART2 located. + */ + fdt_devmap[0].pd_va = IMX51_DEV_VIRT_BASE + 0x03f00000; + fdt_devmap[0].pd_pa = 0x73f00000; + fdt_devmap[0].pd_size = 0x00100000; + fdt_devmap[0].pd_prot = VM_PROT_READ | VM_PROT_WRITE; + fdt_devmap[0].pd_cache = PTE_NOCACHE; + + pmap_devmap_bootstrap_table = &fdt_devmap[0]; + return (0); +} + +struct arm32_dma_range * +bus_dma_get_range(void) +{ *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201308152028.r7FKSEbN099031>