summaryrefslogtreecommitdiff
path: root/sys
AgeCommit message (Collapse)Author
2020-06-23Use C99 initializers in wsdisplay_font struct definitions for SpleenFrederic Cambus
kernel fonts. OK mpi@
2020-06-23Enable virtual consoles on armv7, the same way it is done on arm64.Frederic Cambus
Tested on a Cubieboard2. OK patrick@
2020-06-23hashfree() doesn't like NULL, so check for NULL if NULL is aKenneth R Westerback
possibility. i.e. when bailing out before calling hashinit().. COVERITY 1452907 ok mpi@
2020-06-23Enable MPSAFE start routine to keep encryption workers more active.tobhe
From Jason A. Donenfeld" <Jason (at) zx2c4.com> ok patrick@
2020-06-23Increase TX mitigation backlog size for increased throughput.tobhe
From Jason A. Donenfeld" <Jason (at) zx2c4.com> ok patrick@
2020-06-23Fix format strings (%p --> %lx) in debug code.Kenji Aoyama
ok dlg@
2020-06-23add intrmap_one, some temp code to help us write pci_intr_establish_cpu.David Gwynne
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.
2020-06-23Implement pci_intr_establish_cpu() for pyro(4) and vpci(4) based sparc64Jonathan Matthew
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@
2020-06-22timecounting: add gettime(9), getuptime(9)cheloha
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@
2020-06-22Add opalcons(4), a driver for the OPAL console.Mark Kettenis
2020-06-22The minimum frame size for the ELFv2 ABI is 32 bytes. Using this valueMark Kettenis
instead of 48 in the trap setup functions makes it possible to get rid of the magic offset in proc_trampoline. Suggested by gkoehler@
2020-06-22inittodr(9): introduce dedicated flag to enable writes from resettodr(9)cheloha
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@
2020-06-22Enable interrupts when they were enabled before the trap (except when weMark Kettenis
are handling "genuine" interrupts like the decrementer and hypervisor virtualization interrupts).
2020-06-22Handle data storage and data segment interrupts from userland as well.Mark Kettenis
2020-06-22Make return-to-user and kernel re-entry work. This adds a per-pmap SLBMark Kettenis
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.
2020-06-22Fix previous commit; pasted instructed in the wrong spot.Mark Kettenis
2020-06-22Remove AMRR/MiRA support from iwx(4). Tx rate selection happens in firmware.Stefan Sperling
2020-06-22Remove unused code for parsing non-volatile memory (NVM) from iwx(4).Stefan Sperling
2020-06-22Add magic offset to make the frames line up.Mark Kettenis
2020-06-22Implement setregs().Mark Kettenis
2020-06-22Blacklist Ericsson F5521gw broadband modem.tobhe
ok sthen@
2020-06-22regentobhe
2020-06-22Add Ericsson F5521gw Mobile Broadband Modem.tobhe
ok sthen@
2020-06-22Some connectors attach late when the drm driver is registers. ForMark Kettenis
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@
2020-06-22apart from the lock wait_queue_head struct is unused so replace itJonathan Gray
2020-06-22Provide working definitions of PROC_STACK() and PROC_PC().Mark Kettenis
2020-06-22don't try to decrement if completion flag is UINT_MAXJonathan Gray
2020-06-22Extend kqueue interface with EVFILT_EXCEPT filter.Martin Pieuchot
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@
2020-06-22Change tsc_get_timecount return from uint to u_int per sys/timetc.h.Paul Irofti
First brought up by naddy@ in the usertc thread, OK kettenis@.
2020-06-22add missing rcs idJasper Lievisse Adriaanse
2020-06-22Don't pass a pointer to an uninitialized variable as plenp toKenneth R Westerback
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@
2020-06-22drm/amdgpu: Sync with VM root BO when switching VM to CPU update modeJonathan Gray
From Felix Kuehling 8db9696c1fdfa3d80e29ee80d002f315e4e344a9 in linux 5.7.y/5.7.5 90ca78deb004abe75b5024968a199acb96bb70f9 in mainline linux
2020-06-22drm/amd/powerpay: Disable gfxoff when setting manual mode on picasso and ravenJonathan Gray
From chen gong 4e88ff94dd359871f609da9f430712fcf7025164 in linux 5.7.y/5.7.5 cbd2d08c7463e78d625a69e9db27ad3004cbbd99 in mainline linux
2020-06-22drm/amd/display: Do not disable pipe split if mode is not supportedJonathan Gray
From Sung Lee dbf0a8fce6a9c867c315a400176f9f0e3a963d1e in linux 5.7.y/5.7.5 1dfedb39d38f813357885e19badd1971c17f79a7 in mainline linux
2020-06-22drm/amd/display: dmcu wait loop calculation is incorrect in RVJonathan Gray
From Paul Hsieh 11bce5915166fd50a395716755db8c6a3d3f2eb0 in linux 5.7.y/5.7.5 7fc5c319efceaed1a23b7ef35c333553ce39fecf in mainline linux
2020-06-22Rework checks for `pppx_ifs' tree modification.mvs
- 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@
2020-06-22drm/amd/display: Correct updating logic of dcn21's pipe VM flagsJonathan Gray
From Dale Zhao 21b7c6033823d3888a195a24271cbea34279dd62 in linux 5.7.y/5.7.5 2a28fe92220a116735ef45939b7edcfee83cc6b0 in mainline linux
2020-06-22drm/amd/display: Revert to old formula in set_vtg_paramsJonathan Gray
From Alvin Lee 719bdc4363637fa45b67c80259c6a72967cb4947 in linux 5.7.y/5.7.5 a1a0e61f3c43c610f0a3c109348c14ce930c1977 in mainline linux
2020-06-22drm/dp: Lenovo X13 Yoga OLED panel brightness fixJonathan Gray
From Mark Pearson b846c5c78cf6365adf3b32645db39009c4710a2c in linux 5.7.y/5.7.5 0df3ff451287d71c620384eb7bb2cd3a8106412c in mainline linux
2020-06-22drm/amdgpu: Init data to avoid oops while reading pp_num_states.Jonathan Gray
From limingyu 4ceae1cf8ca686b64a68822677ef0fb69a917c4e in linux 5.7.y/5.7.5 6f81b2d047c59eb77cd04795a44245d6a52cdaec in mainline linux
2020-06-22drm/amd/display: fix virtual signal dsc setupJonathan Gray
From Dmytro Laktyushkin b5d74af308d373668ec2d8f0f0a490207fcc5eda in linux 5.7.y/5.7.5 d5bef51f084fccafa984b114ff74a01a64a0e2e3 in mainline linux
2020-06-22drm/amd/display: Force watermark value propagationJonathan Gray
From Joshua Aberback 3a16e9862faff68edb43c1ec3112d62f6a391037 in linux 5.7.y/5.7.5 868149c9a072cbdc22a73ce25a487f9fbfa171ef in mainline linux
2020-06-22drm/amdgpu: fix and cleanup amdgpu_gem_object_close v4Jonathan Gray
From Christian Koenig ba90bed3ea632a6cff527dea080336666f36ab2b in linux 5.7.y/5.7.5 82c416b13cb7d22b96ec0888b296a48dff8a09eb in mainline linux
2020-06-22The interface if_ioctl routine must be called with the NET_LOCK() held.Claudio Jeker
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@
2020-06-22gup: document and work around "COW can break either way" issueJonathan Gray
From Linus Torvalds 8e45fdafdecc8436c5b6e1620c30726056e6b29c in linux 5.7.y/5.7.3 17839856fd588f4ab6b789f482ed3ffd7c403e1f in mainline linux
2020-06-22Prevent potencial `state_list' corruption while pppac(4) destroys pipex(4)mvs
sessions by pipex_iface_fini() or by pipex_ioctl() with `PIPEXSMODE' command. ok yasuoka@
2020-06-22Fix two iwx(4) TX_CMD_OFFLD macros.Stefan Sperling
The IP_HDR and MH_SIZE fields represent byte offsets into the frame, rather than flags. Make these macros require a parameter to prevent them from being misunderstood as flag bits. In iwlwifi these are defined via an enum, with most values being used as parameters to BIT(). Yet these IP and MH ones are actually used to shift length values to particular positions within the offloading parameters of the Tx command. Fortunately, these macros aren't used yet in our version of the driver.
2020-06-22Prepare for newer iwx(4) firmware scan command versions.Stefan Sperling
Add declarations of "version 2" scan flags from iwlwifi and prepare the iwx_scan_channel_cfg_umac struct for life beyond version 1. None of this is needed yet. But we will need this at some point and I've already written the diff, hoping it would prevent firmware errors (which of course it didn't).
2020-06-22Update definition of the iwx_ac_to_tx_fifo map.Stefan Sperling
Compared to iwm(4) devices the BE and BK fifo numbers have been swapped in iwx(4) hardware. This has no real consequences for us since we send all frames at the same access category, but I'm fixing the mapping anyway.
2020-06-22Enable critical temperature detection in iwx(4) firmware.Stefan Sperling
The driver will turn the device off and print a message to dmesg if the firmware signals critical temperature. It looks like the firmware will also make use of a Tx-backoff mechanism to regulate device temperature.