Date: Fri, 9 Jul 2010 14:12:18 +0000 (UTC) From: Nathan Whitehorn <nwhitehorn@FreeBSD.org> To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r209854 - in projects/ppc64: cddl/compat/opensolaris/misc gnu/usr.bin/dialog lib/libc/net lib/libc/posix1e lib/libstand sbin/dhclient share/mk sys/amd64/amd64 sys/amd64/conf sys/amd64/i... Message-ID: <201007091412.o69ECI7V056856@svn.freebsd.org>
index | next in thread | raw e-mail
Author: nwhitehorn Date: Fri Jul 9 14:12:18 2010 New Revision: 209854 URL: http://svn.freebsd.org/changeset/base/209854 Log: IFC @ 209853 to profit from recent diff reduction. Slowly, the merge progresses... Added: projects/ppc64/sys/conf/ldscript.mips.64 - copied unchanged from r209853, head/sys/conf/ldscript.mips.64 projects/ppc64/sys/contrib/dev/acpica/compiler/dtcompile.c - copied unchanged from r209853, head/sys/contrib/dev/acpica/compiler/dtcompile.c projects/ppc64/sys/contrib/dev/acpica/compiler/dtcompiler.h - copied unchanged from r209853, head/sys/contrib/dev/acpica/compiler/dtcompiler.h projects/ppc64/sys/contrib/dev/acpica/compiler/dtfield.c - copied unchanged from r209853, head/sys/contrib/dev/acpica/compiler/dtfield.c projects/ppc64/sys/contrib/dev/acpica/compiler/dtio.c - copied unchanged from r209853, head/sys/contrib/dev/acpica/compiler/dtio.c projects/ppc64/sys/contrib/dev/acpica/compiler/dtsubtable.c - copied unchanged from r209853, head/sys/contrib/dev/acpica/compiler/dtsubtable.c projects/ppc64/sys/contrib/dev/acpica/compiler/dttable.c - copied unchanged from r209853, head/sys/contrib/dev/acpica/compiler/dttable.c projects/ppc64/sys/contrib/dev/acpica/compiler/dttemplate.c - copied unchanged from r209853, head/sys/contrib/dev/acpica/compiler/dttemplate.c projects/ppc64/sys/contrib/dev/acpica/compiler/dttemplate.h - copied unchanged from r209853, head/sys/contrib/dev/acpica/compiler/dttemplate.h projects/ppc64/sys/contrib/dev/acpica/compiler/dtutils.c - copied unchanged from r209853, head/sys/contrib/dev/acpica/compiler/dtutils.c projects/ppc64/sys/mips/conf/XLR64 - copied unchanged from r209853, head/sys/mips/conf/XLR64 projects/ppc64/usr.sbin/pc-sysinstall/backend-query/detect-emulation.sh - copied unchanged from r209853, head/usr.sbin/pc-sysinstall/backend-query/detect-emulation.sh Deleted: projects/ppc64/usr.sbin/pc-sysinstall/backend-query/detect-vmware.sh Modified: projects/ppc64/cddl/compat/opensolaris/misc/fsshare.c projects/ppc64/gnu/usr.bin/dialog/dialog.1 projects/ppc64/lib/libc/net/sctp_sys_calls.c projects/ppc64/lib/libc/posix1e/acl_from_text.c projects/ppc64/lib/libc/posix1e/acl_from_text_nfs4.c projects/ppc64/lib/libc/posix1e/acl_support.h projects/ppc64/lib/libstand/printf.c projects/ppc64/sbin/dhclient/dhclient.c projects/ppc64/share/mk/Makefile projects/ppc64/sys/amd64/amd64/cpu_switch.S projects/ppc64/sys/amd64/amd64/pmap.c projects/ppc64/sys/amd64/conf/GENERIC projects/ppc64/sys/amd64/include/segments.h projects/ppc64/sys/boot/ia64/common/exec.c projects/ppc64/sys/boot/ia64/efi/version projects/ppc64/sys/cam/ata/ata_xpt.c projects/ppc64/sys/contrib/dev/acpica/acpica_prep.sh projects/ppc64/sys/contrib/dev/acpica/changes.txt projects/ppc64/sys/contrib/dev/acpica/common/adisasm.c projects/ppc64/sys/contrib/dev/acpica/common/adwalk.c projects/ppc64/sys/contrib/dev/acpica/common/dmextern.c projects/ppc64/sys/contrib/dev/acpica/common/dmrestag.c projects/ppc64/sys/contrib/dev/acpica/common/dmtable.c projects/ppc64/sys/contrib/dev/acpica/common/dmtbdump.c projects/ppc64/sys/contrib/dev/acpica/common/dmtbinfo.c projects/ppc64/sys/contrib/dev/acpica/compiler/aslanalyze.c projects/ppc64/sys/contrib/dev/acpica/compiler/aslcompile.c projects/ppc64/sys/contrib/dev/acpica/compiler/aslcompiler.h projects/ppc64/sys/contrib/dev/acpica/compiler/aslcompiler.l projects/ppc64/sys/contrib/dev/acpica/compiler/aslcompiler.y projects/ppc64/sys/contrib/dev/acpica/compiler/asldefine.h projects/ppc64/sys/contrib/dev/acpica/compiler/aslerror.c projects/ppc64/sys/contrib/dev/acpica/compiler/aslfiles.c projects/ppc64/sys/contrib/dev/acpica/compiler/aslglobal.h projects/ppc64/sys/contrib/dev/acpica/compiler/asllookup.c projects/ppc64/sys/contrib/dev/acpica/compiler/aslmain.c projects/ppc64/sys/contrib/dev/acpica/compiler/aslopt.c projects/ppc64/sys/contrib/dev/acpica/compiler/aslpredef.c projects/ppc64/sys/contrib/dev/acpica/compiler/aslstartup.c projects/ppc64/sys/contrib/dev/acpica/compiler/asltransform.c projects/ppc64/sys/contrib/dev/acpica/compiler/asltree.c projects/ppc64/sys/contrib/dev/acpica/compiler/asltypes.h projects/ppc64/sys/contrib/dev/acpica/compiler/aslutils.c projects/ppc64/sys/contrib/dev/acpica/debugger/dbcmds.c projects/ppc64/sys/contrib/dev/acpica/debugger/dbdisply.c projects/ppc64/sys/contrib/dev/acpica/debugger/dbexec.c projects/ppc64/sys/contrib/dev/acpica/debugger/dbfileio.c projects/ppc64/sys/contrib/dev/acpica/debugger/dbhistry.c projects/ppc64/sys/contrib/dev/acpica/debugger/dbinput.c projects/ppc64/sys/contrib/dev/acpica/debugger/dbutils.c projects/ppc64/sys/contrib/dev/acpica/disassembler/dmobject.c projects/ppc64/sys/contrib/dev/acpica/disassembler/dmopcode.c projects/ppc64/sys/contrib/dev/acpica/disassembler/dmresrc.c projects/ppc64/sys/contrib/dev/acpica/dispatcher/dsinit.c projects/ppc64/sys/contrib/dev/acpica/dispatcher/dsmethod.c projects/ppc64/sys/contrib/dev/acpica/dispatcher/dsmthdat.c projects/ppc64/sys/contrib/dev/acpica/dispatcher/dsobject.c projects/ppc64/sys/contrib/dev/acpica/dispatcher/dsopcode.c projects/ppc64/sys/contrib/dev/acpica/dispatcher/dsutils.c projects/ppc64/sys/contrib/dev/acpica/events/evgpe.c projects/ppc64/sys/contrib/dev/acpica/events/evgpeblk.c projects/ppc64/sys/contrib/dev/acpica/events/evgpeinit.c projects/ppc64/sys/contrib/dev/acpica/events/evgpeutil.c projects/ppc64/sys/contrib/dev/acpica/events/evrgnini.c projects/ppc64/sys/contrib/dev/acpica/events/evxface.c projects/ppc64/sys/contrib/dev/acpica/events/evxfevnt.c projects/ppc64/sys/contrib/dev/acpica/executer/exdump.c projects/ppc64/sys/contrib/dev/acpica/executer/exfldio.c projects/ppc64/sys/contrib/dev/acpica/executer/exprep.c projects/ppc64/sys/contrib/dev/acpica/executer/exregion.c projects/ppc64/sys/contrib/dev/acpica/executer/exsystem.c projects/ppc64/sys/contrib/dev/acpica/hardware/hwgpe.c projects/ppc64/sys/contrib/dev/acpica/hardware/hwsleep.c projects/ppc64/sys/contrib/dev/acpica/hardware/hwvalid.c projects/ppc64/sys/contrib/dev/acpica/include/acconfig.h projects/ppc64/sys/contrib/dev/acpica/include/acdisasm.h projects/ppc64/sys/contrib/dev/acpica/include/acevents.h projects/ppc64/sys/contrib/dev/acpica/include/acexcep.h projects/ppc64/sys/contrib/dev/acpica/include/acglobal.h projects/ppc64/sys/contrib/dev/acpica/include/achware.h projects/ppc64/sys/contrib/dev/acpica/include/aclocal.h projects/ppc64/sys/contrib/dev/acpica/include/acnamesp.h projects/ppc64/sys/contrib/dev/acpica/include/acobject.h projects/ppc64/sys/contrib/dev/acpica/include/acoutput.h projects/ppc64/sys/contrib/dev/acpica/include/acpixf.h projects/ppc64/sys/contrib/dev/acpica/include/acpredef.h projects/ppc64/sys/contrib/dev/acpica/include/acstruct.h projects/ppc64/sys/contrib/dev/acpica/include/actbl.h projects/ppc64/sys/contrib/dev/acpica/include/actbl2.h projects/ppc64/sys/contrib/dev/acpica/include/actypes.h projects/ppc64/sys/contrib/dev/acpica/include/acutils.h projects/ppc64/sys/contrib/dev/acpica/namespace/nsaccess.c projects/ppc64/sys/contrib/dev/acpica/namespace/nsalloc.c projects/ppc64/sys/contrib/dev/acpica/namespace/nsdump.c projects/ppc64/sys/contrib/dev/acpica/namespace/nsinit.c projects/ppc64/sys/contrib/dev/acpica/namespace/nsnames.c projects/ppc64/sys/contrib/dev/acpica/namespace/nsparse.c projects/ppc64/sys/contrib/dev/acpica/namespace/nsrepair.c projects/ppc64/sys/contrib/dev/acpica/namespace/nsrepair2.c projects/ppc64/sys/contrib/dev/acpica/namespace/nssearch.c projects/ppc64/sys/contrib/dev/acpica/namespace/nsutils.c projects/ppc64/sys/contrib/dev/acpica/namespace/nswalk.c projects/ppc64/sys/contrib/dev/acpica/namespace/nsxfobj.c projects/ppc64/sys/contrib/dev/acpica/osunixxf.c projects/ppc64/sys/contrib/dev/acpica/utilities/utglobal.c projects/ppc64/sys/contrib/dev/acpica/utilities/utmisc.c projects/ppc64/sys/contrib/dev/acpica/utilities/uttrack.c projects/ppc64/sys/dev/acpica/acpi.c projects/ppc64/sys/dev/acpica/acpi_button.c projects/ppc64/sys/dev/acpica/acpi_ec.c projects/ppc64/sys/dev/acpica/acpi_lid.c projects/ppc64/sys/dev/agp/agp.c projects/ppc64/sys/dev/ath/if_ath.c projects/ppc64/sys/dev/bge/if_bge.c projects/ppc64/sys/dev/cxgb/common/cxgb_ael1002.c projects/ppc64/sys/dev/cxgb/common/cxgb_common.h projects/ppc64/sys/dev/cxgb/common/cxgb_t3_hw.c projects/ppc64/sys/dev/cxgb/cxgb_adapter.h projects/ppc64/sys/dev/cxgb/cxgb_main.c projects/ppc64/sys/dev/cxgb/cxgb_sge.c projects/ppc64/sys/dev/fb/vesa.c projects/ppc64/sys/dev/md/md.c projects/ppc64/sys/dev/sge/if_sge.c projects/ppc64/sys/dev/sge/if_sgereg.h projects/ppc64/sys/ia64/acpica/acpi_machdep.c projects/ppc64/sys/ia64/ia64/autoconf.c projects/ppc64/sys/ia64/ia64/mca.c projects/ppc64/sys/ia64/include/md_var.h projects/ppc64/sys/kern/kern_clock.c projects/ppc64/sys/kern/kern_exec.c projects/ppc64/sys/kern/kern_sig.c projects/ppc64/sys/kern/subr_prf.c projects/ppc64/sys/kern/subr_unit.c projects/ppc64/sys/kern/vfs_syscalls.c projects/ppc64/sys/mips/atheros/ar71xxreg.h projects/ppc64/sys/mips/atheros/if_arge.c projects/ppc64/sys/mips/atheros/if_argevar.h projects/ppc64/sys/mips/include/pmap.h projects/ppc64/sys/mips/include/pte.h projects/ppc64/sys/mips/include/runq.h projects/ppc64/sys/mips/mips/cache_mipsNN.c projects/ppc64/sys/mips/mips/exception.S projects/ppc64/sys/mips/mips/locore.S projects/ppc64/sys/mips/mips/pmap.c projects/ppc64/sys/mips/mips/vm_machdep.c projects/ppc64/sys/mips/rmi/dev/xlr/rge.c projects/ppc64/sys/mips/rmi/iodi.c projects/ppc64/sys/mips/rmi/on_chip.c projects/ppc64/sys/mips/rmi/xlr_machdep.c projects/ppc64/sys/mips/rmi/xlr_pci.c projects/ppc64/sys/netgraph/ng_source.c projects/ppc64/sys/netgraph/ng_source.h projects/ppc64/sys/netinet/ipfw/ip_fw_log.c projects/ppc64/sys/powerpc/aim/nexus.c projects/ppc64/sys/powerpc/aim/platform_chrp.c projects/ppc64/sys/sys/signalvar.h projects/ppc64/sys/vm/vm_page.c projects/ppc64/sys/vm/vm_page.h projects/ppc64/tools/tools/ncpus/biosmptable.c projects/ppc64/usr.bin/getopt/getopt.1 projects/ppc64/usr.sbin/acpi/acpidump/acpi_user.c projects/ppc64/usr.sbin/acpi/iasl/Makefile projects/ppc64/usr.sbin/jls/jls.c projects/ppc64/usr.sbin/pc-sysinstall/backend-query/Makefile projects/ppc64/usr.sbin/pc-sysinstall/backend-query/detect-laptop.sh projects/ppc64/usr.sbin/pc-sysinstall/backend-query/detect-nics.sh projects/ppc64/usr.sbin/pc-sysinstall/doc/help-index projects/ppc64/usr.sbin/pc-sysinstall/pc-sysinstall/pc-sysinstall.8 projects/ppc64/usr.sbin/pc-sysinstall/pc-sysinstall/pc-sysinstall.sh projects/ppc64/usr.sbin/sysinstall/install.cfg projects/ppc64/usr.sbin/sysinstall/label.c projects/ppc64/usr.sbin/sysinstall/menus.c projects/ppc64/usr.sbin/sysinstall/msg.c projects/ppc64/usr.sbin/sysinstall/sysinstall.h Directory Properties: projects/ppc64/ (props changed) projects/ppc64/cddl/contrib/opensolaris/ (props changed) projects/ppc64/contrib/ee/ (props changed) projects/ppc64/contrib/expat/ (props changed) projects/ppc64/contrib/file/ (props changed) projects/ppc64/contrib/gdb/ (props changed) projects/ppc64/contrib/gnu-sort/ (props changed) projects/ppc64/contrib/groff/ (props changed) projects/ppc64/contrib/less/ (props changed) projects/ppc64/contrib/libpcap/ (props changed) projects/ppc64/contrib/ncurses/ (props changed) projects/ppc64/contrib/one-true-awk/ (props changed) projects/ppc64/contrib/openbsm/ (props changed) projects/ppc64/contrib/openpam/ (props changed) projects/ppc64/contrib/pf/ (props changed) projects/ppc64/contrib/tcpdump/ (props changed) projects/ppc64/contrib/tcsh/ (props changed) projects/ppc64/contrib/tzcode/stdtime/ (props changed) projects/ppc64/contrib/tzcode/zic/ (props changed) projects/ppc64/contrib/tzdata/ (props changed) projects/ppc64/contrib/wpa/ (props changed) projects/ppc64/lib/libutil/ (props changed) projects/ppc64/lib/libz/ (props changed) projects/ppc64/sbin/ (props changed) projects/ppc64/sbin/ipfw/ (props changed) projects/ppc64/share/mk/bsd.arch.inc.mk (props changed) projects/ppc64/sys/ (props changed) projects/ppc64/sys/amd64/include/xen/ (props changed) projects/ppc64/sys/arm/conf/SHEEVAPLUG (props changed) projects/ppc64/sys/cddl/contrib/opensolaris/ (props changed) projects/ppc64/sys/contrib/dev/acpica/ (props changed) projects/ppc64/sys/contrib/x86emu/ (props changed) projects/ppc64/sys/dev/xen/xenpci/ (props changed) projects/ppc64/usr.bin/csup/ (props changed) projects/ppc64/usr.bin/procstat/ (props changed) Modified: projects/ppc64/cddl/compat/opensolaris/misc/fsshare.c ============================================================================== --- projects/ppc64/cddl/compat/opensolaris/misc/fsshare.c Fri Jul 9 14:04:16 2010 (r209853) +++ projects/ppc64/cddl/compat/opensolaris/misc/fsshare.c Fri Jul 9 14:12:18 2010 (r209854) @@ -110,11 +110,11 @@ getline(FILE *fd, const char *skip) * * Recognized keywords: * - * ro, maproot, mapall, mask, network, alldirs, public, webnfs, index, quiet + * ro, maproot, mapall, mask, network, sec, alldirs, public, webnfs, index, quiet * */ static const char *known_opts[] = { "ro", "maproot", "mapall", "mask", - "network", "alldirs", "public", "webnfs", "index", "quiet", NULL }; + "network", "sec", "alldirs", "public", "webnfs", "index", "quiet", NULL }; static char * translate_opts(const char *shareopts) { Modified: projects/ppc64/gnu/usr.bin/dialog/dialog.1 ============================================================================== --- projects/ppc64/gnu/usr.bin/dialog/dialog.1 Fri Jul 9 14:04:16 2010 (r209853) +++ projects/ppc64/gnu/usr.bin/dialog/dialog.1 Fri Jul 9 14:12:18 2010 (r209854) @@ -30,6 +30,7 @@ types of dialog objects are currently su .BR yes/no " box," " menu" " box," " input" " box," .BR message " box," " text" " box," " info" " box," .BR checklist " box," " program" " box," +.BR radiolist " box," .BR ftree " and " tree " boxes." .SH OPTIONS .TP @@ -172,6 +173,15 @@ On exit, a list of the .I tag strings of those entries that are turned on will be printed on .IR stderr "." +.IP "\fB\-\-radiolist \fItext height width list-height \fR[ \fItag item status \fR] \fI..." +.RB "A " radiolist " box is similar to a " checklist " but it only allows" +a single entry to be selected. One entry may initially be turned on as +specified by +.IR status "." +On exit, the +.I tag +string of the entry that is turned on will be printed on +.IR stderr "." .IP "\fB\-\-ftree \fIfile FS text height width menu-height" .B ftree box is a dialog box showing the tree described by the data from the file Modified: projects/ppc64/lib/libc/net/sctp_sys_calls.c ============================================================================== --- projects/ppc64/lib/libc/net/sctp_sys_calls.c Fri Jul 9 14:04:16 2010 (r209853) +++ projects/ppc64/lib/libc/net/sctp_sys_calls.c Fri Jul 9 14:12:18 2010 (r209854) @@ -724,6 +724,7 @@ sctp_sendx(int sd, const void *msg, size struct sctp_sndrcvinfo *sinfo, int flags) { + struct sctp_sndrcvinfo __sinfo; ssize_t ret; int i, cnt, *aa, saved_errno; char *buf; @@ -790,6 +791,10 @@ sctp_sendx(int sd, const void *msg, size return (ret); } continue_send: + if (sinfo == NULL) { + sinfo = &__sinfo; + memset(&__sinfo, 0, sizeof(__sinfo)); + } sinfo->sinfo_assoc_id = sctp_getassocid(sd, addrs); if (sinfo->sinfo_assoc_id == 0) { printf("Huh, can't get associd? TSNH!\n"); Modified: projects/ppc64/lib/libc/posix1e/acl_from_text.c ============================================================================== --- projects/ppc64/lib/libc/posix1e/acl_from_text.c Fri Jul 9 14:04:16 2010 (r209853) +++ projects/ppc64/lib/libc/posix1e/acl_from_text.c Fri Jul 9 14:12:18 2010 (r209854) @@ -44,7 +44,6 @@ __FBSDID("$FreeBSD$"); #include "acl_support.h" -static int _posix1e_acl_name_to_id(acl_tag_t tag, char *name, uid_t *id); static acl_tag_t acl_string_to_tag(char *tag, char *qualifier); int _nfs4_acl_entry_from_text(acl_t aclp, char *entry); @@ -148,8 +147,7 @@ _posix1e_acl_entry_from_text(acl_t aclp, case ACL_USER: case ACL_GROUP: - error = _posix1e_acl_name_to_id(t, qualifier, - &id); + error = _acl_name_to_id(t, qualifier, &id); if (error == -1) return (-1); break; @@ -272,8 +270,8 @@ error_label: * XXX USES *PW* AND *GR* WHICH ARE STATEFUL AND THEREFORE THIS ROUTINE * MAY HAVE SIDE-EFFECTS */ -static int -_posix1e_acl_name_to_id(acl_tag_t tag, char *name, uid_t *id) +int +_acl_name_to_id(acl_tag_t tag, char *name, uid_t *id) { struct group *g; struct passwd *p; Modified: projects/ppc64/lib/libc/posix1e/acl_from_text_nfs4.c ============================================================================== --- projects/ppc64/lib/libc/posix1e/acl_from_text_nfs4.c Fri Jul 9 14:04:16 2010 (r209853) +++ projects/ppc64/lib/libc/posix1e/acl_from_text_nfs4.c Fri Jul 9 14:12:18 2010 (r209854) @@ -79,16 +79,14 @@ parse_tag(const char *str, acl_entry_t e /* * Parse the qualifier field of ACL entry passed as "str". * If user or group name cannot be resolved, then the variable - * referenced by "need_qualifier" is set to 1. + * referenced by "need_qualifier" is set to 1; it will be checked + * later to figure out whether the appended_id is required. */ static int parse_qualifier(char *str, acl_entry_t entry, int *need_qualifier) { int qualifier_length, error; - id_t id; - char *end; - struct passwd *pwd; - struct group *grp; + uid_t id; acl_tag_t tag; assert(need_qualifier != NULL); @@ -101,44 +99,17 @@ parse_qualifier(char *str, acl_entry_t e return (-1); } - /* XXX: Can we assume that valid username never begins with a digit? */ - if (isdigit(str[0])) { - id = strtod(str, &end); - - if (end - str != qualifier_length) { - warnx("malformed ACL: trailing characters " - "after numerical id"); - return (-1); - } - - return (acl_set_qualifier(entry, &id)); - } - error = acl_get_tag_type(entry, &tag); if (error) return (error); - assert(tag == ACL_USER || tag == ACL_GROUP); - - if (tag == ACL_USER) { - /* XXX: Thread-unsafe. */ - pwd = getpwnam(str); - if (pwd == NULL) { - *need_qualifier = 1; - return (0); - } - - return (acl_set_qualifier(entry, &(pwd->pw_uid))); - } - - /* XXX: Thread-unsafe. */ - grp = getgrnam(str); - if (grp == NULL) { + error = _acl_name_to_id(tag, str, &id); + if (error) { *need_qualifier = 1; return (0); } - return (acl_set_qualifier(entry, &(grp->gr_gid))); + return (acl_set_qualifier(entry, &id)); } static int Modified: projects/ppc64/lib/libc/posix1e/acl_support.h ============================================================================== --- projects/ppc64/lib/libc/posix1e/acl_support.h Fri Jul 9 14:04:16 2010 (r209853) +++ projects/ppc64/lib/libc/posix1e/acl_support.h Fri Jul 9 14:12:18 2010 (r209854) @@ -61,5 +61,6 @@ int _posix1e_acl_add_entry(acl_t acl, ac acl_perm_t perm); char *string_skip_whitespace(char *string); void string_trim_trailing_whitespace(char *string); +int _acl_name_to_id(acl_tag_t tag, char *name, uid_t *id); #endif Modified: projects/ppc64/lib/libstand/printf.c ============================================================================== --- projects/ppc64/lib/libstand/printf.c Fri Jul 9 14:04:16 2010 (r209853) +++ projects/ppc64/lib/libstand/printf.c Fri Jul 9 14:12:18 2010 (r209854) @@ -151,6 +151,7 @@ ksprintn(char *nbuf, uintmax_t num, int static int kvprintf(char const *fmt, void (*func)(int), void *arg, int radix, va_list ap) { +#define MAX(a, b) (((a) > (b)) ? (a) : (b)) #define PCHAR(c) {int cc=(c); if (func) (*func)(cc); else *d++ = cc; retval++; } char nbuf[MAXNBUF]; char *d; @@ -159,10 +160,10 @@ kvprintf(char const *fmt, void (*func)(i int ch, n; uintmax_t num; int base, lflag, qflag, tmp, width, ladjust, sharpflag, neg, sign, dot; - int jflag, tflag, zflag; + int cflag, hflag, jflag, tflag, zflag; int dwidth, upper; char padc; - int retval = 0; + int stop = 0, retval = 0; num = 0; if (!func) @@ -179,7 +180,7 @@ kvprintf(char const *fmt, void (*func)(i for (;;) { padc = ' '; width = 0; - while ((ch = (u_char)*fmt++) != '%') { + while ((ch = (u_char)*fmt++) != '%' || stop) { if (ch == '\0') return (retval); PCHAR(ch); @@ -187,7 +188,7 @@ kvprintf(char const *fmt, void (*func)(i percent = fmt - 1; qflag = 0; lflag = 0; ladjust = 0; sharpflag = 0; neg = 0; sign = 0; dot = 0; dwidth = 0; upper = 0; - jflag = 0; tflag = 0; zflag = 0; + cflag = 0; hflag = 0; jflag = 0; tflag = 0; zflag = 0; reswitch: switch (ch = (u_char)*fmt++) { case '.': dot = 1; @@ -234,7 +235,7 @@ reswitch: switch (ch = (u_char)*fmt++) { width = n; goto reswitch; case 'b': - num = va_arg(ap, int); + num = (u_int)va_arg(ap, int); p = va_arg(ap, char *); for (q = ksprintn(nbuf, num, *p++, NULL, 0); *q;) PCHAR(*q--); @@ -278,6 +279,13 @@ reswitch: switch (ch = (u_char)*fmt++) { base = 10; sign = 1; goto handle_sign; + case 'h': + if (hflag) { + hflag = 0; + cflag = 1; + } else + hflag = 1; + goto reswitch; case 'j': jflag = 1; goto reswitch; @@ -297,6 +305,10 @@ reswitch: switch (ch = (u_char)*fmt++) { *(va_arg(ap, long *)) = retval; else if (zflag) *(va_arg(ap, size_t *)) = retval; + else if (hflag) + *(va_arg(ap, short *)) = retval; + else if (cflag) + *(va_arg(ap, char *)) = retval; else *(va_arg(ap, int *)) = retval; break; @@ -368,6 +380,10 @@ handle_nosign: num = va_arg(ap, u_long); else if (zflag) num = va_arg(ap, size_t); + else if (hflag) + num = (u_short)va_arg(ap, int); + else if (cflag) + num = (u_char)va_arg(ap, int); else num = va_arg(ap, u_int); goto number; @@ -382,6 +398,10 @@ handle_sign: num = va_arg(ap, long); else if (zflag) num = va_arg(ap, ssize_t); + else if (hflag) + num = (short)va_arg(ap, int); + else if (cflag) + num = (char)va_arg(ap, int); else num = va_arg(ap, int); number: @@ -389,7 +409,8 @@ number: neg = 1; num = -(intmax_t)num; } - p = ksprintn(nbuf, num, base, &tmp, upper); + p = ksprintn(nbuf, num, base, &n, upper); + tmp = 0; if (sharpflag && num != 0) { if (base == 8) tmp++; @@ -399,9 +420,13 @@ number: if (neg) tmp++; - if (!ladjust && width && (width -= tmp) > 0) - while (width--) - PCHAR(padc); + if (!ladjust && padc == '0') + dwidth = width - tmp; + width -= tmp + MAX(dwidth, n); + dwidth -= n; + if (!ladjust) + while (width-- > 0) + PCHAR(' '); if (neg) PCHAR('-'); if (sharpflag && num != 0) { @@ -412,18 +437,27 @@ number: PCHAR('x'); } } + while (dwidth-- > 0) + PCHAR('0'); while (*p) PCHAR(*p--); - if (ladjust && width && (width -= tmp) > 0) - while (width--) - PCHAR(padc); + if (ladjust) + while (width-- > 0) + PCHAR(' '); break; default: while (percent < fmt) PCHAR(*percent++); + /* + * Since we ignore an formatting argument it is no + * longer safe to obey the remaining formatting + * arguments as the arguments will no longer match + * the format specs. + */ + stop = 1; break; } } Modified: projects/ppc64/sbin/dhclient/dhclient.c ============================================================================== --- projects/ppc64/sbin/dhclient/dhclient.c Fri Jul 9 14:04:16 2010 (r209853) +++ projects/ppc64/sbin/dhclient/dhclient.c Fri Jul 9 14:12:18 2010 (r209854) @@ -126,7 +126,7 @@ int fork_privchld(int, int); ((a) > 0 ? (1 + (((a) - 1) | (sizeof(long) - 1))) : sizeof(long)) #define ADVANCE(x, n) (x += ROUNDUP((n)->sa_len)) -time_t scripttime; +static time_t scripttime; int findproto(char *cp, int n) @@ -204,7 +204,7 @@ disassoc(void *arg) void routehandler(struct protocol *p) { - char msg[2048]; + char msg[2048], *addr; struct rt_msghdr *rtm; struct if_msghdr *ifm; struct ifa_msghdr *ifam; @@ -224,13 +224,6 @@ routehandler(struct protocol *p) switch (rtm->rtm_type) { case RTM_NEWADDR: - /* - * XXX: If someone other than us adds our address, - * we should assume they are taking over from us, - * delete the lease record, and exit without modifying - * the interface. - */ - break; case RTM_DELADDR: ifam = (struct ifa_msghdr *)rtm; @@ -243,7 +236,7 @@ routehandler(struct protocol *p) sa = get_ifa((char *)(ifam + 1), ifam->ifam_addrs); if (sa == NULL) - goto die; + break; if ((a.len = sizeof(struct in_addr)) > sizeof(a.iabuf)) error("king bula sez: len mismatch"); @@ -255,21 +248,42 @@ routehandler(struct protocol *p) if (addr_eq(a, l->address)) break; - if (l == NULL) /* deleted addr is not the one we set */ + if (l == NULL) /* added/deleted addr is not the one we set */ break; - goto die; + + addr = inet_ntoa(((struct sockaddr_in *)sa)->sin_addr); + if (rtm->rtm_type == RTM_NEWADDR) { + /* + * XXX: If someone other than us adds our address, + * should we assume they are taking over from us, + * delete the lease record, and exit without modifying + * the interface? + */ + warning("My address (%s) was re-added", addr); + } else { + warning("My address (%s) was deleted, dhclient exiting", + addr); + goto die; + } + break; case RTM_IFINFO: ifm = (struct if_msghdr *)rtm; if (ifm->ifm_index != ifi->index) break; - if ((rtm->rtm_flags & RTF_UP) == 0) + if ((rtm->rtm_flags & RTF_UP) == 0) { + warning("Interface %s is down, dhclient exiting", + ifi->name); goto die; + } break; case RTM_IFANNOUNCE: ifan = (struct if_announcemsghdr *)rtm; if (ifan->ifan_what == IFAN_DEPARTURE && - ifan->ifan_index == ifi->index) + ifan->ifan_index == ifi->index) { + warning("Interface %s is gone, dhclient exiting", + ifi->name); goto die; + } break; case RTM_IEEE80211: ifan = (struct if_announcemsghdr *)rtm; @@ -2110,8 +2124,6 @@ script_go(void) struct buf *buf; int ret; - scripttime = time(NULL); - hdr.code = IMSG_SCRIPT_GO; hdr.len = sizeof(struct imsg_hdr); @@ -2132,6 +2144,8 @@ script_go(void) error("received corrupted message"); buf_read(privfd, &ret, sizeof(ret)); + scripttime = time(NULL); + return (ret); } Modified: projects/ppc64/share/mk/Makefile ============================================================================== --- projects/ppc64/share/mk/Makefile Fri Jul 9 14:04:16 2010 (r209853) +++ projects/ppc64/share/mk/Makefile Fri Jul 9 14:12:18 2010 (r209854) @@ -2,6 +2,7 @@ # @(#)Makefile 8.1 (Berkeley) 6/8/93 FILES= bsd.README +FILES+= bsd.arch.inc.mk FILES+= bsd.compat.mk bsd.cpu.mk bsd.dep.mk bsd.doc.mk bsd.endian.mk FILES+= bsd.files.mk bsd.incs.mk bsd.info.mk bsd.init.mk FILES+= bsd.kmod.mk Modified: projects/ppc64/sys/amd64/amd64/cpu_switch.S ============================================================================== --- projects/ppc64/sys/amd64/amd64/cpu_switch.S Fri Jul 9 14:04:16 2010 (r209853) +++ projects/ppc64/sys/amd64/amd64/cpu_switch.S Fri Jul 9 14:12:18 2010 (r209854) @@ -69,16 +69,13 @@ * %rsi = newtd */ ENTRY(cpu_throw) + movl PCPU(CPUID),%eax testq %rdi,%rdi - jnz 1f - movq PCPU(IDLETHREAD),%rdi -1: - movq TD_PCB(%rdi),%r8 /* Old pcb */ - movl PCPU(CPUID), %eax + jz 1f /* release bit from old pm_active */ - movq TD_PROC(%rdi), %rdx /* oldtd->td_proc */ - movq P_VMSPACE(%rdx), %rdx /* proc->p_vmspace */ - LK btrl %eax, VM_PMAP+PM_ACTIVE(%rdx) /* clear old */ + movq PCPU(CURPMAP),%rdx + LK btrl %eax,PM_ACTIVE(%rdx) /* clear old */ +1: movq TD_PCB(%rsi),%r8 /* newtd->td_proc */ movq PCB_CR3(%r8),%rdx movq %rdx,%cr3 /* new address space */ @@ -140,15 +137,16 @@ swinact: movq %rcx,%cr3 /* new address space */ movl PCPU(CPUID), %eax /* Release bit from old pmap->pm_active */ - movq TD_PROC(%rdi), %rcx /* oldproc */ - movq P_VMSPACE(%rcx), %rcx - LK btrl %eax, VM_PMAP+PM_ACTIVE(%rcx) /* clear old */ + movq PCPU(CURPMAP),%rcx + LK btrl %eax,PM_ACTIVE(%rcx) /* clear old */ SETLK %rdx, TD_LOCK(%rdi) /* Release the old thread */ swact: /* Set bit in new pmap->pm_active */ movq TD_PROC(%rsi),%rdx /* newproc */ movq P_VMSPACE(%rdx), %rdx - LK btsl %eax, VM_PMAP+PM_ACTIVE(%rdx) /* set new */ + addq $VM_PMAP,%rdx + LK btsl %eax,PM_ACTIVE(%rdx) /* set new */ + movq %rdx,PCPU(CURPMAP) sw1: #if defined(SCHED_ULE) && defined(SMP) Modified: projects/ppc64/sys/amd64/amd64/pmap.c ============================================================================== --- projects/ppc64/sys/amd64/amd64/pmap.c Fri Jul 9 14:04:16 2010 (r209853) +++ projects/ppc64/sys/amd64/amd64/pmap.c Fri Jul 9 14:12:18 2010 (r209854) @@ -1574,6 +1574,7 @@ pmap_pinit0(pmap_t pmap) pmap->pm_pml4 = (pml4_entry_t *)PHYS_TO_DMAP(KPML4phys); pmap->pm_root = NULL; pmap->pm_active = 0; + PCPU_SET(curpmap, pmap); TAILQ_INIT(&pmap->pm_pvchunk); bzero(&pmap->pm_stats, sizeof pmap->pm_stats); } @@ -5008,6 +5009,7 @@ if (oldpmap) /* XXX FIXME */ cr3 = DMAP_TO_PHYS((vm_offset_t)pmap->pm_pml4); td->td_pcb->pcb_cr3 = cr3; load_cr3(cr3); + PCPU_SET(curpmap, pmap); critical_exit(); } Modified: projects/ppc64/sys/amd64/conf/GENERIC ============================================================================== --- projects/ppc64/sys/amd64/conf/GENERIC Fri Jul 9 14:04:16 2010 (r209853) +++ projects/ppc64/sys/amd64/conf/GENERIC Fri Jul 9 14:12:18 2010 (r209854) @@ -294,6 +294,7 @@ device umass # Disks/Mass storage - Re device ums # Mouse device urio # Diamond Rio 500 MP3 player # USB Serial devices +device u3g # USB-based 3G modems (Option, Huawei, Sierra) device uark # Technologies ARK3116 based serial adapters device ubsa # Belkin F5U103 and compatible serial adapters device uftdi # For FTDI usb serial adapters Modified: projects/ppc64/sys/amd64/include/segments.h ============================================================================== --- projects/ppc64/sys/amd64/include/segments.h Fri Jul 9 14:04:16 2010 (r209853) +++ projects/ppc64/sys/amd64/include/segments.h Fri Jul 9 14:12:18 2010 (r209854) @@ -74,6 +74,13 @@ struct user_segment_descriptor { u_int64_t sd_hibase:8; /* segment base address (msb) */ } __packed; +#define USD_GETBASE(sd) (((sd)->sd_lobase) | (sd)->sd_hibase << 24) +#define USD_SETBASE(sd, b) (sd)->sd_lobase = (b); \ + (sd)->sd_hibase = ((b) >> 24); +#define USD_GETLIMIT(sd) (((sd)->sd_lolimit) | (sd)->sd_hilimit << 16) +#define USD_SETLIMIT(sd, l) (sd)->sd_lolimit = (l); \ + (sd)->sd_hilimit = ((l) >> 16); + /* * System segment descriptors (128 bit wide) */ Modified: projects/ppc64/sys/boot/ia64/common/exec.c ============================================================================== --- projects/ppc64/sys/boot/ia64/common/exec.c Fri Jul 9 14:04:16 2010 (r209853) +++ projects/ppc64/sys/boot/ia64/common/exec.c Fri Jul 9 14:12:18 2010 (r209854) @@ -106,11 +106,12 @@ elf64_exec(struct preloaded_file *fp) pte = PTE_PRESENT | PTE_MA_WB | PTE_ACCESSED | PTE_DIRTY | PTE_PL_KERN | PTE_AR_RWX | PTE_ED; + pte |= IA64_RR_MASK(hdr->e_entry) & PTE_PPN_MASK; - __asm __volatile("mov cr.ifa=%0" :: "r"(IA64_RR_BASE(7))); + __asm __volatile("mov cr.ifa=%0" :: "r"(hdr->e_entry)); __asm __volatile("mov cr.itir=%0" :: "r"(28 << 2)); - __asm __volatile("ptr.i %0,%1" :: "r"(IA64_RR_BASE(7)), "r"(28<<2)); - __asm __volatile("ptr.d %0,%1" :: "r"(IA64_RR_BASE(7)), "r"(28<<2)); + __asm __volatile("ptr.i %0,%1" :: "r"(hdr->e_entry), "r"(28<<2)); + __asm __volatile("ptr.d %0,%1" :: "r"(hdr->e_entry), "r"(28<<2)); __asm __volatile("srlz.i;;"); __asm __volatile("itr.i itr[%0]=%1;;" :: "r"(0), "r"(pte)); __asm __volatile("srlz.i;;"); Modified: projects/ppc64/sys/boot/ia64/efi/version ============================================================================== --- projects/ppc64/sys/boot/ia64/efi/version Fri Jul 9 14:04:16 2010 (r209853) +++ projects/ppc64/sys/boot/ia64/efi/version Fri Jul 9 14:12:18 2010 (r209854) @@ -3,6 +3,8 @@ $FreeBSD$ NOTE ANY CHANGES YOU MAKE TO THE BOOTBLOCKS HERE. The format of this file is important. Make sure the current version number is on line 6. +2.2: Create direct mapping based on start address instead of mapping + first 256M. 2.1: Add support for "-dev <part>" argument parsing. 2.0: Provide devices based on the block I/O protocol, rather than the simple file services protocol. Use the FreeBSD file system code Modified: projects/ppc64/sys/cam/ata/ata_xpt.c ============================================================================== --- projects/ppc64/sys/cam/ata/ata_xpt.c Fri Jul 9 14:04:16 2010 (r209853) +++ projects/ppc64/sys/cam/ata/ata_xpt.c Fri Jul 9 14:12:18 2010 (r209854) @@ -134,6 +134,7 @@ typedef struct { uint32_t pm_prv; int restart; int spinup; + int faults; u_int caps; struct cam_periph *periph; } probe_softc; @@ -738,14 +739,28 @@ probedone(struct cam_periph *periph, uni ident_buf = &path->device->ident_data; if ((done_ccb->ccb_h.status & CAM_STATUS_MASK) != CAM_REQ_CMP) { -device_fail: if ((!softc->restart) && - cam_periph_error(done_ccb, 0, 0, NULL) == ERESTART) { + if (softc->restart) { + if (bootverbose) { + cam_error_print(done_ccb, + CAM_ESF_ALL, CAM_EPF_ALL); + } + } else if (cam_periph_error(done_ccb, 0, 0, NULL) == ERESTART) return; - } else if ((done_ccb->ccb_h.status & CAM_DEV_QFRZN) != 0) { + if ((done_ccb->ccb_h.status & CAM_DEV_QFRZN) != 0) { /* Don't wedge the queue */ xpt_release_devq(done_ccb->ccb_h.path, /*count*/1, /*run_queue*/TRUE); } + if (softc->restart) { + softc->faults++; + if ((done_ccb->ccb_h.status & CAM_STATUS_MASK) == + CAM_CMD_TIMEOUT) + softc->faults += 4; + if (softc->faults < 10) + goto done; + else + softc->restart = 0; + } else /* Old PIO2 devices may not support mode setting. */ if (softc->action == PROBE_SETMODE && ata_max_pmode(ident_buf) <= ATA_PIO2 && @@ -761,7 +776,7 @@ device_fail: if ((!softc->restart) && * already marked unconfigured, notify the peripheral * drivers that this device is no more. */ - if ((path->device->flags & CAM_DEV_UNCONFIGURED) == 0) +device_fail: if ((path->device->flags & CAM_DEV_UNCONFIGURED) == 0) xpt_async(AC_LOST_DEVICE, path, NULL); found = 0; goto done; Copied: projects/ppc64/sys/conf/ldscript.mips.64 (from r209853, head/sys/conf/ldscript.mips.64) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/ppc64/sys/conf/ldscript.mips.64 Fri Jul 9 14:12:18 2010 (r209854, copy of r209853, head/sys/conf/ldscript.mips.64) @@ -0,0 +1,301 @@ +/*- + * Copyright (c) 2001, 2004, 2008, Juniper Networks, Inc. + * 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. + * 3. Neither the name of the Juniper Networks, Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY JUNIPER NETWORKS 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 JUNIPER NETWORKS 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. + * + * JNPR: ldscript.mips,v 1.3 2006/10/11 06:12:04 + * $FreeBSD$ + */ + +OUTPUT_FORMAT("elf64-tradbigmips", "elf64-tradbigmips", "elf64-tradlittlemips") +OUTPUT_ARCH(mips) +ENTRY(_start) +SEARCH_DIR(/usr/lib); +/* Do we need any of these for elf? + __DYNAMIC = 0; +PROVIDE (_DYNAMIC = 0); +*/ +SECTIONS +{ + /* Read-only sections, merged into text segment: */ + . = KERNLOADADDR + SIZEOF_HEADERS; + .text : + { + *(.trap) + *(.text) + *(.text.*) + *(.stub) + /* .gnu.warning sections are handled specially by elf32.em. */ + *(.gnu.warning) + *(.gnu.linkonce.t.*) + } =0x1000000 + .fini : + { + KEEP (*(.fini)) + } =0x1000000 + PROVIDE (__etext = .); + PROVIDE (_etext = .); + PROVIDE (etext = .); + .rodata : { *(.rodata) *(.rodata.*) *(.gnu.linkonce.r.*) } + .rodata1 : { *(.rodata1) } + .interp : { *(.interp) } + .hash : { *(.hash) } + .dynsym : { *(.dynsym) } + .dynstr : { *(.dynstr) } + .gnu.version : { *(.gnu.version) } + .gnu.version_d : { *(.gnu.version_d) } + .gnu.version_r : { *(.gnu.version_r) } + .rel.init : { *(.rel.init) } + .rela.init : { *(.rela.init) } + .rel.text : + { + *(.rel.text) + *(.rel.text.*) + *(.rel.gnu.linkonce.t.*) + } + .rela.text : + { + *(.rela.text) + *(.rela.text.*) + *(.rela.gnu.linkonce.t.*) + } + .rel.fini : { *(.rel.fini) } + .rela.fini : { *(.rela.fini) } + .rel.rodata : + { + *(.rel.rodata) + *(.rel.rodata.*) + *(.rel.gnu.linkonce.r.*) + } + .rela.rodata : + { + *(.rela.rodata) + *(.rela.rodata.*) + *(.rela.gnu.linkonce.r.*) + } + .rel.data : + { + *(.rel.data) + *(.rel.data.*) + *(.rel.gnu.linkonce.d.*) + } + .rela.data : + { + *(.rela.data) + *(.rela.data.*) + *(.rela.gnu.linkonce.d.*) + } + .rel.ctors : { *(.rel.ctors) } + .rela.ctors : { *(.rela.ctors) } + .rel.dtors : { *(.rel.dtors) } + .rela.dtors : { *(.rela.dtors) } + .rel.got : { *(.rel.got) } + .rela.got : { *(.rela.got) } + .rel.sdata : + { + *(.rel.sdata) + *(.rel.sdata.*) + *(.rel.gnu.linkonce.s.*) + } + .rela.sdata : + { + *(.rela.sdata) + *(.rela.sdata.*) + *(.rela.gnu.linkonce.s.*) + } + .rel.sbss : + { + *(.rel.sbss) + *(.rel.sbss.*) + *(.rel.gnu.linkonce.sb.*) + } + .rela.sbss : + { + *(.rela.sbss) + *(.rela.sbss.*) + *(.rel.gnu.linkonce.sb.*) + } + .rel.sdata2 : + { + *(.rel.sdata2) + *(.rel.sdata2.*) + *(.rel.gnu.linkonce.s2.*) + } + .rela.sdata2 : + { + *(.rela.sdata2) + *(.rela.sdata2.*) + *(.rela.gnu.linkonce.s2.*) + } + .rel.sbss2 : + { + *(.rel.sbss2) + *(.rel.sbss2.*) + *(.rel.gnu.linkonce.sb2.*) + } + .rela.sbss2 : + { + *(.rela.sbss2) + *(.rela.sbss2.*) + *(.rela.gnu.linkonce.sb2.*) + } + .rel.bss : + { + *(.rel.bss) + *(.rel.bss.*) + *(.rel.gnu.linkonce.b.*) + } + .rela.bss : + { + *(.rela.bss) + *(.rela.bss.*) + *(.rela.gnu.linkonce.b.*) + } + .rel.plt : { *(.rel.plt) } + .rela.plt : { *(.rela.plt) } + .init : + { + KEEP (*(.init)) + } =0x1000000 + .reginfo : { *(.reginfo) } + .sdata2 : { *(.sdata2) *(.sdata2.*) *(.gnu.linkonce.s2.*) } + .sbss2 : { *(.sbss2) *(.sbss2.*) *(.gnu.linkonce.sb2.*) } + . = ALIGN(0x2000) + (. & (0x2000 - 1)); + .data : + { + *(.data) + *(.data.*) + *(.gnu.linkonce.d.*) + SORT(CONSTRUCTORS) + } + .data1 : { *(.data1) } + .eh_frame : { KEEP (*(.eh_frame)) } + .gcc_except_table : { *(.gcc_except_table) } + .ctors : + { + /* gcc uses crtbegin.o to find the start of + the constructors, so we make sure it is + first. Because this is a wildcard, it + doesn't matter if the user does not + actually link against crtbegin.o; the + linker won't look for a file to match a + wildcard. The wildcard also means that it + doesn't matter which directory crtbegin.o + is in. */ + KEEP (*crtbegin.o(.ctors)) + /* We don't want to include the .ctor section from + from the crtend.o file until after the sorted ctors. + The .ctor section from the crtend file contains the + end of ctors marker and it must be last */ + KEEP (*(EXCLUDE_FILE (*crtend.o ) .ctors)) + KEEP (*(SORT(.ctors.*))) + KEEP (*(.ctors)) + } + .dtors : + { + KEEP (*crtbegin.o(.dtors)) + KEEP (*(EXCLUDE_FILE (*crtend.o ) .dtors)) + KEEP (*(SORT(.dtors.*))) + KEEP (*(.dtors)) + } + .plt : { *(.plt) } + _gp = ALIGN(16) + 0x7ff0; + .got : { *(.got.plt) *(.got) } + .dynamic : { *(.dynamic) } + /* We want the small data sections together, so single-instruction offsets + can access them all, and initialized data all before uninitialized, so + we can shorten the on-disk segment size. */ + .sdata : + { + *(.sdata) + *(.sdata.*) + *(.gnu.linkonce.s.*) + } + _edata = .; + PROVIDE (edata = .); + __bss_start = .; + .sbss : + { + PROVIDE (__sbss_start = .); + PROVIDE (___sbss_start = .); + *(.dynsbss) + *(.sbss) + *(.sbss.*) + *(.gnu.linkonce.sb.*) + *(.scommon) + PROVIDE (__sbss_end = .); + PROVIDE (___sbss_end = .); + } + .bss : + { + *(.dynbss) + *(.bss) + *(.bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + /* Align here to ensure that the .bss section occupies space up to + _end. Align after .bss to ensure correct alignment even if the + .bss section disappears because there are no input sections. */ + . = ALIGN(64 / 8); + } + . = ALIGN(64 / 8); + _end = .; + PROVIDE (end = .); + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + /* DWARF debug sections. + Symbols in the DWARF debugging sections are relative to the beginning + of the section so we begin them at 0. */ + /* DWARF 1 */ + .debug 0 : { *(.debug) } + .line 0 : { *(.line) } + /* GNU DWARF 1 extensions */ + .debug_srcinfo 0 : { *(.debug_srcinfo) } + .debug_sfnames 0 : { *(.debug_sfnames) } + /* DWARF 1.1 and DWARF 2 */ + .debug_aranges 0 : { *(.debug_aranges) } + .debug_pubnames 0 : { *(.debug_pubnames) } + /* DWARF 2 */ + .debug_info 0 : { *(.debug_info) *(.gnu.linkonce.wi.*) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_line 0 : { *(.debug_line) } + .debug_frame 0 : { *(.debug_frame) } + .debug_str 0 : { *(.debug_str) } + .debug_loc 0 : { *(.debug_loc) } + .debug_macinfo 0 : { *(.debug_macinfo) } + /* SGI/MIPS DWARF 2 extensions */ + .debug_weaknames 0 : { *(.debug_weaknames) } + .debug_funcnames 0 : { *(.debug_funcnames) } + .debug_typenames 0 : { *(.debug_typenames) } + .debug_varnames 0 : { *(.debug_varnames) } + /* These must appear regardless of . */ +} Modified: projects/ppc64/sys/contrib/dev/acpica/acpica_prep.sh ============================================================================== --- projects/ppc64/sys/contrib/dev/acpica/acpica_prep.sh Fri Jul 9 14:04:16 2010 (r209853) +++ projects/ppc64/sys/contrib/dev/acpica/acpica_prep.sh Fri Jul 9 14:12:18 2010 (r209854) @@ -33,7 +33,8 @@ src_headers="acapps.h accommon.h acconfi acresrc.h acrestyp.h acstruct.h actables.h actbl.h actbl1.h \ actbl2.h actypes.h acutils.h amlcode.h amlresrc.h \ platform/acenv.h platform/acfreebsd.h platform/acgcc.h" -comp_headers="aslcompiler.h asldefine.h aslglobal.h asltypes.h" +comp_headers="aslcompiler.h asldefine.h aslglobal.h asltypes.h \ + dtcompiler.h dttemplate.h" platform_headers="acfreebsd.h acgcc.h" # pre-clean @@ -49,7 +50,7 @@ tar -x -z -f ${src} -C ${wrk} # strip files echo strip for i in ${stripdirs}; do - find ${wrk} -name ${i} -type d | xargs rm -r + find ${wrk} -name ${i} -type d -print | xargs rm -r done for i in ${stripfiles}; do find ${wrk} -name ${i} -type f -delete @@ -58,22 +59,22 @@ done # copy files echo copying full dirs for i in ${fulldirs}; do - find ${wrk} -name ${i} -type d | xargs -J % mv % ${dst} + find ${wrk} -name ${i} -type d -print | xargs -J % mv % ${dst} done echo copying remaining files -find ${wrk} -type f | xargs -J % mv % ${dst} +find ${wrk} -type f -print | xargs -J % mv % ${dst} # canonify include paths for H in ${src_headers}; do - find ${dst} -name "*.[chy]" -type f | \ + find ${dst} -name "*.[chy]" -type f -print | \ xargs sed -i "" -e "s|[\"<]$H[\">]|\<contrib/dev/acpica/include/$H\>|g" done for H in ${comp_headers}; do - find ${dst}/compiler -name "*.[chly]" -type f | \ + find ${dst}/common ${dst}/compiler -name "*.[chly]" -type f | \ xargs sed -i "" -e "s|[\"<]$H[\">]|\<contrib/dev/acpica/compiler/$H\>|g" done for H in ${platform_headers}; do - find ${dst}/include/platform -name "*.h" -type f | \ + find ${dst}/include/platform -name "*.h" -type f -print | \ xargs sed -i "" -e "s|[\"<]$H[\">]|\<contrib/dev/acpica/include/platform/$H\>|g" done Modified: projects/ppc64/sys/contrib/dev/acpica/changes.txt ============================================================================== --- projects/ppc64/sys/contrib/dev/acpica/changes.txt Fri Jul 9 14:04:16 2010 (r209853) +++ projects/ppc64/sys/contrib/dev/acpica/changes.txt Fri Jul 9 14:12:18 2010 (r209854) @@ -1,4 +1,167 @@ ---------------------------------------- +02 July 2010. Summary of changes for version 20100702: + +This release is available at www.acpica.org/downloads + +1) ACPI CA Core Subsystem: + +Implemented several updates to the recently added GPE reference count +support. The model for "wake" GPEs is changing to give the host OS complete +control of these GPEs. Eventually, the ACPICA core will not execute any _PRW +methods, since the host already must execute them. Also, additional changes +were made to help ensure that the reference counts are kept in proper +synchronization with reality. Rafael J. Wysocki. + +1) Ensure that GPEs are not enabled twice during initialization. +2) Ensure that GPE enable masks stay in sync with the reference count. +3) Do not inadvertently enable GPEs when writing GPE registers. +4) Remove the internal wake reference counter and add new AcpiGpeWakeup +interface. This interface will set or clear individual GPEs for wakeup. +5) Remove GpeType argument from AcpiEnable and AcpiDisable. These interfaces +are now used for "runtime" GPEs only. + +Changed the behavior of the GPE install/remove handler interfaces. The GPE is +no longer disabled during this process, as it was found to cause problems on +some machines. Rafael J. Wysocki. + +Reverted a change introduced in version 20100528 to enable Embedded +Controller multi-byte transfers. This change was found to cause problems with +Index Fields and possibly Bank Fields. It will be reintroduced when these *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201007091412.o69ECI7V056856>
