From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 14539 invoked from network); 23 Nov 2023 03:57:46 -0000 Received: from 9front.inri.net (168.235.81.73) by inbox.vuxu.org with ESMTPUTF8; 23 Nov 2023 03:57:46 -0000 Received: from gaff.inri.net ([168.235.71.243]) by 9front; Wed Nov 22 22:56:41 -0500 2023 Message-ID: <07A98C3CFEE8F0079DA57C43304C2DA6@gaff.inri.net> Date: Wed, 22 Nov 2023 22:56:41 -0500 From: sl@stanleylieber.com To: 9front@9front.org MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8bit List-ID: <9front.9front.org> List-Help: X-Glyph: ➈ X-Bullshit: webscale interface element database Subject: [9front] 9FRONT "HUMANBIOLOGICS" RELEASED Reply-To: 9front@9front.org Precedence: bulk 9FRONT "HUMANBIOLOGICS" RELEASED ========================================= ![front](http://9front.org/img/humanbiologics.front.png) Notable changes in this release: - New qemu kernel for arm64. - New /sys/src/9/arm64 directory with generic arm64 implementations that is shared with all the arm64 kernels (imx8, bcm64). - The arm64 and amd64 kernels now support using FPU in interrupt context. - 32K IOUNIT. - Wifi and I²C support on the raspberry pi. - Ethernet switch-over (ethermultilink(8)) allowing to switch transparently between wifi and ethernet. - Libmach now supports ARM THUMB, so acid is now able to disassemble thumb code such as gba roms. - The efi loader has been ported to arm64. DOWNLOAD -------- Multiple installation media are provided for PC, Raspberry Pi, MNT Reform, and QEMU. For PC, burn an .iso file to CD, or dd it directly to USB media. For Raspberry Pi or MNT Reform, dd an .img file directly to sdcard. The pi.img file can be used for Raspberry Pi 1, 2, and 3. The pi3.img file can be used for Raspberry Pi 3 and 4. QEMU images are provided in QCOW2 format. MIRRORS ------- GIT REPOSITORY -------------- DASH 1 MANUAL ------------- dash 1 manual: SONGS ----- by cinap by sl THANKS ------ [REDACTED] KERNEL AND DRIVERS ------------------ 9/boot/net.rc: allow setting additional flags to aux/wpa with $wpaopts in plan9.ini add arm64 qemu kernel arm64: mem.c doesnt need sysreg.h arm64: remove hz/mhz from conf, not needed. bcm, bcm64, imx8, kw: Fix missing preempted() call on non-clock interrupt (thanks Anthony Martin) bcm, bcm64: Add bitbang i2cgpio driver bcm, bcm64: handle disk activity led from sdmmc bcm64, imx8, pc64: save stack space in fault handler bcm64, imx8: fix breakpoint note strings bcm64, imx8: provide more flexible MPIDR_EL1 CPUID to machno mapping bcm64, imx8: writing CAPR_EL1 (to turn fpu on/off) needs a intruction barrier bcm64: add i2c for pi3 bcm64: dont need sysreg.h in mem.c bcm64: port new FPU code, making FPU available to interrupts bcm64: remove sysreg.c bcm64: use generic 9/arm64/* files bcm64: use generic 9/arm64/mmu.c bcm: add wifi driver boot/efi: add arm64 boot/reform: update flash.bin url devarch: recognize AMD Jaguar and Puma SoC's (thanks dave) devether: handle bypass outside of ethermux() devi2c: expose the I2Cdev structure to the controller. devip: add gratious arp ctl message to /net/arp devip: automatically unbind interface on read errors devip: fix comment ifc->id -> ifc->ifcid devip: have findipifc() return rlock'd interface, allow to use "del" instead of "remove" for route and interface operations devip: make some symbols static, cleanup devip: run Medium.unbind() with ifc->conv released, cleanup devpipe: remove bogus "wstat on closed pipe" note devsd, sd*: use seprint() style start/end pointer for rctl() function devsd, sdmmc, ether4330: improve infrastructure for sdio devtls: allow larger than MaxRecLen (16k) writes devuart: cleanup uart console code devuart: fix wrong opens count in case of uartenable() error devuart: handle software flow control (XON/XOFF) in devuart alone devuart: make sure consuart was enabled before setting serialoq devvmx: reset kernel fpu state before loading vmx fpu state devvmx: restore previous initial value for xcr0 ether4330: annex sdM for emmc (changed order) ether82563: add B360 i219-v ether82563: clear force speed/duplex bits in link-up (thanks taw) etherimx: ignore trailing 4 byte garbage in ethernet receive packet etheriwl: Add support for Wireless AC 3160 (thanks kws) ethermultilink: add "bypass" ctl for ethernet ethermultilink: send gratious arp instead of flushing arp cache ethermultilink: switch between different physical interfaces based on link status i2cbcm: clean up and fixes i2cbcm: use core clock rate from vcore instead of hardcoding 250Mhz imx8, bcm64: make sure interrupts are of (sched() re-enables them) imx8, bcm64: touser() already called splhi()'d imx8: port new FPU code, making FPU available to interrupts imx8: share generic arm64 mmu.c imx8: usb: enable host IN auto retry imx8: use generic 9/arm64/^(init9.s rebootcode.s) imx8: use generic 9/arm64/cache.v8.s imx8: use generic 9/arm64/fpu.c imx8: use generic 9/arm64/sysreg.c imx8: use generic 9/arm64/sysreg.h imx8: use generic 9/arm64/trap.c kernel: fix SEGMAXSIZE macro, force 64-bit result kernel: make walk/open errors more consistent with userspace kernel: move virtio10 drivers to port kernel: support 32k iounit nusb/disk: advertise the correct iounit for disk files. nusb/disk: use IOUNIT constant for Maxiosize nusb/disk: work around quirk in some CD drives nusb/ether: implement link status detection for smsc and lan78xx nusb/ether: make stats file compatible to stats(8) nusb/kb: fix Glorious Model O mouse nusb/kb: fix portreset feature and recovery nusb/usbd: attach spam protection for reset loops and flanky devices nusb/usbd: don't spam opendevdata() transaction errors before timeout, error printing nusbrc: use exponential backoff and timeout usb enumeration mouse: use tsleep() instead of delay() (thanks uramekus) omap: Fix missing preempted() call after non-clock interrupt (Thanks Anthony Martin) pc, pc64: clear osxsave flag in cr4 when not used pc64: avoid STI/CLI, touser() already called splhi()'d pc64: make FPU available in interrupts pc64: no need to _stts() in squidboy() pc: do trapinit() and mathinit() early pc: skip CLI/STI when not needed pi3, pi4: change the order of emmc and sdhc for ether4330 pipe: bring back wstat, set size (in bytes) of the pipe buffer qio: fix memory leak in qproduce() reform/pm: fix lcd pwm cycle setting precision reform: add ethersink driver for ethermultilink sdhost: implement sdhost controller driver so we can use wifi always (pi3) sdnvme: dont make queues largers than MQES field in capability swap: fix pager nil pointer derefence when running out of procs zuke: make stack usage independent of Biobuf's Bsize. zynq: fix print format in emmc driver zynq: remove uartconsole() function, already done by devuart internally COMPILERS AND LINKERS --------------------- /sys/lib/acid/port: mind upper bounds of fnbound 6a: use IOUNIT for BUFSIZ 6c: fix embedded struct conversion codegen 6c: fix wrong signed type conversion from char/short -> float/double 6c: remove stray non-interruptible temporary warning 7c: add form3 support (no functional change) 7c: do NOT allocate link register for general use 7c: dont replace SXTW instruction following MOVW $const, r 7c: fix constant propagation for negative 64-bit constants 7c: replace {CMP $0,…; Bcond} with CB[N]Z/TB[N]Z when possible 7l: 1 → NOPROF to avoid confusion 7l: avoid hitting old 7c bug with 64-bit constant propagation 7l: define missing TBZ/TBNZ relation 7l: do a single pass to produce data segment instead of doing it in chunks 7l: fix MADD/MSUB optional reg 7l: support CB[N]Z[W] instructions 7l: support fmov between general and fp registers 7l: support fused multiply-add/sub ops 7l: use wider INITTEXT and INITDAT *l: make sure Sym and Auto structs are fully initialized (thanks moodman) ar: use IOUNIT for streaming in files cc: support binary constants and refactor cc: use IOUNIT for BUFSIZ cpp: remove trigraphs cpp: run tests with 'mk test' yacc: define dummy yytokname() and yystatname() macros if not yydebug LIBRARIES --------- lib9p: return effective iounit in Ropen response libaml: dummy implement NotifyOp (thanks uramekus) libauthsrv: readnvram: prompt for password conformation libbio: bump Bsize to IOUNIT libc/arm64: disable profiling on memcpy (memmove is an alias and follows immediately) libc/arm64: fabs, floor and ceil in assembly libc/arm64: memmove/memset - save/restore link register libc: fix crash in idn routines with long domain names libdraw: use IOUNIT for transfer block size in readimage() libjson: make sure string contains only a single JSON value libmach: arm64: disasm fmov Rn,Fd / fmov Fn,Rd libmach: fix RETURN and branch target for CBZ/CBNZ for arm64 (wrong sign extension) libmach: fix dropped header in last commit libmach: open /proc/n/kfpregs when kernel debugging libmach: set errstr if we can't find a SP for a PC libmach: setmach: mipsLE* -> spim libmach: thumb support libregexp: regprint: make regimpl.h include match its siblings libsec: ansi-ify hkdf, pbkdf2 and scrypt libvorbis: delete random sparc64 .a PROGRAMS -------- acme: add font control message add /rc/bin/doom: games/doom launcher add aux/aout2efi add games/dmx: decode doom sound effect lumps (dss*) add games/mid2s: streaming midi from file, and merge common stuff into generic framework ape/expr: ansi-ify function declarations ape/pdksh: ansi-ify function declarations ape: ansi-ify isatty and listen ape: libap: do not set objtype in amd64 mkfile audio/flacenc: implement [-i fmt] for supported formats; fix tell callback; fix big endian and 3-byte samples audio/zuke: ICY: 4k of stack is enough for everybody audio/zuke: double mainstacksize audio/zuke: fix ICY proc running out of stack audiohda: added Cannon Lake support audiohda: detect hda devices using pci class id aux/depend: remove old cruft aux/dial: use IOUNIT for transfer block size aux/trampoline: use IOUNIT for transfer block size bar, fontsel: use heap allocated biobuf bar: smaller buffer for aux proc; exit on eof bzfs: use IOUNIT for buffer size bzip2: use IOUNIT for transfer block size cdfs: use IOUNIT for maxrpc (thanks Arne Meyer) cfs: use IOUNIT for MAXFDATA cmd: use increased iounit compress: ansi-ify function declerations and enable warnings cpurc, termrc, bootrc: organize default device binds diff: don't flush on every line diff: fix no newline test diff: generate no-newline directives diff: improve is-binary heuristic diff: make distproto copies tests dossrv: use IOUNIT for Maxdata eui: draw in seperate proc fcp: use IOUNIT as default size file: recognize MOD files (thanks umbraticus) file: recognize and differentiate opus file: use xiph mimetypes to clearly differentiate ogg/vorbis from ogg/opus et al (thanks sigrid) fshalt: get rid of special nvme hack for disk shutdown games/aout2gba: allow either ARM or ARMB mach type games/dmx: rename to games/dmxdec for consistency games/doom: bump max number of simultaneous sound effects games/doom: don't crash on invalid music selection with idmus cheat games/doom: don't print useless status on stderr games/doom: draw in a separate proc games/doom: faster palette→rgb conversion for arm64; fix convproc channel handling games/doom: fix unhooked sound attenuation with distance games/doom: remove dead code games/doom: run audio in its own proc; can stop frame-dropping as well games/doom: use wadfs to expose genmidi lump instead of extracting to /tmp games/doom: wait explicitly for convproc to exit before running getwindow on resize games/festoon: ansi-ify function declerations games/gb: correctly mark transmitted serial data as sent games/gba/rom: use -t with 5a games/md: ignore invalid writes (makes cave story work) games/mid2s: fix usage string games/mkfile: match the dmxdec rename games/opl3: fix choking on high tempo streams games/voc^(enc dec): move from audio and add encoder git/*: reduce object cache size git/add: don't include paths in the .git directory git/branch: avoid null list errors git/branch: prevent deleting current branch, skip dirty check for deleting branches git/clone: correctly handle cloning repos with '/' in the remote ref git/commit: fix sed invocation: our '^' operator has a quirk when used with 'g' git/diff: always respect the specified branch git/diff: make '-u' flag imply '-s' git/fs: fix leak of uid strings git/fs: match errors with other file servers git/fs: preserve mode bits when walking branch dirs git/fs: when statting an object, generate a correct qid git/merge: include files changed in the merged commits git/query: allow arbitrary length queries git/query: check for nil return from seprint git/revert: correctly revert files with spaces in the path git/revert: only look at changed files git/save: fix warning git/walk, git/save: be less restrictive about permission matching git/walk: add -b option to override base branch git/walk: filter out files from within the .git repo git/walk: fix usage on new repo git/walk: only show untracked paths matching requested prefix git: fix zero hash check crash in git/serve git: replace index format for ~200x speedup grabrfc: update fetching hg: actually remove hg this time hg: remove forgotten traces history: set missing execute bit hjfs: unlimited buffer works hjfs: use smaller fixed buffer size imap4d: use IOUNIT for Bufsize ip/ftpfs: fix totally broken messagesize, use IOUNIT ip/ipconfig: allow "del" verb in addition to "remove" ip/snoopy: fix missing break rrfmt() in (tho, harmless as of rrsupported() check) ip/snoopy: sync with ndb/dns ircrc: fix pong message (thanks mkf) ktrans: more tests, telex rewrite, small chinese fix ktrans: pinyin, cleanup and documentation updates lstk: add /bin/lstk to dump most recent crashed proc merge3: handle edge cases where we remove lines merge3: overlap happens on the source offsets, not the dest offsets mk: dead code removal ms2html: fix crash on macro without newline ndb/dns: add -L flag for local-recursive server ndb/dns: avoid blocking 9p on refresh, use shorter 15second query timeout, cleanup ndb/dns: better handling of extended response code ndb/dns: built-in tcp server, remove cruft, refactor ndb/dns: embedd name string into DN struct ndb/dns: fix RR.caa leak ndb/dns: fix memory leak in dnzone() ndb/dns: hack for the caching server for delegated nameservers ndb/dns: implement EDNS(0) extension (rfc6891) ndb/dns: implement concurrent garbage collection ndb/dns: make sure theres only a single Topt option in getednsopt(). ndb/dns: refresh the cached dnsserver domain ndb entries in db2cache() ndb/dns: remove leftover #pragma varargck argpos dnsdebug 1 nedmail: set $% to the full path of the current message newuser: use non-expanded $home instead of /usr/$user in lib/plumbing comment page: use IOUNIT for NBUF paqfs: use IOUNIT+IOHDRSZ for mesgsize patch: delete files for tests before test run patch: fix offsets in reverse mode patch: support no-newline directives postscript: ansi-ify function declerations rc: use IOUNIT for io NBUF readtags, zuke: extract cover images stored in the audio files (thanks g-w1) riow: skip redundant k events with shifted keys rx: use IOUNIT for transfer block size skelfs: use more correct "file does not exist" error sshfs: use MAXWRITE for I/O unit sysupdate: use the rc -b flag to keep sysupdate in memory tapefs: use IOUNIT for Maxbuf tl: use IOUNIT for MAXIO tl: use the allocator from cc/compat tlsclient: use IOUNIT for transfer block size tmdate: add ordinal day of month format specifier tput: use iounit(2) of the file-descriptor by default troff: embiggen troff character size limit to support huge fonts uhtml: use IOUNIT for transfer block size upas/Mail: when space is tight use ellipsis (…) instead of 3 dots (...) upas/Mail: use IOUNIT for Bufsz upas/fs: don't abort when the server gives us invalid dates upas/fs: don't try to fstat a renamed fd upas/fs: use IOUNIT upas/fs: write index out to temp file upas/imap4d: fix bad censorship of the password when debug is enabled. upas/imap4d: return SEARCH response in caps. upas/marshal: use IOUNIT upas: "move" ctl verb to move messages between imap folders (thanks Risto Salminen) vac: use IOUNIT reading files vacfs: use IOUNIT vncs: use IOUNIT for Maxfdata vncv: remove 16 -> 32 bpp conversion routine vt: bracketed paste mode (fixes autoindentation in text editors) vt: resize only when the window is not hidden (fixes window at top left corner with riow after terminal reset) walk: handle removed files correctly wc: use IOUNIT for NBUF webfs: use IOUNIT for transfer block size DOCUMENTATION ------------- ether(3): document "bypass" ctl message. ethermultilink(8): add manpage with example ethermultilink(8): add some warnings about leaving the secondary interfaces alone ethermultilink(8): fix bridge(3) reference (thanks Stuart Morrow) ethermultilink(8): fix sink bind (thanks sigrid) git(1): document 'git/diff -u' git(1): document flag to show unused files git(1): document git/import -n git(1): remove lies from manual, improve wording. git(1): update and clean up git/walk section ip(3): document garp ctl message for /net/arp listen(8): remove tcp53 reference, remove !tcp53 template rio(1), rio(4): wctl /srv pipe is dead, mention 'none' attach (thanks unobe) paqfs(4): remove 8K default message size comment pc(1): remove non-existent -n (thanks kvo); misc fixes from checkman plan9.ini(8): document $wpaopts sd(3): list /led and /smart files snap(4): clean up lies stats(8): drop 802.11, consider *ALL* /net/ether*/stats webcookies(4): cookiefs -> webcookies zuke(1): document audio/readtags OTHER ----- /lib/keyboard: fix subscript small letter n. add super/sub small letter i /lib/rob: Critical code needs static typing. /lib/theo: You are in way over your head /lib/theo: You are trying to compare a pig and a moon rocket. /lib/theo: You get to adapt to what we produce. /lib/troll: We have created something new that we named R9, an OS strongly inspired by Plan 9, written in the Rust programming language. /sys/lib/dist/mkfile: include /386/mbr et al in disk images /sys/lib/dist/ndb/common: add esmtp (port 587) /sys/src/boot/mkfile: add missing child directories distproto: include /lib/ucd in releases replace ? with ؟ character in fa kbmap (thanks mkf) ![back](http://9front.org/img/humanbiologics.back.png)