summaryrefslogtreecommitdiff
path: root/sys
AgeCommit message (Collapse)Author
2018-07-10vmm(4): remove a wrong commentMike Larkin
2018-07-10Move socket & pipe specific logic in their ioctl handler.Martin Pieuchot
ok visa@, tb@
2018-07-10Drop the ignored selectors (tf_[defg]s) from the trap and interrupt frames.Philip Guenther
ok mlarkin@ deraadt@ mpi@ kettenis@
2018-07-10Move from sendsig() to its callers the initsiginfo() calls andPhilip Guenther
instead of passing sendsig() the code+type+val, pass a siginfo_t* to copy from. Eliminate the indirection through struct emul for sendsig(); we no longer have a SunOS4-compat version of sendsig() ok deraadt@
2018-07-09vmm(4): prohibit setting/clearing invalid bits in %cr0/%cr4. This wasMike Larkin
previously caught later but resulted in a guest termination, now we use #GP as the SDM recommends.
2018-07-09sprinkle comments and rename iface to match its use to ctl_iface_idxJasper Lievisse Adriaanse
ok abieber@
2018-07-09use UE_GET_XFERTYPE(); no binary changeJasper Lievisse Adriaanse
2018-07-09Fix trailing whitespaces and too long line.Alexander Bluhm
2018-07-09Mark the i8254 clock interrupt MPSAFE. It isn't, but it doesn't matterMark Kettenis
as it is impossoble to run an anything but a single-CPU machine with it. ok mpi@, guenther@
2018-07-09Delete the VM86 kernel option and i386_vm86(3) API: it's requiredPhilip Guenther
a custom kernel for over 20 years. testing mlarkin@ ok deraadt@ phessler@ jca@ matthieu@
2018-07-09Enable pcagpio(4).Patrick Wildt
2018-07-09Strip down the (not enabled) pcagpio(4) GPIO extender. This removesPatrick Wildt
the sensors code and user-controllable GPIO bus attachment but at the same time hooks pcagpio(4) into the OFW GPIO framework so that it can be used by other device tree based drivers. Discussed with deraadt@ ok kettenis@
2018-07-09Inline the raw_usrreq() function into pfkeyv2_usrreq(). Similar to theClaudio Jeker
change to rtsock.c. This simplifies the pfkey code since there is no special wrapping needed and in general the PRU cases get easier. OK bluhm@ henning@ mpi@
2018-07-09Inline the raw_usrreq() function into route_usrreq(). This simplifies theClaudio Jeker
route code since there is no more special wrapping needed and in some places the PRU cases get easier because route(4) for example always connected. OK bluhm@ henning@ mpi@
2018-07-09Basic support for SFP modules in mvneta(4). SFP modules are basicallyPatrick Wildt
hotpluggable PHYs whose status can either be read using an I2C-connected PHY, or using in-band status management implemented in the controller itself over SGMII. With this, 802.3z SFPs work on mvneta(4).
2018-07-09Add a phandle to v2m nodes.Mark Kettenis
2018-07-09vmm(4): inject #UD on vmx instructions, instead of dropping into theMike Larkin
unhandled exit function. ok phessler
2018-07-09Rest the FPU's fcw and mxcsr before initializing the "FPU reset state" areaPhilip Guenther
problem discovered on bluhm@'s old opteron ok deraadt@ kettenis@
2018-07-09Use function name in panic string, like in some other places.Claudio Jeker
OK henning@ benno@
2018-07-09Add bnxt(4), a driver for Broadcom NetXtreme-C/E 10G+ ethernet.Jonathan Matthew
Sort of a port from freebsd, but I had to write all the interesting bits myself. Not very complete yet, but good enough to commit over. ok kettenis@ deraadt@
2018-07-09Add a few common PCIe devices based on the arm64 kernel configs.Patrick Wildt
2018-07-09dd mvpcie(4), a driver for the Marvell ARMADA 38x PCIe controller,Patrick Wildt
as implemented in the SolidRun Clearfog and Turris Omnia. ok kettenis@
2018-07-09Enable ampintcmsi(4), pciecam(4) and PCIVERBOSE.Patrick Wildt
ok kettenis@
2018-07-09Introduce pciecam(4), a driver for generic ECAM compatible PCI hostPatrick Wildt
controllers. ok kettenis@
2018-07-09Add PCI machdep headers based on the arm64 port.Patrick Wildt
ok kettenis@
2018-07-09Implement ampintcmsi(4) in ampintc(4) to support MSI. The GICv2M is anPatrick Wildt
extension to the GIC controller, which is represented as subnode in the device tree. There can be multiple GICv2Ms, so it makes sense to attach those to ampintc(4) as some kind of simplebus. The GICv2M is simply an interrupt generator that can be used by PCIe devices to ring the door bell. There is no need for further configuration, we only need to find out which SPIs we are allowed to use for MSI and to register an edge triggered interrupt on a (randomly) allocated SPI. Implement support for interrupt types. The GIC only seems to support level triggered active-high or egdge triggered low-to-high interrupts. We currently always configure them to be level triggered, which is a sane default for most controllers. Since MSI interupts on the GIC are edge triggered, we need to be able to parse the type information and to configure the interrupt correspondingly. ok kettenis@
2018-07-09Add an API to add and delete windows in the mvmbus(4) controller. ThisPatrick Wildt
will be used by the PCIe controller to set up the memory regions for the PCIe devices. Also export the PCIe IO and MEM address regions. These will be used to setup the PCIe extents. ok kettenis@
2018-07-09Make free(9) MP safe. It was wrong to set ku_indx to 0 after freeingAlexander Bluhm
the memory in uvm. Another process could use the false 0 then. To be on the safe side, protect all access to ku_indx and ku_pagecnt with a mutex. Update ku_indx and ku_pagecnt before calling uvm_km_free(). Update ksp after uvm_km_free() to keep accounting correct. tested by sthen@; OK mpi@ visa@ deraadt@
2018-07-09Add retguard macros to aes_intel.mortimer
ok sthen@
2018-07-09Use a slightly more efficient zeroing idiom when clearing GPRsPhilip Guenther
ok mlarkin@ mortimer@
2018-07-09Nuke unused define 'nfsm_writereply()'.Kenneth R Westerback
ok beck@ deraadt@ guenther@ mpi@
2018-07-08regenthfr
2018-07-08add AMD Summit Ridge (17h) and Raven Ridge PCI devices. ok brynet@thfr
2018-07-08"id" is too generic, rename to "rdomain" for clarity and easier greppingJeremie Courreges-Anglas
ok benno@ mpi@
2018-07-08Use the same test pattern as for enc_ifps, for consistencyJeremie Courreges-Anglas
ok denis@
2018-07-07Fix an argument type error that happens when translating fcntl(F_SETOWN)Visa Hankala
to ioctl(TIOCSPGRP). The ioctl handlers expect a pointer to an int, so read the argument into a local int variable and pass the variable's address to the handler instead of referencing SCARG(uap, arg) directly. OK guenther@, mpi@
2018-07-07Remember to lock v_specparent for VOP operations.Visa Hankala
OK anton@, mpi@
2018-07-07Fix a locking error in spec_setattr(). Unlike many VOP operations,Visa Hankala
VOP_SETATTR() does not release the vnode lock (and it has never done the unlocking in the past). Therefore spec_setattr() has to keep the argument vnode locked and unlock v_specparent instead after the nested VOP_SETATTR() call. Fixes a WITNESS panic found by anton@ OK anton@, mpi@
2018-07-07Release the kernel lock fully on thread exit. This prevents a lockingVisa Hankala
error that would happen otherwise when a traced and stopped multithreaded process is forced to exit. The error shows up as a kernel panic when WITNESS is enabled. Without WITNESS, the error causes a system hang. sched_exit() has expected that a single KERNEL_UNLOCK() would release the lock completely. That assumption is wrong when an exit happens through the signal tracing logic: sched_exit exit1 single_thread_check single_thread_set issignal <-- KERNEL_LOCK() userret <-- KERNEL_LOCK() syscall The error is a regression of r1.216 of kern_sig.c. Panic reported and fix tested by Laurence Tratt OK mpi@
2018-07-07Fix uaudio(4) detection on Logitech Webcam C200/C210/C250/C270/C310/C500.Landry Breuil
Those devices have a broken AudioControl descriptor which advertises a bad value for bLength for the FEATURE_UNIT sub-descriptor, so add a quirk 'fixing' this bLength so that uaudio(4) attaches properly instead of bailing out with 'audio descriptors make no sense, error=4'. My C310 now properly attaches but doesnt seem to work right now, this is a different issue that will be worked on. Thanks to tb@, remi@, weerd@, Raf Czlonka, Base Pr1me, Jordan Geoghegan, Peter J. Philipp, Alfredo Vogel, James Hastings, Bruno Flueckiger, Remco & Alex Tsang for providing lsusb -v output for a large variety of Logitech Webcams. ok mpi@ ratchov@
2018-07-07regenLandry Breuil
2018-07-07Add ids for Logitech Webcam C250, also affected by the 'bogusLandry Breuil
FEATURE_UNIT bLength' issue. ok mpi@
2018-07-06Implement an API for establishing legacy PCI interrupts. This specificPatrick Wildt
establish function parses the device tree's interrupt map to discover the correct interrupt controller node and interrupt cells for the given PCI node. After retrieving that information we can do the same the normal FDT establish API already does. MSI interrupts are established in a different way as well. Instead of simply hooking up the interrupt handler and returning an MD cookie, we need to pass back information for the PCI controller to configure its interrupt correctly. For this, add another establish routine into the FDT-based interrupt API which looks up msi-controller nodes and calls their MSI-specific establish function if requested. ok kettenis@
2018-07-06Add bus_dmamap_sync(9) calls to bwfm(4) so that we make sure the dataPatrick Wildt
is synced properly before the CPU or the WiFi chip access the supplied memory. Makes PCIe-connected bwfm(4) work on ARM-based machines.
2018-07-06Move mbuf alignment for strict aligned architectures from the BCDCPatrick Wildt
specific receive path into the generic receive path, since PCIe supplied packets can be misaligned as well.
2018-07-06Since the function is supposed to return 1 if the window is free, wePatrick Wildt
must return 0 if we don't want that someone uses window 13. Remove erroneous for-loop. We simply want to check if it's a remappable window to disable the remap in that case. ok kettenis@
2018-07-06Fix efiboot not to panic when a serial which does not exist actuallyYASUOKA Masahiko
is specified as the console. Current implementation can't assume the given device is proved at the callback functions if the system has one serial device at least.
2018-07-06Split trap() into kerntrap() and usertrap(), with all the signal generationPhilip Guenther
in a compact block in the latter. ok deraadt@ mlarkin@
2018-07-06regenJonathan Matthew
2018-07-06add Broadcom NetXtreme-C/E devicesJonathan Matthew