Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 29 Dec 2014 09:27:43 +0000 (UTC)
From:      Dimitry Andric <dim@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r276357 - in projects/clang350-import: contrib/binutils/bfd sys/arm/arm sys/boot/powerpc/boot1.chrp sys/dev/beri/virtio sys/dev/beri/virtio/network sys/dev/uart sys/fs/nfsclient
Message-ID:  <201412290927.sBT9RhWm025520@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: dim
Date: Mon Dec 29 09:27:42 2014
New Revision: 276357
URL: https://svnweb.freebsd.org/changeset/base/276357

Log:
  Merge ^/head r276347 through r276356.

Modified:
  projects/clang350-import/contrib/binutils/bfd/elf32-ppc.c
  projects/clang350-import/sys/arm/arm/cpu_asm-v6.S
  projects/clang350-import/sys/boot/powerpc/boot1.chrp/Makefile
  projects/clang350-import/sys/dev/beri/virtio/network/if_vtbe.c
  projects/clang350-import/sys/dev/beri/virtio/virtio.c
  projects/clang350-import/sys/dev/beri/virtio/virtio_block.c
  projects/clang350-import/sys/dev/uart/uart_bus_pci.c
  projects/clang350-import/sys/fs/nfsclient/nfs_clport.c
Directory Properties:
  projects/clang350-import/   (props changed)
  projects/clang350-import/contrib/binutils/   (props changed)
  projects/clang350-import/sys/   (props changed)
  projects/clang350-import/sys/boot/   (props changed)
  projects/clang350-import/sys/boot/powerpc/boot1.chrp/   (props changed)

