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 ...
Alexander Motin
mav at FreeBSD.org
Thu Aug 15 20:28:20 UTC 2013
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 at rHEAD"
+DOCBRANCH="doc/head at rHEAD"
+PORTBRANCH="ports/head at 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 at rHEAD"
+DOCBRANCH="doc/head at rHEAD"
+PORTBRANCH="ports/head at 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 at FreeBSD.
mm [label="Martin Matuska\nmm at FreeBSD.org\n2007/04/04"]
mnag [label="Marcus Alves Grando\nmnag at FreeBSD.org\n2005/09/15"]
mva [label="Marcus von Appen\nmva at FreeBSD.org\n2009/02/16"]
+nemysis [label="Rusmir Dusko\nnemysis at FreeBSD.org\n2013/07/31"]
nemoliu [label="Tong Liu\nnemoliu at FreeBSD.org\n2007/04/25"]
netchild [label="Alexander Leidinger\nnetchild at FreeBSD.org\n2002/03/19"]
nobutaka [label="Nobutaka Mantani\nnobutaka at 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 ***
More information about the svn-src-projects
mailing list