Date: Mon, 11 Jun 2018 19:03:50 +0000 (UTC) From: Rick Macklem <rmacklem@FreeBSD.org> To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: 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/... Message-ID: <201806111903.w5BJ3oxT031018@repo.freebsd.org>
index | next in thread | raw e-mail
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 voidhelp
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201806111903.w5BJ3oxT031018>
