IABSD.fr/src

Branch :


Log

Author Commit Date CI Message
f6903d4b 2020-07-12 05:21:34 add kstat support for reading hardware counters. this replaces the existing counters implementation, which just collected the stats in the softc, but didn't really provide a way for a person to read them. em counters get cleared on read. a lot of them are 32bit, so to avoid overflow the counters are polled and the newly accumulated values are added to some 64 bit counters in software. tested by hrvoje popovski and SAITOH Masanobu ok mpi@
1d70c39e 2020-07-12 04:58:10 it's not an error if the API doesnt support reading sfp/qsfp stuff. it's just not supported. the manpage says why. ok sthen@ deraadt@
6f742cb1 2020-07-12 04:56:05 actually tell people that they need a recent fw/API version. ok sthen@ deraadt@
562d94c2 2020-07-12 00:48:59 Minor code shuffle to close ranks of sc_link initializations.
7e8783cf 2020-07-12 00:36:01 False alarm, back it goes. Managed to mangle my kernel build directory somehow. Cleaning it out and config/compile from scratch and all seems well.
61db9d94 2020-07-11 23:41:51 Revert previous. Broke something somehow.
1502f498 2020-07-11 22:59:05 timekeep_sz now already includes the round_page() adjustment; ok kettenis@
e78ab20f 2020-07-11 21:35:55 Cache the adapter's port_wwn and node_wwn in mpi_softc, not the sc_link. Keeps all the sc_link initialization in one easy target, er, place.
a8ec3f05 2020-07-11 21:17:11 Cache a scsibus_softc * and use it rather than cludging indirect comparisons to sc_link.
a0d66453 2020-07-11 20:15:52 Garbage collect unused vioscsi_softc member "sc_scsibus".
cf99f1d0 2020-07-11 20:06:04 Garbage collect unused nvme_softc member "sc_scsibus".
e2c68df5 2020-07-11 19:28:07 Cache a pointer to the scsibus_softc rather than hoping the copy in sc->sc_link is preserved by the nefarious forces outside of the adapter code.
1eae0bb7 2020-07-11 17:29:17 Set the default ABI for OpenBSD to ELFv2 in the clang frontend as well. This makes sure the compiler defines the _CALL_ELF pre-processor symbol correctly. ok mortimer@
2f959527 2020-07-11 16:24:37 Add usertc.c.
42ac4c7b 2020-07-11 16:21:29 Add missing usertc.c file.
4df96f4c 2020-07-11 15:51:36 Oops. One too many lines deleted, leaving 'buswidth' uninitialized but utilized. Spotted by jsg@'s compiler which seems to issue more warnings than mine.
6ed776b1 2020-07-11 15:26:15 Shuffle sc_link.openings initialization down to its friends and just use sc->sc_maxcmds rather than repeatedly assigning it same value being assigned to sc->sc_maxcmds. Since they are the same, no need to print both under AMI_DEBUG.
e5f663db 2020-07-11 15:22:44 Some whitespace fixes for the inline assembly.
9e8849fb 2020-07-11 15:18:08 Synchronize each core's CP0 cycle counter using the IO clock counter. This makes the cycle counter usable as timecounter on multiprocessor machines. Idea from Linux. Tested on CN5020, CN6120, CN7130 and CN7360. Looks reasonable to kettenis@
0464d596 2020-07-11 15:02:52 Optimize rasops_vcons_copyrows() so write-only framebuffer consoles only redraw the characters that differ between the start and end positions. This makes scrolling significantly faster. From John Carmack, thanks! OK jcs@
9c84395d 2020-07-11 14:52:14 Implement linear and power-of-two histograms: hist() and lhist() keywords. This is built on top of maps which are currently built on top of RB-trees. Improvements are welcome! For example the use of a hashing table as pointed by espie@. The following one-liner produce an histogram of power-of-two values returned by the read(2) syscall: btrace 'syscall:read:return { @bytes = hist(retval); }' ^C @bytes: [0] 19 |@@@@@@@@@@@@@@@@@@@@@@@@@@ | [1] 26 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ | [1, 2) 1 |@ | [2, 4) 13 |@@@@@@@@@@@@@@@@@@ | [4, 8) 4 |@@@@@ | [8, 16) 3 |@@@@ | [16, 32) 1 |@ | [32, 64) 8 |@@@@@@@@@@@ | [64, 128) 14 |@@@@@@@@@@@@@@@@@@@ | [128, 256) 7 |@@@@@@@@@ | [256, 512) 37 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@| [512, 1K) 1 |@ | [1K, 2K) 10 |@@@@@@@@@@@@@@ | [2K, 4K) 11 |@@@@@@@@@@@@@@@ | [8K, 16K) 1 |@ |
51b504e0 2020-07-11 14:48:53 Build 'flags' in intermediate variable and shuffle sc_link initialization closer to config_found() invocation.
52a655cb 2020-07-11 14:25:59 Expunge some Captain Obvious comments to make upcoming diff(s) smaller and easier to read.
e803e20a 2020-07-11 13:34:05 Expunge some Captain Obvious comments, tweak whitespace a bit, move a debug statement. All to make upcoming diff(s) smaller and easier to read.
17552403 2020-07-11 12:17:59 Don't reload the FPU registers when they're already loaded. Seems to fix the clang crashes I was seeing.
0dc8bf2f 2020-07-11 11:43:57 Implement a machdep.altivec sysctl that always returns 1. This makes pixman in xenocara build and hopefully helps with ports as well. suggested by matthieu@
58a32cd0 2020-07-11 02:46:25 Change locks which don't use spin_lock_irq() or spin_lock_irqsave() from IPL_TTY to IPL_NONE. From Benjamin Baier
b1f78824 2020-07-11 01:11:36 test for gem_size > 0 on pool_destroy() matching pool_init() call ok kettenis@
4497d183 2020-07-11 00:54:19 don't complain if the API is too low to support "query phy types". it just means we won't know what to show in ifconfig media output, but that's not a huge deal. there's still some more issues around api versions and driver support that we're working on though. ok sthen@ jmatthew@
b286a873 2020-07-10 23:22:48 Add hw.cpuspeed and hw.setperf Get the list of Pstates from OPAL, and use special registers to request a Pstate or check the current Pstate. The turbo Pstates are higher than the cpu's nominal speed, but the OCC's firmware should throttle down the cpu if it would overheat. ok kettenis@
ff79c4f0 2020-07-10 21:23:47 table fix;
0811f1a5 2020-07-10 20:17:39 Document which crypto transforms are enabled by default.
c0d956de 2020-07-10 19:43:09 Shuffle a bit of code to stop using sc->sc_link to hold values for openings outside of the one used at config_found() time. Adapters should take care of their own data. ok dlg@ for a sligthly different vioblk.c version.
a6aa8e65 2020-07-10 18:34:24 Oops, I didn't intend to commit these bits.
015eac47 2020-07-10 18:30:28 Implement process_read_regs() such that core dumps become usable.
9d448ab5 2020-07-10 17:58:54 sync
b965aacd 2020-07-10 17:09:37 Parse a bootduid= argument passed on the command line and use it to set the bootduid variable in the kernel. This makes it possible to specify the boot disk in pettitboot menu entry (e.g. grub.cfg). ok deraadt@
56b879ee 2020-07-10 17:04:49 Pass bootduid (from disklabel) on the bootline to the kernel ok kettenis
fc72f1bd 2020-07-10 17:04:18 adjust %n description to vaguely say "pointer", becuase the following list of "[size]n" includes "n" on it's own, thereby the "int" case is described correctly. ok schwarze
6b637f08 2020-07-10 16:10:54 Clear FPU state if we try to restore the state when the process didn't use the FPU yet.
b890afa6 2020-07-10 16:09:58 Add check for userland VSID overflow.
28fe39c8 2020-07-10 15:31:59 base tree had only two uses of the printf %n format string, in this file. Appending "%n" to the format string to capture the output-length in bytes (into an uninitialized variable) is exactly the same as using the printf return value. Why did they do this so unnaturally? (normally we don't change gcc import code, but I'm doing a study of %n prevelance) ok millert
84fb3e49 2020-07-10 14:43:18 As suggested by deraadt@, rewrite most of the printf(3) manual page to properly show the (differing) syntaxes of all the conversion specifications, and reduce the amount of forward references from the list of modifiers to the list of specifiers. While here, properly explain %lc and %ls. Also correct RETURN VALUES, which incorrectly talked about counting characters while actually bytes are counted. Using feedback from millert@, deraadt@, tb@, and Martin Vahlensieck. OK deraadt@, millert@, and tb@ on intermediate versions of this diff and no objections from jmc@.
f0f36bca 2020-07-10 14:35:01 Use OPAL_REINIT_CPUS calls during early boot to set endianness and to set the MMU to hash mode such that the full TLB is available on POWER9 CPUs.
0cae21bd 2020-07-10 13:26:36 Change users of IFQ_SET_MAXLEN() and IFQ_IS_EMPTY() to use the "new" API. ok dlg@ tobhe@
98da7c78 2020-07-10 13:23:34 Change users of IFQ_PURGE() to use the "new" API. ok dlg@ tobhe@
63bcfa73 2020-07-10 13:22:19 Change users of IFQ_DEQUEUE(), IFQ_ENQUEUE() and IFQ_LEN() to use the "new" API. ok dlg@ tobhe@
5c61b451 2020-07-10 12:38:09 Add OPAL_REINIT_CPUS.
a2111520 2020-07-10 12:25:57 Clean up s_client.c - Remove space between '*' and pointer variable. - Add function prototype. - Move callback function to bottom. - Move typedef struct to up.
3c782461 2020-07-10 12:09:53 Even though the PowerISA indicates that hardware should update reference and change bits in the page table entries that doesn't seem to happen reliably on the POWER9 CPU I'm looking at. So make our pmap not depend on this and emulate these bits instead. As far as I can determine Linux doesn't rely on the hardware bits either.
5042ef37 2020-07-10 12:05:52 Change variable bio_c_out from global to local ok tb@
8b385578 2020-07-10 11:45:08 Kill `pppx_devs_lk' rwlock. It used only to prevent races caused by malloc(9) in pppxopen(). We can avoid these races without rwlock. Also we move malloc(9) out of rwlock. ok mpi@
990768e0 2020-07-10 09:26:36 Set missing `IFXF_CLONED' flag to pppx(4) related `ifnet'. That should prevent collecting entropy from pppx(4). ok mpi@
c0786c54 2020-07-10 09:11:37 add back orientation quirk for Kogan Atlas 2-in-1 D300 local change lost in 5.7 drm update
7c7dd989 2020-07-10 08:28:04 Add "Spleen 6x12" to wsfont, a font targetted at OLED displays. Similar to "Spleen 5x8" it only contains the printable ASCII characters (96 glyphes). The font is 2-Clause BSD licensed and is my original creation. OK patrick@
7bcae377 2020-07-09 22:48:05 Move sc->sc_link initialization closer to config_found() invocation like all the cool drivers do.
fed384d6 2020-07-09 22:34:25 Move sc->sc_link initialization closer to config_found() invocation like all the cool drivers do.
2a049e6c 2020-07-09 22:13:29 The fegetexceptflag() function should not have a DEF_STD. Brings arm64 in line with all the other architectures. ok millert@
8fabbf99 2020-07-09 21:01:55 On some laptops that have a Windows Precision Touchpad (imt) and also a trackstick or separate physical buttons, imt was claiming all report ids of the ihidev device preventing the trackstick/buttons from attaching as a separate ims device on other report ids. Just claim the report ids that imt needs and let ims attach to others it may find. Fixes two Dell Latitude laptops and tested in snaps for a bit.
db49bb0f 2020-07-09 21:01:08 Some touchpads don't have the "maximum number of contacts" or "button type" usages, so assume some reasonable defaults rather than failing to attach. Fixes two Dell Latitude laptops and tested in snaps for a bit.
04a2240b 2020-07-09 19:17:19 Fix a warning false positive from clang 10. blf_enc() takes a number of 64-bit blocks to encrypt, but using sizeof(uint64_t) in the calculation triggers a warning from clang 10 because the actual data type is uint32_t. Pass BCRYPT_WORDS / 2 for the number of blocks like libc bcrypt(3) does. OK kettenis@
f7b49d58 2020-07-09 14:42:54 another excess file
6369f9f8 2020-07-09 14:09:19 Wrap long lines and put space in front of label in s_client.c
6dcdcd8f 2020-07-09 13:07:46 Remove c_ prefix from s_client_config member
10281ad2 2020-07-09 12:48:19 Convert openssl(1) s_client option handling suggestions and ok beck@ jsing@ tb@
813ababb 2020-07-09 10:54:39 drm/amdgpu/atomfirmware: fix vram_info fetching for renoir From Alex Deucher fceff9423f428a62a20bb8fb8f66e6a9f906f12c in linux 5.7.y/5.7.8 d7a6634a4cfba073ff6a526cb4265d6e58ece234 in mainline linux
7f946e4d 2020-07-09 10:51:31 drm/amdgpu: use %u rather than %d for sclk/mclk From Alex Deucher c337fc540bb99e476e33153a9196eba4749a707a in linux 5.7.y/5.7.8 beaf10efca64ac824240838ab1f054dfbefab5e6 in mainline linux
13985072 2020-07-09 10:49:23 drm/amd/display: Only revalidate bandwidth on medium and fast updates From Nicholas Kazlauskas fcb408a7282302bd8b8afc6ef8db42b4eece23ee in linux 5.7.y/5.7.8 6eb3cf2e06d22b2b08e6b0ab48cb9c05a8e1a107 in mainline linux
0d0adde2 2020-07-09 10:45:36 drm/amd/powerplay: Fix NULL dereference in lock_bus() on Vega20 w/o RAS From Ivan Mironov 13b2fe391cac70c7746e2cb68e73d99002f1cd00 in linux 5.7.y/5.7.8 7e89e4aaa9ae83107d059c186955484b3aa6eb23 in mainline linux
d4d64747 2020-07-09 10:42:24 Avoid NULL deref in regexec when searching for empty lines. Report & tweak from Hiltjo Posthuma
e15ebcca 2020-07-09 10:40:57 drm/i915: Include asm sources for {ivb, hsw}_clear_kernel.c From Rodrigo Vivi 95e961c6c23c35bb9f190f8d6bd13f1606de5a48 in linux 5.7.y/5.7.8 55fd7e0222ea01246ef3e6aae28b5721fdfb790f in mainline linux
204a49e6 2020-07-09 10:31:13 drm/amdgpu: fix kernel page fault issue by ras recovery on sGPU From Guchun Chen 18b1cf2968e1baa883dbdf6adef6213626beaa0f in linux 5.7.y/5.7.8 12c17b9d62663c14a5343d6742682b3e67280754 in mainline linux
57896dd2 2020-07-09 10:28:27 drm/amdgpu: fix non-pointer dereference for non-RAS supported From Evan Quan 9c33bf981fab14ffbde2635d6e3d7d0818bac5a8 in linux 5.7.y/5.7.8 a9d82d2f91297679cfafd7e61c4bccdca6cd550d in mainline linux
af8ed3f7 2020-07-09 10:25:28 drm/amdgpu: disable ras query and iject during gpu reset From John Clements 50a8cfb0e71644f2882dbfaf93150184094245bd in linux 5.7.y/5.7.8 61380faa4b4cc577df8a7ff5db5859bac6b351f7 in mainline linux
fb169079 2020-07-09 10:19:44 drm/i915/gt: Mark timeline->cacheline as destroyed after rcu grace period From Chris Wilson 18ad3ad0b9b35370182ae4a7dbd89a77168df19e in linux 5.7.y/5.7.8 8e87e0139aff59c5961347ab1ef06814f092c439 in mainline linux
8109782e 2020-07-09 10:16:53 drm/amd/display: Fix ineffective setting of max bpc property From Stylon Wang b903524c8a60a3e9d5eede7fc87f1012332b929f in linux 5.7.y/5.7.8 fa7041d9d2fc7401cece43f305eb5b87b7017fc4 in mainline linux
4d603561 2020-07-09 10:14:28 drm/amd/display: Fix incorrectly pruned modes with deep color From Stylon Wang 60c60af1adffdc4a34f4b13acc44a02ec33169b1 in linux 5.7.y/5.7.8 cbd14ae7ea934fd9d9f95103a0601a7fea243573 in mainline linux
59f48e31 2020-07-09 07:45:13 Enable spleen16x32 and spleen32x64 on armv7 for GENERIC kernels. OK kettenis@, deraadt@, patrick@
69657d9a 2020-07-09 02:17:07 adjfreq(2): limit adjustment to [-500000, +500000] ppm When we recompute the scaling factor during tc_windup() there is an opportunity for arithmetic overflow if the active timecounter's adjfreq(2) adjustment is too large. If we limit the adjustment to [-500000, +500000] ppm the statement in question cannot overflow. In particular, we are concerned with the following bit of code: scale = (u_int64_t)1 << 63; scale += \ ((th->th_adjustment + th->th_counter->tc_freq_adj) / 1024) * 2199; scale /= th->th_counter->tc_frequency; th->th_scale = scale * 2; where scale is an int64_t. Overflow when we do: scale += (...) / 1024 * 2199; as th->th_counter->tc_freq_adj is currently unbounded. th->th_adjustment is limited to [-5000ppm, 5000ppm]. To see that overflow is prevented with the new bounds, consider the new edge case where th->th_counter->tc_freq_adj is 500000ppm and th->th_adjustment is 5000ppm. Both are of type int64_t. We have: int64_t th_adjustment = (5000 * 1000) << 32; /* 21474836480000000 */ int64_t tc_freq_adj = 500000000LL << 32; /* 2147483648000000000 */ scale = (u_int64_t)1 << 63; /* 9223372036854775808 */ scale += (th_adjustment + tc_freq_adj) / 1024 * 2199; /* scale += 2168958484480000000 / 1024 * 2199; */ /* scale += 4657753620480000000; */ 9223372036854775808 + 4657753620480000000 = 13881125657334775808, which less than 18446744073709551616, so we don't have overflow. On the opposite end, if th->th_counter->tc_freq_adj is -500000ppm and th->th_adjustment is -5000ppm we would have -4657753620480000000. 9223372036854775808 - 4657753620480000000 = 4565618416374775808. Again, no overflow. 500000ppm and -500000ppm are extreme adjustments. otto@ says ntpd(8) would never arrive at them naturally, so we are not at risk of breaking a working setup by imposing these restrictions. Documentation input from kettenis@. No complaints from otto@.
df303251 2020-07-09 01:49:15 New regression tests for integral type conversions and for their modifiers, written from scratch.
060c0fca 2020-07-09 01:38:36 do not need this one either
3ce19ac0 2020-07-09 01:08:55 a couple of small tweaks that shrink the kstat code. saves a few hundred bytes on both amd64 and sparc64
6b0a9ee9 2020-07-08 21:35:35 Always try to retransmit on sendtofrom() errors to ensure the SA is properly cleaned up in ikev2_msg_retransmit_timeout(). ok patrick@
464b9e49 2020-07-08 21:05:42 Info leaks in semctl SEM_GET, the pads (unknown old contents) and base (a RW page within allocateable space) were leaked. report from adam@grimm-co ok millert
8b521ce7 2020-07-08 17:48:28 Handle a few more Hypervisor traps.
09dd33a6 2020-07-08 16:05:27 Clarify that csh's -f flag is not just about .cshrc. We don't need to be too specific about this in su(1), leave the details for csh(1). OK jca@
deaec079 2020-07-08 15:53:59 Make membar_consumer() a plain compiler barrier in kernel on octeon. The processor does not perform speculative reads and only one of its execution pipes should issue memory accesses. As a result, loads should happen in the correct order without barrier instructions. Tested on CN5020, CN6120, CN7130 and CN7360. This diff has been in use on the octeon-based mips64 bulk build cluster for several months. Also tested in snaps for a while.
c583cfd4 2020-07-08 15:46:31 sync
2c7f03ce 2020-07-08 15:36:35 Simplify csh vs other shells setup code ok millert@
be217f57 2020-07-08 14:45:15 do not need these versions of timetc.h
dca1e8db 2020-07-08 13:01:25 Use CPU_IS_PRIMARY macro in identifycpu() on amd64. OK deraadt@
bdf34362 2020-07-08 10:41:38 Clarify man page OK sobrado@ jmc@
3b2e3894 2020-07-08 10:35:06 Teach su -l -f how to start a regular shell for non-csh shells su -l does nice things like reset the environment and change the home directory, but it also always starts the user's shell as a login shell (argv[0] == '-'). This is a problem for su -l consumers like rc.d, where e.g. /root/.profile is read by the shell before starting a daemon as root. This tends to blow up if the admin introduces side effects to /root/.profile (or /etc/profile). csh supports an -f flag to skip reading .cshrc and .login, and su already has special support for it. Similarly, teach su -l -f how to start a regular shell (not a login shell) for non-csh shells. Discussion started by robert@ during p2k19 and revived by ajacoutot@, help and ok kn@ millert@
de43b1a9 2020-07-08 09:20:28 Userland timecounter implementation for sparc64. ok deraadt@, pirofti@
c8437fb9 2020-07-08 09:17:48 Clean up the amd64 userland timecounter implementation a bit: * We don't need TC_LAST * Make internal functions static to avoid namespace pollution in libc.a * Use a switch statement to harmonize with architectures providing multiple timecounters ok deraadt@, pirofti@
09050318 2020-07-08 02:49:27 Mention that we support building a port from Go modules now. Prompted by afresh1@
638aa2bc 2020-07-08 01:18:04 New regression tests for character and string conversions and for their modifiers, written from scratch.
eb0540bf 2020-07-07 22:43:29 Add opalsens(4), a driver for sensors provided by the OPAL firmware.
09cbf102 2020-07-07 19:48:31 Revert r1.121 and rewrite merge_option_data() to achieve same effect w/o using string functions on data that *MIGHT NOT* be NUL terminated. Fiddle parse_domain_name_list() to avoid string functions for the same reason. Problem encountered by Jesper Wallin when running with vm.malloc_conf=CFGJUR, although he later proved 'J' (more junking) was the actual trouble maker.
50ae7695 2020-07-07 19:42:58 Remove temporary RSA keys/callbacks code. This was removed from libssl a very long time ago...