From owner-svn-src-projects@freebsd.org Wed Jan 13 20:16:59 2016 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D822BA81581 for ; Wed, 13 Jan 2016 20:16:59 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 912A6125C; Wed, 13 Jan 2016 20:16:59 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u0DKGwXS091473; Wed, 13 Jan 2016 20:16:58 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u0DKGrFk091425; Wed, 13 Jan 2016 20:16:53 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201601132016.u0DKGrFk091425@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Wed, 13 Jan 2016 20:16:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r293850 - in projects/clang380-import: . etc etc/mtree lib/csu/aarch64 lib/libc/rpc lib/libc/sys libexec/rtld-elf/aarch64 release release/amd64 share/examples/ypldap share/man/man4 sys/... X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Jan 2016 20:17:00 -0000 Author: dim Date: Wed Jan 13 20:16:53 2016 New Revision: 293850 URL: https://svnweb.freebsd.org/changeset/base/293850 Log: Merge ^/head r293686 through r293849. Added: projects/clang380-import/share/examples/ypldap/ - copied from r293849, head/share/examples/ypldap/ projects/clang380-import/sys/dev/sfxge/common/ef10_impl.h - copied unchanged from r293849, head/sys/dev/sfxge/common/ef10_impl.h projects/clang380-import/sys/dev/sfxge/common/medford_impl.h - copied unchanged from r293849, head/sys/dev/sfxge/common/medford_impl.h projects/clang380-import/sys/dev/sfxge/common/medford_nic.c - copied unchanged from r293849, head/sys/dev/sfxge/common/medford_nic.c projects/clang380-import/sys/dev/uart/uart_ppstypes.h - copied unchanged from r293849, head/sys/dev/uart/uart_ppstypes.h projects/clang380-import/tests/sys/geom/ - copied from r293849, head/tests/sys/geom/ projects/clang380-import/usr.sbin/bhyvectl/bhyvectl.8 - copied unchanged from r293849, head/usr.sbin/bhyvectl/bhyvectl.8 Deleted: projects/clang380-import/tools/regression/geom_concat/ projects/clang380-import/tools/regression/geom_eli/ projects/clang380-import/tools/regression/geom_gate/ projects/clang380-import/tools/regression/geom_mirror/ projects/clang380-import/tools/regression/geom_nop/ projects/clang380-import/tools/regression/geom_raid3/ projects/clang380-import/tools/regression/geom_shsec/ projects/clang380-import/tools/regression/geom_stripe/ projects/clang380-import/tools/regression/geom_subr.sh projects/clang380-import/tools/regression/geom_uzip/ Modified: projects/clang380-import/Makefile.inc1 projects/clang380-import/UPDATING projects/clang380-import/etc/master.passwd projects/clang380-import/etc/mtree/BSD.tests.dist projects/clang380-import/lib/csu/aarch64/crt1.c projects/clang380-import/lib/libc/rpc/rpc_soc.c projects/clang380-import/lib/libc/rpc/rpcb_clnt.c projects/clang380-import/lib/libc/rpc/rpcb_prot.c projects/clang380-import/lib/libc/sys/futimens.c projects/clang380-import/lib/libc/sys/utimensat.2 projects/clang380-import/lib/libc/sys/utimensat.c projects/clang380-import/libexec/rtld-elf/aarch64/rtld_start.S projects/clang380-import/release/Makefile.ec2 projects/clang380-import/release/amd64/mkisoimages.sh projects/clang380-import/share/man/man4/uart.4 projects/clang380-import/sys/amd64/amd64/pmap.c projects/clang380-import/sys/arm/arm/fusu.S projects/clang380-import/sys/arm/arm/pmap-v6-new.c projects/clang380-import/sys/boot/arm64/libarm64/cache.c projects/clang380-import/sys/boot/common/bootstrap.h projects/clang380-import/sys/boot/common/interp_forth.c projects/clang380-import/sys/boot/common/load_elf.c projects/clang380-import/sys/boot/common/load_elf_obj.c projects/clang380-import/sys/boot/common/misc.c projects/clang380-import/sys/boot/common/module.c projects/clang380-import/sys/boot/common/part.c projects/clang380-import/sys/boot/common/self_reloc.c projects/clang380-import/sys/boot/common/ufsread.c projects/clang380-import/sys/boot/efi/boot1/Makefile projects/clang380-import/sys/boot/efi/boot1/boot1.c projects/clang380-import/sys/boot/efi/fdt/Makefile projects/clang380-import/sys/boot/efi/fdt/efi_fdt.c projects/clang380-import/sys/boot/efi/include/arm64/efibind.h projects/clang380-import/sys/boot/efi/include/efi_nii.h projects/clang380-import/sys/boot/efi/include/efiapi.h projects/clang380-import/sys/boot/efi/include/eficon.h projects/clang380-import/sys/boot/efi/include/eficonsctl.h projects/clang380-import/sys/boot/efi/include/efidevp.h projects/clang380-import/sys/boot/efi/include/efierr.h projects/clang380-import/sys/boot/efi/include/efifpswa.h projects/clang380-import/sys/boot/efi/include/efigop.h projects/clang380-import/sys/boot/efi/include/efilib.h projects/clang380-import/sys/boot/efi/include/efinet.h projects/clang380-import/sys/boot/efi/include/efipciio.h projects/clang380-import/sys/boot/efi/include/efiprot.h projects/clang380-import/sys/boot/efi/include/efipxebc.h projects/clang380-import/sys/boot/efi/include/efiser.h projects/clang380-import/sys/boot/efi/include/efiuga.h projects/clang380-import/sys/boot/efi/libefi/Makefile projects/clang380-import/sys/boot/efi/libefi/efi_console.c projects/clang380-import/sys/boot/efi/libefi/efipart.c projects/clang380-import/sys/boot/efi/libefi/libefi.c projects/clang380-import/sys/boot/efi/loader/Makefile projects/clang380-import/sys/boot/efi/loader/arch/amd64/elf64_freebsd.c projects/clang380-import/sys/boot/efi/loader/arch/amd64/framebuffer.c projects/clang380-import/sys/boot/efi/loader/arch/arm/exec.c projects/clang380-import/sys/boot/efi/loader/arch/arm64/exec.c projects/clang380-import/sys/boot/efi/loader/autoload.c projects/clang380-import/sys/boot/efi/loader/bootinfo.c projects/clang380-import/sys/boot/efi/loader/copy.c projects/clang380-import/sys/boot/efi/loader/devicename.c projects/clang380-import/sys/boot/efi/loader/loader_efi.h projects/clang380-import/sys/boot/efi/loader/main.c projects/clang380-import/sys/boot/i386/libi386/smbios.c projects/clang380-import/sys/boot/uboot/lib/copy.c projects/clang380-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c projects/clang380-import/sys/conf/NOTES projects/clang380-import/sys/dev/drm2/i915/i915_gem.c projects/clang380-import/sys/dev/drm2/i915/i915_gem_execbuffer.c projects/clang380-import/sys/dev/drm2/i915/i915_gem_gtt.c projects/clang380-import/sys/dev/drm2/i915/i915_gem_tiling.c projects/clang380-import/sys/dev/drm2/i915/i915_irq.c projects/clang380-import/sys/dev/drm2/i915/intel_crt.c projects/clang380-import/sys/dev/drm2/i915/intel_display.c projects/clang380-import/sys/dev/drm2/i915/intel_overlay.c projects/clang380-import/sys/dev/hyperv/netvsc/hv_net_vsc.c projects/clang380-import/sys/dev/hyperv/netvsc/hv_net_vsc.h projects/clang380-import/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c projects/clang380-import/sys/dev/hyperv/netvsc/hv_rndis.h projects/clang380-import/sys/dev/hyperv/netvsc/hv_rndis_filter.c projects/clang380-import/sys/dev/hyperv/netvsc/hv_rndis_filter.h projects/clang380-import/sys/dev/iwn/if_iwn.c projects/clang380-import/sys/dev/pty/pty.c projects/clang380-import/sys/dev/rtwn/if_rtwn.c projects/clang380-import/sys/dev/sfxge/common/ef10_tlv_layout.h projects/clang380-import/sys/dev/sfxge/common/efsys.h projects/clang380-import/sys/dev/sfxge/common/efx.h projects/clang380-import/sys/dev/sfxge/common/efx_bootcfg.c projects/clang380-import/sys/dev/sfxge/common/efx_check.h projects/clang380-import/sys/dev/sfxge/common/efx_crc32.c projects/clang380-import/sys/dev/sfxge/common/efx_ev.c projects/clang380-import/sys/dev/sfxge/common/efx_filter.c projects/clang380-import/sys/dev/sfxge/common/efx_hash.c projects/clang380-import/sys/dev/sfxge/common/efx_impl.h projects/clang380-import/sys/dev/sfxge/common/efx_intr.c projects/clang380-import/sys/dev/sfxge/common/efx_mac.c projects/clang380-import/sys/dev/sfxge/common/efx_mcdi.c projects/clang380-import/sys/dev/sfxge/common/efx_mcdi.h projects/clang380-import/sys/dev/sfxge/common/efx_mon.c projects/clang380-import/sys/dev/sfxge/common/efx_nic.c projects/clang380-import/sys/dev/sfxge/common/efx_nvram.c projects/clang380-import/sys/dev/sfxge/common/efx_phy.c projects/clang380-import/sys/dev/sfxge/common/efx_port.c projects/clang380-import/sys/dev/sfxge/common/efx_regs_ef10.h projects/clang380-import/sys/dev/sfxge/common/efx_regs_mcdi.h projects/clang380-import/sys/dev/sfxge/common/efx_rx.c projects/clang380-import/sys/dev/sfxge/common/efx_sram.c projects/clang380-import/sys/dev/sfxge/common/efx_tx.c projects/clang380-import/sys/dev/sfxge/common/efx_types.h projects/clang380-import/sys/dev/sfxge/common/efx_vpd.c projects/clang380-import/sys/dev/sfxge/common/efx_wol.c projects/clang380-import/sys/dev/sfxge/common/hunt_ev.c projects/clang380-import/sys/dev/sfxge/common/hunt_filter.c projects/clang380-import/sys/dev/sfxge/common/hunt_impl.h projects/clang380-import/sys/dev/sfxge/common/hunt_intr.c projects/clang380-import/sys/dev/sfxge/common/hunt_mac.c projects/clang380-import/sys/dev/sfxge/common/hunt_mcdi.c projects/clang380-import/sys/dev/sfxge/common/hunt_nic.c projects/clang380-import/sys/dev/sfxge/common/hunt_nvram.c projects/clang380-import/sys/dev/sfxge/common/hunt_phy.c projects/clang380-import/sys/dev/sfxge/common/hunt_rx.c projects/clang380-import/sys/dev/sfxge/common/hunt_sram.c projects/clang380-import/sys/dev/sfxge/common/hunt_tx.c projects/clang380-import/sys/dev/sfxge/common/hunt_vpd.c projects/clang380-import/sys/dev/sfxge/common/mcdi_mon.c projects/clang380-import/sys/dev/sfxge/common/siena_flash.h projects/clang380-import/sys/dev/sfxge/common/siena_impl.h projects/clang380-import/sys/dev/sfxge/common/siena_mac.c projects/clang380-import/sys/dev/sfxge/common/siena_mcdi.c projects/clang380-import/sys/dev/sfxge/common/siena_nic.c projects/clang380-import/sys/dev/sfxge/common/siena_nvram.c projects/clang380-import/sys/dev/sfxge/common/siena_phy.c projects/clang380-import/sys/dev/sfxge/common/siena_sram.c projects/clang380-import/sys/dev/sfxge/common/siena_vpd.c projects/clang380-import/sys/dev/uart/uart_bus.h projects/clang380-import/sys/dev/uart/uart_core.c projects/clang380-import/sys/dev/uart/uart_dev_ns8250.c projects/clang380-import/sys/dev/wpi/if_wpi.c projects/clang380-import/sys/dev/xen/blkfront/blkfront.c projects/clang380-import/sys/fs/devfs/devfs_vnops.c projects/clang380-import/sys/kern/subr_bus_dma.c projects/clang380-import/sys/modules/sfxge/Makefile projects/clang380-import/sys/net/route.c projects/clang380-import/sys/net/route.h projects/clang380-import/sys/netinet/sctputil.c projects/clang380-import/sys/security/audit/audit_pipe.c projects/clang380-import/sys/sys/conf.h projects/clang380-import/tests/sys/Makefile projects/clang380-import/usr.sbin/bhyvectl/Makefile projects/clang380-import/usr.sbin/pkg/config.c projects/clang380-import/usr.sbin/rpcbind/check_bound.c projects/clang380-import/usr.sbin/rpcbind/tests/addrmerge_test.c projects/clang380-import/usr.sbin/ypldap/yp.c projects/clang380-import/usr.sbin/ypldap/ypldap.conf.5 Directory Properties: projects/clang380-import/ (props changed) projects/clang380-import/lib/libc/ (props changed) projects/clang380-import/share/ (props changed) projects/clang380-import/share/man/man4/ (props changed) projects/clang380-import/sys/ (props changed) projects/clang380-import/sys/boot/ (props changed) projects/clang380-import/sys/cddl/contrib/opensolaris/ (props changed) projects/clang380-import/sys/conf/ (props changed) projects/clang380-import/sys/dev/hyperv/ (props changed) projects/clang380-import/usr.sbin/bhyvectl/ (props changed) Modified: projects/clang380-import/Makefile.inc1 ============================================================================== --- projects/clang380-import/Makefile.inc1 Wed Jan 13 20:07:28 2016 (r293849) +++ projects/clang380-import/Makefile.inc1 Wed Jan 13 20:16:53 2016 (r293850) @@ -569,7 +569,7 @@ _worldtmp: .PHONY .endif .else rm -rf ${WORLDTMP}/legacy/usr/include -# XXX - These three can depend on any header file. +# XXX - These can depend on any header file. rm -f ${OBJTREE}${.CURDIR}/lib/libsysdecode/ioctl.c rm -f ${OBJTREE}${.CURDIR}/usr.bin/kdump/kdump_subr.c .endif Modified: projects/clang380-import/UPDATING ============================================================================== --- projects/clang380-import/UPDATING Wed Jan 13 20:07:28 2016 (r293849) +++ projects/clang380-import/UPDATING Wed Jan 13 20:16:53 2016 (r293850) @@ -31,6 +31,11 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 11 disable the most expensive debugging functionality run "ln -s 'abort:false,junk:false' /etc/malloc.conf".) +20160113: + With the addition of ypldap(8), a new _ypldap user is now required + during installworld. "mergemaster -p" can be used to add the user + prior to installworld, as documented in the handbook. + 20151216: The tftp loader (pxeboot) now uses the option root-path directive. As a consequence it no longer looks for a pxeboot.4th file on the tftp Modified: projects/clang380-import/etc/master.passwd ============================================================================== --- projects/clang380-import/etc/master.passwd Wed Jan 13 20:07:28 2016 (r293849) +++ projects/clang380-import/etc/master.passwd Wed Jan 13 20:16:53 2016 (r293850) @@ -22,5 +22,6 @@ uucp:*:66:66::0:0:UUCP pseudo-user:/var/ pop:*:68:6::0:0:Post Office Owner:/nonexistent:/usr/sbin/nologin auditdistd:*:78:77::0:0:Auditdistd unprivileged user:/var/empty:/usr/sbin/nologin www:*:80:80::0:0:World Wide Web Owner:/nonexistent:/usr/sbin/nologin +_ypldap:*:93:93::0:0:YP Ldap unprivileged user:/var/empty:/usr/sbin/nologin hast:*:845:845::0:0:HAST unprivileged user:/var/empty:/usr/sbin/nologin nobody:*:65534:65534::0:0:Unprivileged user:/nonexistent:/usr/sbin/nologin Modified: projects/clang380-import/etc/mtree/BSD.tests.dist ============================================================================== --- projects/clang380-import/etc/mtree/BSD.tests.dist Wed Jan 13 20:07:28 2016 (r293849) +++ projects/clang380-import/etc/mtree/BSD.tests.dist Wed Jan 13 20:16:53 2016 (r293850) @@ -376,6 +376,32 @@ .. file .. + geom + class + concat + .. + eli + .. + gate + .. + gpt + .. + mirror + .. + nop + .. + raid3 + .. + shsec + .. + stripe + .. + uzip + etalon + .. + .. + .. + .. kern acct .. Modified: projects/clang380-import/lib/csu/aarch64/crt1.c ============================================================================== --- projects/clang380-import/lib/csu/aarch64/crt1.c Wed Jan 13 20:07:28 2016 (r293849) +++ projects/clang380-import/lib/csu/aarch64/crt1.c Wed Jan 13 20:16:53 2016 (r293850) @@ -54,11 +54,7 @@ __asm(" .text \n" " .align 0 \n" " .globl _start \n" " _start: \n" -/* TODO: Remove this when the kernel correctly aligns the stack */ -" cbnz x0, 1f \n" /* Are we using a new kernel? */ -" mov x0, sp \n" /* No, load the args from sp */ -" and sp, x0, #~0xf \n" /* And align the stack */ -"1: mov x3, x2 \n" /* cleanup */ +" mov x3, x2 \n" /* cleanup */ " add x1, x0, #8 \n" /* load argv */ " ldr x0, [x0] \n" /* load argc */ " add x2, x1, x0, lsl #3 \n" /* env is after argv */ Modified: projects/clang380-import/lib/libc/rpc/rpc_soc.c ============================================================================== --- projects/clang380-import/lib/libc/rpc/rpc_soc.c Wed Jan 13 20:07:28 2016 (r293849) +++ projects/clang380-import/lib/libc/rpc/rpc_soc.c Wed Jan 13 20:16:53 2016 (r293850) @@ -483,7 +483,7 @@ svcunix_create(int sock, u_int sendsize, break; } if (nconf == NULL) - return(xprt); + goto done; if ((sock = __rpc_nconf2fd(nconf)) < 0) goto done; Modified: projects/clang380-import/lib/libc/rpc/rpcb_clnt.c ============================================================================== --- projects/clang380-import/lib/libc/rpc/rpcb_clnt.c Wed Jan 13 20:07:28 2016 (r293849) +++ projects/clang380-import/lib/libc/rpc/rpcb_clnt.c Wed Jan 13 20:16:53 2016 (r293850) @@ -661,11 +661,11 @@ __rpcbind_is_up(void) strcmp(nconf->nc_protofmly, NC_LOOPBACK) == 0) break; } + endnetconfig(localhandle); + if (nconf == NULL) return (FALSE); - endnetconfig(localhandle); - memset(&sun, 0, sizeof sun); sock = _socket(AF_LOCAL, SOCK_STREAM, 0); if (sock < 0) Modified: projects/clang380-import/lib/libc/rpc/rpcb_prot.c ============================================================================== --- projects/clang380-import/lib/libc/rpc/rpcb_prot.c Wed Jan 13 20:07:28 2016 (r293849) +++ projects/clang380-import/lib/libc/rpc/rpcb_prot.c Wed Jan 13 20:16:53 2016 (r293850) @@ -207,14 +207,14 @@ xdr_rpcb_entry_list_ptr(XDR *xdrs, rpcb_ * the case of freeing we must remember the next object * before we free the current object ... */ - if (freeing) + if (freeing && *rp) next = (*rp)->rpcb_entry_next; if (! xdr_reference(xdrs, (caddr_t *)rp, (u_int)sizeof (rpcb_entry_list), (xdrproc_t)xdr_rpcb_entry)) { return (FALSE); } - if (freeing && *rp) { + if (freeing) { next_copy = next; rp = &next_copy; /* Modified: projects/clang380-import/lib/libc/sys/futimens.c ============================================================================== --- projects/clang380-import/lib/libc/sys/futimens.c Wed Jan 13 20:07:28 2016 (r293849) +++ projects/clang380-import/lib/libc/sys/futimens.c Wed Jan 13 20:16:53 2016 (r293850) @@ -42,8 +42,11 @@ futimens(int fd, const struct timespec t { struct timeval now, tv[2], *tvp; struct stat sb; + int osreldate; - if (__getosreldate() >= 1100056) + osreldate = __getosreldate(); + if (osreldate >= 1100056 || + (osreldate >= 1002506 && osreldate < 1100000)) return (__sys_futimens(fd, times)); if (times == NULL || (times[0].tv_nsec == UTIME_NOW && Modified: projects/clang380-import/lib/libc/sys/utimensat.2 ============================================================================== --- projects/clang380-import/lib/libc/sys/utimensat.2 Wed Jan 13 20:07:28 2016 (r293849) +++ projects/clang380-import/lib/libc/sys/utimensat.2 Wed Jan 13 20:16:53 2016 (r293850) @@ -31,7 +31,7 @@ .\" @(#)utimes.2 8.1 (Berkeley) 6/4/93 .\" $FreeBSD$ .\" -.Dd January 23, 2015 +.Dd January 12, 2016 .Dt UTIMENSAT 2 .Os .Sh NAME @@ -289,4 +289,4 @@ The and .Fn utimensat system calls appeared in -.Fx 11.0 . +.Fx 10.3 . Modified: projects/clang380-import/lib/libc/sys/utimensat.c ============================================================================== --- projects/clang380-import/lib/libc/sys/utimensat.c Wed Jan 13 20:07:28 2016 (r293849) +++ projects/clang380-import/lib/libc/sys/utimensat.c Wed Jan 13 20:16:53 2016 (r293850) @@ -42,8 +42,11 @@ utimensat(int fd, const char *path, cons { struct timeval now, tv[2], *tvp; struct stat sb; + int osreldate; - if (__getosreldate() >= 1100056) + osreldate = __getosreldate(); + if (osreldate >= 1100056 || + (osreldate >= 1002506 && osreldate < 1100000)) return (__sys_utimensat(fd, path, times, flag)); if ((flag & ~AT_SYMLINK_NOFOLLOW) != 0) { Modified: projects/clang380-import/libexec/rtld-elf/aarch64/rtld_start.S ============================================================================== --- projects/clang380-import/libexec/rtld-elf/aarch64/rtld_start.S Wed Jan 13 20:07:28 2016 (r293849) +++ projects/clang380-import/libexec/rtld-elf/aarch64/rtld_start.S Wed Jan 13 20:16:53 2016 (r293850) @@ -34,13 +34,7 @@ ENTRY(.rtld_start) mov x19, x0 /* Put ps_strings in a callee-saved register */ mov x20, sp /* And the stack pointer */ - /* Handle the old style stack */ - /* TODO: Remove this when the kernel correctly aligns the stack */ - cbnz x0, 1f - mov x0, sp /* sp points to the args */ - and sp, x0, #~0xf /* Align the stack as needed */ - -1: sub sp, sp, #16 /* Make room for obj_main & exit proc */ + sub sp, sp, #16 /* Make room for obj_main & exit proc */ mov x1, sp /* exit_proc */ add x2, x1, #8 /* obj_main */ Modified: projects/clang380-import/release/Makefile.ec2 ============================================================================== --- projects/clang380-import/release/Makefile.ec2 Wed Jan 13 20:07:28 2016 (r293849) +++ projects/clang380-import/release/Makefile.ec2 Wed Jan 13 20:16:53 2016 (r293850) @@ -51,7 +51,7 @@ ec2ami: cw-ec2 ${CW_EC2_PORTINSTALL} @echo "--------------------------------------------------------------" @false .endif - /usr/local/bin/bsdec2-image-upload ${PUBLISH} \ + /usr/local/bin/bsdec2-image-upload ${PUBLISH} --sriov \ ${.OBJDIR}/ec2.raw \ "${TYPE} ${REVISION}-${BRANCH}-${TARGET}${AMINAMESUFFIX}" \ "${TYPE} ${REVISION}-${BRANCH}-${TARGET}" \ Modified: projects/clang380-import/release/amd64/mkisoimages.sh ============================================================================== --- projects/clang380-import/release/amd64/mkisoimages.sh Wed Jan 13 20:07:28 2016 (r293849) +++ projects/clang380-import/release/amd64/mkisoimages.sh Wed Jan 13 20:16:53 2016 (r293850) @@ -28,7 +28,7 @@ if [ "x$1" = "x-b" ]; then bootable="-o bootimage=i386;$4/boot/cdboot -o no-emul-boot" # Make EFI system partition (should be done with makefs in the future) - dd if=/dev/zero of=efiboot.img bs=4k count=100 + dd if=/dev/zero of=efiboot.img bs=4k count=200 device=`mdconfig -a -t vnode -f efiboot.img` newfs_msdos -F 12 -m 0xf8 /dev/$device mkdir efi Modified: projects/clang380-import/share/man/man4/uart.4 ============================================================================== --- projects/clang380-import/share/man/man4/uart.4 Wed Jan 13 20:07:28 2016 (r293849) +++ projects/clang380-import/share/man/man4/uart.4 Wed Jan 13 20:16:53 2016 (r293850) @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd August 10, 2015 +.Dd December 9, 2015 .Dt UART 4 .Os .Sh NAME @@ -160,7 +160,9 @@ The API, accessed via is available on the tty device. To use the PPS capture feature with .Xr ntpd 8 , -symlink the tty device to +symlink the tty callout device +.Va /dev/cuau? +to .Va /dev/pps0. .Pp The @@ -175,15 +177,54 @@ it can be set in .Xr loader.conf 5 or .Xr sysctl.conf 5 . +.Pp The following capture modes are available: .Bl -tag -compact -offset "mmmm" -width "mmmm" -.It 0 +.It 0x00 Capture disabled. -.It 1 +.It 0x01 Capture pulses on the CTS line. -.It 2 -Capture pulses on the DCD line (default). +.It 0x02 +Capture pulses on the DCD line. .El +.Pp +The following values may be ORed with the capture mode to configure +capture processing options: +.Bl -tag -compact -offset "mmmm" -width "mmmm" +.It 0x10 +Invert the pulse (RS-232 logic low = ASSERT, high = CLEAR). +.It 0x20 +Attempt to capture narrow pulses. +.El +.Pp +Add the narrow pulse option when the incoming PPS pulse width is small +enough to prevent reliable capture in normal mode. +In narrow mode the driver uses the hardware's ability to latch a line +state change; not all hardware has this capability. +The hardware latch provides a reliable indication that a pulse occurred, +but prevents distinguishing between the CLEAR and ASSERT edges of the pulse. +For each detected pulse, the driver synthesizes both an ASSERT and a CLEAR +event, using the same timestamp for each. +To prevent spurious events when the hardware is intermittently able to +see both edges of a pulse, the driver will not generate a new pair of +events within a half second of the prior pair. +Both normal and narrow pulse modes work with +.Xr ntpd 8 . +.Pp +Add the invert option when the connection to the uart device uses TTL +level signals, or when the PPS source emits inverted pulses. +RFC 2783 defines an ASSERT event as a higher-voltage line level, and a CLEAR +event as a lower-voltage line level, in the context of the RS-232 protocol. +The modem control signals on a TTL-level connection are typically +inverted from the RS-232 levels. +For example, carrier presence is indicated by a high signal on an RS-232 +DCD line, and by a low signal on a TTL DCD line. +This is due to the use of inverting line driver buffers to convert between +TTL and RS-232 line levels in most hardware designs. +Generally speaking, a connection to a DB-9 style connector is an RS-232 +level signal at up to 12 volts. +A connection to header pins or an edge-connector on an embedded board +is typically a TTL signal at 3.3 or 5 volts. .Sh FILES .Bl -tag -width ".Pa /dev/ttyu?.init" -compact .It Pa /dev/ttyu? Modified: projects/clang380-import/sys/amd64/amd64/pmap.c ============================================================================== --- projects/clang380-import/sys/amd64/amd64/pmap.c Wed Jan 13 20:07:28 2016 (r293849) +++ projects/clang380-import/sys/amd64/amd64/pmap.c Wed Jan 13 20:16:53 2016 (r293850) @@ -3018,11 +3018,14 @@ reserve_pv_entries(pmap_t pmap, int need retry: avail = 0; TAILQ_FOREACH(pc, &pmap->pm_pvchunk, pc_list) { +#ifndef __POPCNT__ if ((cpu_feature2 & CPUID2_POPCNT) == 0) { free = bitcount64(pc->pc_map[0]); free += bitcount64(pc->pc_map[1]); free += bitcount64(pc->pc_map[2]); - } else { + } else +#endif + { free = popcnt_pc_map_elem_pq(pc->pc_map[0]); free += popcnt_pc_map_elem_pq(pc->pc_map[1]); free += popcnt_pc_map_elem_pq(pc->pc_map[2]); Modified: projects/clang380-import/sys/arm/arm/fusu.S ============================================================================== --- projects/clang380-import/sys/arm/arm/fusu.S Wed Jan 13 20:07:28 2016 (r293849) +++ projects/clang380-import/sys/arm/arm/fusu.S Wed Jan 13 20:16:53 2016 (r293850) @@ -139,8 +139,8 @@ EENTRY_NP(fueword32) mov r0, #0x00000000 str r0, [r2, #PCB_ONFAULT] RET -EEND(fuword32) -END(fuword) +EEND(fueword32) +END(fueword) /* * fusword(caddr_t uaddr); Modified: projects/clang380-import/sys/arm/arm/pmap-v6-new.c ============================================================================== --- projects/clang380-import/sys/arm/arm/pmap-v6-new.c Wed Jan 13 20:07:28 2016 (r293849) +++ projects/clang380-import/sys/arm/arm/pmap-v6-new.c Wed Jan 13 20:16:53 2016 (r293850) @@ -1109,7 +1109,7 @@ pmap_bootstrap(vm_offset_t firstaddr) * mapping of pages. */ #define SYSMAP(c, p, v, n) do { \ - v = (c)pmap_preboot_reserve_pages(1); \ + v = (c)pmap_preboot_reserve_pages(n); \ p = pt2map_entry((vm_offset_t)v); \ } while (0) Modified: projects/clang380-import/sys/boot/arm64/libarm64/cache.c ============================================================================== --- projects/clang380-import/sys/boot/arm64/libarm64/cache.c Wed Jan 13 20:07:28 2016 (r293849) +++ projects/clang380-import/sys/boot/arm64/libarm64/cache.c Wed Jan 13 20:16:53 2016 (r293850) @@ -67,7 +67,7 @@ cpu_flush_dcache(const void *ptr, size_t cl_size = get_dcache_line_size(); /* Calculate end address to clean */ - end = (vm_offset_t)(ptr + len); + end = (vm_offset_t)ptr + (vm_offset_t)len; /* Align start address to cache line */ addr = (vm_offset_t)ptr; addr = rounddown2(addr, cl_size); Modified: projects/clang380-import/sys/boot/common/bootstrap.h ============================================================================== --- projects/clang380-import/sys/boot/common/bootstrap.h Wed Jan 13 20:07:28 2016 (r293849) +++ projects/clang380-import/sys/boot/common/bootstrap.h Wed Jan 13 20:16:53 2016 (r293850) @@ -56,7 +56,10 @@ typedef int (bootblk_cmd_t)(int argc, ch extern char *command_errmsg; extern char command_errbuf[]; /* XXX blah, length */ #define CMD_OK 0 -#define CMD_ERROR 1 +#define CMD_WARN 1 +#define CMD_ERROR 2 +#define CMD_CRIT 3 +#define CMD_FATAL 4 /* interp.c */ void interact(const char *rc); Modified: projects/clang380-import/sys/boot/common/interp_forth.c ============================================================================== --- projects/clang380-import/sys/boot/common/interp_forth.c Wed Jan 13 20:07:28 2016 (r293849) +++ projects/clang380-import/sys/boot/common/interp_forth.c Wed Jan 13 20:16:53 2016 (r293850) @@ -138,13 +138,23 @@ bf_command(FICL_VM *vm) } else { result=BF_PARSE; } + + switch (result) { + case CMD_CRIT: + printf("%s\n", command_errmsg); + break; + case CMD_FATAL: + panic("%s\n", command_errmsg); + } + free(line); /* * If there was error during nested ficlExec(), we may no longer have * valid environment to return. Throw all exceptions from here. */ - if (result != 0) + if (result != CMD_OK) vmThrow(vm, result); + /* This is going to be thrown!!! */ stackPushINT(vm->pStack,result); } Modified: projects/clang380-import/sys/boot/common/load_elf.c ============================================================================== --- projects/clang380-import/sys/boot/common/load_elf.c Wed Jan 13 20:07:28 2016 (r293849) +++ projects/clang380-import/sys/boot/common/load_elf.c Wed Jan 13 20:16:53 2016 (r293850) @@ -886,7 +886,7 @@ __elfN(parse_modmetadata)(struct preload error = __elfN(reloc_ptr)(fp, ef, v, &md, sizeof(md)); if (error == EOPNOTSUPP) { md.md_cval += ef->off; - md.md_data += ef->off; + md.md_data = (void *)((uintptr_t)md.md_data + ef->off); } else if (error != 0) return (error); #endif Modified: projects/clang380-import/sys/boot/common/load_elf_obj.c ============================================================================== --- projects/clang380-import/sys/boot/common/load_elf_obj.c Wed Jan 13 20:07:28 2016 (r293849) +++ projects/clang380-import/sys/boot/common/load_elf_obj.c Wed Jan 13 20:16:53 2016 (r293850) @@ -520,10 +520,8 @@ __elfN(obj_symaddr)(struct elf_file *ef, { Elf_Sym sym; Elf_Addr base; - int symcnt; - symcnt = ef->e_shdr[ef->symtabindex].sh_size / sizeof(Elf_Sym); - if (symidx >= symcnt) + if (symidx >= ef->e_shdr[ef->symtabindex].sh_size / sizeof(Elf_Sym)) return (0); COPYOUT(ef->e_shdr[ef->symtabindex].sh_addr + symidx * sizeof(Elf_Sym), &sym, sizeof(sym)); Modified: projects/clang380-import/sys/boot/common/misc.c ============================================================================== --- projects/clang380-import/sys/boot/common/misc.c Wed Jan 13 20:07:28 2016 (r293849) +++ projects/clang380-import/sys/boot/common/misc.c Wed Jan 13 20:16:53 2016 (r293850) @@ -118,7 +118,6 @@ kern_bzero(vm_offset_t dest, size_t len) int kern_pread(int fd, vm_offset_t dest, size_t len, off_t off) { - ssize_t nread; if (lseek(fd, off, SEEK_SET) == -1) { #ifdef DEBUG @@ -126,8 +125,7 @@ kern_pread(int fd, vm_offset_t dest, siz #endif return (-1); } - nread = archsw.arch_readin(fd, dest, len); - if (nread != len) { + if ((size_t)archsw.arch_readin(fd, dest, len) != len) { #ifdef DEBUG printf("\nreadin failed\n"); #endif @@ -144,7 +142,6 @@ void * alloc_pread(int fd, off_t off, size_t len) { void *buf; - ssize_t nread; buf = malloc(len); if (buf == NULL) { @@ -160,8 +157,7 @@ alloc_pread(int fd, off_t off, size_t le free(buf); return (NULL); } - nread = read(fd, buf, len); - if (nread != len) { + if ((size_t)read(fd, buf, len) != len) { #ifdef DEBUG printf("\nread failed\n"); #endif Modified: projects/clang380-import/sys/boot/common/module.c ============================================================================== --- projects/clang380-import/sys/boot/common/module.c Wed Jan 13 20:07:28 2016 (r293849) +++ projects/clang380-import/sys/boot/common/module.c Wed Jan 13 20:16:53 2016 (r293850) @@ -112,7 +112,7 @@ command_load(int argc, char *argv[]) typestr = NULL; if (argc == 1) { command_errmsg = "no filename specified"; - return(CMD_ERROR); + return (CMD_CRIT); } while ((ch = getopt(argc, argv, "kt:")) != -1) { switch(ch) { @@ -126,7 +126,7 @@ command_load(int argc, char *argv[]) case '?': default: /* getopt has already reported an error */ - return(CMD_OK); + return (CMD_OK); } } argv += (optind - 1); @@ -138,33 +138,46 @@ command_load(int argc, char *argv[]) if (dofile) { if ((argc != 2) || (typestr == NULL) || (*typestr == 0)) { command_errmsg = "invalid load type"; - return(CMD_ERROR); + return (CMD_CRIT); } fp = file_findfile(argv[1], typestr); if (fp) { sprintf(command_errbuf, "warning: file '%s' already loaded", argv[1]); - return (CMD_ERROR); + return (CMD_WARN); } - return (file_loadraw(argv[1], typestr, 1) ? CMD_OK : CMD_ERROR); + if (file_loadraw(argv[1], typestr, 1) != NULL) + return (CMD_OK); + + /* Failing to load mfs_root is never going to end well! */ + if (strcmp("mfs_root", typestr) == 0) + return (CMD_FATAL); + + return (CMD_ERROR); } /* * Do we have explicit KLD load ? */ if (dokld || file_havepath(argv[1])) { error = mod_loadkld(argv[1], argc - 2, argv + 2); - if (error == EEXIST) + if (error == EEXIST) { sprintf(command_errbuf, "warning: KLD '%s' already loaded", argv[1]); - return (error == 0 ? CMD_OK : CMD_ERROR); + return (CMD_WARN); + } + + return (error == 0 ? CMD_OK : CMD_CRIT); } /* * Looks like a request for a module. */ error = mod_load(argv[1], NULL, argc - 2, argv + 2); - if (error == EEXIST) + if (error == EEXIST) { sprintf(command_errbuf, "warning: module '%s' already loaded", argv[1]); - return (error == 0 ? CMD_OK : CMD_ERROR); + return (CMD_WARN); + } + + return (error == 0 ? CMD_OK : CMD_CRIT); } COMMAND_SET(load_geli, "load_geli", "load a geli key", command_load_geli); @@ -983,7 +996,7 @@ moduledir_rebuild(void) { struct moduledir *mdp, *mtmp; const char *path, *cp, *ep; - int cplen; + size_t cplen; path = getenv("module_path"); if (path == NULL) Modified: projects/clang380-import/sys/boot/common/part.c ============================================================================== --- projects/clang380-import/sys/boot/common/part.c Wed Jan 13 20:07:28 2016 (r293849) +++ projects/clang380-import/sys/boot/common/part.c Wed Jan 13 20:16:53 2016 (r293850) @@ -102,7 +102,7 @@ static struct parttypes { const char * parttype2str(enum partition_type type) { - int i; + size_t i; for (i = 0; i < sizeof(ptypes) / sizeof(ptypes[0]); i++) if (ptypes[i].type == type) @@ -203,7 +203,7 @@ gpt_checktbl(const struct gpt_hdr *hdr, uint64_t lba_last) { struct gpt_ent *ent; - int i, cnt; + uint32_t i, cnt; cnt = size / hdr->hdr_entsz; if (hdr->hdr_entries <= cnt) { @@ -234,8 +234,8 @@ ptable_gptread(struct ptable *table, voi struct gpt_ent *ent; u_char *buf, *tbl; uint64_t offset; - int pri, sec, i; - size_t size; + int pri, sec; + size_t size, i; buf = malloc(table->sectorsize); if (buf == NULL) @@ -358,7 +358,7 @@ mbr_parttype(uint8_t type) return (PART_UNKNOWN); } -struct ptable* +static struct ptable* ptable_ebrread(struct ptable *table, void *dev, diskread_t dread) { struct dos_partition *dp; @@ -436,7 +436,7 @@ bsd_parttype(uint8_t type) return (PART_UNKNOWN); } -struct ptable* +static struct ptable* ptable_bsdread(struct ptable *table, void *dev, diskread_t dread) { struct disklabel *dl; Modified: projects/clang380-import/sys/boot/common/self_reloc.c ============================================================================== --- projects/clang380-import/sys/boot/common/self_reloc.c Wed Jan 13 20:07:28 2016 (r293849) +++ projects/clang380-import/sys/boot/common/self_reloc.c Wed Jan 13 20:16:53 2016 (r293850) @@ -61,6 +61,8 @@ __FBSDID("$FreeBSD$"); #define RELOC_TYPE_RELATIVE R_386_RELATIVE #endif +void self_reloc(Elf_Addr baseaddr, ElfW_Dyn *dynamic); + /* * A simple elf relocator. */ @@ -118,6 +120,6 @@ self_reloc(Elf_Addr baseaddr, ElfW_Dyn * /* XXX: do we need other relocations ? */ break; } - rel = (ElfW_Rel *) ((caddr_t) rel + relent); + rel = (ElfW_Rel *)(void *)((caddr_t) rel + relent); } } Modified: projects/clang380-import/sys/boot/common/ufsread.c ============================================================================== --- projects/clang380-import/sys/boot/common/ufsread.c Wed Jan 13 20:07:28 2016 (r293849) +++ projects/clang380-import/sys/boot/common/ufsread.c Wed Jan 13 20:16:53 2016 (r293850) @@ -207,7 +207,7 @@ fsread(ufs_ino_t inode, void *buf, size_ #endif ) && fs.fs_bsize <= MAXBSIZE && - fs.fs_bsize >= sizeof(struct fs)) + fs.fs_bsize >= (int32_t)sizeof(struct fs)) break; } if (sblock_try[n] == -1) { @@ -231,10 +231,10 @@ fsread(ufs_ino_t inode, void *buf, size_ sizeof(struct ufs2_dinode)); #else if (fs.fs_magic == FS_UFS1_MAGIC) - memcpy(&dp1, (struct ufs1_dinode *)blkbuf + n, + memcpy(&dp1, (struct ufs1_dinode *)(void *)blkbuf + n, sizeof(struct ufs1_dinode)); else - memcpy(&dp2, (struct ufs2_dinode *)blkbuf + n, + memcpy(&dp2, (struct ufs2_dinode *)(void *)blkbuf + n, sizeof(struct ufs2_dinode)); #endif inomap = inode; @@ -283,7 +283,7 @@ fsread(ufs_ino_t inode, void *buf, size_ return -1; vbaddr = fsbtodb(&fs, addr2) + (off >> VBLKSHIFT) * DBPERVBLK; vboff = off & VBLKMASK; - n = sblksize(&fs, size, lbn) - (off & ~VBLKMASK); + n = sblksize(&fs, (off_t)size, lbn) - (off & ~VBLKMASK); if (n > VBLKSIZE) n = VBLKSIZE; if (blkmap != vbaddr) { Modified: projects/clang380-import/sys/boot/efi/boot1/Makefile ============================================================================== --- projects/clang380-import/sys/boot/efi/boot1/Makefile Wed Jan 13 20:07:28 2016 (r293849) +++ projects/clang380-import/sys/boot/efi/boot1/Makefile Wed Jan 13 20:16:53 2016 (r293850) @@ -11,6 +11,7 @@ MK_SSP= no PROG= boot1.sym INTERNALPROG= +WARNS?= 6 # architecture-specific loader code SRCS= boot1.c self_reloc.c start.S Modified: projects/clang380-import/sys/boot/efi/boot1/boot1.c ============================================================================== --- projects/clang380-import/sys/boot/efi/boot1/boot1.c Wed Jan 13 20:07:28 2016 (r293849) +++ projects/clang380-import/sys/boot/efi/boot1/boot1.c Wed Jan 13 20:16:53 2016 (r293850) @@ -36,6 +36,7 @@ __FBSDID("$FreeBSD$"); void panic(const char *fmt, ...) __dead2; void putchar(int c); +EFI_STATUS efi_main(EFI_HANDLE Ximage, EFI_SYSTEM_TABLE* Xsystab); static int domount(EFI_DEVICE_PATH *device, EFI_BLOCK_IO *blkio, int quiet); static void load(const char *fname); @@ -62,7 +63,7 @@ EFI_STATUS efi_main(EFI_HANDLE Ximage, E EFI_BOOT_SERVICES *BS; EFI_CONSOLE_CONTROL_PROTOCOL *ConsoleControl = NULL; SIMPLE_TEXT_OUTPUT_INTERFACE *conout = NULL; - char *path = _PATH_LOADER; + const char *path = _PATH_LOADER; systab = Xsystab; image = Ximage; @@ -157,7 +158,6 @@ fsstat(ufs_ino_t inode) { #ifndef UFS2_ONLY static struct ufs1_dinode dp1; - ufs1_daddr_t addr1; #endif #ifndef UFS1_ONLY static struct ufs2_dinode dp2; @@ -166,11 +166,8 @@ fsstat(ufs_ino_t inode) static ufs_ino_t inomap; char *blkbuf; void *indbuf; - size_t n, nb, size, off, vboff; - ufs_lbn_t lbn; - ufs2_daddr_t addr2, vbaddr; + size_t n, size; static ufs2_daddr_t blkmap, indmap; - u_int u; blkbuf = dmadat->blkbuf; indbuf = dmadat->indbuf; @@ -194,7 +191,7 @@ fsstat(ufs_ino_t inode) #endif ) && fs.fs_bsize <= MAXBSIZE && - fs.fs_bsize >= sizeof(struct fs)) + fs.fs_bsize >= (int32_t)sizeof(struct fs)) break; } if (sblock_try[n] == -1) { @@ -218,10 +215,10 @@ fsstat(ufs_ino_t inode) sizeof(struct ufs2_dinode)); #else if (fs.fs_magic == FS_UFS1_MAGIC) - memcpy(&dp1, (struct ufs1_dinode *)blkbuf + n, + memcpy(&dp1, (struct ufs1_dinode *)(void *)blkbuf + n, sizeof(struct ufs1_dinode)); else - memcpy(&dp2, (struct ufs2_dinode *)blkbuf + n, + memcpy(&dp2, (struct ufs2_dinode *)(void *)blkbuf + n, sizeof(struct ufs2_dinode)); #endif inomap = inode; Modified: projects/clang380-import/sys/boot/efi/fdt/Makefile ============================================================================== --- projects/clang380-import/sys/boot/efi/fdt/Makefile Wed Jan 13 20:07:28 2016 (r293849) +++ projects/clang380-import/sys/boot/efi/fdt/Makefile Wed Jan 13 20:16:53 2016 (r293850) @@ -6,6 +6,7 @@ LIB= efi_fdt INTERNALLIB= +WARNS?= 6 SRCS= efi_fdt.c Modified: projects/clang380-import/sys/boot/efi/fdt/efi_fdt.c ============================================================================== --- projects/clang380-import/sys/boot/efi/fdt/efi_fdt.c Wed Jan 13 20:07:28 2016 (r293849) +++ projects/clang380-import/sys/boot/efi/fdt/efi_fdt.c Wed Jan 13 20:16:53 2016 (r293850) @@ -44,7 +44,6 @@ int fdt_platform_load_dtb(void) { struct fdt_header *hdr; - int err; hdr = efi_get_table(&fdtdtb); if (hdr != NULL) { @@ -54,7 +53,7 @@ fdt_platform_load_dtb(void) } } - return (err); + return (1); } void Modified: projects/clang380-import/sys/boot/efi/include/arm64/efibind.h ============================================================================== --- projects/clang380-import/sys/boot/efi/include/arm64/efibind.h Wed Jan 13 20:07:28 2016 (r293849) +++ projects/clang380-import/sys/boot/efi/include/arm64/efibind.h Wed Jan 13 20:16:53 2016 (r293850) @@ -127,7 +127,6 @@ typedef uint64_t UINTN; #define BAD_POINTER 0xFBFBFBFBFBFBFBFB #define MAX_ADDRESS 0xFFFFFFFFFFFFFFFF -#pragma intrinsic (__break) #define BREAKPOINT() __break(0) // @@ -180,7 +179,6 @@ typedef uint64_t UINTN; // BugBug: Need to find out if this is portable accross compliers. // void __mfa (void); -#pragma intrinsic (__mfa) #define MEMORY_FENCE() __mfa() #ifdef EFI_NO_INTERFACE_DECL Modified: projects/clang380-import/sys/boot/efi/include/efi_nii.h ============================================================================== --- projects/clang380-import/sys/boot/efi/include/efi_nii.h Wed Jan 13 20:07:28 2016 (r293849) +++ projects/clang380-import/sys/boot/efi/include/efi_nii.h Wed Jan 13 20:16:53 2016 (r293850) @@ -26,9 +26,9 @@ Revision history: --*/ #define EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL \ - { 0xE18541CD, 0xF755, 0x4f73, 0x92, 0x8D, 0x64, 0x3C, 0x8A, 0x79, 0xB2, 0x29 } + { 0xE18541CD, 0xF755, 0x4f73, {0x92, 0x8D, 0x64, 0x3C, 0x8A, 0x79, 0xB2, 0x29} } #define EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL_31 \ - { 0x1ACED566, 0x76ED, 0x4218, 0xBC, 0x81, 0x76, 0x7F, 0x1F, 0x97, 0x7A, 0x89 } + { 0x1ACED566, 0x76ED, 0x4218, {0xBC, 0x81, 0x76, 0x7F, 0x1F, 0x97, 0x7A, 0x89} } #define EFI_NETWORK_INTERFACE_IDENTIFIER_INTERFACE_REVISION 0x00010000 #define EFI_NETWORK_INTERFACE_IDENTIFIER_INTERFACE_REVISION_31 0x00010001 Modified: projects/clang380-import/sys/boot/efi/include/efiapi.h ============================================================================== --- projects/clang380-import/sys/boot/efi/include/efiapi.h Wed Jan 13 20:07:28 2016 (r293849) +++ projects/clang380-import/sys/boot/efi/include/efiapi.h Wed Jan 13 20:16:53 2016 (r293850) @@ -214,8 +214,8 @@ VOID // EFI platform varibles // -#define EFI_GLOBAL_VARIABLE \ - { 0x8BE4DF61, 0x93CA, 0x11d2, 0xAA, 0x0D, 0x00, 0xE0, 0x98, 0x03, 0x2B, 0x8C } +#define EFI_GLOBAL_VARIABLE \ + { 0x8BE4DF61, 0x93CA, 0x11d2, {0xAA, 0x0D, 0x00, 0xE0, 0x98, 0x03, 0x2B, 0x8C} } // Variable attributes #define EFI_VARIABLE_NON_VOLATILE 0x00000001 @@ -363,8 +363,8 @@ EFI_STATUS // Image handle -#define LOADED_IMAGE_PROTOCOL \ - { 0x5B1B31A1, 0x9562, 0x11d2, 0x8E, 0x3F, 0x00, 0xA0, 0xC9, 0x69, 0x72, 0x3B } +#define LOADED_IMAGE_PROTOCOL \ + { 0x5B1B31A1, 0x9562, 0x11d2, {0x8E, 0x3F, 0x00, 0xA0, 0xC9, 0x69, 0x72, 0x3B} } #define EFI_LOADED_IMAGE_INFORMATION_REVISION 0x1000 typedef struct { @@ -827,35 +827,35 @@ typedef struct { // EFI Configuration Table and GUID definitions // -#define MPS_TABLE_GUID \ - { 0xeb9d2d2f, 0x2d88, 0x11d3, 0x9a, 0x16, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d } +#define MPS_TABLE_GUID \ + { 0xeb9d2d2f, 0x2d88, 0x11d3, {0x9a, 0x16, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d} } -#define ACPI_TABLE_GUID \ - { 0xeb9d2d30, 0x2d88, 0x11d3, 0x9a, 0x16, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d } +#define ACPI_TABLE_GUID \ + { 0xeb9d2d30, 0x2d88, 0x11d3, {0x9a, 0x16, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d} } -#define ACPI_20_TABLE_GUID \ - { 0x8868e871, 0xe4f1, 0x11d3, 0xbc, 0x22, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81 } +#define ACPI_20_TABLE_GUID \ + { 0x8868e871, 0xe4f1, 0x11d3, {0xbc, 0x22, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81} } -#define SMBIOS_TABLE_GUID \ - { 0xeb9d2d31, 0x2d88, 0x11d3, 0x9a, 0x16, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d } +#define SMBIOS_TABLE_GUID \ + { 0xeb9d2d31, 0x2d88, 0x11d3, {0x9a, 0x16, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d} } -#define SAL_SYSTEM_TABLE_GUID \ - { 0xeb9d2d32, 0x2d88, 0x11d3, 0x9a, 0x16, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d } +#define SAL_SYSTEM_TABLE_GUID \ + { 0xeb9d2d32, 0x2d88, 0x11d3, {0x9a, 0x16, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d} } -#define FDT_TABLE_GUID \ - { 0xb1b621d5, 0xf19c, 0x41a5, 0x83, 0x0b, 0xd9, 0x15, 0x2c, 0x69, 0xaa, 0xe0 } +#define FDT_TABLE_GUID \ + { 0xb1b621d5, 0xf19c, 0x41a5, {0x83, 0x0b, 0xd9, 0x15, 0x2c, 0x69, 0xaa, 0xe0} } -#define DXE_SERVICES_TABLE_GUID \ - { 0x5ad34ba, 0x6f02, 0x4214, 0x95, 0x2e, 0x4d, 0xa0, 0x39, 0x8e, 0x2b, 0xb9 } +#define DXE_SERVICES_TABLE_GUID \ + { 0x5ad34ba, 0x6f02, 0x4214, {0x95, 0x2e, 0x4d, 0xa0, 0x39, 0x8e, 0x2b, 0xb9} } -#define HOB_LIST_TABLE_GUID \ - { 0x7739f24c, 0x93d7, 0x11d4, 0x9a, 0x3a, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d } +#define HOB_LIST_TABLE_GUID \ + { 0x7739f24c, 0x93d7, 0x11d4, {0x9a, 0x3a, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d} } #define MEMORY_TYPE_INFORMATION_TABLE_GUID \ - { 0x4c19049f, 0x4137, 0x4dd3, 0x9c, 0x10, 0x8b, 0x97, 0xa8, 0x3f, 0xfd, 0xfa } + { 0x4c19049f, 0x4137, 0x4dd3, {0x9c, 0x10, 0x8b, 0x97, 0xa8, 0x3f, 0xfd, 0xfa} } #define DEBUG_IMAGE_INFO_TABLE_GUID \ - { 0x49152e77, 0x1ada, 0x4764, 0xb7, 0xa2, 0x7a, 0xfe, 0xfe, 0xd9, 0x5e, 0x8b } + { 0x49152e77, 0x1ada, 0x4764, {0xb7, 0xa2, 0x7a, 0xfe, 0xfe, 0xd9, 0x5e, 0x8b} } typedef struct _EFI_CONFIGURATION_TABLE { EFI_GUID VendorGuid; Modified: projects/clang380-import/sys/boot/efi/include/eficon.h ============================================================================== --- projects/clang380-import/sys/boot/efi/include/eficon.h Wed Jan 13 20:07:28 2016 (r293849) +++ projects/clang380-import/sys/boot/efi/include/eficon.h Wed Jan 13 20:16:53 2016 (r293850) @@ -32,7 +32,7 @@ Revision History // #define SIMPLE_TEXT_OUTPUT_PROTOCOL \ - { 0x387477c2, 0x69c7, 0x11d2, 0x8e, 0x39, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b } + { 0x387477c2, 0x69c7, 0x11d2, {0x8e, 0x39, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b} } INTERFACE_DECL(_SIMPLE_TEXT_OUTPUT_INTERFACE); @@ -239,8 +239,8 @@ typedef struct _SIMPLE_TEXT_OUTPUT_INTER // Text input protocol // -#define SIMPLE_TEXT_INPUT_PROTOCOL \ - { 0x387477c1, 0x69c7, 0x11d2, 0x8e, 0x39, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b } +#define SIMPLE_TEXT_INPUT_PROTOCOL \ + { 0x387477c1, 0x69c7, 0x11d2, {0x8e, 0x39, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b} } INTERFACE_DECL(_SIMPLE_INPUT_INTERFACE); Modified: projects/clang380-import/sys/boot/efi/include/eficonsctl.h ============================================================================== --- projects/clang380-import/sys/boot/efi/include/eficonsctl.h Wed Jan 13 20:07:28 2016 (r293849) +++ projects/clang380-import/sys/boot/efi/include/eficonsctl.h Wed Jan 13 20:16:53 2016 (r293850) @@ -35,7 +35,7 @@ #define _EFI_CONS_CTL_H #define EFI_CONSOLE_CONTROL_PROTOCOL_GUID \ - { 0xf42f7782, 0x12e, 0x4c12, {0x99, 0x56, 0x49, 0xf9, 0x43, 0x4, 0xf7, 0x21} } + { 0xf42f7782, 0x12e, 0x4c12, {0x99, 0x56, 0x49, 0xf9, 0x43, 0x4, 0xf7, 0x21} } typedef struct _EFI_CONSOLE_CONTROL_PROTOCOL EFI_CONSOLE_CONTROL_PROTOCOL; Modified: projects/clang380-import/sys/boot/efi/include/efidevp.h ============================================================================== --- projects/clang380-import/sys/boot/efi/include/efidevp.h Wed Jan 13 20:07:28 2016 (r293849) +++ projects/clang380-import/sys/boot/efi/include/efidevp.h Wed Jan 13 20:16:53 2016 (r293850) @@ -110,7 +110,7 @@ typedef struct _VENDOR_DEVICE_PATH { } VENDOR_DEVICE_PATH; #define UNKNOWN_DEVICE_GUID \ - { 0xcf31fac5, 0xc24e, 0x11d2, 0x85, 0xf3, 0x0, 0xa0, 0xc9, 0x3e, 0xc9, 0x3b } + { 0xcf31fac5, 0xc24e, 0x11d2, {0x85, 0xf3, 0x0, 0xa0, 0xc9, 0x3e, 0xc9, 0x3b} } typedef struct _UKNOWN_DEVICE_VENDOR_DP { VENDOR_DEVICE_PATH DevicePath; @@ -274,16 +274,16 @@ typedef struct _UART_DEVICE_PATH { /* Use VENDOR_DEVICE_PATH struct */ #define DEVICE_PATH_MESSAGING_PC_ANSI \ - { 0xe0c14753, 0xf9be, 0x11d2, 0x9a, 0x0c, 0x00, 0x90, 0x27, 0x3f, 0xc1, 0x4d } + { 0xe0c14753, 0xf9be, 0x11d2, {0x9a, 0x0c, 0x00, 0x90, 0x27, 0x3f, 0xc1, 0x4d} } #define DEVICE_PATH_MESSAGING_VT_100 \ - { 0xdfa66065, 0xb419, 0x11d3, 0x9a, 0x2d, 0x00, 0x90, 0x27, 0x3f, 0xc1, 0x4d } + { 0xdfa66065, 0xb419, 0x11d3, {0x9a, 0x2d, 0x00, 0x90, 0x27, 0x3f, 0xc1, 0x4d} } #define DEVICE_PATH_MESSAGING_VT_100_PLUS \ - { 0x7baec70b, 0x57e0, 0x4c76, 0x8e, 0x87, 0x2f, 0x9e, 0x28, 0x08, 0x83, 0x43 } + { 0x7baec70b, 0x57e0, 0x4c76, {0x8e, 0x87, 0x2f, 0x9e, 0x28, 0x08, 0x83, 0x43} } #define DEVICE_PATH_MESSAGING_VT_UTF8 \ - { 0xad15a0d6, 0x8bec, 0x4acf, 0xa0, 0x73, 0xd0, 0x1d, 0xe7, 0x7e, 0x2d, 0x88 } + { 0xad15a0d6, 0x8bec, 0x4acf, {0xa0, 0x73, 0xd0, 0x1d, 0xe7, 0x7e, 0x2d, 0x88} } #define MEDIA_DEVICE_PATH 0x04 Modified: projects/clang380-import/sys/boot/efi/include/efierr.h ============================================================================== --- projects/clang380-import/sys/boot/efi/include/efierr.h Wed Jan 13 20:07:28 2016 (r293849) +++ projects/clang380-import/sys/boot/efi/include/efierr.h Wed Jan 13 20:16:53 2016 (r293850) @@ -31,7 +31,7 @@ Revision History #define EFIWARN(a) (a) #define EFI_ERROR(a) (((INTN) a) < 0) -#define EFI_ERROR_CODE(a) (a & ~EFI_ERROR_MASK) +#define EFI_ERROR_CODE(a) (unsigned long)(a & ~EFI_ERROR_MASK) #define EFI_SUCCESS 0 Modified: projects/clang380-import/sys/boot/efi/include/efifpswa.h ============================================================================== --- projects/clang380-import/sys/boot/efi/include/efifpswa.h Wed Jan 13 20:07:28 2016 (r293849) +++ projects/clang380-import/sys/boot/efi/include/efifpswa.h Wed Jan 13 20:16:53 2016 (r293850) @@ -7,7 +7,7 @@ */ #define EFI_INTEL_FPSWA \ - { 0xc41b6531, 0x97b9, 0x11d3, 0x9a, 0x29, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d } + { 0xc41b6531, 0x97b9, 0x11d3, {0x9a, 0x29, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d} } INTERFACE_DECL(_FPSWA_INTERFACE); Modified: projects/clang380-import/sys/boot/efi/include/efigop.h ============================================================================== --- projects/clang380-import/sys/boot/efi/include/efigop.h Wed Jan 13 20:07:28 2016 (r293849) +++ projects/clang380-import/sys/boot/efi/include/efigop.h Wed Jan 13 20:16:53 2016 (r293850) @@ -27,9 +27,8 @@ Revision History #ifndef _EFIGOP_H #define _EFIGOP_H -#define EFI_GRAPHICS_OUTPUT_PROTOCOL_GUID \ - { 0x9042a9de, 0x23dc, 0x4a38, 0x96, 0xfb, 0x7a, 0xde, 0xd0, 0x80, \ - 0x51, 0x6a } +#define EFI_GRAPHICS_OUTPUT_PROTOCOL_GUID \ + { 0x9042a9de, 0x23dc, 0x4a38, {0x96, 0xfb, 0x7a, 0xde, 0xd0, 0x80, 0x51, 0x6a} } INTERFACE_DECL(_EFI_GRAPHICS_OUTPUT); Modified: projects/clang380-import/sys/boot/efi/include/efilib.h ============================================================================== --- projects/clang380-import/sys/boot/efi/include/efilib.h Wed Jan 13 20:07:28 2016 (r293849) +++ projects/clang380-import/sys/boot/efi/include/efilib.h Wed Jan 13 20:16:53 2016 (r293850) @@ -50,3 +50,4 @@ time_t efi_time(EFI_TIME *); EFI_STATUS main(int argc, CHAR16 *argv[]); void exit(EFI_STATUS status); +void delay(int usecs); Modified: projects/clang380-import/sys/boot/efi/include/efinet.h ============================================================================== --- projects/clang380-import/sys/boot/efi/include/efinet.h Wed Jan 13 20:07:28 2016 (r293849) +++ projects/clang380-import/sys/boot/efi/include/efinet.h Wed Jan 13 20:16:53 2016 (r293850) @@ -29,7 +29,7 @@ Revision History // #define EFI_SIMPLE_NETWORK_PROTOCOL \ - { 0xA19832B9, 0xAC25, 0x11D3, 0x9A, 0x2D, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D } + { 0xA19832B9, 0xAC25, 0x11D3, {0x9A, 0x2D, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D} } INTERFACE_DECL(_EFI_SIMPLE_NETWORK); Modified: projects/clang380-import/sys/boot/efi/include/efipciio.h ============================================================================== --- projects/clang380-import/sys/boot/efi/include/efipciio.h Wed Jan 13 20:07:28 2016 (r293849) +++ projects/clang380-import/sys/boot/efi/include/efipciio.h Wed Jan 13 20:16:53 2016 (r293850) @@ -21,9 +21,7 @@ /// Global ID for the PCI I/O Protocol /// #define EFI_PCI_IO_PROTOCOL_GUID \ - { \ - 0x4cf5b200, 0x68b8, 0x4ca5, {0x9e, 0xec, 0xb2, 0x3e, 0x3f, 0x50, 0x2, 0x9a } \ - } + { 0x4cf5b200, 0x68b8, 0x4ca5, {0x9e, 0xec, 0xb2, 0x3e, 0x3f, 0x50, 0x2, 0x9a} } typedef struct _EFI_PCI_IO_PROTOCOL EFI_PCI_IO_PROTOCOL; Modified: projects/clang380-import/sys/boot/efi/include/efiprot.h ============================================================================== --- projects/clang380-import/sys/boot/efi/include/efiprot.h Wed Jan 13 20:07:28 2016 (r293849) +++ projects/clang380-import/sys/boot/efi/include/efiprot.h Wed Jan 13 20:16:53 2016 (r293850) @@ -31,8 +31,8 @@ Revision History // Device Path protocol // -#define DEVICE_PATH_PROTOCOL \ - { 0x9576e91, 0x6d3f, 0x11d2, 0x8e, 0x39, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b } +#define DEVICE_PATH_PROTOCOL \ + { 0x9576e91, 0x6d3f, 0x11d2, {0x8e, 0x39, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b} } // @@ -40,7 +40,7 @@ Revision History // #define BLOCK_IO_PROTOCOL \ - { 0x964e5b21, 0x6459, 0x11d2, 0x8e, 0x39, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b } + { 0x964e5b21, 0x6459, 0x11d2, {0x8e, 0x39, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b} } *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***