New 9front release “GZ”


dash 1 manual

kernel and drivers

kernel: avoid padblock copying for devtls/devssl/esp, cleanup debugging

kernel: fix missing ; in panic() call

omap: fix format string warning %d for long

omap: cleanup mouse.c, just a dummy for mousectl()

pc: pat write combinding support for 386 kernel, honor cpuid bits

pc: modify cpu0 page tables in patwc() instead of current cpu ones

pc64: check if vmap() range fits in VMAPLEN window, remove unneeded vmapsync(), rename fault386() to faultamd64()

pc64: implement simple write combining for framebuffers with the PAT

xen: fix build by adding missing rdrandbuf() function

archacpi: fix format string warning on amd64

gre: check nil for pullupblock()

ip: always pass a single block to Medium.bwrite(), avoid concatblock() calls in Dev.bwrite()

ip: remove nil checks for allocb() and padblock()

ip: fix typo (rfc -> ifc)

ip: get rid of update_mtucache() and restrict_mtu() prototypes

ip/nullmedium: free passed block in nullbwrite()

ip/pktmedium: fix wrong hsize, theres no ethernet header on packet media

ip/pktmedium: no mintu, no maclen… thi is ip packets

ip/tcp: remove useless nil checks for padblock() and allocb() return value

ip/tcp: only calculae mss from interface mtu when directly reachable for v6

ip/tcp: never raise the mss over the link mtu < 1280 for v6

qio: big cleanup of qio functions

qio: fix comments, fix qiwrite() on close queue, remove debug setmalloctag() call in qwrite()

qio: implement concatblock() with pullupblock()

qio: get rid of unused qcopycnt debug variable

qio: make readblist() offset of type ulong as the rest

devbridge: various bugfixes and improvements from charles forsyth

devbridge: simplify etherwrite() as we dont deal with block lists

devcons: simplify putstrn0()

devloopback: simplify loopoput()

devmnt: avoid memory copies of I/O rpc buffer by using bwrite()

devmouse: various bugfixes, simplify

devmouse: change msec argument of *mousetrack() to ulong

devmouse: remove unused static map[] array

devtls: remove unused get32() function

audioac97: support for ICH4-ICH7 based cards with memory mapped registers (thanks echoline)


libauth: don’t attempt to mount when opening mount srv file fails in nsop()

libavl: put debug functions back

libc: move calloc() into its own compilation unit

libmemdraw: remove unused static drawbuf variables and ptrfn() declaration

libmemdraw: cleanup fillpoly(), remove unused fillcolor hack

libmp: mpxor: sign should be 1/-1, not 0/-1

libregexp: put debug functions back

ape/libsec, libsec: add secp384r1 curve parameters for tls

libsec: remove unused aes_setupDec

libsec: remove unused get32() function

libstdio: fix sclose() buffer overrun when terminating string, realloc() error handling (thanks porlock)

compilers and debuggers

8c: fix double compiling FNX complex lvalue in cgen64()

acid: fix dependency for proc.$O


aan: didn’t ask about sendcommand

auth/as, auth/none, auth/newns: consistent handling of command arguments, cleanup

aux/acpi: make it stats(8)-friendly

awk: improve random number generation

clock: remove unused variable

cryptsetup: fix bugs and cleanup

nusb/ether: support for “bridge” ctl message

page: remove unused variables

ramfs: remove unused variable

rcpu: avoid filedescriptor conflict with <{} (thanks mycroftiv)

stats: alternatively read battery and temp from aux/acpi

tar: remove unused variable

vncs: update devmouse code

vncs: don’t prompt for password on auth_respond() failure

winwatch: middle mouse button click also prompts for label

winwatch: no more ‘l’ key labeling

winwatch: put previous label contents in edit buffer for relabling


alv(2): new avl implementation

srv(4): add SOURCE for srvtls


cdproto: explicitely create /$objtype/bin subdirectories for all archs

tcp17019: make service proto and netdir arguments optional (for aux/listen1)