summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--contrib/binutils/bfd/elf32-ppc.c2
-rw-r--r--sys/arm/arm/cpu_asm-v6.S16
-rw-r--r--sys/boot/powerpc/boot1.chrp/Makefile2
-rw-r--r--sys/dev/beri/virtio/network/if_vtbe.c3
-rw-r--r--sys/dev/beri/virtio/virtio.c1
-rw-r--r--sys/dev/beri/virtio/virtio_block.c3
-rw-r--r--sys/dev/uart/uart_bus_pci.c4
-rw-r--r--sys/fs/nfsclient/nfs_clport.c9
8 files changed, 25 insertions, 15 deletions
diff --git a/contrib/binutils/bfd/elf32-ppc.c b/contrib/binutils/bfd/elf32-ppc.c
index 31c90df..0441fe2 100644
--- a/contrib/binutils/bfd/elf32-ppc.c
+++ b/contrib/binutils/bfd/elf32-ppc.c
@@ -6185,7 +6185,7 @@ ppc_elf_relocate_section (bfd *output_bfd,
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)
diff --git a/sys/arm/arm/cpu_asm-v6.S b/sys/arm/arm/cpu_asm-v6.S
index c7104a3..b99401f 100644
--- a/sys/arm/arm/cpu_asm-v6.S
+++ b/sys/arm/arm/cpu_asm-v6.S
@@ -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) */
diff --git a/sys/boot/powerpc/boot1.chrp/Makefile b/sys/boot/powerpc/boot1.chrp/Makefile
index 4255cdb..c350e5c 100644
--- a/sys/boot/powerpc/boot1.chrp/Makefile
+++ b/sys/boot/powerpc/boot1.chrp/Makefile
@@ -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}
diff --git a/sys/dev/beri/virtio/network/if_vtbe.c b/sys/dev/beri/virtio/network/if_vtbe.c
index a08a8a2..01e4be9 100644
--- a/sys/dev/beri/virtio/network/if_vtbe.c
+++ b/sys/dev/beri/virtio/network/if_vtbe.c
@@ -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"
diff --git a/sys/dev/beri/virtio/virtio.c b/sys/dev/beri/virtio/virtio.c
index cb7c293..6921c8a 100644
--- a/sys/dev/beri/virtio/virtio.c
+++ b/sys/dev/beri/virtio/virtio.c
@@ -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>
diff --git a/sys/dev/beri/virtio/virtio_block.c b/sys/dev/beri/virtio/virtio_block.c
index 12b6e0e..b763cb9 100644
--- a/sys/dev/beri/virtio/virtio_block.c
+++ b/sys/dev/beri/virtio/virtio_block.c
@@ -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"
diff --git a/sys/dev/uart/uart_bus_pci.c b/sys/dev/uart/uart_bus_pci.c
index 748d18a..b16abf9 100644
--- a/sys/dev/uart/uart_bus_pci.c
+++ b/sys/dev/uart/uart_bus_pci.c
@@ -137,8 +137,8 @@ static const struct pci_id pci_ns8250_ids[] = {
"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}
};
diff --git a/sys/fs/nfsclient/nfs_clport.c b/sys/fs/nfsclient/nfs_clport.c
index efdc812..d3bac30 100644
--- a/sys/fs/nfsclient/nfs_clport.c
+++ b/sys/fs/nfsclient/nfs_clport.c
@@ -1096,9 +1096,16 @@ nfscl_checksattr(struct vattr *vap, struct nfsvattr *nvap)
* 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);
OpenPOWER on IntegriCloud