svn commit: r334967 - in projects/pnfs-planb-server/sys: amd64/amd64 arm64/arm64 arm64/conf compat/linuxkpi/common/include/asm compat/linuxkpi/common/include/linux conf dev/atkbdc dev/bxe dev/drm2/...
Rick Macklem
rmacklem at FreeBSD.org
Mon Jun 11 19:03:57 UTC 2018
Author: rmacklem
Date: Mon Jun 11 19:03:49 2018
New Revision: 334967
URL: https://svnweb.freebsd.org/changeset/base/334967
Log:
Merge in an up to date kernel from head/current.
Modified:
projects/pnfs-planb-server/sys/amd64/amd64/machdep.c
projects/pnfs-planb-server/sys/amd64/amd64/mp_machdep.c
projects/pnfs-planb-server/sys/arm64/arm64/cpu_errata.c
projects/pnfs-planb-server/sys/arm64/arm64/exception.S
projects/pnfs-planb-server/sys/arm64/arm64/trap.c
projects/pnfs-planb-server/sys/arm64/arm64/vm_machdep.c
projects/pnfs-planb-server/sys/arm64/conf/GENERIC
projects/pnfs-planb-server/sys/compat/linuxkpi/common/include/asm/uaccess.h
projects/pnfs-planb-server/sys/compat/linuxkpi/common/include/linux/kernel.h
projects/pnfs-planb-server/sys/conf/files.arm64
projects/pnfs-planb-server/sys/conf/options.arm64
projects/pnfs-planb-server/sys/dev/atkbdc/psm.c
projects/pnfs-planb-server/sys/dev/bxe/bxe.c
projects/pnfs-planb-server/sys/dev/drm2/i915/intel_display.c
projects/pnfs-planb-server/sys/dev/hwpmc/hwpmc_mod.c
projects/pnfs-planb-server/sys/dev/mse/mse.c
projects/pnfs-planb-server/sys/dev/ocs_fc/ocs_ioctl.c
projects/pnfs-planb-server/sys/dev/ocs_fc/ocs_sport.c
projects/pnfs-planb-server/sys/dev/syscons/sysmouse.c
projects/pnfs-planb-server/sys/dev/usb/net/if_muge.c
projects/pnfs-planb-server/sys/dev/usb/usbdevs
projects/pnfs-planb-server/sys/fs/nfs/nfs_commonkrpc.c
projects/pnfs-planb-server/sys/fs/nfsclient/nfsmount.h
projects/pnfs-planb-server/sys/i386/i386/vm86bios.s
projects/pnfs-planb-server/sys/kern/makesyscalls.sh
projects/pnfs-planb-server/sys/kern/uipc_socket.c
projects/pnfs-planb-server/sys/modules/Makefile
projects/pnfs-planb-server/sys/netinet/tcp_hpts.c
projects/pnfs-planb-server/sys/netinet/tcp_stacks/rack.c
projects/pnfs-planb-server/sys/sys/mouse.h
projects/pnfs-planb-server/sys/x86/x86/nexus.c
Directory Properties:
projects/pnfs-planb-server/sys/ (props changed)
Modified: projects/pnfs-planb-server/sys/amd64/amd64/machdep.c
==============================================================================
--- projects/pnfs-planb-server/sys/amd64/amd64/machdep.c Mon Jun 11 19:00:07 2018 (r334966)
+++ projects/pnfs-planb-server/sys/amd64/amd64/machdep.c Mon Jun 11 19:03:49 2018 (r334967)
@@ -51,6 +51,7 @@ __FBSDID("$FreeBSD$");
#include "opt_kstack_pages.h"
#include "opt_maxmem.h"
#include "opt_mp_watchdog.h"
+#include "opt_pci.h"
#include "opt_platform.h"
#include "opt_sched.h"
@@ -184,7 +185,9 @@ struct init_ops init_ops = {
.mp_bootaddress = mp_bootaddress,
.start_all_aps = native_start_all_aps,
#endif
+#ifdef DEV_PCI
.msi_init = msi_init,
+#endif
};
/*
Modified: projects/pnfs-planb-server/sys/amd64/amd64/mp_machdep.c
==============================================================================
--- projects/pnfs-planb-server/sys/amd64/amd64/mp_machdep.c Mon Jun 11 19:00:07 2018 (r334966)
+++ projects/pnfs-planb-server/sys/amd64/amd64/mp_machdep.c Mon Jun 11 19:03:49 2018 (r334967)
@@ -122,7 +122,7 @@ mp_bootaddress(vm_paddr_t *physmap, unsigned int *phys
*/
if (physmap[i] >= GiB(4) || physmap[i + 1] -
round_page(physmap[i]) < PAGE_SIZE * 3 ||
- physmap[i + 1] > Maxmem)
+ atop(physmap[i + 1]) > Maxmem)
continue;
allocated = true;
Modified: projects/pnfs-planb-server/sys/arm64/arm64/cpu_errata.c
==============================================================================
--- projects/pnfs-planb-server/sys/arm64/arm64/cpu_errata.c Mon Jun 11 19:00:07 2018 (r334966)
+++ projects/pnfs-planb-server/sys/arm64/arm64/cpu_errata.c Mon Jun 11 19:03:49 2018 (r334967)
@@ -41,9 +41,7 @@ __FBSDID("$FreeBSD$");
#include <machine/cpu.h>
-#ifdef DEV_PSCI
#include <dev/psci/psci.h>
-#endif
typedef void (cpu_quirk_install)(void);
struct cpu_quirks {
@@ -81,9 +79,7 @@ static void
install_psci_bp_hardening(void)
{
-#ifdef DEV_PSCI
PCPU_SET(bp_harden, psci_get_version);
-#endif
}
void
Modified: projects/pnfs-planb-server/sys/arm64/arm64/exception.S
==============================================================================
--- projects/pnfs-planb-server/sys/arm64/arm64/exception.S Mon Jun 11 19:00:07 2018 (r334966)
+++ projects/pnfs-planb-server/sys/arm64/arm64/exception.S Mon Jun 11 19:03:49 2018 (r334967)
@@ -161,10 +161,6 @@ ENTRY(handle_el1h_irq)
eret
END(handle_el1h_irq)
-ENTRY(handle_el1h_error)
- brk 0xf13
-END(handle_el1h_error)
-
ENTRY(handle_el0_sync)
save_registers 0
ldr x0, [x18, #PC_CURTHREAD]
@@ -185,18 +181,23 @@ ENTRY(handle_el0_irq)
eret
END(handle_el0_irq)
-ENTRY(handle_el0_error)
+ENTRY(handle_serror)
save_registers 0
mov x0, sp
- bl do_el0_error
- brk 0xf23
- 1: b 1b
-END(handle_el0_error)
+1: bl do_serror
+ b 1b
+END(handle_serror)
+ENTRY(handle_empty_exception)
+ save_registers 0
+ mov x0, sp
+1: bl unhandled_exception
+ b 1b
+END(handle_unhandled_exception)
+
.macro vempty
.align 7
- brk 0xfff
- 1: b 1b
+ b handle_empty_exception
.endm
.macro vector name
@@ -215,15 +216,15 @@ exception_vectors:
vector el1h_sync /* Synchronous EL1h */
vector el1h_irq /* IRQ EL1h */
vempty /* FIQ EL1h */
- vector el1h_error /* Error EL1h */
+ vector serror /* Error EL1h */
vector el0_sync /* Synchronous 64-bit EL0 */
vector el0_irq /* IRQ 64-bit EL0 */
vempty /* FIQ 64-bit EL0 */
- vector el0_error /* Error 64-bit EL0 */
+ vector serror /* Error 64-bit EL0 */
vector el0_sync /* Synchronous 32-bit EL0 */
vector el0_irq /* IRQ 32-bit EL0 */
vempty /* FIQ 32-bit EL0 */
- vector el0_error /* Error 32-bit EL0 */
+ vector serror /* Error 32-bit EL0 */
Modified: projects/pnfs-planb-server/sys/arm64/arm64/trap.c
==============================================================================
--- projects/pnfs-planb-server/sys/arm64/arm64/trap.c Mon Jun 11 19:00:07 2018 (r334966)
+++ projects/pnfs-planb-server/sys/arm64/arm64/trap.c Mon Jun 11 19:03:49 2018 (r334967)
@@ -76,6 +76,9 @@ extern register_t fsu_intr_fault;
void do_el1h_sync(struct thread *, struct trapframe *);
void do_el0_sync(struct thread *, struct trapframe *);
void do_el0_error(struct trapframe *);
+void do_serror(struct trapframe *);
+void unhandled_exception(struct trapframe *);
+
static void print_registers(struct trapframe *frame);
int (*dtrace_invop_jump_addr)(struct trapframe *);
@@ -477,10 +480,33 @@ do_el0_sync(struct thread *td, struct trapframe *frame
("Kernel VFP state in use when entering userspace"));
}
+/*
+ * TODO: We will need to handle these later when we support ARMv8.2 RAS.
+ */
void
-do_el0_error(struct trapframe *frame)
+do_serror(struct trapframe *frame)
{
+ uint64_t esr, far;
- panic("ARM64TODO: do_el0_error");
+ far = READ_SPECIALREG(far_el1);
+ esr = frame->tf_esr;
+
+ print_registers(frame);
+ printf(" far: %16lx\n", far);
+ printf(" esr: %.8lx\n", esr);
+ panic("Unhandled System Error");
}
+void
+unhandled_exception(struct trapframe *frame)
+{
+ uint64_t esr, far;
+
+ far = READ_SPECIALREG(far_el1);
+ esr = frame->tf_esr;
+
+ print_registers(frame);
+ printf(" far: %16lx\n", far);
+ printf(" esr: %.8lx\n", esr);
+ panic("Unhandled exception");
+}
Modified: projects/pnfs-planb-server/sys/arm64/arm64/vm_machdep.c
==============================================================================
--- projects/pnfs-planb-server/sys/arm64/arm64/vm_machdep.c Mon Jun 11 19:00:07 2018 (r334966)
+++ projects/pnfs-planb-server/sys/arm64/arm64/vm_machdep.c Mon Jun 11 19:03:49 2018 (r334967)
@@ -54,9 +54,7 @@ __FBSDID("$FreeBSD$");
#include <machine/vfp.h>
#endif
-#ifdef DEV_PSCI
#include <dev/psci/psci.h>
-#endif
/*
* Finish a fork operation, with process p2 nearly set up.
@@ -119,9 +117,7 @@ void
cpu_reset(void)
{
-#ifdef DEV_PSCI
psci_reset();
-#endif
printf("cpu_reset failed");
while(1)
Modified: projects/pnfs-planb-server/sys/arm64/conf/GENERIC
==============================================================================
--- projects/pnfs-planb-server/sys/arm64/conf/GENERIC Mon Jun 11 19:00:07 2018 (r334966)
+++ projects/pnfs-planb-server/sys/arm64/conf/GENERIC Mon Jun 11 19:03:49 2018 (r334967)
@@ -239,7 +239,6 @@ device tun # Packet tunnel.
device md # Memory "disks"
device gif # IPv6 and IPv4 tunneling
device firmware # firmware assist module
-device psci # Support for ARM PSCI
options EFIRT # EFI Runtime Services
# EXT_RESOURCES pseudo devices
Modified: projects/pnfs-planb-server/sys/compat/linuxkpi/common/include/asm/uaccess.h
==============================================================================
--- projects/pnfs-planb-server/sys/compat/linuxkpi/common/include/asm/uaccess.h Mon Jun 11 19:00:07 2018 (r334966)
+++ projects/pnfs-planb-server/sys/compat/linuxkpi/common/include/asm/uaccess.h Mon Jun 11 19:03:49 2018 (r334967)
@@ -52,4 +52,17 @@ copy_from_user(void *to, const void *from, unsigned lo
#define __copy_from_user(...) copy_from_user(__VA_ARGS__)
#define __copy_in_user(...) copy_from_user(__VA_ARGS__)
+#define user_access_begin() do { } while (0)
+#define user_access_end() do { } while (0)
+
+#define unsafe_get_user(x, ptr, err) do { \
+ if (unlikely(__get_user(x, ptr))) \
+ goto err; \
+} while (0)
+
+#define unsafe_put_user(x, ptr, err) do { \
+ if (unlikely(__put_user(x, ptr))) \
+ goto err; \
+} while (0)
+
#endif /* _ASM_UACCESS_H_ */
Modified: projects/pnfs-planb-server/sys/compat/linuxkpi/common/include/linux/kernel.h
==============================================================================
--- projects/pnfs-planb-server/sys/compat/linuxkpi/common/include/linux/kernel.h Mon Jun 11 19:00:07 2018 (r334966)
+++ projects/pnfs-planb-server/sys/compat/linuxkpi/common/include/linux/kernel.h Mon Jun 11 19:03:49 2018 (r334967)
@@ -50,7 +50,9 @@
#include <linux/types.h>
#include <linux/jiffies.h>
#include <linux/log2.h>
+
#include <asm/byteorder.h>
+#include <asm/uaccess.h>
#include <machine/stdarg.h>
@@ -370,6 +372,46 @@ kstrtou32(const char *cp, unsigned int base, u32 *res)
if (temp != (u32)temp)
return (-ERANGE);
return (0);
+}
+
+static inline int
+kstrtobool(const char *s, bool *res)
+{
+ int len;
+
+ if (s == NULL || (len = strlen(s)) == 0 || res == NULL)
+ return (-EINVAL);
+
+ /* skip newline character, if any */
+ if (s[len - 1] == '\n')
+ len--;
+
+ if (len == 1 && strchr("yY1", s[0]) != NULL)
+ *res = true;
+ else if (len == 1 && strchr("nN0", s[0]) != NULL)
+ *res = false;
+ else if (strncasecmp("on", s, len) == 0)
+ *res = true;
+ else if (strncasecmp("off", s, len) == 0)
+ *res = false;
+ else
+ return (-EINVAL);
+
+ return (0);
+}
+
+static inline int
+kstrtobool_from_user(const char __user *s, size_t count, bool *res)
+{
+ char buf[8] = {};
+
+ if (count > (sizeof(buf) - 1))
+ count = (sizeof(buf) - 1);
+
+ if (copy_from_user(buf, s, count))
+ return (-EFAULT);
+
+ return (kstrtobool(buf, res));
}
#define min(x, y) ((x) < (y) ? (x) : (y))
Modified: projects/pnfs-planb-server/sys/conf/files.arm64
==============================================================================
--- projects/pnfs-planb-server/sys/conf/files.arm64 Mon Jun 11 19:00:07 2018 (r334966)
+++ projects/pnfs-planb-server/sys/conf/files.arm64 Mon Jun 11 19:03:49 2018 (r334967)
@@ -206,8 +206,8 @@ dev/ofw/ofwpci.c optional fdt pci
dev/pci/pci_host_generic.c optional pci
dev/pci/pci_host_generic_acpi.c optional pci acpi
dev/pci/pci_host_generic_fdt.c optional pci fdt
-dev/psci/psci.c optional psci
-dev/psci/psci_arm64.S optional psci
+dev/psci/psci.c standard
+dev/psci/psci_arm64.S standard
dev/uart/uart_cpu_arm64.c optional uart
dev/uart/uart_dev_pl011.c optional uart pl011
dev/usb/controller/dwc_otg_hisi.c optional dwcotg fdt soc_hisi_hi6220
Modified: projects/pnfs-planb-server/sys/conf/options.arm64
==============================================================================
--- projects/pnfs-planb-server/sys/conf/options.arm64 Mon Jun 11 19:00:07 2018 (r334966)
+++ projects/pnfs-planb-server/sys/conf/options.arm64 Mon Jun 11 19:03:49 2018 (r334967)
@@ -13,9 +13,6 @@ COMPAT_FREEBSD32 opt_global.h
# EFI Runtime services support
EFIRT opt_efirt.h
-# Devices
-DEV_PSCI opt_platform.h
-
# SoC Support
SOC_ALLWINNER_A64 opt_soc.h
SOC_ALLWINNER_H5 opt_soc.h
Modified: projects/pnfs-planb-server/sys/dev/atkbdc/psm.c
==============================================================================
--- projects/pnfs-planb-server/sys/dev/atkbdc/psm.c Mon Jun 11 19:00:07 2018 (r334966)
+++ projects/pnfs-planb-server/sys/dev/atkbdc/psm.c Mon Jun 11 19:03:49 2018 (r334967)
@@ -2560,9 +2560,6 @@ psmioctl(struct cdev *dev, u_long cmd, caddr_t addr, i
struct psm_softc *sc = dev->si_drv1;
mousemode_t mode;
mousestatus_t status;
-#if (defined(MOUSE_GETVARS))
- mousevar_t *var;
-#endif
mousedata_t *data;
int stat[3];
int command_byte;
@@ -2758,21 +2755,6 @@ psmioctl(struct cdev *dev, u_long cmd, caddr_t addr, i
splx(s);
*(mousestatus_t *)addr = status;
break;
-
-#if (defined(MOUSE_GETVARS))
- case MOUSE_GETVARS:
- var = (mousevar_t *)addr;
- bzero(var, sizeof(*var));
- s = spltty();
- var->var[0] = MOUSE_VARS_PS2_SIG;
- var->var[1] = sc->config;
- var->var[2] = sc->flags;
- splx(s);
- break;
-
- case MOUSE_SETVARS:
- return (ENODEV);
-#endif /* MOUSE_GETVARS */
case MOUSE_READSTATE:
case MOUSE_READDATA:
Modified: projects/pnfs-planb-server/sys/dev/bxe/bxe.c
==============================================================================
--- projects/pnfs-planb-server/sys/dev/bxe/bxe.c Mon Jun 11 19:00:07 2018 (r334966)
+++ projects/pnfs-planb-server/sys/dev/bxe/bxe.c Mon Jun 11 19:03:49 2018 (r334967)
@@ -12849,12 +12849,12 @@ bxe_allocate_bars(struct bxe_softc *sc)
sc->bar[i].handle = rman_get_bushandle(sc->bar[i].resource);
sc->bar[i].kva = (vm_offset_t)rman_get_virtual(sc->bar[i].resource);
- BLOGI(sc, "PCI BAR%d [%02x] memory allocated: %p-%p (%jd) -> %p\n",
+ BLOGI(sc, "PCI BAR%d [%02x] memory allocated: %#jx-%#jx (%jd) -> %#jx\n",
i, PCIR_BAR(i),
- (void *)rman_get_start(sc->bar[i].resource),
- (void *)rman_get_end(sc->bar[i].resource),
+ rman_get_start(sc->bar[i].resource),
+ rman_get_end(sc->bar[i].resource),
rman_get_size(sc->bar[i].resource),
- (void *)sc->bar[i].kva);
+ (uintmax_t)sc->bar[i].kva);
}
return (0);
Modified: projects/pnfs-planb-server/sys/dev/drm2/i915/intel_display.c
==============================================================================
--- projects/pnfs-planb-server/sys/dev/drm2/i915/intel_display.c Mon Jun 11 19:00:07 2018 (r334966)
+++ projects/pnfs-planb-server/sys/dev/drm2/i915/intel_display.c Mon Jun 11 19:03:49 2018 (r334967)
@@ -8872,7 +8872,15 @@ static int intel_dmi_reverse_brightness(const struct d
static const struct intel_dmi_quirk intel_dmi_quirks[] = {
{
- .dmi_id_list = &(const struct dmi_system_id[]) {
+ .dmi_id_list =
+#if !defined(__clang__) && !__GNUC_PREREQ__(4, 3)
+ /* gcc 4.2 needs an additional cast, to avoid a bogus
+ * "initialization from incompatible pointer type" warning.
+ * see: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=36432
+ */
+ (const struct dmi_system_id (*)[])
+#endif
+ &(const struct dmi_system_id[]) {
{
.callback = intel_dmi_reverse_brightness,
.ident = "NCR Corporation",
Modified: projects/pnfs-planb-server/sys/dev/hwpmc/hwpmc_mod.c
==============================================================================
--- projects/pnfs-planb-server/sys/dev/hwpmc/hwpmc_mod.c Mon Jun 11 19:00:07 2018 (r334966)
+++ projects/pnfs-planb-server/sys/dev/hwpmc/hwpmc_mod.c Mon Jun 11 19:03:49 2018 (r334967)
@@ -4748,9 +4748,9 @@ pmc_process_interrupt(int ring, struct pmc *pm, struct
td = curthread;
if ((pm->pm_flags & PMC_F_USERCALLCHAIN) &&
- (td->td_proc->p_flag & P_KPROC) == 0 &&
- !TRAPF_USERMODE(tf)) {
- atomic_add_int(&curthread->td_pmcpend, 1);
+ (td->td_proc->p_flag & P_KPROC) == 0 &&
+ !TRAPF_USERMODE(tf)) {
+ atomic_add_int(&td->td_pmcpend, 1);
return (pmc_add_sample(PMC_UR, pm, tf));
}
return (pmc_add_sample(ring, pm, tf));
Modified: projects/pnfs-planb-server/sys/dev/mse/mse.c
==============================================================================
--- projects/pnfs-planb-server/sys/dev/mse/mse.c Mon Jun 11 19:00:07 2018 (r334966)
+++ projects/pnfs-planb-server/sys/dev/mse/mse.c Mon Jun 11 19:03:49 2018 (r334967)
@@ -434,12 +434,6 @@ mseioctl(struct cdev *dev, u_long cmd, caddr_t addr, i
case MOUSE_READDATA:
return (ENODEV);
-#if (defined(MOUSE_GETVARS))
- case MOUSE_GETVARS:
- case MOUSE_SETVARS:
- return (ENODEV);
-#endif
-
default:
return (ENOTTY);
}
Modified: projects/pnfs-planb-server/sys/dev/ocs_fc/ocs_ioctl.c
==============================================================================
--- projects/pnfs-planb-server/sys/dev/ocs_fc/ocs_ioctl.c Mon Jun 11 19:00:07 2018 (r334966)
+++ projects/pnfs-planb-server/sys/dev/ocs_fc/ocs_ioctl.c Mon Jun 11 19:03:49 2018 (r334967)
@@ -140,7 +140,7 @@ ocs_process_sli_config (ocs_t *ocs, ocs_ioctl_elxu_mbo
wrobj->host_buffer_descriptor[0].u.data.buffer_address_high = ocs_addr32_hi(dma->phys);
/* copy the data into the DMA buffer */
- copyin((void *)mcmd->in_addr, dma->virt, mcmd->in_bytes);
+ copyin((void *)(uintptr_t)mcmd->in_addr, dma->virt, mcmd->in_bytes);
}
break;
case SLI4_OPC_COMMON_DELETE_OBJECT:
@@ -169,8 +169,8 @@ ocs_process_sli_config (ocs_t *ocs, ocs_ioctl_elxu_mbo
break;
default:
device_printf(ocs->dev, "%s: in=%p (%lld) out=%p (%lld)\n", __func__,
- (void *)mcmd->in_addr, (unsigned long long)mcmd->in_bytes,
- (void *)mcmd->out_addr, (unsigned long long)mcmd->out_bytes);
+ (void *)(uintptr_t)mcmd->in_addr, (unsigned long long)mcmd->in_bytes,
+ (void *)(uintptr_t)mcmd->out_addr, (unsigned long long)mcmd->out_bytes);
device_printf(ocs->dev, "%s: unknown (opc=%#x)\n", __func__,
req->opcode);
hexdump(mcmd, mcmd->size, NULL, 0);
@@ -184,7 +184,7 @@ ocs_process_sli_config (ocs_t *ocs, ocs_ioctl_elxu_mbo
return ENXIO;
}
- copyin((void *)mcmd->in_addr, dma->virt, mcmd->in_bytes);
+ copyin((void *)(uintptr_t)mcmd->in_addr, dma->virt, mcmd->in_bytes);
sli_config->payload.mem.address_low = ocs_addr32_lo(dma->phys);
sli_config->payload.mem.address_high = ocs_addr32_hi(dma->phys);
@@ -250,7 +250,7 @@ ocs_process_mbx_ioctl(ocs_t *ocs, ocs_ioctl_elxu_mbox_
if( SLI4_MBOX_COMMAND_SLI_CONFIG == ((sli4_mbox_command_header_t *)mcmd->payload)->command
&& mcmd->out_bytes && dma.virt) {
- copyout(dma.virt, (void *)mcmd->out_addr, mcmd->out_bytes);
+ copyout(dma.virt, (void *)(uintptr_t)mcmd->out_addr, mcmd->out_bytes);
}
no_support:
Modified: projects/pnfs-planb-server/sys/dev/ocs_fc/ocs_sport.c
==============================================================================
--- projects/pnfs-planb-server/sys/dev/ocs_fc/ocs_sport.c Mon Jun 11 19:00:07 2018 (r334966)
+++ projects/pnfs-planb-server/sys/dev/ocs_fc/ocs_sport.c Mon Jun 11 19:03:49 2018 (r334967)
@@ -781,7 +781,7 @@ __ocs_sport_attached(ocs_sm_ctx_t *ctx, ocs_sm_event_t
case OCS_EVT_ENTER: {
ocs_node_t *node;
- ocs_log_debug(ocs, "[%s] SPORT attached WWPN %016llx WWNN %016llx \n", (unsigned long long)sport->display_name,
+ ocs_log_debug(ocs, "[%s] SPORT attached WWPN %016llx WWNN %016llx \n", sport->display_name,
sport->wwpn, sport->wwnn);
ocs_sport_lock(sport);
ocs_list_foreach(&sport->node_list, node) {
@@ -805,7 +805,7 @@ __ocs_sport_attached(ocs_sm_ctx_t *ctx, ocs_sm_event_t
}
case OCS_EVT_EXIT:
- ocs_log_debug(ocs, "[%s] SPORT deattached WWPN %016llx WWNN %016llx \n", (unsigned long long)sport->display_name,
+ ocs_log_debug(ocs, "[%s] SPORT deattached WWPN %016llx WWNN %016llx \n", sport->display_name,
sport->wwpn, sport->wwnn);
if (sport->enable_ini) {
ocs_scsi_ini_del_sport(sport);
Modified: projects/pnfs-planb-server/sys/dev/syscons/sysmouse.c
==============================================================================
--- projects/pnfs-planb-server/sys/dev/syscons/sysmouse.c Mon Jun 11 19:00:07 2018 (r334966)
+++ projects/pnfs-planb-server/sys/dev/syscons/sysmouse.c Mon Jun 11 19:03:49 2018 (r334967)
@@ -202,12 +202,6 @@ smdev_ioctl(struct tty *tp, u_long cmd, caddr_t data,
mouse_status.dz = 0;
return 0;
-#ifdef notyet
- case MOUSE_GETVARS: /* get internal mouse variables */
- case MOUSE_SETVARS: /* set internal mouse variables */
- return ENODEV;
-#endif
-
case MOUSE_READSTATE: /* read status from the device */
case MOUSE_READDATA: /* read data from the device */
return ENODEV;
Modified: projects/pnfs-planb-server/sys/dev/usb/net/if_muge.c
==============================================================================
--- projects/pnfs-planb-server/sys/dev/usb/net/if_muge.c Mon Jun 11 19:00:07 2018 (r334966)
+++ projects/pnfs-planb-server/sys/dev/usb/net/if_muge.c Mon Jun 11 19:03:49 2018 (r334967)
@@ -40,6 +40,9 @@ __FBSDID("$FreeBSD$");
* USB 3.1 to 10/100/1000 Mbps Ethernet
* LAN7800 http://www.microchip.com/wwwproducts/en/LAN7800
*
+ * USB 2.0 to 10/100/1000 Mbps Ethernet
+ * LAN7850 http://www.microchip.com/wwwproducts/en/LAN7850
+ *
* USB 2 to 10/100/1000 Mbps Ethernet with built-in USB hub
* LAN7515 (no datasheet available, but probes and functions as LAN7800)
*
@@ -386,11 +389,14 @@ lan78xx_eeprom_read_raw(struct muge_softc *sc, uint16_
if (!locked)
MUGE_LOCK(sc);
- err = lan78xx_read_reg(sc, ETH_HW_CFG, &val);
- saved = val;
+ if (sc->chipid == ETH_ID_REV_CHIP_ID_7800_) {
+ /* EEDO/EECLK muxed with LED0/LED1 on LAN7800. */
+ err = lan78xx_read_reg(sc, ETH_HW_CFG, &val);
+ saved = val;
- val &= ~(ETH_HW_CFG_LEDO_EN_ | ETH_HW_CFG_LED1_EN_);
- err = lan78xx_write_reg(sc, ETH_HW_CFG, val);
+ val &= ~(ETH_HW_CFG_LEDO_EN_ | ETH_HW_CFG_LED1_EN_);
+ err = lan78xx_write_reg(sc, ETH_HW_CFG, val);
+ }
err = lan78xx_wait_for_bits(sc, ETH_E2P_CMD, ETH_E2P_CMD_BUSY_);
if (err != 0) {
@@ -432,7 +438,10 @@ lan78xx_eeprom_read_raw(struct muge_softc *sc, uint16_
done:
if (!locked)
MUGE_UNLOCK(sc);
- lan78xx_write_reg(sc, ETH_HW_CFG, saved);
+ if (sc->chipid == ETH_ID_REV_CHIP_ID_7800_) {
+ /* Restore saved LED configuration. */
+ lan78xx_write_reg(sc, ETH_HW_CFG, saved);
+ }
return (err);
}
@@ -982,7 +991,11 @@ lan78xx_chip_init(struct muge_softc *sc)
}
sc->chipid = (buf & ETH_ID_REV_CHIP_ID_MASK_) >> 16;
sc->chiprev = buf & ETH_ID_REV_CHIP_REV_MASK_;
- if (sc->chipid != ETH_ID_REV_CHIP_ID_7800_) {
+ switch (sc->chipid) {
+ case ETH_ID_REV_CHIP_ID_7800_:
+ case ETH_ID_REV_CHIP_ID_7850_:
+ break;
+ default:
muge_warn_printf(sc, "Chip ID 0x%04x not yet supported\n",
sc->chipid);
goto init_failed;
@@ -1078,9 +1091,12 @@ lan78xx_chip_init(struct muge_softc *sc)
goto init_failed;
}
- /* Enable automatic duplex detection and automatic speed detection. */
err = lan78xx_read_reg(sc, ETH_MAC_CR, &buf);
- buf |= ETH_MAC_CR_AUTO_DUPLEX_ | ETH_MAC_CR_AUTO_SPEED_;
+ if (sc->chipid == ETH_ID_REV_CHIP_ID_7800_ &&
+ !lan78xx_eeprom_present(sc)) {
+ /* Set automatic duplex and speed on LAN7800 without EEPROM. */
+ buf |= ETH_MAC_CR_AUTO_DUPLEX_ | ETH_MAC_CR_AUTO_SPEED_;
+ }
err = lan78xx_write_reg(sc, ETH_MAC_CR, buf);
/*
Modified: projects/pnfs-planb-server/sys/dev/usb/usbdevs
==============================================================================
--- projects/pnfs-planb-server/sys/dev/usb/usbdevs Mon Jun 11 19:00:07 2018 (r334966)
+++ projects/pnfs-planb-server/sys/dev/usb/usbdevs Mon Jun 11 19:03:49 2018 (r334967)
@@ -717,6 +717,7 @@ vendor ELV 0x18ef ELV
vendor LINKSYS3 0x1915 Linksys
vendor MEINBERG 0x1938 Meinberg Funkuhren
vendor BECEEM 0x198f Beceem Communications
+vendor ZTE 0x19d2 ZTE
vendor QUALCOMMINC 0x19d2 Qualcomm, Incorporated
vendor QUALCOMM3 0x19f5 Qualcomm, Inc.
vendor QUANTA2 0x1a32 Quanta
Modified: projects/pnfs-planb-server/sys/fs/nfs/nfs_commonkrpc.c
==============================================================================
--- projects/pnfs-planb-server/sys/fs/nfs/nfs_commonkrpc.c Mon Jun 11 19:00:07 2018 (r334966)
+++ projects/pnfs-planb-server/sys/fs/nfs/nfs_commonkrpc.c Mon Jun 11 19:03:49 2018 (r334967)
@@ -925,9 +925,9 @@ tryagain:
if ((nmp != NULL && i == NFSV4OP_SEQUENCE && j != 0) ||
(clp != NULL && i == NFSV4OP_CBSEQUENCE && j != 0))
NFSCL_DEBUG(1, "failed seq=%d\n", j);
- if ((nmp != NULL && i == NFSV4OP_SEQUENCE && j == 0) ||
- (clp != NULL && i == NFSV4OP_CBSEQUENCE && j == 0)
- ) {
+ if (((nmp != NULL && i == NFSV4OP_SEQUENCE && j == 0) ||
+ (clp != NULL && i == NFSV4OP_CBSEQUENCE &&
+ j == 0)) && sep != NULL) {
if (i == NFSV4OP_SEQUENCE)
NFSM_DISSECT(tl, uint32_t *,
NFSX_V4SESSIONID +
@@ -969,7 +969,8 @@ tryagain:
}
if (nd->nd_repstat != 0) {
if (nd->nd_repstat == NFSERR_BADSESSION &&
- nmp != NULL && dssep == NULL) {
+ nmp != NULL && dssep == NULL &&
+ (nd->nd_flag & ND_NFSV41) != 0) {
/*
* If this is a client side MDS RPC, mark
* the MDS session defunct and initiate
Modified: projects/pnfs-planb-server/sys/fs/nfsclient/nfsmount.h
==============================================================================
--- projects/pnfs-planb-server/sys/fs/nfsclient/nfsmount.h Mon Jun 11 19:00:07 2018 (r334966)
+++ projects/pnfs-planb-server/sys/fs/nfsclient/nfsmount.h Mon Jun 11 19:03:49 2018 (r334967)
@@ -129,8 +129,10 @@ nfsmnt_mdssession(struct nfsmount *nmp)
{
struct nfsclsession *tsep;
+ tsep = NULL;
mtx_lock(&nmp->nm_mtx);
- tsep = NFSMNT_MDSSESSION(nmp);
+ if (TAILQ_FIRST(&nmp->nm_sess) != NULL)
+ tsep = NFSMNT_MDSSESSION(nmp);
mtx_unlock(&nmp->nm_mtx);
return (tsep);
}
Modified: projects/pnfs-planb-server/sys/i386/i386/vm86bios.s
==============================================================================
--- projects/pnfs-planb-server/sys/i386/i386/vm86bios.s Mon Jun 11 19:00:07 2018 (r334966)
+++ projects/pnfs-planb-server/sys/i386/i386/vm86bios.s Mon Jun 11 19:03:49 2018 (r334967)
@@ -67,7 +67,8 @@ ENTRY(vm86_bioscall)
pushl %edx
movl TD_PCB(%ecx),%ecx
pushl PCB_SAVEFPU(%ecx)
- call npxsave
+ movl $npxsave,%eax
+ call *%eax
addl $4,%esp
popl %edx /* recover our pcb */
1:
Modified: projects/pnfs-planb-server/sys/kern/makesyscalls.sh
==============================================================================
--- projects/pnfs-planb-server/sys/kern/makesyscalls.sh Mon Jun 11 19:00:07 2018 (r334966)
+++ projects/pnfs-planb-server/sys/kern/makesyscalls.sh Mon Jun 11 19:03:49 2018 (r334967)
@@ -47,7 +47,7 @@ systracetmp="systrace.$$"
systraceret="systraceret.$$"
if [ -r capabilities.conf ]; then
- capenabled=`cat capabilities.conf | grep -v "^#" | grep -v "^$"`
+ capenabled=`egrep -v '^#|^$' capabilities.conf`
capenabled=`echo $capenabled | sed 's/ /,/g'`
else
capenabled=""
Modified: projects/pnfs-planb-server/sys/kern/uipc_socket.c
==============================================================================
--- projects/pnfs-planb-server/sys/kern/uipc_socket.c Mon Jun 11 19:00:07 2018 (r334966)
+++ projects/pnfs-planb-server/sys/kern/uipc_socket.c Mon Jun 11 19:03:49 2018 (r334967)
@@ -2162,7 +2162,6 @@ release:
/*
* Optimized version of soreceive() for stream (TCP) sockets.
- * XXXAO: (MSG_WAITALL | MSG_PEEK) isn't properly handled.
*/
int
soreceive_stream(struct socket *so, struct sockaddr **psa, struct uio *uio,
@@ -2177,12 +2176,12 @@ soreceive_stream(struct socket *so, struct sockaddr **
return (EINVAL);
if (psa != NULL)
*psa = NULL;
- if (controlp != NULL)
- return (EINVAL);
if (flagsp != NULL)
flags = *flagsp &~ MSG_EOR;
else
flags = 0;
+ if (controlp != NULL)
+ *controlp = NULL;
if (flags & MSG_OOB)
return (soreceive_rcvoob(so, uio, flags));
if (mp0 != NULL)
Modified: projects/pnfs-planb-server/sys/modules/Makefile
==============================================================================
--- projects/pnfs-planb-server/sys/modules/Makefile Mon Jun 11 19:00:07 2018 (r334966)
+++ projects/pnfs-planb-server/sys/modules/Makefile Mon Jun 11 19:03:49 2018 (r334967)
@@ -627,7 +627,9 @@ _aac= aac
_aacraid= aacraid
_acpi= acpi
.if ${MK_CRYPT} != "no" || defined(ALL_MODULES)
+.if ${COMPILER_TYPE} != "gcc" || ${COMPILER_VERSION} > 40201
_aesni= aesni
+.endif
.endif
_amd_ecc_inject=amd_ecc_inject
_amdsbwd= amdsbwd
Modified: projects/pnfs-planb-server/sys/netinet/tcp_hpts.c
==============================================================================
--- projects/pnfs-planb-server/sys/netinet/tcp_hpts.c Mon Jun 11 19:00:07 2018 (r334966)
+++ projects/pnfs-planb-server/sys/netinet/tcp_hpts.c Mon Jun 11 19:03:49 2018 (r334967)
@@ -1960,3 +1960,4 @@ tcp_init_hptsi(void *st)
}
SYSINIT(tcphptsi, SI_SUB_KTHREAD_IDLE, SI_ORDER_ANY, tcp_init_hptsi, NULL);
+MODULE_VERSION(tcphpts, 1);
Modified: projects/pnfs-planb-server/sys/netinet/tcp_stacks/rack.c
==============================================================================
--- projects/pnfs-planb-server/sys/netinet/tcp_stacks/rack.c Mon Jun 11 19:00:07 2018 (r334966)
+++ projects/pnfs-planb-server/sys/netinet/tcp_stacks/rack.c Mon Jun 11 19:03:49 2018 (r334967)
@@ -127,10 +127,6 @@ uma_zone_t rack_pcb_zone;
struct sysctl_ctx_list rack_sysctl_ctx;
struct sysctl_oid *rack_sysctl_root;
-#ifndef TCPHPTS
-fatal error missing option TCPHSTS in the build;
-#endif
-
#define CUM_ACKED 1
#define SACKED 2
@@ -9162,3 +9158,4 @@ static moduledata_t tcp_rack = {
MODULE_VERSION(MODNAME, 1);
DECLARE_MODULE(MODNAME, tcp_rack, SI_SUB_PROTO_DOMAIN, SI_ORDER_ANY);
+MODULE_DEPEND(MODNAME, tcphpts, 1, 1, 1);
Modified: projects/pnfs-planb-server/sys/sys/mouse.h
==============================================================================
--- projects/pnfs-planb-server/sys/sys/mouse.h Mon Jun 11 19:00:07 2018 (r334966)
+++ projects/pnfs-planb-server/sys/sys/mouse.h Mon Jun 11 19:03:49 2018 (r334967)
@@ -38,8 +38,6 @@
#define MOUSE_SETMODE _IOW('M', 3, mousemode_t)
#define MOUSE_GETLEVEL _IOR('M', 4, int)
#define MOUSE_SETLEVEL _IOW('M', 5, int)
-#define MOUSE_GETVARS _IOR('M', 6, mousevar_t)
-#define MOUSE_SETVARS _IOW('M', 7, mousevar_t)
#define MOUSE_READSTATE _IOWR('M', 8, mousedata_t)
#define MOUSE_READDATA _IOWR('M', 9, mousedata_t)
@@ -227,19 +225,6 @@ typedef struct mousedata {
int len; /* # of data in the buffer */
int buf[16]; /* data buffer */
} mousedata_t;
-
-#if (defined(MOUSE_GETVARS))
-
-typedef struct mousevar {
- int var[16];
-} mousevar_t;
-
-/* magic numbers in var[0] */
-#define MOUSE_VARS_PS2_SIG 0x00325350 /* 'PS2' */
-#define MOUSE_VARS_BUS_SIG 0x00535542 /* 'BUS' */
-#define MOUSE_VARS_INPORT_SIG 0x00504e49 /* 'INP' */
-
-#endif /* MOUSE_GETVARS */
/* Synaptics Touchpad */
#define MOUSE_SYNAPTICS_PACKETSIZE 6 /* '3' works better */
Modified: projects/pnfs-planb-server/sys/x86/x86/nexus.c
==============================================================================
--- projects/pnfs-planb-server/sys/x86/x86/nexus.c Mon Jun 11 19:00:07 2018 (r334966)
+++ projects/pnfs-planb-server/sys/x86/x86/nexus.c Mon Jun 11 19:03:49 2018 (r334967)
@@ -47,6 +47,7 @@ __FBSDID("$FreeBSD$");
#include "opt_apic.h"
#endif
#include "opt_isa.h"
+#include "opt_pci.h"
#include <sys/param.h>
#include <sys/systm.h>
@@ -131,7 +132,7 @@ static int nexus_get_resource(device_t, device_t, int,
static void nexus_delete_resource(device_t, device_t, int, int);
static int nexus_get_cpus(device_t, device_t, enum cpu_sets, size_t,
cpuset_t *);
-#ifdef DEV_APIC
+#if defined(DEV_APIC) && defined(DEV_PCI)
static int nexus_alloc_msi(device_t pcib, device_t dev, int count, int maxcount, int *irqs);
static int nexus_release_msi(device_t pcib, device_t dev, int count, int *irqs);
static int nexus_alloc_msix(device_t pcib, device_t dev, int *irq);
@@ -172,7 +173,7 @@ static device_method_t nexus_methods[] = {
DEVMETHOD(bus_get_cpus, nexus_get_cpus),
/* pcib interface */
-#ifdef DEV_APIC
+#if defined(DEV_APIC) && defined(DEV_PCI)
DEVMETHOD(pcib_alloc_msi, nexus_alloc_msi),
DEVMETHOD(pcib_release_msi, nexus_release_msi),
DEVMETHOD(pcib_alloc_msix, nexus_alloc_msix),
@@ -701,7 +702,7 @@ nexus_add_irq(u_long irq)
panic("%s: failed", __func__);
}
-#ifdef DEV_APIC
+#if defined(DEV_APIC) && defined(DEV_PCI)
static int
nexus_alloc_msix(device_t pcib, device_t dev, int *irq)
{
@@ -736,7 +737,7 @@ nexus_map_msi(device_t pcib, device_t dev, int irq, ui
return (msi_map(irq, addr, data));
}
-#endif
+#endif /* DEV_APIC && DEV_PCI */
/* Placeholder for system RAM. */
static void
More information about the svn-src-projects
mailing list