summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Histogramjd/histogramJason A. Donenfeld2020-06-222-2/+15
|
* add intrmap_one, some temp code to help us write pci_intr_establish_cpu.dlg2020-06-232-2/+17
| | | | | | | it means we can do quick hacks to existing drivers to test interrupts on multiple cpus. emphasis on quick and hacks. ok jmatthew@, who will also ok the removal of it at the right time.
* Implement pci_intr_establish_cpu() for pyro(4) and vpci(4) based sparc64jmatthew2020-06-2310-129/+426
| | | | | | | | | | | | | | | | | systems. MSIs on these systems are delivered to event queues, which trigger interrupts when non-empty. The interrupt handler dequeues the MSIs and converts them into soft interrupts, which run on the same cpu as the event queue interrupt. To target pci device interrupts to different cpus, we set up an event queue per cpu in the system, or as many as we can, if there are fewer event queues available. For now, we don't have a way to feed this information back to intrmap, so instead we just map interrupts for cpus that don't have an event queue to another cpu that does have one. Tested on V215 (pyro), T5120, T4-1, S7-2 (vpci). dlg@ got the pyro side of it working for me. ok dlg@ kettenis@
* some clarifying commentsdjm2020-06-221-2/+9
|
* timecounting: add gettime(9), getuptime(9)cheloha2020-06-223-5/+62
| | | | | | | | | | | | | | | | | | | | | | time_second and time_uptime are used widely in the tree. This is a problem on 32-bit platforms because time_t is 64-bit, so there is a potential split-read whenever they are used at or below IPL_CLOCK. Here are two replacement interfaces: gettime(9) and getuptime(9). The "get" prefix signifies that they do not read the hardware timecounter, i.e. they are fast and low-res. The lack of a unit (e.g. micro, nano) signifies that they yield a plain time_t. As an optimization on LP64 platforms we can just return time_second or time_uptime, as a single read is atomic. On 32-bit platforms we need to do the lockless read loop and get the values from the timecounter. In a subsequent diff these will be substituted for time_second and time_uptime almost everywhere in the kernel. With input from visa@ and dlg@. ok kettenis@
* Add opalcons(4), a driver for the OPAL console.kettenis2020-06-226-5/+309
|
* The minimum frame size for the ELFv2 ABI is 32 bytes. Using this valuekettenis2020-06-223-87/+86
| | | | | | | instead of 48 in the trap setup functions makes it possible to get rid of the magic offset in proc_trampoline. Suggested by gkoehler@
* inittodr(9): introduce dedicated flag to enable writes from resettodr(9)cheloha2020-06-221-2/+9
| | | | | | | | | | | | | | | | | | | | | | | | We don't want resettodr(9) to write the RTC until inittodr(9) has actually run. Until inittodr(9) calls tc_setclock() the system UTC clock will contain a meaningless value and there's no sense in overwriting a good value with a value we know is nonsense. This is not an uncommon problem if you're debugging a problem in early boot, e.g. a panic that occurs prior to inittodr(9). Currently we use the following logic in resettodr(9) to inhibit writes: if (time_second == 1) return; ... this is too magical. A better way to accomplish the same thing is to introduce a dedicated flag set from inittodr(9). Hence, "inittodr_done". Suggested by visa@. ok kettenis@
* Remove unused variabledenis2020-06-221-2/+1
|
* Enable interrupts when they were enabled before the trap (except when wekettenis2020-06-221-7/+4
| | | | | are handling "genuine" interrupts like the decrementer and hypervisor virtualization interrupts).
* Handle data storage and data segment interrupts from userland as well.kettenis2020-06-223-18/+66
|
* Make return-to-user and kernel re-entry work. This adds a per-pmap SLBkettenis2020-06-229-14/+105
| | | | | | cache. We might want to turn that in a per-proc cache at some point, but this gets us to the point where we can sucessfully have init(1) do its first system call.
* Fix previous commit; pasted instructed in the wrong spot.kettenis2020-06-221-2/+2
|
* Remove AMRR/MiRA support from iwx(4). Tx rate selection happens in firmware.stsp2020-06-222-146/+13
|
* Remove unused code for parsing non-volatile memory (NVM) from iwx(4).stsp2020-06-223-465/+5
|
* Add magic offset to make the frames line up.kettenis2020-06-221-1/+2
|
* Implement setregs().kettenis2020-06-221-2/+9
|
* Blacklist Ericsson F5521gw broadband modem.tobhe2020-06-221-1/+9
| | | | ok sthen@
* regentobhe2020-06-222-4/+16
|
* Add Ericsson F5521gw Mobile Broadband Modem.tobhe2020-06-221-1/+5
| | | | ok sthen@
* On my previous commit I made the wrong assumption that the control socket wasmestre2020-06-223-7/+6
| | | | | | | | | | | | | being unlink(2)ed from the main proc so I removed "cpath" from the pledge(2) on the ldpe proc but actually the socket was unlink(2)ed from here, this means the daemon would crash on exit due to pledge(2) not having "cpath" permissions anymore. Finish the job by just not deleting the socket at all during control_cleanup(), which keeps the control program still working without issues but more importantly prevents the crash during exit, sorry about that. Crash reported by wlund at iki.fi OK deraadt@ claudio@ remi@
* Some connectors attach late when the drm driver is registers. Forkettenis2020-06-221-17/+37
| | | | | | | | | | | | that reason we have to delay attaching Backlight properties to those connectors until after drm driver registration. However the drm midlayer code now warns about attaching new properties to connectors after driver registration. So add some workarounds to suppress these warning messages. Figured out by jcs@ ok jsg@, jcs@
* apart from the lock wait_queue_head struct is unused so replace itjsg2020-06-221-25/+25
|
* Provide working definitions of PROC_STACK() and PROC_PC().kettenis2020-06-221-3/+3
|
* spelling fix;jmc2020-06-221-2/+2
|
* don't try to decrement if completion flag is UINT_MAXjsg2020-06-221-6/+11
|
* change "East Tupelo" reference to just "Tupelo";jmc2020-06-221-2/+2
| | | | from carson chittom
* add missing .Pplandry2020-06-221-2/+3
|
* Document "s" commandkn2020-06-221-1/+3
| | | | OK jmc
* Remove ^Z mentionkn2020-06-221-5/+2
| | | | | | | | | | Suspending systat with ^Z is done by the shell iff job control is enabled, not systat itself. Try "set +m" to disable job control or start systat in a terminal without a shell, e.g. "xterm -e systat", to confirm ^Z doing nothing in these cases. OK jmc
* Fix "the symbol HZ is undefined" yacc warningkn2020-06-221-2/+2
| | | | OK mpi
* Extend kqueue interface with EVFILT_EXCEPT filter.mpi2020-06-225-8/+60
| | | | | | | | | | This filter, already implemented in macOS and Dragonfly BSD, returns exceptional conditions like the reception of out-of-band data. The functionnality is similar to poll(2)'s POLLPRI & POLLRDBAND and it can be used by the kqfilter-based poll & select implementation. ok millert@ on a previous version, ok visa@
* Change tsc_get_timecount return from uint to u_int per sys/timetc.h.pirofti2020-06-221-3/+3
| | | | First brought up by naddy@ in the usertc thread, OK kettenis@.
* add missing rcs idjasper2020-06-222-0/+4
|
* Don't pass a pointer to an uninitialized variable as plenp tokrw2020-06-221-4/+4
| | | | | | | | | | | | ip6_hopopts(). The value is tested and non-zero values could cause a packet to be discarded. Initialize the pointed at variable to 0, tweaking variable names and associated comments. COVERITY 1453098 ok deraadt@ mpi@
* drm/amdgpu: Sync with VM root BO when switching VM to CPU update modejsg2020-06-221-2/+9
| | | | | | From Felix Kuehling 8db9696c1fdfa3d80e29ee80d002f315e4e344a9 in linux 5.7.y/5.7.5 90ca78deb004abe75b5024968a199acb96bb70f9 in mainline linux
* drm/amd/powerpay: Disable gfxoff when setting manual mode on picasso and ravenjsg2020-06-221-0/+9
| | | | | | From chen gong 4e88ff94dd359871f609da9f430712fcf7025164 in linux 5.7.y/5.7.5 cbd2d08c7463e78d625a69e9db27ad3004cbbd99 in mainline linux
* drm/amd/display: Do not disable pipe split if mode is not supportedjsg2020-06-221-2/+7
| | | | | | From Sung Lee dbf0a8fce6a9c867c315a400176f9f0e3a963d1e in linux 5.7.y/5.7.5 1dfedb39d38f813357885e19badd1971c17f79a7 in mainline linux
* drm/amd/display: dmcu wait loop calculation is incorrect in RVjsg2020-06-221-3/+0
| | | | | | From Paul Hsieh 11bce5915166fd50a395716755db8c6a3d3f2eb0 in linux 5.7.y/5.7.5 7fc5c319efceaed1a23b7ef35c333553ce39fecf in mainline linux
* Rework checks for `pppx_ifs' tree modification.mvs2020-06-221-8/+4
| | | | | | | | - There is no panic() condition while inserting `pxi' to tree so drop RBT_FIND() to avoid two lookups. - Modify text in panic() message in delete case. ok yasuoka@ claudio@
* drm/amd/display: Correct updating logic of dcn21's pipe VM flagsjsg2020-06-221-5/+1
| | | | | | From Dale Zhao 21b7c6033823d3888a195a24271cbea34279dd62 in linux 5.7.y/5.7.5 2a28fe92220a116735ef45939b7edcfee83cc6b0 in mainline linux
* drm/amd/display: Revert to old formula in set_vtg_paramsjsg2020-06-221-2/+4
| | | | | | From Alvin Lee 719bdc4363637fa45b67c80259c6a72967cb4947 in linux 5.7.y/5.7.5 a1a0e61f3c43c610f0a3c109348c14ce930c1977 in mainline linux
* drm/dp: Lenovo X13 Yoga OLED panel brightness fixjsg2020-06-221-0/+1
| | | | | | From Mark Pearson b846c5c78cf6365adf3b32645db39009c4710a2c in linux 5.7.y/5.7.5 0df3ff451287d71c620384eb7bb2cd3a8106412c in mainline linux
* drm/amdgpu: Init data to avoid oops while reading pp_num_states.jsg2020-06-221-1/+4
| | | | | | From limingyu 4ceae1cf8ca686b64a68822677ef0fb69a917c4e in linux 5.7.y/5.7.5 6f81b2d047c59eb77cd04795a44245d6a52cdaec in mainline linux
* drm/amd/display: fix virtual signal dsc setupjsg2020-06-221-1/+1
| | | | | | From Dmytro Laktyushkin b5d74af308d373668ec2d8f0f0a490207fcc5eda in linux 5.7.y/5.7.5 d5bef51f084fccafa984b114ff74a01a64a0e2e3 in mainline linux
* drm/amd/display: Force watermark value propagationjsg2020-06-222-1/+6
| | | | | | From Joshua Aberback 3a16e9862faff68edb43c1ec3112d62f6a391037 in linux 5.7.y/5.7.5 868149c9a072cbdc22a73ce25a487f9fbfa171ef in mainline linux
* drm/amdgpu: fix and cleanup amdgpu_gem_object_close v4jsg2020-06-221-18/+25
| | | | | | From Christian Koenig ba90bed3ea632a6cff527dea080336666f36ab2b in linux 5.7.y/5.7.5 82c416b13cb7d22b96ec0888b296a48dff8a09eb in mainline linux
* The interface if_ioctl routine must be called with the NET_LOCK() held.claudio2020-06-222-8/+5
| | | | | | | | | | | | For example the bridge_ioctl() function calls NET_UNLOCK() unconditionally and so calling if_ioctl() without netlock will trigger an assert because of not holding the netlock. Make sure the ioctl handlers are called with the netlock held and drop the lock for the wg(4) specific ioctls in the wg_ioctl handler. This fixes a panic in bridge_ioctl() triggered by ifconfig(8) issuing a SIOCGWG ioctl against bridge(4). This is just a workaround this needs more cleanup but at least this way the panic can not be triggered anymore. OK stsp@, tested by semarie@
* gup: document and work around "COW can break either way" issuejsg2020-06-221-0/+8
| | | | | | From Linus Torvalds 8e45fdafdecc8436c5b6e1620c30726056e6b29c in linux 5.7.y/5.7.3 17839856fd588f4ab6b789f482ed3ffd7c403e1f in mainline linux
* Prevent potencial `state_list' corruption while pppac(4) destroys pipex(4)mvs2020-06-221-2/+4
| | | | | | sessions by pipex_iface_fini() or by pipex_ioctl() with `PIPEXSMODE' command. ok yasuoka@