Modified: projects/clang350-import/contrib/binutils/bfd/elf32-ppc.c
==============================================================================
--- projects/clang350-import/contrib/binutils/bfd/elf32-ppc.c	Mon Dec 29 09:24:21 2014	(r276356)
+++ projects/clang350-import/contrib/binutils/bfd/elf32-ppc.c	Mon Dec 29 09:27:42 2014	(r276357)
@@ -6185,7 +6185,7 @@ ppc_elf_relocate_section (bfd *output_bf
       howto = NULL;
       if (r_type < R_PPC_max)
 	howto = ppc_elf_howto_table[r_type];
-      switch (r_type)
+      switch ((int) r_type)
 	{
 	default:
 	  (*_bfd_error_handler)

Modified: projects/clang350-import/sys/arm/arm/cpu_asm-v6.S
==============================================================================
--- projects/clang350-import/sys/arm/arm/cpu_asm-v6.S	Mon Dec 29 09:24:21 2014	(r276356)
+++ projects/clang350-import/sys/arm/arm/cpu_asm-v6.S	Mon Dec 29 09:27:42 2014	(r276357)
@@ -37,14 +37,16 @@
 
 /* 
  * Define cache functions used by startup code, which counts on the fact that
- * only r0-r4,r12 (ip) are modified and no stack space is used. This set
- * of function must be called with interrupts disabled and don't follow
- * ARM ABI (cannot be called form C code.
- * Moreover, it works only with caches integrated to CPU (accessible via CP15).
+ * only r0-r3,r12 (ip) are modified and no stack space is used.  These functions
+ * must be called with interrupts disabled.  Moreover, these work only with 
+ * caches integrated to CPU (accessible via CP15); systems with an external L2
+ * cache controller such as a PL310 need separate calls to that device driver
+ * to affect L2 caches.  This is not a factor during early kernel startup, as
+ * any external L2 cache controller has not been enabled yet.
  */
 
 /* Invalidate D cache to PoC. (aka all cache levels)*/
-ASENTRY(dcache_inv_poc_all)
+ASENTRY_NP(dcache_inv_poc_all)
 	mrc	CP15_CLIDR(r0)
 	ands	r0, r0, #0x07000000
 	mov	r0, r0, lsr #23		/* Get LoC (naturally aligned) */
@@ -96,7 +98,7 @@ ASENTRY(dcache_inv_poc_all)
 END(dcache_inv_poc_all)
 
 /* Invalidate D cache to PoU. (aka L1 cache only)*/
-ASENTRY(dcache_inv_pou_all)
+ASENTRY_NP(dcache_inv_pou_all)
 	mrc	CP15_CLIDR(r0)
 	ands	r0, r0, #0x07000000
 	mov	r0, r0, lsr #26		/* Get LoUU (naturally aligned) */
@@ -147,7 +149,7 @@ ASENTRY(dcache_inv_pou_all)
 END(dcache_inv_pou_all)
 
 /* Write back and Invalidate D cache to PoC. */
-ASENTRY(dcache_wbinv_poc_all)
+ASENTRY_NP(dcache_wbinv_poc_all)
 	mrc	CP15_CLIDR(r0)
 	ands	r0, r0, #0x07000000
 	mov	r0, r0, lsr #23		/* Get LoC (naturally aligned) */

Modified: projects/clang350-import/sys/boot/powerpc/boot1.chrp/Makefile
==============================================================================
--- projects/clang350-import/sys/boot/powerpc/boot1.chrp/Makefile	Mon Dec 29 09:24:21 2014	(r276356)
+++ projects/clang350-import/sys/boot/powerpc/boot1.chrp/Makefile	Mon Dec 29 09:27:42 2014	(r276357)
@@ -15,7 +15,7 @@ MAN=
 CFLAGS= -ffreestanding -msoft-float -Os \
 	-I${.CURDIR}/../../common -I${.CURDIR}/../../../ \
 	-D_STANDALONE
-LDFLAGS=-nostdlib -static -N
+LDFLAGS=-nostdlib -static -Wl,-N
 
 .include "${.CURDIR}/../Makefile.inc"
 .PATH:  ${.CURDIR}/../../../libkern ${.CURDIR}/../../../../lib/libc/powerpc/gen ${.CURDIR}

Modified: projects/clang350-import/sys/dev/beri/virtio/network/if_vtbe.c
==============================================================================
--- projects/clang350-import/sys/dev/beri/virtio/network/if_vtbe.c	Mon Dec 29 09:24:21 2014	(r276356)
+++ projects/clang350-import/sys/dev/beri/virtio/network/if_vtbe.c	Mon Dec 29 09:27:42 2014	(r276357)
@@ -82,7 +82,8 @@ __FBSDID("$FreeBSD$");
 
 #include <dev/virtio/mmio/virtio_mmio.h>
 #include <dev/virtio/network/virtio_net.h>
-#include <dev/virtio/virtio.h>
+#include <dev/virtio/virtio_ids.h>
+#include <dev/virtio/virtio_config.h>
 #include <dev/virtio/virtio_ring.h>
 
 #include "pio_if.h"

Modified: projects/clang350-import/sys/dev/beri/virtio/virtio.c
==============================================================================
--- projects/clang350-import/sys/dev/beri/virtio/virtio.c	Mon Dec 29 09:24:21 2014	(r276356)
+++ projects/clang350-import/sys/dev/beri/virtio/virtio.c	Mon Dec 29 09:27:42 2014	(r276357)
@@ -65,7 +65,6 @@ __FBSDID("$FreeBSD$");
 #include <dev/ofw/ofw_bus_subr.h>
 
 #include <dev/beri/virtio/virtio.h>
-#include <dev/virtio/virtio.h>
 #include <dev/virtio/virtqueue.h>
 #include <dev/virtio/virtio_ring.h>
 #include <dev/altera/pio/pio.h>

Modified: projects/clang350-import/sys/dev/beri/virtio/virtio_block.c
==============================================================================
--- projects/clang350-import/sys/dev/beri/virtio/virtio_block.c	Mon Dec 29 09:24:21 2014	(r276356)
+++ projects/clang350-import/sys/dev/beri/virtio/virtio_block.c	Mon Dec 29 09:27:42 2014	(r276357)
@@ -67,7 +67,8 @@ __FBSDID("$FreeBSD$");
 #include <dev/altera/pio/pio.h>
 #include <dev/virtio/mmio/virtio_mmio.h>
 #include <dev/virtio/block/virtio_blk.h>
-#include <dev/virtio/virtio.h>
+#include <dev/virtio/virtio_ids.h>
+#include <dev/virtio/virtio_config.h>
 #include <dev/virtio/virtio_ring.h>
 
 #include "pio_if.h"

Modified: projects/clang350-import/sys/dev/uart/uart_bus_pci.c
==============================================================================
--- projects/clang350-import/sys/dev/uart/uart_bus_pci.c	Mon Dec 29 09:24:21 2014	(r276356)
+++ projects/clang350-import/sys/dev/uart/uart_bus_pci.c	Mon Dec 29 09:27:42 2014	(r276357)
@@ -137,8 +137,8 @@ static const struct pci_id pci_ns8250_id
 	"MosChip MCS9901 PCIe to Peripheral Controller", 0x10 },
 { 0x9710, 0x9904, 0xa000, 0x1000,
 	"MosChip MCS9904 PCIe to Peripheral Controller", 0x10 },
-{ 0x9710, 0x9922, 0xffff, 0,
-	"MosChip MCS9922 Multi I/O Controller", 0x10 },
+{ 0x9710, 0x9922, 0xa000, 0x1000,
+	"MosChip MCS9922 PCIe to Peripheral Controller", 0x10 },
 { 0xdeaf, 0x9051, 0xffff, 0, "Middle Digital PC Weasel Serial Port", 0x10 },
 { 0xffff, 0, 0xffff, 0, NULL, 0, 0}
 };

Modified: projects/clang350-import/sys/fs/nfsclient/nfs_clport.c
==============================================================================
--- projects/clang350-import/sys/fs/nfsclient/nfs_clport.c	Mon Dec 29 09:24:21 2014	(r276356)
+++ projects/clang350-import/sys/fs/nfsclient/nfs_clport.c	Mon Dec 29 09:27:42 2014	(r276357)
@@ -1096,9 +1096,16 @@ nfscl_checksattr(struct vattr *vap, stru
 	 * us to do a SETATTR RPC. FreeBSD servers store the verifier
 	 * in atime, but we can't really assume that all servers will
 	 * so we ensure that our SETATTR sets both atime and mtime.
+	 * Set the VA_UTIMES_NULL flag for this case, so that
+	 * the server's time will be used.  This is needed to
+	 * work around a bug in some Solaris servers, where
+	 * setting the time TOCLIENT causes the Setattr RPC
+	 * to return NFS_OK, but not set va_mode.
 	 */
-	if (vap->va_mtime.tv_sec == VNOVAL)
+	if (vap->va_mtime.tv_sec == VNOVAL) {
 		vfs_timestamp(&vap->va_mtime);
+		vap->va_vaflags |= VA_UTIMES_NULL;
+	}
 	if (vap->va_atime.tv_sec == VNOVAL)
 		vap->va_atime = vap->va_mtime;
 	return (1);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201412290927.sBT9RhWm025520>