9front - general discussion about 9front
 help / color / mirror / Atom feed
* [9front] sysupdate: no common ancestors
@ 2021-07-25 20:12 Stuart Morrow
  2021-07-25 20:20 ` ori
  2021-07-26 15:58 ` [9front] " Anthony Martin
  0 siblings, 2 replies; 16+ messages in thread
From: Stuart Morrow @ 2021-07-25 20:12 UTC (permalink / raw)
  To: 9front

Yesterday's error was different: invalid ref. Obviously related, but I
don't know what caused yesterday's.

I don't want to look into the code when, tbh, I barely even understand
the concepts.
By the same token, there's no poking around in .git I could have done
to cause this. Came out of the blue.

Anyone know what's going on?

% sysupdate
git/query: resolve: no common ancestor
git/query: resolve: no common ancestor
ours: 403149d7de4dbe4cc4b1fd9cb3a164e51dbccc15
theirs: 28f76455d39d990b47c6e46e18158f0a9ba09d25
git/query: resolve: no common ancestor
common:
git/merge remotes/THEM/front

I find the multiple prints of the same error, always interleaved with
the other stuff in the same order, curious.  Invalid ref was like that
too.

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [9front] sysupdate: no common ancestors
  2021-07-25 20:12 [9front] sysupdate: no common ancestors Stuart Morrow
@ 2021-07-25 20:20 ` ori
  2021-07-25 20:42   ` Stuart Morrow
  2021-07-26 15:58 ` [9front] " Anthony Martin
  1 sibling, 1 reply; 16+ messages in thread
From: ori @ 2021-07-25 20:20 UTC (permalink / raw)
  To: 9front

Quoth Stuart Morrow <morrow.stuart@gmail.com>:
> Yesterday's error was different: invalid ref. Obviously related, but I
> don't know what caused yesterday's.
> 
> I don't want to look into the code when, tbh, I barely even understand
> the concepts.
> By the same token, there's no poking around in .git I could have done
> to cause this. Came out of the blue.
> 
> Anyone know what's going on?
> 
> % sysupdate
> git/query: resolve: no common ancestor
> git/query: resolve: no common ancestor
> ours: 403149d7de4dbe4cc4b1fd9cb3a164e51dbccc15
> theirs: 28f76455d39d990b47c6e46e18158f0a9ba09d25
> git/query: resolve: no common ancestor
> common:
> git/merge remotes/THEM/front
> 
> I find the multiple prints of the same error, always interleaved with
> the other stuff in the same order, curious.  Invalid ref was like that
> too.

I have no idea how you'd have a commit that doesn't link back to the
rest of the commit chain.

Can you do

	git/log -c 403149d7de4dbe4cc4b1fd9cb3a164e51dbccc15 >/tmp/log.40314
	git/log -c 28f76455d39d990b47c6e46e18158f0a9ba09d25 >/tmp/log.28f76

and attach the files?


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [9front] sysupdate: no common ancestors
  2021-07-25 20:20 ` ori
@ 2021-07-25 20:42   ` Stuart Morrow
  2021-07-25 22:40     ` Anthony Martin
  0 siblings, 1 reply; 16+ messages in thread
From: Stuart Morrow @ 2021-07-25 20:42 UTC (permalink / raw)
  To: 9front

[-- Attachment #1: Type: text/plain, Size: 44 bytes --]

The second one had an error so I did >[2=1]

[-- Attachment #2: log.28f76 --]
[-- Type: application/octet-stream, Size: 1064 bytes --]

Hash:	28f76455d39d990b47c6e46e18158f0a9ba09d25
Author:	rodri <rgl@antares-labs.eu>
Date:	Sun Jul 25 19:27:59 +0100 2021

	dial(2): dial returns an open data file, not a ctl one. also fixed little typo.

Hash:	1ec44ec77cfde746dc734a3921ec8fbeb6c743ce
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jul 25 17:03:14 +0100 2021

	libc: use usize for sbrk() increment

Hash:	e4b5f170cffd0d5e788d9090f8f2a9802fe267e9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jul 25 16:54:22 +0100 2021

	libc: change usize to 64-bit for amd64 and arm64, make memory(2) functions use usize

Hash:	8a8329ad952b0fced970cc0b83e5e87d4a5ceb7a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jul 25 15:12:17 +0100 2021

	bcm64: make the kernel use virtual timer counter register for cycles()

Hash:	b7e67e9e36833431e3ae993e0ce482115de1ff45
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jul 25 15:03:12 +0100 2021

	kernel: page counts a ulong, not usize

git/log: load c38fcb5dc35986b8a93bf2107f800a890e2cea9b: '.git/objects/c3' does not exist

[-- Attachment #3: log.40314 --]
[-- Type: application/octet-stream, Size: 1548975 bytes --]

Hash:	403149d7de4dbe4cc4b1fd9cb3a164e51dbccc15
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Jul 21 18:36:02 +0100 2021

	gzip, bzip2: add -n flag to suppress modification timestamp

Hash:	28057f67a04fc9e666cdb698d811c9d26c94f28c
Author:	Jacob Moody <moody@posixcafe.org>
Date:	Wed Jul 21 17:16:29 +0100 2021

	ssh: fix typo (thanks izaki)

Hash:	669b3abd702b934927499d976e563a1d663f9648
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Jul 20 22:49:30 +0100 2021

	brk(2): .... we define lowest addres not used by the program above, so use that instead

Hash:	7bd6679c82079db20ea3a9b2b1f08406719b52ec
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Jul 20 22:44:34 +0100 2021

	brk(2): sbrk(0) returns end address, not the base
	
	sbrk(0) returns the current end address of the BSS segment,
	not the base. This might have been confused with the behaviour
	of segbrk(), which when given a zero address returns the base.

Hash:	90ce513fb0df41c0d6c5cea8dbd612c1859d4392
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jul 18 21:21:06 +0100 2021

	merge

Hash:	187806ad2021994c4e841d4dbddc569d51023bb0
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jul 18 20:54:58 +0100 2021

	screenlock: don't poll to top window (thanks Stuart Morrow)
	
	> String becomes stringbg so we have guaranteed max contrast in case the
	> user changes the picture. (If you don't change the picture, it's
	> white-on-black-on-black (sic) and you would never notice the change.)

Hash:	07c32fb3da0731570508e519e4cfaaaaf646ccfb
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sun Jul 18 16:30:35 +0100 2021

	auth/rsa2jwk: add code to produce jwk rsa keys
	
	This is useful for acmed, and possibly other web
	technologies.

Hash:	acc504c319a4b4188479cfa602e40cb6851c0528
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sun Jul 18 15:59:51 +0100 2021

	git/fetch: fix overly eager 's/pack/idx/g' in refactor
	
	This would break pulling. We would try to index into
	a place that didn't exist.

Hash:	be36c092ac061a04065720e98e5849130487be7f
Author:	Jacob Moody <moody@posixcafe.org>
Date:	Sat Jul 17 19:56:11 +0100 2021

	aux/cddb: Provide -e option to print commands to rip audio with tags.
	
	Also parse title/track artist and year.

Hash:	2204634275cbb3337cfc7cc994b57f9aa4017d0d
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sat Jul 17 01:10:44 +0100 2021

	git/fetch: ensure we clean packfiles on failure
	
	When pulling into a git repository that is group
	writable as a non-owner, the pack file is left
	in place because we do not have permission to
	remove it.
	
	We also leave it behind if we bail out early due
	to an error, or due to only listing the changes.
	
	This pushes down the creation of the file, and
	cleans it up on error.
	
	thanks to Anthony Martin for spotting the bug.
	git/fetch: ensure we clean packfiles on failure
	
	When pulling into a git repository that is group
	writable as a non-owner, the pack file is left
	in place because we do not have permission to
	remove it.
	
	We also leave it behind if we bail out early due
	to an error, or due to only listing the changes.
	
	This pushes down the creation of the file, and
	cleans it up on error.
	
	Also, while we're here, clean up index caching,
	and ensure we close the fd in all cases.
	
	thanks to Anthony Martin for spotting the bug.

Hash:	fad1b3f7f77f08764f0e32f8ce18bee16da3aa69
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jul 17 00:36:40 +0100 2021

	kbdfs: allow to escape ctlr-alt-del with shift for vmx and vnc.

Hash:	e85aa1089d1d4954aa949cd05c5b6b9c3fca596c
Author:	kvik <kvik@a-b.xyz>
Date:	Thu Jul 15 19:53:42 +0100 2021

	webfs(4): fix typos

Hash:	c2a315c78e42a9e161011c7b0559d5d54c103d21
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jul 15 17:46:16 +0100 2021

	legal: mercurial -> git

Hash:	5899d2f0a6f8ed7512158d07c8cb87517ff6b958
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jul 15 17:43:12 +0100 2021

	legal: remove references to python and mercurial
	
	THIS IS AN EX PYTHON!!

Hash:	006c4d7ffcf24ab3013f7b4cf64034ad182a6e96
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jul 15 17:07:54 +0100 2021

	archacpi: make *acpi=1 the default

Hash:	3b1c450cd53eb2dddca40ae23603179ff06c8a50
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jul 15 08:50:56 +0100 2021

	ether82563: add pci id for i219-LM from ThinkPad P17 Gen1 Professional Mobile Workstation (thanks tschak909)

Hash:	431dbabcc1be3c587e0140edbdc6b452cd62e7c7
Author:	kvik <kvik@a-b.xyz>
Date:	Wed Jul 14 21:38:12 +0100 2021

	graphics(2): fix typo

Hash:	4483500f623b24abe1c1dac59b407eb5d83c9c9e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Jul 14 18:06:28 +0100 2021

	pc, pc64: increase confmem slots to 64
	
	Lenovo Thinkpad P17 Gen1 Professional Mobile Workstation
	comes up with around 36 separate memory ranges.
	
	ridiculous!

Hash:	1a46b6c19e0e81cd3125a9e026e6aec76ccb110b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Jul 14 18:04:40 +0100 2021

	libaml: fix gc bug, need to amltake()/amldrop() temporary buffer
	
	we have to protect the temporary buffer allocated by rwfield()
	as rwreg() calls amlmapio() which might cause further aml code
	execution causing gc() which frees it under us (as it is not
	referenced from the interpreter state).
	
	this fixes a panic on boot of a
	
	Lenovo Thinkpad P17 Gen1 Professional Mobile Workstation

Hash:	6560e7c6fd26dc99604beba0f45292f592155aeb
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Tue Jul 13 00:47:06 +0100 2021

	fs(4): describe the noauth toggle better (thanks izaki)

Hash:	5a23b752eb15d69bb5daeb9134fd19a77e9fab33
Author:	Jacob Moody <moody@posixcafe.org>
Date:	Mon Jul 12 22:42:39 +0100 2021

	strcat(2): 0 → nil in manpage in refrence to pointers

Hash:	e8259861da3a55c03491904e4d11c5c15b7577c5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jul 11 22:49:15 +0100 2021

	virtio: set FeaturesOk flag after feature negotiation, and enable queues before DriverOk flag

Hash:	ad37339a1c39c90f51d273abe60f552d3900f752
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jul 11 13:12:51 +0100 2021

	vmx: reset virtio queue state on device reset
	
	when a virtio device gets reset, we have to also reset the device
	shadow indices: availableidx and usedidx. for extra safetly,
	we also reset the buffer descriptor table addresses.
	
	this is accomplished by adding a vioqreset(VIOQueue*) function
	that brings the queue to its initial reset state.
	
	this fixes non functional ethernet after reboot(8).

Hash:	f58d99aa7a97ba5f79af89f38b78d5924d4e35a2
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jul 11 12:24:13 +0100 2021

	virtio: add non-legacy virtio 1.0 drivers for disk and ethernet
	
	The new interface uses pci capability structures to locate the
	registers in a rather fine granular way making it more complicated
	as they can be located anywhere in any pci bar at any offset.
	
	As far as i can see, qemu (6.0.50) never uses i/o bars in
	non-legacy mode, so only mmio is implemented for now.
	
	The previous virtio drivers implemented the legacy interface only
	which uses i/o ports for all register accesses. This is still
	the preferred method (and also qemu default) as it is easier to
	emulate and most likely faster.
	
	However, some vps providers like vultr force the legacy interface
	to disabled with qemu -device option "disable-legacy=on" resulting
	on a system without a disk and ethernet.

Hash:	c3589ef3cf33189d342a3ab638b558fd9249b220
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jul 10 19:34:22 +0100 2021

	kernel: export pcienumcaps() for custom capability enumeration in drivers (virtio)
	
	This used to be a internal function, but virtio
	uses multiple structures with the same cap type
	to indicate the location of various register
	blocks in the pci bars so export it.

Hash:	51a351e84570e8ac4322ad202bfc57f648755019
Author:	Jacob Moody <moody@posixcafe.org>
Date:	Sat Jul 10 16:57:46 +0100 2021

	aux/cddb: freedb.org is dead, use gnudb.org

Hash:	bf6769d3f09d51ff1096afa664c10d3313341a75
Author:	Sigrid Solveig Haflínudóttir <ftrvxmtrx@gmail.com>
Date:	Fri Jul 9 15:40:23 +0100 2021

	mouse(3): mousein is NOT exclusive, see 30907f1d00a7646ccbb420a18f60ccb0bf36e740

Hash:	2f8a59f4b5bfe028c022855acc19666d69eed909
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Thu Jul 8 22:35:34 +0100 2021

	rc: add subshell-function syntax
	
	fn foo @{bar} is now equivalent to
	fn foo {@{bar}}. As a side effect,
	this disallows creating functions
	named after keywords without first
	quoting them.

Hash:	b542dce430d408ed1f7457a26caa1d4bfc7339c4
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jul 8 21:20:09 +0100 2021

	libsec: take just the CN part of Distinguished Name in subjectAltName

Hash:	8b550e73c2cadcbd0df165c5474241d6b60dfce8
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Thu Jul 8 16:47:49 +0100 2021

	fortunes: unremove

Hash:	4001d24ec358ce958b13f3481a7cb214ee00a858
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Thu Jul 8 16:21:59 +0100 2021

	fortunes: revision: allow pseudo options after --end-of-options

Hash:	a0e65ca07515404d0fe80557d79b135d07183a85
Author:	kvik <kvik@a-b.xyz>
Date:	Tue Jul 6 17:21:18 +0100 2021

	git: create .git/objects/ on git/init

Hash:	16da8c05296632e7f086feed38328b6f1737f4a2
Author:	Sigrid Solveig Haflínudóttir <ftrvxmtrx@gmail.com>
Date:	Tue Jul 6 16:44:16 +0100 2021

	vmx: emulate ps/2 intellimouse scrolling

Hash:	78cf847bfbb3aa5f78713fb47200070c5605d5ef
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jul 4 23:38:22 +0100 2021

	rsa(8): document auth/x5092pub, fix usage lines

Hash:	58b61ff9b948076c0547c80002b5c9f1276f15c5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jul 4 23:28:16 +0100 2021

	libsec: do proper type checking, fix wrong deduplication check

Hash:	88060e7501de5c117b86e1d29bc24ec8e83141a8
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jul 4 23:00:24 +0100 2021

	libsec: add X509reqtoRSApub() function and return subject alt names in X509to*pub() name buffer
	
	We need a way to parse a rsa certificate request and return the public
	key and subject names. The new function X509reqtoRSApub() works the
	same way as X509toRSApub() but on a certificate request.
	
	We also need to support certificates that are valid for multiple domain
	names (as tlshand does not support certificate selection). For this
	reason, a comma separated list is returned as the certificate subject,
	making it symmetric to X509rsareq() handling.
	
	A little helper is provided with this change (auth/x5092pub) that takes
	a certificate (or a certificate request when -r flag is provided) and
	outputs the RSA public key in plan 9 format appended with the subject
	attribute.

Hash:	7010ad85c5a5648ea86d4f17a6b1547c10823938
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sun Jul 4 21:18:37 +0100 2021

	git/export: make output pipable to /bin/mail
	
	git/export *almost* produces output that can be
	emailed with upas using
	
		git/export $commit | mail maintainer@site.com
	
	but, the
	
		From: commit-id date
	
	line that git generates trips it up. Luckily,
	'git am' doesn't seem to care much if that line
	is missing, so we can simply omit it with no issue.

Hash:	e934530ee4512f033952e4efa80a80058607b741
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sat Jul 3 21:03:17 +0100 2021

	libc: add encode(2) variants for custom alphabets
	
	There are a number of alphabets in common use for base32
	and base64 encoding, such as url-safe encodings.
	
	This adds support for passing a function to encode into
	arbitary alphabets.

Hash:	c848ca62673689df20e7fef74d1d5180f37fcea6
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jul 2 00:11:11 +0100 2021

	devmouse: default to no blanking instead of 30 minute blank timeout

Hash:	2929a3bf67225b16284fd21bb0298bddeac142d1
Author:	Alex Musolino <alex@musolino.id.au>
Date:	Wed Jun 30 13:23:45 +0100 2021

	upas/Mail: avoid showing empty To: and CC: lines in compose windows

Hash:	a5c4ac4804c377759d468adfad94733d46822f36
Author:	Alex Musolino <alex@musolino.id.au>
Date:	Wed Jun 30 13:22:28 +0100 2021

	upas/Mail: fix CC addresses in "Reply All" compose windows

Hash:	dd7352fd35491a753a47aca3acd9f3a2fd8c2d96
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Tue Jun 29 21:03:26 +0100 2021

	git/revert: revert
	
	the old implementation was correct; we want to
	mark it dirty and let walk sort it out.

Hash:	ca6058e0e1bf8352e39e33e8435b206431831a94
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Tue Jun 29 00:40:40 +0100 2021

	git/revert: fix previous commit (helps if you save the file, thanks qwx)
	git/revert: fix previous commit (helps if you save the file, thanks qwx)

Hash:	682aabf9f692f310ad910910073d8f9d3839b716
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Mon Jun 28 19:28:08 +0100 2021

	git/branch: mark files we couldn't update as dirty

Hash:	658757abed7be283e06bae3b1722fc2703334d74
Author:	Anthony Martin <ality@pbrane.org>
Date:	Sun Jun 27 01:13:58 +0100 2021

	manual: don't match nonexistent file while preprocessing
	
	Authsrv(6) used to be called auth(6) before
	the fourth edition and was preprocessed by
	eqn(6) before the third edition. The mkfile
	was never updated to reflect the changes.
	
	All other files are accounted for:
	
	% cd /sys/man
	% for(i in TS EQ PS G1) echo $i `{grep -l '^\.'$i ?/[0-9a-z]*}
	TS 1/tbl
	EQ 1/eqn 3/usb
	PS 1/pic
	G1 1/grap
	%
	

Hash:	d972962f925ce533ff9b0c607ae0d9578bd0ec17
Author:	Anthony Martin <ality@pbrane.org>
Date:	Sun Jun 27 01:11:17 +0100 2021

	pic(1): restore example section
	
	It was erroneously elided when removing
	the tpic command in commit 891a8c4f2.
	

Hash:	d019a03f3785ede5861fa9fab81017a73ffe17f8
Author:	Anthony Martin <ality@pbrane.org>
Date:	Sun Jun 27 01:18:49 +0100 2021

	segment(3): restore missing phrase
	
	It was accidentally removed when documenting
	the sticky segment type in commit 99ed9623b.
	

Hash:	819bec22ccf01927c8d31e9bbcddca91b5ed41ee
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sat Jun 26 18:39:13 +0100 2021

	vt: allow scrolling with the mouse.

Hash:	b68b3a6e19eb57c9f1c8b70b624f103254f4964a
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sat Jun 26 18:29:27 +0100 2021

	vt, ssh: don't send interrupts on window resize
	
	When resizing windows, vt would signal ssh by updating
	the window size and sending an interrupt. Ssh reacted
	by forwarding both the winch and an interrupt.
	
	This change adds a WINCH generation counter so that
	ssh can differentiate between resizes and interrupts.
	If an interrupt comes in, and the WINCH generation
	changes, then the interrupt is taken as signalling a
	WINCH.

Hash:	4fd09def0fc51d0606e677f1ab59ad695d1cd780
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jun 26 14:16:36 +0100 2021

	kencc: revert back to "set but not used"
	
	The change to "assignment not used" breaks symmetry with
	"used and not set" and removes the reference to the
	specific warning mentioned in /sys/doc/comp.ms.
	
	Also, the patch was half-assed as that it left some typos
	in like "used an not set", which this change also fixed.

Hash:	759aafa007c42dce044800863455ad6048ed0ba5
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sat Jun 26 00:10:07 +0100 2021

	rc: skip arguments to Xsrcline, Xsrcfile in codefree
	
	We weren't correctly skipping the location operators
	in codefree. This would mostly be work, but sometimes
	you'd get unlucky and have one of the argmuents mismatch,
	and that would lead to an invalid free.
	
	This correctly skips the args in codefree.

Hash:	88a8ca5c8de86f1f3e5b43a490e0e70c6b456072
Author:	Jacob Moody <moody@posixcafe.org>
Date:	Thu Jun 24 14:53:37 +0100 2021

	cc: create .$O files with DMTMP

Hash:	e390486e927158c6b12b3f5242535998c20baf8d
Author:	Sigrid Solveig Haflínudóttir <ftrvxmtrx@gmail.com>
Date:	Wed Jun 23 09:07:16 +0100 2021

	tmdate(2): "ttt" is a valid format too, mention it

Hash:	b904edadd8869787b4419ce93c1c29b5beee3556
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Wed Jun 23 00:55:54 +0100 2021

	git/fs: use a better heuristic for permissions.
	
	Since we now store /dist/plan9front in git, the
	initial assumption that the owner of the repo
	is the person touching it is not always true.
	
	This change gives us a better heuristic for the
	file permissions we should have in the files we
	copy around, basing it off of the permissions of
	the .git directory.

Hash:	577033228209f28350dc3f75ef9d4ce88dfdf190
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Wed Jun 23 00:40:11 +0100 2021

	rc: correct line numbers
	
	When loading a file using ".", we could
	end up with our line numbers thrown off
	due to the mutation of lexline. Putting
	lexline into the runq beside the file
	that we're reading from causes it to get
	pushed and popped correctly, so that we
	no longer lose track of our location.

Hash:	ce73821f3575921e24f839b21c7be60520a9dc42
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Mon Jun 21 16:38:11 +0100 2021

	git(1): we have rebase

Hash:	214dc1ec6c5d98f52bee48b18eed7dabb32a5714
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Mon Jun 21 13:29:52 +0100 2021

	venti: make error messages consistent, remove duplicate messages.
	
	removes duplicate messaes about restrictions, and duplicate
	checks, makes the error match the rest of the errors.

Hash:	068f403e7111016383f65b46eeffd5ae592964f2
Author:	Alex Musolino <alex@musolino.id.au>
Date:	Mon Jun 21 11:27:09 +0100 2021

	/sys/man/mkfile: drop reference to non-existent realtime(3)

Hash:	ed52015cadfc662abdea1dea7240244672e201a8
Author:	Alex Musolino <alex@musolino.id.au>
Date:	Mon Jun 21 11:26:15 +0100 2021

	sched(9): replace '–' with '-' in NAME section
	
	This was causing the ptx utility in /sys/lib/man/permind
	to barf.  As such, the PDF book of all manual sections
	could not be built.

Hash:	e8b4cf938dda5bfac61aebe2ec3eb16f1b55d193
Author:	Alex Musolino <alex@musolino.id.au>
Date:	Mon Jun 21 11:22:49 +0100 2021

	/sys/man/mkfile: run eqn(1) for usb(3) section of book

Hash:	065cf0b708be75e84e568261a044d66286ef6e3d
Author:	Noam Preil <noam@pixelhero.dev>
Date:	Mon Jun 21 04:56:14 +0100 2021

	venti: warn when opening /dev/swap fails

Hash:	e7715ce2c669fd4ac95dec7851c71136aeb0053f
Author:	Noam Preil <noam@pixelhero.dev>
Date:	Mon Jun 21 04:52:09 +0100 2021

	venti: fix detection of available RAM (fixes -m)

Hash:	a22697039dfb531634f084e28517e60c766fa9dd
Author:	Noam Preil <noam@pixelhero.dev>
Date:	Mon Jun 21 04:49:42 +0100 2021

	venti: inform user when reducing memory consumption

Hash:	7ec82078836f837fd0f3a2508a64f2389c305188
Author:	Noam Preil <noam@pixelhero.dev>
Date:	Mon Jun 21 04:34:47 +0100 2021

	/sys/src: add arm64 to installall list

Hash:	1a09421f7db897e1d2e2a9210f79ca4389362c3a
Author:	Noam Preil <noam@pixelhero.dev>
Date:	Mon Jun 21 04:29:58 +0100 2021

	kencc: clarify warning for unused assignments

Hash:	21075859e4f3ed93ef2a8ae072cc23d575b4549c
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Mon Jun 21 03:12:58 +0100 2021

	git/revert: handle absolute paths gracefully (thanks deuteron)
	
	when reverting files, absolute paths would get concatenated with
	$gitrel; use `cleanname -d` to fix this.

Hash:	0339e9ac44b4aed285391727ce3d6e3e1afd173e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jun 21 01:38:06 +0100 2021

	libsec: restore old behaviour for generating self signed cert

Hash:	e9aed242ccf6c569491b34e5455e9ea9b78cd29a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jun 21 00:33:13 +0100 2021

	libsec: emulate openssl asn1 when generating x509 csr
	
	when trying to request certificates from letsencrypt,
	their test api would reject our csr because of
	"tuncated sequence" unless we force subectAltName
	by passing multiple domains (as comma separated list).
	
	apparently, we need to provide the context specific tag
	"cont [ 0 ]" for the extensions even when we do have
	any extensions for the csr (triggered when we need to
	have subjectAltNames).
	
	for this, we change mkcont() to take a Elist* instead,
	which then can be nil when not used. also put the tag
	number argument first, which makes it easier to read.

Hash:	eeb0f9a9dad1c09ba2c0985b1af2c99b1bebe4c1
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sun Jun 20 18:07:33 +0100 2021

	git/log: handle absolute paths gracefully.
	
	strip off the repo prefix if the path given
	is absolute, and then look up as though it
	was rooted in the repo.

Hash:	a87a4b763f58eb51ccfd5a9a394258c9398176aa
Author:	Sigrid Solveig Haflínudóttir <ftrvxmtrx@gmail.com>
Date:	Sun Jun 20 15:59:10 +0100 2021

	threadimpl.h: remove Printsize as well (unused)

Hash:	8ec50b87d5a33aacd27af7ef3aec5c1236c57e03
Author:	Sigrid Solveig Haflínudóttir <ftrvxmtrx@gmail.com>
Date:	Sun Jun 20 15:55:13 +0100 2021

	thread.h: threadnonotes does not exist

Hash:	340d157c401c78d26b4b1405b9bb50449facac85
Author:	Sigrid Solveig Haflínudóttir <ftrvxmtrx@gmail.com>
Date:	Sun Jun 20 15:54:20 +0100 2021

	threadimpl: remove unused fields from Proc struct

Hash:	57d95c73256176bfd5cd3ef003c062697435f9c2
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jun 20 15:41:26 +0100 2021

	libsec: move zero check to curve25519_dh_finish()
	
	As checking for all zero has to be done in a timing-safe
	way to avoid a side channel, it is best todo this here
	instead of letting the caller deal with it.
	
	This adds a return type of int to curve25519_dh_finish()
	where returning 0 means we got a all zero shared key.
	
	RFC7748 states:
	
	The check for the all-zero value results from the fact
	that the X25519 function produces that value if it
	operates on an input corresponding to a point with small
	order, where the order divides the cofactor of the curve.

Hash:	6dd2c638b6fa9f891836cd2fceb3e4f996f6e199
Author:	Alex Musolino <alex@musolino.id.au>
Date:	Sun Jun 20 03:05:00 +0100 2021

	date(1): list all option characters in SYNOPSIS
	
	Now that -f is specifically mentioned (as it takes
	an argument), might as well list the others in full.

Hash:	775a4bea4386c12067057de0e56dd8baa34f43ec
Author:	kemal <kemalinanc8@gmail.com>
Date:	Fri Jun 18 20:12:44 +0100 2021

	libsec: various changes to tls
	
	1. add the curve x25519 to tls, both client and server.
	it's more faster, immune to timing attacks by design,
	does not require verifying if the public key is valid,
	etc etc. server-side has to check if the client supports
	the curve, so a new function has been introduced to parse
	the client's extensions.
	
	2. reject weak dhe primes that can be easily cracked with
	the number field sieve algorithm. this avoids attacks like
	logjam.
	
	3. stop putting unix time to the first 4 bytes of client/
	server random. it can allow fingerprinting, tls 1.3 doesn't
	recommend it any more and there was a draft to deprecate
	this behaviour earlier.[1]
	
	4. simply prf code, remove useless cipher enums.
	
	[1] https://datatracker.ietf.org/doc/html/draft-mathewson-no-gmtunixtime-00

Hash:	e7015971091d3fd46b73fc47d8a290961047b71d
Author:	kvik <kvik@a-b.xyz>
Date:	Sat Jun 19 13:03:53 +0100 2021

	nusbrc(8): fix typo (thanks igor@9lab.org)

Hash:	5e098228acee982a11484fc5f5b3d127a521dfdd
Author:	kvik <kvik@a-b.xyz>
Date:	Sat Jun 19 13:00:52 +0100 2021

	cal: fix days of week alignment for year view (thanks igor@9lab.org)
	
	  term% cal -s1 2021
	                                  2021
	
	           Jan                    Feb                    Mar
	   M Tu  W Th  F Sa Su     M Tu  W Th  F Sa Su     M Tu  W Th  F Sa Su
	               1  2  3    1  2  3  4  5  6  7    1  2  3  4  5  6  7
	   4  5  6  7  8  9 10    8  9 10 11 12 13 14    8  9 10 11 12 13 14
	  11 12 13 14 15 16 17   15 16 17 18 19 20 21   15 16 17 18 19 20 21
	  18 19 20 21 22 23 24   22 23 24 25 26 27 28   22 23 24 25 26 27 28
	  25 26 27 28 29 30 31                          29 30 31
	  …
	
	Note how the days (i.e. ' M Tu  W Th  F Sa Su') for Feb and Mar
	do not align with the day numbers.
	
	This is because an extra space is left *before* adding the terminating
	'\0' via the pointer `dayw`.
	
	With the patch applied the calendar aligns nicely for the year view:
	
	  term% cal -s1 2021
	                                  2021
	
	           Jan                    Feb                    Mar
	   M Tu  W Th  F Sa Su    M Tu  W Th  F Sa Su    M Tu  W Th  F Sa Su
	               1  2  3    1  2  3  4  5  6  7    1  2  3  4  5  6  7
	   4  5  6  7  8  9 10    8  9 10 11 12 13 14    8  9 10 11 12 13 14
	  11 12 13 14 15 16 17   15 16 17 18 19 20 21   15 16 17 18 19 20 21
	  18 19 20 21 22 23 24   22 23 24 25 26 27 28   22 23 24 25 26 27 28
	  25 26 27 28 29 30 31                          29 30 31
	  …

Hash:	b3215c807556cdaaa0f949f1fb3f97c484ffd1da
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Thu Jun 17 22:12:26 +0100 2021

	date(1): document '-f' option

Hash:	1da1ac52d201bdc6656b91a4b1792581120b2d09
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Wed Jun 16 16:25:02 +0100 2021

	git/branch: resolve implicit branch switch before using it
	
	When switching a branch implicitly -- ie, creating a local
	branch off of a remote branch -- we would get the list of
	changed files before we would resolve the implicit branch
	switch, leading to an empty list of changes.

Hash:	7f697e822b2efd5c757141720469d105a5605ca4
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Wed Jun 16 01:28:01 +0100 2021

	lex: fix uninitialized fds (thanks きゐ)

Hash:	1210b12f28ac23a2f0af6004a49d7c82a8f236ca
Author:	Anthony Martin <ality@pbrane.org>
Date:	Tue Jun 15 17:13:59 +0100 2021

	troff: fix mangled fonts and character files
	All of these files appear to have been imported from sources in a
	case-insensitive manner and consequently lost their original content.
	
	- Hx, Hb, and Hi fonts should be narrow versions of Helvetica
	
	- c[1-3] fonts should be condensed versions of Century Old Style
	
	- the lH character should be a filled left hand symbol
	
	- the rh character should be a stroked right hand symbol
	
	- the rc character should be the right ceiling symbol
	
	I've verified that these are the only files that collide with others
	when ignoring case (aside from rc/bin/[Kk]ill but those are correct).
	

Hash:	7c3ff535745b373775fbdab74954e7717abbce84
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Tue Jun 15 22:29:22 +0100 2021

	git/import: handle mails with line wrapping and mime
	
	git/import expected a patch, however upas/fs serves
	either a raw file without any of the mime decoding
	and line joining, or a directory, with the headers
	and body split out.
	
	This makes it a pain to apply some mails.
	
	So, here we teach git to import upas dirs natively,
	making it easy to handle all patches that come in
	as emails.

Hash:	21283578ebbc2663e698733a6d11ace0e98bc8a9
Author:	glenda <glenda@9front.local>
Date:	Tue Jun 15 15:28:00 +0100 2021

	ircrc: freenode -> oftc

Hash:	e1cc6a9a0f0ebbcbb32f177cfc2c977509cbb6fb
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Tue Jun 15 00:58:09 +0100 2021

	sysupdate: clean up transitional code
	
	we just need git/pull now

Hash:	a73a964e51247ed169d322c725a3a18859f109a3
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Mon Jun 14 01:00:37 +0100 2021

	python, hg: tow outside the environment.
	
	they've served us well, and can ride off into the sunset.

Hash:	e64efe273fcb921a61bf27d33b230c4e64fcd425
Author:	glenda <cinap_lenrek@felloff.net>
Date:	Sun Jun 13 14:21:12 +0100 2021

	/sys/lib/dist/mkfile: test for .git directory

Hash:	a7a34f1fdf891d655524f1fa963e39d3cbd168d9
Author:	Jacob Moody <moody@posixcafe.org>
Date:	Sat Jun 12 19:44:17 +0100 2021

	sam: remove refrence to /srv file in man page

Hash:	370ef39bf963fc715c06982cb863eb0d50eb3ad9
Author:	Jacob Moody <moody@posixcafe.org>
Date:	Sun Jun 13 00:12:41 +0100 2021

	lib9p: add auth* functions to man page

Hash:	8ab397c23c2fdbbe64d10f756bb4eb15aab54075
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sun Jun 13 13:48:49 +0100 2021

	git/push, git/send: get better about erroring out early
	
	git/push died within a subshell, which prevented the
	whole program from exiting, and lead to an incorrect
	ref update line that confused people.
	
	git/send would eventually error out, but would push
	all the data before that happened; this was annoying.

Hash:	c9bf96e3e04a46122ec33840d69ae2341cebd50c
Author:	jacob gw <jacoblevgw@gmail.com>
Date:	Sat Jun 5 19:48:10 +0100 2021

	a.out(1): update manpage to be 64 bit inclusive

Hash:	4aef95e205f912ea7eb4c147742a59d575c8b1ff
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sun Jun 13 02:20:46 +0100 2021

	git/branch: preserve checked in permissions on branch update
	
	we need to copy the files, and we should copy them with the
	permissions that exist in the repo.

Hash:	c12e49ecbf4ae7933b13d592543c9f7c7dc03581
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sat Jun 12 19:03:26 +0100 2021

	B: expand path when plumbing files
	
	When we plumb a file, we open it in the current working
	directory if it exists. However, if it doesn't exist,
	we end up opening it relative to the editor's working
	directory.
	
	Expanding the path to works around this issue.

Hash:	1c30bd451e1813f1cf9f9db4d7c1a4f3f95d1e37
Author:	Fulton Browne <git@fulton.software>
Date:	Sat Jun 12 18:20:53 +0100 2021

	B, sam: remove sam srv file
	No need for 2 programs doing the same job.

Hash:	73db7a20f7a3195967d77b972e4eaa5602d2d4bf
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sat Jun 12 15:57:58 +0100 2021

	git/add: clear qid cache as side effect
	
	this is an occasionally useful side effect when
	doing surgery on repos, so let's have it.

Hash:	aacf368c6d4ec9adb9fae28d3ca07d074fd459f5
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sat Jun 12 15:32:16 +0100 2021

	mothra: read the content-type header over file(1) to determine type (thanks james palmer)
	
	this fixes some pages being classified as xml by file(1),
	meaning they would be rendered as plain text rather than as html.

Hash:	af95aa431d6e511355a6eb953ab7845f94c0e2d7
Author:	Fulton Browne <git@fulton.software>
Date:	Sat Jun 12 00:26:50 +0100 2021

	Remove ap(1)
	Cool script - does not work.

Hash:	09b0eb0d1ac7a66569263d2c48aea96e524ccebe
Author:	kemal <kemalinanc8@gmail.com>
Date:	Tue Jun 8 21:13:57 +0100 2021

	git/conf: check in /sys/lib/git/config as a fallback to user-wide config

Hash:	a859d53145823ea0c7aff7eadde75c92fdc8d7d1
Author:	kvik <kvik@a-b.xyz>
Date:	Tue Jun 8 21:20:06 +0100 2021

	git/revert: fork the namespace before running git/fs

Hash:	1bce186f6c5be32b218c1c176363cf372d3d5d0c
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Mon Jun 7 17:46:57 +0100 2021

	homespool: remove obsolete lp config tool
	
	homespool configures directories that it seems
	lp no longer usees. we can drop it.

Hash:	afe3c1c89a9ead7459691e9bf0d4e28f232bb929
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Mon Jun 7 03:17:30 +0100 2021

	sysinfo(1): we don't do '-i' for sysupdate any more.

Hash:	5e3b99f280971d1e477c7df850cebbc940d5ab90
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Mon Jun 7 02:39:05 +0100 2021

	acme(4): document rdsel, wrsel (thanks foura)

Hash:	8aa69e55b6a441ab7b0d243d548ac202bcd31324
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Mon Jun 7 00:50:45 +0100 2021

	git: avoid uninterruptible temporary warning
	
	dont' fall into the rathole.

Hash:	8d578014cf6a76c55e6178d96ffd3c2ad134641a
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sun Jun 6 23:44:36 +0100 2021

	rio: match background screen color format (thanks noam)

Hash:	24286fa2847a7624de58d699d55af8ef31697b35
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sun Jun 6 23:26:07 +0100 2021

	sysinfo(1): we're on git now.

Hash:	6ae0cd0d48a1b852f4a00c09aa8056e9062b1cf1
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sun Jun 6 19:09:33 +0100 2021

	distproto: remove .hgnore and .hg and add .git directory
	
	again.

Hash:	01f72865210ce4582e4958bac8c4777e7aa209cd
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sun Jun 6 18:44:10 +0100 2021

	see last try.

Hash:	d1d5f21992c0457596d855d1283ae8dbecc01338
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sun Jun 6 18:21:53 +0100 2021

	distproto: sync with hg

Hash:	ce30e785b1c7b836c6fc387314e34503fc10a91c
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sun Jun 6 16:57:31 +0100 2021

	git/branch: diff clean and dirty lists correctly
	
	no spaces in our lists.

Hash:	fb15534c78d06bce19233da20c2fe1d23ad0c447
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sun Jun 6 14:27:33 +0100 2021

	git/branch: revert optimization fully
	
	it doesn't help *that* much, and confuses the code.

Hash:	78d2064a7c7fcf8a2e9d5bf356b44c1ecb902662
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sun Jun 6 14:11:10 +0100 2021

	git/branch: somewhere in the syncing, the fix for junk files was lost
	
	bring it back.

Hash:	a2a0717c99ab60bc0d7814fa22230013f9347c22
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sun Jun 6 04:29:57 +0100 2021

	git/send: allow the remote to have refs that we don't
	
	It's not fatal for someone else to push a branch
	with objects that we don't have. We should deal
	with it gracefully, and act as though it doesn't
	exist.

Hash:	74912993de657a9885d4c1f95ebf64b0c7d5083f
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sun Jun 6 03:07:57 +0100 2021

	git/commit: allow passing absolute paths
	
	we would treat paths as relative, and not
	step past leading '/'s, leading to an infinte
	loop.

Hash:	f9ae02033295468dc427b742d098b65537287b06
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jun 6 00:58:24 +0100 2021

	sysupdate: revert thumbstone temporarily
	
	experiencing some issues with git9 transition... we likely need
	to update git9 again before doing another attempt...

Hash:	706aad3d94ee4d9ff93c8c21398f0bb471a438da
Author:	glenda <glenda@9front.local>
Date:	Sat Jun 5 19:50:20 +0100 2021

	git/branch: merge correct set of files
	
	we were switching branches before we got the full list
	of modified files, which could garble what we were trying
	to merge.

Hash:	a5282f9eab1b78bd65e5144c81bf0f19b3f9efaf
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sat Jun 5 18:42:05 +0100 2021

	git/{branch,pull}: merge files correctly
	
	merge1 would clobber the global '$base' variable,
	which is not what we wanted. Run it in a subshell
	with its own env.

Hash:	5d06e7ad66f2dad04f25948bcdc256f812c47590
Author:	glenda <cinap_lenrek@felloff.net>
Date:	Sat Jun 5 18:21:09 +0100 2021

	distproto: remove .hgnore and .hg and add .git directory

Hash:	fd9679d97b0bb7b8849f84f50c708d5f733708e1
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sat Jun 5 14:40:28 +0100 2021

	git: handle absolute paths better
	
	we were catting $gitrel onto absolute paths. stop it.

Hash:	4f3437a3ccde4fadf84f6de254a141cece9ca0af
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sat Jun 5 13:17:03 +0100 2021

	sysupdate: insert tombstone
	
	after this update, we're on git: update sysupdate
	to switch repositories.

Hash:	347b552b18cd73514a55a64e93805d33c2c0ddf6
Author:	Alex Musolino <alex@musolino.id.au>
Date:	Fri Jun 4 17:12:10 +0100 2021

	merge

Hash:	3568348260054100d4ec66dd3d4d7dbb55bd9dd5
Author:	Alex Musolino <alex@musolino.id.au>
Date:	Fri Jun 4 16:51:55 +0100 2021

	upas/Mail: fix bug where Redraw must be executed twice to have an effect
	
	In showlist, call bwindata instead of bwinopen in order to use a
	pre-existing fd to write to the data file.  This existing fd will
	properly honour any address set by a previous write to the addr file.
	Specifically, the redraw function sets addr to "," before calling
	showlist in order to overwrite the entire contents of the window.

Hash:	5a34cc86a807c4629491b38f0f401e885956edc0
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jun 4 16:47:26 +0100 2021

	git: allow local repository directories as remote uri's
	
	This is implemented by checking first if the uri is
	a directory containing the .git/ subdirectory.
	If this is the case, we fork git/serve serving the
	repository on a pipe.

Hash:	4dd461e4400b20fbb218304e53a84d3704ae8304
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jun 4 16:44:29 +0100 2021

	git/serve: remove undocumented -n namespace option and -r /usr/git default
	
	This makes it easier to serve local repositories where the sandboxing
	gets in the way.

Hash:	db5ca0017c648c3c2bb5047e61d27ab584171dd7
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Fri Jun 4 00:15:16 +0100 2021

	git/log: show first commit as file change
	
	We checked if the file was changed from its parents.
	If there were no parents, the answer was no, but it
	should be yes.

Hash:	b42111117b76834c736155b542b1c38e6ce6b900
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Tue Jun 1 03:30:07 +0100 2021

	git/init: create fs dir

Hash:	1160919f8197c8b1ad45f0c5bcf5cef7051202d9
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Tue Jun 1 02:02:23 +0100 2021

	git/send: pick minimal delta set correctly (thanks igor)
	
	We weren't giving all objects to the twixt() function, and
	it was making bad life choices -- gambling, smoking, drinking,
	and packing in too much data.
	
	With more information, it doesn't do the last.

Hash:	c29748226982e52d19dfd206a680b97ed35c44f6
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Mon May 31 18:59:45 +0100 2021

	sdvirtio: accept multi-queue devices
	
	Sdvirtio supports multiple queues per device.
	We only use one queue, but we shouldn't skip the
	devices because of that.

Hash:	f0bb6bbcb77d04bf5bdf6bcf8765752f78a5d077
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Mon May 31 03:21:57 +0100 2021

	git/branch: ...all the debug prints.

Hash:	519ff3009873af78d151a0bc84e3cecfb4c3c84a
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Mon May 31 03:07:11 +0100 2021

	git/branch: remove debug prints

Hash:	31fc689ad948b897c459505479a08494120c344a
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Mon May 31 03:06:01 +0100 2021

	git/branch: reduce execs to sync working dir
	
	We were execing a lot to copy the data -- do less of it.

Hash:	12e952e684d149628360b6fcdb583be86052f944
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Mon May 31 01:46:21 +0100 2021

	git/fs: move mount point to $repo/.git/fs
	
	Moving the mount point to within the repo
	directory means that we can have multiple
	git repos mounted at once with no conflict.

Hash:	1af2546e96fa96ec5341026dd509c9e4ed54c6db
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun May 30 13:30:50 +0100 2021

	vac: add -t flag to exclude temporary files and directories (thanks foura)

Hash:	3858b49942afb68d29e1ad02e6210bc5aba84c6e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun May 30 13:26:28 +0100 2021

	[9front] vga: Add U+29FA DOUBLE PLUS (thanks jmi2k)

Hash:	a624902621a60f9a31d8614a18d10b6fee2dc521
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat May 29 13:20:04 +0100 2021

	merge

Hash:	c2297ce5c180e98f2217a691a25d19a300956d9f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat May 29 13:18:35 +0100 2021

	kernel: use 64-bit virtual entry point for expanded header, document behaviour in a.out(6)
	
	For 64-bit architectures, the a.out header has the HDR_MAGIC flag set
	in the magic and is expanded by 8 bytes containing the 64-bit virtual
	address of the programs entry point. While Exec.entry contains physical
	address for kernel images.
	
	Our sysexec() would always use Exec.entry, even for 64-bit a.out binaries,
	which worked because PADDR(entry) == entry for userspace pointers.
	
	This change fixes it, having the kernel use the 64-bit entry point
	and document the behaviour in the manpage.

Hash:	8ac28a3e2102332c64a12ae4b1424cc6501ef73e
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Fri May 28 12:02:58 +0100 2021

	zuke: treat toggle as play in stopped state

Hash:	e18da032f0b875e86d66f728cb0007840d1fbc79
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Thu May 27 06:47:10 +0100 2021

	zuke: fix seeking in paused mode

Hash:	d168b89ab110a2d1fcaf72ad085a789092b82b00
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun May 23 16:06:14 +0100 2021

	mkpaqfs(8): allow setting compression level

Hash:	33682347b9b3f8403d9db23b8ca7483ffe9f7767
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu May 20 20:29:43 +0100 2021

	/sys/lib/kbmap/colemak: map capslock to backspace (thanks jacob wb)

Hash:	54cafd210657a38e7960de21fb092506659d69a0
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Mon May 17 21:46:44 +0100 2021

	git: add missing file
	
	Forgot to add common.rc in the initial commit.

Hash:	2321062d2f73709afa85f002a6a0c7917ac307d4
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Mon May 17 17:17:22 +0100 2021

	9pfid(2): document Srv* in Req (thanks kjn)
	
	This struct member is available for any user of
	the library, and is not part of our internal API.
	It should be documented.

Hash:	1ee1bfaa8c5644092e0c1ca3985ee74813bbfb1d
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Mon May 17 02:49:45 +0100 2021

	git: got git?
	
	Add a snapshot of git9 to 9front.

Hash:	013b2cad191eef50fd4e69c38f1544c5083b640d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat May 15 11:40:11 +0100 2021

	memory(2): mention tsmemcmp (thanks kemal)

Hash:	e72da62915b09d5673b0c0179ba8dfe045aeb8c3
Author:	foura <james@biobuf.link>
Date:	Sun May 2 15:29:43 +0100 2021

	ip/ftpd: Add explict and implicit FTPS support.
	
	Removed:
	- Challenge reponse auth.
	- Noworld login.
	- Anonymous users writing files to /incoming.

Hash:	9633c9fc65a833747a24cbd51f922afcf2859efd
Author:	james palmer <foura@biobuf.link>
Date:	Thu May 13 21:29:19 +0100 2021

	libpanel: fix text sliding around in libpanel text entry widgets.

Hash:	15b903c4e187b82d6dd01b8284b244945522c06d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed May 12 21:40:51 +0100 2021

	pc64: avoid getcr3() in mmuflushtlb()
	
	it turns out that calculating physical address of pml4 is faster
	than reading the machine register, so pass it explicitely.

Hash:	18b3847aef8428503b8889b3a986d38e5e6ed584
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed May 12 21:24:36 +0100 2021

	devvmx: remove unncessary locking in gotcmd() sleep test function

Hash:	682414ce0d8245bef6c09d9e7ca015331a5ddd35
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed May 12 17:17:06 +0100 2021

	vmx: fix 9p debug server and make it compatible to /proc
	
	The 9p debug server was broken as it assumed the first
	tree file added would have a qid of 0 (it has a qid
	of 1 as the root directory is using 0 already).
	
	Instead, just compare File* pointers and get rid of
	the table (less code).
	
	When passing 64-bit unsigned addresses as 64-bit signed
	file offsets, we have to make sure to not pass negative
	offsets (filtered out by kernel and lib9p)!
	This is solved by clearing and sign bit in encoding and
	63-bit sign extension on decoding.
	
	Make the mem file writable (needed for acid).
	
	The 9p debug server provided a single directory containing
	mem and regs files. This patch renames the regs file
	(which is in vmx specific text format) to "xregs" and
	adds "regs" and "kregs" file which use the same format
	as exported by the kernels /proc filesystem.
	
	This allows one to bind the vmx directory over a proc
	directory and attach acid to a running system like:
	
	mount -b /srv/vmx /proc/1
	acid -k -lkernel 1 /sys/src/9/pc64/9pc64

Hash:	532c7479e96e439a13df421d3b9f547cde5b5642
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed May 12 17:04:25 +0100 2021

	vmx: avoid strdup() register names for register cache
	
	If we tokenize the register file contents in a static buffer,
	we can avoid having to duplicate the register names.
	
	All callers to rpoke() provide constant register arguments
	so they also do not need to be duplicated.

Hash:	67eac97a81a2adf46507030a28a036ff75331f31
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed May 12 17:00:46 +0100 2021

	vmx: implement long mode page table translation
	
	This allows vmx to translate virtual addresses to physical
	when the gues runs in long mode.

Hash:	014197f8d362c4644bdf07931dc695e789054838
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun May 9 14:19:05 +0100 2021

	iwhois: add some improvements (thanks gall0ws)
	
	patch from gall0ws:
	
	> It's impossible to get whois right and probably nobody cares about it,
	> nevertheless this small patch fixes some issues with the current version:
	>
	> * use a more common filter for default boilerplate (useful when
	>   following the referral chain)
	> * updated boilerplate for *.co.uk *.net.uk *.org.uk
	> * added case *.com *.net (got it from iana.org)
	> * use ARIN for IPv6 addresses
	> * when unsure, check first whether whois.nic.$tld exists otherwise
	>   usual fallback to InterNIC
	> * fixed regexp for the referral chain (case, extra spaces or /)
	
	- add usage handling.
	
	--
	cinap

Hash:	7048f1ca111fb8a2898039f4e9cd255ec3cd42b2
Author:	qwx <devnull@localhost>
Date:	Wed May 5 15:57:19 +0100 2021

	games/opl3: use correct sampling rate
	
	games/dmid uses the same sample rate as the chip for music, but other
	applications do not.  opl3 and its older version opl2 (not in 9front)
	read an input stream of commands in basically IMF format, something
	used in other id Software games and some others, which assumes a
	given input sampling rate:  700 Hz for Wolfenstein 3D music, 560 Hz
	for Commander Keen, 60 Hz for Ultima 6, etc.
	
	The opl3 emulation on the other hand is not really intended to run at
	a sampling rate different that the chip's 49.716 kHz sampling rate.
	Previously, we assumed it runs at 44.1 kHz and just used the input
	rate as a divisor to get the number of samples per delay tic.
	
	From what I understand, the correct way to use it for accurate
	emulation is to run the opl chip emulator at its intended sampling
	frequency, then downsample to 44.1 kHz.  This means better output
	but more code.  The alternative is to basically do the same as
	before rev 8433, except with no buffering, but at accuracy/quality
	loss.  This change implements the former and just forks pcmconv to
	deal with resampling.

Hash:	ebaddcf030d195e393fdb6308e107fa4e17b8867
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed May 5 00:51:20 +0100 2021

	merge

Hash:	7c1e0be91969ab0d8fca4bd1fd52de32f4a9a0c5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed May 5 00:50:09 +0100 2021

	cpu: properly handle end of file in readstr()

Hash:	54ef5ea0a55e6ae9f98b4ba2998185b7b5b6fad8
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Tue May 4 14:32:35 +0100 2021

	zuke(1): more fixes (thanks humm)

Hash:	c92d7e3cedbccdbd8a585bde4b870c8e760c5c9d
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Tue May 4 14:21:44 +0100 2021

	zuke(1): engrish (thanks qwx)

Hash:	fd785b5546965cf1bf148359ce607e0f75870a80
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Tue May 4 13:52:05 +0100 2021

	add zuke(1) manpage (thanks kemal & humm)

Hash:	5e81cc48bdb00a3e7ae3334728659b8f014248da
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Mon May 3 20:04:39 +0100 2021

	libtags: upstream updates

Hash:	b66bffe91c2b0fac63a5124b968e807d5e73729e
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sat May 1 20:33:31 +0100 2021

	Mail: remove message about cyclic threads
	
	They happen, and we break the cycle. There's nothing
	the user can do, so there's no point in warning.

Hash:	ee289c241577a3553bfd73211cd81e137ab4fe40
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat May 1 18:58:58 +0100 2021

	lib9p: remove Srv.srvfd, make postsrv() and threadpostsrv() return the mountable file descriptor, update documentation
	
	Now that we have these new functions,
	we can also make them return an error
	instead of calling sysfatal() like
	postmountsrv().
	
	Remove the confusing Srv.srvfd, as it
	is only temporarily used and return
	it from postsrv() instead.

Hash:	57c21ae441d1b6af38ce310ffec87340488ed84b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat May 1 16:03:03 +0100 2021

	lib9p: remove unneccesary headers

Hash:	f6509078ed9d03b71c945b19cdda5c882cb1e78d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat May 1 15:37:00 +0100 2021

	lib9p: expose Srv.forker handler and srvforker(), threadsrvforker() and threadsrv() functions
	
	To use srvrease()/srvaquire() we need to have a way to spawn
	new processes to handle the service loop. This functionality
	was provided by the internal _forker() function which was
	eigther rfork or libthread based implementation depending on
	if postmountsrv() or threadpostmountsrv() where called.
	
	For servers who want to use srv() directly, _forker would not
	be initialized so srvrelease() could not be used.
	
	To untangle this, we get rid of the global _forker handler
	and put the handler in the Srv structure. Which will get
	initialized (when nil) to eigther srvforker() or threadsrvforker()
	depending on if the thread or non-thread entry points where used.
	
	For symmetry, we provde new threadsrv() and threadpostsrv()
	functions which handle the default initialization of Srv.forker.
	
	This also allows a user to provide his own forker function,
	maybe to conserve stack space.
	
	To avoid dead code, we put each of these function in their
	own object file. Note, this also allows a user to define its
	own srvforker() symbol.

Hash:	013b4983140cc2fbb7df9e3647e2e7c5d575a9dd
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Fri Apr 30 11:36:01 +0100 2021

	libtags: use nelem

Hash:	dd86214d77a4abf9ac160c2c63ae1bb448a5ba2d
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Thu Apr 29 23:20:39 +0100 2021

	libtags: trim text tags and ignore empty values

Hash:	e5535fad320c9ba0e75f419117ab2ae6c0bcbb09
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Thu Apr 29 22:35:52 +0100 2021

	libtags: modules: ignore empty title

Hash:	7cff84371d4cdf1964651fd04c60b98a0d6014a4
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Thu Apr 29 20:44:06 +0100 2021

	libtags: use CP437 as the default encoding for module formats

Hash:	c3593c1a7a9dc1e888d56fc29f4f150d9b5d2fab
Author:	qwx <devnull@localhost>
Date:	Tue Apr 27 15:08:06 +0100 2021

	opl3(1), exec(2): fix manpage typos (thanks umbraticus)

Hash:	af2f7ea2364f50458b46262aa7027470983c13b6
Author:	qwx <devnull@localhost>
Date:	Tue Apr 27 08:48:14 +0100 2021

	games/opl3: don't buffer output and simplify (thanks umbraticus)
	
	this fixes real-time applications.
	
	-n previously specified a rate divisor rather than the rate itself,
	which was used for specific applications outside of 9front.  instead,
	just set the rate directly, more useful and straightforward.

Hash:	51ead1072b1c4b55ec898a083ed2bba878c33927
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Sun Apr 25 20:49:01 +0100 2021

	file: partially revert 8419 to detect <?xml as html

Hash:	c0d4498ab8a4e564156f49e5b6633a6335b91fc4
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Apr 25 16:41:34 +0100 2021

	kernel: clean up Mach structure
	
	Remove unused fields and factor common fields into a
	new PMach struct in port/portdat.h.
	
	The fields machno, splpc and proc are not moved to
	PMach as they are part of the known offsets from
	assembly (l.s).

Hash:	9f54c2831717bc656df6e5a2fde2bf7be8e29fef
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Apr 25 16:36:11 +0100 2021

	bcm: try ATAGS/DTB pointer from R2 on entry

Hash:	6b4b8e405ae17d5004085df03d166cddcc99c11b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Apr 25 11:41:20 +0100 2021

	rio: avoid re-triggering clicks on resize/hide/unhide and send wctl when focus is lost

Hash:	e0cf0261d0f81eb1c54c4d4a7636c27de4b00d36
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Apr 25 11:16:40 +0100 2021

	resample: improve performance (thanks José Miguel Sánchez García)
	
	Resample is well known for taking a long time to resize an image. This
	patch brings an important performance boost (in my test image, time
	was reduced from ~2850ms to ~500ms). It does that by extracting FP
	multiplication and division out of the innermost loop of
	resamplex/resampley.
	
	The results differ slightly from the current implementation: in my
	test: ~0.3% of the bytes had a ±2 difference in their value, which I
	attribute to rounding errors. I'm personally not concerned with that
	deviation, given the performance gains. However, I recommend testing
	it just to be sure I didn't overlook anything.
	
	José Miguel Sánchez García

Hash:	b0e2ea4e5ffaec335c2a61ee98d2c5d3f1052569
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Sat Apr 24 15:07:24 +0100 2021

	libtags, zuke: add *.mod support (thanks kemal)

Hash:	83277da30948858da8203961d77330b7c05dc2f4
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Fri Apr 23 10:20:30 +0100 2021

	zuke: fix middle-click restarting playback if held while mouse pointer is moving

Hash:	1919e9183b7d1196baf024747f83a83afe26cc97
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Thu Apr 22 07:40:50 +0100 2021

	zuke: fix position formatter using a wrong type

Hash:	c036d803a1e94fd3a266bd37a786394dab3b8f90
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Apr 21 15:58:27 +0100 2021

	merge

Hash:	fd69802377adf7d667fd1374043c27a4f93b8593
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Apr 21 15:57:13 +0100 2021

	vgadb: revert previous commit, the pci device id 8086/1c3a is the embedded controller!

Hash:	b2ef0ff49de457a6e48751e7eedd8131cdca5f98
Author:	Humm <hummsmith42@gmail.com>
Date:	Wed Apr 21 07:28:32 +0100 2021

	plumber: fix substrings in match rules
	
	Unmatched substrings are nil, so we can't rely on nil terminating the
	array of substrings.

Hash:	192c1fd73a54870f8736908886d7fe0905e5ec58
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Tue Apr 20 17:12:54 +0100 2021

	nusbrc: rndis with csp 0104ef

Hash:	f5db3bf0e0d3778ca9474d9b4f7198edf109fd6b
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Tue Apr 20 17:08:58 +0100 2021

	nusb/ether: rndis: add standard class code (tested by jmi2k with OnePlus 8)

Hash:	2cdc8075f8109b69895bc56bd4d3f59deb6da360
Author:	kemal <kemali13@protonmail.com>
Date:	Tue Apr 20 00:40:31 +0100 2021

	file: recognize executable scripts, etc.
	
	The patch does the following:
	
	1. Adds recognition of executable script (shebang) files.
	2. Returns correct MIME type for mbox files (RFC 4155).
	3. Returns XML instead of HTML type in some cases.

Hash:	52a367f3ea8b6fa256b2a9b0e52c5c2d557a9fc3
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Apr 18 15:20:04 +0100 2021

	devloopback: fix wrong device character (thanks romano)
	
	devloopback was changed from using #X to #λ awhile ago; one bit was missed.

Hash:	f7ae890ecb7c90cac69051816211c0cc97cd4c7c
Author:	unobe <unobe@cpan.org>
Date:	Sun Apr 18 02:52:11 +0100 2021

	patch for imap when imap fails
	changeset:   8411:19f6a88ea241
	branch:      mbp-2011
	user:        Romano <unobe@cpan.org>
	date:        Sat Apr 17 14:35:21 2021 -0700
	files:       sys/src/cmd/upas/fs/imap.c
	description:
	When an imap fetch fails, it's helpful at times to know the underlying
	cause.  This provides more details by providing the underlying error
	message.

Hash:	9923ea348c75bf33754508e9d2a61e537e7c79d1
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sun Apr 18 02:46:02 +0100 2021

	Mail: remove impliicit headers (thanks unobe)
	
	Setting headers from Mail can cause conflicts
	with the headers that upas/marshal adds when
	sending attachments.
	
	So, let's not set them.

Hash:	0256a34560a58c7fffe4a83476efd03d64c9a783
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Thu Apr 15 04:30:24 +0100 2021

	acme: fix border size, autoindent undo: imported from plan9port (thanks jxy)
	
	origin:
	
	https://github.com/9fans/plan9port/pull/493
	https://github.com/9fans/plan9port/pull/489
	https://github.com/9fans/plan9port/pull/461

Hash:	a90a801685553329a8626237bf250421f9e1249c
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Tue Apr 13 14:55:19 +0100 2021

	zuke: include libtags in CFLAGS

Hash:	ff220ea29b6158670953905d3e62a6a4eaa3dd31
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Tue Apr 13 12:28:31 +0100 2021

	zuke: remove -G option (old playlists not supported anymore)

Hash:	c613382caf1c0bffa38dc09f113d8c11dbc47628
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Tue Apr 13 12:25:24 +0100 2021

	remove juke (use play or zuke instead)

Hash:	c6cdee420da18fc02c44c257505f3c43a331c7a4
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Tue Apr 13 12:20:27 +0100 2021

	audio/: zuke, mkplist, readtags

Hash:	b777d3fe7d947c7bb9595aed5a571e311872b5f6
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Tue Apr 13 10:26:55 +0100 2021

	remove old, broken scripts: fedex, u(s)ps, weather (thanks fulton)

Hash:	fd4e8eef0b14200982c7ef08dcb978445f32c866
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Mon Apr 12 17:22:48 +0100 2021

	Mail: correctly track the number of messages (thanks igor)
	
	We forgot to update the message count when deleting
	messages in mail, meaning we could access trailing
	messages that had been freed.

Hash:	dc8da7c232006a6894fd8742ee38c7bdfbc6d702
Author:	qwx <devnull@localhost>
Date:	Mon Apr 12 09:29:54 +0100 2021

	crop: allow no-ops for pipelines
	
	unlike other tools like iconv(1), a crop(1) without arguments or with
	ones resulting in a no-op, like `-t 0 0', errors out.  other options
	like `-i 0' do not error.  this breaks assumptions and results in
	tedious intermediary steps or hacks like:
	
		foo | {crop -t $1 $2 >[2]/null || cat} > baz.bit
	
	instead, just ignore the check.  subsequent code doesn't make
	assumptions on that.

Hash:	5fb37e15b68c5a523485edef7190a1fead96944a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Apr 11 22:58:30 +0100 2021

	ip/tftpd: add a syslog message about what error we return to the client on a NAK

Hash:	a89bee73739384c02c9d2caa82a0f780e3c25345
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Apr 11 19:20:41 +0100 2021

	ip/dhcpd: work around raspberry pi pxe firmware by providing dhcp option 66
	
	The raspberry pi 4 PXE firmware insists on finding the tftp
	server address by parsing dhcp option 66 as an ip address
	string.

Hash:	d9bf5d074dccde7bc66d6c19565da9e5aeb5c7c5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Apr 11 19:18:03 +0100 2021

	ip/ipconfig: ODtftpserver (dhcp option 66) is of type string

Hash:	5d0c3ab7df27403796b07e09ae74558083ce8a61
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Apr 10 14:01:09 +0100 2021

	termrc, cpurc: silence /net/ether* error message when there are no ethernet devices

Hash:	5e040b3a2bdc88eecc2465c181cb2d9f25b415dd
Author:	Humm <hummsmith42@gmail.com>
Date:	Fri Apr 9 15:48:07 +0100 2021

	libthread: generate correct acid files
	
	/sys/src/cmd/mksyslib uses `{basename $stem .$objtype}^.c to get the
	source file name for *.acid files.  /sys/lib/acid/thread expects
	sched.$objtype.acid.  This lets /sys/src/libthread/mkfile generate
	that file.

Hash:	50d23b6acc6ad659d28ec91ae9e75da2f30d3f9a
Author:	Humm <hummsmith42@gmail.com>
Date:	Fri Apr 9 15:40:56 +0100 2021

	page: fix for kerTeX dvi

Hash:	d6ce7969ede52e1b36e57f4d0ee98ca18a380cf4
Author:	Humm <hummsmith42@gmail.com>
Date:	Fri Apr 9 15:11:48 +0100 2021

	disk/fdisk: add OpenBSD partition type

Hash:	fe1c8010de2d9c7383b6acf661e62579d404773e
Author:	Humm <hummsmith42@gmail.com>
Date:	Fri Apr 9 15:09:31 +0100 2021

	printfont: load all fonts for `printfont all`

Hash:	a0997f38c468d728ad5178fcdb203f1486be669b
Author:	Humm <hummsmith42@gmail.com>
Date:	Fri Apr 9 15:05:30 +0100 2021

	trofftable.rc: make work

Hash:	1b4758d596b70384d7f6389171030611a0f97f7c
Author:	kvik <kvik@a-b.xyz>
Date:	Fri Apr 9 02:18:53 +0100 2021

	g: add lua, mk, ml, mli, myr, and sh suffixes

Hash:	777b1949b2475a4d989533ce200e2f8312fb89ca
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Apr 8 20:57:24 +0100 2021

	nusbrc: ignore rndis ethernet in /rc/bin/nusbed, handled by /sys/src/9/boot/nusbrc (thanks romano)

Hash:	aebdf1010bf26d9135de4d974b61da5a5a016961
Author:	Romano <unobe@cpan.org>
Date:	Thu Apr 8 20:42:31 +0100 2021

	minor man page typos

Hash:	960528dedb335ee9d5c362cfe7991e9a8b0e070c
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Wed Apr 7 11:21:06 +0100 2021

	vgadb: igfx: add vid/did for early 2011 apple mbp (thanks Romano)

Hash:	4c981d440d6740e553c90afbe8f682502615b7cb
Author:	Stephen Gregoratto <dev@sgregoratto.me>
Date:	Tue Apr 6 13:43:38 +0100 2021

	[9front] walk: properly format permissions
	This patch adds dirmodefmt from fcall.h to pretty-print file
	permissions, similarly to ls -l. I didn't notice any performance
	degradation.
	
	I hope no-one relied on the old behaviour.

Hash:	d41c867696019e4408431230d8fae0dcf7603dc4
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Apr 3 18:32:47 +0100 2021

	file: detect webp files (thanks kemal)
	
	this patch adds a small check to the "iff" function, so this
	way file can detect webp files. tested with a webp file i
	found randomly.

Hash:	958b4764994eb874ef0382f86f6dfe6ee5db2cf9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Apr 2 21:23:40 +0100 2021

	games/glendy: your complication had a complication (god damn it kemal)

Hash:	74befadb1457ccb955d2dfa3c9fb44653e4986f9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Apr 2 21:05:15 +0100 2021

	games/glendy: don't use lucida sans in menus by default and bugfix (thanks kemal)
	
	i have found one bug. when i put glenda in a position like this
	
	i somehow win, but the glenda can escape from there.
	
	in addition, i have changed the games manpage to include more info about glendy.

Hash:	295acd7e0d711cfd2c7c6a1bd45d00c9727f5786
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Apr 2 19:23:25 +0100 2021

	kernel: get rid of physical page bank array and use conf.mem[] instead
	
	We can take advantage of the fact that xinit() allocates
	kernel memory from conf.mem[] banks always at the beginning
	of a bank, so the separate palloc.mem[] array can be eleminated
	as we can calculate the amount of non-kernel memory like:
	
	upages = cm->npage - (PGROUND(cm->klimit - cm->kbase)/BY2PG)
	
	for the number of reserved kernel pages,
	we provide the new function: ulong nkpages(Confmem*)
	
	This eleminates the error case of running out of slots in
	the array and avoids wasting memory in ports that have simple
	memory configurations (compared to pc/pc64).

Hash:	c77b3ba143da491f020a1c2871a57d10d5b8bf8f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Apr 2 16:26:34 +0100 2021

	whois: suppress missing file errors (thanks kivik)

Hash:	afa5800b5b5782d71dd9347629b30bde0ac18635
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Apr 2 14:51:15 +0100 2021

	acme: fix suicide *and* resource leak in ecmd.c (thanks igor)
	
	To reproduce the suicide try running the following in acme:
	
	• 'Edit B <ls lib'
	
	by select and middle clicking in a window that is in your $home.
	
	There is a very high chance acme will commit suicide like this:
	
	<snip>
	cpu% broke
	echo kill>/proc/333310/ctl # acme
	cpu% acid 333310
	/proc/333310/text:amd64 plan 9 executable
	/sys/lib/acid/port
	/sys/lib/acid/amd64
	acid: lstk()
	edittext(nr=0x31,q=0x0,r=0x45aa10)+0x8 /sys/src/cmd/acme/ecmd.c:135
	xfidwrite(x=0x461230)+0x28a /sys/src/cmd/acme/xfid.c:479
	        w=0x0
	        qid=0x5
	        fc=0x461390
	        t=0x1
	        nr=0x100000031
	        r=0x45aa10
	        eval=0x3100000000
	        a=0x405621
	        nb=0x500000001
	        err=0x419310
	        q0=0x100000000
	        tq0=0x80
	        tq1=0x8000000000
	        buf=0x41e8d800000000
	xfidctl(arg=0x461230)+0x35 /sys/src/cmd/acme/xfid.c:52
	        x=0x461230
	launcheramd64(arg=0x461230,f=0x22357e)+0x10 /sys/src/libthread/amd64.c:11
	0xfefefefefefefefe ?file?:0
	</snap>
	
	The suicide issue is caused by the following chain of events:
	
	• /sys/src/cmd/acme/ecmd.c:/^edittext is called at
	/sys/src/cmd/acme/xfid.c:479 passing nil as its first parameter:
	
	<snip>
	...
	        case QWeditout:
	                r = fullrunewrite(x, &nr);
	                if(w)
	                        err = edittext(w, w->wrselrange.q1, r, nr);
	                else
	                        err = edittext(nil, 0, r, nr);
	^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
	...
	</snap>
	
	...and /sys/src/cmd/acme/ecmd.c:/^edittext dereferences the
	first parameter that is *nil* at the first statement:
	
	<snip>
	char*
	edittext(Window *w, int q, Rune *r, int nr)
	{
	        File *f;
	
	        f = w->body.file;
	^^^^^^^^^^^^^^^^^^^^^
	This will crash if 'w' is *nil*
	
	        switch(editing){
	...
	</snap>
	
	Moving the the derefernce of 'w' into the case where it is
	needed (see above patch) fixes the suicude.
	
	The memory leak is fixed in /sys/src/cmd/acme/ecmd.c:/^filelist.  The
	current implementation of filelist(...) breaks its contract with its
	caller, thereby leading to a memory leak in /sys/src/cmd/acme/ecmd.c:/^B_cmd
	and /sys/src/cmd/acme/ecmd.c:/^D_cmd.
	
	The contract /sys/src/cmd/acme/ecmd.c:/^filelist seems to have with
	its callers is that in case of success it fills up a 'collection' that
	callers can then clear with a call to clearcollection(...).
	
	The fix above honours this contract and thereby removes the leak.
	
	After you apply the patch the following two tests should succeed:
	
	• Execute by select and middle click in a Tag:
	        'Edit B lib/profile'
	
	• Execute by select and middle click in a Tag:
	        'Edit B <ls lib'
	
	The former lead to a resource leak that is now fixed.
	
	The latter lead to a suicide that is now fixed by moving the statement
	that dereferences the parameter to the location where it is needed,
	which is not the path used in the case of 'Edit B <ls'.
	
	Cheers,
	Igor

Hash:	a398a097831f619fbebf064134b8931cb24ca051
Author:	Romano <unobe@cpan.org>
Date:	Thu Apr 1 11:54:08 +0100 2021

	[9front] [patch] nusb/ether -t rndis

Hash:	fcc93463a3e2fec9738330b1d82a11b077c96315
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Mar 31 16:50:25 +0100 2021

	merge

Hash:	a2ebe5c79a45a0f9ed35bbb690f5070cdfded3ad
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Mar 31 16:49:10 +0100 2021

	devfs: fix locking and ignore undocumented "fsdev:\n" configuration signature
	
	The confstr was shared between readers so seprintconf() could
	write concurrently to that buffer which is not safe.
	
	This replaces the shared static confstr[Maxconf] buffer with a
	pointer that is initially nil and a buffer that is alloced on
	demand.
	
	The new confstr pointer (and buffer) is now only updated while
	wlock()ed from the new setconfstr() function.
	
	This is now done by mconfig() / mdelctl() just before releasing
	the wlock.
	
	Now, rdconf() will check if confstr has been initialized, and
	test for it again while wlock()ed; making sure the configuration
	is read only once.
	
	Also, rdconf() used to check for a undocumented "fsdev:\n" string
	at the beginning of config data tho that was never documented.
	
	This changes mconfig() to ignore that particular signature so
	the example from the manpage will work as documented.

Hash:	2d4504d9011f1accb6fbdb87a5d428423ed7bf33
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Mon Mar 29 17:29:35 +0100 2021

	merge

Hash:	4a83ce37c649dbcfb5a87c022aad626226904363
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Mar 29 16:13:50 +0100 2021

	libsunrpc: work around arm64 compiler bug in sunStringUnpack()
	
	The sunStringUnpack() routine was miscompiled by 7c, as
	pointer arithmetic is done in 64 bit but the constant -1
	offset got expended to a unsigned 32 bit integer.

Hash:	a2794d94d0e39ed54dad39f1348fe12b4fc89f14
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Wed Mar 24 03:49:07 +0000 2021

	kbmap/tr: add one missing key to Turkish keymap (thanks kemal)
	
	while we're here, change the hex values to  unicode chars.

Hash:	9e1d26893f8a92c32f3486883c46e8cdfff03e98
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Tue Mar 23 23:33:32 +0000 2021

	legal: mit neuer lizenz: mit
	
	The Plan 9 foundation has ownership of the Plan 9 code now,
	and has made it accessible under the MIT license, so we're
	taking that version of the code as our base now.

Hash:	3841a46421991c7bf16e801eb668953e35196bc9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Mar 13 13:57:53 +0000 2021

	kernel: remove ucalloc.c duplicates

Hash:	7c62c1270100f694734c1dbdf40c24ea5c2e2e5f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Mar 13 13:20:00 +0000 2021

	kernel: use 64-bit mask to avoid compiler warning in port/pci.c

Hash:	9de5aac7a29564ac0e1574d17d2589eefe8de3e6
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Mar 13 12:56:40 +0000 2021

	5c, 6c, 7c, 8c, kc, qc, vc: use explicit gmove(... , nn) in cgen() for result of OAS*, OPREINC, OPOSTINC
	
	The expression value of the assignment operation was
	returned implicitely by relying on regalloc() on the
	right hand side "nod" borrowing the register from nn.
	
	But this only works if nn is a register.
	
	In case of 6c, it can also be a ONAME from a .safe
	rathole returned by regsalloc().
	
	This change adds explicit gmove() calls to assign the
	expression value. Note that gmove() checks if source
	and destination are the same register so it wont emit
	redundant move operations in the common case.
	
	The same is applied also to OPREINC and OPOSTINC operations.

Hash:	2f55920a22c24bcf489fa3fa621eae5969b5bf2c
Author:	rgl <devnull@localhost>
Date:	Sat Mar 13 08:47:48 +0000 2021

	audio(1): fix little typo.

Hash:	2fc22d067df9c25c0339221b2cf5fe0244ef05ef
Author:	rgl <devnull@localhost>
Date:	Thu Mar 11 18:37:44 +0000 2021

	correct off-by-one nul termination.

Hash:	9162533526a8e92a3b111ef2e63f87ae23ad8134
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Thu Mar 11 00:49:17 +0000 2021

	Mail: separate deletion from relinking messages
	
	Mutating lists that are being iterated is needlessly error
	prone, and we were removing the wrong message in some cases
	if it the dummy got inserted in the right place.
	
	Separating deletion into a redraw/relink and zap phase
	simplifies the problem.

Hash:	bb94fc197ea706fc302824b91d82a2d3afb08217
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Mar 7 19:29:55 +0000 2021

	riostart: revert, this doesnt fix anything
	
	This change does not work and the real fix is in rio.

Hash:	b5783b1e39122f466c1a577720496284223e2217
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Mar 7 19:26:30 +0000 2021

	rio: make window focus changes deterministic, cleanup wind.c
	
	Switching window focus used to be non deterministic
	as the current window in focus (Window *input) was set
	concurrently while processing window messages such as
	Resized and Topped.
	
	This implements a new approach where wcurrent() and
	wuncurrent() are responsible for the synchronization
	and switch of the input.
	
	It is implemented by sending a Repaint message to the
	old input window first, neccesarily waiting until that
	window releases the focus and then input is updated
	and then a Topped or Reshaped message is send to the
	new input window.
	
	Note, that when the whole screen is resized that no
	input changes need to happening anymore.

Hash:	ea347ee7f181208be5a2ace0e35d268ccfefa1e4
Author:	kemal <kemali13@protonmail.com>
Date:	Sat Mar 6 21:52:00 +0000 2021

	[9front] [PATCH] fix small typo in vmx(3)
	vmx(3) does not use itself to implement virtual machines.

Hash:	4083ff093e0377928744f431d1b37ecfb37c79d7
Author:	sl <sl@stanleylieber.com>
Date:	Wed Mar 3 03:56:58 +0000 2021

	/sys/man/1/mothra: eu regulations require that we disclose we're sending search queries to duckduckgo.

Hash:	85e4383835ceeecdb244cdd2892976ae4d417c24
Author:	José Miguel Sánchez García <soy.jmi2k@gmail.com>
Date:	Tue Mar 2 09:03:25 +0000 2021

	[9front] riostart: make text window focused by default
	This change makes the text window be focused on startup when using
	default riostart (e.g: when using the release ISO). This little change
	makes you able to immediately reach the rc shell without clicking the
	window, which at the very least is more convenient, and if you have
	problems to use your mouse but want to install the system, you also
	can (I had to stop profile from running at boot to patch it in my VPS
	KVM console because the mouse wasn't working properly. Could install
	and setup it to connect through drawterm).

Hash:	5ac3fa0257fcede4aa80d31e50551ed14ca9d997
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Tue Mar 2 07:41:02 +0000 2021

	mothra: "d": use lite version, disable redirect

Hash:	2aba7615afdabfdef8e02d162ffee2ecdf3e39e9
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Tue Mar 2 07:21:56 +0000 2021

	mothra: add "d" command to search for a text on the internet (using duckduckgo)

Hash:	f234b29c7fc119fa148af2108f93e5eaf9ecbfb4
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Tue Mar 2 03:23:13 +0000 2021

	Mail: revert 096538d64724

Hash:	a0404ff58245f16d2117542d2dffd1fc6199943d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Mar 1 16:24:54 +0000 2021

	devpccard, pci: fix pccard support and handle pci expansion roms
	
	let pci.c deal with the special cardbus controller bar0 and
	expansion roms.
	
	handle apic interrupt routing for devices behind a cardbus slot.
	
	do not free the pcidev on card removal, as the drivers
	most certanly are not prepared to handle this yet.
	instead, we provide a pcidevfree() function that just unlinks
	the device from pcilist and the parent bridge.

Hash:	35558431105e4c793673310bd5bfa7f8a99d89e3
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Mon Mar 1 00:36:42 +0000 2021

	Mail: fix infinite deletion loop
	
	When deleting messages that came in just
	the right order, we would end up stuck in
	a loop deleting and reinserting a dummy
	parent, rather than the messages we wanted
	to remove.

Hash:	be782ef4357465e608db4123d21c3eeb14a2a110
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Feb 28 12:31:49 +0000 2021

	bcm: change color chan to RGB24 (thanks p.kosyh)
	
	p.kosyh writes:
	
	Hello!  I finally bought rpi4 4Gb specially for 9front. It seems,
	that default bpp of framebuffer is 16.  I changed it to 24 (via
	cmdline.txt and config.txt) and found, that rendering is much faster!
	(May be due removing overheads in 16->24 conversions?)
	
	But on rpi4 r and b channels are swapped.  So, i changed BGR24 to
	RGB24 in bcm/screen.c and now it works fine!

Hash:	f704965a457bd9766af9b929dbf30941cdfd9e52
Author:	moody <moody@posixcafe.org>
Date:	Sat Feb 27 18:35:06 +0000 2021

	B, Bfn: fix invocation with multiple files, improve manual page

Hash:	51f4f46ae05251967a6152514d9a935e960d022b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Feb 27 14:08:34 +0000 2021

	ramfs: fix truncfile() for non multiple of extend size (64k)
	
	The calculation of the last block size is wrong and we can
	only shrink the size of the last data block, not extend it.

Hash:	692919521c15531cc0bed3006fd958b164a746ab
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Tue Feb 23 14:54:09 +0000 2021

	vmx: reduce cpu load by eliminating nop-loop
	
	Sacrifice some of the sub-millisecond timer precision in favor of less
	cpu load when the timer is about to be kicked a bit early.  Result is
	visible *especially* when the guest idling.
	
	Timer proc *still* has to send to the channel (in order to kick PIT
	and RTC logic), which takes time, and compensates a bit for possibly
	early runs.

Hash:	007d42e741b780aeecefd66776b1733c3dd53522
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Tue Feb 23 07:52:59 +0000 2021

	html2ms: 0xFFFD → Runeerror

Hash:	27ad886c956acb71b4165219fcdd54c50b1c7811
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Feb 23 00:47:33 +0000 2021

	ip/tftpd: add -n namespace-file flag (thanks sam-d)
	
	tftpd currently unconditionally sets its namespace via /lib/namespace
	(newns("none", nil)), which stymied my attempts to pxe boot the
	openbsd installer without creating a real /etc dir on 9front, which
	would've been gross.
	
	I tried working around this with -h (and -r for good measure), but
	again hit issues because the namespace is rebuilt from scratch -- any
	binds of /386, /amd64, /cfg/pxe, etc. into the tftp-specific directory
	disappeared from tftpd's namespace and rendered my *9front* boxes
	unable to boot. I could maintain copies of the needed files in the
	tftp-specific directory, but that'd be kind of a drag.
	
	The following patch adds a -n flag to allow the specification of a
	namespace file in place of /lib/namespace; similar to ip/ftpd.
	
	I thought about setting up a /lib/namespace.tftp to act as a default
	rather than continuing to use /lib/namespace by default (which
	security-wise is about the same as allowing 9p mounts by user none,
	which I also have disabled), but I had trouble coming up with a sane
	default. Maybe someone more experienced would like to try that out.
	
	- sam-d

Hash:	a96cf495fa9a315c86c723bd0a0bcd8bffaef42a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Feb 23 00:41:09 +0000 2021

	ip/tftpd: use procsetuser() instead of writing #c/user

Hash:	5347bb9c96c79296e6b520014d2ed2a5ee0a718d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 22 22:44:28 +0000 2021

	boot/bcm: download dtb files for rpi-400 and rpi-cm4

Hash:	e77fa31516bc5dc834f1caf1f4ed3d888a9aa810
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 22 18:27:49 +0000 2021

	libaml: fix IndexField and BankField implementations (thanks Michael Forney)
	
	IndexField is supposed to increment the index value when an
	access is done with a bigger size than the data field.
	The index value is always a byte offset.
	
	Now that we always calculate the offset for each field unit
	access for IndexField, rename the indexv to bank (the bank
	value), as it is only used for that. Also, do not compare
	it with nil, as it is a integer constant which can be
	encoded as nil to mean zero.
	
	For BankField, the banking field was written using store(),
	which does nothing when the destination is a Field*.
	Use rwfield() to fix it in the new rwfieldunit().
	
	Resolve all the Name*'s when IndexField, BankField and
	Field are created. Now, Field.reg points to eigther
	Buffer object, Region or Field (data Field of an IndexField).
	
	PS: initial bug report by Michael Forney follows below:
	
	In /dev/kmesg on my T14, I saw a message
	
		amlmapio: [0xffffff18-0x100000018] overlaps usable memory
		amlmapio: mapping \_SB.FRTP failed
	
	Here is the relevant snippet from my DSDT:
	
	    Scope (_SB)
	    {
	        ...
	
	        OperationRegion (ECMC, SystemIO, 0x72, 0x02)
	        Field (ECMC, AnyAcc, NoLock, Preserve)
	        {
	            ECMI,   8,
	            ECMD,   8
	        }
	
	        IndexField (ECMI, ECMD, ByteAcc, NoLock, Preserve)
	        {
	            Offset (0x08),
	            FRTB,   32
	        }
	
	        OperationRegion (FRTP, SystemMemory, FRTB, 0x0100)
	        Field (FRTP, AnyAcc, NoLock, Preserve)
	        {
			...
	        }
	    }
	
	With some debugging output:
	
		amlmapio(\_SB.ECMC): Io       72 - 74
		rwreg(\_SB.ECMC): Io       [72+0]/1 <- 8
		rwreg(\_SB.ECMC): Io       [72+1]/1 -> 18
		amlmapio(\_SB.FRTP): Mem      ffffff18 - 100000018
		amlmapio: [0xffffff18-0x100000018) overlaps usable memory
		amlmapio: mapping \_SB.FRTP failed
	
	It seems that libaml does not handle IndexField correctly and just did
	a single read from ECMD after setting ECMI to 8, causing the FRTP
	region to be evaluated as 0xffffff18-0x100000018. Instead, it should
	be reading 4 bytes [18 c0 22 cc], evaluating it as
	0xcc22c018-0xcc22118:
	
		amlmapio(\_SB.ECMC): Io       72 - 74
		rwreg(\_SB.ECMC): Io       [72+0]/1 <- 8
		rwreg(\_SB.ECMC): Io       [72+1]/1 -> 18
		rwreg(\_SB.ECMC): Io       [72+0]/1 <- 9
		rwreg(\_SB.ECMC): Io       [72+1]/1 -> c0
		rwreg(\_SB.ECMC): Io       [72+0]/1 <- a
		rwreg(\_SB.ECMC): Io       [72+1]/1 -> 22
		rwreg(\_SB.ECMC): Io       [72+0]/1 <- b
		rwreg(\_SB.ECMC): Io       [72+1]/1 -> cc
		amlmapio(\_SB.FRTP): Mem      cc22c018 - cc22c118
	
	I wrote a patch (attached) to fix this, and it seems to work. Though,
	it's not clear to me when things should be dereferenced. Previously,
	the data field was dereferenced at evalfield, but the region and index
	field were not until rwfield. After the patch, the index field is
	also dereferenced in evalfield.
	
	For BankField, the index *is* dereferenced in evalfield. I'm pretty
	sure that this means that BankField does not work currently, since
	store() just returns nil for 'f' objects. The bank selector will
	never get set.
	
	Anyway, I don't know if this solves any real problems; it's just
	something I noticed and thought I'd try to fix.

Hash:	472958e3e7313cbe0cdb8d482045c2be87a23659
Author:	Michael Forney <mforney@mforney.org>
Date:	Mon Feb 22 15:12:24 +0000 2021

	games/snes: use 4-point hermite interpolation to resample
	
	This is noticeably better than nearest-neighbor.

Hash:	619fbe051bfa4b2492899c96971758a67c4c00a2
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Mon Feb 22 10:38:05 +0000 2021

	theo: wrong.

Hash:	6445a14f639fff32bad4a7523852f8aa85796855
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sun Feb 21 05:02:07 +0000 2021

	ape/lib9: expose fd2path (thanks phil9)
	
	Fd2path is a useful call for the netsurf plan9 frontend,
	so we should expose it.

Hash:	f3a05b16ad75acf9fce7ed2f03e141a47dc74d09
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sat Feb 20 23:25:25 +0000 2021

	upas/send: add \n to error in refuse() (thanks josuah)

Hash:	2d13ac5d39f75819be22eb436abd9f31e55b4b2f
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sat Feb 20 21:03:35 +0000 2021

	marshal: remove debug junk.
	
	Oops.

Hash:	fb88cab9ff74bb0be89914f88c12f918c7e01515
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sat Feb 20 21:01:48 +0000 2021

	upas/marshal: use login instead of user (thanks sirjofri)
	
	User is the upasname, and is unlikely to exist when we save
	the message to the outbox. We should use the login name instead.

Hash:	245264e3716c46a5278f705c90d9cb24afca0924
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sat Feb 20 20:49:03 +0000 2021

	upas/marshal: handle nonexistent save folder correctly (thanks sirjofri)
	
	When the save folder did not exist, and we could not create
	it, we would handle up to one Biobuf worth of message, and
	then fail, due to a failed tee. The sequence of events leading
	up to this was:
	
		openfolder() -> error
		tee(0, fd, -1) -> wait for read
		write(0, data) ->
			write(fd, data) -> ok
			write(-1, data) -> error, tee terminates
		write(0, attachment) -> error
	
	This change prevents us from writing to a closed fd, and
	therefore from erroring out when sending.
	
	We also warn the user.

Hash:	dab168e6bd204c3cffae263d232051a47442c5ce
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Feb 20 18:06:59 +0000 2021

	ether82563: add pci id for i219-LM on thinkcenter (easypeasy, thanks hiro)

Hash:	8b817fd6c01c9e6cfd32d18253ea8fecee78c6ab
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Feb 20 12:08:59 +0000 2021

	pc/devarch: use m->cpumhz instead of recalculatin it

Hash:	48e795005d6145ab3a09159fbaa992802b657cee
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Feb 20 11:55:42 +0000 2021

	9boot: handle automatic length for 64-bit values in hexfmt() for framebuffer address (thanks Michael Forney)

Hash:	4bbb3b0b21edd81be37a0a6ad12c76a63d127bed
Author:	sl <sl@stanleylieber.com>
Date:	Sat Feb 20 02:29:55 +0000 2021

	/sys/src/cmd/ndb/dns.h:
	
	---
	
	To: 9front@9front.org
	Date: Sun, 07 Feb 2021 14:56:39 +0100
	From: kvik@a-b.xyz
	Subject: Re: [9front] transient dns errors cause smtp failure
	Reply-To: 9front@9front.org
	
	I think I found a reason for DNS failing on known good domains.
	
	/sys/src/cmd/ndb/dns.h:156,157
		/* tune; was 60*1000; keep it short */
		Maxreqtm=	8*1000,	/* max. ms to process a request */
	
	So, 8 seconds is how much the resolver will bother with a request it
	has been handed, before dropping it on the floor with little
	explanation.
	
	It seems quite possible that this is too short a timeout on a machine
	during a spam queue run, which predictably stresses the compute and
	network resources.
	
	In turn, negative response caching might explain why a particular
	unlucky domain would basically stop receiveing any mail for a while.
	
	I'm dying to know if bumping this limit would clear up the queue of
	such DNS errors.
	
	---
	
	[narrator: it did.]

Hash:	29e8ea26f2f9af2b9924e16dffd784bc5ae5685e
Author:	sl <sl@stanleylieber.com>
Date:	Sat Feb 20 02:15:15 +0000 2021

	sam/{address.c, sam.h}: bump STRSIZE to 512MB (thanks, Ori_B)

Hash:	bc1cc79225f0b006dd66d4fd81030d06f83bfca2
Author:	kvik <kvik@a-b.xyz>
Date:	Fri Feb 19 22:04:09 +0000 2021

	libstdio: sync bits of vfprintf from APE
	
	* Add the %ll length modifier,
	* Convert nil to "<nil>" under %s (not in APE),
	* Cast void* to uintptr under %p,
	* Use "0x" hex prefix under %p,
	* Fix manual page mentions of %P to %p,
	* Fix empty result for fp conversions,
	* Fix zero padding of left-aligned fp conversions,
	* Remove deprecated #pragma ref uses.
	
	Most of these were introduced in APE prior to 9front.
	
	I've omitted the %z conversion specifier since Plan 9 code
	rarely uses the usize type. This may need to be added later
	for the benefit of native ports of alien code.

Hash:	1ce6f0f2ab1896e35869f0e9e5079fc20dd981fc
Author:	kvik <kvik@a-b.xyz>
Date:	Thu Feb 18 20:40:30 +0000 2021

	nan(2): document isInf(x, 0) matching +∞ and -∞

Hash:	ca1542a19914979f5dc41f4f594689133153c74b
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Thu Feb 18 14:13:25 +0000 2021

	audio/flacenc: fix usage

Hash:	8aff377698feba2407d444540f3d688edc740197
Author:	Michael Forney <mforney@mforney.org>
Date:	Wed Feb 17 10:20:13 +0000 2021

	games/snes: use enum constants KON and ENDX instead of their values

Hash:	03eeebb97f014c29a4dd25d873fc6ad50da48f15
Author:	Michael Forney <mforney@mforney.org>
Date:	Wed Feb 17 10:20:05 +0000 2021

	games/snes: implement DSP echo

Hash:	f1d29a9d12fa6d89015735ea010ac4b02f1b80b5
Author:	Michael Forney <mforney@mforney.org>
Date:	Wed Feb 17 10:19:50 +0000 2021

	games/snes: implement DSP noise
	
	I'm not sure if this LFSR is the same one used by the hardware or is
	arbitrary, but it matches the noise sequence used by all other snes
	emulators I looked at.

Hash:	52b54097bf23ed4f14e82ff21b24f39827055448
Author:	Michael Forney <mforney@mforney.org>
Date:	Wed Feb 17 10:19:39 +0000 2021

	games/snes: fix BRR decoding with filters 2 and 3
	
	s1 and s2 should store the last and next to last output, but were set
	in the wrong order, causing them both to be the last output. This
	breaks filters 2 and 3, which both utilize s2.

Hash:	79cf39c53ab311f61fd3a3826cefeaead6342601
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Tue Feb 16 21:04:50 +0000 2021

	mothra: tune up entry control logic for easier text editing

Hash:	04bf70d344698014f9c85ef3c1ae8215223cdb45
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 15 00:49:30 +0000 2021

	9boot: mark efi boot and runtime service regions as reserved
	
	despite the kernel never doing any efi runtime service calls,
	overriding the runtime service regions makes some machines
	lock up. so consider them reserved.
	
	the boot service regions should also, in theory, be usable
	by the os, but linux says otherwise...

Hash:	b5690a5ae71a92459cd6a32d0ae0e377f1bdd914
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Feb 14 13:25:41 +0000 2021

	ndb/dns: implement RFC6844 certificate authority authorization record type

Hash:	5fd4fa912ef622333b38268786ff4609c81f2ec9
Author:	Michael Forney <mforney@mforney.org>
Date:	Thu Feb 11 08:37:36 +0000 2021

	[9front] audio/flacenc: fix error check for fseeko
	fseeko returns 0 on success, not the new stream position.
	
	This allows flacenc to update the streaminfo block when it is finished
	(for example to set the number of samples and checksum).

Hash:	f2974b6cfaec397279c939e41160c0073ac1ab05
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Wed Feb 10 23:42:18 +0000 2021

	font/terminus: you can't run a font, silly
	
	Remove the execute bit from the fonts.

Hash:	2f28aaac65b4dde059f393222bfd2f939d83f9f5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Feb 10 19:08:13 +0000 2021

	nusb: don't create rw iso endpoints (by Michael Forney)
	
	There may be two iso endpoints with the same ID if it is asynchronous
	or adaptive (one for data, one for feedback), and rw iso endpoints are
	unusable (error out with "iso i/o is half-duplex").

Hash:	d7ade692c8c3c96bae6828f63afb1b19765b5589
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Feb 10 18:52:00 +0000 2021

	nusb: don't create rw iso endpoints (by Michael Forney)
	
	There may be two iso endpoints with the same ID if it is asynchronous
	or adaptive (one for data, one for feedback), and rw iso endpoints are
	unusable (error out with "iso i/o is half-duplex").

Hash:	8606fc8f29fe5b419b74e051c3c8b226ab29c399
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Wed Feb 10 18:21:06 +0000 2021

	merge

Hash:	e31773cbf3e2c3dd6f8b483a9afb083fc78119aa
Author:	sl <sl@stanleylieber.com>
Date:	Wed Feb 10 04:11:08 +0000 2021

	fortunes: That depends on how you define native. -- Andre Garzia

Hash:	72868594c7922a2b232fb8876cac3f25a4f76398
Author:	sl <sl@stanleylieber.com>
Date:	Wed Feb 10 03:50:31 +0000 2021

	newt: remove fn f, replace with walk

Hash:	0719ce2aa793f28ca63d2395a3568b75a60db27b
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Tue Feb 9 21:57:38 +0000 2021

	stdio: remove erronous assert in dtoa
	
	The value of `k` in dtoa() is an estimate of
	floor(log10(d)), where `d` is the number being
	converted. The code was asserting that 'k' was
	less than 100, but the full range of a double
	goes to 10^308 or so.
	
	This means that the majority of the range of
	a double would trigger that assert.

Hash:	ac5a8ea1e270bc8ffc2e9ea183e1de712aa4c64e
Author:	Michael Forney <mforney@mforney.org>
Date:	Tue Feb 9 05:09:17 +0000 2021

	[9front] mimetype: add entry for .patch extension
	This way, upas/vf won't flag .patch files as suspicious by default.

Hash:	29fbba7b6d967bedc646a84877bb617f04d14c43
Author:	Michael Forney <mforney@mforney.org>
Date:	Tue Feb 9 04:59:01 +0000 2021

	[9front] upas/vf: exclude mime boundary from temporary attachment files
	validateattachment has no business with the mime boundary; it is not
	part of the attachment itself.
	
	Also, it causes the boundary to be dropped in the message output from
	upas/vf, effectively dropping the following attachment (though the
	content is still present after the last boundary of the wrapped first
	attachment part).
	
	Consider the following sequence of events:
	1. upas/vf is run on a message containing two attachments.
	2. The first attachment does not have a known extension, so is saved
	   to a temporary file *including* the following mime boundary.
	3. This file is opened as p->tmpbuf, which is used for subsequent
	   reads until switching back to stdin.
	4. The attachment fails validateattachment, so upas/vf wraps it in a
	   multipart with a warning message.
	5. problemchild() calls passbody(p, 0), which copies from p->tmpbuf
	   until it hits the outer boundary line, which it excludes, seeks
	   back one line, then returns the outer multipart.
	6. problemchild() then writes its own boundary, and then copies one
	   line from *stdin* to stdout, expecting the outer boundary.
	   However, this boundary was already read from stdin in 2, so it ends
	   up reading the first line of the subsequent part instead.
	
	To fix this, pass 0 to passbody() in save() to exclude it from the
	attachment file and make it available in stdin when expected.

Hash:	2d8adc7b881f20a8cc2dbccab84fc7e1655752a6
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Tue Feb 9 00:07:09 +0000 2021

	ape/lib9: sync arm getfcr.s implementation
	
	The arm assembler supports movw to handle
	getfcr and setfcr now, no need to hack it
	with macros; sync from plan9 libc.

Hash:	566c3ca2de98761f9039e49ca5f68ee1a9ad73c4
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Mon Feb 8 23:45:11 +0000 2021

	ape: sync flaot.h macros with u.h
	
	The float.h macros got out of sync with u.h,
	some of them missing and some of them being
	incorrect. This change brings them back in
	line.

Hash:	491fe2515890fc4e624af72f15775fd48510486a
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Mon Feb 8 04:30:04 +0000 2021

	Mail: correct rendering of nested multipart messages
	
	Reading nested subparts of messages into the root
	message array allows deeply nested multipart trees
	of messages to show correctly in the message view.

Hash:	e20dcb151ac7fdd1673b02c144c0a22ae407452b
Author:	Michael Forney <mforney@mforney.org>
Date:	Mon Feb 8 04:17:06 +0000 2021

	[9front] upas/vf: remove debugging print statements
	These messages aren't useful and were presumably left over from
	someone debugging this code.

Hash:	415c110b284bdd519e6dedcfea97e45edcb8977a
Author:	Michael Forney <mforney@mforney.org>
Date:	Mon Feb 8 03:58:49 +0000 2021

	games/gb: fix reversed audio channels
	The high bits correspond to the left channel, and the low bits to the
	right channel.
	
	Reference: https://gbdev.io/pandocs/#sound-control-registers
	
	Tested with pokemon crystal.

Hash:	e502abe001306ad8c95ea5b32a437c53d90eccfa
Author:	Michael Forney <mforney@mforney.org>
Date:	Mon Feb 8 03:58:41 +0000 2021

	games/gb: various HDMA fixes
	H-blank DMA should only transfer 16 bytes per h-blank, rather than
	waiting for the first h-blank and then transferring the whole size.
	
	HDMAC should read 0xff when the transfer is finished, and 0 in the
	high bit when the transfer is ongoing. Also, if 0 is written in the
	high bit, the current transfer should be aborted.
	
	Introduce two flags, DMAREADY and DMAHBLANK rather than special
	constants 1 and -1. If dma is non-zero, there is an ongoing DMA. If
	DMAREADY is set, the next chunk is ready to transfer.
	
	Reference: https://gbdev.io/pandocs/#ff55-hdma5-cgb-mode-only-new-dma-length-mode-start
	
	Tested with pokemon crystal.
	
	What was happening is that when the game was loading N background tiles
	into vram (each 16 bytes, so one per h-blank), it did something like
	this:
	- start an hdma transfer for N+1 tiles
	- after the Nth tile is transferred, it would read HDMA5, clear the
	high bit, then write it back to abort the transfer.
	
	games/gb would instead transfer all N+1 tiles at once, overwriting one
	extra tile with whatever was 1 past the end of the source array, and
	then would interpret the cancel request as the start of a new transfer
	of 16 bytes, which would copy an additional tile past the end. The end
	result is that every transfer would end up copying N+2 tiles instead
	of just N, overwriting certain tiles with whatever was after the end
	of the source data.

Hash:	655170c873633c75694c9014be0dae22ab08b8a9
Author:	Michael Forney <mforney@mforney.org>
Date:	Mon Feb 8 03:58:02 +0000 2021

	games/gb: fix timer divider for input clock 0
	According to [0], input clock 0 should divide by 1024=2¹⁰, not 2¹².
	This caused audio to run at quarter-speed in one game I tried.
	
	[0] https://gbdev.io/pandocs/#ff07-tac-timer-control-r-w
	
	Tested with zelda: oracle of seasons, and dr. mario
	---

Hash:	827bf1b7da635b1018cbcc515f0ce2c074337629
Author:	Michael Forney <mforney@mforney.org>
Date:	Sun Feb 7 16:02:36 +0000 2021

	[9front] upas/vf: install %τ format specifier
	upas/vf was converted to use tmdate, but the formatter was never
	installed.  This caused it to send attachments to validateattachment
	with header `From virusfilter %τ%`, which always failed since upas/fs
	would just skip over the message.

Hash:	d5f95143041c34865665b77f2dd60b5d39e5cd91
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Feb 6 12:50:06 +0000 2021

	merge

Hash:	efcfdd23d72178ed873982f957cbc95b2a1de4c5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Feb 6 12:47:45 +0000 2021

	bcm64: get inbound and outbound pci window base address from device tree
	
	On the pi400, the xhci reset firmware mailbox request
	assumes that the pci windows match the ones specified
	in the device tree. The inbound window (pcidmawin)
	also varies now depending on the amount of memory
	installed.
	
	It is all pretty ridiculous, as the firmware could as
	well just read the pci controllers hardware register
	to determine the window configuration and the os could
	keep a nice simple 1:1 mapping (with pci dma addresses
	== physical addresses).

Hash:	0e381493bfa4963c406cd6340ddcc0e43a4808e2
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Feb 6 12:33:58 +0000 2021

	pc: increase number of Conf.mem[] entries from 4 to 16

Hash:	e9af397dc7a178fba55477e58089723855b3a1af
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Feb 6 12:33:27 +0000 2021

	pc, pc64: warn when running out of conf.mem[] entries in meminit()

Hash:	b562b269cea44e09d3c642b1a9452e16bd8ce3b5
Author:	Alex Musolino <alex@musolino.id.au>
Date:	Sat Feb 6 05:21:09 +0000 2021

	test: fix expression parser
	
	The old parser code was rubbish and only worked for trivial
	expressions.  The new code properly handles complex expressions,
	including short circuit evaluation.
	
	As such, the BUGS section has been removed from the test(1) man page.
	The description of an unimplemented feature has also been removed.

Hash:	4ec97f73ee2326209bc56730562e82f2e6fe2c0a
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Thu Feb 4 09:57:37 +0000 2021

	libdraw: enter/eenter: fix ^W removing the text on the right side of the tick

Hash:	e0bfd148e29346f9fb824ea0c6ac86b5870836ce
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Thu Feb 4 09:45:52 +0000 2021

	libdraw: enter/eenter: fix Kleft for non-ascii text

Hash:	49220af76e04d4ac45d8a67c77ab5732208508ca
Author:	Michael Forney <mforney@mforney.org>
Date:	Thu Feb 4 00:19:57 +0000 2021

	[9front] [PATCH] audiohda: add PCI ID for Intel C610/X99
	---
	Tested and seems to work fine.

Hash:	79c4c039ab4563d3aac7349c1f57f61ce63063bd
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Wed Feb 3 19:09:43 +0000 2021

	acmemail(1): Nail => Mail
	
	Forgot to change the program name when importing
	the rewrite.

Hash:	101312c1d733ceff3c1bdcef225933d1de74e849
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Wed Feb 3 16:10:11 +0000 2021

	mklib, upas/common: clean up libcommon properly (thanks mikan)
	
	Despite pervious efforts, mk clean still doesn't remove libcommon.a*
	files from cmd/upas/common/. To fix this, let's tell cmd/mklib to do
	the job instead.

Hash:	01ab07ef729a2dbade38906f4acf2827ea327952
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Feb 3 00:19:19 +0000 2021

	acme: fix use after free in warning() call (thanks igor)

Hash:	3c1022a3deee758ab1cac307a1b0b46e4a5d0d52
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Tue Feb 2 15:21:47 +0000 2021

	merge

Hash:	49d7ca8d92e5667f3e5ece4c6acbc1064701e2f8
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Tue Feb 2 14:52:00 +0000 2021

	runq: clean up code, fix error handling.
	
	Runq spawns a number of processes, and wait()s for them
	in 2 different places. Because of the way that the exit
	handling is done, the wait can get the wrong message.
	
	It turns out that only one place in the code needs to
	wait for the child, and in all other cases, it's just
	muddling the problem.
	
	This change adds the RFNOWAIT call to all the processes
	we don't need to wait for, so that the places that do
	need wait will always get the correct child.

Hash:	3ff21a0e93cd4daa598333c67aff5483b998bb91
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Tue Feb 2 11:51:22 +0000 2021

	fortunes: SATAN

Hash:	bd78bad3c7234679177829e8d3e7ca61c1f7f5a8
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Tue Feb 2 10:56:45 +0000 2021

	winwatch: always reflow when possible (thanks telephil9)

Hash:	34ed7f7aa25b3d4b6990d454b63b6b11441c3e5a
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Tue Feb 2 04:38:40 +0000 2021

	Mail: only clear upas-maintained flags on change (thanks deuteron)
	
	When message flags change, Mail would clear all the flags and
	recompute them. This would clobber internal flags like Ftodel.
	So, don't do that.

Hash:	c20f68f8017f98df3613108a17087d56125392b7
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sun Jan 31 20:25:03 +0000 2021

	mothra: don't insert newline after div (thanks phil9)

Hash:	bb250c4c3b8a0add2a7ec2b972f327b0a3db03d4
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sat Jan 30 17:19:57 +0000 2021

	ape/libm: implement log2 in libc

Hash:	273c4bff7ae59ff33e0b58c95967397090fd3864
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sat Jan 30 02:29:01 +0000 2021

	Mail: fix inverted reply-all condition

Hash:	bee6271ae1c4f50180f52f6dc11ce23337467722
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sat Jan 30 01:34:47 +0000 2021

	Mail: rewrite.
	
	Acme mail made it hard to do threading, so I wrote a new one.

Hash:	319e625be0ec5d78b063308332056bed0299c2c9
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Fri Jan 29 02:07:48 +0000 2021

	screenlock: use initdisplay(2), top the window (thanks stuart morrow)
	
	Screenlock should use libdraw(2) to init the display
	and create the window, instead of looking at the screen
	file directly. Also, to prevent new windows from popping
	up over screenlock, bring it to the top periodically.

Hash:	a5517fca5fff3b6038b5e5a1f3dbc828d798fe92
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Wed Jan 27 02:07:04 +0000 2021

	news: make -a and -n get along (thanks lyndon)
	
	currently, -a and -n are mutually exclusive.
	this change allows them to be used together.

Hash:	21e5726f43707a5736be0f0e38f41c058620401b
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sun Jan 24 17:58:39 +0000 2021

	cc: mk clean should delete cc.a$O
	
	It's surprising when 'mk clean' doesn't actually
	do a clean build in cc -- fix this.

Hash:	5b8b5884f4eacd26b1e234c5abedd1615d895003
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sun Jan 24 04:36:09 +0000 2021

	5l: fix shifts by zero
	
	on arm32, we can do one of 4 shifts
	by a constant:
	
		reg<<(0..31)
		reg>>(1..32)
		((u32int)reg)>>(1..32)
		reg ROT (0..31)
	
	There's no way to encode a 0 bit right
	shift,  so when encoding reg>>0, flip
	it to the equivalent nop reg<<0, which
	can be encoded.

Hash:	f76e28cb71fd7f45eda35f68c89a6ba151625313
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sun Jan 24 04:03:07 +0000 2021

	ape/libm: add back fmod, remove modf
	
	We removed the wrong file. Put it back.

Hash:	988bdd05a326687daa1852c9ff395230743b30d8
Author:	Michael Forney <mforney@mforney.org>
Date:	Sun Jan 24 03:47:12 +0000 2021

	[9front] ape: remove _SUSV2_SOURCE guard from inttypes.h
	inttypes.h was added to C99, and this is the only header that used
	_SUSV2_SOURCE.
	
	Also, remove now unneeded _SUSV2_SOURCE from python mkfile.

Hash:	443d5256bdb6b0fb73795706fc5d48a12a3cd0dc
Author:	Michael Forney <mforney@mforney.org>
Date:	Sun Jan 24 03:46:57 +0000 2021

	[9front] nusb(4): fix typo

Hash:	e8b8cec9c7ce157a67a22a84a5716e271245d049
Author:	Michael Forney <mforney@mforney.org>
Date:	Sun Jan 24 02:28:08 +0000 2021

	[9front] cc: fix comparison warning with constant LHS
	This prevents an incorrect warning for a comparison such as `0 < x`,
	where x is an unsigned type.  Previously, this would get normalized as
	`x >= 0` rather than `x > 0` when checking the comparison.

Hash:	a8834acf73c4c5bfa337fd3fb1ffc82151423a54
Author:	Michael Forney <mforney@mforney.org>
Date:	Sun Jan 24 02:26:34 +0000 2021

	[9front] cc: remove unnecessary 128-bit add function
	Instead, just change the comparisons from <=/>= to </>.

Hash:	ed2b1d5c610f0ff2d49780f69b6343d22f878a63
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sun Jan 24 02:02:46 +0000 2021

	upas/fs: fix swapped argument, dead code
	
	With ntlm auth, we were trying to set 0 bytes of
	the auth struct to its size. The args were clearly
	swapped. Fix it.
	
	While we're here, remove some dead code.

Hash:	f164ee6dd9be3f59ae60a6436766cec39892e3c6
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sun Jan 24 00:38:32 +0000 2021

	upas/runq: fix typo
	
	one slipped in to the last commit.

Hash:	51319cc5b56924b03d9c6188f6a1e189a497d42c
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sun Jan 24 00:05:21 +0000 2021

	upas/runq: bring back -a
	
	Turns out -a is useful in crontab, so bring
	back a simplified version of it. This only
	iterates through directories one at a time.

Hash:	41f85d46f866c57a618b8df85c0e59cebc04f095
Author:	qwx <devnull@localhost>
Date:	Sat Jan 23 23:58:47 +0000 2021

	ape: update mkfile for removed fmod.c

Hash:	bd5af0df5d9455cf33ba067fa7e732615f3dd75e
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sat Jan 23 21:20:09 +0000 2021

	vnc: I don't like your face.
	
	Cosmetic improvements to vnc auth code.
	Should not have user-visible changes.

Hash:	f321298c551e4333fcf2819eabf7ce67ea443e20
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sat Jan 23 19:03:05 +0000 2021

	upas/runq: support parallel queue processing, drop -a
	
	When running a mail queue, it's useful to run it with limited
	parallelism. This helps mailing lists process messages in a
	reasonable time.
	
	At the same time, we can remove the load balancing from runq,
	since the kinds of systems that this matters on no longer
	exist, and running multiple queues at once can be better
	done through xargs.

Hash:	5e20e8f963482a2008ed70cc8fa5973078248aed
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jan 23 17:42:46 +0000 2021

	vt(1): document optional command argument (thanks sl)

Hash:	6d012d2df00d742329a05aed46f657f439023fee
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jan 23 14:53:56 +0000 2021

	ape: apply infinite recursion in fmod() fix (thanks jxy and ality)
	
	Apply changeset 2880:cab2b9d13a73 to ape's fmod() implementation.
	
	Remove the unused math/fmod.c copy.

Hash:	b5c7158f39e448d70052076b83d04ef22d794e5a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jan 23 14:06:30 +0000 2021

	syscall: don't rely on . being in $path (thanks Silas)

Hash:	a9e70446a07ab8582765790b5245a3d58e13a490
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Fri Jan 22 16:48:41 +0000 2021

	nusb/kb: correct Mod4 scancode (125 → 91, to match what kbdfs has)

Hash:	90251761932a95bfa138cbba4963d435406c3c9d
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Fri Jan 22 09:57:43 +0000 2021

	aux/acpi: do not expose empty files

Hash:	6a78bb2e4f00581d85de1c5f9949782de3dd8933
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Fri Jan 22 09:15:36 +0000 2021

	stats: don't query battery and temp as often when using acpi
	
	Querying battery (or temperature) using ACPI takes quite some
	resources, which makes the battery discharge faster.  It doesn't make
	much sense to have it queried as often either.  So, when using ACPI:
	
	1) set battery query period to 10s minimum
	2) set temperature query period to 5s minimum

Hash:	1047b53efc370ad77546337a221171777b6face1
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Wed Jan 20 03:56:38 +0000 2021

	ape/libap: fix _startbuf, check rfork return (thanks pixelherodev)
	
	When _startbuf is invoked, it would crash on the second invocation
	if creating a mux segment failed. This is because the first attempt
	would assign the return value -1 to the global mux variable, and
	the second attempt would notice that the global mux was not nil,
	and would attempt to use it.
	
	This change only assigns to the global variable if the allocation
	of the segment was a success.
	
	While we're here, we should also check the return of the rfork call.

Hash:	50efe18550c5f86ec99c307fe17c2b5c6d061c67
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Wed Jan 20 02:14:53 +0000 2021

	webcookies: remove straggling custom date parser
	
	One place missed in the tmdate purge.

Hash:	417dc79cff844b8fcb7d64211e728c263b852356
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Wed Jan 20 02:12:30 +0000 2021

	upas/ml: touch the artwork
	
	Global variables deserve more greppable names,
	since I'm likely to know where they're used.

Hash:	161560d8e89314d3f47495bb60e354a3a949041e
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Tue Jan 19 23:18:57 +0000 2021

	dd(1): update manpage to match program
	
	Document the dd changes

Hash:	cb7ba0e640f7226fedaecb6d1289bebabe033a3b
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Tue Jan 19 23:15:12 +0000 2021

	dd: error with invalid size suffixes, add 'm'
	
	When invoking with dd with an invalid size suffix, we
	silently accept the suffix. This can lead to confusion,
	because lines like:
	
		dd -bs 1K
		dd -bs 1m
	
	will silently copy in 1-byte increments. This has caught
	people by surprise. While we're at it, megabytes are
	convenient, so let's have them too.

Hash:	67c15c1e4794103dc3eeb8d76ed0b5e39b321780
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Tue Jan 19 14:04:40 +0000 2021

	mothra: linkify text starting with gemini:// and ftp://

Hash:	8781283fbdffc5f362c64791d5c0f0f641010b34
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Tue Jan 19 13:14:28 +0000 2021

	mothra: resolve urls on middle click. helps with snarfing of relative urls

Hash:	b3548406b5298a0840a4001316276ed2e6491964
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Tue Jan 19 01:55:01 +0000 2021

	acme(1): add references to appropriate manpages

Hash:	8c9cbbb142cfbe595ead3d0003638e079053e683
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Mon Jan 18 02:01:53 +0000 2021

	passwd: make legacy mode explicit
	
	Passwd used to produce a very confusing error
	about DES not being enabled whenever the password
	was mistyped. This happened because we attempted
	to guess what authentication method to use, and
	preseneted the error from the wrong one on failure.
	
	This puts the legacy mode behind a flag, so that
	we don't even try the old method unless it's
	explicitly requested.

Hash:	081f98de6c71865a1a5e07a3cdf09d7d23848c2e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jan 17 23:51:20 +0000 2021

	audiohda: Add  AMD Starship/Matisse HD Audio Controller (thanks uramekus)

Hash:	0abb10213755c80eb80bb3801c2427015452788d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jan 17 20:28:45 +0000 2021

	plan9.ini(8): document *nohpet= option

Hash:	f8787d5815bc4aa42127eaaabeb4efb22f4ae4ff
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jan 17 20:22:23 +0000 2021

	merge

Hash:	a05bab362f66ddd6fa65f2e7cda9eaaa0217ec08
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jan 17 20:21:12 +0000 2021

	pc, pc64: add minimal HPET driver to measure LAPIC and TSC frequencies
	
	This adds the new function pointer PCArch.clockinit(),
	which is a timer dependent initialization routine.
	It also takes over the job of guesscpuhz(). This way, the
	architecture ident code can switch between different
	timers (i8253, HPET and XEN timer).

Hash:	bf7e0791e1c8c6e57c87567db69db5b7458d5491
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sun Jan 17 19:12:18 +0000 2021

	seconds: remove junk from usage

Hash:	1b7d0e1cb7f17bc3a92ea6286f8e31e4a01ded0c
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Sun Jan 17 13:02:17 +0000 2021

	dpost prologue: update /radicalex to fix square displacement (thanks umbraticus and Ethan)

Hash:	999e98b9b856ae4fc75b3ad33783488e33cdd426
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jan 17 10:55:39 +0000 2021

	usbehci: use 64-bit base address, remove resetlck, simplify scanpci()

Hash:	3240008dd182a0d88fb2d0d5ffc5e88accdd957f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jan 17 10:53:50 +0000 2021

	usbuhci: remove resetlk, simplify scanpci()

Hash:	87b1d454ed703e6e93e96c40d73388d5220c1a34
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jan 17 10:51:59 +0000 2021

	usbohci: use 64-bit io base address, disable interrupts before reset, remove resetlck

Hash:	82c892a697aa69844b9ab90da183104c66f30842
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sun Jan 17 00:17:27 +0000 2021

	zerotrunc(8): add manpage

Hash:	48555e785ac03a29aad4c027674d9487d148227c
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sun Jan 17 00:17:10 +0000 2021

	troff2png(1): add manpage

Hash:	e2e973a34bde34489b49700b364e683b40e3f6c4
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sat Jan 16 22:24:32 +0000 2021

	tmdate(2): correct example in manpage
	
	add missing tmdate() call around %τ format.

Hash:	0f3ef52fd7792c660587bc477668fea55aa8d947
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Sat Jan 16 17:30:50 +0000 2021

	tweak: support showdata plumb action (thanks sirjofri)

Hash:	58b3f96f98895e1352c12388cffdb7eed180a484
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Fri Jan 15 18:32:02 +0000 2021

	9fs: bell labs is very dead

Hash:	7b12e8084afea8f31ab63ac1e13a5c40932f1215
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Tue Jan 12 20:08:12 +0000 2021

	cal: use Sa/Su in all cases, also simplify the code

Hash:	72f76091067db6112c33bc903da34a1dce7d0bac
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Tue Jan 12 12:32:38 +0000 2021

	cal: fix -s 7

Hash:	806f97a47b461a8389d91b29f5cd5345774f84b0
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Tue Jan 12 12:23:37 +0000 2021

	cal: add -s option to specify the starting day of the week

Hash:	6103d6ed2cff0be93d00a0a774b1c6ebb7071831
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Tue Jan 12 10:15:18 +0000 2021

	audio/flacenc: missed an argument in fprintf()

Hash:	5d328689de7b4b8ba6941660caec4a6047ef3206
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Tue Jan 12 09:13:00 +0000 2021

	plumb/basic: handle tga, wav, au, mid and mus

Hash:	54e1b8431e7888fc194fa1b45daf57e70ca78dd1
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Tue Jan 12 08:24:10 +0000 2021

	audio(1): it is 2021 now

Hash:	b9f2050d599a82316ca379f83b60bf7164b2b113
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Mon Jan 11 15:58:04 +0000 2021

	libFLAC/mkfile: update version and build with -DNDEBUG

Hash:	c789c054808dc3984abfb0d6b7de6d12e66471c2
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Mon Jan 11 15:17:48 +0000 2021

	libvorbis: fix free() called on a wrong pointer

Hash:	ce82f6750c5d98968259b80614643ed63b972ea3
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Mon Jan 11 14:45:12 +0000 2021

	audio/flacenc

Hash:	10237a22f189d304668283fb82870b36144d4d1b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jan 10 19:46:07 +0000 2021

	merge

Hash:	069d27ba1d95fa2cf08cf483f8e03cbff1bb59ae
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jan 10 19:44:58 +0000 2021

	pc, pc64: revert addition of pcireset() call to pcicfginit()
	
	Revert the change, as it causes system lockups on bootup
	on some systems with USB OHCI controllers, suspected to be
	caused by BIOS/SMM accessing the device as BIOS handover
	has not been executed yet.
	
	We might bring that back when the problem has is better
	understood.

Hash:	c207b78d079803605d8aec2fe63a059fc4bdb2c6
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sat Jan 9 20:20:49 +0000 2021

	libdraw: add bezierpts
	
	This patch exposes the bezierpts function,
	providing a way to get the points on a path,
	similar how bezsplinepts gives them for b
	splines.

Hash:	dda99bbfe55bcf25ec33934c40efc4f9fdca685a
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Wed Jan 6 18:07:10 +0000 2021

	9pfid(2): document struct Qid (thanks sirjofri)
	
	The Qid struct is pervasive when writing 9p servers,
	but is not described in the manpages. This adds a
	definition to the 9pfid manpage.

Hash:	888c59c07e1f38659ca9aae9583b1ad84553fe06
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Wed Jan 6 03:48:26 +0000 2021

	merge

Hash:	1787a8b990236e27d4487ea5ea6e9623b7106b1d
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Wed Jan 6 03:37:26 +0000 2021

	acid: increase hash size (thanks jonas.amoson)
	
	when loading large binaries such as netsurf, with many
	symbols, our hash table fills up with collisions and
	loading the symbol table gets very slow. Bumping it up
	drops the time to lstk() in acid on netsurf from 4 minutes
	to 8 seconds.

Hash:	95b9b8863d747698cfb27d92f6160a588703acf3
Author:	Alex Musolino <alex@musolino.id.au>
Date:	Tue Jan 5 12:06:03 +0000 2021

	qr: fix exit status
	
	Call exits(0) instead of returning from main.  Also call sysfatal if
	writing of image data fails.  Previously, qr(1) would exit with
	default non-nil status "main" unconditionally as a result of returning
	from main.

Hash:	76ed42e31ff3297f1ca9b144ccc9466b0074f92b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jan 3 23:24:39 +0000 2021

	marshal(1): fix example: upas/mail -> mail (thanks fulton)

Hash:	92d3abd8184097dee3b6d24fed05d66e9e99d597
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sat Jan 2 05:40:00 +0000 2021

	ape: unify math.h copies
	
	/$objtype/include/ape/math.h contained an almost
	identical copy of math.h for each architecture.
	
	The only difference between them architectures
	was that some had an incorrect version of isinf
	defined.
	
	This change picks one of the versions of math.h
	with a correct definition, moves it to /sys/include,
	and removes the redundant versions.

Hash:	0e1f4288ee9cfa4cae8ea7c24707b61a8535953c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jan 2 04:47:31 +0000 2021

	ape: add missing isnan() and isinf() macros for 386 (thanks Jonas)

Hash:	5991e01ed7537f1f105355e1405ea75de33971f2
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Fri Jan 1 21:58:05 +0000 2021

	file: ftyp mp4* is video/mp4 as well

Hash:	c3b30544e19f54020ddc364b02e5202bb465cec6
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Fri Jan 1 19:48:39 +0000 2021

	sort: fix memory leak (thanks Igor Boehm)
	
	Free the last line that we examine when looping
	through the lines in a file.

Hash:	fd1db35c4d429096b9aff1763f25de9e1711bf88
Author:	BurnZeZ <devnull@localhost>
Date:	Tue Dec 29 19:38:59 +0000 2020

	cc: add a couple notes to the comments regarding flags

Hash:	97a55e03a7b8e527bb00a1ba07860e223c65676f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Dec 29 18:08:08 +0000 2020

	libc/arm: open #c/sysstat file with OCEXEC (internal file descriptor)

Hash:	fb08e3655ee2f6f3e84139ab4dd51529bda055c9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Dec 29 17:45:42 +0000 2020

	plumber: open rule files as OCEXEC, to avoid leaking them to sub commands

Hash:	b7b740a04c3f599c518bdfa606812e75acfc9d80
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Mon Dec 28 20:21:22 +0000 2020

	text2post: check font index for out of range

Hash:	ceeb701a2b93d3f0b96a8b8f945ed5e46d2d0672
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Dec 28 20:00:15 +0000 2020

	plumber: don't leak srvfd file descriptor into sub processes
	
	Put OCEXEC flag on the srvfd so it wont be leaked
	on sub-processes we spawn from plumb rules.

Hash:	67672ffdc9a537ef852c0edd89a5d8cef7346d11
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Mon Dec 28 11:24:47 +0000 2020

	plumb: fix wrong click attribute offset (thanks umbraticus)

Hash:	0596178dd660daaeedeb7eaaea5c0cf27fb49d41
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Dec 27 22:39:28 +0000 2020

	kbmap: avoid division by zero when window becomes too small

Hash:	0e632454e2d6cba7acb7e05771e027244e02416d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Dec 27 22:10:39 +0000 2020

	aux/vga: remove panning, add screen tilting support

Hash:	806353ec9eda162a3ff13cad1e5228c58cd67566
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Dec 27 22:08:59 +0000 2020

	devvga: implement screen tilting, remove panning and overlays
	
	Tilting allows using left/right rotated or invetrted display orientation.
	This can be changed at runtime such as: echo tilt right > /dev/vgactl
	This removes the old panning and vga overlays as they are only implemented
	with some ancient vga controllers.

Hash:	874e71c8dc489b820c9a6066d13c470a34d7f83f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Dec 23 12:10:30 +0000 2020

	libauth: re-implement procsetuser() to use /proc instead of #c/user

Hash:	ab103ba3496b359f040afa845065976514392071
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Dec 23 12:09:31 +0000 2020

	devproc: allow anyone to change user of its own processes to "none"

Hash:	7bcdd1b5d896816f6d403f86cd315819d0d03d07
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Wed Dec 23 11:18:07 +0000 2020

	libvorbis: 1.3.5 → 1.3.7 (fixes a bunch of CVE and other small issues)

Hash:	a7a08647b6d224425857834c34dffe4b49055acc
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Dec 23 01:32:13 +0000 2020

	ape: re-implement getlogin() by stating /proc/$pid/status

Hash:	dced7255ec86587b441dc2ac04a8fb268ac5b920
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Dec 23 01:31:28 +0000 2020

	libc: re-implement getuser() by stating /proc/$pid/status
	
	The idea is to avoid the magic files that contain
	per process information in devcons when possible.
	It will make it easier to deprecate them in the future.

Hash:	2e6a5e704646109a7aaf7dd5a9d3a64475fd0055
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Dec 23 00:44:44 +0000 2020

	fax, psfax, vwhois: use $user instead of /dev/user

Hash:	cad697d6edfefe3209ebf46d5a6d8751bbb0052f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Dec 23 00:44:10 +0000 2020

	B: dont pollute the environment

Hash:	4675de1ba0005597e98d6e183c6df278e9687d1f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Dec 23 00:43:29 +0000 2020

	kill, slay, broke: dont pollute environment, use $user

Hash:	e45c7480b612582c40c579c657630aa43b444a72
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Dec 23 00:42:52 +0000 2020

	Kill: don't pollute environment

Hash:	c8c5499d7fc4f7b59a12c0ae90eb4e516783f1f8
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Dec 23 00:41:52 +0000 2020

	start, stop: avoid null list in concatenation witout arguments, use $user

Hash:	c7fd8fe47a96d447d8ea327f14314fc1f55f377f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Dec 23 00:23:09 +0000 2020

	nusbrc: delect lenovo camera

Hash:	f11526708e7ce1a09a127fde6677e14455f4d1f5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Dec 22 21:17:44 +0000 2020

	kw: use ethermii.c from port/ (thanks stuart)

Hash:	809a7402fc7b06fb73c8b6743e60ef95ab89fca0
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Dec 22 18:33:49 +0000 2020

	aout2uimage: fix missing \n in usage print (thanks james)

Hash:	1619629835310a1fa326f28dc3a3d0ef6a6d9f79
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Dec 22 16:44:26 +0000 2020

	upasfs(4): fix small typos (thanks igor)

Hash:	157166d4fc578c1b0e11deb04278e3fb8f35d15e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Dec 22 15:36:45 +0000 2020

	kbdfs: fix mistake, remove leftover static user variable (thanks umbraticus and igor)

Hash:	29f60cace1a71edd730c60ddac8dfbd962741038
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Dec 22 15:29:55 +0000 2020

	kernel: avoid palloc lock during mmurelease()
	
	Previously, mmurelease() was always called with
	palloc spinlock held.
	
	This is unneccesary for some mmurelease()
	implementations as they wont release pages
	to the palloc pool.
	
	This change removes pagechainhead() and
	pagechaindone() and replaces them with just
	freepages() call, which aquires the palloc
	lock internally as needed.
	
	freepages() avoids holding the palloc lock
	while walking the linked list of pages,
	avoding some lock contention.

Hash:	2fb5fbbd73a1c861bdc7326ece8035ffb35f7093
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Dec 21 23:47:53 +0000 2020

	merge

Hash:	f2919dfd14e9c0ec58d0f9b1accab63080ec07f4
Author:	Alex Musolino <alex@musolino.id.au>
Date:	Mon Dec 21 23:41:03 +0000 2020

	rio(4): list window states in order (thanks umbracticus)

Hash:	0ad4ceb8d08c53b126ecd60e9d5f0afbad134c4c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Dec 21 21:03:46 +0000 2020

	kernel: make addbroken() static, remove misleading Proc* argument

Hash:	262d5c101bae721f5e4428510448f6c7a247fde4
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Dec 21 14:06:04 +0000 2020

	merge

Hash:	5a059477f8066f25ece1ba2b8c49ab8ea24d19de
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Dec 21 14:04:48 +0000 2020

	pc, xen: move fpu setup/fork/save/restore handlers to pc/fpu.c

Hash:	a203d904744fd0207ed48c8cb7fcde2775899f74
Author:	Alex Musolino <alex@musolino.id.au>
Date:	Mon Dec 21 13:46:26 +0000 2020

	hpost: fix usage text

Hash:	932995bb27fa517192cb4130d3e79593a8904763
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Dec 21 13:41:10 +0000 2020

	kernel: update procsave() comment, we'r not holding up->rlock anymore

Hash:	41c60689b358e6c5d5b80451c800cc137ae2026e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Dec 20 22:08:11 +0000 2020

	ndb/dns: handle dnskey RR's (thanks moody)
	
	On 12/18/20, Jacob Moody wrote:
	> Hello,
	>
	> I recently ran in to some issues with pointing an unbound server towards a
	> 9front dns server as its upstream.
	> The parsing seemed to fail when ndb/dns received a DNSKEY RR from it's own
	> upstream source on behalf of unbound.
	> This patch catches and stores the DNSKEY from the upstream server to prevent
	> this.

Hash:	e4ce6aadac9e1de8d5ea625e9680d24cabce0e1a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Dec 20 21:34:41 +0000 2020

	kernel: handle tos and per process pcycle counters in port/
	
	we might as well handle the per process cycle
	counter in the portable part instead of duplicating the code
	in every arch and have inconsistent implementations.
	
	we now have a portable kenter() and kexit() function,
	that is ment to be used in trap/syscall from user,
	which updates the counters.
	
	some kernels missed initializing Mach.cyclefreq.

Hash:	08c1622b0d8de92c2650d7b0338d9abf20985827
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Dec 19 18:15:02 +0000 2020

	[12kq]l: remove unix compat code for cputime()

Hash:	0527345e0a81e412b434de44a44e2b999d464db2
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Dec 19 17:47:17 +0000 2020

	libthread: remove unused _times() function

Hash:	58e6750401684c25a82c42c4edb5001a814f6d31
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Dec 19 17:07:12 +0000 2020

	kernel: remove Proc* argument from procsetuser() function

Hash:	eb1dfed9abb054e4708fcb13ac6d8d537914ac77
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Dec 19 17:02:37 +0000 2020

	libauth: change programs to use the new procsetuser() function

Hash:	fc5070c60057b6e02490e83f5d675786e8b8d83c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Dec 19 16:46:55 +0000 2020

	libauth: add procsetuser() function to change user id of the calling process
	
	Provide a central function to change the user id
	of the calling process.
	
	This is mostly used by programs to become the none
	user, followed by a call to newns().

Hash:	daccd2b226ff71c251931103403a982d2796061a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Dec 19 14:52:41 +0000 2020

	aux/kbdfs: use getuser() from libc

Hash:	ba20914d0158f7d5551785b1382efeaae98919cb
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Dec 19 14:50:30 +0000 2020

	acme: use global user string variable instead of getuser()

Hash:	c7fc69bd6a965a4cb8eca7c9d4a069fb271c68e2
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Dec 19 14:36:07 +0000 2020

	acme: use getuser() in fsinit()

Hash:	672cf179a1a8a17a4a977eeada60a035a27ed98d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Dec 19 14:15:38 +0000 2020

	libc: implement getppid() reading /proc/$pid/ppid instead of /dev/ppid
	
	The devcons driver is really the wrong place to
	serve per process information.

Hash:	d919ad3b5e8e98d7470275d724772de221e060f6
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Dec 19 13:59:19 +0000 2020

	devsons: remove #c/pgrpid
	
	The process group id is essentially a unique id
	of the namespace but it was never well documented
	nor is it used by any program.

Hash:	d0cc9e2eb65222edb244f93d97d062e6f4eb5e7e
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Sat Dec 19 12:33:11 +0000 2020

	g: initialize files env var

Hash:	4dc437c0763268ebf3c77c2a11cafa224173bfdd
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sat Dec 19 03:23:48 +0000 2020

	vt: rfork environment varibles (thanks fshahriar)
	
	vt sets several environment variables ($TERM, $COLS, $LINES)
	after exiting. This change rforks the environment so that this
	detritus doesn't get left behind.

Hash:	2db3642b8d3b871c6f9d1f4e3204b2f44fc4b79f
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Fri Dec 18 15:16:29 +0000 2020

	strndup: don't assume buffer is terminated
	
	Using strlen in strndup will walk past the first
	n bytes up to the terminator, which may not be
	present. This is not what we want.
	
	While we're here, do some cleanups.

Hash:	f09788364452d6921d555587196f5453e1259257
Author:	kvik <kvik@a-b.xyz>
Date:	Fri Dec 18 14:15:49 +0000 2020

	kbmap: add Turkish keymap (thanks Kemal)

Hash:	c2aa8c997aa9f7a6f0bc6cb1ad99cccede44fc72
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Fri Dec 18 04:26:38 +0000 2020

	hpost: support custom headers (thanks julienxx)
	
	hget supports adding custom headers with -r;
	it makes sense for hpost to do the same, both
	because custom headers are more likely necessary
	with POSTs, and for consistency.

Hash:	658c1b9f68065a4e9ac7f1e28b3eedbba36c3099
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Fri Dec 18 03:20:04 +0000 2020

	libap: add strndup
	
	strndup is part of POSIX.1, so APE should provide it.
	This patch adds it, so need to patch it out of fewer
	programs going forward.

Hash:	646c502b151f667362c625b6e2440cf1db520475
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Dec 17 20:02:11 +0000 2020

	ether2114x: make sure pci bar0 is I/O

Hash:	318fe6a702b5c118ce271b616c115648ae6d7448
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Dec 17 19:55:59 +0000 2020

	ether2114x: vetting the driver for pc64
	
	the tulip driver is used in microsofts hypver-v
	as the legacy ethernet adapter for pxe booting.
	
	to make the driver work on pc64, we need to
	store the Block* pointers in a separate array
	instead of stuffing them into buffer address 2
	of the hardware descriptor.
	
	also, enable the driver in the pc64 kernel.

Hash:	5016ac0c63c3b4db1dcdace0c6136b0ac88abeea
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Tue Dec 15 13:37:36 +0000 2020

	pc: set exit status depending on errors

Hash:	d0c6ade53dd763a92e31333fd789158304e8e842
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Tue Dec 15 13:25:59 +0000 2020

	pc: treat EOF gracefully, allowing easier use within sam command language

Hash:	3749e92cdb88a157f99c0709a264bd508603be9b
Author:	Alex Musolino <alex@musolino.id.au>
Date:	Tue Dec 15 10:25:41 +0000 2020

	merge

Hash:	404c901f299c4d93cb159a3c44c2977a25408319
Author:	Alex Musolino <alex@musolino.id.au>
Date:	Tue Dec 15 10:15:26 +0000 2020

	ico: avoid potential nil pointer dereferences
	
	Bgeticon can fail, leaving the Icon img pointers nil.

Hash:	81647c202550634b99c2bc93dd055b8d54725abf
Author:	Alex Musolino <alex@musolino.id.au>
Date:	Tue Dec 15 10:14:11 +0000 2020

	ico: fix interpretation of 0 widths/heights

Hash:	32291b52bcbd6976051acff1692b571e321ac859
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Dec 13 19:23:03 +0000 2020

	iostats: dup 9p pipe to both fd 0 and fd 1 for exportfs

Hash:	08a9a6952dfa9ace5b4ae6fa1614c97d4a945ece
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Dec 13 19:11:44 +0000 2020

	cpu(1): refer to oexportfs(4)

Hash:	6f932de718a740ac4676c14b739f1ce74f8d85c9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Dec 13 19:11:30 +0000 2020

	import(4): refer to oexportfs(4)

Hash:	27a83106f4b5b68d77afa8f800d92398163a7043
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Dec 13 19:09:03 +0000 2020

	oexportfs: move legacy code for cpu and import to separate program
	
	The initial protocol handling in exportfs for
	cpu and import services is a huge mess.
	
	Saparate the code out into its own program with
	its own oexportfs(4) manpage.

Hash:	0b33b3b8adf95bcf6cf0764fe425169ee0b8be0e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Dec 13 15:04:09 +0000 2020

	kernel: implement per file descriptor OCEXEC flag, reject ORCLOSE when opening /fd, /srv and /shr
	
	The OCEXEC flag used to be maintained per channel,
	making it shared between all the file desciptors.
	
	This has a unexpected side effects with regard to
	channel passing drivers such as devdup (/fd),
	devsrv (/srv) and devshr (/shr).
	
	For example, opening a /srv file with OCEXEC
	makes it impossible to be remounted by exportfs
	as it internally does a exec() to mount and
	re-export it. There is no way to reset the flag.
	
	This change makes the OCEXEC flag per file descriptor,
	so a open with the OCEXEC flag only affects the fd
	group of the calling process, and not the channel
	itself.
	
	On rfork(RFFDG), the per file descriptor flags get
	copied.
	
	On dup(), the per file descriptor flags are reset.
	
	The second modification is that /fd, /srv and /shr
	should reject the ORCLOSE flag, as the files that
	are returned have already been opend.

Hash:	b2b2d2cb4c5cb3153760084a55584817a2c58a24
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Dec 12 17:16:06 +0000 2020

	sdiahci: assume 64-bit PCIWADDR()

Hash:	5ea540e75def56d3c2b5ef16f0f4e91d5f5c0ad1
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Dec 12 17:00:41 +0000 2020

	sdiahci: enable pci busmaster before ahciconfigdrive() (fix qemu crash)
	
	enable pci busmaster before set the fis-receive-enable
	bit in the port command register.
	
	not doing so triggers a crash in qemu like:
	
	address_space_unmap: Assertion `mr != NULL' failed.
	
	as qemu tries to process the dma command list as soon
	as we set that flag and busmaster dma needs to be enabled
	at this point.

Hash:	b1d1fa04b952d19064ecc9c4b0a6c07e39e71c3b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Dec 11 14:24:35 +0000 2020

	merge

Hash:	fc0f08c65112e50a75d77042d8249b6bd15a3b76
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Dec 11 14:23:03 +0000 2020

	pc, pc64: make sure write combining is supported in MTRR's before setting it

Hash:	658c994cfff444e0d473dbd312638c4f609fcc81
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Dec 11 14:21:44 +0000 2020

	pc, pc64: ignore MTRR's when MTRRCap.vcnt and MTRRCap.fix are zero
	
	Bhyve returns 0 in MTRRCap register, so we
	can use that instead on relying on cpuid only
	to see if MTRR's are supported.
	
	That way we can get rid of the sanity check
	in memory.c.

Hash:	345e93dd4c5879655686edd282b859cf958360c4
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Fri Dec 11 14:18:41 +0000 2020

	update Finnish kbmap: fix ¤ on shift+4 and add more AltGr variants

Hash:	f5d1fce9b56143ac90ef0c1c4388ee502f44cfed
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Thu Dec 10 11:19:45 +0000 2020

	vmx: clean up mksegment, memset only if segment existed (devsegment clears new ones)

Hash:	d7120ecb77c22496678e2352ed3782b411215118
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Thu Dec 10 09:33:42 +0000 2020

	src: work on awk scripts too, see "src valley" (thanks phil9)

Hash:	cef91f23e787a9e01916b35cf35347b964f03a3b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Dec 10 00:47:19 +0000 2020

	pc, pc64: work around bhyve all uncached MTRR's

Hash:	635be848319c7254f176f8daaf912393ffe2cdcb
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Dec 9 00:05:14 +0000 2020

	merge

Hash:	eb3d055eb376cb930a15ea85f594185f754223e9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Dec 9 00:04:03 +0000 2020

	backout OCEXEC changes when potentially opening /srv files
	
	Opening a /srv file sets the close-on-exec flag on the
	shared channel breaking the exportfs openmount() hack.
	
	The devsrv tries to prevent posting a channel with the
	close-on-exec or remove-on-close flags. but nothing
	currently prevents this poisoning on open.
	
	Until this gets fixed in eigther exportfs or devsrv,
	i'll back out the changes that could have potential side
	effects like this.

Hash:	07d3d9bf0c69d4beb4555c9054f455f7181c34c5
Author:	kvik <kvik@a-b.xyz>
Date:	Tue Dec 8 20:20:13 +0000 2020

	sega(1): fix keys (thanks bigato)

Hash:	5149f204b78b7969c0cb865ff376fc21a2c50297
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Dec 8 16:16:12 +0000 2020

	plan9.ini(8): document *nomtrr= and order the table

Hash:	8efbd243e1934288fe6a57d3f168d370f6c04493
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Dec 8 15:58:41 +0000 2020

	pc, pc64: cleanup cpuidentify() and some comments

Hash:	b2ffb6ccc5a5a4fcc996cc5db14ea7e2da13a411
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Dec 8 15:34:36 +0000 2020

	pc, pc64: add *nomtrr= kernel parameter

Hash:	263dc8093d7eeece36160515b3a4f76a95352050
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Dec 8 15:00:57 +0000 2020

	pc64: preserve reserved bits in CR0/CR4 for amd64 in mtrr setstate()
	
	On AMD64, CR0/CR4 are 64-bit registers, with
	the upper half reserved. So use uintptr type
	to store the register values to get 32 bit on 386
	and 64 bit on AMD64.

Hash:	4db8a82f5a5afbd72abb6d251f67edb0b251d556
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Dec 8 14:15:13 +0000 2020

	vncv: backing out previous change, this needs another revision

Hash:	b1da2bb10b9ea941aeee2dfcb5ac1540e9169770
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Tue Dec 8 13:32:28 +0000 2020

	vncv: do NOT map Kaltgr to meta, introduce Mod4 (Super) as an extra key to use instead

Hash:	93c6f8cb0dbd4386aea73773933d917848922a1b
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Tue Dec 8 12:18:10 +0000 2020

	vmx(1): build vmxgdb by default, clean it up as well

Hash:	4ba5cb6c6abc5ffa988c0b3d78e3151efddac4f5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Dec 8 12:04:52 +0000 2020

	vmx: nanosec(): fix non-interruptable temporary, assign fasthz only once after xstart

Hash:	01eb04060b0de65eca044566381e214fab99fea3
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Dec 8 11:42:36 +0000 2020

	pc: move ldmxcsr() prototype to fpu.c

Hash:	de5770c3523e8ecb4f639417bf6f7592ed703c37
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Dec 8 11:40:28 +0000 2020

	vmx: add fmt checking, fix fmt errors, remove duplication for vmdebug

Hash:	07805ac8927ca8034a2e1bc39ef1b6a20f80806c
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Tue Dec 8 10:47:15 +0000 2020

	nusb/kb: update button state if event was actually received, fix typos (thanks umbraticus)

Hash:	3d9abd96aea42e7e1134e0f241cb57275a29bc71
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Tue Dec 8 10:21:18 +0000 2020

	devmouse: remove redundant check

Hash:	e812aa617f70b43ba6d17ff6ed3b4fe324cdc853
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Tue Dec 8 09:34:10 +0000 2020

	mouse(3): blankS, setS to follow the convention (thanks umbraticus)

Hash:	014bf3fe7c78abb0fbd59f4da88fda7cb8ae2674
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Tue Dec 8 09:21:17 +0000 2020

	mouse(3): document "scrollswap" ctl message, fix style a bit (thanks umbraticus)

Hash:	8f9d4d7c27c5a26962c122c185549be24716571f
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Tue Dec 8 09:08:49 +0000 2020

	vesa: make unsupported function not an error, set return status

Hash:	96850d8bb40e282217776e17977dd8ac10d0d10f
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Tue Dec 8 09:01:44 +0000 2020

	vmx: add -D option to enable debug messages, use vmdebug for non-fatal "errors"

Hash:	c74458c98b3cba6ed33a63b9f02a10e9828f9097
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Dec 7 17:59:54 +0000 2020

	vmx: add -v|-w flag to control window creation behaviour
	
	The -v flag now does not create a new rio window,
	while -w flag does (restores the old behaviour).
	
	This allows vmx to run under vncs and is in general
	mode aligned to other emulators and programs.

Hash:	1bb96d542cd43a027934ca372e0ab8c87f523db9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Dec 7 16:18:33 +0000 2020

	libcomplete: open internal file-descriptor with OCEXEC flag

Hash:	383a2ca79be58cb18f4df9ddc721e8c416e72373
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Dec 7 16:14:34 +0000 2020

	libsec: open internal file-descriptors with OCEXEC flag

Hash:	d5928fb515f73ab0d530799654738dedcbfb6279
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Dec 7 15:48:19 +0000 2020

	merge

Hash:	f7e21d7692e619e9a926f29f2d59906c0d7ef072
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Dec 7 15:47:06 +0000 2020

	libauthsrv: open internal file-descriptors with OCEXEC flag

Hash:	f433f1426b10dc7bdd313ee72b842e27089f88f1
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Dec 7 15:46:34 +0000 2020

	libauth: open internal file-descriptors with OCEXEC flag

Hash:	6c29cf79f073c71b1e0db1a9f713c52803ba32f7
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Mon Dec 7 15:42:56 +0000 2020

	aux/kbdfs, kbmaps: enable Kmod4 for other layouts, not just neo2

Hash:	f341ae8c777dda2876beb4d4a1c67c4e920595ca
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Dec 7 15:30:27 +0000 2020

	libdraw: open file-descriptor with OCEXEC flag in readcolmap()

Hash:	1a900513fb137143e1c1f8177975952bc404f5a9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Dec 7 14:15:02 +0000 2020

	libndb: open internal file-descriptors with OCEXEC flag

Hash:	5e59c57bb110403f83a41ad88415e108c6cb1f6a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Dec 7 13:54:27 +0000 2020

	lib9p: open internal file-descriptor with OCEXEC flag in getremotesys()

Hash:	4d4b6a19de040a111cca42d518fe0d26c255ceec
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Dec 7 13:51:53 +0000 2020

	lib9p: open /mnt/factotum/rpc with OCEXEC flag in auth9p()

Hash:	d570229e8268c96e97858f021b84bf00305f1daa
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Dec 7 13:49:12 +0000 2020

	lib9p: improve reqqueuecreate()
	
	- open /proc/n/ctl with OCEXEC flag
	- format pid as ulong
	- don't leak the fd

Hash:	b3c9249500d1f6f2df42c1543c4deb87789510b5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Dec 7 13:33:51 +0000 2020

	merge

Hash:	4d22dbb0f5a0cd4d3202a01a8cc18b632b5c9b01
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Dec 7 13:32:34 +0000 2020

	libdraw: open internal file-descriptors with OCEXEC flag

Hash:	e8b871ef5af74187a17b068e8fc2c1b44384a782
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Dec 7 13:32:12 +0000 2020

	libdraw: remove unused Error label in freescreen()

Hash:	c10e21b491937315a096e3e83840886fd7ba9ae8
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Dec 7 13:31:02 +0000 2020

	libthread: reduce stack usage of threadkill*(), open /proc/n/ctl with OCEXEC flag

Hash:	e45bd6814a125e7a175ff19e23252608a060d847
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Dec 7 13:29:45 +0000 2020

	libthread: reduce stack usage for ioprocs, open /proc/n/ctl with OCEXEC flag

Hash:	1e2657ee9726e5dd9b8b1f39fa94bb02c1f5cdb7
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Dec 7 13:27:46 +0000 2020

	libthread: simplify threadsetname()
	
	- open /proc/n/args with OCEXEC flag
	- reduce stack usage by using smaller buffer for path
	- format pid as ulong

Hash:	f1e15da8f550b12196d57e245437251f6eb289b5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Dec 7 13:24:51 +0000 2020

	libc: open internal file-descriptor with OCEXEC flag

Hash:	544bca0290df1dc512641a1ab23e184ccc2406b3
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Dec 7 13:23:41 +0000 2020

	rio: format pid's as ulongs

Hash:	ed3ae3faa3cbb9171890d6c963a8d86cdeffd96b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Dec 7 13:23:23 +0000 2020

	rio: open /dev/snarf with OCEXEC flag when writing

Hash:	c86a9608806b7d6bc95b68f1baa2e32451fd6ca8
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Dec 7 13:22:30 +0000 2020

	rio: simplify filsysinit() by using getuser(), format pid's as ulongs

Hash:	a92ffdbbfb3157d6fef23e3a8901c7ecdea68f1b
Author:	kvik <kvik@a-b.xyz>
Date:	Sun Dec 6 23:36:41 +0000 2020

	libndb: remove db file size limit
	
	Removes the 128 kB limit for files making up the database.
	We used to skip over and complain about files that exceeded
	the limit, forcing the user to generate hash files.
	
	This caused things to inexplicably stop working after a file
	hit the hidden limit, which is unreasonable behaviour considering
	that libndb happily, albeit slowly, works with bigger files.

Hash:	c924edb91ddb256ebe7a3654697494ac30eff8da
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Dec 6 21:06:32 +0000 2020

	merge

Hash:	23b52bbf23bcc3f7f64b4d3496993bee83f5f2eb
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Dec 6 21:05:00 +0000 2020

	pc64: assign fpsave/fprestore only once in fpuinit()

Hash:	d15439ee765ec027db49777ebd9760be20ba3b31
Author:	kvik <kvik@a-b.xyz>
Date:	Sun Dec 6 20:52:01 +0000 2020

	ptrap: implement filtering on plumb attributes

Hash:	cd38d4135633fd2dd9ce544aa3c2c86cf5078f8d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Dec 6 20:44:26 +0000 2020

	pc64: AMD64 mandates SSE support, remove the check in fpuinit()

Hash:	dcdb2bfb9ab915b9f18c36dc951ca421d97496a2
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Dec 6 20:28:11 +0000 2020

	xen: use pc/fpu.c

Hash:	8c1bde46f0aa97e9f018e7fb805f367e908fa379
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Dec 6 20:07:30 +0000 2020

	pc, pc64: move all fpu specific code from main.c to fpu.c

Hash:	dbbae6d38405cdd817f84e2ace104bb27963a246
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Sun Dec 6 19:28:53 +0000 2020

	xen: fix for the last avx changes

Hash:	97b32915334c700a8b282888481c7f37a6ae0442
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Sun Dec 6 18:40:57 +0000 2020

	amd64: FP: back to static size for allocation and copying

Hash:	334c5e1134719a02c35c72ec5435a967a74846f8
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Sun Dec 6 18:31:56 +0000 2020

	amd64: FP: always use enough to fit AVX state and align to 64 bytes

Hash:	66b6185845e85258f1408271d5f705aacfa6ffdb
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Sun Dec 6 17:48:32 +0000 2020

	amd64, vmx: support avx/avx2 for host/guest; use *noavx= in plan9.ini to disable

Hash:	753a35b52ac098985aff5e22a069d30d16903385
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Dec 6 14:08:23 +0000 2020

	rio: undo previous commit, was a stupid idea

Hash:	a0d12784bd6493e9e05c98a66d65837de82f8bda
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Dec 6 13:50:50 +0000 2020

	rio: give visual clue during sweep and bandsizing when window is too small
	
	We color the window border with a dark red in case the
	window is too small.

Hash:	bf2a6f786502026ce4229bc84a6a22e5e55a7c13
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Dec 6 13:44:23 +0000 2020

	rio: use libdraw's badrect() to exclude some extreme cases in goodrect()

Hash:	082560fd5b48ff4b8c0f6c9b093c86ddf75052f6
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Dec 6 12:20:29 +0000 2020

	rio: rewrite better portion() function

Hash:	f5d9b2222bc6194f35442894e0ca0ea9bb8e1f23
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Sun Dec 6 12:04:36 +0000 2020

	rio: handle corner selection for resizing better (thanks cinap)

Hash:	a696951c6cbad354373a820ed1d14e25697d1fa3
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Sun Dec 6 12:02:33 +0000 2020

	rio: goodrect: clarify minimal height and actually use the smallest reasonable value

Hash:	7f7c1516876a0afacca2822e3e083c79551ad92c
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Sun Dec 6 11:17:05 +0000 2020

	rio: allow windows as small as one line of text, still scrollable

Hash:	ecb12c87187a37a74f77aff45ffece9f7e985658
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Sun Dec 6 10:55:27 +0000 2020

	aux/status^(bar msg): few small fixes (thanks umbraticus)

Hash:	5d790e08ca051d74f2146014a4426bbc217680e8
Author:	Alex Musolino <alex@musolino.id.au>
Date:	Sun Dec 6 03:24:10 +0000 2020

	cwfs: fix interpretation of startdump argument

Hash:	abcc56afef59bfc98cff48c800735746ff04e486
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Dec 5 16:01:24 +0000 2020

	pc/dma, pc/sdide: use uintptr for physical address instead of ulong

Hash:	178a9d12c6ead437a85490764e9a5d92e1016d5d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Dec 5 15:59:30 +0000 2020

	pc, pc64: allocate dma bounce buffer right after xinit()

Hash:	99696c414ac1011a59aa4aeb03976c45b1d70856
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Dec 5 15:57:12 +0000 2020

	pc, pc64: exclude memory regions with unusual MTRR cache attributes
	
	Use the MTRR registers to exclude memory ranges that
	do not have the expected cache attributes:
	
	RAM -> writeback
	UMB -> uncached
	UPA -> uncached

Hash:	4ca5e1b3a33d49d0904b39477149517665a78d8a
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Fri Dec 4 08:33:55 +0000 2020

	faces: add -c option to remove faces with button 1 click (thanks sirjofri)

Hash:	4b6072e60fd76bd9e61d5eedd56faa57e09bc009
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Dec 1 23:57:21 +0000 2020

	merge

Hash:	1bce6d0981bff66b122ca49d7251e7e627af3c40
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Dec 1 23:56:21 +0000 2020

	libdraw: do not force flushimage() on freescreen()
	
	This causes visual flashes of white in rio. If it is
	really needed (it is rare) it should be done by the caller.

Hash:	7d55aa8a32112a689ad0d41b876efe335d0b1115
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Dec 1 23:53:58 +0000 2020

	rio: properly restore the windows contents on /dev/mouse close
	
	The previous resize optimization now means that the wfill()
	is skipped on resize for libdraw programs.
	
	So do it once /dev/mouse is closed and the window processes
	the Refresh message.

Hash:	e72958a5c1d15df420f077a11d3cd4fbd93f30f2
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Tue Dec 1 08:23:16 +0000 2020

	/lib/keyboard: Anführungszeichen uten (danke sirjofri)

Hash:	cf449063965d4727993882e977f656191d1346dc
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Tue Dec 1 07:44:18 +0000 2020

	/lib/keyboard: add fingers and more arrows (thanks umbraticus)

Hash:	2652cbee57edee453193d0bb58bba5d716cabe7b
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Mon Nov 30 21:13:49 +0000 2020

	proof: don't confuse ""(1) (thanks Stuart Morrow)
	
	"" looks for patterns in the form 'prompt;' or 'prompt%',
	and gets confused when proof emits 'illegal;'. This change
	replaces the ';' with a ':', which both matches other
	conventional error outputs and prevents "" from getting
	confused.

Hash:	07e8c324a87c42ec641d982d7d36142c2ae4ac00
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Mon Nov 30 15:41:49 +0000 2020

	tmdate(2): remove lies
	
	Initially the code tried to guess the date format. This
	turned out to be a bit too magical, so the feature was
	removed, but the manpage still documented the nonfeature.

Hash:	c931e96364ec6e587f9137e768ad0f9b70e2e9fa
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Nov 29 16:51:57 +0000 2020

	rio: avoid redrawing window text on resize for programs using libdraw
	
	As long as the client as the mouse file open
	and maintains reading the winname file of the window
	after a resize we will avoid drawing the text frame
	on a resize as it will be overdrawn by the client.
	
	This reduces flicker on resize somewhat for slow systems.

Hash:	1d93a5628adc0f08463fe4272dc88fb0f61e631d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Nov 29 16:43:22 +0000 2020

	pc, pc64, xen: rewrite interrupt handling code
	
	This implements proper intrdisable() support for all
	interrupt controllers.
	
	For enable, (*arch->intrassign)(Vctl*) fills in the
	Vctl.enable and Vctl.disable pointers with the
	appropriate routines and returns the assigned
	vector number.
	
	Once the Vctl struct has been linked to its vector
	chain, Vctl.enable(Vctl*, shared) gets called with a
	flag if the vector has been already enabled (shared).
	
	This order is important here as enabling the interrupt
	on the controller before we have linked the chain can
	cause spurious interrupts, expecially on mp system
	where the interrupt can target a different cpu than
	the caller of intrenable().
	
	The intrdisable() case is the other way around.
	We first disable the interrupt on the controller
	and after that unlink the Vctl from the chain.
	On a multiprocessor, the xfree() of the Vctl struct
	is delayed to avoid freeing it while it is still
	in use by another cpu.
	
	The xen port now also uses pc/irq.c which has been
	made generic enougth to handle xen's irq scheme.
	Also, archgeneric is now a separate file to avoid
	pulling in dependencies from the 8259 interrupt
	controller code.

Hash:	32a5ff9658cfa2d0d15cecf3b2a27be6b0742227
Author:	Alex Musolino <alex@musolino.id.au>
Date:	Sat Nov 28 12:33:44 +0000 2020

	games/mix: fix decoding of shift instructions

Hash:	2619be4d4d175a1ad4782bcd298b8ff37141135d
Author:	Alex Musolino <alex@musolino.id.au>
Date:	Sat Nov 28 12:32:28 +0000 2020

	games/mix: fix SLAX and SRAX instructions (thanks nicolagi)
	
	MIX shift instructions shift by bytes not bits.

Hash:	0b9c6fa117c3fe571aed497579b3340b2f8a1164
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Fri Nov 27 09:51:16 +0000 2020

	fplot: add hyperbolic functions

Hash:	c696998ec30d10043258ac91a0c9c52f80102773
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Fri Nov 27 09:35:57 +0000 2020

	fplot(1): use abs()

Hash:	df18213ce319be83502a281cdbc590bcf59ab6e7
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Fri Nov 27 09:34:16 +0000 2020

	fplot: add abs

Hash:	68c4119ae738cd7b581bd0105249fef77b9af76f
Author:	Alex Musolino <alex@musolino.id.au>
Date:	Fri Nov 27 00:58:25 +0000 2020

	merge

Hash:	2a907fd4597d57d94fdf573f37c1d553318a7104
Author:	Alex Musolino <alex@musolino.id.au>
Date:	Fri Nov 27 00:49:49 +0000 2020

	games/mix: fix implementation of MOVE instruction (thanks nicolagi)
	
	Plan 9 memcpy(2) uses the same implementation as memmove(2) to handle
	overlapping ranges.  Hovewer, the MIX MOVE instruction, as described
	in TAOCP, specifically does not do this.  It copies words one at a
	time starting from the lowest address.
	
	This change also expands the address validation to check that all
	addresses within the source and destination ranges are valid before
	proceeding.

Hash:	7dcc3eb27a449eb72a66a915b18d7376c8d0e0e9
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Thu Nov 26 19:18:41 +0000 2020

	kbmap/neo2: add support for neo2 kbmak (thanks jstsmthrgk)

Hash:	781a8f8d9f50221dc34c0dab5baf48e197444269
Author:	Alex Musolino <alex@musolino.id.au>
Date:	Wed Nov 25 09:24:52 +0000 2020

	upas: fix mk nuke

Hash:	e60216c2b70095dab043bf5e2473ec79a402d3bc
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Mon Nov 23 01:42:25 +0000 2020

	g: fix typo in last commit

Hash:	bd6747ccd0aa564923460d27179592b4e185bfa1
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sun Nov 22 19:36:23 +0000 2020

	upas/*: fix mkfile issues (thanks amavect)
	
	Fixes 3 issues in our upas mkfiles:
	- mk/mkfile and send/mkfile were rebuilding
	  only the rfc822.tab.$O, even though the
	  header also needed to be rebuilt.
	- CLEANFILES had a pattern that  would not
	  get expanded.
	- Third, ../upas/mkfile was being included
	  in the wrong place and making the wrong
	  rule default.

Hash:	a041c90431c5987496ac1d5de4f330f70fd2966f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Nov 22 16:44:21 +0000 2020

	pc, pc64: move common irq handling code out of trap.c
	
	Move the common irq handling code out of trap.c
	into pc/irq.c so that it can be shared between 386
	and amd64 ports.

Hash:	97008caa4174cee3dd849d9962c529897717e333
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sun Nov 22 05:23:46 +0000 2020

	g: filter directory arguments
	
	When searching directories recursively, it's still
	desirable to filter the contents by the file pattern,
	so that 'g foo /sys/src' doesn't end up searching for
	foo within .$O files.
	
	Files passed explicitly are still searched, so for the
	old behavior, just use walk:
	
		g foo `{walk -f $dir}

Hash:	d1dc287210afd73705c21675dcbaa4eaf997fdde
Author:	mischief <mischief@offblast.org>
Date:	Sat Nov 21 22:55:33 +0000 2020

	9boot(8): update manual to reflect efi loader search order changes
	
	the efi loader now looks for plan9.ini and the kernel in the ESP
	first, before looking elsewhere.

Hash:	486ce605467693526541c0d46dffc25478751411
Author:	mischief <mischief@offblast.org>
Date:	Sat Nov 21 22:18:52 +0000 2020

	efi: prefer plan9.ini from ESP we loaded from
	
	currently the EFI loader's behavior is to search all disks in a
	firmware-defined order.  we search the list returned by the firmware
	in reverse order in the hopes of searching the first 9FAT instead of
	the ESP, but this results in unintuitive behavior when there are
	multiple FAT partitions (possibly in multiple disks), such as loading
	a plan9.ini and kernel from a different disk than the one you executed
	the EFI loader from.
	
	to resolve this, we change the EFI loader to instead prefer read
	plan9.ini and the kernel from the same disk as the EFI loader was read
	from, and then fall back to the old behavior, since the old behavior
	is relied on by current installations.

Hash:	ad9b1234c365919fa9d8cdb3008b4d42acf37c60
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sun Nov 22 01:56:34 +0000 2020

	dc: fix crashes with : operator (thanks istvan bak)
	
	dc crashes because a Blk* sometimes ends getting double freed.
	To make it crash, any of these lines will do:
	(each line is a separate input to dc):
	
	1 sa 2 :a le d sa v :a
	1 sa 2 :a le d sa :a
	1 sa 2 :a le d sa c
	
	Fix by assigning p to sptr->val before EMTPY causes a jump.
	
	Additionally, dcgetwd() can return 0. all other uses check for
	0 ptr; Also fix a buffer overflow.

Hash:	03f209427b97f100a55fb490f8bc0332eda2db95
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sun Nov 22 00:13:20 +0000 2020

	upas: make 'all' the default target
	
	When consolidating the duplicated targets, the
	one that actually got built ended up arbitrary.
	Put in a 'default' target that runs 'mk all'.

Hash:	6dd605dbe273c97f522102ba0324a985583eb86a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Nov 21 22:15:19 +0000 2020

	pc, pc64: fix grub multiboot
	
	It appears that our IDT overlaps with the data structures
	passed from grub in multiboot load.
	
	So defer setup of the interrupt table after the multiboot
	parameters have been processed.

Hash:	59308f15dd6b375de6ed94f7d50c7a1053e3b7c9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Nov 21 21:04:15 +0000 2020

	merge

Hash:	b438fd9d099f0f8f27e2209a82751ba7e858759a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Nov 21 21:03:13 +0000 2020

	ether8169: fix interrupt panic before init, defer initialization until attach
	
	The driver used to register the interrupt handler just
	after reset, tho the Ctlr struct, including the buffer
	descriptor arrays where only allocated on attach.
	
	This moves most of the reset/init out of pnp
	function and into attach. This also means we can
	error out and even retry on the next attach.
	
	The logic of the reseter kproc has been changed:
	now it is only started once the first initialization
	completely succeeded. This avoids the strange qlock
	passing.
	
	Implement a shutdown function so the device gets
	halted for /dev/reboot.
	
	Assume 64 bit physical addresses for dma.
	
	Check that pci bar0 is actually I/O.

Hash:	0f56fefd45ab50ddc28c062b492b64a17c26e08a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Nov 21 20:48:25 +0000 2020

	pc, pc64: implement disabling of msi interrupts

Hash:	f8738fd7578af0ce3552bc9da65502397b9faad3
Author:	mischief <mischief@offblast.org>
Date:	Sat Nov 21 20:31:54 +0000 2020

	nusb/kb, nusb/joy: dont try to set protocol on nonboot devices
	
	the hid 1.11 specification says that for hid devices which arent in
	the boot subclass (subclass 1), it is only optional to support the set
	protocol command.  for my devices, trying to set protocol results in a
	stall error and unusable devices.
	
	fixes my Tex Shinobi keyboard and Playstation 4 controller.

Hash:	2594b99629957d8ce380157e9af4a5feff86c5fe
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Nov 21 15:26:46 +0000 2020

	pc, pc64: new MTRR code supporting AMD TOM2 MSR and fixed mtrr ranges
	
	The new MTRR code handles overlapping ranges
	and supports AMD specific TOM2 MSR.
	
	The format in /dev/archctl now only shows
	the effective cache ranges only, without
	exposing the low level registers.

Hash:	e6684dbfda0507565f44967680b850b35a5b4f93
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Nov 21 15:17:20 +0000 2020

	pc, pc64: disable all pci devices for /dev/reboot
	
	Make sure all pci busmaster activity is disabled,
	including MSI/MSI-X interrupts, before switching
	control to the new kernel.

Hash:	c5d08a602c35ac24b7c7ccfe5b53c8dfa12ef94e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Nov 21 15:10:56 +0000 2020

	pc, pc64: disable all pci devices in pcicfginit()
	
	Make sure all pci busmaster activity is disabled,
	including MSI/MSI-X interrupts. Drivers will later
	reenable once taking control of a device.

Hash:	1376d39ef1194c76e97035a1af110a59e4ad8257
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Nov 21 15:02:21 +0000 2020

	kernel: add portable pcimsienable()/pcimsidisable(), disable MSI/MSI-X on pcidisable()/pcireset()
	
	This avoids some duplication in the pci support code and
	allows pcireset() to diable MSI and MSI-X interrupts
	when disabling or reseting a device.

Hash:	cedded7b50e91344eb469efee354ee8682e33cf3
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Nov 20 23:45:44 +0000 2020

	etherm10g: remove duplicated pci capability enum

Hash:	da54e4bfc29443fb96d89a39b2eeb8e9e6a34de1
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Nov 20 23:41:57 +0000 2020

	kernel: remove unused pcinextcap() function

Hash:	9f054063ec0f092f0fd0470a704650e4e761e4d7
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Nov 20 23:06:55 +0000 2020

	pc/l.s: remove unsued m0gdtptr/m0idtptr structs

Hash:	ef2fdb6fdd012722394f5dd75ecdf1ffb1193db6
Author:	Anthony Martin <ality@pbrane.org>
Date:	Fri Nov 20 07:05:26 +0000 2020

	awk: fix truncated input after fflush
	
	Before the "native" awk work, a call to the fflush function resulted
	in one or more calls to the APE fflush(2).
	
	Calling fflush on a stream open for reading has different behavior
	based on the environment: within APE, it's a no-op¹; on OpenBSD, it's
	an error²; in musl, it depends on whether or not the underlying file
	descriptor is seekable³; etc. I'm sure glibc is subtly different.
	
	Now that awk uses libbio, things are different: calling Bflush(2) on a
	file open for reading simply discards any data in the buffer. This
	explains why we're seeing truncated input. When awk attempts to read
	in the next record, there's nothing in the buffer and no more data to
	read so it gets EOF and exits normally. Note that this behavior is not
	documented in bio(2). It was added in the second edition but I haven't
	figured out why or what depends on it.
	
	The simple fix is to have awk only call Bflush on files that were
	opened for writing. You could argue that this is the only correct
	behavior according to the awk(1) manual and it is, in fact, how GNU
	awk behaves⁴.
	
	1. /sys/src/ape/lib/ap/stdio/fflush.c
	2. https://cvsweb.openbsd.org/src/lib/libc/stdio/fflush.c?rev=1.9
	3. https://git.musl-libc.org/cgit/musl/tree/src/stdio/fflush.c
	4. https://git.savannah.gnu.org/cgit/gawk.git/tree/io.c#n1492

Hash:	808acd51f4e78d8883b81a3df6eb1fe1b61bd903
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Wed Nov 18 19:14:26 +0000 2020

	tmdate(2): failed to (p)arse

Hash:	23620bb1dbbf80f07a156d3f1fe1e74d5f4d61ba
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Wed Nov 18 19:11:55 +0000 2020

	ctime(2): add tmdate(2) to "see also"

Hash:	1e3dd86128928c8b2c4a4bced4398139eadfa4f0
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Wed Nov 18 02:37:38 +0000 2020

	upas/*: cleanup mkfiles (thanks amavect)
	
	Changeset 50ad211fb12f broke the libcommon rule in
	mkupas. Deleting the 'mk clean' in the recipe fixes
	this.
	
	Cleanup includes deleting UPDATE vars from all mkfiles,
	reorganization of vars in TARG,LIB,OFILE,HFILE order,
	and deletion of extra vars used for UPDATE.

Hash:	972f95aa637ed70a65e0e90d2e589b58a81d8a59
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Nov 17 22:30:09 +0000 2020

	pc, pc64: load idt early in trapinit0()
	
	loading the interrupt vector table early allows
	us to handle traps during bootup before mmuinit()
	which gives better diagnostics for debugging.
	
	we also can handle general protection fault on
	rdmsr() and wrmsr() which helps during
	cpuidentify() and archinit() when probing for
	cpu features.

Hash:	8cb33f2f18d8383fd78368110b3a78c7732da6f9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Nov 17 22:18:08 +0000 2020

	pc/l.s: load virtual gdt pointer after mmu switch
	
	before removing the double map at 0, load our
	initial gdt pointer with its new KZERO based
	virtual address.
	
	this is prerequisite for handling traps early during
	bootup before mmuinit() loads the final gdt.

Hash:	e8111e517d0129f33594c4718691e41ced0b2018
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Nov 16 18:56:13 +0000 2020

	nusb/cam: don't videoclose() when open failed
	
	The fsdestroyfid() is called regardless if the open succeeded
	or failed. This causes erroneous videoclose() when opening
	the frame or video file while the camera is active.

Hash:	fc36bf0711654fa841750f69615112eb4a047e87
Author:	kvik <kvik@a-b.xyz>
Date:	Mon Nov 16 18:19:37 +0000 2020

	diff: fix change marker for -c mode

Hash:	3fbcc5f4105f6add14d705ba46b684085e7e4e79
Author:	kvik <kvik@a-b.xyz>
Date:	Mon Nov 16 10:45:05 +0000 2020

	ptrap: fail if invoked with no arguments

Hash:	b80975da8b71c883c4aa578777e58b6c0c0821fb
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Nov 15 21:47:45 +0000 2020

	aux/cpuid: fix final newline on printbits()

Hash:	3f835565d5a8366ebb48fd611d3cd902db766b93
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Nov 15 13:54:09 +0000 2020

	etheriwl: bring back recovery on flushq timeout

Hash:	2a946b24a6b9ff38a33e27d54b46dbb898373267
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Nov 15 13:34:17 +0000 2020

	audiohda: do not enable interrupts before intrenable()
	
	When using /dev/reboot, the MSI vecor might have already
	been setup causing interrupts to fire on the designated
	cpu while we send the commands to the card.

Hash:	0c846e605b33e86a35dd6562df168a8b1a6beeae
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Nov 10 23:55:53 +0000 2020

	audiohda: reset irbsts bits in hdainterrupt() (thanks LordCreepity)
	
	reseting irbsts bits in hdacmd() only works
	while interrupts are disabled during hdareset().
	once interrupts are enabled we need to reset the
	irbsts bits in the interrupt handler or else the
	interrupt never clears and locks up the system.

Hash:	e543995bba25daacf2c7f1a9ff3ceee87bc5deee
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sun Nov 8 22:21:14 +0000 2020

	imap4d: imap4date should ignore time and timezone (RFC3501, 6.4.4)

Hash:	30b7ca54c38e7229c32ec80df2c56bae9a5e5263
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sun Nov 8 17:34:39 +0000 2020

	pop3(1): write options consistently
	
	The pop3 options were prefixed with a '-'; the
	imap4d options were not. Proofreading, foolks.

Hash:	4257a5292af5a9a3ff8fbbc76a00fdeffc75bfd2
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sat Nov 7 02:15:15 +0000 2020

	upas/marshal: add -S saveto to save outgoing mail, fix -F
	
	Upas/marshal -F was broken with the '-8' command, and silly
	without it: It used aliases passed on the command line, so
	the destination address was ignored with -8 was passed.
	
	In addition, it would create a new mailbox for any aliases
	being sent to, instead of putting them all in one location.
	
	The new -S option is similar to -F, but specifies where the
	message should go.

Hash:	6f15a730f351b75f24286cb937a96db1ee9e5b82
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Nov 4 22:09:47 +0000 2020

	merge

Hash:	6cc223ee56e5f0aa20dfc6f51b70607b5b14cf5f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Nov 4 22:08:52 +0000 2020

	pc/pc64: fix faulty mtrr slot reuse (thanks Fulton)
	
	The change 3306:c5cf77167bfe made the code reuse MTRR slots
	of the default memory type.
	
	But this did not take overlapping ranges into account!
	
	If two or more variable-range MTRRs overlap, the following rules apply:
	
	a.	If the memory types are identical, then that memory type is used.
	b.	If at least one of the memory types is UC, then UC memory type is used.
	c.	If at least of of the memory types is WT. and the only other memory type
		is WB, then th WT memory type is used.
	d.	If the combination of memory types is not listed above,
		then the memory type used in undefined.
	
	It so happend that on a Dell Latitude E7450 that the BIOS defines
	the default type as UC. and the first slot defines a 16GB range
	of type WB. Then the rest of the ranges mark the PCI space back
	as UC, but overlapping the first WB range! This works because
	of rule (B) above.
	
	When trying to make the framebuffer write-combining, we would
	falsely reuse one of the UC sub-ranges and making the UC memory
	into WB as a side effect.
	
	Thanks to Fulton for his patience and providing debug logs and
	doing experiments for us to narrow the problem down.

Hash:	9cca88895e31c73d4d0793dd83f76ebd24456cdd
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Nov 3 19:47:14 +0000 2020

	merge

Hash:	0ba91ae22a06af3a7561db15973dd98f715cc9eb
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Nov 3 19:46:09 +0000 2020

	pc, pc64: allocate i/o port space for unassigned pci bars, move ioalloc() to port/iomap.c
	
	With some newer UEFI firmware, not all pci bars get
	programmed and we have to assign them ourselfs.
	
	This was already done for memory bars. This change
	adds the same for i/o port space, by providing a
	ioreservewin() function which can be used to allocate
	port space within the parent pci-pci bridge window.
	
	Also, the pci code now allocates the pci config
	space i/o ports 0xCF8/0xCFC so userspace needs to
	use devpnp to access pci config space now. (see
	latest realemu change).
	
	Also, this moves the ioalloc()/iofree() code out
	of devarch into port/iomap.c as it can be shared
	with the ppc mtx kernel.

Hash:	97de3f67c230a34d95778cc16a8c1003148f0b4b
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Mon Nov 2 21:12:34 +0000 2020

	upas/common: delete library on 'mk clean'
	
	libcommon.a$O doesn't end with a .a, so mk
	doesn't know how to look inside it in order
	to check if the files are up to date.
	
	This means that when 'mk clean' is run,
	libcommon.a$O looks up to date:
	
		% mk clean
		...
		% mk
		mk: 'default' is up to date
	
	Deleting the library works around this problem.

Hash:	aad55ccc2d1e4004574ce96389ee8e5cd9bb2444
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Nov 2 19:53:20 +0000 2020

	mtx: fix pci access routines (see changeset 8012:78891f472fbf)

Hash:	33fb16c9fe7744aae8736bb4b48ba4e0f505eafc
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Mon Nov 2 16:29:05 +0000 2020

	profile: don't create $wsys if it doesn't exist
	
	When $wsys doesn't exist (eg, drawterm -G, or
	rcpu from a text console), the profile would
	create an empty $wsys variable, and sessions
	started in this environment would fail with a
	null list in concatenation.
	
	This change tests if /mnt/term/env/wsys exists
	before assigning it.

Hash:	f4d206737342feec31086a8f3ca6866506a2e0b5
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Mon Nov 2 10:46:50 +0000 2020

	audio/wavdec: add -s option

Hash:	a4c6dc1d3d3a2ef3ec4d4ac49b16ec039c353cd7
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Nov 2 00:14:30 +0000 2020

	aux/realemu: use #$/pci/B.D.Fraw to access pci config space
	
	This prevents VESA bios from accessing the pci
	CONFIG_ADDRESS/CONFIG_DATA registers (0xCF8/0xCFC)
	directly to access pci config space.
	
	This makes sure the access to pci config space is
	properly serialized by the kernel.

Hash:	2063019560c6a3154e6ef0e6e9f24d70c8ba09da
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Nov 2 00:01:48 +0000 2020

	vmx: mask out bits 0:2 and 24:30 of pci CONFIG_ADDRESS on read
	
	These bits are reserved, and by the specification,
	must return zero on read.
	
	This is also used by plan 9 for detecting config mode #1.

Hash:	d75d842cf576cb4785f89c5f5b73a4f73170001b
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sun Nov 1 19:56:26 +0000 2020

	rc: show line numbers on error
	
	This change provides a location for errors
	like 'null list in concatenation'.

Hash:	dbd54342fd66fd372f5c2edd1597019814f41c9c
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sun Nov 1 19:42:54 +0000 2020

	libbio: add aux pointer to bio
	
	This allows us to attach additional context
	to the biobuf so can read from some sort of
	data structure without a global variable.

Hash:	b5086c1863fe10faf48ab675f503e562ec8dfcf0
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sun Nov 1 19:23:39 +0000 2020

	libc: recurse on smaller half of array
	
	Our qsort has an optimization to recurse on one
	half of the array, and do a tail call on the other
	half. Unfortunately, the condition deciding which
	half of the array to recurse on was wrong, so we
	were recursing on the larger half of the array and
	iterating on the smaller half.
	
	This meant that if we picked the partition poorly,
	we were pessimizing our stack usage instead of
	optimizing it.
	
	This change reduces our stack usage from O(n)
	to O(log(n)) for poorly chosen pivots.

Hash:	51b22d8548e61d3807b8b94e09d84f116ca0eb1c
Author:	Alex Musolino <alex@musolino.id.au>
Date:	Sat Oct 31 05:14:49 +0000 2020

	jpg: treat EOF as EOI marker
	
	Some jpegs, rightly or wrongly, do not contain an EOI marker.  This
	causes jpg(1) to bail out even after correctly parsing the entire
	image.

Hash:	31eb1b9d724ab8395d1191db083cabbb0d8b3bbe
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Fri Oct 30 20:23:16 +0000 2020

	vt: improve behavior of chording
	
	vt chording behaves slightly differently from other
	applications: a chord must be fully released before
	the next chord can be applied. This makes any change
	in chord apply the action.

Hash:	5f2cf12f3844eb083042eb7648cbbca87d22a236
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Oct 29 17:26:35 +0000 2020

	ip/cifsd: fix missing int return type for vpack() (thanks pr)

Hash:	d541c7bfd32e007d9556befac2f26776a8dccc10
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Thu Oct 29 10:27:26 +0000 2020

	aux/cpuid: decode leaf 7; extend leaf 13 decoding

Hash:	02053924100ddb8617f2d3cbd5b3d5e842cef8c3
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Oct 27 14:16:03 +0000 2020

	audiohda: make it work with qemu (thanks mischief)
	
	the driver was not using irb interrupts
	and was just polling the irb write pointer
	to wait for command completion.
	
	this is not supported by qemu.
	
	qemu requires the use of irb interrupt handshake
	and it refuses to accept the next command until we
	acknowledge the irb interrupt.

Hash:	950d970671a9432a5525dc3781a9095c04a50331
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Oct 25 21:27:30 +0000 2020

	ip/tinc: fix reportedge()
	
	supplying a non-ip address in ADD_EDGE crashes the unix tincd.
	
	the reason was that we where misreporting ADD_EDGE messages;
	ignoring the information from our peers; and always supplying
	the Address string from our configuration instead of the
	connections ip address.
	
	now we just report the edge information as is.

Hash:	9bb519ac5023238572e31dd69d4f6dc3f45dfa26
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sun Oct 25 01:24:59 +0100 2020

	mp(2): correct documentation of error handling (thanks LordCreepity)
	
	The documentation for mp(2) claimed we'd return nil on error, when
	we actually sysfatal. This corrects the documentation to match our
	actual behavior.

Hash:	d9f201af498e787ea0394e9cd14ce4e97c404a71
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Oct 24 23:49:29 +0100 2020

	kbmap: add latvian keymap (thanks freddy)

Hash:	be32b44a9a162fa84890c6ca85196776d73288d9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Oct 24 23:46:56 +0100 2020

	kbmap: add croatian kbmap (thanks skerbergs)

Hash:	ebd23e51ebc739f1c075d791ea9b25f81dbb76bc
Author:	Alex Musolino <alex@musolino.id.au>
Date:	Fri Oct 23 08:21:03 +0100 2020

	newuser(8): fix reference to incorrect file server console command

Hash:	55945f6f24cb05470e427e4c48ab12612971f97d
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Thu Oct 22 23:16:47 +0100 2020

	vmx/vga: fix allocimage leaks

Hash:	19273fdee305cb0ddd75ce1ea9c126846524c83f
Author:	khm <devnull@localhost>
Date:	Thu Oct 22 21:46:00 +0100 2020

	upas/fs/mbox.c:  fix cosmetic typo

Hash:	797a5ac470e8d43140a81f27e16fc4bf162efa65
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Wed Oct 21 11:06:25 +0100 2020

	libaml: add (nop) "signal" op

Hash:	78bed738e1a8c3bbffaa4de6015187741cc384ac
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Mon Oct 19 03:30:14 +0100 2020

	vncv: pick an auth type that we support
	
	We used to pick the highest auth type regardless of whether
	we supported it. Now we filter down to types that we support.

Hash:	87385accde5dd15a6858b8157a313f069884c9bf
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Oct 19 00:20:29 +0100 2020

	sdiahci: accept AHCI controllers from ASMedia vendor id (thanks mischief)

Hash:	a5764f8181d4e13f7e4b93c2565f0663b2fbc436
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Oct 18 22:39:07 +0100 2020

	pc, pc64: remove mystery "type" bits in pcicfgrw*raw() (fixes qemu, thanks mischief)
	
	the access functions for pci config space in config mode #1
	used to set bit 0 in the register offset if the access was
	to a device on any bus different from 0.
	
	it is completely unclear why this was done and i can't find
	any documentation on this.
	
	but for sure, this breaks all pci config spacess access to
	pci devices behind a bridge on qemu. with -trace pci* it
	was discovered that all config space register offsets on
	devies behind pci brige where off by one.
	
	on real hardware, setting bit 0 in the offset doesnt appear
	to be an issue.
	
	thanks mischief for reporting and providing a qemu demo
	configuration to reproduce the problem.

Hash:	d1604b5f9ce1d64919a8b8313e1db22ebd8d5213
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Oct 18 16:02:42 +0100 2020

	sdnvme: use PCIWADDR() instead of PADDR()

Hash:	96e9f3707cdc0b76e019f444c24869fecc7b5a21
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Oct 18 16:01:50 +0100 2020

	etherbcm: handle 64-bit host addresses, use PCIWADDR() instead of PADDR()

Hash:	30417c12fdedc608f75eeba0d18454d6d81833a3
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Oct 18 16:00:04 +0100 2020

	audiohda: use PCIWADDR() instead of PADDR(), handle 64-bit dma addresses

Hash:	83efe2f157743feb3f5b6bbb1e34ee56ab3a6dad
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sun Oct 18 15:50:07 +0100 2020

	etheriwl: delay before crystal calibration
	
	On my 6235 card, if we calibrate the crystal
	immediately after disabling wimax, the the
	firmware gets unhappy. A short nap before
	sending the command prevents the command from
	timing out.

Hash:	98c07541bb2f769253d6077c8f6acc002c831186
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sun Oct 18 03:27:21 +0100 2020

	nusb/serial: add ids for FT230X (thanks mischief)

Hash:	90601f6e472ad42140ded78ab116a6b214cd871f
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sun Oct 18 03:04:17 +0100 2020

	merge

Hash:	a41b74059bcb40e7fc37f3da72758b89cde4c437
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sun Oct 18 02:59:36 +0100 2020

	upas: fix appendfolder timestamps (thanks umbraticus)
	
	When moving messages between folders, mbappend,
	deliver, and nedmail were trying to parse the
	timestamp ouut of the message. They were doing
	it incorrectly, trying to include the user name
	as part of the date format.
	
	Change to pass just the date to the date parser.

Hash:	3cfa8326b878e3eacce5595f6b839b4650c61621
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Oct 18 02:05:35 +0100 2020

	etheriwl: don't break controller on command flush timeout
	
	ori and echoline are reporting regression on some 6000 cards;
	which sometimes time out on crystal calibration command;
	which is expected by the driver. but the new code used
	to force a device reset on any command timeout.
	
	reverting to old behaviour until for now until we have
	a chance investigating.

Hash:	cf8ff0e71369afdf600e36924c2d046ecf783cbf
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Oct 18 01:51:32 +0100 2020

	sdnvme: handle machines with more cpu's than submit queues (thanks mischief)
	
	We used to assume a 1:1 pairing of processors to submit queues.
	With recent machines, we now got more cpu cores than what some
	nvme drives support so we need to distribute the queues across
	these cpu's which requires locking on command submission.
	
	There is a feature get/set command to probe the number of submit
	and completion queues, but we decided to just handling
	submission queue create command error gracefully as it is simpler
	and has less chance of regression with existing setups.
	
	Thanks to mischief for investigating and writing the code.

Hash:	5fd2e746e1a2a00d2acbc0c3b1924b1ea22101e8
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Oct 17 20:30:10 +0100 2020

	merge

Hash:	0b094303f3e30007fd9fccc3df81f44cf2c49003
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Oct 17 20:28:56 +0100 2020

	ndb/dnsdebug: add -c flag to debug caching dns server behaviour

Hash:	bf187247380252d3f79ad7089251600b7535815e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Oct 17 20:28:25 +0100 2020

	ndb/dns: mark ns record authoritative when in our area for delegation
	
	I have the problem that i need to delegate a subdomain
	to another name server that is confused about its own zone
	(and its own name) returning unusable ns records.
	
	With this, one can make up a nameserver entry in ndb that
	is authoritative and owned by us for that nameserver,
	and then put it in the soa=delegated ns entry.
	
	This promotes the ns record in the soa=delegated to
	Authoritative, which avoids overriding the ns rr's from
	the confused server for the delegated zone.

Hash:	dfbf774bbba142ef4286c4e230475e5eedcf46d6
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Thu Oct 15 09:30:40 +0100 2020

	games/nes: workaround for truncated chr

Hash:	d310da13ba8d31c84978f96f542b9929a4e54ed8
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Oct 12 01:03:52 +0100 2020

	ip/torrent: try harder allocating ports
	
	we used to only allocate ports from 6881 to 6890,
	which limits the maximum of parallel torrents to 9.
	
	this change make it go up to 9000, which gives us
	at best 2120 ports, which is overkill but ports might
	be randomly occupied by other connections.

Hash:	3e880cd07d5d51005e48b7ea261a1419b84f134d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Oct 11 13:59:49 +0100 2020

	upas/fs: fix truncation of plumb date
	
	the new date format introduced by the previous commit;
	using numeric timezone offsets; needs one character more,
	so increase the date format buffer to 31 characters.

Hash:	c7598b18f34bef66f56f87b28bda81465624e219
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Oct 9 21:05:32 +0100 2020

	kernel: get rid of unused ucallocb
	
	the whole idea of a ucallocb() is bad, as even access to the
	metadata header would be in uncached memory. also, it tuns out
	that it was never used by anyone.

Hash:	4a75ad5ec8a3a6990901aa5e814ee38964d158f8
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Fri Oct 9 15:47:34 +0100 2020

	vmx: add Kmod4

Hash:	53234798c06dbac52c8717b7eab9cb4a126fe846
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Mon Oct 5 22:10:12 +0100 2020

	etheriwl: add Wireless 8260 card
	
	After the latest tweaks to the order of operations,
	the card works.

Hash:	204a96f163641de8ebca76a0b0873412b3b333aa
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Oct 5 21:43:25 +0100 2020

	merge

Hash:	d49b9e1b845f0f815a87b2404bc351c1fdd8cd1b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Oct 5 21:42:13 +0100 2020

	etheriwl: remove stations *after* disabling binding quotas, drain all queues in rxoff7000()

Hash:	6f76d0030034303e753e359c05a7d630bbb42aed
Author:	kvik <kvik@a-b.xyz>
Date:	Sun Oct 4 21:45:22 +0100 2020

	rio: move the code for 'send' into a function
	
	Makes the code a bit nicer and allows reusing wsend() in patches.

Hash:	2aff96f17c4127617a48f75032c13e19cd3eb4a9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Oct 4 20:10:53 +0100 2020

	etheriwl: add for Intel Wireless-AC 9260
	
	the 9000 series uses a new receive descriptor format
	wich appears to reqire 4k aligned buffers. the old
	format "halfworks" and just makes the firmware not
	respond to any commands after the enable paging command.
	
	the smartfifo command appears to causes problems.
	but apparently not issuing it at all seems to work
	fine on both the 8265 and 9260. so removing the code
	for now.
	
	issuing the bindingquota command before associated
	makes association impossible. but enabling afterwards
	works fine. (tested in 8265 and 9260).
	
	the prph access functions now mask the address with
	0xfffff. it is unclear why linux and openbsd drivers
	specify addresses beyond that in ther register constants.
	
	the timeevent change is interesting. the timeevent
	needs to be restarted when it has stoped to make sure
	probing/association packets are sent during the evnet.

Hash:	fa1d6ffd83a6f9de19632c43c46412c8a41b4cc5
Author:	kvik <kvik@a-b.xyz>
Date:	Thu Oct 1 16:47:52 +0100 2020

	bootrc: allow kbmap to be set via plan9.ini (thanks Aaron Bieber)

Hash:	c63cd980a4f9d00360d63f61880e12c677bf4b70
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Tue Sep 29 15:28:47 +0100 2020

	acme: revert stray changes
	
	forgot I had local changes when testing, re-revert scrolling.

Hash:	fb42cf0dda78d6a54511d1bf848f1db383591b07
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sun Sep 27 17:43:43 +0100 2020

	vncv: implement rfb 3.8 protocol (thanks Iruatã)
	
	Gnome and bhyve's VNC servers implement the RFB 3.8
	protocol, so we need to support it in the client in
	order to connect.

Hash:	16766169e2f3f7d2805cd3401bf316471d6e8756
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sun Sep 27 04:47:17 +0100 2020

	aux/vga: eepc igfx support (thanks p.kosyh)
	
	This patch to makes 1024x600x32 work. Without it
	only 800x600 is supported.
	
	To load this mode, run:
	
		aux/vga -m eeepc -l 1024x600x32

Hash:	d9f9e10e7b3ad61342ec1d9b034dd17f8452ccbc
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sat Sep 26 19:20:42 +0100 2020

	upas: convert to tmdate, change timezone format
	
	Complete the conversion of upas to remove ctime,
	use the new date library, and print time zones
	in +hhmm format, instead of NNN format.
	
	This may affect code that expects specific names
	for timezones. Fix that code.

Hash:	9afa5550f7497f84fb157ba07ff94301dbe06bcc
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sat Sep 26 05:22:47 +0100 2020

	tmdate(1): fix missing arg, fix formatting (thanks joe9)

Hash:	eb6b1e672c33a9dce0de368a0e954b801f2035d3
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sat Sep 26 00:51:08 +0100 2020

	merge

Hash:	022bc980b88ca6c06df2f4055ecc0b62231f01ea
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sat Sep 26 00:32:32 +0100 2020

	tmdate(2): fix mistakes in prototype (thanks moody)

Hash:	878911b628207d05a1cf829235e61112bcae59f5
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Fri Sep 25 09:28:25 +0100 2020

	aux/acpi: connect EC region handler, fixes battery status on eeepc 1000px (thanks Peter Kosyh)

Hash:	2968225196d6078203e88d26572a51216f545c1d
Author:	kvik <kvik@a-b.xyz>
Date:	Wed Sep 23 16:17:52 +0100 2020

	syscall: fix build problem caused by stale tab.h
	
	Recently the script which generates tab.h and the code including it got
	incompatibly changed.  People reported problems involving syntax errors
	when trying to rebuild the system following a sysupdate.
	
	The problem was with the script being embedded within a mkfile rule,
	meaning that mk didn't notice it changing and therefore didn't rebuild
	the target file.  For people who were rebuilding the system this meant
	that the old tab.h got included, causing syntax errors.
	
	This patch moves the codegen script into a file and tells mk about this
	new dependency, so that tab.h will get rebuilt for everyone.  I also
	took an opportunity to rewrite the script, hopefuly making it easier to
	follow.

Hash:	23de6808f70552beeb4b3a3374543f7aaf31c4c8
Author:	Alex Musolino <alex@musolino.id.au>
Date:	Wed Sep 23 04:14:05 +0100 2020

	ftpd: handle "allo" command by treating it as a no-op
	
	RFC959 says:
	
		"The ALLO command should be treated as a NOOP (no
		operation) by those servers which do not require
		that the maximum size of the file be declared
		beforehand..."

Hash:	9f8d62ab644553b11286dbcd283db56c83d6ebdd
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Wed Sep 23 03:24:01 +0100 2020

	libc: ignore '?' in date format strings
	
	Ignoring '?' when formatting date strings allows
	the format strings to be reused for parsing. This
	is convenient, since we don't need to duplicate
	the format strings.

Hash:	77c3cb50fb529740c57908cc5f0655fba0257c91
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Wed Sep 23 03:21:51 +0100 2020

	libc: make yday 0-based, as docs suggest
	
	Tm.yday is docuemnted as being 0-based, and our new api
	should respect that. Fix the code so that this is true.

Hash:	313aebb96478c37be8f39754875c02dcb3f896cc
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Tue Sep 22 19:42:15 +0100 2020

	acme: import changes from plan9port (thanks jxy)
	
	Import the following improvements and bugfixes from plan9port:
	
		4650064a acme: scale window bodies on resize, not including tag space
		d28913a9 acme: save/restore multiline tags in Dump/Load
		d2df5d6c acme: fix crash in X |cat with multiple windows
		3d6e5cb5 acme: preserve window position and selection during Get

Hash:	c1c904776c1536e854c5c1717a104353f885c3cd
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Mon Sep 21 19:43:31 +0100 2020

	ape/limits.h: fix typo in (U)LLONG_MAX
	
	Fix missing 'L' in the size suffix, so we were overflowing the
	maximum size.

Hash:	8fe1d622b5b46dee51db6581282ec1fba76782b1
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Mon Sep 21 17:40:42 +0100 2020

	diff: support unified diff via -u
	
	The format produced by `diff -u` is inferior to that
	produced by `diff -c`, but it's what ape/patch and
	unix patch expect, so it's useful to generate it.
	
	This patch adds `diff -u`.

Hash:	aa7c8cac1145d0cd6e9117deaa1f8c9f418bca17
Author:	kvik <kvik@a-b.xyz>
Date:	Sun Sep 20 13:49:12 +0100 2020

	syscall: utility overhaul
	
	Following is a list of functional changes:
	
	* The -o flag outputs the entire buffer to the length returned
	  by the syscall, or, in case of fd2path(2) and errstr(2), to '\0'.
	* The -x flag is removed; the above makes it possible to pipe
	  into xd(1) to get the same result.
	* The -s flag uses dirfmt(2) to format the stat message, instead
	  of trying to imitate ls(1).
	* Stderr reports are normalized and made easier to parse.
	
	The code also suffered a number of stylistic changes.

Hash:	e3166b4fe83d12a29c265fe9a8f333369b35c663
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Fri Sep 18 00:11:10 +0100 2020

	upas/fs: fix handing of multi-line header fields (thanks theinicke)
	
	Right now, upasfs exposes header lines as is, without stripping
	out new lines. It also documents that it provides one header per
	line in the info file.
	
	As a result, when we get a mail with headers that span lines,
	our tools get confused.
	
	These split lines are not semantically meaningful. From RFC5322:
	
	  2.2.3.  Long Header Fields
	
	   Each header field is logically a single line of characters comprising
	   the field name, the colon, and the field body.  For convenience
	   however, and to deal with the 998/78 character limitations per line,
	   the field body portion of a header field can be split into a
	   multiple-line representation; this is called "folding".  The general
	   rule is that wherever this specification allows for folding white
	   space (not simply WSP characters), a CRLF may be inserted before any
	   WSP.
	
	As a result, to simplify processing, we should just strip out the
	line separators when exposing the headers from upasfs.

Hash:	77b819d5853132be43639d1b2149caf5edacbba2
Author:	BurnZeZ <devnull@localhost>
Date:	Wed Sep 16 21:45:49 +0100 2020

	ptrap: fix /env/status always being set on main process exit

Hash:	be876a06ac0927faf9282e8847a87cef7c1a93be
Author:	kvik <kvik@a-b.xyz>
Date:	Wed Sep 16 12:18:43 +0100 2020

	syscall: don't append '\n' to the output

Hash:	58861fff63a8d2a89f6087b964140482337e3a9d
Author:	kvik <kvik@a-b.xyz>
Date:	Wed Sep 16 12:12:13 +0100 2020

	window: fix error exit with the -m flag
	
	When called with the -m flag window would always exit with
	some error, usually status='no match', because of an if-match
	being the last status-setting command in the script.

Hash:	537443d959984163040907d6287ac6ec3cbdc781
Author:	kvik <kvik@a-b.xyz>
Date:	Wed Sep 16 11:41:24 +0100 2020

	win: fix window recreation command

Hash:	556609be56a7124102492c1ef83ac5bb9e65afed
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Tue Sep 15 04:10:16 +0100 2020

	/lib/rob, /lib/rsc, /lib/theo: So it sounds like everyone is in favor of the entire generics proposal and all the semantics, and all we have left to hammer out is the bracket characters? Do I have that right?

Hash:	d3ebd02befdd967f92ea50fbac08963428e6e03e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Sep 13 19:34:30 +0100 2020

	merge

Hash:	4f85115526a87063489dc7cf347343bd520159b1
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Sep 13 19:33:17 +0100 2020

	kernel: massive pci code rewrite
	
	The new pci code is moved to port/pci.[hc] and shared by
	all ports.
	
	Each port has its own PCI controller implementation,
	providing the pcicfgrw*() functions for low level pci
	config space access. The locking for pcicfgrw*() is now
	done by the caller (only port/pci.c).
	
	Device drivers now need to include "../port/pci.h" in
	addition to "io.h".
	
	The new code now checks bridge windows and membars,
	while enumerating the bus, giving the pc driver a chance
	to re-assign them. This is needed because some UEFI
	implementations fail to assign the bars for some devices,
	so we need to do it outselfs. (See pcireservemem()).
	
	While working on this, it was discovered that the pci
	code assimed the smallest I/O bar size is 16 (pcibarsize()),
	which is wrong. I/O bars can be as small as 4 bytes.
	Bit 1 in an I/O bar is also reserved and should be masked off,
	making the port mask: port = bar & ~3;

Hash:	3873eb06d95afafd4b20122130dae8664b69428f
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sun Sep 13 19:21:21 +0100 2020

	games/4s: increase thread size (thanks majiru)
	
	It seems like on amd64, we're overflowing the stack.
	Let's not do that.

Hash:	d7b541eaf317ca3586bf18a6a189dabae81d1e21
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sun Sep 13 01:40:41 +0100 2020

	faces: remove log support
	
	Use a damn plumber, you animals!

Hash:	26cf6ec073ad60db465fc4395b783bdb04071877
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sun Sep 13 01:36:14 +0100 2020

	tmdate(1): document tz field

Hash:	732082c0951ca080de05608a0b6464ca699da61d
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Fri Sep 11 00:26:42 +0100 2020

	ctime(2), tmdate(2): document ctime/tmparse incompatibility
	
	Tmparse and ctime don't mix. The timezone name may be
	too long for the number of characters ctime mandates.
	Document this footgun.

Hash:	703b0d3e6d8d68eb5ca36866386a3d9c47ec2a15
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Tue Sep 8 03:32:50 +0100 2020

	tmdate(2): one more typo
	
	no more top arse. only bottom arse.

Hash:	ce5b6036f04ca6af1cb1fe2992c86eb6ad47cf22
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Tue Sep 8 03:28:30 +0100 2020

	tmdate(2): fix examples, stale references (thanks deuteron)
	
	There were a number of ideas that were tried out as the tmdate
	api evolved. As a result, there were some references in the
	manpage to things that are no more.
	
	Fix them.

Hash:	4a1186ddfe422c94f16e0d21efda599bb4556355
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Tue Sep 8 02:49:00 +0100 2020

	tmdate(2): fix name of tm struct
	
	There was a leftover from when this library was separate
	with different types.

Hash:	693485e9c4eab63cf46f38783c2e5f8097ae2bc9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Sep 6 15:53:39 +0100 2020

	etheriwl: add support for Intel Wireless AC 8265

Hash:	a87b6909bc209e04a9660b9b2bacea84151fb15d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Sep 6 15:51:02 +0100 2020

	wifi: add packet timestamping support

Hash:	cf5316a402140556a618a55b59a1d77849a0e35d
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Fri Sep 4 04:07:44 +0100 2020

	walk(1): improve wording, formatting
	
	Clean up the wording of the walk(1) manpage,
	improve the formatting of the format characters.

Hash:	f444d6c3f21194d8a168133e04521f0a2503aa8b
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Wed Sep 2 03:32:45 +0100 2020

	tmparse: put in local timezone hack
	
	Ctime is defined as printing a 3-character timezone
	name. The timezone name is ambiguous. For example,
	EST refers to both Australian and American eastern
	time. On top of that, we don't want to make the
	tzabbrev table exhaustive. So, we put in this hack:
	
	Before we consult the well known table of timezones,
	we check if the local time matches the timezone name.
	
	On top of that, tm2sec
	
	If you want unambiguous timezone parsing, use numeric
	timezone offsets (Z, ZZ formats).

Hash:	e0278f69176765b408be4f29e6f3e5d39b928601
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Wed Sep 2 03:03:17 +0100 2020

	seconds: tolerate trailing whitespace in dates
	
	This allows handling dates with leading and trailing whitespace,
	including newlines.

Hash:	e9cd41467e5598d5c61bd04bf52d96ccd75472ca
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Sep 1 22:08:58 +0100 2020

	upas: appendfolder() don't be picky about the timezone of ctime()
	
	This is temporary fix, we should try to emulate the previous
	behaviour where we accept at least our local timezone, and
	otherwise ignore the offset.

Hash:	20d8cd0d63ee265870629243a31a60622ffafd99
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Sep 1 22:01:45 +0100 2020

	upas: appendfolder(): skip the address from unix header before date

Hash:	feda48624bd8e5a321e81fbe19e45afa959d1367
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Sep 1 20:39:45 +0100 2020

	upas/fs: extract proper date from unix header
	
	do not try to parse the m->unixfrom field, it only contains
	the unix mail address.
	
	instead, have parseunix() save a pointer into the unixheader
	after the unix mail address for the unixdate, and later use
	it to derive the mails timestamp.

Hash:	79b4ec29a16c728d1918db4c7aa75379ab66d19e
Author:	Alex Musolino <alex@musolino.id.au>
Date:	Tue Sep 1 13:55:06 +0100 2020

	upas/fs: remove unused function date822tounix

Hash:	e6bfbd0d33e45d80362b363adadeb4419e5bca27
Author:	Alex Musolino <alex@musolino.id.au>
Date:	Tue Sep 1 13:24:10 +0100 2020

	png: remove bogus chanlen warning

Hash:	ec533a1ad8403ae94db37774e78d5b371b8fecfc
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sat Aug 29 19:09:20 +0100 2020

	ape/ctype.h: add isblank, fix functions (thanks staalmannen)
	
	Our ctype.h mistakenly ommitted isblank. Add it in.
	
	While we're here, the make the 'isfoo()' functions
	are broken: they're offsetting into the array, and
	don't work with negative character values.
	
	Sync the function bodies with the macros, and make
	them produce correct results.

Hash:	74bf624055abda1d4f6dfb986b0188a4102024f0
Author:	Alex Musolino <alex@musolino.id.au>
Date:	Sat Aug 29 09:53:59 +0100 2020

	walk(1): fix typo

Hash:	b7b077375fbb2cd99ca14b95545f111f47a30ca0
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Thu Aug 27 18:32:02 +0100 2020

	faces(1): remove bespoke date parser
	
	In addition to being more code, this date parser would
	treat local times as local, but anything that wasn't a
	local time would get parsed as gmt, due to a quirk of
	how tm2sec used to work.
	
	This moves the code to tmparse, and fixes timezone parsing
	at the same time.

Hash:	26ac80481d9e6e8abb359254f477bfad42fdc4ad
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Thu Aug 27 05:17:17 +0100 2020

	walk(1): clarify how -n argument works (thanks umbraticus)
	
	Make it clear what happens if you omit the ',' when
	specifying '-n'.

Hash:	68aa4d5254c8e68171b19887dc39d8ca5f52d854
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Wed Aug 26 20:12:44 +0100 2020

	tmparse: fix typo

Hash:	17abfa51ca4a34d6320d8d605ad4002990fd2f10
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Wed Aug 26 18:23:00 +0100 2020

	libc: tmparse should ignore leading whitespace
	
	We almost always want to skip leading whitespace in time
	formats, so make tmparse just do it. This fixes upas mbox
	parsing, which leaves a leading whitespace at the start of
	the date.

Hash:	8727bfd9bdc57ffecc1c3fd06031e75abd987579
Author:	Alex Musolino <alex@musolino.id.au>
Date:	Tue Aug 25 12:21:38 +0100 2020

	getwd(2): add reference to chdir(2) in SEE ALSO section

Hash:	6fe18e7c7b6dd98c6eb7b01ad7c753d42d60fd0f
Author:	Alex Musolino <alex@musolino.id.au>
Date:	Tue Aug 25 12:21:24 +0100 2020

	chdir(2): add reference to getwd(2) in SEE ALSO section

Hash:	b1a13414cd5c9cc8682a66885fb0acd8654c90de
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Mon Aug 24 22:47:10 +0100 2020

	tm2sec: clear new fields in tm
	
	Old users of the time APIs would hand-craft
	time structs without first zeroing all the
	members. When this got into tmnorm(), we
	would try to access the new members, and
	things would go off the rails.
	
	This makes tm2sec() clear the new fields
	before passing them to the new APIs, so
	that the hand-crafted structs remain
	valid.

Hash:	0505f8fb3a88e952709aaead1e13971b6e8514f3
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Sun Aug 23 11:14:32 +0100 2020

	nusb/lib: use fmtprint for the entire dump to be printed out

Hash:	603d9812a7f4a662e2a8ede68df9eb7f79d8dd67
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Aug 23 04:07:30 +0100 2020

	kernel: fix Abind cyclic reference and mounthead leaks (thanks Alex Musolino)
	
	The Abind case in namec() needs to cunique() the chan
	before attaching the umh mount head pointer onto it.
	
	This is because we cannot give a reference to the mount
	head to any of the mh->mount...->to channels, as they
	will never go away until the mount head goes away.
	This is a cyclic reference.
	
	This could be reproduced with:
	
		@{rfork n; mount -a '#s/boot' /mnt/root; bind /mnt/root /}
	
	Also, fix memory leaks around cunique(), which can
	error, leaking the mount head we got from domount().
	
	Move the umh != nil check inside cunique().

Hash:	951a71012f898933eb3daefd20de630bd4320337
Author:	Alex Musolino <alex@musolino.id.au>
Date:	Fri Aug 21 01:36:22 +0100 2020

	torrent(1): update url in examples section

Hash:	8edfa693cbe01608156ff6111c7d6edca85f8f73
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Thu Aug 20 21:25:37 +0100 2020

	ip(3): fix typo in manpage (thanks jstsmthrgk)

Hash:	b6fde0c7b9fd2f02372e6276f0321cd195fabbdb
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Thu Aug 20 07:28:24 +0100 2020

	libaml: fix fault when the second operand of comparison cannot be converted

Hash:	de34481f8b80306b58687c1a3039feb785c4f98f
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Tue Aug 18 15:45:00 +0100 2020

	oggdec: give it enough chance to seek from the start, where first seek might be still too close to the beginning of the file

Hash:	5405ee61ae0c8019598a974f02647bdaecf18c6f
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Wed Aug 12 21:26:06 +0100 2020

	audio/oggdec: allow -s 0

Hash:	601dd126515fef00815eedb163eae2943952394b
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Wed Aug 12 10:42:00 +0100 2020

	audio/mp3dec: mad timer duration is all wrong, use samples instead

Hash:	81dba1327121e0f62fdf42de61402979b7de5da6
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Wed Aug 12 09:43:46 +0100 2020

	audio/mp3dec: add -s SECONDS option

Hash:	5fcf2040b43d13b6410285d45a0510b637d811c3
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Tue Aug 11 16:27:11 +0100 2020

	audio(1): add new -s SECONDS option

Hash:	4ba367d435c859051d4ef2224b3f0e93cf1d1802
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Tue Aug 11 16:26:33 +0100 2020

	audio/oggdec: add -s SECONDS option to seek before decoding

Hash:	2e6f158f4dc9ebc6eb826041254221cba57c4019
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Tue Aug 11 16:25:53 +0100 2020

	audio/flacdec: add -s SECONDS option to seek before decoding

Hash:	69c3c0e6f0b5ce8ea4efc65a3898c56f4d6bc513
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Tue Aug 11 04:33:39 +0100 2020

	tmdate(2): fix typo (thanks mveety)
	
	sysfata => sysfatal

Hash:	46faca54edf1eda39a45f540697196074a00c779
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Tue Aug 11 03:36:09 +0100 2020

	stdio.h: correct return type of putc
	
	The putc macro is specified as returning an int, but our
	type conversion rules turned it into a uint. Put in the
	appropriate cast to make the type what we want.

Hash:	1e315f896d9496e22546304ef8b2de74b9451fc4
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Tue Aug 11 03:35:05 +0100 2020

	aux/ms2, aux/na: fix warnings
	
	aux/na was comparing the return of putc with <0, when it should
	have been comparing against EOF, which is not specified as -ve.
	
	aux/ms2 was zero-extending the mask for the address when it
	should have been sign extended.

Hash:	c834f535b799e0087d74103e96ddb03df457c597
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Tue Aug 11 03:02:09 +0100 2020

	seconds: use new libc date api

Hash:	6d3a2e6531bf784d433a39ac93b96beb0a0c8025
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Tue Aug 11 03:01:45 +0100 2020

	date: use new libc date apis.

Hash:	9db78003db1bfc688b8e605ea5f89fc6810f0011
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Tue Aug 11 03:00:59 +0100 2020

	merge

Hash:	6e039d7b4985877f4570d7d78e20dc1810be92d0
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Mon Aug 10 15:38:26 +0100 2020

	vmx: does not do well with certain fb widths, so restrict it

Hash:	e702cfcafdc06ea23134bb44a99a90634d4f7d97
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Mon Aug 10 03:46:38 +0100 2020

	upas/fs: port date parsing to libc apis
	
	There was a lot of code in upas/fs to deal with dates.
	Now there isn't.

Hash:	9d446410c5681235894f65d4e9c503fe4ad8b4a1
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Mon Aug 10 03:00:06 +0100 2020

	ip/httpd: fix 'mk nuke'

Hash:	56e869ac7004a635a7d63596ee751275484f28c3
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Mon Aug 10 02:58:44 +0100 2020

	libc: new date apis
	
	The current date and time APIs on Plan 9 are not good. They're
	inflexible, non-threadsafe, and don't expose timezone information.
	
	This commit adds new time APIs that allow parsing arbitrary
	dates, work from multiple threads, and can handle timezones
	effectively.

Hash:	3ba1d83d2026ebac616ab17a2126df97c0a7a24c
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sat Aug 8 19:39:25 +0100 2020

	cc: promote integer constants according to c99 spec.
	
	C99 integer constants with no type suffix promote differently
	depending on the way that they're written: hex and oct consts
	promote as int => uint => long => ulong => vlong => uvlong.
	Decimal constants are always signed.
	
	We used to promote all values to uint on overflow, and never
	went wider. This change fixes that, and adds a warning when
	a decimal constant that would have been promoted to uint in
	the past gets promoted to int.

Hash:	ac4e21f52d8458732b6e18d6ca481ab880c6c9be
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Aug 8 17:37:10 +0100 2020

	ndb/dns: allow multiple txt, nullrr, cert, key and sig records (thanks kvik)
	
	The de-duplication of txt, nullrr, cert, key and sig records
	reduced all records to a single one.
	
	Also, dblookup1() missed the txt record case and did not return
	a unique list of rr's.
	
	Now we consider these records unique if their value is different.
	The new txtequiv() function does that for TXT records, which is
	a bit tricky as it needs to take different segmentation into account.

Hash:	93b475981e7326f53dee0369476344f8552f4e7b
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Fri Aug 7 16:08:49 +0100 2020

	vmx: set xstart to either nsec or cycles depending on what is available

Hash:	711b69c0473d5dc962c7938c1cbbbf6c74cfba4d
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Fri Aug 7 14:50:55 +0100 2020

	bullshit: decentralized ActivityPub

Hash:	1cddff55da9e7fad085bb446ae9c786e9511c8d3
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Wed Aug 5 13:25:21 +0100 2020

	libttf: fix cmap subtable offset type and rank UCS-4 higher (more codepoints). fixes runes > 0xffff

Hash:	e1da4f17500da3350ffd32de3819094ea1e42ee9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Aug 4 15:31:24 +0100 2020

	kernel: don't strip binaries in bootfs.paq

Hash:	5915d12ea48be864184fa9fa72bfa0265e127665
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Aug 4 15:27:27 +0100 2020

	qball: remove unused #include <stdio.h>

Hash:	d913f652f5098c372fd7c98b25ebc0e166bc525a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Aug 4 15:23:22 +0100 2020

	devmnt: print chanpath for unexpected reply tag

Hash:	53800208bd762b1ecf14b60585cb906f22db7de8
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Aug 4 15:21:37 +0100 2020

	rc: avoid stat calls for directory globbing
	
	On Plan9, we can count on Readdir() onlydirs argument
	to work, which allows us to avoid stating every single
	file to see if it is a directory.

Hash:	e9df4c718a902fe6a8f490331092c2f92c194ce4
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Tue Aug 4 10:42:43 +0100 2020

	libttf: check directory() result

Hash:	4bbf1d12b5c79eae94ba931052af66001659cc91
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Aug 3 23:50:33 +0100 2020

	7c: now really fix OASxxx operations
	
	the previous patch broke 64-bit ops as the type for the
	operation is determined from the first argument to
	gopcode() (nod1.type), not the type the result (nod.type).
	
	so we need to include the conversion of nod1 type to
	the type of nod.

Hash:	1d07c2a1614a3121a5b9d86f95394caccd61ee56
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Aug 3 22:17:32 +0100 2020

	merge

Hash:	d42f9b511025014fb2e561813a535f9296886017
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Aug 3 22:16:41 +0100 2020

	reverting 7c change, breaks some 64-bit shifts...

Hash:	c4cf92b99efdf292e0563fedda68f650cb9970d6
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Aug 3 20:52:22 +0100 2020

	merge

Hash:	053a6526e28c9676c4c677e9d2bb654b0352d3a8
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Aug 3 20:51:25 +0100 2020

	acme: reverting scroll change, causes continuous scrolling with scrollwheel

Hash:	cbe45e78f988184938ab63f8bac28632058e5810
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Aug 2 18:48:25 +0100 2020

	7c: fix wrong type on OASxxx operations
	
	the bug can be reproduced with the following test case:
	
	#include <u.h>
	#include <libc.h>
	
	void
	main()
	{
		int size = 1;
		size*=1.5;
		exits(0);
	}
	
	this produces the following assembly:
	
		TEXT	main+0(SB),0,$16
		MOVW	$1,R1
		FCVTZSDW	$1.50000000000000000e+00,R2	<- tries to convert rhs to int??
		MULW	R2,R1,R2 <- multiplication done in int? bug!
		MOV	$0,R0
		BL	,exits+0(SB)
		RETURN	,
		END	,
	
	the confusion comes from the *= operation using the wrong type
	for the multiplication. in this case we should use the float
	type of the rhs, do the operation, and then convert the result
	back to int type of the lhs.
	
	this change ports the same logic from 5c's getasop().

Hash:	cf69bb920a53a2cbecc42e4299b7ed12818d39dc
Author:	Alex Musolino <alex@musolino.id.au>
Date:	Sun Aug 2 10:00:01 +0100 2020

	rc-httpd: fix invalid test(1) invocation in dir-index

Hash:	9e27ee094c25873c71da6488d7926c621c115c68
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sat Aug 1 18:54:03 +0100 2020

	deroff: fix out-of-bounds access if runes above 0X80 are inside EQ clauses (thanks mmnmnnmnmm, via plan9port)
	
	Characters greater than 0X80 will cause a read beyond the bounds of the
	array chars[]. For particular unicode characters this can cause deroff
	to segfault.
	
	A minimal example:
	$ deroff
	.EQ
	u∈
	Segmentation fault
	
	Throughout deroff, charclass() is used instead of directly indexing
	chars[] so I presume this was just missed.

Hash:	6dbecfb457d1625687f2338696c2b8195c831ae4
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sat Aug 1 18:49:29 +0100 2020

	htmlroff: fix out of bounds access (thanks Rei-sen, via plan9port)
	
	_readx() uses rune count as its argument and not size, so we should
	pass nelem() instead of sizeof().

Hash:	0eb81f732044895cf09c763bf5b63a54b29f6461
Author:	kvik <kvik@a-b.xyz>
Date:	Sat Aug 1 15:17:29 +0100 2020

	mk9660(8): fix reference to proto file format

Hash:	e5894dcceaedeaf7d4f5537dd306170b1b6d4814
Author:	kvik <kvik@a-b.xyz>
Date:	Sat Aug 1 14:27:28 +0100 2020

	pre-lib9p servers: fix incorrect Tversion handling
	
	version(5) says:
	
		If the server does not understand the client's version
		string, it should respond with an Rversion message (not
		Rerror) with the version string the 7 characters
		``unknown''.
	
	Pre-lib9p file servers -- all except cwfs(4) -- do return Rerror.
	
	lib9p(2) follows the above spec, although ignoring the next part
	concerning comparison after period-stripping.  It assumes an
	Fcall.version starting with "9P" is correctly formed and returns
	the only supported version of the protocol, which seems alright.
	
	This patch brings pre-lib9p servers in accordance with the spec.

Hash:	88a468f205af2bfdaa015a5bc33424ae0d56de08
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Sat Aug 1 14:23:51 +0100 2020

	vmx(1): use _tos->cyclefreq (thanks cinap)

Hash:	d287f178aac4710b11ca24fa312d740518b78a08
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Fri Jul 31 16:52:17 +0100 2020

	dc: increase exponent limit (thanks unboe, lyndon)
	
	dc has an arbitrary limit on the size of the exponent. Lets
	replace it with a different arbitrary limit.

Hash:	9965e575f8783cbaf29b6b1c8857706b164e427c
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Fri Jul 31 14:51:32 +0100 2020

	vmx(1): add missing file

Hash:	853f0e33fe744d816d66276491c34f9bccd4e6e3
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Fri Jul 31 14:48:54 +0100 2020

	vmx(1): use cycles() instead of nsec() when possible
	
	this provides better timing and reduced number of syscalls (~2.7M old
	vs ~35K new in a test)

Hash:	de27182a8ebe759bebfb7b123dffbb0f29eea922
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Fri Jul 31 10:24:02 +0100 2020

	vmx: use _actual_ system kbmap

Hash:	eb65fc5e698d0f6bd70e5e51c0497dc53ec48aa0
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Thu Jul 30 14:59:04 +0100 2020

	aux/acpi: forgot to commit -p option

Hash:	edb6f64d357aa270c1266c652876788f96f50f7a
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Thu Jul 30 10:25:14 +0100 2020

	aux/acpi: write a man page, fix usage, call threadexits

Hash:	02f19713a101f2cab3ef6b89ed6ca8b59ee11ffb
Author:	Alex Musolino <alex@musolino.id.au>
Date:	Wed Jul 29 05:26:03 +0100 2020

	sshfs: update usage text to match man page

Hash:	c03079ad08b8c6441a6b1bf2e032844aae679e08
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Mon Jul 27 03:12:48 +0100 2020

	upasfs: make imap debug logging less noisy
	
	The current logging prints a debug line for every
	message in an inbox, which is unusably verbose.
	This removes the prints for unchanged messages,
	and adds a print for flag changes.

Hash:	ea98dafce5b5657cfd65a3a5210c46bcda367525
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Tue Jul 21 02:58:52 +0100 2020

	replica: fix mkfile script installation (thanks Amavect)
	
	The $SCRIPTS were added to $TARG, which complicates the all rule, as
	each script's object file must be suppressed.
	Fix by removing $SCRIPTS from $TARG, removing the script object file
	suppression rule, and overriding the install rule.
	
	The script bin install rule assumes that only one script install is
	called at a time. Valid calls like 'mk -a /$objtype/replica/changes
	/$objtype/replica/pull' will fail.
	Fix by adding a for loop.
	
	Remove the unused $UPDATE variable.

Hash:	2d59d75e3a4faa51bfc146f70aea7734cd8bb9ef
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sun Jul 19 22:14:14 +0100 2020

	stdio: fix warnings, make code more standard
	
	Masking with _IO_CHMASK after the assignment causes a warning.
	We're better off masking before, but casting the assignment to
	prevent sign extension.

Hash:	9ea93a5fd347a04ed409c46410cd5ead033c0695
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jul 17 15:53:20 +0100 2020

	libndb: order subnets by prefix length for ndbipinfo() lookups
	
	to reproduce:
	
	ipnet=foo0 ip=192.168.0.0 ipmask=/16
	ipnet=foo1 ip=192.168.0.0 ipmask=/24
	ip=192.168.0.1 sys=foo2
	
	% ndb/ipquery sys foo2 ipnet ipmask
	ipnet=foo0 ipmask=/16
	
	we would expect to get ipnet=foo1 here as it is more
	specific subnet.
	
	the solution is to order the subnets by prefix length
	in subnet() before calling filter(), so that we process
	the longest prefixes first.

Hash:	407cf4ac6e59556b65d29b3c0de6ada6fdcc3cc7
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Thu Jul 16 23:22:42 +0100 2020

	ape: simplify mkfile (thanks amavect)
	
	ape cp, mv, and cc build with ?c, not pcc
	ape cp and mv just ignore one or two extra flags,
	instead of providing posix compatibility
	it's better to fail then do nothing
	
	remove cp.c and mv.c
	move cc.c to /sys/src/ape/9src so it doesn't
	need its own mkfile rule

Hash:	61b1134df944eee5188214a9e249101f1ec095e7
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jul 16 02:12:31 +0100 2020

	merge

Hash:	e7e6f4fc9061190720b7a67adfff49f2546843aa
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jul 16 02:11:27 +0100 2020

	pc64: disable interrupts in mmuwalk() for checkmmu()
	
	we have to disable interrupts during mmuwalk() of user pages
	as we can get preempted during mmu walk and the original
	m->pml4 might become one of a different process.

Hash:	03499e53ccf8391c5b5d4b9eca096abe5e9312c3
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Wed Jul 15 04:46:00 +0100 2020

	g: add '.hs' and 'mkfile' to the walk. (thanks joe9)
	
	This expands the set of files that we grep through by default to
	include mkfiles and haskell.

Hash:	0366f11300521165ff22423514a5d829a1f34912
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Tue Jul 14 02:50:14 +0100 2020

	cpp: fix mutually recursive macros
	
	Handle cases where parameterless macros expand to each other:
	
		#define FOO BAR
		#define BAR FOO
		FOO
	
	There were cases where the macros didn't make it into the hidesets,
	and we would recurse infinitely. This fixes that.

Hash:	77ddc8c654824962149160af822f849b78cc6cc0
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jul 12 20:42:26 +0100 2020

	kernel: make segments non-executable when icache is not maintained
	
	This change makes it mandatory for programs to call segflush() on
	code that is not in the text segment if they want to execute it.
	
	As a side effect, this means that everything but the text segment
	will be non-executable by default, even without the SG_NOEXEC
	attribute. Segments with the SG_NOEXEC attribute never become
	executable, even when segflush() is called on them.

Hash:	11fcf41472411fc0b683cc4431c42301e06124fe
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jul 12 18:37:38 +0100 2020

	aux/cpuid: flush instruction cache of after patching trampoline

Hash:	2c8c2bc7272815f4535d4922a73ec5b484f42c3a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jul 12 17:54:22 +0100 2020

	hjfs: update mtime and qid.vers for directory on rename
	
	when wstating a file, its directory should be updated to
	reflect this change.
	
	here is what the manpage states:
	
	> The mtime field reflects the time of the last change of content
	> (except when later changed by wstat). For a directory it is the
	> time of the most recent remove, create, or wstat of a file in the
	> directory.

Hash:	a469cffafe23135da443b078bf82ad45833ff37a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jul 12 17:52:28 +0100 2020

	cwfs: update mtime and qid.vers for directory on rename
	
	when wstating a file, its directory should be updated to
	reflect this change.
	
	here is what the manpage states:
	
	> The mtime field reflects the time of the last change of content
	> (except when later changed by wstat). For a directory it is the
	> time of the most recent remove, create, or wstat of a file in the
	> directory.

Hash:	1987cc69c8c2f071762da025a84903dcc8197855
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sat Jul 11 21:28:58 +0100 2020

	stdio, ape/stdio: fix order of operations in putc
	
	When calling putc, we need to return either EOF
	or the character returned. To distinguish the
	two, we need to avoid sign extending 0xff. The
	code attempted to do this, but the order of
	operations was wrong, so we ended up masking,
	setting a character, and then sign extending
	the character.
	
	This fixes things so we mask after assignment.

Hash:	ad26dc48a6dc05da02f96e5f1e7b82de58ff5b2c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jul 5 21:15:02 +0100 2020

	imap4d: fix missing return in %δ format of Dfmt()

Hash:	b33eb658e27dbd481de478d53e5467a03b05cabc
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jul 5 20:18:26 +0100 2020

	imap4d: get rid of unixdate/unixfrom handling
	
	all this logic is already done by upas/fs, the unixdate and from
	fields in the info file will always be correct.

Hash:	24dcdb54b82c0c1cee7cf5d591afc5c64e56fa3a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jul 5 20:16:41 +0100 2020

	imap4d: fix mkfile to have the correct default target

Hash:	fc2a3496feb277add577903425058c5ca1f2a9af
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jul 5 20:15:55 +0100 2020

	upas/fs: wait until the index becomes unlocked
	
	For big mailboxes with imap4d, ignoring the index and trying to scan
	the mailbox concurrently is not very productive. Just wait for the
	other upas/fs to write the whole index.
	
	The issue is that imap might time out and make another connection
	spawning even more upas/fs instances that all then try to rebuild
	the index concurrently.

Hash:	786ec28b7b561fb1448a884ee0cd51525e9339d6
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jul 5 18:51:59 +0100 2020

	upas/fs: fix wrong nparts field index (changed in previous commit)

Hash:	e844c77845e489a1e6421b570e221e9672106bbc
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jul 5 17:17:20 +0100 2020

	nedmail: don't try to shoot down subcommand on interrupt
	
	this breaks interrupt key handling in rio. theres also no
	point in trying todo so as rio sends the note to the whole
	process group so the subcommand should have got the note
	already.
	
	just wait for the subprocess to terminate.

Hash:	43e56e26ded432658cdc5b9b3fce16919b3c64f7
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jul 5 16:44:32 +0100 2020

	upas/fs: put date822 into the index, fix from and replyto handling
	
	the date, from and replyto fields where unstable, in that the value
	read depended on the state of the cache.
	
	fixing the from and replyto fields is easy, we just handle the
	substitution in parsebody().
	
	the date field however requires us to put the date822 into the index
	so it can be recovered without requiering to reparse the header
	(and body, as we might have a message/rfc822 message with promoted
	fields).
	
	with these changes, the fields will be consistent and independnet
	of the cache state.
	
	a small optimization also has been added:
	
	after parsing the body, attachments and substitution of from/replyto,
	the boundary and unixfrom strings are not needed anymore and can
	be freed early.

Hash:	e161f1c8ba802c15dc049c75f8071d9bb8aaf106
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jul 5 16:05:49 +0100 2020

	upas/fs: fix memory leak in ref822()

Hash:	a71450412a9e1fc47d3b7d7dbac604b8a93f68e2
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Fri Jul 3 19:29:45 +0100 2020

	imap4d: respect errors from read(), remove debug prints
	
	When read() failed, we were casting the -1 return to
	unsigned, which would cause us to index out of bounds.
	found using dovecot imap test suite. While we're here,
	let's remove the stray debug prints.

Hash:	a3a4f5c3e3be563642aa10302b7aa0d1dba4ad17
Author:	Alex Musolino <alex@musolino.id.au>
Date:	Fri Jul 3 13:44:49 +0100 2020

	kbdfs/mklatin: allow >16 bit runes in /lib/keyboard

Hash:	03852d94083a33e0b10762c2225f2015f23c49d5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jul 3 00:17:38 +0100 2020

	bcm64: increase maximum segment size to 8GB
	
	make it possible for one process to use all
	of physical memory.

Hash:	91994dc5d8ad4fbd4eb73f44855aafdb4bbbc3ba
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jul 2 20:12:40 +0100 2020

	bcm64: handle 8GB of physical memory for raspberry pi4
	
	widen and move the KMAP window to a new address so we can
	handle the 8GB of physical memory of the new raspberry pi4.
	
	the new memory map on pi4 uses the following 4 banks:
	
	0x000000000	0x03e600000
	0x040000000	0x0fc000000 <- soc.dramsize (only < 4GB)
	0x100000000	0x180000000
	0x180000000 0x200000000

Hash:	bd23963c8f359d0a3c802f7cd96b51b4d36b01ac
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jul 2 20:04:01 +0100 2020

	bcm64: fix usb xhci controller on pi4 8GB variant (thanks richard miller)
	
	On the 8GB variant of the raspberry pi 4,
	the eeprom chip for the xhci controller is missing and
	instead loaded from sdram (by the gpu firmware).
	
	for this, the gpu firmware needs to be notified of
	the xhci controllers pci bus address (after reset)
	that was assigned by our pci enumeration code.

Hash:	91c277a724d5fdfbc37eb85b69250220150fe232
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jun 28 23:24:45 +0100 2020

	merge

Hash:	85132f197bc6cef04f707daccf15eca4c471ff50
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jun 28 23:23:37 +0100 2020

	upas/fs: move unixheader handling to parseheaders()
	
	parsing the unixheader in mdir fetch routine is the wrong place,
	as no invalid character handling has been performed yet. also
	the string is not neccesarily null terminated.
	
	avoid duplication with plan9 mbox parsing and just do it in
	parseheaders(), which already handles faking the unix headers
	for pop3 and imap.

Hash:	359362395f73a4d74fb562d5718ddba40e4d63cc
Author:	kvik <kvik@a-b.xyz>
Date:	Sun Jun 28 22:45:18 +0100 2020

	graphics(2): fix typo

Hash:	30ab804b5878a9f4721fb1de3f03f4a0400a6fb1
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jun 28 15:26:59 +0100 2020

	kernel: segflush() needs to flush tlb of other processes
	
	instruction cache maintenance is done on tlb miss;
	when a page gets fauled in; with putmmu() checking
	the page->txtflush cpu bitmap.
	
	syssegflush() used to only call flushmmu() after
	segflush() for the calling process, but when a segment
	is shared with other processes, we have to flush the
	other processes tlb as well.
	
	this adds the missing procflushseg() call into segflush().
	
	note that procflushseg() leaves the calling process alone,
	so the flushmmu() call in syssegflush() is still required.
	
	segmentioproc() does not need to call flushmmu() after
	segflush() as it is never going to jump to the modified
	page, hence the stale icache does not matter.

Hash:	675ebaeca3c38d2684b249faae1fc24c5c2b6e0e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jun 27 15:40:53 +0100 2020

	aux/trampoline: Implement inactivity timeout (-t option)
	
	Using aux/trampoline to relay udp traffic needs a inactivity
	timeout to be practical as there is no explicit connection
	termination.

Hash:	f0ea4af5efff9e1e1d0fc5992edd1096c44d41ed
Author:	kvik <kvik@a-b.xyz>
Date:	Thu Jun 25 22:23:23 +0100 2020

	9p(2): fix typo

Hash:	739bb1a06f2fce522a602c7f1dd61c1d28ffda8b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Jun 24 18:21:47 +0100 2020

	upas/fs: remove now unused Mtrunc mimeflags constant

Hash:	d7613e356c55a3b7a1140a1f6d8aa6dca43b9d97
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Jun 24 18:18:37 +0100 2020

	upas/fs: use memchr() instead of strchr() in hdrlen()
	
	make sure we look for the end of the header within the
	pointer range, and not accidentally read beyond hend.
	
	also, messages are not null terminated, so this could
	even go beyond the email data buffer.
	
	get rid of mimeflag which was only used for some assert
	checks.
	
	take header length into account when comparing header
	against ignored header strings.

Hash:	1e8eb61a3715b12d8bc1cfd866f5bb180f2941f2
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Jun 24 17:47:03 +0100 2020

	merge

Hash:	b33773def83754db54f2aeaf57bf5432b7e449a8
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Jun 24 17:45:58 +0100 2020

	ip/tinc: run script sub-shell in its own environment

Hash:	d837790a42225f1b47b48f151d73ca6e776e6894
Author:	Alex Musolino <alex@musolino.id.au>
Date:	Tue Jun 23 10:11:00 +0100 2020

	acme/win: add trailing space to window tag

Hash:	200c18bc150a896752a1f84eabbbf13e3ee150a6
Author:	Alex Musolino <alex@musolino.id.au>
Date:	Mon Jun 22 08:04:31 +0100 2020

	upas/marshal: make attachment failure fatal

Hash:	55d8082842367540b7c3918253c04f71fc9361bb
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jun 21 20:42:13 +0100 2020

	usbxhci: implement isochronous in transfers (for webcam, audio recording)

Hash:	4fb65ae3e84f536a9b924082b7c59a30d5802e6b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jun 21 20:36:50 +0100 2020

	devusb: keep isochronous ep->hz consistent with maxpkt, ntds and pollival
	
	The sample frequency is an artificial parameter used for
	isochronous out transfers to better match the target
	frequency (usually, a sound card).
	
	when hz is set, devusb adjusts the endpoint's maxpkt to get
	the requested frequency and a multiple of the samplesize per
	packet.
	
	however, when hz is not set, then we should calculate the
	frequency from maxpkt, ntds and pollival, so all parameters
	will be consistent with each other.

Hash:	78a6eb52c8a8b5c05305e847a4cb78360e8dba5d
Author:	Alex Musolino <alex@musolino.id.au>
Date:	Sun Jun 21 11:04:54 +0100 2020

	abaco: add fonts.h to HFILES in mkfile (thanks eekee)

Hash:	7c3477cb616677a1e886373af4b929d7f3497729
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jun 19 19:19:57 +0100 2020

	ip/torrent: fix size check in 64-bit "v" unpack (thanks pr)

Hash:	86a77e5088d11c5921d735b14d83441d0fc9d2bc
Author:	Alex Musolino <alex@musolino.id.au>
Date:	Thu Jun 18 03:41:06 +0100 2020

	cifsd(8): fix typo (thanks senthil)

Hash:	6701679f3a011dc45a96343fc9c703999be72491
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Tue Jun 16 16:29:00 +0100 2020

	add a compose sequence to type ⑨

Hash:	febe84af755d8b6941c6e59c1b350f889c4fccb0
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jun 14 23:12:57 +0100 2020

	libc: revert date change again. this is getting ridicuoulus.
	
	this breaks the sample from the seconds manpage, and overall
	produces funky results. this needs alot more testing.
	
	term% seconds '23 may 2011'
	seconds: tmparse: invalid date 23 may 2011 near 'may 2011'
	
	term% seconds '2019-01-01 00:00:00'
	-118370073600

Hash:	8b3efcfc4e3b38eab3f0ff503e573c072ff890f5
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sun Jun 14 17:33:32 +0100 2020

	libc, seconds: new time and date apis (try 2)
	
	Redo date handling in libc almost entirely. This allows
	handling dates and times from outside your timezones,
	fixes timezone loading in multithreaded applications,
	and allows parsing and formatting using custom format
	strings.
	
	As a test of the APIs, we replace the formatting code in
	seconds(1), shrinking it massively.
	
	The last commit missed a few removals, and made it
	unnecessarily hard to do an update.

Hash:	f380851ddb4598f6f0bca0a8d2db3ce8b36b7db7
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jun 14 03:47:22 +0100 2020

	libc: reverting previous change until ori can fix it

Hash:	e2ee991490227698bbc3f9ace4c9ecc014d12dbe
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sat Jun 13 20:38:49 +0100 2020

	libc, seconds: new time and date apis.
	
	Redo date handling in libc almost entirely. This allows
	handling dates and times from outside your timezones,
	fixes timezone loading in multithreaded applications,
	and allows parsing and formatting using custom format
	strings.
	
	As a test of the APIs, we replace the formatting code in
	seconds(1), shrinking it massively.

Hash:	8ffcc91b1baca653df130efeb213d3d69189bae4
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jun 12 00:36:50 +0100 2020

	merge

Hash:	ac6cb9af2986745078a70b644d4f5fde49ba1b72
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jun 12 00:35:37 +0100 2020

	ramfs: make Elocked[] more consistent (thanks fazlul)
	
	Go expects the error to be one of the three errors returned in
	Bell Labs Plan 9. As listed in
	https://github.com/golang/go/blob/f7ba82d68f90e20aa9e6aa973cb6f12321abec71/src/cmd/go/internal/lockedfile/lockedfile_plan9.go#L16:
	
		// Opening an exclusive-use file returns an error.
		// The expected error strings are:
		//
		//  - "open/create -- file is locked" (cwfs, kfs)
		//  - "exclusive lock" (fossil)
		//  - "exclusive use file already open" (ramfs)
		var lockedErrStrings = [...]string{
			"file is locked",
			"exclusive lock",
			"exclusive use file already open",
		}

Hash:	57362e0c8c3b75cae8f3bc2735ffc6e30e19fe03
Author:	kvik <kvik@a-b.xyz>
Date:	Thu Jun 11 14:33:57 +0100 2020

	acme: implement position-dependent scroll-wheel scrolling
	
	This brings acme scrolling behaviour in line with that of 9front's rio
	and sam, where the amount scrolled varies with a vertical position of
	the pointer within the window, similar to how the scrollbar works.
	
	At some point it would be good to implement a line-at-a-time scrolling
	when the Shift key is pressed, as seen in rio.  For this to happen the
	acme keyboard input needs to be rewritten in terms of /dev/kbd instead
	of relying on keyboard(2) -- that is, the /dev/cons interface.

Hash:	db6e26d55eb5bdb22ea231642051ff9a1562239b
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Tue Jun 9 20:23:24 +0100 2020

	libplumb: add missing mkfile

Hash:	ebb9acecddac0b64064f03711276d445ddf0646f
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sun Jun 7 16:27:36 +0100 2020

	acme: document log file in manpage

Hash:	7c8d75a3092a81102436c6446c59a41a9d2a8f8e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jun 7 16:06:33 +0100 2020

	acme: add missing logf.c

Hash:	29fee6a8edab12acceea7bc54e30979477d6a6f7
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jun 7 15:56:54 +0100 2020

	ip/6in4: request ipv4 packets only in ipmux filter

Hash:	54746461641644e24a68cc81c6800c5297852698
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jun 7 15:56:01 +0100 2020

	devip: implement ipv6 support in ipmux packet filter
	
	Added a ver= field to the filter to distinguish the ip version.
	By default, a filter is parsed as ipv6, and after parsing
	proto, src and dst fields are converted to ipv4. When no
	ver= field is specified, a ip version filter is implicitely
	added and both protocols are parsed.
	
	This change also gets rid of the fast compare types as the
	filed might not be aligned correctly in the packet.
	
	This also fixes the ifc= filter, as we have to check any
	local address.

Hash:	8f087e019f551078b97da4dec4973fe9979c9551
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jun 7 15:48:04 +0100 2020

	snoopy: add ipmux pseudo protocol
	
	the ipmux pseudo protocol handles the extra ipv6 interface address
	prefixed to the ip header as used by /net/ipmux packet filter.

Hash:	85ffa283f67b4bd139a4e28e82f0d1c7f6c53b3b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jun 7 15:45:55 +0100 2020

	devip: fix parseipmask() prototype in ip.h

Hash:	d2be4787c6e78df1a0fec1f6fdc75a616ecc1e1e
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sun Jun 7 03:05:00 +0100 2020

	acme: import event log from plan9port (thanks fshahriar)
	
	Based off the following 3 commits:
	
		4a3fb87264f8bc03fc62f00ef335056f30d18023
		45f8ba54143323f08a21343633764caa59aa3ea3
		fdf6ef333705c844bcf3ccf2f93b2773f1a6aa41
	
	Reading /mnt/acme/log reports a log of window create,
	put, focus, and delete events, as they happen. It blocks
	until the next event is available.
	
	Example log output:
	
		8 new /Users/rsc/foo.go
		8 put /Users/rsc/foo.go
		8 del /Users/rsc/foo.go
	
	This lets acme-aware programs react to file writes, for example
	compiling code, running a test, or updating an import block.

Hash:	e46000f076b3b5389b60f4497c8b40c203202d84
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jun 6 22:46:01 +0100 2020

	devip: pick less surprising interface address in header for incoming UDP packets
	
	We used to just return the first address of the incoming
	interface regardless of if the address matches the source
	ip type and scope.
	
	This change tries to find the best interface address that
	will match the source ip so it can be used as a source
	address when replying to the packet.

Hash:	1a5dafcc3d8c455b0e7b36dd9bd45c13dd4d91eb
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jun 6 15:52:01 +0100 2020

	merge

Hash:	301148756eae8c9821ae0321cfe30a3a75b67a68
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jun 6 15:44:14 +0100 2020

	aux/vga: use 64-bit physical addresses for pci membar

Hash:	4c8d2b0ebf1fd3fe5b96e227da23a82f669a82fa
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jun 6 15:31:39 +0100 2020

	devlml: use 64-bit physical addresses

Hash:	7db23bb2f00a9c8f53f7aa063112e946f7a9539a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jun 6 15:31:07 +0100 2020

	audiosb16: cleanup audioprobe(), cast ISAConf.port to ulong

Hash:	652508728d0a8486948b776b788da00ce5de6c05
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jun 6 15:25:00 +0100 2020

	audioac97: use 64-bit physical addresses

Hash:	966cf774397c137e70b8d1bee5018c7df2bb38bd
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jun 6 15:23:58 +0100 2020

	audiohda: use 64-bit physical addresses, check pci membar types

Hash:	aff63ef284491679357dc7e7543e2dd672a9bedc
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jun 6 15:21:42 +0100 2020

	pc/pcmciamodem: cast i/o port to ulong

Hash:	7347012d42284ca11df09be8c68daa2ebc0583a4
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jun 6 15:19:25 +0100 2020

	pc/pmmc: check pci membar type

Hash:	e49d187dff43a823a6c987c5bb595d1fa52cc02f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jun 6 15:18:52 +0100 2020

	uartaxp: use 64-bit physical addresses and check pci membar types

Hash:	403fef45c1a65aa74c449764e2857597fc03290a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jun 6 15:18:06 +0100 2020

	pc/wavelan: print Ether.port as 64-bit value

Hash:	13963cd5e032bf85f0d2f9a562b263374a7cc850
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jun 6 15:16:48 +0100 2020

	sd53c8xx: use 64-bit physical addresses

Hash:	8003f4f00f0645426a0694b0e5e915d26b7c7153
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jun 6 15:16:03 +0100 2020

	sdmv50xx: use 64-bit physical addresses and check pci membar type

Hash:	15e90cedc17dd2501708428da62c7e54086cf3b1
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jun 6 15:14:58 +0100 2020

	sdiahci: use 64-bit physical addresses

Hash:	caf8df647886963848a2e266124de54fcc737247
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jun 6 15:14:02 +0100 2020

	sdodin: use 64-bit physical addresses and check pci membar type

Hash:	2907f7ffc46f0388402278feed99f85aebcdd165
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jun 6 15:10:58 +0100 2020

	sdnvme: make sure pci membar type is memory

Hash:	dd2d6c9430fe86b6cb7a27e59c54210840640c6a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jun 6 15:10:04 +0100 2020

	usbuhci: make sure pci membar type is i/o

Hash:	a3626a6efacc99bdfbe733758d508ed38ed8148c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jun 6 15:05:40 +0100 2020

	usbehcipc: use 64-bit physical addresses and check pci membar type

Hash:	8243b6600f4c8d60e520aa1b20368ae9575aabf9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jun 6 15:04:24 +0100 2020

	pc/ether*: use 64-bit physical addresses and check pci membar types and sizes

Hash:	3bebd3f5e278d77b1eb526cd9f924b0777043d2b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jun 6 14:58:18 +0100 2020

	pc/vga*: use 64-bit physical addresses and check pci membar types and sizes

Hash:	a8f64e53fe2a2a27440dd9441800e8210cb1a00f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jun 6 14:44:17 +0100 2020

	archacpi: use 64-bit uvlong for physical addresses

Hash:	6184a4ef2eba1d49f0386e9ce94f4877d3d9edb2
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jun 6 14:23:50 +0100 2020

	devvga: use 64-bit physical addresses for framebuffer

Hash:	182e18ecffa579b06d88b4d9bdd1b87f257b5936
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jun 6 14:21:27 +0100 2020

	devpccard: use 64-bit physical addresses

Hash:	4eeaedbcaf8ec3305cff6efc53f4c9ca4ba8558d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jun 6 14:18:18 +0100 2020

	usbxhci: use 64-bit physical addresses

Hash:	b6becc7a642c9efc26143237758a95ec33c733cf
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jun 6 14:17:08 +0100 2020

	devpnp, devether, devusb: cast ISAConf.port to uvlong (for 32-bit implementations)
	
	The ISAConf.port might still be 32-bit on some archs.

Hash:	6ae50ce3303c483b553767dbe422c67c3861abf4
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jun 6 14:12:50 +0100 2020

	devusb: print Hci.port as 64-bit uvlong

Hash:	d4213dbce5ae986f53dd415f189ab2ab0645b6d1
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jun 6 14:11:56 +0100 2020

	devether: print Ether.port as 64-bit uvlong

Hash:	0a96d33a1ce9eceb9856818df0fa49c0a6be46f8
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jun 6 14:10:23 +0100 2020

	devpnp: print pci membar as 64-bit uvlong

Hash:	7bf5c61ea57eebbc73ec5fb2d7ffe13c690a5e0a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jun 6 14:06:07 +0100 2020

	bcm64: bring pci code in line with the pc/pc64

Hash:	142bb6d5cfa25b4f8d495ea82e09a1b94efb9f0f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jun 6 14:01:56 +0100 2020

	bcm64: use uvlong for ISAConf.port

Hash:	c7d9da8f5a41b833946027c802e0e8d7dd014b22
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jun 6 14:01:20 +0100 2020

	bcm64: use 64-bit uvlong physical address in vmap()

Hash:	3bcc34f27623cf7858a7c224470ec70359cfcd48
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jun 6 13:58:20 +0100 2020

	pc, pc64: implement 64-bit pci membar support

Hash:	93f6ce24f46cc596060d859ff97a276e80e1d5c5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jun 6 13:52:16 +0100 2020

	pc, pc64: use 64-bit physical addresses for ISAConf.port

Hash:	21e4d88a51303bc41cc28aba77d8f65d7776e39e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jun 6 13:43:24 +0100 2020

	pc, pc64: use 64-bit physical addresses for vmap() and upaalloc()

Hash:	702bb7a508c7eb936e14a5258741728b7b586c39
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sat Jun 6 02:52:22 +0100 2020

	ape: add missing rerrstr.c

Hash:	f08e95cd93b7b6e2e2ee1a61ddd44e81a9337155
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Fri Jun 5 19:28:47 +0100 2020

	ape: make libplumb available under ape.
	
	This adds the mkfiles and plumb.h to ape,
	similar to how libdraw is made available.
	This is used for ports such as netsurf.

Hash:	2327b48d77c28dbf70d811b765ddd7e1a72618ac
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Thu Jun 4 19:41:03 +0100 2020

	aux/getflags: fix named rune arguments.
	
	Flags can be runes. That means that we can't just
	look at p[1] to decide if we have a named argument,
	we need to look one rune forward. This change
	does that.

Hash:	5f3e72eb844582693e1b0bd4f73be59ab822531e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun May 31 23:07:01 +0100 2020

	merge

Hash:	8918bd598190b8c467746524f1886cc40be0b617
Author:	kvik <kvik@a-b.xyz>
Date:	Sun May 31 21:39:46 +0100 2020

	acme: implement 'scratch' ctl command (thanks Drew DeVault)
	
	The new command marks the target window as a scratch window -- a window
	whose state cannot be "dirtied" by changes made to its body, therefore
	avoiding warnings about unsaved changes when deleting the window or
	exiting acme.
	
	Existing examples of scratch windows are error, directory, and guide
	windows, whose scratchness is set internally.
	
	With the new command users and programs alike can create their own
	scratch windows.  This is put to use in acme's own win(1).

Hash:	94916808dd9a53ac297ab537851791894b919828
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun May 31 16:25:16 +0100 2020

	kernel: remove unused segment argument in freepte()

Hash:	30bf1c45cac396a3b9637cfe40cb1bba4ebca7a9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun May 31 13:32:19 +0100 2020

	pc, xen: make PAT support optional (for xen)

Hash:	5cd7f7b0ec0df483bb5fd768ed59829e44849ed3
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sat May 30 18:06:21 +0100 2020

	ape/libdraw: add missing eenter (thanks phil9)

Hash:	07a1df8c3a8609617e679c11dc4ec322095069d7
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat May 30 12:03:05 +0100 2020

	imap4d: reject invalid month in date2tm()

Hash:	a48b462e4464c762fac0c8fa0af18d05db2a725f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat May 30 01:03:18 +0100 2020

	rc: avoid forking for final command that has variable assignments (to get $apid right)
	
	basically, we want the following commands to print
	the same pid twice:
	
	rc -c 'cat /dev/pid &;echo $apid'
	
	vs:
	
	rc -c 'a=1 cat /dev/pid &;echo $apid'
	
	basically, Xsimple() calls exitnext() to determine if
	a simple command should be promoted to exec, by peeking
	ahead into the code and searching for Xexit instruction.
	
	Xexit might not follow immediately after the Xsimple
	instruction because of redirections, which exitnext()
	would skip.
	
	but it would not skip the Xunlocal instructions that
	where added by the variable assignment.

Hash:	0e97c8d1d7dd8dc2ba800656939106721b1d816f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue May 26 23:09:46 +0100 2020

	ip/cifsd: add FIND_FIRST2 SMB_FIND_FILE_FULL_DIRECTORY_INFO info level

Hash:	b72af6a27d5e183dd6a1ac69dc495c044c6af017
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue May 26 20:37:25 +0100 2020

	sshnet: prevent ssh process from keeping the mount alive

Hash:	153fcabb00c725ffd604828111752b4e65725787
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun May 24 16:50:37 +0100 2020

	pc, pc64: fix wrong mtrr physmask() for machines without extended address size msr

Hash:	9960a125a39bff42912525216bf23539e4000f9c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun May 24 15:00:45 +0100 2020

	awk: fix race condition with sub-mk in mkfile
	
	the maketab helper program was generated in parallel, which
	had a dependency to y.tab.h which lead to yacc running
	twice in parallel.
	
	this removes the dependency to y.tab.h in the virtual
	maketab.$objtype target to prevent this race condition.
	
	the dependency to y.tab.h is resolved in the main mk at the
	$cputype.maketab target which serializes with the other
	targets.

Hash:	f59101231a5513bfa12149504f3ba26323962332
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun May 24 01:43:21 +0100 2020

	usbehci: release ctlr ilock before calling pollcheck()

Hash:	9b28790494ff317b438c7d32a3b0736ac73a1ec9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun May 24 01:12:47 +0100 2020

	merge

Hash:	3869d7a8437e2a9902529cd68915dddcb43e6782
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun May 24 01:11:37 +0100 2020

	usbehci: avoid kproc() while holding poll lock

Hash:	e06f8e061a54a663f12e41b30271c157a92c159e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat May 23 23:26:11 +0100 2020

	man(9): remove accidentally commited indices

Hash:	81918373d23c36bf94dab76d24859a6316afadae
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat May 23 22:32:24 +0100 2020

	merge

Hash:	a54804ed24165e4d9e3d433149f8535f6ce01058
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat May 23 22:31:11 +0100 2020

	ip/tinc: accept udp connection from any udp source port
	
	the remote host might be behind a NAT which translates the
	source port, so if no host could be found, lookup the ip
	address only.

Hash:	a8e4b50cb21072c4699291cbeb243e074ff000f1
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Sat May 23 19:41:20 +0100 2020

	paint: change colors in the palette with button 3

Hash:	ec737b6a2e464330946d5800841a1e631cd36acd
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat May 23 16:44:30 +0100 2020

	libaml: implement ToDecimalString and ToHexString operations

Hash:	b86bb35c7d82f097e6572d400527046245b877fd
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri May 22 22:58:24 +0100 2020

	pc, pc64: do page attribute table (PAT) init early in cpuidentify()
	
	the page attribute table was initialized in mmuinit(), which is
	too late for bootscreen(). So now we check for PAT support and
	insert the write-combine entry early in cpuidentify().
	
	this might have been the cause of some slow EFI framebuffers on
	machines with overlapping or insufficient MTRR entries.

Hash:	0002fd0cf786d16c9b3e1ab62f0cb92b2461f185
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun May 17 22:46:09 +0100 2020

	libc/arm64: work arround linker bug for cas()
	
	at the _cas0 label, the linker would generate spurious stack
	adjustment before the return:
	
	atexitdont+0x84 0x000000000003614c	CLREX	$0xf
	atexitdont+0x88 0x0000000000036150	MOVW	R31,R0
	atexitdont+0x8c 0x0000000000036154	MOV	(SP)16!,R30 <- ????????????
	atexitdont+0x90 0x0000000000036158	RETURN
	
	the work arround is to move the code into its own cas0
	text symbol.
	
	this fixes impossible cwfs crashes in srvi().

Hash:	b599dc0e5486923085f238e146d5a1750bc168a9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun May 17 18:08:10 +0100 2020

	7l: handle dupok flag in TEXT/GLOBL data

Hash:	f860f25f054305a6430d2113bb5e6c4680b1a2f3
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sun May 17 16:18:49 +0100 2020

	Add stdbool.h to ape
	
	in accordance with c99:7.16. Used by perl, trivial enough
	that I feel ok with adding it before the port is fully done.

Hash:	8550a2adb53e41368b0ca706a070cf3e554031c6
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat May 16 15:26:09 +0100 2020

	7l: fix mistake

Hash:	bd4b6bda9b93c2c29eb0cb52b2a1c09fd02028a9
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sat May 16 00:56:59 +0100 2020

	#pragma ref no longer exists
	
	It appears to be an antiquated form of 'USED(x)'

Hash:	78aec6d5c67cab79e03cdbe4f1a1bd7a7aa15612
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sat May 16 00:46:20 +0100 2020

	Fix scans of more than one character in %[]
	
	This got broken in d8e877a89dae, where we returned 0 on the
	first mismatch; we want to return 0 only when we consumed no
	characters.

Hash:	ed4645979c0a6286d92c6bddaee7ea71727b0afb
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Thu May 14 02:50:01 +0100 2020

	stop fiddling with path construction.
	
	There's fd2path, which gives back the full path directly.
	This makes the code even simpler.

Hash:	d332f8a9b5d4437e7d8d0946bb03c13d7fe8a236
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Wed May 13 16:42:00 +0100 2020

	fix yacc crash with absolute paths
	
	When passing an absolute file path to yacc, we would skip
	initializing inpath, leaving it null. This would cause Bopen
	to die. We would similarly fail to report an error if we tried
	to get the current working directory, and then die when
	constructing inpath.
	
	This fixes both cases.

Hash:	1c4c82277ea368739af6a4666ae530bbcfae71cb
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue May 12 23:17:07 +0100 2020

	ape: fix name clash, have to use _SLEEP syscall instead of ape sleep in plan9 code (thanks jamos)
	
	this fixes etimer() from ape built libdraw as posix sleep() uses
	seconds while plan9 uses miliseconds.

Hash:	8ca102d42ed7b1c0ef687365ec32dca2ebd18faa
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue May 12 22:18:48 +0100 2020

	cc: dont export gethunk(), hunk, nhunk and thunk

Hash:	34cf2725d2f8af3db84b77711af7b2559aa131fd
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue May 12 21:45:05 +0100 2020

	cc: get rid of hunk pointer fiddling and just use alloc()

Hash:	ecdf3f921e2a2ec768807bb09e0e7da995612565
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue May 12 21:04:30 +0100 2020

	?l: remove direct hunk manipulation from linkers, just call malloc()
	
	as with recent changes, cc's malloc() could make the hunk pointer
	misaligned. in the the compilers, the hunk pointer is used directly
	by the lexer with no effort to to keep the hunk pointer aligned.
	
	alloc/malloc still return aligned pointers, but hunk itself can
	be on a odd address after allocation of a odd sized amount of bytes.
	
	however, in the linkers, this assumption appears to be differnet. as
	most allocations mostly allocate padded structures. however, symbol
	lookup allocates strings on byte-size ganularity and the cc's malloc
	would misalign the hunk pointer after the malloc() call. while the
	rest of the code assumed hunk pointer was always aligned.
	
	this change removes all the hunk pointer fiddling from the linker,
	and we just call malloc() (which will use the fast implmenentation
	of cc, and should not really make much of a performance difference).

Hash:	73f38fc5460cb68662dd237022bda636ad734045
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Tue May 12 18:48:33 +0100 2020

	[ape] add missing conversion flags for scanf
	
	We're missing type flags for:
	
		hh: char
		ll: vlong
		z:  size_t
		t:  ptrdiff_t
		j:  intmax_t
	
	The lack of '%lld' was causing us to fail when parsing
	timezone files. This brings us in line with the specifiers
	in the C99 standard, section 7.19.6.2p11

Hash:	27fc79b04bee837f513f8ac92c3e50ae76c27abe
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun May 10 21:51:40 +0100 2020

	devip: fix ifc recursive rlock() deadlock
	
	ipiput4() and ipiput6() are called with the incoming interface rlocked
	while ipoput4() and ipoput6() also rlock() the outgoing interface once
	a route has been found. it is common that the incoming and outgoing
	interfaces are the same recusive rlocking().
	
	the deadlock happens when a reader holds the rlock for the incoming interface,
	then ip/ipconfig tries to add a new address, trying to wlock the interface.
	as there are still active readers on the ifc, ip/ipconfig process gets queued
	on the inteface RWlock.
	
	now the reader finds the outgoing route which has the same interface as the
	incoming packet and tries to rlock the ifc again. but now theres a writer
	queued, so we also go to sleep waiting four outselfs to release the lock.
	
	the solution is to never wait for the outgoing interface rlock, but instead
	use non-queueing canrlock() and if it cannot be acquired, discard the packet.

Hash:	dbfec06bf1f8de922ca3af09d14675ef44ada5d2
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun May 10 15:54:42 +0100 2020

	kernel: fix checkpages() and segflush() on SG_PHYSICAL type segments
	
	do not touch s->map on SG_PHYSICAL type segments as they do
	not have a pte map (s->mapsize == 0 && s->map == nil).
	
	also remove the SG_PHYSICAL switch in freepte(), this is never
	reached.

Hash:	0099db7b5b87adb72f1dfa69f893c41ab1c26d6e
Author:	kvik <kvik@a-b.xyz>
Date:	Sun May 10 02:24:19 +0100 2020

	merge

Hash:	1c3a6fc67e6df47e49a9aa6bb13ddfb75852b99c
Author:	kvik <kvik@a-b.xyz>
Date:	Sun May 10 02:18:57 +0100 2020

	acme: add missed error checks

Hash:	662aff21a83a9159ed3ffb0d14ebeafecaecf762
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun May 10 01:44:37 +0100 2020

	merge

Hash:	c474179f9a6428bb81a78d20f43cf982125d5d34
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun May 10 01:43:39 +0100 2020

	usbxhci: fix wrong control endpoint 0 output device context address
	
	the calculation for the control endpoint0 output device context
	missed the context size scaling shift, resulting in botched
	stall handling as we would not read the correct endpoint status
	value.
	
	note, this calculation only affected control endpoint 0, which
	was handled separately from all other endpoints.

Hash:	bfc8cdfff5aba1da7ddef1c2ef7e1167f8dd2e8d
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sat May 9 23:10:39 +0100 2020

	fix '%[]' specifiers and '%n' (thanks phil9)
	
	When a match() fails, we need to unget the character we
	tried to match against, rather than leaving it consumed.
	
	Also, we can't break out of a conversion before we reach
	the end of a format string, because things like the '%n'
	conversion do not consume anything, and should still be
	handled.

Hash:	2c3e60d95b0beafa25845b401ed9996ebe8100fb
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu May 7 22:28:55 +0100 2020

	merge

Hash:	758edf2b1448bcc461bc2f99eeaabad1a077351d
Author:	kvik <kvik@a-b.xyz>
Date:	Fri May 8 19:49:11 +0100 2020

	nusb/kb: add quirks for Elecom HUGE trackball
	
	As said in the code comment:
	
		Elecom trackball report descriptor lies by
		omission, failing to mention all its buttons.
		We patch the descriptor with a correct count
		which lets us parse full reports. Tested with:
			Elecom HUGE (M-HT1DRBK, M-HT1URBK)
	
	The descriptor fixup is adapted from Linux kernel:
		drivers/hid/hid-elecom.c
	in which a more detailed account of why and how this
	works may be found.
	
	A followup change to nusb/kb will be needed to expose
	these additional events for potential remapping.

Hash:	ec4011acf78e176c226d69d355c3996dc3a1062c
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Thu May 7 21:23:15 +0100 2020

	fix typo: mouse->xy, not w->mc.xy

Hash:	04066fe973c628476fbe9eb65bf62a67334987f7
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu May 7 22:27:27 +0100 2020

	bcm64: fix kernels cmpswap() function
	
	spectacular bug. cmpswap() had a sign extension bug
	using sign extending MOV to load the old compare
	value and LDXRW using zero extension while the CMP
	instruction compared 64 bit registers.
	
	this caused cmpswap with negative old value always
	to fail.
	
	interestingly, libc's version of this function was
	fine.

Hash:	6d25e194e2160a6ed8b2a7e399fff90e2215ff3c
Author:	kvik <kvik@a-b.xyz>
Date:	Thu May 7 17:37:08 +0100 2020

	aux/getflags: remove rogue debug print

Hash:	5749900573a33bc805fbb821e041079caaeac526
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Wed May 6 23:39:12 +0100 2020

	bring stdint.h closer to spec
	
	C99 requires that if intXX_t types are defined, int_fastxx_t and
	int_leastxx_t types are defined as well. We define all three to
	be identical (intXX_t == int_fastXX_t == int_leastXX_t).

Hash:	ccf5d3fb9db7e58a9b9177f41edaf045b9294f86
Author:	kvik <kvik@a-b.xyz>
Date:	Wed May 6 23:10:09 +0100 2020

	aux/getflags: improve flagfmt parser
	
	This makes the flagfmt parser more robust and accepting
	a looser input language — namely by allowing whitespace
	around specifier fields and ignoring any empty fields.
	
	Long flagfmts can thus be pleasingly displayed:
	
		flagfmt='
			a, b, c, C:cache,
			m:mtpt mountpoint,
			s:srvn srvname'

Hash:	0dc9c8d0199db2746f2ca651911e8fa60e90e02f
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Wed May 6 21:38:39 +0100 2020

	Reset click count on mouse motion.

Hash:	7de7414e885c3fa3c52200c49528e1e8da5adcc9
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Mon May 4 10:57:24 +0100 2020

	tmac.eai: wrapper around -me: auto indexing sections, .TC macro (thanks sirjofri)

Hash:	5e7959182a569e0ff089df5df34013e28cfe6bff
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Mon May 4 10:55:29 +0100 2020

	add missing /sys/lib/tmac/me files (thanks sirjofri)

Hash:	ac88ce4f7f19be1aae1fdf390fa870b4be8dc3f5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat May 2 16:32:01 +0100 2020

	make bind(2) error handling consistent
	
	The mount() and bind() syscalls return -1 on error,
	and the mountid sequence number on success.
	
	The manpage states that the mountid sequence number
	is a positive integer, but the kernels implementation
	currently uses a unsigned 32-bit integer and does not
	guarantee that the mountid will not become negative.
	
	Most code just cares about the error, so test for
	the -1 error value only.

Hash:	7ff6ea0f70307d4b82e6df69eb1310a6e27aa4ad
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat May 2 16:05:17 +0100 2020

	libdraw: fix mount() error handling in newwindow()

Hash:	19cc46bc5ee1dd43537c4094d19d8da778b72bce
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat May 2 15:56:52 +0100 2020

	sed: accept and ignore -E and -r flags for unix compatibility

Hash:	d0c87bada6e1d3822a414a48c6ee75da68361a19
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat May 2 15:53:52 +0100 2020

	ip/cifsd: implement primitive per-share unix id mapping for wstat()

Hash:	badbf50b0cc21c0faaae6daddf086f76bc871086
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat May 2 14:34:00 +0100 2020

	merge

Hash:	8e2cfc0464d40972afa1f142f999e53771c34399
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat May 2 14:32:19 +0100 2020

	ether82543gc, ether82557, ethervirtio: do kproc() call ouside of spinlock

Hash:	d935bb25d2b7ae1f5fa67496eac9da40c2e7dbd4
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Fri May 1 21:29:08 +0100 2020

	use #error when missing define
	
	This makes it easier to figure out what's going wrong when
	we forget to define _POSIX_SOURCE.

Hash:	eb73718c25eede77fa970c837f6c000d84ca8f55
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Wed Apr 29 04:51:19 +0100 2020

	merge

Hash:	9b8af272991e25aed9be9b1349b6677359739e94
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Wed Apr 29 04:50:10 +0100 2020

	facelift for mothra: flat ui is in.
	
	Remove false 3d, add borders for visual separation between
	content area and navigation area.

Hash:	3bdf242555b9540f1fc6924ea7b24832fb9191fa
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Tue Apr 28 11:49:05 +0100 2020

	libsec/base58enc: null-terminate the result

Hash:	dcf96a006d0d29db2ae1d5f73d8faf14be8ac380
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Tue Apr 28 04:13:16 +0100 2020

	missing headers rate a FATAL.

Hash:	39c3fd117ab4988c041800490b23c2aedb1858d3
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Apr 27 18:55:42 +0100 2020

	lib9p: reject reads on closed fids and writes on directories
	
	mischief provided the following test that shows the issue:
	
	ramfs -S crash
	
	aux/9pcon /srv/crash <<EOF
	Tversion 8192 9P2000
	Tattach 0 -1 $user ''
	Tcreate 0 dir 020000000777 0
	Tattach 5 -1 $user ''
	Twalk 5 6 dir
	Tread 6 0 512
	EOF
	
	the problem is that lib9p wrongly allowed reads on closed fids,
	due to the permission check only considering the lower 2 bits.
	a closed fid has fid->omode == -1 and it would pass on read for:
	
	(-1 & 3) == 3 == OEXEC
	
	the following change explicitely checks for for the closed case
	and also rejects writes on directories (they are rejected on
	open/create, but a broken 9p client could still issue the request).

Hash:	00bfe3ec2bb2f0e5e33130cb32655453e37abba6
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Apr 26 18:55:53 +0100 2020

	merge

Hash:	61a062ee9ff7bbd489baba6dd7c6adb1978e246b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Apr 26 18:54:46 +0100 2020

	kernel: improve page reclaimation strategy and locking
	
	when reclaiming pages from an image, always reclaim all
	the hash chains equally. that way, we avoid being biased
	towards the chains at the start of the Image.pghash[] array.
	
	images can be in two states: active or inactive. inactive
	images are the ones which are not used by program while
	active ones aare.
	
	when reclaiming pages, we should try to reclaim pages
	from inactive images first and only if that set becomes
	exhausted attempt to release text pages and attempt to
	reclaim pages from active images.
	
	when we run out of Image structures, it makes only sense
	to reclaim pages from inactive images, as reclaiming pages
	from active ones will never free any Image structures.
	
	change putimage() to require a image already locked and
	make it unlock the image. this avoids many pointless
	unlock()/lock() sequences as all callers of putimage()
	already had the image locked.

Hash:	0fc1abc73d813280fbd8e7119391a8c5c3d36b7c
Author:	qwx <devnull@localhost>
Date:	Sun Apr 26 18:43:10 +0100 2020

	mothra: fix a few errors in previous patch
	
	- nil check pl_blue allocation, and don't do it every time pl_rtdraw is called
	- fix re-adding previously removed flushimage calls
	- correct format for pointer
	- sysfatal in pl_drawinit on error

Hash:	c6f7989176b9da3b977f397ac4f20bc2f86dec1b
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sun Apr 26 17:32:42 +0100 2020

	copy all the tokens from the tokenrows with a paste.
	
	if we do 'CAT(foo bar, baz quux)', the resulting token row
	should have 3 tokens: 'foo', 'barbaz', 'quux'.
	
	tested by jonasa, rebuilding /sys/src, perl, netsurf, and nuklear.

Hash:	8ebe958ddf4b81df3ecf9b26c4333b2dca1cc987
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sun Apr 26 17:03:42 +0100 2020

	add missing header change (thanks qwx)

Hash:	d6598a2a31e48d2c42a245bc18d4c3d15e0caaa2
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sun Apr 26 04:46:45 +0100 2020

	Support for neo2 keyboard layout
	
	Modify aux/kbdfs to work with neo2 layout.
	- add new modifier, increase limit on layers.
	- Add Kaltgr for mod3
	- Add mod4
	
	This change only implements the alphanumeric
	block of the keyboard in the kbmap, as neo2
	is mainly used for blind typing and is not
	needed that much anywhere else, this leaves
	the numpad like it is.
	
	(Thanks, jstsmthrgk@jstsmthrgk.eu)

Hash:	2614fa02f727daa957ea7e9cc38df108de27c210
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Sun Apr 26 02:55:43 +0100 2020

	mothra: make user interface monochrome

Hash:	9a7c5d56539b94a10ce75e63113b2d351e55e143
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Sun Apr 26 02:53:54 +0100 2020

	mothra: remove extraneous lines and decoration (fake 3d). patch extracted from my forked mess by Ori_B.

Hash:	60c34ebb2da2b9716169ae4e6db4816d02c28910
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sat Apr 25 23:18:04 +0100 2020

	tweak selection criteria
	
	grow selection from point of click, not start of selection region.
	starting at the beginning of the selection region causes the match
	logic to kick in, which is confusing.

Hash:	7feab4dc5913c8d072d57e9cc7cc7b3815037fe8
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Apr 25 21:16:44 +0100 2020

	cc: simplify macexpand() and off-by-one error
	
	the caller of macexpand() needs one more byte in
	the buffer to append peekc.
	
	make macexpand() actually check for buffer overflow.
	
	just use strdup() to duplicate include file name
	instead of the hunk dance.
	
	move GETC() macro in cc.h

Hash:	4adb1d68d1a958c2ee3c5cfe2e26968e13dcfc1b
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sat Apr 25 19:00:27 +0100 2020

	fix typos in time calculation
	
	the results of the time calculation were garbled -- and
	apparently negative on my system when testing, so the
	test passed when it shouldn't have.

Hash:	d52d7bc121c9c761659b6ca3556f360d341ed6c8
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sat Apr 25 18:57:17 +0100 2020

	Backed out changeset 2737b9af622b
	
	not what I wanted to commit.

Hash:	2de164c51dc3330859c160b80440e1363fb5b566
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sat Apr 25 18:43:39 +0100 2020

	fix typos in time calculation
	
	the results of the time calculation were garbled -- and
	apparently negative on my system when testing, so the
	test passed when it shouldn't have.

Hash:	5d7e9bee3ce75cce5727c0283a192b344800cc07
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sat Apr 25 17:38:02 +0100 2020

	Bump protocol version for Ttclick

Hash:	8bc290cc0f60487fc5e8f2411a36c123dda1376f
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sat Apr 25 16:59:14 +0100 2020

	triple click selection in acme
	
	see the last 2 commits.

Hash:	6f4439395837e0699fc8e77b318058a6dd0e28c0
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sat Apr 25 16:58:24 +0100 2020

	triple click selection in rio
	
	same as sam and vt, three clicks selects a
	whitespace-delimited line.

Hash:	f616a0c1bd161c8d3a4765a9d171403974011922
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sat Apr 25 16:57:26 +0100 2020

	triple click selection in sam
	
	three clicks selects a whitespace-delimited line.

Hash:	614b18484cb754c4ba936d143016b558845073b1
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Apr 24 20:15:59 +0100 2020

	acme/win: exit winfs once acme shuts down the window

Hash:	4fb7462bd53daffa8376a752cc06ad7cacfa85a9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Apr 24 19:26:38 +0100 2020

	pc, pc64: use softscreen double buffering for *bootscreen= framebuffer
	
	it is probably almost always a good idea to use
	double buffering with a unaccelerated framebuffer.

Hash:	759656ad4cc778b6cff47296b718cd388e762adc
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Apr 22 18:57:25 +0100 2020

	bcm, bcm64: dancing to the drum of the linux clowns for device tree memory size detection (thanks kenji)
	
	looks like linux changed the device tree names for
	the memory node:
	
	https://github.com/raspberrypi/linux/commit/4b17654f51fd87c42cda3217b0863e6aa1df49b9#diff-ac03c9402b807c11d42edc9e8d03dfc7
	
	this fixes the memory size detection with latest firmware
	on raspberry pi4-b (4GB) for kenji.

Hash:	77048feb25e6d3334a5c3e0942f65c17da426548
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Wed Apr 22 02:14:26 +0100 2020

	/sys/man/1/mothra: add description of Plumb menu item.

Hash:	27743b56d8808fa3fe9d90a790efd7e38180df26
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Wed Apr 22 02:12:32 +0100 2020

	mothra.c: add Plumb menu item, and update man page. my original changes sanity-checked by Ori_B.

Hash:	bd78cd2dd35c006763a03979bf6bbe4f3a25598b
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Wed Apr 22 02:09:12 +0100 2020

	rdhtml.c: restore original fonts. dejavusans was my change, my fault. it never looked right outside of drawterm on osx (mea culpa). this is easy to change for anyone who prefers something else, but it's difficult to imagine native users preferring our very fuzzy dejavusans to anything else.

Hash:	eb266ded8d593bcfa87ae75873ac2d8ee1841620
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Wed Apr 22 01:32:02 +0100 2020

	remove unused macro from chan.c

Hash:	81c9ede53f6f9ebd67e7134e664c98e08b9fcca6
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Apr 21 23:55:58 +0100 2020

	samterm: don't scroll invisible (command) window (thanks umbraticus)
	
	with scroll-wheel scrolling, this case can happen with the
	command window:
	
	umbraticus → cinap: create fullscreen file buffer by right-clicking in cmd window

Hash:	2c317dccea27212b4a2ba42bd792740ea4bbc689
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Apr 19 23:08:35 +0100 2020

	merge

Hash:	8499401ada316f99d5ea8ef058ca1669468e6a7a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Apr 19 22:57:33 +0100 2020

	?a, ?c: fix macro debug prints

Hash:	313216e6fb269a0a8bd04e44547250a31b83c2df
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Apr 19 22:51:18 +0100 2020

	?c: get rid of sprint(), strcpy() and strcat()/strncat(), cleanup

Hash:	b43720e3f75c02ea7ddfea4ac46b37839498db35
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Apr 19 22:47:23 +0100 2020

	[257]l: cleanup fmt routines, replace sprint()

Hash:	c66b3739ac6e493b5c91a35fc64bfba1a6817251
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Apr 19 22:42:02 +0100 2020

	cc: cc.h changes needed by previous commit

Hash:	0d59a2358a2a1f93fb28cd7f47f8420fbf06a9af
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Apr 19 22:37:05 +0100 2020

	?a, cc: fix buffer overflows in built-in preprocessor (macbody)
	
	add a buffer size argument to macexpand() and check for
	overflow.
	
	check for overflow when parsing #include directives.

Hash:	e24bfa4941679fafc7578f542acc08acd18fff99
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Apr 19 21:59:21 +0100 2020

	?a: catch symb[NSYMB] buffer overflow in lexer, cleanup, assume thechar is a rune

Hash:	3f87ffea44150d233b11a38b1ca3673207fe206e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Apr 19 19:44:19 +0100 2020

	cc: get rid of sprint() and temporary buffer for type conversion fuction
	
	slookup() copies to symb, so use the symb[NSYMB] buffer directly
	to declare type conversion functions and get rid of the arbitrary
	sized local buffer. replace sprint() with snprint().

Hash:	260d1eaaa73a377fb7b0cfc00707ddba35a54ccd
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sun Apr 19 19:26:31 +0100 2020

	Make priority array max size explicit.
	
	we were implicitly depending on UMINUS being the last entry
	in the operator table -- that's fragile.

Hash:	15a32f06839819cbbf6f40dccc5189c66379bcc0
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sun Apr 19 19:15:13 +0100 2020

	fix cpp operator associativity
	
	We used to treat all operators as right associative,
	which means that we would evaluate them incorrecty.
	For example, '2 - 1 + 1' would evaluate as '2 - (1 + 2)',
	instead of '(2 - 1) + 1'.
	
	This adds an assoc parameter to struct pri, and then uses
	it to decide how to evaluate operators.

Hash:	2c596d0021299bdeb05bb92866c150b8e43977e9
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sun Apr 19 17:03:35 +0100 2020

	merge

Hash:	21831527cb77e6b4892e0fcd08bbc7a31f8d9098
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sun Apr 19 17:02:21 +0100 2020

	dont overflow the stack
	
	when pushing expressions in cpp, particularly complex ones could
	overflow the stack and silently corrupt our data structures. add
	checks when we push, and bump the stack size up.

Hash:	3a79916c9be2d524b392c1a87a4685ceca603831
Author:	rgl <devnull@localhost>
Date:	Sun Apr 19 14:30:58 +0100 2020

	libmemdraw: remove inexistent build targets

Hash:	d4417679048da21c84d75b4ab522b3da3ae67598
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Apr 19 03:34:16 +0100 2020

	merge

Hash:	34a1b1bb22e482e9a31e522e6df1b34d1673a20a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Apr 19 03:33:07 +0100 2020

	?c: fix Bconv() misusage of strncat()

Hash:	03aeeafffb35a7a0b6fdfbb570f514cf660fd2aa
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Sun Apr 19 02:37:53 +0100 2020

	fortunes: As much as I'd love to I feel I have to let it go -- rminnich

Hash:	e6634fbd0c3e091d6db26c4290d6b31e1e7a36e7
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Apr 19 00:25:35 +0100 2020

	6c: conserve registers for floating point operations
	
	for floating point operations, reuse the return register
	on the right hand side if it has higher complex number
	than the left hand side to conserve registers.
	
	this makes the following code compile, that was previously
	run out of floating point register:
	
	float
	f(float r[15])
	{
		return (r[0] + (r[1] * (r[2] + r[3] * (r[4] + r[5] * (r[6] + r[7] * (r[8] + r[9] * (r[10] + r[11] * (r[12] + r[13] * r[14]))))))));
	}
	
	the downside is that this produces extra move operations.

Hash:	380adf8b485ce93aa42ad0d414718c3ad4918176
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sat Apr 18 23:38:38 +0100 2020

	aux/getflags: support named flags
	
	When using aux/getflags, it produces unnecessarily obscure
	names for the flags. This allows the caller of aux/getflags
	to support arbitrary names.

Hash:	8ae77554dda425997faa8c7562613cc06586a209
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Apr 18 18:07:06 +0100 2020

	7l, ql: dont assume . is in the path for running mkcname (thanks sam-d)

Hash:	94bd7700aa616590ea7cedbe68c6b26f36b4231d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Apr 18 17:20:34 +0100 2020

	rc: fix code serialization for PIPEFD (thanks BurnZeZ)
	
	BurnZeZ reported this the other day. It seems like if we have
	a pipeline that looks like:
	
		fn foo{cat < <{echo hi}}
	
	then the '<' will get merged in /env/'fn#foo'. This change
	fixes pcmd to add a space. It looks to me like this is the
	only token that can get merged this way by pcmd.

Hash:	7734749e8a7391f4e69281fc35e48df22c9a08a4
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Apr 17 18:18:28 +0100 2020

	acme/win: pass on flags to winfs (fix undocumented -e flag)

Hash:	57d690c482c7e5f57608befe7cb04797b1bff153
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Apr 15 17:16:22 +0100 2020

	ip(3): remove outdated maximum ipstack number limit.
	
	the maximum number of ip stacks is a implementation detail
	of devip. it is 128 currently, instead of 16 as suggested
	in the manpage.

Hash:	fe6affc20faca78a716016bf48b640d6ff33f962
Author:	23hiro <23hiro@gmail.com>
Date:	Sun Apr 12 23:33:26 +0100 2020

	draw(3): typo dp

Hash:	0e96bbd073231aba6cc67421b814609b2b5328b5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Apr 12 15:12:41 +0100 2020

	merge

Hash:	1aa80c1d10def5b81392a0962d3e1f0cc478dc53
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Apr 12 15:11:41 +0100 2020

	kernel: remove unused mem2bl() prototype

Hash:	d68f4adeba6ef0db7590cf7c4e1518f4d4bdedff
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sat Apr 11 22:20:53 +0100 2020

	merge

Hash:	2d1dac07f7770e096d76ecbddea364ed538f0e70
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sat Apr 11 22:19:46 +0100 2020

	triple-click to select non-whitespace segment
	
	The previous patch to plumb non-whitespace segments was
	confusing due to lack of visual feedback. This removes
	the empty selecton plumb behavior, and instead makes
	triple clicking work to get a plumbable selection.

Hash:	3cdbbcd859ae0251062cdb10ece25c3d507931f2
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Apr 11 21:37:30 +0100 2020

	merge

Hash:	0c7da78f4519f1352668b4b024f29fb1e887b3d2
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Apr 11 21:36:19 +0100 2020

	ip/ipconfig: ignore default routes targeting ourselfs
	
	when running ndb configuration, we might inherit the ipgw=
	attribute from the ipnet pointing to our own ip address
	(we are the default gateway). ignore such entries.
	
	do not add default routes with gateway equal to our own
	local (ip4) or link-local ip address (ipv6).

Hash:	ebb3e31118724ff3a655815abc333992ac7287ed
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sat Apr 11 19:56:04 +0100 2020

	vt plumbing: don't require selection
	
	Plumbing text in vt requires selecting the text that you
	want to plumb precisely. This patch makes plumbing behave
	the same way that it does in rio.

Hash:	a7dab2728bde8eea68ddfdfadfad08a00b1f7c68
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Apr 11 17:09:48 +0100 2020

	ip/ipconfig: resolve ipgw to an ip address as neccesary (thanks k0ga)
	
	ndb(6) states that ipgw needs to be an ip address,
	however, attempting to resolve ipgw is not difficult
	and already done by ip/dhcpd.

Hash:	d8545806fc28ac45da1d2896c6ffac7075095301
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Apr 11 13:20:41 +0100 2020

	vl: remove unused mysbrk() prototype

Hash:	550b6d1aad832fc6155c776a8192cb457d2b1175
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Apr 11 13:20:13 +0100 2020

	qa: remove ALLOC() and ALLOCN() macros

Hash:	ca9d65e40b3f78d2580fff9ff1844bad1be08673
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Apr 11 13:19:35 +0100 2020

	cc: remove mysbrk(), exponentially increase gethunk() allocation delta
	
	mysbrk() was only used in gethunk() and should not be
	called by anyone, so dont export the symbol.
	
	simplify gethunk() using brk().
	
	double allocation size on each call until we reach
	1000*NHUNK.
	
	use signed long for nhunk as alignment rountin might
	make it negative and handle that case.

Hash:	49c159b50f113fe0c61cc841c14a6fc664f87b49
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Apr 11 04:19:11 +0100 2020

	6c: remove mystery sys.c file

Hash:	1b8a56941708e6fe884f4649f718fae7c543c045
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Apr 11 04:03:49 +0100 2020

	cc, ?[acl]: fix gethunk() and move common memory allocator code to cc/compat
	
	for gethunk() to work, all allocators have to use it,
	including allocations done by libc thru malloc(),
	so the fake allocation functions are mandatory for
	everyone.
	
	to avoid duplication the code is moved to cc/compat
	and prototypes provided in new cc/compat.h header.

Hash:	9d46360c9d83fa95f42f1eebbad49ecd9281fb0d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Apr 11 00:26:36 +0100 2020

	backout the gethunk() again, as that breaks the assemblers
	
	the assemblers share gethunk() cc/macbody but are compiled
	without compat.c, so calls such as getenv() trigger malloc()
	which does its own sbrk() calls, breaking the continuity
	of the hunk.
	
	so this change needs another revision. until then, this is
	backed out.

Hash:	1d3644a1684bd191f3a36568d94c2587c2d9f24f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Apr 10 22:11:25 +0100 2020

	cc, ?l: fix gethunk() to actually grow allocation
	
	the compilers and linkers use ther own memory allocator.
	free memory is between hunk and hunk+nhunk. allocation
	works by checking if nhunk is bigger or equal to the
	amount needed, and if not, repeatedly call gethunk()
	until there is. after that, the allocated amount is added
	from hunk and subtracted from nhunk by the user.
	
	the problem was when the needed amount was bigger than
	the default NHUNK size gethunk() allocates per call.
	gethunk() would not actually grow nhunk, but instead
	just set hunk and nhunk variables to the last allocated
	block. this resulted in a infinite loop of calls to
	gethunk() until sbrk() would hit the maximum size for
	the BSS segment.
	
	this change makes gethunk() actually grow the hunk space,
	increasing nhunk, and only updating hunk when nhunk was
	previously zero. we assume that mysbrk() retuns increasing
	addresses and that the space between the previous hunk+nhunk
	and the new block base returned by mysbrk() is usable.

Hash:	e610ffaf1b7847e82c18a1b9c687cdd7676f86c2
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Apr 10 21:26:37 +0100 2020

	merge

Hash:	a39cc60c52310e0acf5e973b4fa99c7c014874d5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Apr 10 21:25:29 +0100 2020

	cc: backout gethunk() change
	
	the real problem is that gethunk() does not grow the allocation
	but just allocates a new hunk, so repeated calls to gethunk()
	wont make nhunk grow to satisfy the allocation.
	
	this will be fixed in a upcoming commit.

Hash:	2cdf1a3c795ff86c720b54e15b696d5e678238b1
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Fri Apr 10 19:38:45 +0100 2020

	cc, ?a, ?l: change thunk type to uintptr

Hash:	6018316eef179f421ee2b31ec76a9f3638e9bc15
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Fri Apr 10 16:19:44 +0100 2020

	cc: sbrk in bigger chunks as it grows, so it gets a chance to use the ram/swap available

Hash:	1fe3143e4c43ce2c74e0cfdd70b1bd556bbb9e1b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Apr 10 16:12:51 +0100 2020

	kernel: cleanup the software mouse cursor mess
	
	The swcursor used a 32x32 image for saving/restoring
	screen contents for no reason.
	
	Add a doflush argument to swcursorhide(), so that
	disabling software cursor with a double buffered
	softscreen is properly hidden. The doflush parameter
	should be set to 0 in all other cases as swcursordraw()
	will flushes both (current and previours) locations.
	
	Make sure swcursorinit() and swcursorhide() clear the
	visibility flag, even when gscreen is nil.
	
	Remove the cursor locking and just do everything within
	the drawlock. All cursor functions such as curson(),
	cursoff() and setcursor() will be called drawlock
	locked. This also means &cursor can be read.
	
	Fix devmouse cursor reads and writes. We now have the
	global cursor variable that is only modified under
	the drawlock. So copy under drawlock.
	
	Move the pc software cursor implementation into vgasoft
	driver, so screen.c does not need to handle it as
	a special case.
	
	Remove unused functions such as drawhasclients().

Hash:	7b309d2e280675b6ce39f9b53cef6577e295c4f4
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Apr 9 12:05:10 +0100 2020

	pc, pc64: remove "got unassigned irq" prints
	
	most pc's are multiprocessors these days, that use apic or
	msi interrupts, then the irq does not matter anymore. and
	uefi does not even assign irq to pci devices anymore. if
	we have a problem enabling an interrupt, we will print.

Hash:	6041d2048c13057fcefc318345d41eef26e51149
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Apr 8 22:48:09 +0100 2020

	9bootpxe: simplify

Hash:	abc5a66c566e217f8683b6a105860ad05709d541
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Apr 8 22:37:38 +0100 2020

	9bootpxe: continues the war against random DHCPv6 DUIDs
	
	Some UEFI implementations use random UUID based DUID instead of
	ethernet address, but use ethernet derived link-local addresses.
	So extract the MAC from our IPv6 address.

Hash:	fed50d79d38881437639f3189b4a99aee93daa9a
Author:	Alex Musolino <alex@musolino.id.au>
Date:	Wed Apr 8 03:22:06 +0100 2020

	/lib/face: add .dict entries for andrew.1 face files

Hash:	a3f6976a7604d03b62f227f7e6f5259f99b93fa7
Author:	Alex Musolino <alex@musolino.id.au>
Date:	Tue Apr 7 03:44:12 +0100 2020

	notify(2): fix typo

Hash:	665b78da231f568f530c329bc9305f9bf050a2de
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Apr 6 00:31:35 +0100 2020

	merge

Hash:	9e2344a5be97b416c73c81f01913702fd6d2da6c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Apr 6 00:29:12 +0100 2020

	pc64: remove rampage() nil check
	
	rampage() never returns nil

Hash:	a35cd0f861b6ded0811b5c365635e53710d0e157
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Apr 6 00:28:34 +0100 2020

	pc: zero rampage() memory (thanks LordCreepity)
	
	memory returned by rampage() is not zeroed, so we have to
	zero it ourselfs. apparently, this bug didnt show up as we
	where zeroing conventional low memory before the new memory
	map code. also rampage() never returns nil.

Hash:	80fdafd1d6bc27d7a94fabc12f4af37285a17338
Author:	Alex Musolino <alex@musolino.id.au>
Date:	Sun Apr 5 14:56:52 +0100 2020

	file: try ismp4() before ismp3()
	
	It is possible to find the mp3 sync word near the start of an mp4
	file.  As such, file(1) could incorrectly identify some mp4s as mp3s.

Hash:	0ba08200707e5d761cbe39d6b08174f8eb868125
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Apr 5 02:46:47 +0100 2020

	dossrv: fix falloc() for >31 bit sector numbers (thanks sl)

Hash:	ecba7822e316d6cb8370eec97862215402811e82
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Apr 5 02:05:06 +0100 2020

	nusb/usbd: fix portreset error handling
	
	error handling in portreset() was wrong. we called closedev()
	on the device without changing the reference.
	
	just call portdetach() when the reset fails.

Hash:	315f20b9f46671ca1fd323b22de0722c7c561f97
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Apr 4 23:59:47 +0100 2020

	nusb/audio: set frequency only when supported
	
	before setting the sampling rate, check bit D0
	"Sampling Frequency" in the audio class specific
	endpoint descriptor.

Hash:	f5352eb50106bf3c5a938da15dfa7d24721c31dc
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Apr 4 16:17:15 +0100 2020

	merge

Hash:	339112abc350b0b50ed49a1c92911506025117c7
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Apr 4 15:52:08 +0100 2020

	mtx, ppc: use proctab() to index into process table

Hash:	30cbaa5c48160411631f2cd6768025a377cd0bec
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Apr 4 15:50:37 +0100 2020

	kernel: remove scheddump() comment for delay() in */fns.h

Hash:	5f1b70f437ed4f598f9439e201f1f7644f5ce7b5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Apr 4 15:48:37 +0100 2020

	pc, pc64: new memory map code
	
	This replaces the memory map code for both pc and pc64
	kernels with a unified implementation using the new
	portable memory map code.
	
	The main motivation is to be robust against broken
	e820 memory maps by the bios and delay the Conf.mem[]
	allocation after archinit(), so mp and acpi tables
	can be reserved and excluded from user memory.
	
	There are a few changes:
	
	new memreserve() function has been added for archinit()
	to reserve bios and acpi tables.
	
	upareserve() has been replaced by upaalloc(), which now
	has an address argument.
	
	umbrwmalloc() and umbmalloc() have been replaced by
	umballoc().
	
	both upaalloc() and umballoc() return physical addresses
	or -1 on error. the physical address -1 is now used as
	a sentinel value instead of 0 when dealing with physical
	addresses.
	
	archmp and archacpi now always use vmap() to access
	the bios tables and reserve the ranges. more overflow
	checks have been added.
	
	ramscan() has been rewritten using vmap().
	
	to handle the population of kernel memory, pc and pc64
	now have pmap() and punmap() functions to do permanent
	mappings.

Hash:	8debb0736ea5578a195ab663bf9565d6e52ad83b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Apr 4 15:04:27 +0100 2020

	kernel: add portable memory map code (port/memmap.c)
	
	This is a generic memory map for physical addresses. Entries
	can be added with memmapadd() giving a range and a type.
	Ranges can be allocated and freed from the map. The code
	automatically resolves overlapping ranges by type priority.

Hash:	7451bb405d9e51965ce07d55f04f43dc45b6cef9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Apr 4 14:55:48 +0100 2020

	ether8390: remove unused variables

Hash:	6498ce3bf29b5350975a0cd22bca8bcac19c4377
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Apr 4 14:47:50 +0100 2020

	ether8003: use physical addresses for ISAConfig ether->mem
	
	Fix the inconsistent use of ether->mem. Always use physical
	addresses. Let ether8390 convert to virtual addresses using
	KADDR() when we have to copy data in/out.

Hash:	ad3da2fac222b42f06576262130b9f1f201b585c
Author:	Alex Musolino <alex@musolino.id.au>
Date:	Wed Apr 1 13:27:15 +0100 2020

	merge

Hash:	c3938067180ed707828cdbcd0b2d430a13323dd9
Author:	Alex Musolino <alex@musolino.id.au>
Date:	Wed Apr 1 13:19:19 +0100 2020

	upas/fs: fix sending of "delete" plumb messages
	
	Broken by changeset 2cc069392228.

Hash:	55033d9aedd86ab398644d188ae826cb537a52c7
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Wed Apr 1 10:42:35 +0100 2020

	kbd(1): revert repeat/delay change

Hash:	4756cf549a8b0e9a6924713666770045b13dd8b8
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Wed Apr 1 10:31:19 +0100 2020

	devkbd: bits bad! revert repeat/delay, better patches welcome

Hash:	4dcb3ce2ab2baca0b03a8f59389e46ff263e7641
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Mar 29 21:47:42 +0100 2020

	xen: fix rebootcode linkage
	
	need to strip the a.out header, just like with the pc
	kernel.

Hash:	d3512f60df5d7a2ea5c4cad3cdef797f1f95a182
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Mar 31 20:57:53 +0100 2020

	ip/dhcp6d: work arround non-ethernet based client duid
	
	in ndb, we use the ethernet mac to identify the client.
	in dhcpv6, there is just a uniqueue device id that
	might even be generated randomly. to find the ethernet
	address of a client, check the duid type and only use
	it when the dudid is of type 1 (link layer) or 3 (link
	layer address + time) and the link layer address type
	is 1 (ethernet). otherwise, assume the source ip is
	a link local address and extract it from that.
	
	this hack works for thinkpad t495, which uses random
	uuid based client duid.

Hash:	480ce0314ee6338644bc202aa68c13c06b1846ce
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Mar 31 18:00:32 +0100 2020

	audiohda: add pci vid/did for AMD Raven HD Audio Controller (T495)

Hash:	ddaaf65efe197dafd7ca9175debb075dca0ce49b
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Tue Mar 31 09:04:24 +0100 2020

	kbd(3): fix a typo (thanks Alex Musolino)

Hash:	11025d6f4a2c3c7e75010f85c2d3108e602270b7
Author:	BurnZeZ <devnull@localhost>
Date:	Sun Mar 29 18:39:30 +0100 2020

	lib9p: fix re-use of root Qid when using createfile(); remove unused dirqidgen

Hash:	f5f37ba5eb2a471c1014b406d00a84df87295143
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Sun Mar 29 18:28:39 +0100 2020

	pc64: enable uartpci (thanks taw9 for testing)

Hash:	7ae64cec1099b114d7076690ec56515207498ba3
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sun Mar 29 04:33:47 +0100 2020

	merge

Hash:	8589a591dee9ccb46e09fbb5bf6962cabd178f98
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sun Mar 29 04:32:53 +0100 2020

	we prefer nil over 0, make the example show it.

Hash:	1b8d87555a0905e5a83000066518c85a2a85b204
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Mar 28 23:49:07 +0000 2020

	pc, pc64: ignore the 64-bit bar flag when reserving membar
	
	a bar with bit 3 set means the bar is the low half of
	a 64-bit wide bar.

Hash:	3c36cadefd5675ad290a607c3be0450eccde1f54
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Mar 28 23:44:09 +0000 2020

	pc: fix mp boot regression due mistake in mkfile
	
	the previous mkfile had a sneaky hack that would use
	sed to delete the first 2 lines of hex output to strip
	the 32 byte long a.out header for apbootstrap and rebootcode.
	
	use 8l -H3 flag to strip the header from the output file.

Hash:	90143609212ed4500409a64d26f6b12d097b13ed
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Sat Mar 28 14:37:48 +0000 2020

	kbd: add "repeat" file to set typematic repeat rate/delay on PS/2 keyboards

Hash:	47e3c088c90944e49041c8b210dd7169479738da
Author:	Alex Musolino <alex@musolino.id.au>
Date:	Thu Mar 26 07:54:39 +0000 2020

	grep: fix handling of -b flag
	
	Output buffering is automatically disabled when reading from stdin.
	In this case, supplying the -b flag ought to be redundant.  However,
	since Bflag was being XORed into the flag set - rather than simply
	ORed - supplying -b would actually enable output buffering.

Hash:	2f67e21393c25943f25e116fa6912b7d92dbca4e
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Tue Mar 24 21:45:15 +0000 2020

	turn ptrdiff_t into a 64 bit type
	
	while technically a 32 bit ptrdiff_t is in spec on
	systems with 64 bit ponters as long as we guarantee
	that individual objects are small enough, this can
	confuse legitimate code, so lets fix this.

Hash:	0e1fec841e7cc9291110284a946d1d0489fc7713
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Tue Mar 24 21:41:31 +0000 2020

	add intmax_t/uintmax_t as required by c99 7.18.1.5

Hash:	3fe2924287628a02d9c5f7d208a5af4623588034
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Mon Mar 23 16:18:44 +0000 2020

	evaluate #if expressions using vlong
	
	#if expressions are expected to be evaluated using intmax_t,
	according to the C99 spec, 6.10.1 p3. On plan9, intmax_t maps
	to vlong.

Hash:	9a4b5f2e6122ea261ce90fcab3f7361f76580bc8
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Mon Mar 23 00:34:22 +0000 2020

	merge

Hash:	a654b94db8a3574b7a774edfd77b8612c0b642cd
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Mon Mar 23 00:31:39 +0000 2020

	add va_copy macro, conforming to c99 7.15.1.2

Hash:	87e437a856f00ac412c0ded9b124b358b3eb10ce
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Sat Mar 21 00:50:11 +0000 2020

	update colemak kbmap, simpler version with scroll working (thanks jeremy)

Hash:	3377b78cd313c67ae1926deac73c4da6f3817dba
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Sat Mar 21 00:40:03 +0000 2020

	add colemak kbmap (thanks Silas McCroskey)

Hash:	5da2b91989ced9a06c47db9e5879efd468e981f2
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Sat Mar 21 00:07:40 +0000 2020

	add swiss german kbmap (thanks mike)

Hash:	7364a96b289c24637db802fca6c57d8024ca2359
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Fri Mar 20 21:12:23 +0000 2020

	bell labs is dead, man
	
	remove the last reference from 9fs.

Hash:	aa5e86a8caba5ede5626d09c5cb0997530920e57
Author:	BurnZeZ <devnull@localhost>
Date:	Fri Mar 20 18:08:34 +0000 2020

	kbdfs: fix kbmapread() not accounting for reads smaller than the size of the line

Hash:	37b86df09ff381bcc4f60802d43e57bd9bfcac73
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Wed Mar 18 05:03:25 +0000 2020

	Improve the posix preprocessor.
	
	This fixes token pasting, making it expand when
	it should expand, and paste before expansion when
	it should paste before expanding.
	
		#define CAT(a, b) a ## b
		#define BAR	3
		#define FOO	CAT(BAR, 3)
		FOO
	
	now produces 33, while
	
		#define CAT(a, b) a ## b
		#define EOF	(-1)
		#define NOP(x)	x
		NOP(CAT(foo, EOF))
		CAT(,EOF)
		CAT(,)
	
	produces
	
		fooEOF
		(-1)
		<empty>
	
	respectively.

Hash:	52dc943702a8f7815546e76286b153c3813e1db0
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sun Mar 15 22:08:04 +0000 2020

	fix ccom idempotency
	
	ccom may be called multiple times on the same
	node, via 'goto loop' calls from the commute
	label, OADD, and a few other places.
	
	Casts to void could null out the LHS of the
	node, which would cause the compiler to crash
	if the cast was revisited due to one of these
	cases, because we tried frobbing n->left.
	
	Now, if n->left is nil, we just return.w

Hash:	5bc9b0c3cac34864d479c099283793ec4ae5565e
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Tue Mar 10 17:09:34 +0000 2020

	improve usage messages (thanks henesy)
	
	Fix inconsistencies between programs and their usage
	messages,  correct instances where information seems
	to be missing or lost. This  includes missing arguments,
	making usage consistent with manuals, and so on.

Hash:	06ea44c895a5f97b7b9b65fce84dec2700f443fb
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Tue Mar 10 16:35:06 +0000 2020

	fix -T option for doctype
	
	We used to set $dev to -T, and leave the device type
	in the argument list. Now, we set it to -T$2, and shift
	it out of the list.

Hash:	fc90f7a666da0b1634797d8596e8fdd4bbeba956
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Mon Mar 9 21:24:02 +0000 2020

	fix heredoc crash
	
	we emitted an error on heredoc tags, but we
	continued on, and added a heredoc entry to
	the list, with a tag that we couldn't handle.
	
	when processing this heredoc, rc would segfault.
	
	fix: don't add a heredoc to the list on error.

Hash:	698837e7150af19ff6a3f0bf2144dffc81202a55
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Mon Mar 9 15:02:22 +0000 2020

	fix alignment in ape malloc
	
	We used to have a padding int in the structure
	after the next pointer, to align it to 16 bytes.
	On 64 bit architectures, the pointer was already
	8 bits, so the padding misaligned things to 20
	bytes.
	
	This fixes it so that we're explcit about the
	data alignment we want, instead of hoping that
	the various sizes line up.

Hash:	446e454c5a19d1ce2e8da699686159b3a31e8bc7
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Mon Mar 9 12:58:41 +0000 2020

	sam: ^ does not need current file

Hash:	290c921d1d01119b7d4550770da06c491508508f
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Mon Mar 9 12:22:10 +0000 2020

	sam(1): document $% and $%dot

Hash:	27f36483d44a1f9fcf9a3ffefe688a0f12ace466
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Mon Mar 9 12:21:50 +0000 2020

	sam: add $%dot (thanks kvik)

Hash:	50791b875552b0dc5748aa67c95776736f6ff4b7
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sun Mar 8 23:31:30 +0000 2020

	add usage messages to auth/(enable disable status).
	
	print useful message when user invokes these commands incorrectly
	(thanks henesy)

Hash:	e9e55a21f66a3eff114025dcb1fe62570d0fa3e6
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Mar 8 21:00:23 +0000 2020

	lib9p: implement automatic remove-on-close cleanup in postsharesrv(), remove postfd() and sharefd() functions
	
	with the latest changes to shr(3), we can use ORCLOSE on
	the control file to get the mount in the share automatically
	removed when the server exits or something goes wrong during
	postsharesrv().
	
	do not expose postfd() and sharefd() functions. they where
	undocumented and leak the control file descriptors.

Hash:	11628e90fb85137a3f02e4ad5c343c15a90846b5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Mar 8 19:55:58 +0000 2020

	merge

Hash:	28f3a3aad8d2d73010f1c81080e92f71903f4556
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Mar 8 19:53:30 +0000 2020

	boorc, nusbrc: fix wrong redirections after &
	
	the rc & operator changes stdin to /dev/null, so we
	have to do the <[0=1] inside the {}
	
	this never showed up as an issue because many
	fileservers just read 9p messages from standard
	output.

Hash:	e652be5559a70aa339a3952889f0421b9dda5ceb
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sun Mar 8 18:46:34 +0000 2020

	"": output previous action to stderr
	
	When redirecting output from "", it prints the command
	to stdout, which garbles things like:
	
		% foo
		<inspect output>
		% "" > /dev/snarf
	
	Now, we send it to stderr.

Hash:	f99b9cae6a3dc5775a83b264d6041be8d5d416d6
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Mar 8 17:23:07 +0000 2020

	devshr: unmount service on #σc/share/mount removal
	
	when the control mountpoint side gets removed, close
	mount channel immediately. this is usefull for implementing
	automatic cleanup with ORCLOSE create mode.

Hash:	fe393882506834722eda40d94289133366f5a210
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Mar 8 15:06:37 +0000 2020

	nusb/usbd: cleanup processes on unmount
	
	this makes sure that when postsharesrv() fails (for
	example because the shr file already exists), the
	worker process gets killed and all file descriptors
	to devusb get closed.

Hash:	06b9aa5039d6ce366870b5de1075c245111fd161
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Mar 8 14:29:32 +0000 2020

	9p(2): document all the effective rfork flags for postmountsrv()

Hash:	bc1212faf2f23ee5e846e6322edd86c1af481aab
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Mar 8 13:49:34 +0000 2020

	9p(2): document the filedescriptor sharing behaviour of postmountsrv()

Hash:	a609c1a2f8d58d21727c13970725445ce4d2f6fa
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Mar 8 13:11:23 +0000 2020

	devproc: return process id when reading /proc/n/ctl file
	
	allow reading the control file of a process and return
	its pid number. if the process has exited, return an error.
	
	this can be usefull as a way to test if a process is
	still alive. and also makes it behave similar to
	network protocol directories.
	
	another side effect is that processes who erroneously
	open the ctl file ORDWR would be allowed todo so as
	along as they have write permission and the process is
	not a kernel process.

Hash:	57741d473f9d5165d142b165bd837984f6428c66
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Mar 8 12:13:25 +0000 2020

	games/playlistfs: open /proc/n/ctl OWRITE, not ORDWR

Hash:	5826140ce394025d21ab8d2b2c21c12720e88a59
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Mar 8 04:52:23 +0000 2020

	lib9p: restore previous behaviour of fd group sharing
	
	it appears that too many fileservers rely on the fileserver
	process sharing the filedescriptors with children of the
	caller to postmntsrv() or threadpostmntsrv().
	
	restoring previous behaviour for now.

Hash:	59fdb3a12cd1e6ec9f65ca014c23fd27bea45245
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Mar 8 03:54:37 +0000 2020

	sshnet: fix fork race conditions
	
	sshreadproc() needs to be started after opening the sshfd file
	descriptor.
	
	fsnetproc() needs to run in the same filedescriptor group as
	the fileserver.

Hash:	2c53dd32b5cf88daad2bad02a058af414275322d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Mar 8 02:34:55 +0000 2020

	aux/realemu: fix exit code

Hash:	cea9e2267a70d17173c2b0fcdc421ee11b66ee79
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Mar 8 02:25:35 +0000 2020

	aux/realemu: run cpuproc in same fd group as fileserver

Hash:	7aaa481f9f89f393e94e311d3b62577cfb1cd8d9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Mar 8 02:12:00 +0000 2020

	aux/timesync: open /proc/n/ctl with OWRITE, not ORDWR

Hash:	a0879abae40625f586a0af5621e7a29f8b5a568f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Mar 7 22:58:47 +0000 2020

	devproc: don't allow /proc/$pid/ctl to be opens for reading

Hash:	efd64da989f1b6585e5413b1b61413509ae49eaf
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Mar 7 21:26:49 +0000 2020

	nusb/usbd: fix /env/usbbusy bug
	
	run the usb hub poll "work()" proc in the same filedescriptor
	group as the fileserver by forking the process in Srv.start
	callback.
	
	this also prevents the usbbusy filedescriptor from being kept
	open by the fileserver process.

Hash:	1a1b4b54b3e1553b36f18f1617ad8cb487442155
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Mar 7 19:41:46 +0000 2020

	rio: fix goodrect() bug (thanks mike)
	
	mike from eff0ff.net reported the following:
	
	> I was running a second instance of rio inside a rio window and
	> suddenly weird things started happening. The second instance started
	> imposing arbitrary limits on the size of its windows and refused to
	> resize some of its windows when its own window was resized.
	> Turns out this happens if rio's screen is 3 times as high as wide
	> because of a tiny mistake in its goodrect function.
	
	... and kindly provided a patch. thanks!

Hash:	feb6d6f0a32e5dac88d1ef46bbc4396ec44ce40b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Mar 7 19:27:20 +0000 2020

	dossrv, 9660srv, hjfs: stop *READING* standard *OUTPUT* with -s flag
	
	with the -s flag, we should read 9P messages from
	standard *INPUT* (fd 0) and write responses to
	standard *OUTPUT* (fd 1).
	
	before these servers where reading from fd 1,
	assuming they where both the same files.

Hash:	225c359beab9e2f17c66e65647b9e0a94f942620
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Mar 7 19:19:14 +0000 2020

	lib9p: get rid of Srv.nopipe and Srv.leavefdsopen hacks
	
	it is unclear how Srv.nopipe flag should work inside
	postmountserv(). if a server wants to serve on stdio
	descriptors, he can just call srv() after initializing
	Srv.infd and Srv.outfd.
	
	The Srv.leavefdsopen hack can be removed now that acme
	win has been fixed.

Hash:	e1cdcfdb172071bafef18b1ac160138c97459b79
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Mar 7 19:06:55 +0000 2020

	acme: split win into winfs and rc script, get rid of lib9p leavefdsopen hack
	
	split the acme win command into a winfs fileserver which
	handles /dev/cons emulation and a rc script responsible
	for launching the command.
	
	with these changes, the fd fiddling is not neccesary anymore
	and we can get rid of the leavefdsopen hack.

Hash:	022087cdcdd39e7904f6970b54152f4aa30fc071
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Mar 7 14:20:07 +0000 2020

	lib9p: fix typo

Hash:	8f64e448545a11c1c0e0db8bef34c23d3c0e0ad7
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Mar 7 14:01:29 +0000 2020

	lib9p: zero out per connection state in Srv template for listensrv()
	
	in case listensrv() is called with a previously active Srv,
	we have to make sure that per connection state is zeroed
	out (locks and reference conuts).
	
	also, dont assume anything about the Ref structure. there
	might be implementations that have a spinlock in them.

Hash:	dce28e58e492e5b4448451ddcbe948d9b104d859
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Mar 7 13:23:34 +0000 2020

	dossrv: output iotrack error message to stderr

Hash:	e0cb81af9497c322d9656fec0201586f2428aad5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Mar 7 12:35:46 +0000 2020

	ramfs: don't use Srv.nopipe

Hash:	b053f5d0607689b0217bc5e41669c5370335667c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Mar 7 12:23:34 +0000 2020

	aux/acpi, aux/apm: remove nopipe -i flag

Hash:	de289929a762ea1354f702d415ee9c5f25d4d0da
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Mar 7 11:28:49 +0000 2020

	hgignore: ignore section 9 manpage indices, ignore init, kernels and bootloader binaries

Hash:	a87c9cfc6ccd15814d0d59f7d20432fa97dc53eb
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Mar 5 19:46:01 +0000 2020

	devproc: fix syscalltrace read for ratrace

Hash:	17136370d8fa16697e8e5fce8ae65c67197f4438
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Mar 1 22:23:01 +0000 2020

	hgfs: fix loadrevinfo() for empty log bug
	
	loadrevinfo() would fail on a empty log portion due
	to a bug in the previous commit.
	
	the loop is supposed to skip all bytes until we encounter
	a empty line. the loop starts at the beginning of a line
	so when we encounter a \n, we have to terminate, otherwise
	read bytes until we see \n (end of a line) and then read
	another and test the condition again.

Hash:	2f976d8b56b77baa7a3b3ed29a56652a53c5315c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Mar 1 15:02:56 +0000 2020

	libsec: move AES XTS function prototypes to AES definition section in the header file

Hash:	64640083dee2aaa5c407a8938cc44571333b9b6c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Mar 1 14:07:44 +0000 2020

	libsec: remove hash pickle functions, document ripemd160, cleanup sechash(2) manpage

Hash:	69e28c6513866152265fb11c2424afe69f0323d3
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Feb 29 20:06:45 +0000 2020

	kernel: simplify exec()
	
	progarg[0] can be assigned to elem directly as it is a
	copy in kernel memory, so the char proelem[64] buffer
	is not neccesary.
	
	do the close-on-exit outside of the segment lock. there
	is no reason to keep the segment table locked.

Hash:	17a92f3995976b5d7618d1a2442e0028c1b192de
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Feb 28 15:48:42 +0000 2020

	devproc: make sure writewatchpt() doesnt overflow the watchpoint array
	
	the user buffer could be changed while we parse it resulting
	in a different number of watchpoints than initially calculated.
	so add a check to the parse loop so we wont overflow the
	watchpoint array.

Hash:	adb36de077c9bcd99072e86c7f84bac46a58e326
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Feb 28 15:45:20 +0000 2020

	kernel: make sure we wont run into the tos when copying exec() arguments
	
	in case the calling process changes its arguments under us, it could
	happen that the final argument string lengths become bigger than
	initially calculated. this is fine as we still make sure we wont
	overflow the stack segment, but we could overrun into the tos
	structure at the end of the stack. so change the limit to the
	base of the tos, not the end of the stack segment.

Hash:	ff3e0eeb22816208360db3c87e501c5de7d998e3
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Feb 28 15:41:09 +0000 2020

	devproc: cleanup procwrite size checks
	
	writes to /proc/n/notepg and /proc/n/note should be able to write
	at ERRMAX-1 bytes, not ERRMAX-2.
	
	simplify write to /proc/n/args by just copying to local buf first
	and then doing a kstrdup(). the value of Proc.nargs does not matter
	when Proc.setargs is 1.

Hash:	3df95385bcc5294a212534d0991f1ffef1454aca
Author:	Ori Bernstein <ori@eigenstate.org'>
Date:	Thu Feb 27 20:09:10 +0000 2020

	fix special case for null pointer constants in cond expressions
	
		Section 6.5.15 of the C99 spec requires that if
		one argument of a ?: expression is a null pointer
		constant, and the other has a pointer type T*, then
		the type of the expression is T*.
	
		We were attempting to follow this rule, however,
		we only handled literal expressions when checking
		for null pointers.
	
		This change looks through casts, so 'nil' and 'NULL',
		and their expansion '(void*)0' are all detected as
		null pointer constants.

Hash:	0f9666ae162f7c330850fa513e8ed3bd5fd995df
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Thu Feb 27 05:45:00 +0000 2020

	walk arguments to g
	
		This allows us to 'g' the files
		within a directory, as in:
	
			g _MAX /sys/include/ape
	
		Before this change, we'd attempt to
		grep the directory structure, which
		is not ideal. After, we grep the
		files within the directory.

Hash:	1ccd0cd04d75840861e26f6c5f6ac73396d43d8a
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Thu Feb 27 04:52:20 +0000 2020

	include section 9 in manpage plumb rules.
	
		We added section 9 to the manual. However,
		the plumb rule only recognized sections 1
		through 8. Fix it to include section 9.

Hash:	7bd7776935eea88f322753e963bcc858d1d9ecc7
Author:	BurnZeZ <devnull@localhost>
Date:	Sun Feb 23 20:33:27 +0000 2020

	ape/cc: stop spamming arguments that are only needed once

Hash:	ab5c4799d95e0d60ca9ebf16dede88cd245e3aaa
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Feb 23 19:42:00 +0000 2020

	devcons: fix permissions for reboot and sysstat
	
	#c/reboot is a write only file
	#c/sysstat should not be writable by everyone (write resets counters)

Hash:	9fcce48b3859f3aa5a784efba460ad2b090bf7a8
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Feb 23 17:58:06 +0000 2020

	kernel: avoid selecting the boot process in killbig()

Hash:	4a80d9d029891e056a7badeeea8e3b588efd694b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Feb 23 17:00:21 +0000 2020

	kernel: fix multiple devproc bugs and pid reuse issues
	
	devproc assumes that when we hold the Proc.debug qlock,
	the process will be prevented from exiting. but there is
	another race where the process has already exited and
	the Proc* slot gets reused. to solve this, on process
	creation we also have to acquire the debug qlock while
	initializing the fields of the process. this also means
	newproc() should only initialize fields *not* protected
	by the debug qlock.
	
	always acquire the Proc.debug qlock when changing strings
	in the proc structure to avoid doublefree on concurrent
	update. for changing the user string, we add a procsetuser()
	function that does this for auth.c and devcap.
	
	remove pgrpnote() from pgrp.c and replace by static
	postnotepg() in devproc.
	
	avoid the assumption that the Proc* entries returned by
	proctab() are continuous.
	
	fixed devproc permission issues:
		- make sure only eve can access /proc/trace
		- none should only be allowed to read its own /proc/n/text
		- move Proc.kp checks into procopen()
	
	pid reuse was not handled correctly, as we where only
	checking if a pid had a living process, but there still
	could be processes expecting a particular parentpid or
	noteid.
	
	this is now addressed with reference counted Pid
	structures which are organized in a hash table.
	read access to the hash table does not require locks
	which will be usefull for dtracy later.

Hash:	f7c60230669e8e00bc794f07726070d577d5aa3f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Feb 23 13:08:33 +0000 2020

	devswap: dont assume Proc* structures returned from proctab() are continuous

Hash:	b7089d66ad5a26a2b39c1c1e17a4761cd1670728
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Feb 23 13:05:01 +0000 2020

	sdiahci, sdodin: avoid calling kproc() while holding ilock()

Hash:	68f15d65942da7e30cf9cbae7362f778fe5da1d2
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Sat Feb 22 23:57:05 +0000 2020

	/sys/lib/kbmap: update 0xf860 to Kshift value, fix fake shifts on esc1

Hash:	219741ac012ee7341bff6cfd8f4b49b09a66ab17
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Feb 19 18:26:43 +0000 2020

	sed: allow whitespace after ! negation (thanks k0ga)

Hash:	234aafb38da9d3486cceda5c28b529a5343fdf65
Author:	spew <devnull@localhost>
Date:	Thu Feb 13 21:09:25 +0000 2020

	acme(1): fix scrolling when swiping text at the top or bottom of a frame

Hash:	98374d6eeae45278a5e21a53d7ad40d2afdd8439
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Tue Feb 11 03:26:39 +0000 2020

	remove C99_SPRINTF_EXTENSION define.
	
	It's been 20 years since c99 came out. By now, if code
	hasn't been fixed, it's not going to be. Requiring this
	define just confuses porters.

Hash:	5f7a6b7ea3c4ae1b51beffe3309e9b6b0491e71f
Author:	Roberto E. Vargas Caballero <k0ga@shike2.com>
Date:	Sun Feb 9 20:39:17 +0000 2020

	bcm: change ARGB32 to XRGB32 for framebuffer to avoid slow drawing

Hash:	8b59286ef1d9bef6c2c7b248ab0b8072e25ec9cf
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Wed Feb 5 22:11:15 +0000 2020

	upas/fs plumb modify messages for self-changed flags
	
		Currently upas/fs plumbs modify messages only if the flag
		changes are made by another imap connection.  If the flag
		changes are made within the running upas/fs no modify message
		is plumbed.
	
		This changes upas/fs to set the modify flag if we made the
		change ourself. It also moves the flag setting before the
		imap read, so that we don't clobber flag changes coming
		from the imap server with our own flags.
	
		(Thanks Tobias Heinicke)

Hash:	70043845680fe6737b21215021e011880969fb78
Author:	rgl <devnull@localhost>
Date:	Tue Feb 4 20:32:33 +0000 2020

	image(6): fix typo

Hash:	77a7e3f8fcafd8d8339b7d734f2b525867904597
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Feb 2 19:46:58 +0000 2020

	kernel: cleanup makefile for $CONF.$O target

Hash:	04c4a9ca8b06e34a203f7ddacc2263cf2077e1aa
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Feb 2 19:33:40 +0000 2020

	merge

Hash:	be8cbcc8524cee8328bce97200f5d7e22abbb3da
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Feb 2 19:31:48 +0000 2020

	listen(1): implement one-shot mode flag for listen1 (thanks kivik)

Hash:	8ce18a6338b52a419841237e8f9b42847bdacba6
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Fri Jan 31 17:25:39 +0000 2020

	fix double free in acme.
	
		in acmerrorproc():
			sendp(s);
			free(s);
	
		in waitthread():
			recv(&err)
			free(err)
	
		We only want waitthread to free.

Hash:	efd4eb8933747d7df096d0abdea267f225153764
Author:	rgl <devnull@localhost>
Date:	Wed Jan 29 18:27:07 +0000 2020

	document common emulator keys

Hash:	2c0ccff2864549e77e1fa3e27802eee429ff3886
Author:	BurnZeZ <devnull@localhost>
Date:	Tue Jan 28 01:27:41 +0000 2020

	walk: add D and T fmt characters (fileserver device/type)

Hash:	0f1b442bc04c64dcc0709a6a060a0ed3ef4935e7
Author:	BurnZeZ <devnull@localhost>
Date:	Tue Jan 28 00:53:58 +0000 2020

	walk(1): formatting/corrections

Hash:	7facfb5548409777278f3b146307468f0bb0bb77
Author:	BurnZeZ <devnull@localhost>
Date:	Tue Jan 28 00:44:44 +0000 2020

	walk: remove superfluous newline

Hash:	023d957e6b80f88584fdff30a95be6330613b27a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jan 27 01:17:14 +0000 2020

	kernel: restore old behaviour that kprocs have ther noteid == pid

Hash:	46a733c328cf8ab399d779cc54333fe858d89da7
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jan 27 00:51:35 +0000 2020

	kernel: fix mistake from previous commit (noteid not being inherited by default)

Hash:	8d51e7fa1a1dbcbde513c2b756d504c879598907
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jan 26 18:01:36 +0000 2020

	kernel: implement portable userinit() and simplify process creation
	
	replace machine specific userinit() by a portable
	implemntation that uses kproc() to create the first
	process. the initcode text is mapped using kmap(),
	so there is no need for machine specific tmpmap()
	functions.
	
	initcode stack preparation should be done in init0()
	where the stack is mapped and can be accessed directly.
	
	replacing the machine specific userinit() allows some
	big simplifications as sysrfork() and kproc() are now
	the only callers of newproc() and we can avoid initializing
	fields that we know are being initialized by these
	callers.
	
	rename autogenerated init.h and reboot.h headers.
	the initcode[] and rebootcode[] blobs are now in *.i
	files and hex generation was moved to portmkfile. the
	machine specific mkfile only needs to specify how to
	build rebootcode.out and initcode.out.

Hash:	60bb408acca3b48b17f9158132849b894ad9f234
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jan 25 17:37:28 +0000 2020

	ppc: remove old duplicate of devtls.c

Hash:	6f80913ac72490cca7645b85b64de5ed52a7ce91
Author:	aiju <devnull@localhost>
Date:	Wed Jan 22 13:09:09 +0000 2020

	add v8e

Hash:	1ecdf09aeeb16dd359251e3e698c8ea7798bd285
Author:	Alex Musolino <alex@musolino.id.au>
Date:	Mon Jan 20 04:29:04 +0000 2020

	page(1): fix troff manual example

Hash:	09eac381e58e74051ab7ddb1e96fc32671d3cada
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jan 19 18:21:10 +0000 2020

	merge

Hash:	47bae09b33f677b9e1f5b45190ec5216f5d988e0
Author:	Roberto E. Vargas Caballero <k0ga@shike2.com>
Date:	Sun Jan 19 18:18:12 +0000 2020

	Apply http://www.9paste.net/qrstuv/patch/acme-movetodelmesg/

Hash:	16f11e4cd6a925d10aaef1416bbe2d8874618f74
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jan 19 17:45:04 +0000 2020

	merge

Hash:	a898d31f76b7424aeb65b07350cec3539620d50e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jan 19 17:43:51 +0000 2020

	acme: fix off by one in colclose(), make dellist() code consistent

Hash:	b099753597d2c3b3d150c686df5c16310168477e
Author:	Roberto E. Vargas Caballero <k0ga@shike2.com>
Date:	Sun Jan 19 17:36:50 +0000 2020

	acme: Restore call to movetodel() in colclose

Hash:	561346d07f176356e9841891e5213672c0a33878
Author:	aiju <devnull@localhost>
Date:	Sun Jan 12 03:40:42 +0000 2020

	cyclone v kernel: fpga support, fix CONFADDR

Hash:	639500b7487174176e315c25499cfabdd4a4af3c
Author:	aiju <devnull@localhost>
Date:	Mon Jan 13 23:22:35 +0000 2020

	cycv: support for registers

Hash:	7cf8369411a3b9348f862bccaa4147b9aaf38e67
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jan 11 23:19:39 +0000 2020

	vnc/devdraw: fix topnwindows() panic when images are not windows (thanks aiju)
	
	see changeset 319be6cfe7ef

Hash:	16784a2e45937c6d4df5fe21c0838f8a7dfeb0a7
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jan 11 23:07:27 +0000 2020

	devdraw: fix topnwindows() panic when images are not windows (thanks aiju)
	
	Crashes drawterm and native:
	
	#include <u.h>
	#include <libc.h>
	#include <draw.h>
	
	void
	main(int argc, char **argv)
	{
	 	initdraw(nil, nil, nil);
	
	 	Image *a[] = {screen, display->black};
	
	 	topnwindows(a, nelem(a));
	 	flushimage(display, 1);
	}

Hash:	5254e41f6bad708fb3d2cc4e98a416d3efa36eb2
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jan 11 22:31:54 +0000 2020

	pc64: adapt vgaradeon driver to 64-bit (thanks Robert Ransom)
	
	Not yet tested.

Hash:	361b65e4df0b4a3562a6e57b0f7b8009c59c3f2b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jan 11 20:26:42 +0000 2020

	kernel: remove relics of CPU 'load balancing' policy in scheduler (thanks Robert Ransom)
	
	This code was deleted from Plan 9 before the 9front repo began.
	Proc.movetime was used by it, but has never been referenced in 9front.

Hash:	dfda1cc878fac93d1391460354c4936806b7dc50
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jan 11 20:25:05 +0000 2020

	bootrc: fix comment typo (thanks Robert Ransom)

Hash:	0b12020f10a0ccf4543fc087dd2e9e0b2e8d56f8
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jan 11 13:50:52 +0000 2020

	ip/cifsd: implement SMB_SET_FILE_UNIX_BASIC for wstat

Hash:	e55ee7fafd9c0abce539052339a64894e2161e3e
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Sat Jan 11 12:25:02 +0000 2020

	libFLAC: 1.3.1 -> 1.3.3

Hash:	ffd9c39d1c019c9592b8b8981a463afa040c7f98
Author:	aiju <devnull@localhost>
Date:	Fri Jan 10 20:43:24 +0000 2020

	dont spin on MDIO

Hash:	9ab87f6241ef1b3bb6b179b109b016a383eed6a8
Author:	aiju <devnull@localhost>
Date:	Fri Jan 10 18:49:39 +0000 2020

	merge

Hash:	d64f76c96c5ecfedf6c2a3fcf4b5ce6fa53df714
Author:	aiju <devnull@localhost>
Date:	Fri Jan 10 18:49:33 +0000 2020

	add cycv ethernet driver

Hash:	8150f689959f71410f56ab66c0e89698c58459bc
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Thu Jan 9 19:59:44 +0000 2020

	show line numbers in dtracy type errors

Hash:	17ebe55031ae6945ad1f671b69267a672328e4b1
Author:	aiju <devnull@localhost>
Date:	Wed Jan 8 02:35:01 +0000 2020

	add cycv kernel

Hash:	826c76f90df66a9b20a3cf279bfb47d4d27322af
Author:	aiju <devnull@localhost>
Date:	Wed Jan 8 02:27:09 +0000 2020

	dumb bug

Hash:	76ed5d2e4b0279eea6dd6e3ddb03690d027b059d
Author:	aiju <devnull@localhost>
Date:	Wed Jan 8 02:22:20 +0000 2020

	add aux/aout2uimage

Hash:	c43700f5690722e4226bedf07f457a206dc7b2d1
Author:	Alex Musolino <alex@musolino.id.au>
Date:	Tue Jan 7 06:58:59 +0000 2020

	rc-httpd: append carriage return to content-length header

Hash:	f12744b5db76e862de58aaa54cbd5ddfc63905b0
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jan 5 17:20:47 +0000 2020

	devip: fix packet loss when interface is wlocked
	
	to prevent deadlock on media unbind (which is called with
	the interface wlock()'ed), the medias reader processes
	that unbind was waiting for used to discard packets when
	the interface could not be rlocked.
	
	this has the unfortunate side effect that when we change
	addresses on a interface that packets are getting lost.
	this is problematic for the processing of ipv6 router
	advertisements when multiple RA's are getting received
	in quick succession.
	
	this change removes that packet dropping behaviour and
	instead changes the unbind process to avoid the deadlock
	by wunlock()ing the interface temporarily while waiting
	for the reader processes to finish. the interface media
	is also changed to the mullmedium before unlocking (see
	the comment).

Hash:	645b5f8724c0116d974680bdb591320256cc36e0
Author:	rgl <devnull@localhost>
Date:	Sat Jan 4 17:02:54 +0000 2020

	/sys/man/9: more pages added
	
	in addition to the pages, there's also changes to the mkfile
	to generate the index for the new section.

Hash:	c739f57ac2f136e67be63a4678d4171889057105
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jan 4 10:49:50 +0000 2020

	ip/ipconfig: keep on sending router solicitation after initial RA
	
	avm fritzbox uses very long RA period so it effectively only
	responds after a router solicitation. when there are multiple
	fritzbox routers on the lan, then while configuring one prefix
	of the first RA, the ip stack can drop the second router
	advertisement and we would never get the second route.
	
	packets can always get lost. so we just keep on sending router
	solicitations (up to 3 times) to make sure we got all the RA's.

Hash:	4eee8f13cf05eba3e26ca857275641a5362c89f2
Author:	23hiro <23hiro@gmail.com>
Date:	Mon Dec 23 00:31:30 +0000 2019

	rio, kbdfs: increase read buffer for high latency kbdfs support

Hash:	95c166fc35a918337c6958c7ae9e6b6214ad9c07
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Dec 21 14:31:10 +0000 2019

	9p(2): fix sentence for wstat function (thanks jsmoody)

Hash:	d00b2c84666cda27e676c9c2043815f3f01fb2cc
Author:	rgl <devnull@localhost>
Date:	Fri Dec 20 22:15:07 +0000 2019

	sleep(9): recover comment with the right reference

Hash:	6cf9fb7b80043c70b861813d4a915dafa571ffd8
Author:	rgl <devnull@localhost>
Date:	Fri Dec 20 17:01:43 +0000 2019

	kproc(9) and sleep(9) corrections

Hash:	0bc963f9289643010f18f0adf90441f83141c04c
Author:	Alex Musolino <alex@musolino.id.au>
Date:	Thu Dec 19 06:42:15 +0000 2019

	thread(2): fix description of when/why procexec(l) functions return

Hash:	8fa9b7d6ffeb72fdf3dde147693a322ece2af30b
Author:	Alex Musolino <alex@musolino.id.au>
Date:	Thu Dec 19 04:49:02 +0000 2019

	pc, pc64: fix cputemp decimal handling in amd10temprd (thanks Robert Ransom)

Hash:	47c188c0c6c2a013aded790bcaa5c9640955e38b
Author:	Alex Musolino <alex@musolino.id.au>
Date:	Tue Dec 17 22:31:38 +0000 2019

	flate(2): fix typos (thanks rgl)

Hash:	b820d892a6914104a0ecb3af9fa287e693a4f90c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Dec 15 12:59:08 +0000 2019

	ip(3): document special null-address hack for accepting all incoming connections

Hash:	c3af90c6c7441c41dc592d0b94023895859634fa
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Dec 14 16:09:14 +0000 2019

	date: make ISO 8601 time output compatible to RFC3339
	
	RFC3339 is a stricter subset of ISO 8601, in particular
	the timezone offset needs to be specified as +HH:MM while
	in ISO 8601 the colon is optional.

Hash:	685670b0ddb9eb8398d88cbae1b08a2872b5adf6
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Thu Dec 12 07:26:15 +0000 2019

	normalize error messages in yacc, stop writing to closed fd.

Hash:	80ecdec0ec82f1cdfba26c67d425cbc72aa46f3f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Dec 11 22:53:10 +0000 2019

	merge

Hash:	52e4e51b50589ecb2b06559c28b7ce9f682815be
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Dec 11 22:52:05 +0000 2019

	devcons: fix write length of writebintime() (thanks BurnZeZ)

Hash:	375d8f437013d0d5106e6c8c6d8dd79db6de456a
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Wed Dec 11 07:13:25 +0000 2019

	remove unused code.

Hash:	b0384439590d2899456b84b785b365a616ffaf2c
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Wed Dec 11 07:01:06 +0000 2019

	only ensurecache() on doplumb().

Hash:	993c7b5fdfda16a62a3d5059670694083e674d51
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Wed Dec 11 02:21:05 +0000 2019

	merge

Hash:	0f18938914f3e296ef28bc8db9e1e5ab64608d62
Author:	Alex Musolino <alex@musolino.id.au>
Date:	Tue Dec 10 04:43:44 +0000 2019

	crop(1): remove duplicate -b option in synopsis

Hash:	f7431283d906b1cd7e53eed47af055a5132bbfae
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Mon Dec 9 20:46:27 +0000 2019

	upas/fs plumb flag changes.
	
	This patch makes 3 changes:
	
	- It makes upas/fs send plumb messages when a message
	  changes in the background (eg, someone on another imap
	  connection opens a message and sets the read flag)
	- It makes faces not complain when it gets one of these
	  new modify messages.
	- It makes acme/Mail update the flags in the display
	  when it gets one of these messages.

Hash:	55af35eeeb3026ee9aba3658b7ba12d6ea3a5015
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Dec 9 17:08:02 +0000 2019

	riostart: when system uses serial console, provide a system shell on it
	
	on systems with serial console and graphics such as the raspberry pi,
	it is nice to get a system shell on the serial console even when no
	monitor is connected.

Hash:	57dbe35fb68dda4888fc4c9e8c8d0b3106a8a21c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Dec 9 16:44:28 +0000 2019

	console(8): add console command and manpage
	
	the console command runs a command or the system shell under
	a new instance of kbdfs, optionally providing a serial console
	when $console environment variable is set.

Hash:	1bfde841484fadb1c41f41a6279e7e070f61a31b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Dec 9 01:03:10 +0000 2019

	merge

Hash:	28d864953c3d6a879b5c6d81524128851621d654
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Dec 9 01:01:12 +0000 2019

	hgfs: fix loadrevinfo() breakage on long lines using libbio (thanks deuterion)

Hash:	2b67ee6312f720c342e7d3454bd996fb052ee8c2
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sun Dec 8 19:58:52 +0000 2019

	hack around timezone issues.

Hash:	36af8405521be371605e4658ec8f4b133f3c7d6f
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sun Dec 8 19:58:19 +0000 2019

	merge

Hash:	02e6003fc87ca7ace27beef200813426dd954852
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sun Dec 8 19:54:59 +0000 2019

	fix filetype detecton by suffix so that multiple dots dont confuse it. (thanks kvik)

Hash:	13785bbbef60f5c13aa973c1e7d4277aa55f6a2d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Dec 7 01:19:14 +0000 2019

	pc: replace duplicated and broken mmu flush code in vunmap()
	
	comparing m with MACHP() is wrong as m is a constant on 386.
	
	add procflushothers(), which flushes all processes except up
	using common procflushmmu() routine.

Hash:	28836f3ff593f729a9dc92b67a6f99382bc84c28
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Dec 7 01:13:51 +0000 2019

	kernel: avoid useless mmu flushes, implement better wait condition for procflushmmu()
	
	procflushmmu() returns once all *OTHER* processors that had
	matching processes running on them flushed ther tlb/mmu state.
	the caller of procflush...() takes care of flushing "up" by
	calling flushmmu() later.
	
	if the current process matched, then that means m->flushmmu
	would be set, and hzclock() would call flushmmu() again.
	
	to avoid this, we now check up->newtlb in addition to m->flushmmu
	in hzclock() before calling flushmmu().
	
	we also maintain information on which process on what processor
	to wait for locally, which helps making progress when multiple
	procflushmmu()'s are running concurrently.
	
	in addition, this makes the wait condition for procflushmmu()
	more sophisticated, by validating if the processor still runs
	the selected process and only if it matchatches, considers
	the MACHP(nm)->flushmmu flag.

Hash:	480d7b8f5f0ccb52391c41ffa58c196618827346
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Fri Dec 6 20:08:00 +0000 2019

	fix some acme memory leaks
	
	(imported from plan9port 7ca1c90109e17dced4b38fbaadea9d2cf39871b7,
	some tag restoration lines not relevant.)

Hash:	450ec696ee46f79159395a89c9a97bc8354616ba
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Fri Dec 6 19:53:44 +0000 2019

	hoc: don't nest calls to follow() when lexing ++/+= and --/-= (#287)
	
	The code had a nested use of the follow() function that could cause +=+
	and -=- to register as ++ and --.  The first follow() to execute could
	consume a character and match and then the second follow() could consume
	another character and match.  For example i-=-10 would result in a syntax
	error and i-=- would decrement i.
	
	(imported from plan9port commit f1dd3f065a97f57bf59db2e3284868e181734159)

Hash:	c3779afdd6452b40c27359a88af548e93635b595
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Fri Dec 6 14:20:35 +0000 2019

	words: transgender

Hash:	4ff82fe7a83ec75d83d8b1fc87bbb795c9f86a34
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Thu Dec 5 08:16:15 +0000 2019

	delete obsolete comments (replies are flagged elsewhere)

Hash:	f9f13bbd0ed680c16615fe925782e0c7335e1952
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Dec 4 21:04:12 +0000 2019

	merge

Hash:	f48f1a324aaad4616b93ec595d5e0f2e22d12bc4
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Dec 4 21:02:51 +0000 2019

	bcm: use extended small pages so XN bit can work
	
	the change to support no-execute bits broke the original
	raspberry pi1, as it uses backwards compatible page table
	format.
	
	to use the XN bit, subpage AP bits have to be disabled
	using the XP bit in CP15 Control Register c1 Bit 23.

Hash:	c9570c14af7780384df818c94700dc8a18a29423
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Dec 4 20:56:13 +0000 2019

	9/boot/net.rc: suppress error from grep if ethernet ifstats file is not found
	
	this can happen with nusb/ether, which does not implement ifstats file.

Hash:	7c55ca5fff01fa28b99a0717860848071fca80ce
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Wed Dec 4 20:55:03 +0000 2019

	acme: Apply each -/+ only once (#156)
	
	When plumbing an address like `3-`, Acme selects line 1,
	and similarly `3+` selects line 5.
	The same problem can be observed for character addresses (`#123+`)
	but _not_ for ones like `+`, `.+` or `/foo/+`:
	The problem only occurs when a number is followed by a direction (`-`/`+`).
	
	Following along with the example `3-` through `address` (in addr.c):
	We read `3` into `c` and match the `case` on line 239.
	The `while` loop on line 242ff reads additional digits into `c`
	and puts the first non-digit back by decrementing the index `q`.
	Then we find the range for line 3 on line 251 and continue.
	
	On the next iteration, we set `prevc` to the last `c`,
	but since that part read ahead _into `c`_,
	`c` is currently the _next_ character we will read, `-`,
	and now `prevc` is too.
	
	Then in the case block (line 210) the condition on line 211 holds
	and Acme believes that it has read two `-` in sequence
	and modifies the range to account for the “first” `-`.
	The “second” `-` gets applied after the loop is done, on line 292.
	
	So the general problem is:
	While reading numbers, Acme reads the next character after the number into `c`.
	It decrements the counter to ensure it will read it again on the next iteration,
	but it still uses it to update `prevc`.
	
	This change solves the problem by reading digits into `nc` instead.
	This variable is used to similar effect in the block for directions (line 212)
	and fills the role of “local `c` that we can safely use to read ahead” nicely.
	
	(imported from plan9front a82a8b6368274d77d42f526e379b74e79c137e26)

Hash:	2b5db0d9d451dafa70039dc0a668cde68e59d4f3
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Wed Dec 4 20:37:07 +0000 2019

	acme: avoid division by zero when resizing col (#189)
	
	To reproduce, create a column with at least two windows and resize
	acme to have almost zero height.
	
	(imported from plan9port commit 76b9347a5fa3a0970527c6ee1b97ef1c714f636b)

Hash:	a181f3dd3e922e7acc5a3f4982584e845bddec3c
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Wed Dec 4 19:46:42 +0000 2019

	acme, sam: handle >1GB files correctly
	
	imported from plan9port, edfe3c016fe6ef10c55f7a17aab668214ec21efc

Hash:	f7db45e62852ba716539247e20eaaa027b5b1c67
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Dec 3 19:57:01 +0000 2019

	merge

Hash:	a23b88dc261abffc2e1458bc240b491e60d7dfda
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Dec 3 19:55:57 +0000 2019

	cmd(3): fix typo, Close -> Closed (thanks kivik)

Hash:	a733f4caa3077a7ecf09a94d8aaac7b1eb9c6449
Author:	Alex Musolino <alex@musolino.id.au>
Date:	Tue Dec 3 08:02:30 +0000 2019

	rio(4): fix bad cross-reference format

Hash:	aa9b6d35974f05119221df00f2ab0d8d085d80ee
Author:	Alex Musolino <alex@musolino.id.au>
Date:	Tue Dec 3 07:55:24 +0000 2019

	seconds(1): add SOURCE section

Hash:	1eca33b48c25d3ee58691ea8f9d122cdf12a57a6
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Dec 3 07:22:02 +0000 2019

	always zero initialize Tm structure for tm2sec()

Hash:	e624b7ffb8afbf1559e19817063b34968e80a7f8
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Mon Dec 2 22:50:53 +0000 2019

	Remove reply print.

Hash:	8a0cefb237a90ab08baf5b062991f6dc7e78bcde
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Dec 2 22:33:29 +0000 2019

	merge

Hash:	5d59a44c21a14ed30034c27681f76efe1856b993
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Dec 2 22:32:24 +0000 2019

	pc, pc64: clear debug watchpoint registers on exec and exit
	
	when a process does an exec syscall, procsetup() is called and
	we have to disable the debug watchpoint registers. just clearing
	p->dr is not enougth as we are not going thru a procsave() and
	procrestore() cycle which would disable and reload the saved
	debug registers.
	
	instead of clearing debug registers in procfork(), we should
	clear the saved debug registers before a process goes to die
	(pexit() calls sched() with up->state = Moribund) as the Proc
	structure can get reused for kernel processes (kproc) which
	never call procfork() and would therefore have debug registers
	loaded.

Hash:	6a3f1f1bca8389f378a30d97c87505f9f92d8786
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Mon Dec 2 21:56:15 +0000 2019

	remove debug print

Hash:	b2526c7d909b2ce321faef34d49b1b70434cf360
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Mon Dec 2 21:53:57 +0000 2019

	simplify flag parsing.
	
	we've only got a few flags, a linear search is good enough,
	and is obviously correct; the old search wasn't.

Hash:	b62fda7bd1027c29329680796c802ecb5b78fa25
Author:	Sigrid <ftrvxmtrx@gmail.com>
Date:	Mon Dec 2 15:55:53 +0000 2019

	os(1): fix a typo

Hash:	a8152739604244b0ab77c339955d799e63df5ce8
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Dec 2 07:27:49 +0000 2019

	merge

Hash:	d80826d6e5dc74c105934dd5d92f1c60c2468b48
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Dec 2 07:26:34 +0000 2019

	vgai81x: remove unused mach0 variable

Hash:	a9be1374a006b95b017f7123a5f0f2193aa90279
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Dec 2 06:43:45 +0000 2019

	pc: fix ldt memory leak in procsetup()

Hash:	70498378cf4baf812ace5750b2de31c1720a87d5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Dec 2 06:35:25 +0000 2019

	kernel: add missing FPillegal definition for kw and omap kernels

Hash:	3681c836cae7455826e28c62ccc48ba5c3a44769
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Mon Dec 2 01:24:02 +0000 2019

	fix typo: we don't have cache insurance.

Hash:	3889b249d4b18acc2ec85e0a88e0f1c306b4dd29
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Mon Dec 2 01:14:13 +0000 2019

	show and update flags in acme mail
	
	now, it's possible to tell whether you've read or replied
	to a message.

Hash:	84c4c81ceecfa8f51949787fc2dbe7b14164a353
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Mon Dec 2 01:12:19 +0000 2019

	upas/fs imap fixes and improvements
	
	do incremental imap fetches after startup, fixes validity handling,
	record flags correctly when we aren't in the process of directly
	updating a message, fixes off by one in flag parsing, fixes
	mis-indexing messages in sync when we get an unsolicited fetch
	response.

Hash:	08d6b0f043f30d85033aacce63fbd9985f3e5325
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Dec 1 16:57:14 +0000 2019

	kernel: improve diagnostics by reversing the roles of Proc.parentpid and Proc.parent
	
	for better system diagnostics, we *ALWAYS* want to record the parent
	pid of a user process, regardless of if the child will post a wait
	record on exit or not.
	
	for that, we reverse the roles of Proc.parent and Proc.parentpid so
	Proc.parentpid will always be set on rfork() and the Proc.parent
	pointer will point to the parent's Proc structure or is set to nil
	when no wait record should be posted on exit (RFNOWAIT flag).
	
	this means that we can get the pid of the original parent process
	from /proc, regardless of the the child having rforked with the
	RFNOWAIT flag. this improves the output of pstree(1) somewhat if
	the parent is still alive. note that theres no guarantee that the
	parent pid is still valid.
	
	the conditions are unchanged:
	
	a user process that will post wait record has:
	
	up->kp == 0 && up->parent != nil && up->parent->pid == up->parentpid
	
	the boot process is:
	
	up->kp == 0 && up->parent == nil && up->parentpid == 0
	
	and kproc's have:
	
	up->kp != 0 && up->parent == nil && up->parentpid == 0

Hash:	21a599743e037628fbf6e43f6014f007704414e4
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Dec 1 13:06:30 +0000 2019

	pc, pc64: merge adjacent e820 map entries of same type
	
	some machines give us over 300 e820 ram entries that are
	all adjacent to each other causing us to run out of Map
	end Emap entries.
	
	this change adds e820clean() function, which sorts the
	current e820 map and discards unusable entries and merges
	adjacent entries. e820clean() is called after we parsed
	the *e820= boot parameter or when we run out of entries.
	
	an example of such a broken e820 map (thanks mischief):
	
	*e820=1 0000000000000000 0000000000008000 1 0000000000008000 000000000000c000 1 000000000000c000 000000000003f000 1 000000000003f000 0000000000040000 1 0000000000040000 00000000000a0000 1 0000000000100000 0000000001000000 1 0000000001000000 0000000001020000 1 0000000001020000 0000000009d82000 2 0000000009d82000 000000000a000000 1 000000000a000000 000000000a200000 4 000000000a200000 000000000a20b000 1 000000000a20b000 000000000b000000 2 000000000b000000 000000000b020000 1 000000000b020000 0000000010000000 1 0000000010000000 000000001000b000 1 000000001000b000 00000000d9634000 1 00000000d9634000 00000000d96be000 1 00000000d96be000 00000000d96cc000 1 00000000d96cc000 00000000d96db000 1 00000000d96db000 00000000d97df000 1 00000000d97df000 00000000d97ed000 1 00000000d97ed000 00000000d9837000 1 00000000d9837000 00000000d9844000 1 00000000d9844000 00000000d985e000 1 00000000d985e000 00000000d9865000 1 00000000d9865000 00000000d9897000 1 00000000d9897000 00000000d98d7000 1 00000000d98d7000 00000000d98db000 1 00000000d98db000 00000000d98dd000 1 00000000d98dd000 00000000d999d000 1 00000000d999d000 00000000d9a8e000 1 00000000d9a8e000 00000000d9add000 1 00000000d9add000 00000000d9ae2000 1 00000000d9ae2000 00000000d9af3000 1 00000000d9af3000 00000000d9af4000 1 00000000d9af4000 00000000d9af6000 1 00000000d9af6000 00000000d9af7000 1 00000000d9af7000 00000000d9af8000 1 00000000d9af8000 00000000d9af9000 1 00000000d9af9000 00000000d9b5e000 1 00000000d9b5e000 00000000d9b60000 1 00000000d9b60000 00000000d9b8c000 1 00000000d9b8c000 00000000d9b8d000 1 00000000d9b8d000 00000000d9c85000 1 00000000d9c85000 00000000d9c8a000 1 00000000d9c8a000 00000000d9caf000 1 00000000d9caf000 00000000d9cb5000 1 00000000d9cb5000 00000000d9cc1000 1 00000000d9cc1000 00000000d9cc2000 1 00000000d9cc2000 00000000da986000 1 00000000da986000 00000000daeb6000 1 00000000daeb6000 00000000daed7000 1 00000000daed7000 00000000daed8000 1 00000000daed8000 00000000daf61000 1 00000000daf61000 00000000daf7c000 1 00000000daf7c000 00000000db3e6000 1 00000000db3e6000 00000000db4ea000 1 00000000db4ea000 00000000db57d000 1 00000000db57d000 00000000db587000 1 00000000db587000 00000000db58a000 1 00000000db58a000 00000000db58b000 1 00000000db58b000 00000000db591000 1 00000000db591000 00000000db5a7000 1 00000000db5a7000 00000000db5b2000 1 00000000db5b2000 00000000db5ba000 1 00000000db5ba000 00000000db5bb000 1 00000000db5bb000 00000000db5c6000 1 00000000db5c6000 00000000db5c7000 1 00000000db5c7000 00000000db5c8000 1 00000000db5c8000 00000000db5c9000 1 00000000db5c9000 00000000db5cb000 1 00000000db5cb000 00000000db5d0000 1 00000000db5d0000 00000000db5e8000 1 00000000db5e8000 00000000db5ea000 1 00000000db5ea000 00000000db5eb000 1 00000000db5eb000 00000000db5ee000 1 00000000db5ee000 00000000db601000 1 00000000db601000 00000000db602000 1 00000000db602000 00000000db60e000 1 00000000db60e000 00000000db610000 1 00000000db610000 00000000db612000 1 00000000db612000 00000000db614000 1 00000000db614000 00000000db61d000 1 00000000db61d000 00000000db645000 1 00000000db645000 00000000db64c000 1 00000000db64c000 00000000db650000 1 00000000db650000 00000000db651000 1 00000000db651000 00000000db653000 1 00000000db653000 00000000db658000 1 00000000db658000 00000000db659000 1 00000000db659000 00000000db661000 1 00000000db661000 00000000db662000 1 00000000db662000 00000000db665000 1 00000000db665000 00000000db677000 1 00000000db677000 00000000db69d000 1 00000000db69d000 00000000db6a0000 1 00000000db6a0000 00000000db6a8000 1 00000000db6a8000 00000000db6ae000 1 00000000db6ae000 00000000db6c2000 1 00000000db6c2000 00000000db6d4000 1 00000000db6d4000 00000000db6de000 1 00000000db6de000 00000000db6e0000 1 00000000db6e0000 00000000db6e2000 1 00000000db6e2000 00000000db6ef000 1 00000000db6ef000 00000000db6f0000 1 00000000db6f0000 00000000db6f2000 1 00000000db6f2000 00000000db6f3000 1 00000000db6f3000 00000000db810000 1 00000000db810000 00000000db815000 1 00000000db815000 00000000db81f000 1 00000000db81f000 00000000db821000 1 00000000db821000 00000000db85d000 1 00000000db85d000 00000000db869000 1 00000000db869000 00000000db881000 1 00000000db881000 00000000db889000 1 00000000db889000 00000000db88e000 1 00000000db88e000 00000000db88f000 1 00000000db88f000 00000000db891000 1 00000000db891000 00000000db899000 1 00000000db899000 00000000db8a9000 1 00000000db8a9000 00000000db8ab000 1 00000000db8ab000 00000000db8af000 1 00000000db8af000 00000000db8b1000 1 00000000db8b1000 00000000db8b5000 1 00000000db8b5000 00000000db8b7000 1 00000000db8b7000 00000000db8be000 1 00000000db8be000 00000000db8c2000 1 00000000db8c2000 00000000db8c7000 1 00000000db8c7000 00000000db8cf000 1 00000000db8cf000 00000000db8e0000 1 00000000db8e0000 00000000db8e1000 1 00000000db8e1000 00000000db8e2000 1 00000000db8e2000 00000000db8e6000 1 00000000db8e6000 00000000db8e8000 1 00000000db8e8000 00000000db8f4000 1 00000000db8f4000 00000000db904000 1 00000000db904000 00000000db90c000 1 00000000db90c000 00000000db91c000 1 00000000db91c000 00000000db91d000 1 00000000db91d000 00000000db922000 1 00000000db922000 00000000db923000 1 00000000db923000 00000000db929000 1 00000000db929000 00000000db92b000 1 00000000db92b000 00000000db92d000 1 00000000db92d000 00000000db92f000 1 00000000db92f000 00000000db933000 1 00000000db933000 00000000db934000 1 00000000db934000 00000000db936000 1 00000000db936000 00000000db937000 1 00000000db937000 00000000db952000 1 00000000db952000 00000000db96b000 1 00000000db96b000 00000000db998000 1 00000000db998000 00000000db9a1000 1 00000000db9a1000 00000000db9a2000 1 00000000db9a2000 00000000db9a3000 1 00000000db9a3000 00000000db9a4000 1 00000000db9a4000 00000000db9a5000 1 00000000db9a5000 00000000db9a7000 1 00000000db9a7000 00000000db9a8000 1 00000000db9a8000 00000000db9aa000 1 00000000db9aa000 00000000db9ba000 1 00000000db9ba000 00000000db9da000 1 00000000db9da000 00000000db9f7000 1 00000000db9f7000 00000000dba00000 1 00000000dba00000 00000000dba0a000 1 00000000dba0a000 00000000dba11000 1 00000000dba11000 00000000dba12000 1 00000000dba12000 00000000dba51000 1 00000000dba51000 00000000dba5d000 1 00000000dba5d000 00000000dba6c000 1 00000000dba6c000 00000000dba88000 1 00000000dba88000 00000000dba92000 1 00000000dba92000 00000000dba94000 1 00000000dba94000 00000000dbac0000 1 00000000dbac0000 00000000dbac6000 1 00000000dbac6000 00000000dbad2000 1 00000000dbad2000 00000000dbad9000 1 00000000dbad9000 00000000dbae0000 1 00000000dbae0000 00000000dbaeb000 1 00000000dbaeb000 00000000dbaf6000 1 00000000dbaf6000 00000000dbb01000 1 00000000dbb01000 00000000dbb17000 1 00000000dbb17000 00000000dbb1f000 1 00000000dbb1f000 00000000dbb20000 1 00000000dbb20000 00000000dbb23000 1 00000000dbb23000 00000000dbb24000 1 00000000dbb24000 00000000dbb25000 1 00000000dbb25000 00000000dbb3a000 1 00000000dbb3a000 00000000dbb3d000 1 00000000dbb3d000 00000000dbb43000 1 00000000dbb43000 00000000dbb45000 1 00000000dbb45000 00000000dbb49000 1 00000000dbb49000 00000000dbb4c000 1 00000000dbb4c000 00000000dbb4e000 1 00000000dbb4e000 00000000dbb51000 1 00000000dbb51000 00000000dbb54000 1 00000000dbb54000 00000000dbb5a000 1 00000000dbb5a000 00000000dbb5e000 1 00000000dbb5e000 00000000dbb62000 1 00000000dbb62000 00000000dbb67000 1 00000000dbb67000 00000000dbb91000 1 00000000dbb91000 00000000dbb93000 1 00000000dbb93000 00000000dbb94000 1 00000000dbb94000 00000000dbb9d000 1 00000000dbb9d000 00000000dbb9f000 1 00000000dbb9f000 00000000dbbcf000 1 00000000dbbcf000 00000000dbbd0000 1 00000000dbbd0000 00000000dbbd1000 1 00000000dbbd1000 00000000dbbd5000 1 00000000dbbd5000 00000000dbbd6000 1 00000000dbbd6000 00000000dbbd7000 1 00000000dbbd7000 00000000dbbd8000 1 00000000dbbd8000 00000000dbbd9000 1 00000000dbbd9000 00000000dbbdd000 1 00000000dbbdd000 00000000dbbdf000 1 00000000dbbdf000 00000000dbbe1000 1 00000000dbbe1000 00000000dbbeb000 1 00000000dbbeb000 00000000dbbec000 1 00000000dbbec000 00000000dbbef000 1 00000000dbbef000 00000000dbbff000 1 00000000dbbff000 00000000dbc01000 1 00000000dbc01000 00000000dbc05000 1 00000000dbc05000 00000000dbc0f000 1 00000000dbc0f000 00000000dbc11000 1 00000000dbc11000 00000000dbc12000 1 00000000dbc12000 00000000dbc14000 1 00000000dbc14000 00000000dbc15000 1 00000000dbc15000 00000000dbc20000 1 00000000dbc20000 00000000dbc21000 1 00000000dbc21000 00000000dbc22000 1 00000000dbc22000 00000000dbc2a000 1 00000000dbc2a000 00000000dbc2c000 1 00000000dbc2c000 00000000dbc2d000 1 00000000dbc2d000 00000000dbc2f000 1 00000000dbc2f000 00000000dbc30000 1 00000000dbc30000 00000000dbc42000 1 00000000dbc42000 00000000dbc44000 1 00000000dbc44000 00000000dbc54000 1 00000000dbc54000 00000000dbc5c000 1 00000000dbc5c000 00000000dbc5e000 1 00000000dbc5e000 00000000dbc60000 1 00000000dbc60000 00000000dbc64000 1 00000000dbc64000 00000000dbc6d000 1 00000000dbc6d000 00000000dbc7f000 1 00000000dbc7f000 00000000dbc85000 1 00000000dbc85000 00000000dbca3000 1 00000000dbca3000 00000000dbca6000 1 00000000dbca6000 00000000dbcb9000 1 00000000dbcb9000 00000000dbcba000 1 00000000dbcba000 00000000dbcbb000 1 00000000dbcbb000 00000000dbcbc000 1 00000000dbcbc000 00000000dbcbd000 1 00000000dbcbd000 00000000dbcd5000 1 00000000dbcd5000 00000000dbcd8000 1 00000000dbcd8000 00000000dbcd9000 1 00000000dbcd9000 00000000dbcda000 1 00000000dbcda000 00000000dbce1000 1 00000000dbce1000 00000000dbce3000 1 00000000dbce3000 00000000dbce4000 1 00000000dbce4000 00000000dbd06000 1 00000000dbd06000 00000000dbd07000 1 00000000dbd07000 00000000dbd0a000 1 00000000dbd0a000 00000000dbd0b000 1 00000000dbd0b000 00000000dbd0c000 1 00000000dbd0c000 00000000dbd0e000 1 00000000dbd0e000 00000000dbd10000 1 00000000dbd10000 00000000dbd12000 1 00000000dbd12000 00000000dbd15000 1 00000000dbd15000 00000000dbd17000 1 00000000dbd17000 00000000dbd19000 1 00000000dbd19000 00000000dbd1b000 1 00000000dbd1b000 00000000dbd44000 1 00000000dbd44000 00000000dbd46000 1 00000000dbd46000 00000000dbd60000 1 00000000dbd60000 00000000dbd70000 1 00000000dbd70000 00000000dbd79000 1 00000000dbd79000 00000000dbd7a000 1 00000000dbd7a000 00000000dbd7c000 1 00000000dbd7c000 00000000dbd7d000 1 00000000dbd7d000 00000000dbd90000 1 00000000dbd90000 00000000dbd93000 1 00000000dbd93000 00000000dbd97000 1 00000000dbd97000 00000000dbd9a000 1 00000000dbd9a000 00000000dbd9b000 1 00000000dbd9b000 00000000dbd9e000 1 00000000dbd9e000 00000000dbda1000 1 00000000dbda1000 00000000dbda5000 1 00000000dbda5000 00000000dbda9000 1 00000000dbda9000 00000000dbdaf000 1 00000000dbdaf000 00000000dbdb3000 1 00000000dbdb3000 00000000dbdb4000 1 00000000dbdb4000 00000000dbdbe000 1 00000000dbdbe000 00000000dbdbf000 1 00000000dbdbf000 00000000dbdc0000 1 00000000dbdc0000 00000000dbdc1000 1 00000000dbdc1000 00000000dbdc2000 1 00000000dbdc2000 00000000dbdc5000 1 00000000dbdc5000 00000000dbdc6000 1 00000000dbdc6000 00000000dbdc7000 1 00000000dbdc7000 00000000dbdcb000 1 00000000dbdcb000 00000000dbdcf000 1 00000000dbdcf000 00000000dbdd5000 1 00000000dbdd5000 00000000dbdd8000 1 00000000dbdd8000 00000000dbddf000 1 00000000dbddf000 00000000dbde1000 1 00000000dbde1000 00000000dbde5000 1 00000000dbde5000 00000000dbde8000 1 00000000dbde8000 00000000dbded000 1 00000000dbded000 00000000dbdf0000 1 00000000dbdf0000 00000000dbdf4000 1 00000000dbdf4000 00000000dbdf7000 1 00000000dbdf7000 00000000dbdfb000 1 00000000dbdfb000 00000000dbe1e000 1 00000000dbe1e000 00000000dbe20000 1 00000000dbe20000 00000000dbe23000 1 00000000dbe23000 00000000dbe27000 1 00000000dbe27000 00000000dbe28000 1 00000000dbe28000 00000000dbe2a000 1 00000000dbe2a000 00000000dbe2b000 1 00000000dbe2b000 00000000dc24d000 1 00000000dc24d000 00000000dc25c000 1 00000000dc25c000 00000000dc25d000 1 00000000dc25d000 00000000dc25e000 1 00000000dc25e000 00000000dc273000 1 00000000dc273000 00000000dc274000 1 00000000dc274000 00000000dc275000 1 00000000dc275000 00000000dc276000 1 00000000dc276000 00000000dc27a000 1 00000000dc27a000 00000000dc27e000 1 00000000dc27e000 00000000dc283000 1 00000000dc283000 00000000dc284000 1 00000000dc284000 00000000dc2a2000 1 00000000dc2a2000 00000000dc2a6000 1 00000000dc2a6000 00000000dd163000 2 00000000dd163000 00000000dd2a8000 1 00000000dd2a8000 00000000dd42a000 4 00000000dd42a000 00000000dd83e000 1 00000000dd83e000 00000000de38b000 1 00000000de38b000 00000000de430000 1 00000000de430000 00000000de733000 1 00000000de733000 00000000de74f000 1 00000000de74f000 00000000de770000 1 00000000de770000 00000000de77d000 1 00000000de77d000 00000000de783000 1 00000000de783000 00000000de78b000 1 00000000de78b000 00000000de7a4000 1 00000000de7a4000 00000000de7b4000 1 00000000de7b4000 00000000de7c9000 1 00000000de7c9000 00000000de7e0000 1 00000000de7e0000 00000000deff9000 1 00000000deff9000 00000000df000000 1 0000000100000000 000000021f380000 2 00000000000a0000 0000000000100000 2 00000000df000000 00000000e0000000 2 00000000f8000000 00000000fc000000 2 00000000fd000000 0000000100000000

Hash:	2359389570a5ba761fceb5ba1db295a1df8cbc64
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Nov 30 19:10:08 +0000 2019

	os(1): add c implementation of inferno os command and cmd(3) device manpages
	
	this is a reimplementation of infernos os(1) command, which
	allows running commands in the underhying host operating
	system when inferno runs in hosted mode (emu). but unlike
	inferno, we want to use it to run commands on the client
	side of a inferno or drawterm session from the plan9 cpu
	server, so it defaults to /mnt/term/cmd for the mountpoint.

Hash:	d32e5d130c3940d4a6793fb50a31c3c9fd167508
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Nov 24 20:56:54 +0000 2019

	sd53c8xx: fix the driver for amd64, fix alignment/padding issues, fix freechain handling

Hash:	87c8fa541572387c012dab672890e13334ef8c37
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Nov 24 02:46:53 +0000 2019

	upas/fs: remove useless loop in rf822()

Hash:	6c2017f6a66294a39e646f7c725cc8b4856485c7
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sat Nov 23 16:23:21 +0000 2019

	fix ref822 again: remove uniqarray(), fix case with many entries in 'n'.

Hash:	cac853084c058bdcbed738bf2af73bb4c6c4719f
Author:	Alex Musolino <alex@musolino.id.au>
Date:	Fri Nov 22 06:59:35 +0000 2019

	upas/marshal: fix printinreplyto function
	
	According to RFC822, the message identifier (msg-id) in a
	"In-Reply-To" header must start with a '<' and end with a '>'.

Hash:	543c35debaba0e3fc2538503adea228cd0a28465
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Fri Nov 22 01:17:54 +0000 2019

	fix ref882 reference parsing.
	
	we were getting nils in the list when there were many references.
	this fixes and simplifies the copying loop and makes the code rhyme.

Hash:	4cef9b12fd98d3d93894e3267c47f36775560702
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Thu Nov 21 18:48:13 +0000 2019

	show urls in html messages.
	
	sometimes, I get phishing emails with links that I have an unstoppable
	urge to click.

Hash:	29b6ad33305dc4a69940d6f636d6f129931cf9f1
Author:	BurnZeZ <devnull@localhost>
Date:	Thu Nov 21 16:44:41 +0000 2019

	grep: error if sbrk fails

Hash:	55104888794793069cc60b2d00d46a530f1c1cbe
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Thu Nov 21 00:12:21 +0000 2019

	merge

Hash:	0ff4099a608e58970d6ad38cef5b27c53fd3bbf4
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Thu Nov 21 00:05:52 +0000 2019

	improve language in delay(9)
	
	give the reader enough context to know when to use and not
	use the delay family of functions.

Hash:	07e3d1c2547049a23d2768f404334d1ef205b452
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Nov 20 23:40:15 +0000 2019

	merge

Hash:	8e20bc7515448f92e24128d18426d6370be6b2f6
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Nov 20 23:39:07 +0000 2019

	vac(1): assimilate manpage additions from plan9port and complete usage lines (thanks joe9)
	
	the usage lines in vac where out of sync with the implementation
	and the manpages.
	
	document the -a and -x options, from:
	
	https://github.com/9fans/plan9port/blob/master/man/man1/vac.1

Hash:	48a804e3fde18b306385845ee8af4b64096388aa
Author:	Alex Musolino <alex@musolino.id.au>
Date:	Wed Nov 20 07:16:29 +0000 2019

	mail(1): fix typo

Hash:	088ec01b1e0840add9823a7d44ba2ed639889937
Author:	Alex Musolino <alex@musolino.id.au>
Date:	Wed Nov 20 01:19:16 +0000 2019

	timezones: change DST timezone string for South Australia
	
	Use "CDT" for DST as distinct from "CST" for non-DST.

Hash:	eca7cac908bdfe4387a9f2563e683268939a586d
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Tue Nov 19 20:31:42 +0000 2019

	merge

Hash:	0b6f0c70dba53c08846299a85d3cddd91c070c53
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Tue Nov 19 20:30:40 +0000 2019

	add start of section 9 manpages (thanks rgl)
	
	this change adds some of the kernel manpages from 9legacy,
	fixed and updated to match the changes in 9front.

Hash:	2c9e3861a54e22498fb2e3226defe4393b20b202
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Nov 19 08:03:45 +0000 2019

	rio: fix cons read breakage from previous commit

Hash:	37d6ddd8f323224d169b7fa42fa126d5c9b2ffd4
Author:	Alex Musolino <alex@musolino.id.au>
Date:	Tue Nov 19 02:13:53 +0000 2019

	rio(4): update description of wctl file format
	
	State strings are now padded to 12-characters.  Remove ambiguous
	reference to "12-character style", instead referring the reader to
	image(6).

Hash:	59115ba4075891c17d06a79c61998ed162e2d26f
Author:	Alex Musolino <alex@musolino.id.au>
Date:	Tue Nov 19 02:10:53 +0000 2019

	rio: pad window status strings in wctl files
	
	This makes it possible to read the entire initial contents of the wctl
	files without blocking.

Hash:	4d4107b38547c7f9f135cc22d3a29fcbad4a8c34
Author:	Alex Musolino <alex@musolino.id.au>
Date:	Tue Nov 19 02:08:13 +0000 2019

	rio: fix bug causing short reads of wctl files
	
	Previously, reads of wctl files would return one byte less than
	requested as the returned string must be null terminated.  Now we pass
	the actual size of the allocated buffer to the handler, which is large
	enough to accommodate a trailing partial rune and terminating null
	byte.

Hash:	f32148b290be11d46d3c1e419285f46c7fbb308b
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Mon Nov 18 09:06:02 +0000 2019

	document 'T' flag misbehavior (thanks rgl)

Hash:	b2e29cf3158d6e8c6a0263cb1bbb06e72a21f7fb
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Mon Nov 18 00:17:15 +0000 2019

	Specifiy the restrictions on 9boot file names more clearly.

Hash:	3e1a75d08f0ef3edb6fb53690b8dcbd5af23b376
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Mon Nov 18 00:08:48 +0000 2019

	Document 9bootfat limitation.

Hash:	44615fba43debbde03c154976fb616a08788b311
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Nov 17 20:19:55 +0000 2019

	sdiahci: implement reset timeout for ahciencreset(), make blink() never block, fix map[] access in ledkproc()
	
	Ori_B reports that his controller gets stuck in the ahciencreset()
	wait loop. so we implement a 1000 ms timeout. we replace delay()
	with esleep() as we are always called from the ledkproc().
	
	blink() could enter infinite delay loop as well, so instead of
	waiting for the message to get transmitted we exit making it
	non-blocking (we will get called again anyway).
	
	the access to the controller map[] was wrong in ledkproc(). the
	index is the controller number, not the drive number!

Hash:	521a0b336c7df8ad79efc7848c95a7b060beea27
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Nov 17 18:04:38 +0000 2019

	bootrc: for wireless netbooting, set the WPA/WPA2 preshard key with wpapsk=password boot parameter
	
	this allows automatic netbooting without password prompt
	for the wirelss network.

Hash:	b31e965ea36f21cf4da91ae33d840999e10a76d4
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Fri Nov 15 21:26:25 +0000 2019

	Parse global pax header in the right place.

Hash:	a68bee44d3a833442671329357169dc755060156
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Thu Nov 14 21:52:41 +0000 2019

	Add pax extended header support to tar.
	
	Support for 'path=', 'uname=', 'gname=', 'size=', and 'atime=' pax
	headers is useful.  Others are ignored, possibly with a warning.
	
	We were running into missing support with the 'go' extraction.
	
	At the same time, this cleans up the way that we handle paths,
	getting rid of static buffers with hidden space at the front.

Hash:	4dab28b14f62cc7f4b474d7e45941d6fbf26f5a7
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Tue Nov 12 21:01:38 +0000 2019

	thread(2): fix manpage typos (thanks rgl)

Hash:	52e92163a609b8257e394b48c60fac3db000c936
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Mon Nov 11 21:35:47 +0000 2019

	draw(2): fix manpage typo (thanks rgl)

Hash:	b638c7753d8498eaec90f06a7c140ffe0ed76cdb
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Nov 10 18:50:46 +0000 2019

	devip: use the routing table for local source ip address selection
	
	when making outgoing connections, the source ip was selected
	by just iterating from the first to the last interface and
	trying each local address until a route was found. the result
	was kind of hard to predict as it depends on the interface
	order.
	
	this change replaces the algorithm with the route lookup algorithm
	that we already have which takes more specific desination and
	source prefixes into account. so the order of interfaces does
	not matter anymore.

Hash:	d72a4043993d02b56873dfe40767cef9336685fc
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Tue Nov 5 18:48:51 +0000 2019

	Fix directory heuristic for long file names.
	
	Tar specifies that a filename ending with '/' is a directory. We were
	incorrectly looking at the short name. This meant that when we have long
	filenames with a '/' at the 100th character, we would decide it was a
	directory.
	
	This change uses the long name when deciding the size for extraction,
	and trusts the header size when just skipping forward in the stream.

Hash:	8b79ad59f14c4ced6ae2af6277d94b3265bd211d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Nov 3 14:20:57 +0000 2019

	games/turtle: do exit instead of crash in redraw() when there where no lines drawn

Hash:	528936156f02103a1b884d82d003f3cf4089923d
Author:	aiju <devnull@localhost>
Date:	Sun Nov 3 13:54:26 +0000 2019

	add games/linden and turtle to mkfile

Hash:	ae61eb9381f6b0c70e1c52bf2c2b7f4cd0b5bb6f
Author:	aiju <devnull@localhost>
Date:	Sun Nov 3 13:49:23 +0000 2019

	add games/linden and games/turtle

Hash:	37827f533bcfe73d8aff7088fbeee1eaa42e8094
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Nov 2 13:17:34 +0000 2019

	tar: fix memory corruption in extract1 (thanks petter)
	
	extract1() expects two extra bytes to be avilabe before
	fname buffer so it can prepend ./ before the name. this
	used to be the case with name(), but was violated when
	long name support was added and getname() was used in
	place of name() which did not reserve the 2 extra bytes.
	
	this change reserves two extra bytes in the getname()'s
	static buffer and also removes the extra copy as name()
	already makes a copy.

Hash:	638f860791e267893799d9a78d151a2e934941f3
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Nov 2 11:52:39 +0000 2019

	upasfs(4): fix manpage typo (thanks rgl)

Hash:	7fbd3fd4fea60d3d0252dcceb20deed7cdca3873
Author:	Alex Musolino <alex@musolino.id.au>
Date:	Fri Nov 1 01:35:11 +0000 2019

	file: add (very) basic support for detecting mpeg4 formats

Hash:	06786f2a71cb5330e63cf50ba7eed8278b31c07f
Author:	Alex Musolino <alex@musolino.id.au>
Date:	Wed Oct 30 23:11:03 +0000 2019

	upas/fs: fix handling of numeric timezone offsets in strtotm
	
	Since numeric timezone offsets are relative to GMT, initialise zone to
	GMT so tm2sec(2) does not assume local time.
	
	Note that if strtotm encounters a timezone *string* and consequently
	overwrites zone then we will end up in the same mess since tm2sec(2)
	only deals with GMT or local time.

Hash:	6c434774926d3d02becbc726fff37f80bb16029b
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Mon Oct 28 21:12:44 +0000 2019

	Check if 'm' is null when updating messages.

Hash:	82d04a4e63253cf7d3575d9876d318401e0993c0
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Oct 27 22:51:11 +0000 2019

	bcm: fix software cursor avoidance for loadimage() case (thanks bitmapper)

Hash:	ff44b92c9641ffae799a5e12f88eb42294f24f2f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Oct 22 05:53:50 +0100 2019

	ip/dhcpd: prevent client from increasing max reply size beyond the reply buffer capacity

Hash:	9314883aff7950820a26782d863a78d18be93635
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Mon Oct 21 23:29:07 +0100 2019

	Make ctrl+g focus text windows and cycle zeroxed copies (thanks kvik)

Hash:	7682a24bc514a9348ec01b1a3d66f9c6568373c4
Author:	Alex Musolino <alex@musolino.id.au>
Date:	Mon Oct 21 22:48:20 +0100 2019

	/sys/lib/plumb/basic: open nedmail windows with -noscroll
	
	This preserves the desired behaviour of *not* scrolling to the bottom
	of plumbed messages even when rio(1) is invoked with the -s flag.

Hash:	e168ea045f7c29afd41aeb5daf865a772fef2c9e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Oct 13 08:02:04 +0100 2019

	ndb/dns: handle empty $DNSSERVER
	
	when $DNSSERVER is empty, query ndb for local dns servers
	instead of not using any at all.

Hash:	c0280c607f92846cc05cb4a8c20c03fd4cea195a
Author:	Roberto E. Vargas Caballero <k0ga@shike2.com>
Date:	Sun Oct 13 09:20:10 +0100 2019

	backup: Set execution bits in backup scripts

Hash:	e38f75fc45bba789ceea05d5e62f1d8662bf508b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Oct 11 20:38:12 +0100 2019

	ether82563: fix multicast for i210
	
	MTA has 128 entries, according to section 8.10.15 in the datasheet.
	this fixes ipv6 in apu2 which has 3x i210 (8086/157b).

Hash:	7367b8d2e75301fb33830404b66ded43bbd56356
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Thu Oct 10 19:52:22 +0100 2019

	Fetch IMAP flags from server. This makes us sync read/answered/... flags with unix.

Hash:	e3a43c4f2b3751da67d24e40a77d8bcac3957520
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Thu Oct 10 01:36:02 +0100 2019

	awk: make empty FS unicodely-correct.

Hash:	db911d4fef8d2bcfc6c314fcd3c06f35f5b4249c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Oct 8 12:53:57 +0100 2019

	sdiahci: force Hudson SATA Controller to AHCI mode

Hash:	6716e9ba20e378efe32924813c531943373afc46
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Oct 7 11:51:21 +0100 2019

	sshfs: fix dir2attrib() memory leak in wstat error case (thanks BurnZeZ)

Hash:	f763dc164092f5a4652c65feab358130857f0622
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Oct 7 10:52:14 +0100 2019

	sshfs: fix race condition between sendproc() and recvproc()
	
	there was a race between the sendproc putting the request on
	the sreqrd[] id and the recvproc handling the response, and
	potentially freeing the request before the sendproc() was
	finished with the request (or the fid).
	
	so we defer allocating a request id and putting it on the
	sreqrd[] stage after we have completely generated the
	request in vpack(). this prevents the handling of the request
	before it is even sent.
	
	this also means that the SReq should not be touched after
	calling sendpkt(), submitreq(), submitsreq().
	
	secondly, putsfid() needs to acquire the RWLock to make sure
	sendproc() is finished with the request. the scenario is that
	recvproc() can call respond() on the request before sendproc()
	has unlocked the SFid.

Hash:	af23bb343a067d5346696b788f4cce5b744cd51d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Oct 4 17:54:01 +0100 2019

	cwfs: fix listen filedescriptor leaks

Hash:	dea290578377f1d0a8691072557e8653f27b14a9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Oct 4 17:52:53 +0100 2019

	lib9p: fix listensrv() filedescriptor leaks

Hash:	2401794cffea1671931bd2e34645756c9689e8eb
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Oct 4 17:51:44 +0100 2019

	sshfs: use threadexits() instead of exits()

Hash:	ff16079e49ae585281e4ff0f2aed9620a7273644
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Oct 3 14:49:53 +0100 2019

	upas/fs: speedup mtree and henter()
	
	move digest pointer into Mtree structrue and embed it into Idx struct
	(which is embedded in Message) to avoid one level of indirection
	during mtreecmp().
	
	get rid of mtreeisdup(). instead we have mtreeadd() return the old
	message in case of a collision. this avoids double lookup.
	
	increase the hash table size for henter() and make it a prime.

Hash:	c0f464b98fde437a1c6556006e87662827d77096
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Oct 2 00:01:34 +0100 2019

	pc: move low-level allocation details out of mmu.c into memory.c rampage() function

Hash:	0ee738ef8c34d5494265b8a14435333f45b96dc6
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Oct 1 23:58:46 +0100 2019

	vgai81x: use vmap() for uncached access to cursor data instead of manipulating kernel page table
	
	on 386, the kernel memory region is mapped using huge 4MB pages
	(when supported by the cpu). so the uncached pte manipulation
	does not work to map the cursor data with uncached attribute.
	
	instead, we allocate a memory page using newpage() and map
	it globally using vmap(), which maps it uncached.

Hash:	a524fd06466b057638d8bf40f8f9f380033320fe
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Sep 22 19:37:33 +0100 2019

	merge

Hash:	d15008fdef26f8d461a4468b74477b224c372a98
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Sep 22 19:35:16 +0100 2019

	ape/cc: add spim

Hash:	61ad24312b1f35fbdea73a93f1bde63181a18794
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Sep 22 19:30:08 +0100 2019

	merge

Hash:	d559cd005c3831217c55bdd7e334c572d515241d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Sep 22 18:09:25 +0100 2019

	2c(1): document 7c (arm64)

Hash:	754188aa3520a68c16d1ace5c8f6cbb84e61f41d
Author:	Roberto E. Vargas Caballero <k0ga@shike2.com>
Date:	Sun Sep 22 18:07:57 +0100 2019

	ape/cc: Add arm64 and remove alpha

Hash:	490c3d87cb558a8cfe8ad4db9f39c9cb3df91d17
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Sep 22 17:51:41 +0100 2019

	usbxhci: fix endpoint stall recovery, handle Ep.clrhalt flag
	
	after issuing CR_RESETEP command, we have to invalidate
	the endpoints output context buffer so that the halted/error
	status reflects the new state. not doing so resulted in
	the halted state to be stuck and we continued issuing
	endpoint reset commands when we where already recovered.
	
	handle the devusb Ep.clrhalt flag from devusb that userspace
	uses to force a endpoint reset on the next transaction.

Hash:	71a1d11a81faba020649408e8c9eaeb10095a341
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Sep 21 22:36:44 +0100 2019

	cmd/ip/*: chown the network connection after authentication
	
	for servers that handle incoming network connections and authentication,
	change the owner of the network connection file to the authenticated user
	after successfull authentication.
	
	note that we set the permissions as well to 0660 because old devip used
	to unconditionally set the bits.

Hash:	5993760e143bfab2a29fa3d5a4655ed5842fd21f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Sep 21 22:28:37 +0100 2019

	devip: fix permission checking
	
	permission checking had the "other" and "owner" bits swapped plus incoming
	connections where always owned by "network" instead of the owner of
	the listening connection. also, ipwstat() was not effective as the uid
	strings where not parsed.
	
	this fixes the permission checks for data/ctl/err file and makes incoming
	connections inherit the owner from the listening connection.
	
	we also allow ipwstat() to change ownership to the commonuser() or anyone
	if we are eve.
	
	we might have to add additional restrictions for none at a later point...

Hash:	b56909157f0cd2491cd2918f7923676f22b5707c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Sep 21 17:48:14 +0100 2019

	bootrc: unmount devip *before* starting factotum
	
	we want devip to get reattached after hostowner has been written. factotum
	already handles this with a private authdial() routine that mounts devip
	when it is not present. so we detach devmnt before starting factotum,
	and attach once factotum finishes.

Hash:	5b7d8e1f6fb4167e354545fef7e6dd6676986441
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Sep 21 17:11:52 +0100 2019

	bootrc: remount devip after /dev/hostowner has been written by factotum
	
	devip remembers the attach uname so after we set hostowner we
	remount devip so future connections have the right owner.

Hash:	12fa017f3fc2687d3afb166fd30d9b134abb1da5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Sep 21 15:36:40 +0100 2019

	devproc: fix fishy locking in proctext(), check proc validity, static functions
	
	the locking in proctext() is wrong. we have to acquire Proc.seglock
	when reading segments from Proc.seg[] as segments do not
	have a private freelist and can therefore be reused for other
	data structures.
	
	once we have Proc.seglock acquired, check that the process pid
	is still valid so we wont accidentally read some other processes
	segments. (for both proctext() and procctlmemio()). this also
	should give better error message to distinguish the case when
	the process did segdetach() the segment in question before we
	could acquire Proc.seglock.
	
	declare private functions as static.

Hash:	c45458b929e0f8e5eb26fd97c844977c893f6262
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Sep 19 01:24:23 +0100 2019

	devproc: move proctab() call after Qnotepg special case in procwrite()

Hash:	24d1fbde273f30422d852811d3724ede789acd0d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Sep 19 01:07:46 +0100 2019

	kernel: simplify pgrpnote(); moving the note string copying to procwrite()
	
	keeps handling of devproc's note and notepg files similar and in the
	same place and reduces stack usage.

Hash:	f8de863602cfbb957733297cdaa2ee2e19a36f8b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Sep 16 15:21:40 +0100 2019

	ape: don't hardcode list of ape library directories in /sys/src/ape/lib/mkfile
	
	this change allows one to drop library directories (like
	freetype) into /sys/src/ape/lib/ and have them built without
	having to change the mkfile.

Hash:	fc4bfd57d261e5c99c5d4367adf5c72e8c7e6496
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Sep 15 03:53:45 +0100 2019

	bcm64: add addarchfile() prototype to fns.h (for qeed)

Hash:	acab8881bc2c0befcda62c2e6cc479cd7529dbe3
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Sep 14 13:02:34 +0100 2019

	bcm64: enter page tables in mmutop *AFTER* switching asid in mmuswitch()
	
	there was a small window between modifying mmutop and switching the
	asid where the core could bring in the new entries under the old asid
	into the tlb due to speculation / prefetching.
	
	this change moves the entering of the page tables into mmutop after
	setttbr() to prevent this scenario.
	
	due to us switching to the resereved asid 0 on procsave()->putasid(),
	the only asid that could have potentially been poisoned would be asid 0
	which does not have any user mappings. so this did not show any noticable
	effect.

Hash:	ca2f1c07f2a6bb48582b990868976b45d3663605
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Sep 12 14:28:04 +0100 2019

	acid/kernel: for stacktraces, try to use context from error stack when process is not sleeping
	
	when a process state has not been saved (Proc.mach != nil)
	then the contents of Proc.sched should be considered invalid.
	
	to approximate a stacktrace in this case, we use the error
	stack and get a stacktrace from the last waserror() call.

Hash:	fbf29fc6951da196b0ce155dd0af86c6d7fde7bf
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Sep 11 14:41:14 +0100 2019

	ip/cifsd: dont return garbage in upper 32 bit of unix extension stat fields

Hash:	88b386a4a15654bcc9d34a534812f1ec9c77e069
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Sep 10 20:19:34 +0100 2019

	ip/cifsd: add basic support for UNIX extensions

Hash:	67edb3bd015c635216f9cd3eaffaf16c228c790f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Sep 10 20:17:23 +0100 2019

	ip/cifsd: exit to close connection when we get malformed smb header (fixes linux mount hang)

Hash:	481a4c75fd157edda9c00b66ee727dc6002aa818
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Sep 9 15:58:45 +0100 2019

	usbehci: silence "param declared but not used" compiler warning in itdinit()/sitdinit()

Hash:	7de7444c6eeedc0eae05968ca51591bad22ff8a3
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Sep 9 15:56:01 +0100 2019

	sdide: silence compiler warning in atadebug()

Hash:	42240127a7c334097500cdc722cb7088f58cc04e
Author:	Roberto E. Vargas Caballero <k0ga@shike2.com>
Date:	Mon Sep 9 17:27:57 +0100 2019

	ape: Add mkstemp to /sys/src/ape/lib/ap/gen/mkfile

Hash:	5e9d8a7b18c001fd60d3c3978f90dcdaf20f5ce6
Author:	Roberto E. Vargas Caballero <k0ga@shike2.com>
Date:	Mon Sep 9 16:00:06 +0100 2019

	Add toascii() to ape

Hash:	e0720a48b0ce9db78aa1e048e4e2d1d5cfae41db
Author:	Roberto E. Vargas Caballero <k0ga@shike2.com>
Date:	Mon Sep 9 15:58:39 +0100 2019

	Add mkstemp to stdlib.h
	q

Hash:	662fd71e115b1cbd35233f2d64f7828bb9bd3f59
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Sep 8 18:04:55 +0100 2019

	merge

Hash:	62eec43340340fa981340e4b521908b40b84b782
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Sep 8 18:02:01 +0100 2019

	kernel: clear FPillegal in pexit() and before pprint()
	
	pexit() and pprint() can get called outside of a syscall
	(from procctl()) with a process that is in active note
	handling and require floating point in the kernel on amd64
	for aesni (devtls).

Hash:	6ad06b36b2a61ce20cb6a6e4c5fd15ec8ac142f8
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Sep 8 17:53:12 +0100 2019

	devproc: restore psstate info string in procstopwait()

Hash:	71939a82ccc505b0baa990d7fe17e7085d0ab8fc
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sun Sep 8 02:25:04 +0100 2019

	Allow address expressions in ?c after int casts.
	
	This fixes ocaml on non-x86 architectures, where we have code
	that looks like:
	
		#define Fl_head ((uintptr_t)(&sentinel.first_field))
	
	Without this change, we get an error about a non-constant
	initializer. This change takes the checks for pointers and
	makes them apply to all expressions. It also makes the checks
	stricter, preventing the following from compiling to junk:
	
		int x;
		int y = 42;
		int *p = &x + y

Hash:	2917cb1d17b30e599f3934fcf2878f3174d63871
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sat Sep 7 20:46:44 +0100 2019

	merge

Hash:	ba8e5c774af5dd5481e124594a2384873527294c
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sat Sep 7 20:37:33 +0100 2019

	Libflac: Tell it that we have stdint.h so it finds SIZE_MAX

Hash:	ff9ce8210aeaf968e08e16ab62c388b9cf555a06
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sat Sep 7 02:01:52 +0100 2019

	Include integer limits from generic stdint.h in system-specific stdint.h

Hash:	971e14663aa9da3d8ebec3c6a066096b2a5c0236
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Sep 7 01:13:35 +0100 2019

	merge

Hash:	766a641d252cf4de21d50b2753dd8c25490b8ba0
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Sep 7 01:11:18 +0100 2019

	cc: fix void cast crash
	
	the following code reproduces the crash:
	
	void
	foo(void)
	{
	}
	
	void
	main(int argc, char **argv)
	{
		(void)(1 ? (void)0 : foo());
	}
	
	the problem is that side() gives a false positive on the OCOND
	with later constant folding eleminating the acutal side effect
	and OCAST ending up with two nested OCATS with the nested one
	being zapped (type == T).

Hash:	c09546cceafeaa04b6536e8b31278fd3a30593c2
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Sat Sep 7 00:33:11 +0100 2019

	Add missing UINTsz_MIN defines to ape stdint.h

Hash:	d1204d9b8085634241bf5655279e54a606406cb1
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Fri Sep 6 19:57:08 +0100 2019

	merge

Hash:	27824a6c0b805cf5bd819d904d8eba186b489012
Author:	David du Colombier <0intro@gmail.com>
Date:	Fri Sep 6 19:55:35 +0100 2019

	sys/src/libventi: define VtEntryNoArchive constant

Hash:	cb091e75393b176ccb02c68f0ecfcfbb8bc49376
Author:	David du Colombier <0intro@gmail.com>
Date:	Fri Sep 6 19:55:18 +0100 2019

	sys/src/libventi: implement vtsha1 and vtsha1check functions

Hash:	63ae9ed53a04fac853693f8d319a4bbc1f6b5f49
Author:	David du Colombier <0intro@gmail.com>
Date:	Fri Sep 6 19:54:44 +0100 2019

	sys/src/libventi: implement vtreconn and vtredial functions

Hash:	98e2ea45fb498274b4ea2af48db5c500d7614f7b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Sep 6 17:48:35 +0100 2019

	ip/ipconfig: don't leave behind null address when dhcp gets interrupted
	
	cleanup the null address (::) when the command gets interrupted.

Hash:	8cbe3772c45431b962971e45581d831772a85947
Author:	Ori Bernstein <ori@eigenstate.org'>
Date:	Fri Sep 6 16:25:21 +0100 2019

	Add RFC2822 (email style) formatted dates to to date(1).

Hash:	0cb4115b8234946b5468f3f0fe29d4c6a94f1026
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Sep 4 01:44:39 +0100 2019

	kernel: get rid of tmperrbuf and use syserrstr swapping instead in namec()

Hash:	4088f72903121c5b39cd5ce9445b2fdb2783c4c1
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Sep 4 01:41:22 +0100 2019

	rune(2): complete source references

Hash:	6aa7ebcf495bff8f6a4c7ebcac28058bd0b06aae
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Sep 4 01:40:41 +0100 2019

	kernel: make exec clear errstr, stop side-channels and truncate on utf8 boundary
	
	make exec() clear the per process error string
	to avoid spurious errors and confusion.
	
	the errstr() syscall used to always swap the
	maximum buffer size with memmove(), which is
	problematic as this gives access to the garbage
	beyond the NUL byte. worse, newproc(), werrstr()
	and rerrstr() only clear the first byte of the
	input buffer. so random stack rubble could be
	leaked across processes.
	
	we change the errstr() syscall to not copy
	beyond the NUL byte.
	
	the manpage also documents that errstr() should
	truncate on a utf8 boundary so we use utfecpy()
	to ensure proper NUL termination.

Hash:	e4a57c8b8a6b099d73d5ebdb97db493f1166e413
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Sep 2 18:38:44 +0100 2019

	bcm64: enable devgpio in kernel configuration (thanks qeed)

Hash:	4b9ccb2de0466dd3cabc50b2e8e9d709b94d9bb9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Aug 30 19:17:19 +0100 2019

	ndb/dnsquery, ndb/csquery: write ">" prompt to stderr (thanks kvik)
	
	kvik writes:
	
	dnsquery(8) prints the interactive prompt on stdout together with
	query results, making scripted usage unnecessarily difficult.
	
	A straightforward solution is prompting on stderr instead: as
	practiced by rc(1), among many others -- promptly taking care of
	the issue:
	
		; echo 9front.org mx | ndb/dnsquery >[2]/dev/null

Hash:	a6fde3edc5ec390d23e50110c93492d42f1e23e1
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Aug 30 06:35:54 +0100 2019

	rsa(2): document asn1encodeRSApriv() and asn1encodeRSApub() functions

Hash:	85216d3d95505c19a57d3bbe74e8a7eca109a8e6
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Aug 30 06:34:35 +0100 2019

	auth/rsa2asn1: implement private key export with -a flag (thanks kvik)
	
	kvik writes:
	
	I needed to convert the RSA private key that was laying around in
	secstore into a format understood by UNIX® tools like SSH.
	
	With asn12rsa(8) we can go from the ASN.1/DER to Plan 9 format, but not
	back - so I wrote the libsec function asn1encodeRSApriv(2) and used it in
	rsa2asn1(8) by adding the -a flag which causes the full private key to be
	encoded and output.

Hash:	7bb1a9a18566ea9c8ae7f6c2fa99e448026521d2
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Aug 29 06:35:22 +0100 2019

	pc64: map kernel text readonly and everything else no-execute
	
	the idea is to catch bugs and make kernel exploitation
	harder by mapping the kernel text section readonly
	and everything else no-execute.
	
	l.s maps the KZERO address space using 2MB pages so
	to get the 4K granularity for the text section we use
	the new ptesplit() function to split that mapping up.
	
	we need to set EFER no-execute enable bit early
	in apbootstrap so secondary application processors
	will understand the NX bit in our shared kernel page
	tables. also APBOOTSTRAP needs to be kept executable.
	
	rebootjump() needs to mark REBOOTADDR page executable.

Hash:	e988d56a2f6b87531a12559a336b5de4471605b4
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Aug 28 20:01:16 +0100 2019

	8l, 6l: fix "unknown relation: TEXT" xfol() bug (thanks mischief)
	
	mischief reports:
	
	this assembler input assembles with 6a but makes 6l crash.
	
	 // 6a l.s
	 // 6l l.6
	 // _intrr: unknown relation: TEXT in _intrr
	 // 6l 511: suicide: sys: trap: fault write addr=0x18 pc=0x20789c
	
	 TEXT noteret(SB), 1, $-4
	         CLI
	         JMP _intrestore // works when commented
	
	 TEXT _intrr(SB), 1, $-4
	 _intrestore:
	         RET
	
	 TEXT _main(SB), 1, $-4
	         RET

Hash:	d9fec3c70aebe9e9139429235b881bf5b32dbe41
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Aug 27 05:16:20 +0100 2019

	kernel: prohibit changing cache attributes (SG_CACHED|SG_DEVICE) in segattach(), set SG_RONLY in data2txt()
	
	the user should not be able to change the cache
	attributes for a segment in segattach() as this
	can cause the same memory to be mapped with
	conflicting attributes in the cache.
	
	SG_TEXT should always be mapped with SG_RONLY
	attribute. so fix data2txt() to follow the rules.

Hash:	d25ca13ed8acdf609329055ef9c36d0f3fae9503
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Aug 27 03:04:46 +0100 2019

	kernel: make user stack segment non-executable

Hash:	1e773c97e79d74983edd9b46694956f76b0c7fd5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Aug 27 02:55:12 +0100 2019

	pc64: implement NX bit discovery, map kernel mappings no-execute

Hash:	49411b2ca15b94b6631fd54d2576c5aeff63eb67
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Aug 27 02:48:51 +0100 2019

	kernel: catch execution read fault on SG_NOEXEC segment (for mips)

Hash:	2149600d129944f60cbc858bc669193af0523409
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Aug 27 02:47:18 +0100 2019

	kernel: catch execution read fault on SG_NOEXEC segment
	
	fault() now has an additional pc argument that is
	used to detect fault on a non-executable segment.
	that is, we check on read fault if the segment
	has the SG_NOEXEC attribute and the program counter
	is within faulting page.

Hash:	128ea44a89c7905612ad2fa5a61a9325ddfb5e1e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Aug 26 21:34:38 +0100 2019

	kernel: expose no execute bit to portable mmu code as SG_NOEXEC / PTENOEXEC, add PTECACHED bits
	
	a portable SG_NOEXEC segment attribute was added to allow
	non-executable (physical) segments. which will set the
	PTENOEXEC bits for putmmu().
	
	in the future, this can be used to make non-executable
	stack / bss segments.
	
	the SG_DEVICE attribute was added to distinguish between
	mmio regions and uncached memory. only matterns on arm64.
	
	on arm, theres the issue that PTEUNCACHED would have
	no bits set when using the hardware bit definitions.
	this is the reason bcm, kw, teg2 and omap kernels use
	arteficial PTE constants. on zynq, the XN bit was used
	as a hack to give PTEUNCACHED a non-zero value and when
	the bit is clear then cache attributes where added to
	the pte.
	
	to fix this, PTECACHED constant was added.
	
	the portable mmu code in fault.c will now explicitely set
	PTECACHED bits for cached memory and PTEUNCACHED for
	uncached memory. that way the hardware bit definitions
	can be used everywhere.

Hash:	91a8d03040a3533e27f51d33bbbfed33d84b5043
Author:	qwx <devnull@localhost>
Date:	Mon Aug 26 16:02:58 +0100 2019

	vncv: fix snarf buffer realloc memory corruption
	
	fix never updating p when snarf is reallocated,
	resulting in memory corruption.

Hash:	51cfe763a491cf72f5177d3ccdca09edcb0340e9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Aug 25 19:02:53 +0100 2019

	emmc: 50MHz highspeed support (from richard miller)

Hash:	a8c50a79437006bdde702d09408df8749f48a45a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Aug 25 17:45:29 +0100 2019

	bcm64: replace emmc2 driver with richard millers sdhc driver
	
	the new driver supports 50MHz highspeed bus mode
	and uses ADMA instead of SDMA.

Hash:	60ec886191b15c638deaee27a161bbe872590e38
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Aug 24 15:35:03 +0100 2019

	/sys/lib/dist/mkfile: adjust 2GB for pi3 and zynq img

Hash:	f6ef250871c6e92e77ff3d92adb29619b79e280b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Aug 24 15:29:00 +0100 2019

	/sys/lib/dist/mkfile: storage vendors idea of 2GB is deflating

Hash:	bcf988aff1316d675b4353549197662e6f5d7b17
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Aug 23 20:39:20 +0100 2019

	bcm64: deal with discontinuous memory regions, avoid virtual memory aliasing, implement vmap() proper
	
	on the 2GB and 4GB raspberry pi 4 variants, there are two
	memory regions for ram:
	
	[0x00000000..0x3e600000)
	[0x40000000..0xfc000000)
	
	the framebuffer is somewhere at the end of the first
	GB of memory.
	
	to handle these, we append the region base and limit
	of the second region to *maxmem= like:
	
	*maxmem=0x3e600000 0x40000000 0xfc000000
	
	the mmu code has been changed to have non-existing
	ram unmapped and mmukmap() now uses small 64K pages
	instead of 512GB pages to avoid aliasing (framebuffer).
	
	the VIRTPCI mapping has been removed as we now have
	a proper vmap() implementation which assigns vritual
	addresses automatically.

Hash:	e6d22570a84ce1e158f184a8a90cfd53be48bbf4
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Aug 22 01:54:06 +0100 2019

	bcm: invalidate cache on Fbinfo after firmware completion

Hash:	aca0293f0b3aaf58fa30a2bcdf70c750b6b316f1
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Aug 22 01:52:21 +0100 2019

	bcm: flush out early boot messages on uart and screen initialization
	
	make early boot messages available by writing out
	kmesg.buf after uart and screen initialization.

Hash:	a70b93a356662355214f5405edda066786f6dd03
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Aug 21 18:34:24 +0100 2019

	/sys/lib/acid/kernel: fix procstk() for arm64, set kdir for arm/arm64 to bcm/bcm64

Hash:	b4cb19235eb84f5e08539a10fcdd671a06494e94
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Aug 21 17:28:01 +0100 2019

	bcm: set XN bits for kernel device mappings

Hash:	6280c0f17bf3919cf6c2506fec6edfa0a7ec10fe
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Aug 19 15:42:20 +0100 2019

	bcm64: do not use OTP_BOOTMODE_REG to determine OSC frequency (thanks richard miller)
	
	the register does not seem to be accessible on the Rpi 3b.
	so instead hardcode oscfreq in the Soc structure.

Hash:	a611fe20e16318b4b61dc52b4f71e59ccbc203d5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Aug 19 00:09:24 +0100 2019

	disk/format: implement long name support

Hash:	ac98922f44c3df8839f1bdd07f23fcccf27d0cba
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Aug 18 21:19:29 +0100 2019

	add missing device tree file for raspberry pi 4

Hash:	534be5aeb33760ebf77fd611a493bf959338225c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Aug 18 20:43:04 +0100 2019

	add raspberry pi 4 kernel and bootloader to pi3.img target

Hash:	f35d5ee5b036b7b4fa59b1839f52fca15b7f99f9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Aug 18 20:16:30 +0100 2019

	bcm64: add support for more than 1GB of ram (untested)
	
	this adds a 4GB KMAP window into the kernel address space
	so we can access all physical ram on raspberry pi 4 for
	user pages.
	
	note that kernel memory above KZERO is still limited
	to 1GB because of DMA restrictions.

Hash:	3fc8d1bdae10955e0b31ee1766d17367e0d0caa1
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Aug 18 17:50:24 +0100 2019

	bcm64: add driver for emmc2 controller

Hash:	bc8c31dbd506731813a62b220ae544f2eb239c5f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Aug 16 18:35:46 +0100 2019

	bcm: fix typo in gpio.c on unused AFedge0 constant

Hash:	031f5756aba3d07939a7eee6b2adf02f0a2d1d8d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Aug 16 18:24:00 +0100 2019

	bcm64: poll gisb arbiter for asynchronous bus errors

Hash:	54becb84666114ce76457553fa3f707e4003d322
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Aug 16 18:22:28 +0100 2019

	ethergenet: remove debugging
	
	the hangs where caused by missing NX bits on the mmio mappings,
	so the debug code is not needed anymore.

Hash:	3bf49f18142a5d37bd5507d7491ba4eb223eb3b1
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Aug 16 18:05:04 +0100 2019

	bcm64: set XN bits for kernel device mappings

Hash:	ffd99348f3d1b474abd03183064caaa4209c11a6
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Aug 12 18:15:02 +0100 2019

	cc: use 7 octal digits for 21 bit runes

Hash:	675870f9b13501d8eea0c4e4339a951567021672
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Aug 2 18:06:23 +0100 2019

	libauth: do not set errstr in auth_rpc() for ARdone result (thanks majiru)

Hash:	05f9a66fd4ea4a3744847d354bda9a1f4aefcdbc
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jul 28 10:39:57 +0100 2019

	bcm, bcm64: add vcore support for raspberry pi 3 GPIO expander

Hash:	8630bd35a636a463bcf7211aaa0f014600013463
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jul 27 19:00:53 +0100 2019

	bcm, bcm64: add BCM2711 support for gpiopull(), fix gpiomeminit(), cleanup
	
	according to the following linux change, BCM2711 uses a different
	method for changing pullup/down mode:
	
	https://github.com/raspberrypi/linux/commit/abcfd092860760087b87acbdda0963fe7906839c#diff-cf078559c38543ac72c5db99323e236d
	
	gpiomeminit() was broken, using virtual address for the gpio physseg
	instead of the physical one.
	
	cleanup the code, avoid repetition by declaring static u32int *regs
	variable. make local variable names consistent.

Hash:	ea2a5a33ca880e4f5e3950350bf4dbb4187f51b8
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jul 27 16:59:25 +0100 2019

	bcm64: fix wrong prescaler for generic timer on rpi4
	
	the raspberry pi 4 uses 54 instead of 19.2 MHz crystal.
	detect which frequency is used by reading OTP bootmode
	register:
	
	https://www.raspberrypi.org/documentation/hardware/raspberrypi/otpbits.md
	
	Bit 1: sets the oscillator frequency to 19.2MHz

Hash:	834f6703498f95ca6534463db6ecb32acb5487fa
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jul 25 16:44:47 +0100 2019

	ethergenet: fix flow control negotiation

Hash:	1717368f640180cab63a870a19d650276172cbfd
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jul 25 12:55:17 +0100 2019

	bcm, bcm64: clean dma destination buffer before issuing dma in case of non cache-line-size aligned buffer

Hash:	706926f8184456e44dd509eb057e59884907b1ec
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jul 25 08:12:40 +0100 2019

	bcm64: add config for raspberry pi 4

Hash:	3bc4e5a6d568889eeeb2d0b7d443c0a3e02fb499
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jul 25 08:11:53 +0100 2019

	bcm64: work in progress genet ethernet driver for raspberry pi 4

Hash:	2a4c767c41025b3fd07790cb031f3c12fc25dd21
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jul 25 08:10:07 +0100 2019

	bcm64: reorganize virtual memory map for rapberry pi4

Hash:	42007788616263648a2070a7daa6301ed3f62e5d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jul 25 08:08:35 +0100 2019

	bcm64: update io.h for pci express and raspberry pi 4

Hash:	6d9edeeb67a0b1e92f141f2745d36891fbd4e135
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jul 25 08:04:50 +0100 2019

	bcm64: add pci express driver for raspberry pi 4

Hash:	676ef0ca0be714c8734872c59cb1ddc69349f6ce
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jul 25 08:02:47 +0100 2019

	bcm64: add gic interrupt controller driver for raspberry pi 4

Hash:	10b456ff446704f32aa2ee237c149244fbabd81d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jul 25 08:01:44 +0100 2019

	bcm64: add gisb arbiter driver to catch bus timeouts

Hash:	811b80cae120168762e5825784a135ee4a5558e2
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jul 25 07:58:58 +0100 2019

	bcm, bcm64: make irq.$O optional and add intrdisable(), use intrenable()
	
	the raspberry pi 4 has a new interrupt controller and
	pci support, so get rid of intrenable() macro and
	properly make intrenable function with tbdf argument.

Hash:	dfea95b3c29ef4a6de2713a946453d3a022ae0b4
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jul 25 07:52:46 +0100 2019

	bcm64: strip debug symbols to make sure .img file is multiple of 4 bytes
	
	the raspberry pi4 firmware refuses to enable the GIC interrup controller
	for arm64 when the .img file is not a multiple of 4 bytes. yes, this
	is insane and nowhere documented.

Hash:	5a0c2e2d17617ece4819e2f66514a498849ee088
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jul 25 07:41:37 +0100 2019

	bcm, bcm64: add dmaflush() function and make virtio size and virtual address configurable in Soc.virtio and Soc.iosize

Hash:	4983adfa2cd403eda22d862917c2ff5ed35b48b3
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jul 25 07:19:12 +0100 2019

	bcm, bcm64: add support for device tree parameter passing
	
	the new raspberry pi 4 firmware for arm64 seems to have
	broken atag support. so we now parse the device tree
	structure to get the bootargs and memory configuration.

Hash:	a6a1806c17c6dbb6c657ac676fc97fd6c5207da7
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Jul 17 09:30:06 +0100 2019

	usbxhci: implement portable dma flush operations and move to port/

Hash:	19a883ce7a8b0d1f57a1df68947af2bfa7ea5576
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Jul 17 09:24:50 +0100 2019

	usbehci: introduce dmaflush() function to handle portable cache invalidation for device drivers

Hash:	a4688b03228dfdebcde34570b2a7b5c79db31c79
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jul 11 06:49:52 +0100 2019

	merge

Hash:	a1a6f26110b774e894bfc8a152fffff81aa3dc08
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jul 11 06:47:39 +0100 2019

	kernel: move common ethermii to port/

Hash:	7111de631c6a76eeedfe0f41df7b9705582de1a5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jul 11 06:45:34 +0100 2019

	devuart: make sure uart is enabled in uartkick()

Hash:	51550ba3d2d9a19c92ef2d3fd49cbff281064ba3
Author:	Alex Musolino <alex@musolino.id.au>
Date:	Tue Jul 2 15:04:31 +0100 2019

	walk(1): add history section

Hash:	32a27378239aadb80d6d17f2cfbc9b5ba9a9b2c0
Author:	Alex Musolino <alex@musolino.id.au>
Date:	Tue Jul 2 13:54:10 +0100 2019

	tinc(8): add history section

Hash:	54f9b36720ee3201dfd5a2524cdbf836edf5914f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Jul 2 04:34:13 +0100 2019

	usbxhci: fix mysterious ENABLESLOT failures (update to XHCI spec revision 1.2 (2019))
	
	Ori Bernstein had Sunrise Point-H USB 3.0 xHCI Controller that would mysteriously
	crash on the 5th ENABLESLOT command. This was reproducable by even just allocating
	slots in a loop right after init.
	
	It turns out, the 1.2 spec extended the Max Scratchpad Buffers in HCSPARAMS2 so our
	driver would not allocate enougth scratchpad buffers and controller firmware would
	crash once it went beyond our allocated scratchpad buffer array.
	
	This change also fixes:
	
	- ignore bits 16:31 in PAGESIZE register
	- preserve bits 10:31 in the CONFIG register
	- handle ADDESSDEV command failure (so it can be retried)

Hash:	b2c7a8d84a0075fea104009115d0c34bffc39e06
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jun 28 17:12:13 +0100 2019

	pc64: preallocate mmupool page tables
	
	preallocate 2% of user pages for page tables and MMU structures
	and keep them mapped in the VMAP range. this leaves more space
	in the KZERO window and avoids running out of kernel memory on
	machines with large amounts of memory.

Hash:	6118d778581b44e5c41a04a60d4aa8e6cad4a37c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jun 24 19:09:04 +0100 2019

	ape: reimplement rename() - fixing compiler warnings and handling more error cases
	
	handle empty filename, dot and dotdot. handle mismatching from/to directory/file
	type. cleanup destination file on error. error when attempting to copy non-empty
	directories.
	
	little test program:
	
	#include <unistd.h>
	#include <stdio.h>
	
	int
	main(int argc, char *argv[])
	{
		if(argc != 3){
			fprintf(stderr, "usage: %s old new\n", argv[0]);
			return 1;
		}
		if(rename(argv[1], argv[2])){
			perror("rename");
			return 1;
		}
		return 0;
	}

Hash:	4cffc0436451cb192fb041a4b2be6fa8db5eda8e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jun 24 18:38:46 +0100 2019

	8c, 6c: LEA x, R; MOV (R), R -> MOV x, R

Hash:	345714dd56f5da8dcb2193f9cdf041cfc005d82f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jun 24 18:36:01 +0100 2019

	8c, 6c: avoid allocating index registers when we don't have to
	
	when a operation receives a chain of OINDEX nodes as its operands,
	each indexing step used to allocate a new index register. this
	is wastefull an can result in running out of fixed registers on 386
	for code such as: x = a[a[a[a[i]]]].
	
	instead we attempt to reuse the destination register of the operation
	as the index register if it is not otherwise referenced. this results
	in the index chain to use a single register for index and result and
	leaves registers free to be used for something usefull instead.
	
	for 6c, try to avoid R13 as well as BP index base register.

Hash:	9f6967ed7e12ec3254bc1b3b7ad3e5a41c274e3a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jun 24 18:25:13 +0100 2019

	8c: skip 64-bit regpair allocation for OINDEX nodes in cgen64()
	
	OINDEX can only return TLONG result on 386 so give it
	a register instead of a regpair and let gmove() handle
	the conversion.

Hash:	7d3cc1c55a435bd9e3d37d9bf8a9299ea9e1f87e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jun 23 21:35:14 +0100 2019

	ape: revert rename() change
	
	new implementation gets stuck in a infinite loop. backing
	this out for now.

Hash:	d4bc9052beb3305d64a353a16641740380eb87af
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Fri Jun 21 18:00:58 +0100 2019

	Turn on warnings when building libap.
	
	For ape, we never enabled warnings in cflags.
	Turning it on brings up a lot of warnings. Most are noise,
	but a few caught unused variables and trunctaions of pointers.
	to smaller integers (int, long).
	
	A few warnings remain.

Hash:	0af7d1fe35093690f2d8dd0613b3bf3b777674c6
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jun 21 17:57:20 +0100 2019

	gs: apply mitigations against CVE-2017-8291 (thanks jsmoody)
	
	To reproduce:
	gs -q -dNOPAUSE -dSAFER '-sDEVICE=ppmraw' '-sOutputFile=/dev/null' <<.
	%!PS-Adobe-3.0 EPSF-3.0
	%%BoundingBox: -0 -0 100 100
	
	
	/size_from  10000      def
	/size_step    500      def
	/size_to   65000      def
	/enlarge    1000      def
	
	%/bigarr 65000 array def
	
	0
	size_from size_step size_to {
	    pop
	    1 add
	} for
	
	/buffercount exch def
	
	/buffersizes buffercount array def
	
	
	0
	size_from size_step size_to {
	    buffersizes exch 2 index exch put
	    1 add
	} for
	pop
	
	/buffers buffercount array def
	
	0 1 buffercount 1 sub {
	    /ind exch def
	    buffersizes ind get /cursize exch def
	    cursize string /curbuf exch def
	    buffers ind curbuf put
	    cursize 16 sub 1 cursize 1 sub {
	        curbuf exch 255 put
	    } for
	} for
	
	
	/buffersearchvars [0 0 0 0 0] def
	/sdevice [0] def
	
	enlarge array aload
	
	{
	    .eqproc
	    buffersearchvars 0 buffersearchvars 0 get 1 add put
	    buffersearchvars 1 0 put
	    buffersearchvars 2 0 put
	    buffercount {
	        buffers buffersearchvars 1 get get
	        buffersizes buffersearchvars 1 get get
	        16 sub get
	        254 le {
	            buffersearchvars 2 1 put
	            buffersearchvars 3 buffers buffersearchvars 1 get get put
	            buffersearchvars 4 buffersizes buffersearchvars 1 get get 16 sub put
	        } if
	        buffersearchvars 1 buffersearchvars 1 get 1 add put
	    } repeat
	
	    buffersearchvars 2 get 1 ge {
	        exit
	    } if
	    %(.) print
	} loop
	
	.eqproc
	.eqproc
	.eqproc
	sdevice 0
	currentdevice
	buffersearchvars 3 get buffersearchvars 4 get 16#7e put
	buffersearchvars 3 get buffersearchvars 4 get 1 add 16#12 put
	buffersearchvars 3 get buffersearchvars 4 get 5 add 16#ff put
	put
	
	
	buffersearchvars 0 get array aload
	
	sdevice 0 get
	16#3e8 0 put
	
	sdevice 0 get
	16#3b0 0 put
	
	sdevice 0 get
	16#3f0 0 put
	
	
	currentdevice null false mark /OutputFile (%pipe%echo gotce)
	.putdeviceparams
	1 true .outputpage
	.rsdparams
	%{ } loop
	0 0 .quit
	%asdf
	
	.

Hash:	b767b2ce23ba8294d7e628b7fbcd0ad844be5dc8
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jun 20 13:15:20 +0100 2019

	cwfs: remove orphaned lrand.c

Hash:	d8a8ac237a5c08ce5a6fe990c213ffc0292a18dc
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jun 20 13:06:29 +0100 2019

	cwfs: remove old some assert() debugging

Hash:	4d96bacd35e6afcf86e1791b0747ef752951b014
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jun 20 12:17:36 +0100 2019

	bcm, kw, omap, teg2: implement setregisters()

Hash:	07af9be3a94690b3f4141d6919224937b83c3f40
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jun 20 12:15:26 +0100 2019

	cwfs: fix root access time qid path comparsion

Hash:	56e71d5260182e2ac32e09767b7c9440048a1d2f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jun 20 11:13:51 +0100 2019

	upas/smtp: handle temporary authentication failures
	
	under heavy load, factotum can return a "too much activity" error,
	which upas/smtpd and upas/smtp should consider a temporary error
	instead of a permanent one.

Hash:	4ff5a4febb8a3bf7f58fcf8524761d2c3565778f
Author:	Alex Musolino <alex@musolino.id.au>
Date:	Thu Jun 20 07:56:03 +0100 2019

	rc-httpd: serve markdown with text/plain content-type

Hash:	2d83ae8fb215c12f56e860f04217d5117dc44b43
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Jun 19 23:36:51 +0100 2019

	pc64: actually fix it, what was i THINKING

Hash:	a40364218d3155403bcaccce01c8a70523c2e29c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Jun 19 23:32:54 +0100 2019

	pc64: fix compiler warning in rebootjump() entry calculation

Hash:	4b4d68487c7fcc65f589be88390ce658d9d43a13
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Jun 19 23:04:58 +0100 2019

	stdio: fix putc(), plan9 version

Hash:	ef1bcc7338e92e44824d1361465d1bc6ec3bd9c6
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Jun 19 22:59:25 +0100 2019

	ape: fix stdio putc() macro, avoiding "result of operation not used" warning
	
	moving _IO_CHMASK masking on the right hand side fixes it.

Hash:	63191949b911658c3774e727061fcf166ad9ace2
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Jun 19 22:50:33 +0100 2019

	cc: remove nullwarn() from OCAST codegen, zap void casts
	
	implicit casts would cause spurious "result of operation not used"
	warnings such as ape's stdio putc() macro.
	
	make (void) casts non-ops when the casted expression has no
	side effects. this avoid spurious warning with ape's assert()
	macro.

Hash:	159f96c534563f26edeeb227cd00f1bdd3bd2596
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Jun 19 21:58:16 +0100 2019

	cwfs: properly handle 64 bit qid path
	
	for historical reasons, kenfs stores directory entries in pre 9p2000
	format with directories having the QPDIR bit 31 set in the qid path.
	
	however, the 64 bit fileserver allows 64 bit qid paths.
	
	given that we do not support pre 9p2000 clients and do not rely on
	the QPDIR, but want to keep the block check tags consistent, we will
	*INVERT* the QPDIR bit in directory entry qid paths for directories.
	
	this preserves the on-disk semantics (for < 31 bit qmax) but does
	not complicate qid generation and recovery. also makes it easy to
	convert between directory entry qid and 9p format.

Hash:	8561a843070582d48ef7f99e1138941c3509975f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Jun 19 14:15:35 +0100 2019

	pcc: back out -+ flag removal to allow gracefull upgrade path with new pcc but old cpp

Hash:	94fb8869dfba9e09afa9f64a37302dc444393766
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Wed Jun 19 06:47:15 +0100 2019

	Always turn on the -+ flag in cpp
	
	C99 comments have been the default in compilers for something like 20 years
	now. This means we don't need to remember to turn it on when porting software,
	and gets rid of cryptic errors about unterminated character constants when
	someone writes something like:
	
		// Didn't need to...
	
	We still accept the flag to avoid breaking mkfiles, but we do nothing with it.
	
	This also removes the documentation, since the option does nothing now.

Hash:	ff344562dbefe0e53adc900b6e7cd962ae555e94
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Wed Jun 19 06:17:19 +0100 2019

	Import compiler warnings and bugfixes from Charles.
	
	This change imports a few warnings and minor fixes from Charles branch
	here: https://bitbucket.org/plan9-from-bell-labs/plan9.
	
	The changes included here:
	
	
		changeset:   1374:9185dc017be0
		summary:     declare castucom; move a declaration into order;
		             use cast instead of ULL suffix
		changeset:   1353:5fe8380b1818
		summary:     supporting functions:
		             1. castucom to match unlikely mask operation;
	  	             2. be sure to snap both sides of pointer subtraction completely;
		             3. add extra operators as side-effect free
		changeset:   1352:90058c092d66
		summary:     1. correct result type for mixed-mode assignment operators
		             2. detect divide by zero (erik);
		             3. detect masks misformed by sign-extension;
		             4. diagnose mixed old/new prototypes

Hash:	f360729664eb91e8ee692bdabbf3b5b655cd8959
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Jun 18 12:29:29 +0100 2019

	merge

Hash:	3bb5168c6f21b38e5b4415419f986b4fa466cbd9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Jun 18 12:28:15 +0100 2019

	8c, 6c: fix INDEX node #reg calculation

Hash:	84076e37167a9329d70104a39ea398a9f676009d
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Tue Jun 18 05:12:35 +0100 2019

	Delete dead code.
	
		Nothing is using (or even building) bound.[ch]

Hash:	3a3eb0434c3e5bc98b05a4a0a9752a1743b32512
Author:	Alex Musolino <alex@musolino.id.au>
Date:	Mon Jun 17 04:47:16 +0100 2019

	rc-httpd: set charset=utf-8 for all text/* content types

Hash:	8648e065346f354c354789fddf0e463bbeb529cb
Author:	Alex Musolino <alex@musolino.id.au>
Date:	Mon Jun 17 04:43:40 +0100 2019

	rc-httpd: only emit charset option for text/plain content type

Hash:	873a7716e0652df14ecf881ba61767a2d78f3824
Author:	Ori Bernstein <ori@eigenstate.org'>
Date:	Mon Jun 17 02:21:52 +0100 2019

	Add test for pow.c

Hash:	37a5e86bf0aaffb1cdc841150ecc9c847b795e9b
Author:	Ori Bernstein <ori@eigenstate.org'>
Date:	Sun Jun 16 23:55:55 +0100 2019

	Handle NaN and Inf edge cases as specified by posix, instead of barfing.
	
		We're not a posix system, but the posix spec is a good reference
		for what we should do.
	
		Thanks Geoff for the inspiration for this patch.

Hash:	55f018df8a6006125dcfda55c412ee6908c9ed9b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jun 14 09:32:26 +0100 2019

	merge

Hash:	8d36cd8d8aa72e9897f39585d1655650b0ce2589
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jun 14 09:30:50 +0100 2019

	devdtracy: make machlocks and dtktab static

Hash:	f42e53655e9a2a1b516326f6522fba88db59a81c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jun 14 09:28:30 +0100 2019

	bcm64: implement dtracy support

Hash:	9a9403bb665ee5f2b65176fd41c279b70ed1c21c
Author:	aiju <devnull@localhost>
Date:	Tue Jun 11 12:36:20 +0100 2019

	vmx(1): update BUGS

Hash:	39a435ee1c9026ed8b26aa8bb1c03ac7d8d14809
Author:	Alex Musolino <alex@musolino.id.au>
Date:	Tue Jun 11 06:57:12 +0100 2019

	snoopy(8): add support for dhcp classless static routes option
	
	To complement the new cl-routes field, the bootp static routes option has been
	renamed to cf-routes and the network/gateway pairs are separated with a right
	arrow.

Hash:	d904a57e1763ac884a749b04f19f3e490a4cec88
Author:	Alex Musolino <alex@musolino.id.au>
Date:	Tue Jun 11 06:49:18 +0100 2019

	snoopy(8): avoid extra spaces in dhcp filter output

Hash:	396844787c65f42dc77f65c259dcff39eb63578b
Author:	Alex Musolino <alex@musolino.id.au>
Date:	Tue Jun 11 06:48:27 +0100 2019

	snoopy(8): include dhcp.h instead of replicating bootp/dhcp options enum

Hash:	26dc73c763de25196a60caba7f7815b13cf2f91f
Author:	Alex Musolino <alex@musolino.id.au>
Date:	Sat Jun 8 07:26:03 +0100 2019

	file(1): recognise unified diff output

Hash:	78c7cd0c010c1c90dbc3358c2710bddaed379ce9
Author:	Alex Musolino <alex@musolino.id.au>
Date:	Wed Jun 5 07:34:50 +0100 2019

	rc-httpd(8): avoid duplicate log output in dir-index handler
	
	Delay calling do_log until just before emitting the response.  This avoids
	calling do_log before potentially handing control to the static-index
	handler, which also calls do_log.

Hash:	341b64b5bd0af48ec4bb7b11a54c953c52b22d03
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Wed Jun 5 06:47:07 +0100 2019

	Remove trailing whitespace.

Hash:	41be41b4936b4d58312cc99993511f0f09d6161d
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Wed Jun 5 06:42:10 +0100 2019

	Lost a trailing \n

Hash:	033c2812c29b0e81e6c055b80e0334ba5ed1f871
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Wed Jun 5 06:36:32 +0100 2019

	Make 'g' grep recursively by default.

Hash:	12e136332a7dcb6e4d0b4a85fef9ff97dfa57200
Author:	BurnZeZ <devnull@localhost>
Date:	Fri May 31 23:15:53 +0100 2019

	plumber: loop will go out of bounds when *++s == '\0'; replace with strstr

Hash:	ed3a3c4dd44efb92a1897baa4e07aa685227cddd
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon May 27 01:11:16 +0100 2019

	ssh: work around github.com's broken cipher negotiation code (thanks Ori_B)
	
	key exchange with git@github.com fails as they appear to try to
	negotiate a mac algorithm even tho we use an AEAD cipher which
	does not use a mac algorithm.
	
	the work around is to supply a dummy mac algorithm that they
	can negotiate to make them happy.

Hash:	569f9366601736f0478fa7015a4e0a813674d764
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri May 24 21:52:20 +0100 2019

	/sys/src/cmd/mkfile: fix PCONLY exclude (thanks stefan)

Hash:	d7684982e83e8ec333df07d9910deefb70724979
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri May 24 16:25:44 +0100 2019

	awk: no need to call getargv() twice to get the value for FILENAME

Hash:	c9a1045d499a2ef5330ee056abb94254a1052d0b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri May 24 13:17:18 +0100 2019

	gs: fix missing type check in ztype (thanks jsmoody)
	
	to reproduce:
	
	gs <<.
	null [[][][][][][][][][][][][][][][]] .type
	.

Hash:	e55778d67e8fb4ac0756420b3e52abb1ac02b9f8
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu May 23 13:59:28 +0100 2019

	gs: apply fixes for CVE-2018-16509 (thanks jsmoody)

Hash:	197ff3ac2f4fe9be7eefc9c8409cee04e267b04a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed May 22 21:20:31 +0100 2019

	devip: if the server does not support TCP ws option, disable window scaling (thanks joe9)
	
	if the server responds without a window scale option in
	its syn-ack, disable window scaling alltogether as both
	sides need to understand the option.

Hash:	d7aa56c073abea325fb52821b49fa453bacd3922
Author:	Alex Musolino <alex@musolino.id.au>
Date:	Mon May 20 06:30:14 +0100 2019

	upas/fs: remove read timeout via alarm(2) in pop3resp
	
	The alarm note is not handled by upas/fs, so if and when it did fire,
	the pop3 client process would terminate rendering the entire fs
	unresponsive.

Hash:	c35f95de2ad2d44cb2126363df952c87a334d880
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun May 19 16:11:57 +0100 2019

	vmx: handle build arch exclude in /sys/src/cmd/mkfile

Hash:	c881e33e8ed668f4d5a2102c113e3edb1ea80d44
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun May 19 15:54:50 +0100 2019

	bcm, bcm64: fix cache operations for dma and emmc
	
	always clean AND invalidate caches before dma read,
	never just invalidate as the buffer might not be
	aligned to cache lines...
	
	we have to invalidate caches again *AFTER* the dma
	read has completed. the processor can bring in data
	speculatively into the cache while the dma in in
	flight.

Hash:	d667607c26626219d8dfc1871f0a4d8ef92c240e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat May 18 11:45:57 +0100 2019

	sshnet(4): ... and incoming TCP calls

Hash:	a852f55b6c9e9c374fe35fafe6cf1fdfeea7211a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri May 17 18:01:14 +0100 2019

	merge

Hash:	d5e45580788cfa62afea322e5676cf9e5f77d0a4
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri May 17 17:57:05 +0100 2019

	bcm64: remove unneccesary tlb flush on mmuidmap()

Hash:	2235660f867148d6a5232ec42148af26b36560c7
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri May 17 17:56:34 +0100 2019

	bcm64: no need to flush instruction cache when switching TTBR0

Hash:	5c5c1b666681cb3e8d2adbfe2ade22fe8447ffc2
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri May 17 17:35:14 +0100 2019

	bcm64: switch to 64k page size

Hash:	e0c19ae048ae671883fd4d27d5f617c02020bdf5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri May 17 17:14:10 +0100 2019

	7l: don't hardcode 4k pagesize, use INITRND

Hash:	18d67944be2fdb709c67ed9a28e43e67188bd19a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri May 17 00:53:27 +0100 2019

	merge

Hash:	335e019746d2572162c83b8f6c5c243baf1ceda4
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri May 17 00:51:28 +0100 2019

	mkone: fix man target (thanks Amavect)
	
	Amavect wrote:
	> mkone and mkmany have backwards targets for installing man pages.
	> This patch makes 'mk man' actually work for mkfiles that include mkone.
	> mkmany is not easily fixed without breaking changes.
	> It may go without saying that external repos should write their own mkfiles.

Hash:	3b00f089ee363740bb53220b5679e0eab9586c6b
Author:	23hiro <23hiro@gmail.com>
Date:	Wed May 15 19:24:39 +0100 2019

	draw(3): memlorigin

Hash:	b24ed2bfac81798221977ffed8980d2b4eeab199
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed May 15 15:19:20 +0100 2019

	bcm64: generalize mmu code
	
	make user page table list heads arrays so we can
	index into the right level avoiding the special
	cases for differen PTLEVELS.

Hash:	47d3e8fc6394dac68e0cec8ef5f74534cfb68747
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed May 15 12:24:34 +0100 2019

	bcm64: fix mmu0clear() mistake from previous commit

Hash:	704970074edd7280c8839ca3074e15c4dc07a1ac
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue May 14 08:06:09 +0100 2019

	nusb(2): remove startdevs() reference, document getdev() (thanks BurnZeZ)

Hash:	adf96a529e10eaa90cdc3a4a02c88d5300c9ab52
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon May 13 18:21:14 +0100 2019

	bcm: add cache invalidate before accessing prop buffer

Hash:	a3b5e3994f7f2897ab1b5bb20b91224d145c1fc1
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon May 13 18:20:21 +0100 2019

	bcm64: implement reboot support

Hash:	3b36daa2bb8c0f4169455baf829b9695b520c5fc
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon May 13 18:12:41 +0100 2019

	bcm, bcm64: preserve memsize across reboots, avoid trashing atags while parsing cmdline
	
	we override atag memory on reboot, so preserve
	the memsize learned from atag as *maxmem plan9
	variable. the global memsize variable is not
	needed anymore.
	
	avoid trashing the following atag when zero
	terminating the cmdline string.
	
	zero memory after plan9.ini variables.

Hash:	157d7ebdbd7479b271e7b1df744b2dfc6b5816e9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun May 12 00:20:21 +0100 2019

	devip: do not lock selftab in ipselftabread(), remove unused fields from Ipself
	
	the Ipselftab is designed to not require locking on read
	operation. locking the selftab in ipselftabread() risks
	deadlock when accessing the user buffer creates a fault.
	
	remove unused fields from the Ipself struct.

Hash:	bf4f158707ebfeacb15826ad4283ff247d7d81ae
Author:	BurnZeZ <devnull@localhost>
Date:	Sat May 11 16:28:18 +0100 2019

	memdraw(2): remove references to iprint()

Hash:	333c3202043d25c8a975b94cdd374712314189c7
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat May 11 16:22:33 +0100 2019

	devip: reset speed and delay on bind, adjust burst on mtu change, ifc->m nil check, consistent error strings
	
	initialize the rate limits when the device gets
	bound, not when it is created. so that the
	rate limtis get reset to default when the ifc
	is reused.
	
	adjust the burst delay when the mtu is changed.
	this is to make sure that we allow at least one
	full sized packet burst.
	
	make a local copy of ifc->m before doing nil
	check as it can change under us when we do
	not have the ifc locked.
	
	specify Ebound[] and Eunbound[] error strings
	and use them consistently.

Hash:	7186be0424ba65942a13b7706017c6ef4338f219
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat May 11 13:54:10 +0100 2019

	devip: make sure ifc is bound in add6 ctl command

Hash:	3a0d5f41a8253b4a3fbb6ae4b6ca77789fd6ae83
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat May 11 13:01:26 +0100 2019

	devip: remove unused c->car qlock, avoid potential deadlock in ipifcregisterproxy()
	
	remove references to the unused Conv.car qlock.
	
	ipifcregisterproxy() is called with the proxy
	ifc wlock'd, which means we cannot acquire the
	rwlock of the interfaces that will proxy for us
	because it is allowed to rlock() multiple ifc's
	in any order. to get arround this, we use canrlock()
	and skip the interface when we cannot acquire the
	lock.
	
	the ifc should get wlock'd only when we are about
	to modify the ifc or its lifc chain. that is when
	adding or removing addresses. wlock is not required
	when we addresses to the selfcache, which has its
	own qlock.

Hash:	a25819c43a65b5abd44f42f502718e47fffc6923
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat May 11 06:22:34 +0100 2019

	devip: avoid media bind/unbind kproc reader startup race, simplify etherbind
	
	mark reader process pointers with (void*)-1 to mean
	not started yet. this avoids the race condition when
	media unbind happens before the kproc has set its
	Proc* pointer. then we would not post the note and
	the reader would continue running after unbind.
	
	etherbind can be simplified by reading the #lX/addr
	file to get the mac address, avoiding the temporary
	buffer.

Hash:	ed3a576e8b103032b659febc5d3c62565c9cf7d7
Author:	23hiro <23hiro@gmail.com>
Date:	Sat May 11 00:23:59 +0100 2019

	timezones: add India (thanks joe9)

Hash:	db3bf8271bd6afe732256b98e86fe38612cb5ff9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri May 10 13:05:04 +0100 2019

	bcm64: use exclusive monitor on nrdy to wake up idlehands()
	
	when the exclusive monitor is cleared, a event is generated
	which we can use to wake up idlehands. that way we do not
	need to wait for the next timer interrupt until a cpu takes
	work from the run queue.

Hash:	addb36ee488757125c43c02076006dba8c9e69bc
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri May 10 11:10:02 +0100 2019

	ape: fix malloc to deal with more than 4GB of memory on 64 bit systems

Hash:	a375c9ac38e72dc5b0a6710c8da89245d154b435
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu May 9 11:40:03 +0100 2019

	libc: fix return value for arm64 memset() and memove()

Hash:	57e07865953412c7cf8ae579d7a748c1540d629e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu May 9 10:40:54 +0100 2019

	libc: use MOVP instruction for arm64 memmove() and memset()

Hash:	9d790238f28647de47d7dadebe48a1f567729dc2
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu May 9 10:11:45 +0100 2019

	bcm64: use MOVP instruction for saving and restoring registers

Hash:	1c0427e6dd9da96e6e20410f205a95b30c2ae770
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu May 9 09:27:17 +0100 2019

	libmach: remove newline

Hash:	a065270fd74fff6a19dc5178d8829d3122226225
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu May 9 09:24:37 +0100 2019

	libmach: support for MOVP instruction disassembly for arm64

Hash:	e8cf7530517534ccd9f5b0469191aa7c41581120
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu May 9 09:23:23 +0100 2019

	7l: implement MOVP instruction

Hash:	4e7fbabfc9f33f6ea5e5a46d5d6d7532d5f68301
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu May 9 01:32:09 +0100 2019

	libc: provide arm64 assembly versions for memmove() and memset()
	
	just a first approximation, uses unaligned 8 byte loads and stores.
	MOVP not yet implemented by the linker. no ZVA cache magic yet.

Hash:	1046d3e30be09d7f1f07bf0a49f0e32584e86874
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu May 9 01:17:50 +0100 2019

	bcm64: map framebuffer write-through to allow unaligned access

Hash:	5a934b56f59f2cc0c7a700618a3f8211541c1bcd
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue May 7 20:49:49 +0100 2019

	wadfs: avoid comma operator after PBIT32() macros

Hash:	fe1f6c1b3d571ba6ea4726e175f62689901719a4
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue May 7 10:41:33 +0100 2019

	plan9.ini(8), boot(8): clarify the use of $rootdir and $rootspec

Hash:	3a4a3faf291b21624a4521fe1e22aec5bec7843d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue May 7 08:19:53 +0100 2019

	nusb/usbd: work around devices that ignore the high byte of wLength in control transfer reads
	
	there appear to be devices out there such as Realtek RTL2838UHIDIR
	SDR that do not process control transfers correctly, ignoring the
	high byte of the wLength field. to work around this, we specify an
	odd number of bytes for read sizes >= 256 which keeps the low byte
	0xFF.

Hash:	ceed9b8853ab7b10e5a9e39704e712bfce53ce8a
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Tue May 7 01:26:38 +0100 2019

	Sand edges down on GBIT64()/PBIT64() macros.
	
	Now, you can safely use them in unbraced if statements, and
	with char*s.

Hash:	c9086fb34858b7751c0a7b7407425596a41e0cfd
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon May 6 17:31:39 +0100 2019

	merge

Hash:	24544b80f54a47862ae90ab915b2e4e16c968059
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon May 6 17:29:09 +0100 2019

	dist/mkfile: add *.pi3.img target for ARM64 raspberry pi3

Hash:	5f05ac2a3d7c9530b9cb49947065b14b9d0355bb
Author:	mischief <mischief@offblast.org>
Date:	Sun May 5 22:36:11 +0100 2019

	lib: update pci database

Hash:	f22b4ecc77afe5ffb81560000fcacb9e3b1744f8
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun May 5 16:02:37 +0100 2019

	bootrc: fix $rootdir and $rootspec handling (thanks lucio)
	
	we did not interpret the $rootdir and $rootspec environment
	variables right. $rootdir is what gets bound to / (usually /root)
	and $rootspec is the mountspec of /root.

Hash:	75d44bc306ffcbaadaa18c161bf54071304510b0
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun May 5 13:04:27 +0100 2019

	bcm: make sure fiq is on enabled on cpu0

Hash:	de7190ba6bd21c0465e4aba2d7fe9b49f691ca97
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun May 5 12:59:03 +0100 2019

	bcm64: provide idlehands() function

Hash:	b0c402dfa64c507b43ffee1f0afb486fb48e6598
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun May 5 12:57:48 +0100 2019

	bcm64: get rid of usb workaround delay

Hash:	4d96c40a47d39a0587012ec263b9a265ab954558
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun May 5 12:34:02 +0100 2019

	usbdwc: enable Slowbuilkin workarround, improve split transaction timing, handle erroring sleep(), debugging
	
	i'v been seeing the error condition described above in the
	Slowbulkin comment. so i'm enabling the work arround which
	seems to fix the lockup.
	
	in the split transaction case where we want to start the
	transaction at frame start, acquire the ctlr lock *before*
	checking if we are in the right frame number. so the start
	will happen atomically. checking the software ctlr->sofchan
	instead of checking the interrupt mask register seems to
	be quicker.
	
	setting the haint mask bit for the chan under ctlr lock
	in chanio() instead of chanwait() avoids needing to acquire
	the ctlr lock twice.
	
	mask wakechan bits with busychan bitmap in interrupt handlers
	so we will not try to wake up released chans by accident.
	
	sleep() and tsleep() might get interrupted so we have to
	release the split qlock in the split transaction case and
	in all cases, make sure to halt the channel before release.
	
	add some common debug functions to dump channel and controller
	registers.

Hash:	21ce34bd7fa69dfc263b2825653d10e2cbc68853
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat May 4 23:26:17 +0100 2019

	libc: fix NaN check precedence bug in modf() (thanks BurnZeZ)

Hash:	1d82e3f42aa82b12edba2e057c1a6cc090ee1c80
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat May 4 02:06:10 +0100 2019

	acid: add arm64 support

Hash:	54838652fce0316fa8bd186265be50d3f631b5e4
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri May 3 22:59:27 +0100 2019

	rootstub: add /sys/lib/dist/ndb/dhcp/

Hash:	70ea1310d10e2a3f91dbb350d235a97925c35a94
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri May 3 22:52:49 +0100 2019

	pc kernel: remove countpagerefs() (thanks BurnZeZ)
	
	forgot to commit this...

Hash:	0b5e782882152dae80fbcc6b54e187b1926e93ec
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri May 3 22:15:42 +0100 2019

	kernel: exec support for arm64 binaries

Hash:	c6ad540af56be95b458008ae3abd3432b71d49dd
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri May 3 22:14:57 +0100 2019

	bcm64: add experimental work in progress arm64 kernel for raspberry pi 3

Hash:	1a7c224b3e36342623d4050953ca0cf3cb8a8bd5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri May 3 21:53:09 +0100 2019

	bcm: don't call nil on PADDR() in dmaaddr(), return busdram dummy address

Hash:	eb4bd4aa3ec7308fd4dea9810c7d2de1f5977288
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri May 3 21:02:07 +0100 2019

	bcm: move fiq saved pc adjust into lexception.s so it can be shared with arm64

Hash:	3ca395a36c3c1b098433c7a47106e76f00aee324
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri May 3 20:34:20 +0100 2019

	uartpl011: dont touch line control while uart is enabled

Hash:	4032db00a7a813e8f36b2755204b6863b4545906
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri May 3 20:16:23 +0100 2019

	ktrace: arm64 support

Hash:	c57c8919e303aaad512a5e603f60d4be22d6afea
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri May 3 20:12:31 +0100 2019

	arm64: add mkfile

Hash:	db70c1d20da3738467a9cbc0ebcfd8ebe9e4ccd8
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri May 3 20:11:17 +0100 2019

	python: arm64 support

Hash:	bbf532dba8d0462c7ef2f00b2646e5ac5b04bd62
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri May 3 20:10:45 +0100 2019

	gs: arm64 support

Hash:	5f5caa6733fd102b2a188ce57fd61193e1380dbb
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri May 3 20:10:01 +0100 2019

	gs: avoid stupid shifts by casting to uint64_t

Hash:	2994fccbe1b881c3fa2838926d22af8aeda89640
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri May 3 20:06:46 +0100 2019

	ape: initial support for arm64

Hash:	dfd915892a662216fa1f422ea56b89c8b34e3175
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri May 3 20:03:12 +0100 2019

	libthread: initial support for arm64

Hash:	a3b9243f715e772329e7829c6778168e7e443a86
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri May 3 20:02:13 +0100 2019

	libmp: add dummy mkfile for arm64

Hash:	a3beef236344ca326ed2010580b99e50cab983da
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri May 3 20:01:29 +0100 2019

	libsec: dummy mkfile for arm64

Hash:	14b69dcde0dfbb72df721424571d07cdf3dcbf05
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri May 3 20:00:17 +0100 2019

	libmach: initial arm64 support

Hash:	9920ecc04b87cab3968f7f0c286b264bd31e132f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri May 3 19:57:30 +0100 2019

	libc: initial arm64 support

Hash:	59ff04ddb1b845bfd8542c886bb42c5cb3112a0b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed May 1 12:11:20 +0100 2019

	7l: add missing AFMOVD with EXT/AUTO/LOREG operands to optab

Hash:	fe594760ebddac23e673d189d2152062ef75d8b8
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed May 1 11:40:27 +0100 2019

	kernel: get rid of checkpagerefs() debugging
	
	was only implemented by the pc kernel. does not
	account pages used by the mount cache.

Hash:	b452f8857f22089adca137f32b9456a208554800
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed May 1 09:07:39 +0100 2019

	kernel: export freepages() function so it can be used in mmurelease()

Hash:	a6ee23a739716493e4635cb9c4eb55248f2d43cf
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed May 1 08:39:02 +0100 2019

	kernel: include lock pointer in error report, stop spamming lockloop prints when we are panicing

Hash:	54562b6ac2f88c6a29264bb20e1fa5292f6ee8b9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed May 1 08:35:51 +0100 2019

	kernel: insert memory barrier in the scheduler before setting up->mach = nil
	
	we have to ensure that all stores saving the process state
	have completed before setting up->mach = nil in the scheduler.
	otherwise, another cpu could observe up->mach == nil while
	the stores such as the processes p->sched label have not finnished.

Hash:	97a2f14b1c7960713ba2f7b284a6055cda8e101e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed May 1 07:55:24 +0100 2019

	[5678vq]c: fix .safe node type for *FUNC() = *FUNC() sugen

Hash:	aa52d3b13d71bd4b068ae00b2d6f0f75647a5d7c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed May 1 07:19:29 +0100 2019

	vmx: build vmx only for 386 or amd64
	
	vmx uses non portable word unpacking macros, breaking
	the build for arm64. vmx only works on a pc anyway.
	this forces objtype to 386 on these machines, similar
	to what the kernel mkfiles do.

Hash:	2f884a511663d8666770c779beba9a7661b3499a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Apr 27 20:55:16 +0100 2019

	ether8169: fix thinkpad A485 ethernet (thanks mischief)
	
	attached is a patch to fix receive in the 8169 chip on my thinkpad
	A485. i'm not sure why, but the same thing was done in 3d56a0fc4645
	for Macv45.
	
	nick

Hash:	3fe9730645df15f18689be26b842c06f60e40fae
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Apr 25 18:44:16 +0100 2019

	7c: don't emit SXTW for non-register source operand

Hash:	0c964838a1a51430015156d9e2a9d29f94f98661
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Apr 23 14:15:26 +0100 2019

	distproto: add /lib/news/ (thanks lyndon)

Hash:	bd510d7fb0f1fd312319be4d9fd37a9c4bb5169a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Apr 22 02:05:51 +0100 2019

	7l: there is no BIC* $bimm variant

Hash:	a0da5b973ffa098e428c574104e270b600770f9a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Apr 19 22:39:47 +0100 2019

	usbxhci: make stuck usb transactions interruptable.
	
	some control transactions can confuse the xhci controller so
	much that it even fails to respond to command abort or STOPEP
	control command. with no way for us to abort the transaction
	but a full controller reset.
	
	we give the controller 5 seconds to abort our initial
	transaction and if that fails we wake the recover process
	to reset the controller.
	
	thanks mischief for testing.

Hash:	6bceabbc79b9c60a18dae90b1618eddbf7737275
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Apr 19 22:31:24 +0100 2019

	distproto: add /lib/ndb/dhcp/ directory (thanks lyndon)

Hash:	83ab780783623cfa22febc82a4c7e1725db94f48
Author:	mischief <mischief@offblast.org>
Date:	Thu Apr 18 10:48:35 +0100 2019

	nusb/usbd: stop sending port enable commands
	
	from what i can tell, sending port enable is a spec violation.
	
	this fixes a hang during hub enumeration in the ASMedia
	xhci controller when i plug in my IBM UltraNav SK-8845.
	
	also, send unsuspend when port is suspended instead of enable.
	
	from the USB 2 specification:
	
	11.24.2.7.1.2 PORT_ENABLE
	...
	This bit may be set only as a result of a SetPortFeature(PORT_ENABLE).
	...
	The hub response to a SetPortFeature(PORT_ENABLE) request is not specified.

Hash:	8c95a221b041848a479cb2f79d5bb7be74022446
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Apr 17 22:43:59 +0100 2019

	7l: deal with huge (negative or > 24bit) register offsets, fix LACON, avoid DWORD in constant pool when we can sign extend

Hash:	15c3f45e5f7bccd121726de9b3adac001ffac887
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Apr 17 22:38:00 +0100 2019

	7c: fix long to vlong/pointer conversion, avoid negative immediate offsets
	
	we have to explicitely convert to vlong by sign or
	zero extending as not every operation leaves a proper
	zero/sign extended result in the register. for example
	NEGW will zero extend, breaking negative int offsets
	on pointers.
	
	we explicitely insert SXTW or MOVWU instructions which
	the peephole optimizer takes out again when it is safe
	todo so.
	
	when promoting constant offsets to immediate offsets,
	make sure the offset will be in range. otherwise the
	linker will produce not so optimal pointer arithmetic
	instructions to calculate the offset.

Hash:	b44440bd165bdaa8c5764eead3fc54cadab7334f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Apr 16 15:25:33 +0100 2019

	devsd: fix sddelpart() AGAIN
	
	the previous "fix" missed to advance pp so after
	we hit a invalid partition all following partitions
	would be ignored.

Hash:	7c33bdd2d31ade66cbf0ad4531fdbeda1d6cbba5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Apr 16 15:13:30 +0100 2019

	awk: fix nextfile crash (thanks leetspete)
	
	to reproduce the bug:
	
	term% awk 'BEGIN{nextfile; nextfile;}'
	sys: trap: fault read addr=0x10 pc=0x00019a3a
	awk 6584: suicide: sys: trap: fault read addr=0x10 pc=0x00019a3a

Hash:	75ee3b3081edab418e443d499ec28ceda9121e93
Author:	BurnZeZ <devnull@localhost>
Date:	Mon Apr 15 20:48:03 +0100 2019

	devsd: fix panic when using "delpart" to remove a partition that was already removed

Hash:	82438139d670b2e8ca54480b888b3a904994e274
Author:	mischief <mischief@offblast.org>
Date:	Sun Apr 14 07:11:19 +0100 2019

	pc: audiohda: recognize AMD Family 17h hd audio controller

Hash:	79e24f5ee56c7abc31942615e587f97f8ac1a313
Author:	mischief <mischief@offblast.org>
Date:	Sun Apr 14 07:08:26 +0100 2019

	pc: devarch: recognize AMD Ryzen model

Hash:	7accf1117099058db64e23248818e96bbb964dc2
Author:	mischief <mischief@offblast.org>
Date:	Sun Apr 14 07:07:57 +0100 2019

	pc: pci: add AMD FCH LPC bridge to southbridges

Hash:	07674f6e8d241ffbec969fab7fc1d71cef8e0e69
Author:	mischief <mischief@offblast.org>
Date:	Sun Apr 14 06:37:52 +0100 2019

	nusb/usbd: fix dump %U formatter

Hash:	71397d51d063816e8d2047b5039765e69b21a6ac
Author:	BurnZeZ <devnull@localhost>
Date:	Sun Apr 14 05:50:55 +0100 2019

	ip(3): document TCP ctl close command

Hash:	83c7a727e05c7280a457bcdf5681f73ce225e0ea
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Apr 14 02:22:05 +0100 2019

	devip: reject bad numeric ports (such as 9fs -> 9)

Hash:	810aed76a5cffd3dbbcb190d53e71eb84335a587
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Apr 11 18:10:47 +0100 2019

	bcm: move CONFADDR parsing into bootargs.c, simplify initcode start() args handling

Hash:	6aff58df7502dfb8b8ab9f981ec89fecd0d7e358
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Apr 11 16:12:20 +0100 2019

	bcm: don't use PADDR() to convert bus address to physical in vcore

Hash:	9ae99fb5ad34f5b587129f5acddf77cbaa6fba17
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Apr 11 13:05:23 +0100 2019

	kernel: get rid of KSTKSIZE alias for KSTACK

Hash:	f4f19cdf1a8f0d2aa5f9fce10c896201528b5347
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Apr 11 12:54:03 +0100 2019

	merge

Hash:	37d36fdd7f441aa184c4051d02e50e9e770f20f8
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Apr 11 12:51:38 +0100 2019

	kernel: get rid of PTR2UINT() and UINT2PTR() macros

Hash:	753fa51b77869eadcc27c00df34f09c3c9239fe2
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Apr 11 12:49:41 +0100 2019

	bcm: dont assume PHYSDRAM 0 in dmaaddr(), fix dmaioaddr()

Hash:	6a3a3d69c67647db5d5176a7cf9ee68e9fce4352
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Apr 11 12:21:06 +0100 2019

	bcm: add pl011 uart driver
	
	the raspi has two uarts, the pl011 and the mini. only one
	can be used at a time due to pin muxing. the bcm kernel
	uses the mini by default.

Hash:	fe34e52d19aeeb04bc34114fda928b6afeb62253
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Apr 10 14:06:56 +0100 2019

	bcm: move okay() from uartmini.c to devarch.c

Hash:	f00aa6b92a7a6d186cbfe8ca7d045e32f597bffa
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Apr 10 14:06:24 +0100 2019

	bcm: add irq.c to mkfile

Hash:	55a3964517fe6b57da07de12ceb7753886b8ed3a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Apr 10 14:04:59 +0100 2019

	bcm: move interrupt handling out of trap.c into irq.c

Hash:	424424fe50c29aa606cea42d176dcac71b968efc
Author:	BurnZeZ <devnull@localhost>
Date:	Tue Apr 9 19:34:17 +0100 2019

	fix bad function declarations in manpages

Hash:	7b10062669dbc0e41f1483d1b57af64c2ad93b11
Author:	BurnZeZ <devnull@localhost>
Date:	Mon Apr 8 23:18:15 +0100 2019

	thread(2): threadsetname takes a fmt string

Hash:	3e65a15ae078f00f8ddf137e6d04007797702331
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Apr 8 14:50:13 +0100 2019

	audiohda: add support for Gemini-Lake audio in Intel NUC nuc7pjyh (thanks sam-d)

Hash:	b56ba6210fe44f119ddca9011ab66b4496e37466
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Apr 8 13:15:39 +0100 2019

	7l: fix vlong constants in literal pool for non-MOV instructions

Hash:	12fc1c7d3e04649fb7d213d16f9da597726dd7b6
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Apr 8 13:12:01 +0100 2019

	7l: fix bitcon instruction selection and encoding
	
	the possible bitmasks generated depend on the data width
	of the instruction, so we introduce C_BITCON32 and C_BITCON64
	operand types to keep them apart.
	
	the encoding of the bitcon operation was wrong.

Hash:	d8d4802f80b40bc9a43031e3d6484aa237e7d444
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Apr 8 13:05:27 +0100 2019

	7l: add arm64 linker (initial sync)

Hash:	394d095ee0a9e50242b88a783af6bb777cfb3e01
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Apr 8 12:53:41 +0100 2019

	7a: fix indexreg operations

Hash:	275fbc93fdb2a60a98065fe5438bd8518c28ad76
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Apr 8 12:50:11 +0100 2019

	7a: fix post increment operands

Hash:	14c7edf96e287b10285069bc0ab7b9569ca7b4c3
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Apr 8 12:47:45 +0100 2019

	7c: fix registerization of vlong constants

Hash:	b29d5ac7b1f713e41285ad4b2ce1b23313d8088e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Apr 8 12:45:49 +0100 2019

	add arm64 c compiler and assembler (thanks charles forsyth)
	
	this is the the initial sync of charles forsyths plan9 c
	compiler suite from http://bitbucket.org/plan9-from-bell-labs/9-cc
	at changeset version 54:65fb8bb56c59

Hash:	e897df33e638dcc3768b8207146e2a4195dd3c4b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Apr 8 12:07:18 +0100 2019

	rootstub: create arm64 directories

Hash:	ec8ad3ab846054af6e88be7231d0a85cde913faf
Author:	BurnZeZ <devnull@localhost>
Date:	Sun Apr 7 18:09:52 +0100 2019

	uptime: rewrite in awk

Hash:	d5a81af7be5c2d7c929078f9b83e2428440db0c0
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Apr 6 19:23:00 +0100 2019

	libauthsrv: authdial smprint() out of memory autism

Hash:	6540a9a21ae4f62f512f3e95063561d87e80701c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Apr 4 14:28:04 +0100 2019

	sgi: remove obsolete TSTKTOP constant

Hash:	b7105fe0662b57689f629ac768dd084f8a1589a4
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Apr 4 14:25:10 +0100 2019

	xen: remove obsolete TSTKTOP constant

Hash:	8b160d1ea14a47f3e7da4c2484e7d1a8afcb7dd0
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Apr 4 14:23:20 +0100 2019

	bcm: remove obsolete TSTKTOP constant

Hash:	0132e7fed0ee48dae66607fbccd7c0ab1acea45e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Apr 4 14:21:25 +0100 2019

	pc64: get rid of TSTKTOP, USTKTOP is the end of user address space
	
	the temporary stack segment used to be at a fixed address above or
	below the user stack. these days, the temp stack is mapped dynamically
	by sysexec so TSTKTOP is obsolete.

Hash:	ed6b42863cbe71ec4ab31966bc23f5d84374f6b3
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Apr 3 22:49:22 +0100 2019

	sshnet: get rid of Announced state, simplify

Hash:	634292c2f83c9f60440e6c56f5a380baea1d9351
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Apr 3 21:15:47 +0100 2019

	sshnet: implement listen (port forwarding)

Hash:	7a3ceb58fc7fec964b251686dd87d4aca46d4573
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Apr 3 13:29:49 +0100 2019

	sshnet: don't leak error string

Hash:	81f3b1a233a10fdba00dbeae02fecc2c01d8bca3
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Apr 3 13:16:28 +0100 2019

	sshnet: don't leak "Dialing" connections when "connect" ctl write gets interrupted

Hash:	2251ef7a32f881ae2c80989d5285db943aa2073b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Apr 3 12:45:54 +0100 2019

	sshnet: pass on open failure error message, simplify
	
	return the error message from MSG_CHANNEL_OPEN_FAILURE
	in the "connect" control write.
	
	use a extra state "Finished" to distinguish server from client
	initiated teardown. that way we do not need to track if we
	send the MSG_CHANNEL_CLOSE message in closeclient(). this way
	we also cannot be fooled by misbehaving server.
	
	simplify hangupclient() by removing state transitions and doing
	them in the caller explicitely. that way we can use hangupclient()
	instead of dialedclient().

Hash:	a278545e3c492d97d32192e20de7c62c8b0ef4a2
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Apr 3 09:49:47 +0100 2019

	sshnet: fix eof and close handling, use proper packet size, cleanup

Hash:	3bb180463108545274592b53940274c52b1d9186
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Apr 2 19:44:35 +0100 2019

	vt: dont make fs procs hang arround when closing rio window

Hash:	89a83271f43c98cc58b1ea7493e6a66cd16abf36
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Apr 2 18:42:09 +0100 2019

	sshnet(4): fix user@host syntax, add BUGS section, add ip(3) reference

Hash:	6d429cf9e8418ec69d2516ccba370860e20afd63
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Apr 2 18:22:19 +0100 2019

	ssh: print usage for unknown flags, cleanup

Hash:	009b624fe69ab396babae0ecc9bc7a6bb5bf7405
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Apr 2 17:46:00 +0100 2019

	ssh(1): add sshnet(4) reference

Hash:	a4ab7dbe4676a12d5a04844a519507811857f422
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Apr 2 17:29:22 +0100 2019

	sshnet: reduce memory consumption by lowering stack sizes

Hash:	48a82f2641935cb1e7b9e08bf86ce5c506d02953
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Apr 2 17:06:25 +0100 2019

	sshnet: fix memory leak

Hash:	d4033c31bb1707cc4d2c6c394a6e1793bc1d6d04
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Apr 2 16:51:15 +0100 2019

	sshnet: allow 0 port

Hash:	dd8af39bceb201eb68fc3276a1e12a4ebcac74c0
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Apr 2 16:32:34 +0100 2019

	sshnet: fix write count for ctl message writes

Hash:	e0bdfe1e763dba59efcaad635fe150adff5873ed
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Apr 2 16:28:56 +0100 2019

	sshnet: actually make sure ssh established connection before exiting main proc
	
	this fixes password prompts and handles errors properly.

Hash:	fdcb55d6967291e80cd62fc1fbf313fdf74b7592
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Apr 2 15:40:14 +0100 2019

	sshnet(4): add documentation

Hash:	ae8a9f8b900f6bd4e0f9c6cd99fbe44c1a46e4a3
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Apr 2 15:23:01 +0100 2019

	sshnet: bring back sshnet using ssh(1) mux mode
	
	this is a port of the original ssh1 sshnet to our
	ssh2 client using mux mode.

Hash:	38c2cdf164f0cc12db65f9f51b3b4a7815543d12
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Apr 2 10:18:50 +0100 2019

	ssh: add experimental mux mode
	
	in mux mode, ssh relays raw MSG_CHANNEL_*
	messages on standard input and output while
	still handling authentication and key exchange
	internally.
	
	the intend is to use the mux mode to implement
	something like the old sshnet ontop of ssh.

Hash:	ccbffa67318df0c6fe5210133698b403490d6611
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Apr 2 08:05:01 +0100 2019

	merge

Hash:	47ec5de29e56c4cf223e0582b930b88ca2a589ee
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Apr 2 08:03:35 +0100 2019

	ssh: implement -W option for making remote tcp connections

Hash:	73235c6b2600c2baf4e88b1c88b592b7ce398a91
Author:	Alex Musolino <alex@musolino.id.au>
Date:	Mon Apr 1 13:44:14 +0100 2019

	merge

Hash:	2dd9e4bbd92fac0b687edadead19de338d6cbe6d
Author:	Alex Musolino <alex@musolino.id.au>
Date:	Mon Apr 1 13:25:49 +0100 2019

	fix DST begin/end timestamps for South Australia

Hash:	5b81e7de3f1ab3691438878cf1da912a54138d5f
Author:	BurnZeZ <devnull@localhost>
Date:	Sat Mar 30 15:10:36 +0000 2019

	walk: remove unused depth argument from dofile()

Hash:	3f1fefeafbb90309b712d70144a4a95874d48a56
Author:	BurnZeZ <devnull@localhost>
Date:	Sat Mar 30 15:09:00 +0000 2019

	bootrc: simplify if statement

Hash:	1e97adc86b3ca9ef5c9834fa802e4003df1b86e2
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Mar 21 01:14:40 +0000 2019

	nusbrc: detect "keyboardio model 01", appears as multifuction device with IAD csp(0102EF) (thanks sam-d)

Hash:	4f0bfe0fb8dc608a94fe429c5ddb12e58997e1ce
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Mar 30 08:17:46 +0000 2019

	dtracy: avoid dmachlock() race
	
	between being commited to a machno and having acquired the lock, the
	scheduler could come in an schedule us on a different processor. the
	solution is to have dtmachlock() take a special -1 argument to mean
	"current mach" and return the actual mach number after the lock has
	been acquired and interrupts being disabled.

Hash:	ac3147a9c58f339f9b978ab087464912c16bc8f8
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Mar 30 04:50:14 +0000 2019

	dist/mkfile: aux/stub -d /n/src9/usr to avoid overbinding /usr in case /n/src9 an / alias
	
	when /n/src9 is an alias for / (bind / /n/src9), then the bind
	from /sys/lib/dist/usr on /n/src9/usr would also overbind
	/usr and potentially make the build target file inaccessible.
	
	the solution is to run aux/stub -d /n/src9/usr.
	
	this works as aux/stub mounts itself on /n/src9, so the bind
	for /n/src9/usr will not override /usr in the root filesystem
	but the stub directory from aux/stub.

Hash:	dea28126ae9cf24556ae7a1957368df4377e06aa
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Mar 29 05:35:41 +0000 2019

	5c: dont substibute (destination) registers contained in MOVM reglist
	
	this fixes the miscompilation of 6l with 5c resulting in bogus
	vlong -> long conversion at the top of asmandsz():
	
	asmandsz 0x0000aec4	MOVW.W	R14,#-0x2c(R13)
	asmandsz+0x4 0x0000aec8	MOVW	rex+8(FP),R5
	asmandsz+0x8 0x0000aecc	MOVW	$andptr-SB(SB),R7
	asmandsz+0xc 0x0000aed0	MOVW	R0,R6
	asmandsz+0x10 0x0000aed4	AND	$#0x44,R5,R8
	asmandsz+0x14 0x0000aed8	MOVW	R8,rex+8(FP)
	asmandsz+0x18 0x0000aedc	MOVW	R0,R4
	asmandsz+0x1c 0x0000aee0	MOVM.IA	(R0),[R1,R3] <- R1 used here
	asmandsz+0x20 0x0000aee4	MOVW	R8,v-4(SP) <- substituted by R8

Hash:	99f79e390d46e8c51ad7a628919e29e8b27335f0
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Mar 27 13:46:14 +0000 2019

	merge

Hash:	f9efc8ed87337b0d1220822b9b0356966f8fce44
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Mar 27 13:45:08 +0000 2019

	inst/startether: skip ipv6 auto configuration when nora6 was specified

Hash:	a2fb8e4289917d29e551bab5efe52a55df683653
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Mar 27 13:33:15 +0000 2019

	merge

Hash:	4d3367d11f03639da12829df103c4b6c5ecc78ac
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Mar 27 13:31:45 +0000 2019

	plan9.ini(8): add USB section, documenting various usb options

Hash:	2f5983ba02cfa2719457d6a35f5ec9109c730660
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Mar 27 13:17:51 +0000 2019

	bootrc: handle automatic ip configuration on gbe media

Hash:	8d9f3906fa94676f4e788a9668991b815b4f5542
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Mar 27 13:11:25 +0000 2019

	plan9.ini: add nora6= option to disable automatic ipv6 configuration

Hash:	6da89d6266511cfbe6f308799e8232a7920a5cc3
Author:	BurnZeZ <devnull@localhost>
Date:	Mon Mar 25 23:10:02 +0000 2019

	added walk(1)

Hash:	41d4cecf6d55af3ee0ced4c45d34450f4501608b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Mar 23 04:47:17 +0000 2019

	upas/fs: release mailbox syncing lock after encountering error

Hash:	151039caf055a741c69656ae9034b4829e4d6c94
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Mar 22 23:49:07 +0000 2019

	webfs: bracket literal ipv6 host in "Host:" header

Hash:	58668339bcdf71112b08ccc120609dbf7be478dd
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Mar 21 00:27:28 +0000 2019

	nusb/kb: fix continuous scrollwheel delta not being reported (thanks sam-d)

Hash:	678be8399090b9eb90f983b1b4105495893f57f1
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Mar 18 06:16:37 +0000 2019

	merge

Hash:	746a99e10d8f0648c289f1271c946e7f57647146
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Mar 18 06:15:09 +0000 2019

	python: clean and nuke pgen and libpython.a for all $CPUS

Hash:	36603ece3cd644dd106d766028db3cb2753f93fd
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Mon Mar 18 03:13:27 +0000 2019

	fortunes: Open source may not be safe if it has no super excellent moderator.

Hash:	c8fcefb38b34cc2bfffed5544ef967439a1a0d6e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Mar 18 01:41:15 +0000 2019

	dtracy(1): fix print(2) reference

Hash:	8f5d831e9eaf405799b53dfc2760a9223b008733
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Mar 17 22:52:07 +0000 2019

	python: remove /$objtype/lib/ape/libpython.a, track graminit.h dependencies, remove graminit.c

Hash:	8f00b7096e4e5e370e89c0a594891c0235ae8857
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Mar 17 04:44:55 +0000 2019

	ip/ipconfig: use defaults for loopback
	
	- do not write /net/ndb for loopback medium unless -p is specified
	- use defmask() instead of hardcoded /64 for v6 to get correct /128 mask for ::1
	- only do duplicate address detection on ethernet

Hash:	7aac23b02baedfcaec2066da5b137fcbb97b3efe
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Mar 17 03:07:30 +0000 2019

	ip/ipconfig: use ewrite() to enable routing command for sendra

Hash:	5fe49f9c71af29a0a5e790310cb55b1f6e1165ff
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Mar 17 01:43:49 +0000 2019

	rootstub: create arm and mips directories in /usr/glenda/bin (tanks timclassic)

Hash:	d75f7d273bbb71e03ef141b88269c1d047805546
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Mar 10 18:07:58 +0000 2019

	ip/tinc: 4096 bit RSA, (passive) pmtu discovery, fix udpfd close() race, cleanup
	
	- increase buffer size to support up to 4096 bit RSA keys
	- handle PMTUDiscovery option and respond to pmtu probes
	- handle port in Address option
	- wlock(&netlk) before closing udpfd to sync with writers
	- move default subnet handling out of gethost()

Hash:	a0acae173ee17ddf101a4e57eb4030c9fead13b3
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Mar 9 16:36:19 +0000 2019

	libmemdraw: remove static Point p00 and use ZP instead

Hash:	5a724464d99b985be45555856da3959a77aea87d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Mar 9 16:34:22 +0000 2019

	libmemdraw: handle memarc() phi == 0 and phi <= -360, keep alpha in bounds

Hash:	c7b2ca571699879cc6e97947263b2481a378c52d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Mar 7 21:41:42 +0000 2019

	merge

Hash:	4b8f7a2110d80fdad0f09f376dbfd2204e2e8f8e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Mar 7 21:39:50 +0000 2019

	devip: ignore the evil bit in fragment info field
	
	using ~IP_DF mask to select offset and "more fragments" bits
	includes the evil bit 15. so instead define a constant IP_FO
	for the fragment offset bits and use (IP_MF|IP_FO). that way
	the evil bit gets ignored and doesnt cause any useless calls
	to ipreassemble().

Hash:	c0383d8291b2da3aed8a7751097a220442777652
Author:	mischief <mischief@offblast.org>
Date:	Thu Mar 7 03:10:58 +0000 2019

	mach(2): fix byteswapping function signatures

Hash:	617bf42890380103283e49d0c2686de3db932655
Author:	mischief <mischief@offblast.org>
Date:	Thu Mar 7 03:10:48 +0000 2019

	vmx: check for draw initialization errors

Hash:	4885c75526f91ff9eb245b32a63512e2e67b3038
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Mar 7 00:25:11 +0000 2019

	devip: ignore icmp advise about laggard fragments
	
	icmp has to advise protocols about the first
	fragment only. all other fragments should be
	ignored.

Hash:	88e054ffdfed8fd229b00d4f6311aefdb769cf0d
Author:	qwx <devnull@localhost>
Date:	Mon Mar 4 20:38:50 +0000 2019

	vgadb: add t43p 1600x1200 panel entry

Hash:	b7525d1ed83868beb382e31cad54e951ea270298
Author:	qwx <devnull@localhost>
Date:	Mon Mar 4 20:37:52 +0000 2019

	igfx: add support for 915gm
	
	tested on a t43 with igfx and a 1600x1200 t43p screen
	what works: lvds, blanking
	what doesn't: hwgc (not visible), snarfing edid
	untested: vga
	
	based on realemu traces.

Hash:	14da3b8a1ff5d1643e2cd0482976d5092d476fc5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Mar 4 19:29:33 +0000 2019

	ip/tinc: honor TcpOnly and IndirectData settings, script support, prefer incoming udp connections
	
	only try listen/dial on udp when IndirectData/TcpOnly is not
	enabled.
	
	add support for scipts:
	 host-up
	 host-down
	 tinc-up
	 tinc-down
	 subnet-up
	 subnet-down
	
	when dialing udp connection, only switch when there is no
	other udp connection active. when we receive an authenticated
	message, we switch to that connection immidiately.

Hash:	57284d07ca8bf02e4e8afacc5f9fd78f22c281de
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Mar 4 11:07:40 +0000 2019

	devip: ignore reserved fragment offset bits

Hash:	e2d310e6235b2f75bd0a1423ea424169247d5ae1
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Mar 4 02:13:29 +0000 2019

	devip: handle packet too big advise for icmp6, remove fragment header

Hash:	2af6b0896040ab24c2d411a36781d7588935c6cf
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Mar 4 02:09:39 +0000 2019

	devip: use common code in icmp for handling advise

Hash:	827020f6863490c649470087008ab5ca8138afc0
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Mar 4 02:08:27 +0000 2019

	devip: zero fragment offset after reassembly, remove tos magic, cleanup

Hash:	a1fceabd5ba5f54d7a54a8bfa9138230f2372267
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Mar 4 02:05:30 +0000 2019

	devip: fix fragment forwarding
	
	unfraglen() had the side effect that it would always copy the
	nexthdr field from the fragment header to the previous nexthdr
	field. this is fine when we reassemble packets but breaks
	fragments that we want to just forward unchanged.

Hash:	fa97c3dd10d3b74f4774ea21b2d80fcffa7feb48
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Mar 3 17:56:18 +0000 2019

	devip: simplify ip reassembly functions, getting rid of Ipfrag.hlen
	
	given that we now keep the block size consistent with the
	ip packet size, the variable header part of the ip packet
	is just: BLEN(bp) - fp->flen == fp->hlen.
	
	fix bug in ip6reassemble() in the non-fragmented case:
	reload ih after ip header was moved before writing ih->ploadlen.
	
	use concatbloc() instead of pullupblock().

Hash:	a859f058374606ff1d4249e53b66e1d3d20fdcb7
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Mar 3 08:01:23 +0000 2019

	devip: fix block list handling for icmp/icmp6, use proper MinAdvise for icmp6

Hash:	a2c0e55e6885fde0d135831a77d227bc933d89e7
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Mar 3 04:26:09 +0000 2019

	qio: handle common case in trimblock()

Hash:	5b972a9aea9383fbb66142a6a9958e01f7028a89
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Mar 3 04:25:00 +0000 2019

	devip: fix ip fragmentation handling issues with header options
	
	some protocols assume that Ip4hdr.length[] and Ip6hdr.ploadlen[]
	are valid and not out of range within the block but this has
	not been verified. also, the ipv4 and ipv6 headers can have variable
	length options, which was not considered in the fragmentation and
	reassembly code.
	
	to make this sane, ipiput4() and ipiput6() now verify that everything
	is in range and trims to block to the expected size before it does
	any further processing. now blocklen() and Ip4hdr.length[] are conistent.
	
	ipoput4() and ipoput6() are simpler now, as they can rely on
	blocklen() only, not having a special routing case.
	
	ip fragmentation reassembly has to consider that fragments could
	arrive with different ip header options, so we store the header+option
	size in new Ipfrag.hlen field.
	
	unfraglen() has to make sure not to run past the buffer, and hadle
	the case when it encounters multiple fragment headers.

Hash:	0aac600fb3b659b5b9a2a8aaefb821774cf38bd2
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Mar 1 00:43:55 +0000 2019

	lib9p: fix zero msize abort() due to unknown version (thanks kivik)
	
	kivik wrote:
	
	I've found a nasty bug in lib9p handling of Tversion
	messages, where an invalid version string in the request
	leads to servers abort()ing the spaceship.
	
	To reproduce:
		; ramfs -S ram
		; aux/9pcon /srv/ram
		Tversion ~0 DIE
	
	The issue lies in sversion() where in case an invalid
	version string is received we respond right away with
	ofcall.version="unknown"; however, we fail to set the
	ofcall.msize, which at this point is cleared to 0.  This
	causes the convS2M call in respond() to fail and abort being
	called.

Hash:	967b1248f82e5f64eab4dbf45898a37851b71fa2
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Feb 27 17:29:08 +0000 2019

	libip: move optimized 386 assembly version of ptclbsum() from kernel to libip

Hash:	88ccea37f65b87312292b2b1a107c39927c6a2c3
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Feb 27 07:47:17 +0000 2019

	kernel: remove ptclbsum dependencies from configs

Hash:	242403d9f92e14969c1f418e0ee086193e9c9698
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Feb 27 07:38:19 +0000 2019

	pi, pi2: remove ptclbsum dependency from config

Hash:	b76a78c1a1973d62ff32c030e29b3ffcc560e50d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 25 03:36:37 +0000 2019

	cwfs: fix %.*s format in cmd_printconf()

Hash:	66ab4ac223a51a51ac431b60481183bc44c70215
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 25 03:25:36 +0000 2019

	pc, pc64: fix %.*s format in multibootargs

Hash:	96d6f4433550c4e48c33d94f6e272fae4b4e4ffb
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 25 03:22:03 +0000 2019

	wifi: fix %.*s format in wifictl

Hash:	4de506404becf0e67f64e24685a52bcb9753146d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 25 03:20:43 +0000 2019

	abaco: fix %.*s format in findctype()

Hash:	980d64826e1d64c992313ae3f020298dd3dcfe37
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 25 03:20:00 +0000 2019

	atazz: fix %.*s format in special command processing

Hash:	b4b4d2286bc0e7a4906bd00931b54b5d96099887
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 25 03:18:30 +0000 2019

	aux/depend: fix %.*s format in path concatenation

Hash:	bc5b85c37c2d966b6d65dededcfe4f9dd38eed9d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 25 03:17:19 +0000 2019

	aux/statusmsg: fix %.*s format

Hash:	28bcea12aa084166f75a51c68c44dbf74fae52e3
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 25 03:16:48 +0000 2019

	aux/wpa: fix %.*s format in debug prints

Hash:	5d58b9573cc4ea97f569735c1a61be48c27e6728
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 25 03:15:43 +0000 2019

	cc: fix %.*s format usage in lexer "token too long" error

Hash:	ac3e3c342fc32cd633599d85391827289b7ebdf5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 25 03:08:13 +0000 2019

	hgfs: fix %.*s usage in walk

Hash:	a7ab8158395039091ef1bad3f18748b77b9a4cdc
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 25 02:53:09 +0000 2019

	ip/cifsd: fix %.*s format xdirflush() path

Hash:	80b18900935f45afa1ec4c887ffa0ceb21fa0231
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 25 02:52:05 +0000 2019

	ip/ppp: fix %.*s format in debug print

Hash:	cb8ef42b5579155a34fd7672c867a9e06e2983dd
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 25 02:51:19 +0000 2019

	ip/pppoe: fix %.*s format in debug prints

Hash:	b01b637889b587521b2f616ea469b3b64e0a7a9b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 25 02:50:14 +0000 2019

	ip/socksd: fix %.*s format in dialstring

Hash:	80a1d1ab934b9dcb89833410a48f9da7260c32fe
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 25 02:49:17 +0000 2019

	ip/tftpd: fix %.*s format for homedir path

Hash:	1335a57865c1a966a58437779d15aa63a775d64e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 25 02:48:12 +0000 2019

	ip/torrent: fix %.*s format in dialstring

Hash:	bcaf95bb5a60cd0fabbf5a20cd34a657e832484a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 25 02:45:49 +0000 2019

	libpanel: fix %.*s format in pl_snarfentry()

Hash:	a37402be19e88395a17196b829cafebf5bdcb387
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 25 02:41:10 +0000 2019

	nusb/audio: fix %.*s format usage

Hash:	5ec91a6413dbf87a9fc0aa3e8038d81d2054bb0a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 25 02:39:31 +0000 2019

	upas/fs: fix %.*s format usage

Hash:	2e5cd278d75be0cc046ac66259cc8d20af04b0c8
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 25 02:34:25 +0000 2019

	upas/ned: fix %.*s format in parsesearch(), improve mkfile

Hash:	536805bce3fb88d94fbb90e2d9e23fcef1287095
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 25 02:31:50 +0000 2019

	upas/scanmail: fix %.*s format in xprint(), improve mkfile

Hash:	e3aee39a389700ad821a1619f114e226c1bd42d0
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 25 02:29:19 +0000 2019

	upas/smtp: fix %.*s format for challenge in smtpcram()
	
	the challenge should already be in ASCII format,
	but better safe than sorry.

Hash:	3043052e24a954359937062ee1b911541c2070ae
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 25 02:25:36 +0000 2019

	vt: fix %.*s in sendncars()

Hash:	e1dcd2beb412a3e77b5c6df23571135137b486ed
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 25 02:21:09 +0000 2019

	webfs: properly handle %.*s in url path and debug prints

Hash:	05227960c6fd55dc8b050bf83e71f0924bfaf257
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 25 00:19:44 +0000 2019

	ssh: don't assume error messages are ASCII. format number of complete runes, not bytes.

Hash:	cce5422e79699bc71e6525d77dfc3d8a9f5b1b9d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Feb 15 01:16:31 +0000 2019

	ip/tinc: fix mistake from previous commit

Hash:	dc6772fccc90d90c700eb679b9dfcde4a71fc8cb
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Feb 13 17:56:21 +0000 2019

	libip: prefer v4 over v6 for myipaddr()
	
	myipaddr() is used in legacy applications that assume a
	single ip address per host. so prefer to retun a v4
	address over a v6 one.

Hash:	06912e53e491dedb495ca4e6a308831ef7af544f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Feb 13 16:42:20 +0000 2019

	devip: remove unused eipconvtet.c and ptclbsum.c files

Hash:	57ed5cc3f033446311b32181e72128326d80b9ef
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Feb 13 07:46:49 +0000 2019

	devip: ipv6 loopback ::1 has link-local scope

Hash:	cf5095143f01423a8bef7a5ed347dc58bde20857
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Feb 13 03:47:29 +0000 2019

	merge

Hash:	c0176a50519a4a978f1d59ef78bd1c9fcfa7f66f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Feb 13 03:45:41 +0000 2019

	ip/ipconfig: format ipmask with %M instead of %I

Hash:	ffdbfdf99120848b584e04d7353590524eb894f9
Author:	BurnZeZ <devnull@localhost>
Date:	Wed Feb 13 03:24:31 +0000 2019

	postscript: use PI

Hash:	0ed8f6ff5f45045f487304428af106c769582dea
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Feb 13 03:04:33 +0000 2019

	libip: don't reject ipmask in v6 form for v4 address

Hash:	45213ee6c72347fd31dc2d999742f632d508a132
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Feb 12 20:44:57 +0000 2019

	ip/ipconfig, ndb/dns, libndb: handle parseipmask() errors

Hash:	d551a83ae4e3e42c4d7da9638ec1f937200844cb
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Feb 12 20:43:22 +0000 2019

	libip: return -1 in parseipmask() and parseipandmask() when mask is not ipv4 and v4 argument was set

Hash:	7102a23245a07bf0a9517b3731f70e0475daf39b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 11 22:43:14 +0000 2019

	devip: use parseipandmask() for ipifc and route control message parsing

Hash:	b1c9ddb3f0757d900e3d51c82f73b196d5631ef7
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 11 22:42:15 +0000 2019

	ndb/dns: provide v4 argument to parseipmask(), use snprint() instead of sprint()

Hash:	fd277c053d8cbc1b9bbd930670e032c1427ea0a8
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 11 22:40:34 +0000 2019

	upas/smtpd: implement ipv6 support for ip blacklist, replace v4parsecidr() with parseipandmask()

Hash:	50e617f8b60b61e98538cb8ccb09958740defb9a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 11 22:38:58 +0000 2019

	ratfs: implement ipv6 support, replace v4parsecidr() with parseipandmask()

Hash:	168dabc142d40a1cdce87e836806a9913bb6534e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 11 22:36:29 +0000 2019

	ip/rip: use new parseipandmask() function

Hash:	595fbddb1c9e152d9080d7b0faa301709fa6466d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 11 22:34:26 +0000 2019

	ip/ayiya: use parseipandmask(), use ipvmp() instead of equivip6()

Hash:	97d45a546856be1c45610f8aa087275c5efc8001
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 11 22:33:44 +0000 2019

	ip/6in4: use parseipandmask(), use ipvmp() instead of equivip6()

Hash:	584343aa16e46bbae615922e00e1573f93d98a52
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 11 22:32:40 +0000 2019

	ip/tinc: use new parseipandmask() to parse subnets, use ipcmp()/ipmove(), remove prefixlen

Hash:	7a129309104db08f55334f9129f1ff26ce80b1db
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 11 22:30:52 +0000 2019

	ip/dhcpd: provide v4 argument for parseipmask()

Hash:	7c3db1d6203a1a63c663373917e80db42b44120b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 11 22:29:53 +0000 2019

	ip/ipconfig: use new parseipandmask() function

Hash:	a7c01127f9749fe471367c6461cde357403cc3b3
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 11 22:28:43 +0000 2019

	libndb: provide parseipmask() v4 argument in subnet(), use snprint() instead of sprint()

Hash:	0af11f97b582754df36b588e04fd9d9377b50823
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 11 22:26:57 +0000 2019

	libip: replace v4parsecidr() with new parseipandmask()
	
	we want to accept V4 subnets in CIDR notation consistently which
	means we need to interpret the mask in context of the IP address.
	so parseipmask() now has an additional v4 flag argument which
	offsets the prefixlength by 96 so a /24 will be interpreted
	as a /120.
	
	parseipandmask() is the new function which handles this automatically
	depending on the ip address type.
	
	v4parsecidr() is now obsolete.

Hash:	66b9196f77442ba8a2cbb1396c7640fd4176c4eb
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Feb 8 21:28:20 +0000 2019

	segment(3): use bind -c in examples (thanks henesy)

Hash:	01b6aa0f9f756639fc437af62585c4bfa77319ba
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Feb 5 22:10:03 +0000 2019

	cifs: merge with steve simons latest version. thank you very much!

Hash:	a2abe177e4ec99e3ca22d96fd472c68a19ffe152
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Feb 5 19:53:40 +0000 2019

	cifs: fix pruning of . and .. directory entries (thanks steve simon)
	
	steve wrote:
	
	> I cam across a bug in cifs.
	>
	> An empty directory under windows 7 pro contains a single entry "." but it
	> doesn't appear to contain "..". As a result "." is not removed on dirscan
	> and plan9 gets when trying to traverse the hierarchy.

Hash:	31637404ba902c53ad26a1686e60dd1340000cdb
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Feb 1 22:31:44 +0000 2019

	bcm: include sdmmc in pi kernel configuration

Hash:	cefc849a9521c9d5ba85d5aa88526d0f4b059db9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Jan 30 17:22:52 +0000 2019

	devdraw: get rid of softscreen==0xa110c hack and make attachscreen() return Memdata*
	
	all screen implementations use a Memimage* internally
	for the framebuffer, so we can return a shared reference
	to its Memdata structure in attachscreen() instead of
	a framebuffer data pointer.
	
	this eleminates the softscreen == 0xa110c hack as we
	always use shared Memdata* now.

Hash:	8e1218acebcb87bcf16e6bca5b5f213ff2a1df3a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Jan 30 17:05:04 +0000 2019

	bcm: list devswap only once in devtab array

Hash:	5b5416aa05b0f66632ded929383c32c0a5aaa375
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jan 28 22:29:22 +0000 2019

	devdraw: simplify drawgen()

Hash:	8152e9d075e507d36b6edb48ac1e15082fabeed5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jan 27 21:12:50 +0000 2019

	devip: tcp: Don't respond to FIN-less ACKs during TIME-WAIT (thanks Barret Rhoden)
	
	Under the normal close sequence, when we receive a FIN|ACK, we enter
	TIME-WAIT and respond to that LAST-ACK with an ACK.  Our TCP stack would
	send an ACK in response to *any* ACK, which included FIN|ACK but also
	included regular ACKs.  (Or PSH|ACKs, which is what we were actually
	getting/sending).
	
	That was more ACKs than is necessary and results in an endless ACK storm
	if we were under the simultaneous close sequence.  In that scenario,
	both sides of a connection are in TIME-WAIT.  Both sides receive
	FIN|ACK, and both respond with an ACK.  Then both sides receive *those*
	ACKs, and respond again.  This continues until the TIME-WAIT wait period
	elapses and each side's TCP timers (in the Plan 9 / Akaros case) shut
	down.
	
	The fix for this is to only respond to a FIN|ACK when we are in TIME-WAIT.

Hash:	63a0d519bcdb02b226023b1c07343bc52791a677
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jan 24 19:30:14 +0000 2019

	dhcpd(8), ndb(6): group related ndb attributes together

Hash:	4e91e4a2dbab9d79e1047cfc2094a438561b5a21
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jan 24 19:29:39 +0000 2019

	ip/dhcpd: remove undocumented dhcpgroup mechanism, group related ndb attributes together

Hash:	eb7eea0bb9012b6a1b544555e60f6e56af688cab
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Jan 23 20:28:22 +0000 2019

	troff: fix -ms mug (thanks aksr)
	
	Executing .KS after .1C exhibits a bug.
	Instead on the next page, the text between .KS and .KE is shown at
	the bottom of the page (where footnote would be).
	To reproduce the bug: http://sprunge.us/xyCUX7
	
	The bug can be fixed by changing two lines in tmac.s:
	
	    if \\n(NX<1 .bp\}
	
	to
	
	    if \\n(NX<=1 .bp\}
	
	and
	
	    if \\n(NX<1 'bp\}
	to
	
	  if \\n(NX<=1 'bp\}

Hash:	d1a0091b56805d881fd6675ea6dae96929bd8e7f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Jan 23 19:58:52 +0000 2019

	dhcpd(8), ndb(6): update documentation (thanks k0ga)

Hash:	c58df62d069d2a90714fc46be4a7c44ddfffba51
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Jan 23 19:57:20 +0000 2019

	ip/dhcpd: send vendor ndb attribute if available (thanks k0ga)
	
	At this moment plan9 is using vendorinfo to communicate
	some specific plan9 parameters, but there are some boards
	that use this attribute to set specific values. This
	patch allows netbooting of these boards using ndb attributes
	instead of hard coded solutions in dhcpd(1). Vendor attribute
	is used for that purpose because it is also used for the
	same purpose in bootp.

Hash:	ad6e6444f9c1bf3a2d65c67ab8f4f48ac6468104
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Jan 23 19:49:50 +0000 2019

	ip/dhcpd: add rootserverip read in lookupip() (thanks k0ga)
	
	Lookupip() was already reading rootpath, but it didn't read the
	address of the rootserver.  As they are very related it makes sense to
	read them at the same time.
	
	This patch also fixes a typo, where vendorclass was used instead of
	vendor, resulting that vendor ndb attribute was never used.

Hash:	3cf63ee15fce37647fb3e5ce3d757b7cdaf5e872
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Jan 23 19:47:48 +0000 2019

	ip/dhcpd: change swap to rootserver (thanks k0ga)

Hash:	058951bb80bed643b0a0c57b1d4da1889d92626e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Jan 22 21:08:07 +0000 2019

	devtls: remove static "already" flag in tlsinit(). this function is only run once.

Hash:	26d36c3ae2fd6ae40148be58589ea5e81b0ca341
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Jan 22 21:06:42 +0000 2019

	devswap: simplify, don't panic when writing swapfile fails
	
	always start the pager kproc in swapinit(), simplifying kickpager().
	
	allow zero conf.nswap and conf.nswppo. avoid allocating the reference
	map and iolist arrays in that case.
	
	use ulong for ioptr and iolist indices.
	
	don't panic when writing pages out to the swapfile fails. just
	requeue the page in the io transaction list so we will try
	again next time executeio() is run or just free the page when
	the swap reference was dropped.
	
	remove unused pagersummary() function.

Hash:	4b2f31131adaec9bd2837d877c4732069db27999
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Jan 22 20:55:20 +0000 2019

	pc64: properly handle faulterror in faultamd64()
	
	replicate what faulterror() would have done with up->nerrlab == 0,
	that is, terminate the process.

Hash:	927e342aca77bd5a1c3752e54b2385f6bb1c2208
Author:	Alex Musolino <alex@musolino.id.au>
Date:	Tue Jan 22 04:41:53 +0000 2019

	upas/fs: remove unused function pop3log

Hash:	b9745c60a1bf2a3876e411d38c67a0980d70e3a3
Author:	aiju <aiju@phicode.de>
Date:	Sun Jan 20 11:55:31 +0000 2019

	merge

Hash:	116b075371ec9a8af831e142f194a7a4a2fa738a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jan 20 11:02:03 +0000 2019

	rc: clear out redirections on "rfork F" (RFCFDG)
	
	rfork F closes all file descriptors, so we have to
	invalidate the redirections as they are now refering
	to closed files. not doing so causes the wrong file
	descriptors being closed later on as the fd numbers
	get reused.

Hash:	62bedca19fbf3305f00b3d8f58496fb45f4ad2b8
Author:	aiju <devnull@localhost>
Date:	Sun Jan 20 03:07:10 +0000 2019

	dtracy: fix &&

Hash:	83aa7ba70933335cd579b560a793b7741d5e3931
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jan 13 16:17:11 +0000 2019

	ether82563: fix bugus FCA write and link detection for i217
	
	the FCA registers 0x28, 0x2C have been reassigned to
	to FEXTNVM on i217, i218 and i219 so add Fnofca flag
	and avoid writing the registers.
	
	make link detection more robust on i217 by delaying the
	phy status read after link status change by 150ms. we'd
	otherwise get a "phy wedged" (power saving state?) and
	not update the link status until the next link change.

Hash:	998d47855044d262db7608a72929f2b59e858226
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jan 12 20:07:12 +0000 2019

	ether82563: work arround spurious jumbo packets on i217 (thanks k0ga)
	
	i217 appears to receive spurious jumbo frame and then
	stops receiving completely. reducing the mtu to 2k as
	a work arround for now.

Hash:	1759a1746d3629e29c924d70cf6632cfb2c14209
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jan 12 19:07:23 +0000 2019

	/sys/lib/plumb/basic: make plumbing page bookmarks work with relative paths (thanks Tobias Heinicke)

Hash:	0de56a9913681c2e76942ca493f70303bb3ef223
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jan 12 18:37:37 +0000 2019

	ether82563: use 9018 byte mtu from datasheet for i217, i218, i219

Hash:	9ba89d63ef8804bcadb21702ad691c829bcd6f22
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jan 12 14:35:50 +0000 2019

	merge

Hash:	53275c70457ff396d52e75d953b8120618c904d1
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jan 12 14:34:23 +0000 2019

	ether82563, ether82598, etherx550: round rbsz to multiple of 1K
	
	the max packet size is configured in 1K increments on these chips,
	which can result in the card receiving a 10K packet but the
	driver having only allocated 9.5K of buffer. this actually caued
	pool corruption with i210, i217, i218, i219, i350.
	
	for 82598 and x550, we explicitely round rbsz to avoid similar bugs
	in the future, even tho the Rbsz constant was already a multiple of
	1K and is not affected by the bug.

Hash:	9f755671fb6f8250da9c16a9abebbf975b8bc571
Author:	qwx <devnull@localhost>
Date:	Tue Jan 8 12:22:09 +0000 2019

	torrent: avoid trying to fetch blocks past file

Hash:	d0f824edc2fa69ab9fc9618a93fd6e3f15acb2b9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jan 4 01:51:29 +0000 2019

	pc, pc64: properly track dependencies for mem.h on autogenerated apbootstrap.h and reboot.h targets

Hash:	c88ed6488f36eaa7d499dac424f647d166267dec
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Jan 2 09:26:38 +0000 2019

	upas/fs: don't put messages on the lru that cannot be uncached
	
	the lru is there to track least recently used messages so
	we can evict them from the cache and refetch them again on
	demand. for pop3 mailbox, which doesnt provide fetch routine,
	the messages should never be put on the freelist.

Hash:	de8580ed9f8fa2d34ae01f5b73bb14263322824a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Jan 2 09:22:27 +0000 2019

	upas/fs: include mkupas in mkfile last to get default target

Hash:	2c6cc121339ade33ac5aa4b46356df1cd5469fbe
Author:	Alex Musolino <alex@musolino.id.au>
Date:	Sun Dec 30 13:30:09 +0000 2018

	upas/fs: fix infinite loop in putcache (again)
	
	The previous attempt to fix this problem (see changesets b32199e0f90a
	and 00ae79a6ba50) caused all calls to cachefree to free the cached
	message contents in addition to updating the LRU list.  This causes
	problems for the POP3 driver since it provides no fetch function; once
	a message is evicted from the LRU cache, its contents is lost.
	
	This time we fix cachefree to always update the LRU list but only free
	the cached message contents if the driver provides a fetch function or
	the force flag is set.

Hash:	f464b7ff16135fc4dddf30291dc5b7226651d2b3
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Dec 28 10:46:15 +0000 2018

	rsa(8): add example for tinc(8) (thanks k0ga, qwx)

Hash:	83b854df0d2a98ca35f8d3215e7fe34531563b20
Author:	aiju <devnull@localhost>
Date:	Fri Dec 28 10:26:25 +0000 2018

	dtracy: fix conditional branch generation

Hash:	ca10fccafe87bb3fe54d6ea8de36f16a03bbcbc2
Author:	BurnZeZ <devnull@localhost>
Date:	Wed Dec 26 04:51:35 +0000 2018

	remove function prototype that leaked into last commit

Hash:	c650a7db0cb5a60286c4dbd0d24423eddcb7e0e3
Author:	BurnZeZ <devnull@localhost>
Date:	Wed Dec 26 04:47:22 +0000 2018

	tcs: clean up old port code, and avoid writing 0 to stdout

Hash:	27921a1ba0e70a9f6c01f174d69749c689f625b5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Dec 26 04:04:56 +0000 2018

	mk: fix closing random fd from uninitialized stack variable (thanks BurnZeZ, mycroftiv)
	
	mycroftiv → this is practically "500 mile email" territory - the "6 letter mk bug"

Hash:	1b619dea42e60be0316f03a358c52c2e86a6d654
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Dec 24 18:06:01 +0000 2018

	nusb/disk: revert previous attempts and just not issue capacity command when theres no media present

Hash:	ee9b29550f887f125253826c7af3495ac41b39f7
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Mon Dec 24 07:10:42 +0000 2018

	Make the check work.
	
	Embarrassing.

Hash:	c80f22f74a4b7d08451a73258cbbf1b013da92d8
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Dec 24 04:10:43 +0000 2018

	nusb/disk: implement 64 bit lba read/write commands (16 byte commands)
	
	untested.

Hash:	2aec1f8a09ae0bc9fb269d84ef53defebc47eede
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Dec 24 04:05:41 +0000 2018

	nusb/disk: fix typo "("

Hash:	bb151fa7899b279acb241458e3c00af08548d1a6
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Mon Dec 24 03:44:58 +0000 2018

	Don't unnecessarily unstall devices.
	
	Some SD card readers are slow to unstall. We try to unstall them
	in a loop if there's no SD card in there, but they're not stalled.
	They're happily reporting that there's no SD card in them by giving
	back the appropriate error code.
	
	Skipping the unstall speeds up the retry loop, cutting the time spent
	attaching the USB device at boot from multiple minutes to nearly instant.

Hash:	ec1c1b9b52632a5af59f37c1330573b78775cce1
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Dec 24 00:21:47 +0000 2018

	dossrv: cleanup

Hash:	1e0b65c8bfb2f1b6fbc189795b73a6e89b05dc75
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Dec 23 21:43:29 +0000 2018

	dossrv: make GLONG() return ulong, handle getsect() error in dostat()

Hash:	d843bc8e22a7db269867fdc702bd0043e4f499a0
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Dec 23 16:48:11 +0000 2018

	etherx550: add intel 10GB ethernet controlller x550 driver (thanks joe9)

Hash:	426c989317108ace29978920e99efb0ff1a1d02a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Dec 23 16:41:47 +0000 2018

	ether82598: fix multicast filter (thanks aiju, joe9)

Hash:	4a634d21024ee8d24e60d5414ee879cf61ea3275
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Dec 22 19:49:24 +0000 2018

	dossrv: use 64 bit vlong for sectors

Hash:	9fe137733670fbd5249f96ed62f0f2f92514d8b6
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Dec 15 19:39:32 +0000 2018

	dtracy: avoid pointer to integer truncation warning on amd64

Hash:	192a222f5b8ed80a19588f9e6d0e9db537ace463
Author:	aiju <devnull@localhost>
Date:	Sat Dec 15 11:57:35 +0000 2018

	fplot: fix operator associativity

Hash:	3114102485d1be792cf528b3796fdb961e60e9e1
Author:	aiju <devnull@localhost>
Date:	Thu Dec 13 16:15:10 +0000 2018

	fplot: add min/max operators

Hash:	c7304ea03caf68cf035d14f50f6e24e0c16ccdfe
Author:	aiju <devnull@localhost>
Date:	Thu Dec 13 10:42:49 +0000 2018

	dtracy: get rid of DTName struct, support more than three parts in a probe name, wildcard matching

Hash:	dae5a44111dfb21a714824a5cec2abee4f9f9080
Author:	aiju <devnull@localhost>
Date:	Thu Dec 13 10:38:21 +0000 2018

	pc(1): reference counting bug

Hash:	c69bf6e0bc573a72c2e9f03155daa2f47e357436
Author:	Alex Musolino <alex@musolino.id.au>
Date:	Thu Dec 13 01:30:32 +0000 2018

	merge

Hash:	b830824cba80242e803e75816cf591f8ac32ca40
Author:	Alex Musolino <alex@musolino.id.au>
Date:	Thu Dec 13 01:29:34 +0000 2018

	upas/fs: remove now unnecessary "force" argument to cachefree

Hash:	eb5676d4be3915af8e23071a4130922d634cebb4
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Dec 12 18:33:08 +0000 2018

	upas/fs: handle errors from fetch for cachebody()/cacheheaders()
	
	for imap, when a fetch fails, error out of read and stat. also don't
	add failed to download messages into the lru.

Hash:	9b194f23b2a544fab666e40f4f574c8fceb7601f
Author:	Alex Musolino <alex@musolino.id.au>
Date:	Wed Dec 12 02:21:29 +0000 2018

	merge

Hash:	b836802fe6c1327bc1947a560741f26aac6a7711
Author:	Alex Musolino <alex@musolino.id.au>
Date:	Wed Dec 12 02:18:53 +0000 2018

	upas/fs: fix infinite loop in putcache
	
	Force the cacheclear operation in the LRU cache trimming loop in order
	to guarantee that the cache becomes smaller with each iteration.
	
	Without the force flag cacheclear is a no-op for mailboxes that do not
	provide a fetch function, e.g. POP3.

Hash:	4c68cfa41226de2501c677e80e9e6932d1e39236
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Tue Dec 11 17:57:36 +0000 2018

	fortunes: [9fans] ..... UNSUBSCRIBE_HELP NEEDED

Hash:	40d6302b5f289ad8a617d12fa911197dddafc634
Author:	aiju <devnull@localhost>
Date:	Tue Dec 11 09:20:34 +0000 2018

	forgotten files

Hash:	a6517fb4984458d6f5ce4864a408c5057d15306d
Author:	aiju <devnull@localhost>
Date:	Tue Dec 11 09:17:44 +0000 2018

	kernel: change peek to return number of characters left rather than 0/-1

Hash:	cc066d813083789d76169720edbf7a3104538117
Author:	aiju <devnull@localhost>
Date:	Tue Dec 11 09:09:08 +0000 2018

	dtracy: catch page faults

Hash:	6f30420136d8f2a87790dbe826bc6800de74770a
Author:	aiju <devnull@localhost>
Date:	Tue Dec 11 07:44:34 +0000 2018

	add dtracy support to mkdevc and enable dtracy with plan9.ini

Hash:	e93a85710edab0e55ba792955da235083c8a0150
Author:	BurnZeZ <devnull@localhost>
Date:	Mon Dec 10 05:18:05 +0000 2018

	sshfs: add exits(nil) to threadmain

Hash:	ca851bbb5e93d6f208d967edd898e7042833889b
Author:	aiju <devnull@localhost>
Date:	Sun Dec 9 21:43:22 +0000 2018

	dtracy: call dtptrigger with a struct pointer rather than a list of arguments; put return value in arg9

Hash:	b96be173766c58ccfcc3abc84bd751ba000be838
Author:	aiju <devnull@localhost>
Date:	Sat Dec 8 18:04:25 +0000 2018

	dtracy: fix lexer bug

Hash:	722a1a33347c759c797da9f889ceaed304092aff
Author:	aiju <devnull@localhost>
Date:	Sat Dec 8 17:24:23 +0000 2018

	fix dtracy man page

Hash:	6056a46c6498c1f500124f1523c33f696b834898
Author:	aiju <devnull@localhost>
Date:	Sat Dec 8 16:35:21 +0000 2018

	add dtracy manpage

Hash:	58fa29447b845f91dfc2a6734f525ed47375393b
Author:	aiju <devnull@localhost>
Date:	Sat Dec 8 15:07:53 +0000 2018

	dtracy: add support for aggregations

Hash:	03e60450c2acc20866867cc5d3649aaed07d0326
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Dec 7 15:32:04 +0000 2018

	rio: get rid of window delete thread, fix mysterious disappearing windows
	
	because a client might not handle resize, rio would try to move ther
	window offsceen after 750 ms. however, it does this by window name,
	which could have been reassigned by another concurrent rio, causing the
	wrong window to disappear.
	
	now we always move the window offscreen before freeimage(). this way we
	are sure to still have the right reference to the original window.

Hash:	96b1debbf869ac135f3a0f22e8fdc57caaa15129
Author:	BurnZeZ <devnull@localhost>
Date:	Fri Dec 7 01:41:27 +0000 2018

	add entries for il rcpu

Hash:	c6d4cd09a395a24ee993c1edf1031e5b01adddde
Author:	BurnZeZ <devnull@localhost>
Date:	Thu Dec 6 06:53:41 +0000 2018

	ptrap(4): fix formatting

Hash:	4415dde6d3345b21d49848fd7e76b2860f58512e
Author:	aiju <devnull@localhost>
Date:	Thu Dec 6 10:56:32 +0000 2018

	forp: change indexing to verilog-like semantics

Hash:	023f5eca58471db968aee3de7729c1c9b0540952
Author:	BurnZeZ <devnull@localhost>
Date:	Thu Dec 6 07:11:35 +0000 2018

	acid: fix transcript

Hash:	64d0d3b8ac00ef31607314415b302eb61ec441d3
Author:	aiju <devnull@localhost>
Date:	Thu Dec 6 09:32:20 +0000 2018

	libmp: fix mptouv behaviour to match mptoui

Hash:	17b80cbcf1d5a7c6afd74c7432ab64c100dbdc2f
Author:	aiju <devnull@localhost>
Date:	Thu Dec 6 09:32:07 +0000 2018

	libmp: add tests for integer conversions

Hash:	7e477cc7693dde922ce94df8cbec3301f920fb6c
Author:	aiju <devnull@localhost>
Date:	Wed Dec 5 10:26:52 +0000 2018

	mptov: make it actually work

Hash:	689109303467790df972f16918ee48a490c53f56
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Dec 5 02:59:08 +0000 2018

	kernel: remove unused static variable "sofar" from timerintr() (thanks mischief)

Hash:	d15aca0532d83216e9db9c4107eabaf1fdf21925
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Dec 5 00:43:19 +0000 2018

	kernel: fix tprof on multiprocessor
	
	segclock() has to be called from hzclock(), otherwise
	only processes running on cpu0 would catche the interrupt
	and the time delta would be wrong.
	
	lock the segment when allocating Seg->profile as
	profile ctl might be issued from multiple processes.
	Proc->debug qlock is not sufficient.
	
	Seg->profile can never be freed or reallocated once
	set as the timer interrupt accesses it without any
	locking.

Hash:	79bfff6437def01409c373f3e053d092d84ad20e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Dec 4 18:34:36 +0000 2018

	factotum: rsa: use mptober() to get right adjusted result instead of mptobe() and memset()

Hash:	c5393d612fd2a0e4ff3f9557dcb6adb2ad27391f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Dec 4 17:55:56 +0000 2018

	bootrc: remove $ff references (was old parsed /boot/boot argument list)

Hash:	b5f7e27f441cc6d5e30532fdd2d506a4f30f4a04
Author:	aiju <devnull@localhost>
Date:	Sun Dec 2 11:36:58 +0000 2018

	kencc: make "function not declared" a warning unless compiling with -T

Hash:	a847d7a53d64b1f7d11eb3b969c2684ea0aa399b
Author:	mischief <mischief@offblast.org>
Date:	Sun Dec 2 11:30:30 +0000 2018

	python: explicitly declare WaitForThreadShutdown as void

Hash:	cb7375dcbcd80183fb206fa41b398dc71a039632
Author:	mischief <mischief@offblast.org>
Date:	Sun Dec 2 11:30:22 +0000 2018

	ape: declare gethostname

Hash:	9eeca04d87ff362a524a4f7d06b68fbc7f6a256a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Dec 2 02:27:19 +0000 2018

	merge

Hash:	117f177ccf688b7aea8b57133b442a93840fafd5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Dec 2 02:23:48 +0000 2018

	libsec: fix memory leak in pkcs1_decrypt()

Hash:	2b1454e81c8ee4572408096f4593678d184da130
Author:	BurnZeZ <devnull@localhost>
Date:	Sat Dec 1 18:07:40 +0000 2018

	libdtracy: wrong operator in XORI (thanks aiju)

Hash:	d9b9e15d6bbdae625b3613bb0a704d269cc83098
Author:	aiju <devnull@localhost>
Date:	Sat Dec 1 11:39:49 +0000 2018

	kencc: turn "function args not checked" warning into "function not declared" error if appropriate

Hash:	75f5332c9dce891845e57b188efad28d7530d8ae
Author:	aiju <devnull@localhost>
Date:	Sat Dec 1 11:28:26 +0000 2018

	2c(1): document some differences with ANSI C

Hash:	ad7316e87cd0444908caa74a5dfd4cf6168c5472
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Dec 1 03:22:07 +0000 2018

	hgwebfs: write headers individually, so they are not limited by webfs iounit (thanks mischief)

Hash:	c4ecd0fee0f0cef485a223d6e638a56bafd5bbda
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Dec 1 03:20:53 +0000 2018

	webfs: write headers individually so they are not limited in sum to the 8k buffer

Hash:	ec1976eb0521d668696c6b5946c045bdca6245b0
Author:	aiju <devnull@localhost>
Date:	Fri Nov 30 17:32:10 +0000 2018

	fplot: add support for readout with middle mouse button

Hash:	5b2f81a5670fed4cdee3c64e89b2014125051707
Author:	aiju <devnull@localhost>
Date:	Fri Nov 30 16:58:01 +0000 2018

	fplot: color different curves

Hash:	f102882990af8f9336824f81d24eb2ee1648c9dc
Author:	aiju <devnull@localhost>
Date:	Fri Nov 30 16:12:02 +0000 2018

	fplot: compute y range correctly when used with multiple graphs

Hash:	55f067553a073c05e169adc0b95ad9d7f7269640
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Nov 28 20:12:11 +0000 2018

	upas: get rid of broken validatesender example, remove redundant upas/misc and setup target

Hash:	cd933b2a9c5dc9dc2c469d243257154309c2dc6a
Author:	mischief <mischief@offblast.org>
Date:	Wed Nov 28 19:34:52 +0000 2018

	hgwebfs: read to eof by default to match urllib2 behavior

Hash:	099da8cb824ee60bf3f55e9e69380660f167b216
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Nov 28 11:41:18 +0000 2018

	devip: fix arpread, dont return partial entries

Hash:	22b28520cd431c2f68acd66b877122379d704914
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Nov 27 21:37:32 +0000 2018

	fshalt: wait for fileservers command file to vanish
	
	cwfs and hjfs create ther /srv command files with
	ORCLOSE flag, so they get removed once the fileserver
	terminates. we can use this to check that the fileserver
	has in fact finished halting without making assumtions
	about the time it should maximally take for any fileserver
	to write out its buffers to disk.

Hash:	243c25fd8f397ff37c1ad597524cccd23db46d1c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Nov 26 20:36:51 +0000 2018

	upas/fs: avoid switch on vlong breaking build (thanks k0ga)

Hash:	3484b7c23acf79ed99fd0e18b03a4d402e3feda6
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Nov 26 20:29:33 +0000 2018

	upas/fs: another mistake ...

Hash:	f75b4fddb3bc6d242f65ac478b53bb62c75c9760
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Nov 26 19:15:30 +0000 2018

	upas/fs: fix broken body.ext in walk (thanks sl)

Hash:	da9f1ccc282a4bb09b3197e850f76c809f4fe7e6
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Nov 24 21:38:00 +0000 2018

	libmach: change amd64 szreg to 8 (thanks charles forsyth)

Hash:	6e6beff85d3f2d71c4e1d92d1f2091d01c7d5c34
Author:	aiju <devnull@localhost>
Date:	Sat Nov 24 15:22:17 +0000 2018

	delete old NOTICE file

Hash:	434de8db8da082f214652a9fdb7e6a0fa3aea537
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Nov 22 19:27:27 +0000 2018

	snap: use Mach->szaddr as the width of the stack pointer (fixes snap on amd64)
	
	to read the value of the stack pointer register, snap
	used Machdata->szreg to determine the width of the
	SP register in the Ureg structure. however, the value
	does not match the Ureg.sp type for a number of architectures
	(mips2, amd64) and it is unclear if this was an oversight
	as it is rarely used (snap is indeed the only user) or
	if it was intended for a different purpose.
	
	so we use szaddr instead which matches the stack pointer
	width in the Ureg and fixes the truncated stack issue on
	amd64.

Hash:	6bd0764167a0fbebb5ee90bf1a9c30e8d119442b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Nov 22 14:09:54 +0000 2018

	snap: add debug flag, make debug less verbose

Hash:	9d471caaae56a734728c3b19755adfe26f6c4f4c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Nov 22 11:44:15 +0000 2018

	snap: check for overflows, cleanup error handling

Hash:	33636932054f74c7a922a9713a9229d6d5fc7f38
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Nov 22 09:31:30 +0000 2018

	snap: consequently use ulong for page index and count

Hash:	56927887249d8529afa57c38d7935edb2d9cc49f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Nov 22 09:30:45 +0000 2018

	snap: be more conservative taking stack snapshot
	
	include up to 8k below the stack to get some more context.
	
	don't assume stack is at least 16K.

Hash:	1f464e0013ddc9b5901a50d11d4ef5bd570be39c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Nov 22 07:55:13 +0000 2018

	upas/fs: keep messages *marked* for deletion in the index

Hash:	5a5d3e0414f733c69fb43399972a81d465c08555
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Nov 22 07:49:41 +0000 2018

	upas/fs: allow msgincref() with mb->refs == 0
	
	this can happen when the on the final sync when the mailbox
	is being freed:
	
	freembox -> mboxdecref -> syncmbox -> wridxfile -> pridx -> insurecache -> msgincref

Hash:	1dcf853fc0439e7726d3a3f10678b1340b3592e5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Nov 21 20:48:55 +0000 2018

	upas/fs: checkfid() might be called with uninitialized fid, ignore

Hash:	5d2bffc26f8227530597aa3e9160f516ffe181cf
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Nov 21 16:32:36 +0000 2018

	upas/fs: fix walk

Hash:	70f700699ac06fb33267395c60f62b4fae3f4f15
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Nov 21 15:19:51 +0000 2018

	upas/fs: don't enter mailbox into hashtree when it is being freed
	
	syncmbox() used to enter the mailbox into the hash tree to
	update the qid.vers. this is wrong when we are doing the final
	sync before freeing the mailbox as the hash reference has already
	been removed by freemailbox().
	
	also avoid adding hash entries for mails for the about to be
	freed mailbox in cachehash().

Hash:	5ef10e16427a4312f9a19a4710dbdbe32fb88963
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Nov 21 01:08:15 +0000 2018

	mp(2): fix spelling

Hash:	39a7be7ea3c952483cda6eedfbebe902d4d08b0e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Nov 21 00:15:43 +0000 2018

	mp(2): clarify mptoa() and mpfmt() default base

Hash:	8e50556f14d6fc1271c606dce05f1229bed7ae93
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Nov 20 23:37:35 +0000 2018

	upas/fs: rework the refcounting, use 64bit qid path, add checks
	
	add function to check the refcounts for Mailbox and Message on a fid
	
	use the full 64 bit of the qid.path, so we can use the full 32 bit for the id
	
	instead of only maintaining refcount for the top message, msgincref() now
	adds a reference to all its parent messages including self and top message.
	then we can check in recursive delmessage() that all the parts have a zero
	refcount.
	
	remove the Fid.mtop field, it was never used.
	
	make sure deletion and flag changes only affect the top message.
	
	cachefree(): only look for top message in lru. sub-parts are never
	added to the cache.
	
	use the nparts field when reading sub-part of existing message, so
	that we parse the index right in case the number of parts somehow
	changed.
	
	messages marked as Deleted but still in inbox should be written
	to the index.

Hash:	7a8e875668d92020548d07b5ad30f7b83b61d1fc
Author:	aiju <devnull@localhost>
Date:	Tue Nov 20 09:22:04 +0000 2018

	games/md: fix mkfile

Hash:	99d2e68a6a97fcdf5fe57ae9a6cda87fc142848b
Author:	aiju <devnull@localhost>
Date:	Tue Nov 20 09:20:46 +0000 2018

	games/md: use cpu.c from blit

Hash:	af810c987120f915091b16ed7440ceff1933100d
Author:	aiju <devnull@localhost>
Date:	Tue Nov 20 09:18:20 +0000 2018

	games/blit: clean up cpu.c and make it pass tests

Hash:	4dee686ca51e20634aa66c989dabbb1cf460e32b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Nov 19 17:42:01 +0000 2018

	pc, pc64: park application processors in rebootcode with mmu off
	
	instead of having application processors spin in mpshutdown()
	with mmu on, and be subject to reboot() overriding kernel text
	and modifying page tables, park the application processors in
	rebootcode idle loop with the mmu off.

Hash:	b04ed2ae522a0d2f97d8ac7e5f3276223112ebe8
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Nov 18 20:28:56 +0000 2018

	vt(1): vt doesnt exit when the host process exits as claimed (thanks driusan)

Hash:	485a3301e6119f0c85d7869d469fc0a0888e49c1
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Nov 18 19:42:45 +0000 2018

	cc: fix wrong "useless or misleading comparison" warning
	
	to reproduce:
	
	 	u8int x, y;
	
	 	x = 0xff;
	 	y = 0xc0;
	 	if((s8int)(x & y) >= 0)
	 		print("help\n");
	
	compiles correctly but prints a warning
	
	warning: test.c:11 useless or misleading comparison: UINT >= 0
	
	the issue is that compar() unconditionally skipped over
	all left casts ignoring the case when a cast would sign
	extend the value.
	
	the new code only skips over the cast when the original
	type with is smaller than the cast result or when they
	are equal width and types have same signedness. so the
	effective left hand side type is the last truncation
	or sign extension.

Hash:	b6251bff913972b5dfb421813fe97a5bfff3627f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Nov 18 03:56:48 +0000 2018

	rc: implement $"x in terms of Xdol() and new Xqw() instruction
	
	to get $"1 right, remove Xqdol() and instead implement it in
	terms of Xdol() instruction and use the new Xqw() instruction
	to quote the resulting list.

Hash:	196da4ec6f429683a351312d1f0bcb05847e7f89
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Nov 18 03:14:41 +0000 2018

	devip: fix swapped tcp snd.scale and recv.scale in tcpstate() format (thanks joe9)

Hash:	064ea89caa3d8b2183ad5827ee124c1213286e0c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Nov 18 02:37:04 +0000 2018

	libdraw: avoid deadlock for mouse ioproc sending on resizec
	
	a deadlock has been observed with samterm (thanks burnzez),
	that shows the mouse ioproc being stuck in sending on the
	resize channel, while the mouse consumer is stuck in a
	readmouse() loop wanting a rectangle to be drawn by the
	user:
	
	recv(v=0x42df50)+0x28 /sys/src/libthread/channel.c:321
	readmouse(mc=0x42df50)+0x54 /sys/src/libdraw/mouse.c:34
	getrect(.ret=0x41bce0,but=0x4,mc=0x42df50)+0x62 /sys/src/libdraw/getrect.c:49
		r=0x41bc70
		rc=0x41bc70
	getr(rp=0x41bce0)+0x24 /sys/src/cmd/samterm/main.c:244
		p=0x6b000004f6
		r=0x2
	sweeptext(new=0x0,tag=0x2d)+0x12 /sys/src/cmd/samterm/menu.c:208
		r=0x2
		t=0x42df50
	inmesg(type=0x2,count=0x2)+0x1ab /sys/src/cmd/samterm/mesg.c:136
		m=0x10000002d
		l=0x2d00001b00
		i=0x43829000000001
		t=0x438290
		lp=0x42e050
	rcv()+0x7a /sys/src/cmd/samterm/mesg.c:77
	threadmain(argv=0x7ffffeffef90)+0x173 /sys/src/cmd/samterm/main.c:63
	
	so avoid blocking in the mouse ioproc by using nbsend()
	instead of send() for writing to the resize channel.

Hash:	a25418fddcf958c8a585779c7642bb88ceaf3f66
Author:	mischief <mischief@offblast.org>
Date:	Sun Nov 18 01:23:56 +0000 2018

	devbridge: fix runt packets going through the bridge (thanks cinap)
	
	linux will send small, unpadded arp packets which may arrive over
	wifi, so allow small packets into the bridge and pad any packets that
	are too small when going out.

Hash:	fbfa249c6399e845b2ef1313038a6e4102b4b78d
Author:	aiju <devnull@localhost>
Date:	Sat Nov 17 09:48:46 +0000 2018

	games/c64: make keyboard table more readable

Hash:	744867de34c58c5d4b3a104f61cff0bc827b9c82
Author:	mischief <mischief@offblast.org>
Date:	Wed Nov 14 19:33:52 +0000 2018

	ether82563: ignore i82753 checksums, fixes T60 ethernet

Hash:	06783edd7a66eea0285c8a7ad2fd03e5577b80ef
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Nov 14 08:12:34 +0000 2018

	nusb/kb: multitouch support (touchscreens, stylus)
	
	touchscreens signal multiple contact points (X/Y) in
	the hid descriptor separated by being nested in separate
	collections. the contact point is identified by a
	optional contact id. if omited, we use the collection
	index and report id.
	
	so we collect all the items (X/Y, buttons, wheel) from
	separate collections in Hidslot structures and in the
	end combine all the slots together.
	
	buttons are or'ed together while absolute X/Y is applied
	when it changed. relative X/Y deltas get added together.
	
	thanks to kivik and Glats for testing.

Hash:	76812c9bb71193b7a9a4d059890915535ef49441
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Nov 13 10:03:37 +0000 2018

	rcpu: fix pvar to initialize empty variables (thanks mycroftiv)

Hash:	8a7f897b30780dbf9b733fa413d679140fd1c27a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Nov 13 02:34:19 +0000 2018

	nusb/kb: revert multitouch, breaks some mice...

Hash:	b5ea1cc4be54f0162cd50533f4b74e59465787de
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Nov 12 19:43:25 +0000 2018

	upa/imap4d: ignore messages without digest info

Hash:	3b51df75b58ac4ce394f332f5fad42be0b5c1491
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Nov 12 15:54:59 +0000 2018

	disk/mkfs: remove unused cputype variable (thanks kvik)

Hash:	8c57331b9b7c3e7013fb6fd95b14271bff7f7001
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Nov 12 07:53:29 +0000 2018

	merge

Hash:	9de1403358d4165b47b11a2ea9544237da9a34be
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Nov 12 07:52:01 +0000 2018

	nusb/kb: lilu dallas multitouch

Hash:	c247ce1c3301222ccd445d3479c29f7eb0e9bfc4
Author:	aiju <devnull@localhost>
Date:	Sun Nov 11 10:10:30 +0000 2018

	add dtracy to mkfile

Hash:	e15b1b8930550b14938e94f01a5109f9417e0506
Author:	aiju <devnull@localhost>
Date:	Sat Nov 10 20:01:19 +0000 2018

	add dtracy.h

Hash:	a7f5ecaf636e38f407c951d0e86dcc4c4f424bd6
Author:	aiju <devnull@localhost>
Date:	Sat Nov 10 14:01:42 +0000 2018

	dtracy: missing break in dteverify

Hash:	e6d99771e5c1eef3f69fc847253d4709ffaa84be
Author:	aiju <devnull@localhost>
Date:	Sat Nov 10 13:46:16 +0000 2018

	adding dtracy (crude early version)

Hash:	8c097ae84a500eae9c8e4ee21b7b3ea8f8d23259
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Nov 8 21:35:45 +0000 2018

	ssh: handle unknown MSG_CHANNE_REQUEST messages

Hash:	2a266430e3fbae4eac97182e04dbd91f275a1b3c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Nov 8 21:00:07 +0000 2018

	ssh: handle MSG_GOBAL_REQUEST
	
	respond to MSG_GLOBAL_REQUEST with MSG_REQUEST_FAILURE
	as stated by rfc4254 when server wants a reply.
	
	failing todo so breaks some proprietary keep-alive schemes.

Hash:	615f43b76e5f67c2e737c6b039df48ffccd1fde3
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Nov 8 20:15:07 +0000 2018

	ip/dhcpd: Add swap server support in dhcpd (thanks k0ga)

Hash:	85afec4c2f95f12970b9f0e9a73a02cf29645745
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Nov 8 19:26:32 +0000 2018

	bcm: intrenable() can happen from any cpu in case of dma interrupts

Hash:	b7aedbb36634b9d67ec74d1156af03090ee913ba
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Nov 8 15:56:34 +0000 2018

	libdraw: cannot happen

Hash:	df7fcc6cac30738852965d9f4c1b6e90c6a977ae
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Nov 7 21:01:18 +0000 2018

	libdraw: fix gengetwindow()
	
	- fix fd leak in winname read() <= 0 case
	- avoid freeing d->image (was by freeimage((*scrp)->image))
	- dont leak screen and window in fullscreen mode

Hash:	c0d21d35b103e980e658fff1ef07107e72a03364
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Nov 7 16:02:09 +0000 2018

	bcm: cleanup timer code
	
	- calculate hardcoded constants for more clarity
	- avoid unneccesary modification of cntpns ctl register
	- revert enabling IRQcntpns for cpu0
	- remove unused Localintpending register offset constant

Hash:	385f52183ce6ce08bf409f389d2386956d6d5fa8
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Nov 7 15:49:50 +0000 2018

	bcm: simplify irq handling by having per cpu Vctl chain

Hash:	b0d226705cec8f36339adce5d95b4feda1deba02
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Nov 7 15:48:14 +0000 2018

	bcm: speed up co-processor operations by avoiding i+d cache flush on each operation
	
	coproc.c generated the instrucitons anew each time,
	requiering a i+d cache flush for each operation.
	
	instead, we can speed this up like this:
	
	given that the coprocessor registers are per cpu, we can
	assume that interrupts have already been disabled by
	the caller to prevent a process switch to another cpu.
	
	we cache the instructions generated in a static append
	only buffer and maintain separate end pointers for each
	cpu.
	
	the cache flushes only need to be done when new
	operations have been added to the buffer.

Hash:	17f0b2ce38f3c845a3bbbe0630185ca8dac684a4
Author:	aiju <devnull@localhost>
Date:	Tue Nov 6 12:05:15 +0000 2018

	nusb/serial: fix wrong guard statement (thanks deuteron)

Hash:	e76452a69f80ef0a3d3d9a719a725371b5e6beca
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Nov 6 03:33:29 +0000 2018

	merge

Hash:	a66be233961cc2277a8b3ab4e386497db9933970
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Nov 6 03:31:48 +0000 2018

	dnstcp: temporarily switch on resolver mode so we can resolve the dnsslaves for axfr check

Hash:	1d0f8a7e512e5abfea9c5d2fdf2fb4c05efc720b
Author:	aiju <devnull@localhost>
Date:	Mon Nov 5 20:17:48 +0000 2018

	sed: only dollars as first address are a problem for -u

Hash:	a86de839ca16c1d12780d3dcf245b8db81ac21cb
Author:	mischief <mischief@offblast.org>
Date:	Sun Nov 4 19:39:04 +0000 2018

	rio(1): fix typo

Hash:	52ad5b3ec5138a85e4c976013adbc54642f19b74
Author:	mischief <mischief@offblast.org>
Date:	Sun Nov 4 19:37:13 +0000 2018

	mp(2): document mpfactorial

Hash:	6df3f7bf384deb72df9d02bd7a9757d552c1bfe2
Author:	mischief <mischief@offblast.org>
Date:	Sun Nov 4 19:37:02 +0000 2018

	libmp: declare mpfactorial

Hash:	0a681f38eb2d5fb079b45b2cdb833fe8cb51a3cf
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Nov 4 18:50:06 +0000 2018

	merge

Hash:	93e493f391a0635753b118e2312070fce7ad5b66
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Nov 4 18:48:27 +0000 2018

	libaml: allow amlmapio() to re-enter the interpreter (can happen by pciadd() -> amleval())
	
	- make frame base pointer variable
	- in rwreg(), save/restore the interpreter state and allocate a Frame* on the stack
	- add overflow checks for frame base pointer to xec() and amleval()
	- gc() scans the whole stack from FP to the *real* bottom F0

Hash:	0bd213b7b05779b5071de1aa06c8d16594aabc22
Author:	aiju <devnull@localhost>
Date:	Sun Nov 4 16:03:35 +0000 2018

	devvmx: remove bogus . direntry

Hash:	89c659d80b91170a20157119975b19492c33a1dd
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Nov 4 15:00:32 +0000 2018

	bcm: fix mysterious core clock resets under SMP (thanks richard miller)
	
	reference: https://github.com/raspberrypi/firmware/issues/542
	
	procsave(Proc* p)
	{
		uvlong t;
	
		cycles(&t);
		p->pcycles += t;
	
	// TODO: save and restore VFPv3 FP state once 5[cal] know the new registers.
		fpuprocsave(p);
		/*
		 * Prevent the following scenario:
		 *	pX sleeps on cpuA, leaving its page tables in mmul1
		 *	pX wakes up on cpuB, and exits, freeing its page tables
		 *  pY on cpuB allocates a freed page table page and overwrites with data
		 *  cpuA takes an interrupt, and is now running with bad page tables
		 * In theory this shouldn't hurt because only user address space tables
		 * are affected, and mmuswitch will clear mmul1 before a user process is
		 * dispatched.  But empirically it correlates with weird problems, eg
		 * resetting of the core clock at 0x4000001C which confuses local timers.
		 */
		if(conf.nmach > 1)
			mmuswitch(nil);
	}

Hash:	dd82b657c0a92a5e8f2d3df6c7ca3ae83403ce91
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Nov 1 00:07:51 +0000 2018

	bcm: fix mistake in mkfile

Hash:	5608be398ea04d67594b558b30c457b328fe05d6
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Oct 31 18:48:16 +0000 2018

	bcm: fix /dev/reboot text/data corruption (thanks richard miller)
	
	- clean dcache before turning off caches and mmu (rebootcode.s)
	- use WFE and inter-core mailboxes for cpu startup (rebootcode.s)
	- disable SMP during dcache invalidation before enabling caches and mmu (in armv7.s)

Hash:	913be4e74affe04a2ceb3ab75cb8056dd920a5c8
Author:	Alex Musolino <alex@musolino.id.au>
Date:	Wed Oct 31 06:19:02 +0000 2018

	awk(1): fix append operator to avoid truncating file

Hash:	8e9d2434e97fe6cf4b0d3e7f43e3e35d7ae1033f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Oct 28 06:10:27 +0000 2018

	bcm: provide /dev/cputemp in a format stats can understand

Hash:	daf153009e0db3c5fb39a7011f86526c7d863653
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Oct 28 05:17:34 +0000 2018

	merge

Hash:	b715c39bfa1e2169f450f719ba8a7643c7b39b68
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Oct 28 05:16:10 +0000 2018

	bcm: simplify reboot code
	
	- synchronize rebootcode installation
	- handle the 1MB identity map in mmu.c (mmuinit1())
	- do not overlap CONFADDR with rebootcode, the non boot
	  processors are parked there.
	- make REBOOTADDR physical address

Hash:	0fc2adb43dc8be67b6eca49e3e28339367a01246
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Oct 28 05:09:05 +0000 2018

	bcm: cleanup clock code
	
	- disable local clock on interrupt to prevent accidents when reenabling
	- always regitster local clock interrupt handler, even for cpu0
	- simplify microdelay()
	- don't mess with watchdog

Hash:	f17a5cc2cf345921f9036e23dfd895a9ee68a0e5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Oct 28 05:05:43 +0000 2018

	bcm: fix l2 cache maintenance routines for raspi3 (armv8)
	
	armv8 has 16-way l2, so adjust shift for the set-way cache
	tag format.

Hash:	d74fdfc022acde11b522fcc77beed10880784cbc
Author:	qwx <devnull@localhost>
Date:	Sat Oct 27 23:05:05 +0100 2018

	misc small manpage fixes

Hash:	2ee4c089741823aae794eaa2eb53780f65019981
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Oct 27 19:00:12 +0100 2018

	devuart: don't sleep in uartdrainoutput() when called splhi or without a process
	
	uartdrainoutput() might be called in early initialization
	from uartctl() without a process.

Hash:	d81f4d4866ac6084d8268880fa36bec3ece460c1
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Oct 27 17:32:00 +0100 2018

	rc: skip searchpath for "", "." and ".."

Hash:	d17a049c5b083751f66d7089d8950aaefd047bc6
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Oct 26 09:25:23 +0100 2018

	rc: use searchpath() logic to handle $cdpath

Hash:	1a55b8d1f0253b4d39b1972978b469a352f0f94b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Oct 26 08:52:05 +0100 2018

	rc: ignore $cdpath for # device rooted paths (thanks kivik)

Hash:	05021e057945ef77b585b1835397f59bd3381282
Author:	23hiro <23hiro@gmail.com>
Date:	Thu Oct 25 07:09:10 +0100 2018

	add Centrino Wireless-N 1030 (thanks lksmk from brazil)

Hash:	b65a5a1ca53fc8a10cb584b62978b8487af5138c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Oct 21 23:16:04 +0100 2018

	/sys/lib/dist/mkfile: add pi.img target for raspi sdcard image

Hash:	f059563b9d53d3e63e2d580ed61868153f24c481
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Oct 21 23:15:39 +0100 2018

	add /sys/src/boot/bcm/mkfile to download raspberry pi bootcode firmware

Hash:	8dfff00e50652e1c0580c307374991b8cd3b864f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Oct 21 16:24:33 +0100 2018

	nusb/serial: add support for CH340 serial converter

Hash:	21001d4294c0496a2fc8c23eead89df44bd85825
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Oct 21 02:44:16 +0100 2018

	merge

Hash:	2fd35e9bf8077c6a4d2b86d9b456711b18d5f332
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Oct 21 02:42:24 +0100 2018

	kbdfs: don't get confused by broken utf8

Hash:	f5c6a870bfb6d92f623aaa42bb60f074638e37fe
Author:	qwx <devnull@localhost>
Date:	Sat Oct 20 23:11:39 +0100 2018

	doom: fix music for patch wads
	
	revert last change, which used games/wadfs to expose genmidi and music lumps.
	replacements from patch wads were never seen that way.  instead, write genmidi
	and music lumps to /tmp and play them from there.

Hash:	b4eb667f02c32f007290b68adc95c8fbd9a2c3cd
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Oct 20 22:57:50 +0100 2018

	acme: fix fd checks - initialize Window.rdselfd to -1 not 0

Hash:	84e019aba3dd233d817272cc62ca2a95a5263de7
Author:	BurnZeZ <devnull@localhost>
Date:	Sat Oct 20 19:44:09 +0100 2018

	fix misleading/wrong fd checks

Hash:	292cce2ad127d30d29ca2824f7dd484620256ceb
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Oct 20 19:32:22 +0100 2018

	libdisk: catch null bytes in proto file, fix memory leaks

Hash:	5bb7240ee93111a7c73adaedc0dabfa0caacbe25
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Oct 20 18:57:37 +0100 2018

	nusb/kb: work arround broken split transaction on raspi's dwc otg usb controller

Hash:	83e20b4df18d539db59c8e1090f77a6565df250e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Oct 20 18:56:31 +0100 2018

	bcm: import changes for raspi2/3 from richard miller

Hash:	796e5e6000677a39577d545e4603ce251e7cbfe9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Oct 20 18:53:57 +0100 2018

	nusbrc: support for raspi3 ethernet

Hash:	37dcb25eee726a6e207963e737e12cc5a95ca398
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Oct 20 18:52:54 +0100 2018

	kernel: fix allocb for BLOCKALIGN*2 >= Hdrspc

Hash:	c4ec69045e40277433a7fdc48c0ff4b19a11fa59
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Oct 20 18:41:37 +0100 2018

	devusb: use Enotconf[] string constant

Hash:	86a9f92f47f9cb5d9eb3806e458d856b0ee81b08
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Oct 20 18:30:16 +0100 2018

	nusb/ether: add support for lan78xx (raspi3) (thanks richard miller)

Hash:	29865005f9c90b6addc423221afa421bf555c84e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Oct 20 18:29:18 +0100 2018

	nusb/ether: tune buffer size parameters for SMSC ethernet (raspi) (thanks richard miller)

Hash:	499478eb621bf29975cb617a98ebbb3c1febea93
Author:	mischief <mischief@offblast.org>
Date:	Thu Oct 18 16:46:44 +0100 2018

	upas/fs: delete extra binaries

Hash:	286ee3ba34ac6cb69e016f94c2709759f1fb94df
Author:	mischief <mischief@offblast.org>
Date:	Tue Oct 16 20:53:55 +0100 2018

	truetypefs(4): fix example path

Hash:	717fa414af4a5aca573fcc123691b1786f704ad8
Author:	mischief <mischief@offblast.org>
Date:	Tue Oct 16 20:53:34 +0100 2018

	kbdfs(8): fix nit

Hash:	d6164606d95183df5cc44fa5c7a1d0887ebb1578
Author:	aiju <devnull@localhost>
Date:	Tue Oct 16 20:26:40 +0100 2018

	ttf: SHZ also uses 0x36

Hash:	4b507ed83d4082d7001a1b8b78e7338c2beb2c38
Author:	aiju <devnull@localhost>
Date:	Tue Oct 16 20:14:19 +0100 2018

	libttf: add SHZ[] instruction

Hash:	d31f6261b33c5bff12243b05ec752887dbffe019
Author:	aiju <devnull@localhost>
Date:	Tue Oct 16 19:35:47 +0100 2018

	libttf: dont unset LOOP in SHC

Hash:	2d221e61e3820a007ff2204adb73ad3ab27010c6
Author:	mischief <mischief@offblast.org>
Date:	Mon Oct 15 12:14:59 +0100 2018

	nusb/disk: also drive usb attached scsi devices

Hash:	22fc5467a4366579fcc7bfc389eaa9b397a3db7f
Author:	aiju <devnull@localhost>
Date:	Mon Oct 15 10:10:34 +0100 2018

	nusb/joy: update misleading comment (thanks Tobias Heinecke)

Hash:	df89d898f0c643d846002a3902da63fd8862119e
Author:	mischief <mischief@offblast.org>
Date:	Sat Oct 13 10:20:31 +0100 2018

	libttf: instruction 0x24 is DEPTH, not CLEAR

Hash:	c22ebef4e1221a3fb276524a86bc3b25d2662653
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Oct 12 23:07:46 +0100 2018

	libdisk: back out last change

Hash:	06abb1098a90a344d2aabfb486f56b8c5aada342
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Oct 12 18:28:39 +0100 2018

	ssh: fix spinning due to sticky intr flag on connection timeout

Hash:	f12f773944dd15f32dbe41b016fd1df34463069b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Oct 12 18:04:22 +0100 2018

	merge

Hash:	6e74c7380f5b711e46314f3ad0e3f57e02271e46
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Oct 12 18:02:57 +0100 2018

	libdisk: check for proper line termination in proto file parser

Hash:	c60ba7267dbb1eb63b4ccc99031fa6142d099a11
Author:	mischief <mischief@offblast.org>
Date:	Fri Oct 12 16:47:52 +0100 2018

	namespace(4): fix $home bin paths

Hash:	aa356432075765087cca097d92bd9941c25229d0
Author:	mischief <mischief@offblast.org>
Date:	Fri Oct 12 16:46:48 +0100 2018

	namespace(4): document new TrueType path, drop unused Hershey fonts path

Hash:	d5fae5426816fee74b9323402ce3d67b9eedee06
Author:	mischief <mischief@offblast.org>
Date:	Fri Oct 12 16:36:22 +0100 2018

	truetypefs(4): document truetypefs

Hash:	aec4240c0cddf4ee58cf992102a24f00c477d307
Author:	mischief <mischief@offblast.org>
Date:	Fri Oct 12 16:34:17 +0100 2018

	truetypefs: fall back to width if advance is zero
	
	combining marks will have zero advance, but it results in zero-width
	glyphs in subfonts.  fall back to width so something meaningful is
	rendered even if its not combined properly.

Hash:	3a41ce3bf314caad67c2c52a06142f7ac60611c7
Author:	mischief <mischief@offblast.org>
Date:	Fri Oct 12 16:32:19 +0100 2018

	truetypefs: fix subfont indices (thanks aiju!)

Hash:	4d919ab612f61c1ef1b21d41513f264d57c010d4
Author:	mischief <mischief@offblast.org>
Date:	Fri Oct 12 16:31:05 +0100 2018

	truetypefs: use /lib/font/ttf as default font path

Hash:	ccfb6f412643128d5a537df73805c8478f0a24ae
Author:	aiju <devnull@localhost>
Date:	Fri Oct 12 12:40:34 +0100 2018

	libttf: fix swapped argument in vscan()...

Hash:	4808971db6c402f0f50a9bd2145e0e2daa5786fa
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Oct 11 21:49:45 +0100 2018

	plumber: fix memory and filedescriptor leaks (thanks BurnZeZ)

Hash:	c9e86d6b342bc68f174825178d57e1e171972f5f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Oct 11 17:57:14 +0100 2018

	ndb/dnstcp: only lookup the expected address type in findserver()
	
	theres no reason to lookup both A and AAAA records, as we already
	know the type of srcip.

Hash:	5fbf53b467fa109dcec963f3404f8dc77199e82f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Oct 11 17:34:14 +0100 2018

	merge

Hash:	ed888f3ee9ba746e76fe9aed0e2e6c1189ac45dd
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Oct 11 17:32:31 +0100 2018

	ndb/dns: use nil for pointers in dnresolve() args

Hash:	784a9598880c119d8701db059bae956eacd5db72
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Oct 11 17:31:35 +0100 2018

	ndb/dns: do recursive lookup for dnsslave=

Hash:	fce9c3e65a940ff96a595340eb1e12620c73f029
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Oct 11 17:29:17 +0100 2018

	ndb/dns: avoid format strings in procname

Hash:	921b75a9095a20bbc44d97b251e659c3334df18b
Author:	aiju <devnull@localhost>
Date:	Thu Oct 11 17:25:11 +0100 2018

	games/gb: when the LCD is turned off, reset ppuy and ppustate to 0, fixes bug in dragon warriors iii reported by mischief

Hash:	8eecdc96643cf0d90f850212e6e2bd351bdc00e7
Author:	mischief <mischief@offblast.org>
Date:	Thu Oct 11 00:37:13 +0100 2018

	etheriwl: support type 2000 devices and the 2200 chip in x230t

Hash:	7af5442d3b031a3f81ea5c25c88f99692fb16822
Author:	mischief <mischief@offblast.org>
Date:	Wed Oct 10 21:56:28 +0100 2018

	nusb/joy: send magic packet to enable playstation controller events

Hash:	67e14807e960d99d34ba1fc28fb3d2d656830249
Author:	mischief <mischief@offblast.org>
Date:	Wed Oct 10 21:49:03 +0100 2018

	nusbrc: prevent nusb/kb from attaching to sony ps3 controller

Hash:	a13ba7741f35528ea4b8764652101321f089a514
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Oct 10 01:45:11 +0100 2018

	hget: do a HEAD request to check if the file is already complete (thanks miscief)
	
	when we continue a download, make sure the file isnt already
	complete, as otherwise the server might respond with a 416
	as the range request will out of range.

Hash:	e73ce8475e683c62d0335a18788d86ae92a010f0
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Oct 9 05:34:27 +0100 2018

	ndb/dnstcp: return a proper non-answer when rejecting zone transfer

Hash:	08292c8f1fb3c122e92ed13d8c107009c919ada1
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Oct 9 05:08:48 +0100 2018

	ndb/dns: fix format print warning for procsetname(), cleanup

Hash:	45e71cb72869a4adbff53154a2f6c75d7b404a1d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Oct 9 05:07:51 +0100 2018

	ndb/dns: send_notify() to multiple ip addresses in parallel, filter myip()

Hash:	7ddda493c0c5370902148e20c579dd2d213f0a69
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Oct 9 05:02:36 +0100 2018

	ndb/dnstcp: restrict DNS zone transfers to clients listed as dnsslave=
	
	initial idea from Steve Simon, but doesnt require reverse
	lookup of the callers ip address.

Hash:	679a253931804caf4de436c5cdab8d34f178d779
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Oct 8 06:10:59 +0100 2018

	usbxhci: only clear RW1C bits when set.

Hash:	2fecc5789efc1cf1f0343890a363adc7ccaaeda5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Oct 8 06:05:28 +0100 2018

	usbxhci: delay after reset, preserve reserved bits in legacy status control register in handoff()
	
	when clering smi enable bits in the legacy control/status register,
	preserve the reserved bits. clear the RW1C bits.
	
	linux code claims intel xhci controller needs a 1ms delay before
	accessing any register after reset.

Hash:	a71a57f8f26f2eec86266e2f7febf9c839781df4
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Oct 8 01:18:02 +0100 2018

	remove /lib/tftpd from proto file

Hash:	564eeba5158b74225fb00202335e6e50868e4375
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Oct 8 01:13:29 +0100 2018

	get rid of /lib/tftpd

Hash:	065c3557af8de1b20d94c2e86a4a29c5d33ccc67
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Oct 8 01:11:36 +0100 2018

	ip/dhcpd, ip/tftpd: change default for tftp homedir to /

Hash:	c458216121d622858916387071cd9c13df31820a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Oct 7 22:38:41 +0100 2018

	pc drivers: more pci cleanup

Hash:	9fec0e736081cd155afb6a413b7641b93faed519
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Oct 7 21:28:21 +0100 2018

	pc drivers: use pcienable() to handle device power up and missing initialization

Hash:	4d7c195804991b9c762f9a859679282c7014bbbb
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Oct 7 20:52:53 +0100 2018

	pc, pc64: add pcienable() and pcidisable() functions
	
	pcienable() puts a device in fully powered on state
	and does some missing initialization that UEFI might
	have skipped such as I/O and Memory requests being
	disabled.
	
	pcidisable() is ment to shutdown the device, but
	currently just disables dma to prevent accidents.

Hash:	4e4f2aca32c3409a5fca3341dccd14318c18f9b1
Author:	aiju <devnull@localhost>
Date:	Sun Oct 7 12:11:39 +0100 2018

	add (unfinished but working) truetypefs

Hash:	ce062debb1edaa27548deea0f151a9d4c95414a7
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Oct 6 01:42:53 +0100 2018

	9boot: get rid of 64 byte line length limit

Hash:	e5cb695c7ab91b35684937e6c311eb4fe9270d67
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Oct 5 23:30:59 +0100 2018

	merge

Hash:	f9839ed0a29a0598fa383f9c5e8d5c366f93596a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Oct 5 23:29:05 +0100 2018

	usbehci, usbxhci: add *noehcihandoff= and *noxhcihandoff= parameters
	
	on Samsung ATIV Smart PC Pro XE00T1C-A01CL, the EHCI handoff
	causes the system to freeze in UEFI mode as soon as we assert
	the os semaphore bit.
	
	until a general solution is found, provide these parameters to
	disable the handoff for now as it seems to otherwise work fine.

Hash:	83876083c9bba29e01ce1a82cba77d84f6382f07
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Oct 5 23:26:07 +0100 2018

	pc, pc64: increase CONFADDR buffer from 4K to 24K
	
	move APBOOTSTRAP and TMPADDR to make space available for
	boot parameters. which can become quite long such as *e820.

Hash:	7efc2e761d4d7b2d20325b17e80b835b15f124b5
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Fri Oct 5 04:23:50 +0100 2018

	fortunes: I'm beginning to wonder if anyone is left that isn't part of 9front? -- Steve Stallion

Hash:	567df638ac46091d64d6616f429293b6ed3a3675
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Oct 2 23:53:10 +0100 2018

	cpurc: filter ipv6 loopback address for automatic ip address setup (thanks fhs)

Hash:	b56450471faccd9d21633dc8d836a5b18d34535f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Oct 2 23:47:34 +0100 2018

	devip: remove unused QLock from udp and icmpv6 control blocks (thanks brho)

Hash:	bdcef9d6928f5bdc214567937b1d219774f48b12
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Sep 29 12:58:08 +0100 2018

	5i ki qi vi: avoid buffer overflow in command read loop

Hash:	e876447b7570808a97cbad6193b33c8af41552fe
Author:	mischief <mischief@offblast.org>
Date:	Sat Sep 29 01:28:51 +0100 2018

	audio/libogg: sync to ogg v1.3.3
	
	this corresponds to upstream git commit 4380566a44b8d5e85ad511c9c17eb04197863ec5.

Hash:	f75bbcdd45358ac00fdf07d0107c87390b28c4cb
Author:	aiju <devnull@localhost>
Date:	Fri Sep 28 23:53:24 +0100 2018

	5e: byte access incorrectly checked for long; brk has to round up addresses

Hash:	451b0c7976df9036ee84ad2e51f698dbe7562873
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Sep 28 19:23:53 +0100 2018

	ip/ipconfig: silently ignore prefix information with Autonomous flag clear

Hash:	9ee967663f9cec96ed9e9fd292657ed54eea47df
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Sep 28 17:16:08 +0100 2018

	ip/ipconfig: default onlink and autoflag to 1

Hash:	02b867f01eca1fefbe8b29205c8a8d4c13d2ffd0
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Sep 28 17:13:01 +0100 2018

	devip: only add interface route for "on-link" prefixes
	
	when a prefix is added with the onlink flag clear, packets
	towards that prefix needs to be send to the default gateway
	so we omit adding the interface route.
	
	when the on-link flag gets changed to 1 later, we add the
	interface route.
	
	the on-link flag is sticky, so theres no way to clear it back
	to zero except removing and re-adding the prefix.

Hash:	03bcc1520a54573c7149233cf51975e0fe077399
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Sep 27 15:08:51 +0100 2018

	vt: fix backup/forward after resize

Hash:	b74ce50a1c8670e46ee55c4aa09912da6567bd9b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Sep 27 14:24:41 +0100 2018

	vt: implement word select

Hash:	e7f777ae03a4e739471c8916b436fd261da242fa
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Sep 26 14:58:19 +0100 2018

	idn(2): add documentation for idn2utf() and utf2idn()

Hash:	a600610fded8cd7b5a2b24787d10b2fdaea50d7e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Sep 26 14:24:29 +0100 2018

	provide procsetname(2) manpage

Hash:	19166f2cf32725b1907c8032ae224282a1fa3f8f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Sep 26 13:56:23 +0100 2018

	libc: add procsetname()

Hash:	311e3b51c6b1bde2f58968453de56a5ca2a6dbb4
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Sep 26 13:32:17 +0100 2018

	libc: return number of bytes produced for idn2utf() and utf2idn()

Hash:	f18e8dfde88d00a19a184604865aa4d6383b16f5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Sep 25 20:51:57 +0100 2018

	ip/ipconfig: increase maximum host and domainname size to 255 bytes. idn for -h option

Hash:	0126f10d05933421a1db388368accd81578c9888
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Sep 25 19:59:08 +0100 2018

	ndb/inform: handle internationalized domain names

Hash:	e5e6a729ddb6956d520c87cb5905b3515323dccc
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Sep 25 19:45:11 +0100 2018

	merge

Hash:	33682a58857cc79b967ed37b39845f80a03f6958
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Sep 25 19:43:37 +0100 2018

	ip/ipconfig: handle internationalized domain names

Hash:	05f6c08985c9bd522e0a938f0e90b20df3f6792d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Sep 25 19:28:19 +0100 2018

	ip/dhcp6d: handle internationalized domain names

Hash:	347303b136c41ac5ca4408818fdd1a3fde89888a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Sep 25 19:17:56 +0100 2018

	ip/dhcpd: handle internationalized domain names

Hash:	2160da07de7fcce233e2229318caa6f4f98f4a45
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Sep 25 19:17:00 +0100 2018

	ndb/dns: use libc's new idn functions

Hash:	565fc2be5df4288bf30edd86100b53a371223076
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Sep 25 19:16:06 +0100 2018

	webfs: remove idn.c

Hash:	d5f2d2cc3fc7c2d3701e906df5d2d53781c4ee9c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Sep 25 19:15:24 +0100 2018

	webfs: fix memory leak in Nfmt(), use libc's new idn functions

Hash:	dfec09c436a8a328fc97007cf2dc3cd5476cc748
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Sep 25 19:14:25 +0100 2018

	libc: add utf2idn() and idn2utf() functions to deal with internationalized domain names

Hash:	d2b3e2f55a52df45c8e9c0b043763809f0001e69
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Sep 25 14:06:13 +0100 2018

	merge

Hash:	dbfb76673539e5b59dac437c6b2a2159c896731c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Sep 25 14:04:19 +0100 2018

	ip/dhcpd: implement rfc3397 dhcp search domain option (dnsdomain)

Hash:	12b3c82014efd24fa57037c001c7d3ce78204e5a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Sep 25 14:02:29 +0100 2018

	ip/ipconfig: implement rfc3397 dhcp dns search option (dnsdomain)

Hash:	72a840b31dd2ffc600dcffec7170eef76d7bb5ee
Author:	Ori Bernstein <ori@eigenstate.org>
Date:	Tue Sep 25 09:02:31 +0100 2018

	Disallow '/' in file names.
	
		A bad rename call could send a path with a '/' to cwfs.
		This is invalid, and should be disallowed.

Hash:	2f076f946fe7a5409cda7d83af5585442b294ec8
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Sep 24 12:56:25 +0100 2018

	ip/ipconfig: handle noconfig flag for router advertisement, add debug prints, cleanup

Hash:	ef17043327d999101009f85aae72f77399db15ac
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Sep 23 22:35:41 +0100 2018

	libhtml: increase Nestmax to render some convoluted pages (thanks fernan)
	
	example page with broken citation list numbering:
	
	https://en.m.wikipedia.org/wiki/Commodore_64

Hash:	94333ce6a694c4c9b282c1db4e0360ab6ef047b9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Sep 23 21:07:56 +0100 2018

	devip, ipconfig: avoid overflow on lifetime checks

Hash:	70c6bd03970c52d27a95c459b57943397caa3f6c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Sep 23 18:09:48 +0100 2018

	devip: valid and prefered life-time should be unsigned, add remove6 ctl command

Hash:	4a92a8f6b2502750a69e87d398ffb2f069103bf4
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Sep 23 18:08:16 +0100 2018

	devip: fix default parameter calculation for router life-time
	
	router life time is in seconds, while max ra interval is
	in milliseconds!

Hash:	259ce5e3de215c1354c1f74924336adc83312850
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Sep 23 16:24:59 +0100 2018

	devip: make updating ra6 router parameters atomic
	
	when we fail to parse and validate the command, no update
	should take place.

Hash:	1d4a36c69913f117516b0f062745fe95d35545ba
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Sep 23 16:14:29 +0100 2018

	ip/ipconfig: valid lifetime is in seconds, not milliseconds.

Hash:	74272a8364547a7451f5e13f3988c75eb69ba3d7
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Sep 23 01:08:59 +0100 2018

	ip/ipconfig: remove expired default routes on router advertisement

Hash:	0311f011228a5d26a7a73128c489782870b69693
Author:	23hiro <23hiro@gmail.com>
Date:	Sat Sep 22 08:41:16 +0100 2018

	keyboard(2) spelling (thanks Amavect)

Hash:	8c7a4e28d5d9413925aa9e1e23a36e170658f20d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Sep 20 20:25:38 +0100 2018

	vt: make selecting() wait until all buttons are lifted avoiding menu when chording

Hash:	b9796e0774636821b0a0c50c600920805642960a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Sep 20 20:07:10 +0100 2018

	vt: implement line selection by double click

Hash:	6fa3e08412c49a188e2abe7d9ee54cd1f37a85f5
Author:	mischief <mischief@offblast.org>
Date:	Wed Sep 19 21:27:55 +0100 2018

	cfs: close mount half of pipe, fixes cfs not exiting when unmounted

Hash:	45afecffd1849f8ae6672a389bb430779afce9e3
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Sep 19 00:11:49 +0100 2018

	kprof: fix precedence (thanks geoff)

Hash:	d73c67660bd2573787e99c300806c2f1394a8b52
Author:	mischief <mischief@offblast.org>
Date:	Tue Sep 18 23:58:22 +0100 2018

	sum, md5sum, sha1sum: set exit status properly on open/read errors

Hash:	026c679f49ca89b7585d3ee3364d154c2b00cc3a
Author:	mischief <mischief@offblast.org>
Date:	Tue Sep 18 21:14:00 +0100 2018

	webfs: remove automatic Referer header
	
	automatic Referer headers were found to break downloads from
	sourceforge.net, causing html pages to appear instead of tarballs.
	
	if a website does need them, they can be added as needed via hget's -r
	flag, or added to mothra.
	
	reverts commits 67f536d20329 and 6d999c39a9f0

Hash:	6b9cc409de48052e4474150236a22a4b6b44fceb
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Sep 18 18:34:29 +0100 2018

	mtx, ppc: remove cistrcmp() and cistrncmp() redefinition

Hash:	bd49212b467c60d6d5e4e2eefc13ec88012ec785
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Sep 17 23:53:05 +0100 2018

	kernel: fix livelock in rebalance (thanks Richard Miller)
	
	Once a second rebalance() is called on cpu0 to adjust priorities,
	so cpu-bound processes won't lock others out.  However it was only
	adjusting processes which were running on cpu0.  This was observed
	to lead to livelock, eg when a higher-priority process spin-waits
	for a lock held by a lower priority one.

Hash:	e619a03c28a1bc979faeaa2853c58f94b5c3c5ad
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Sep 17 17:09:33 +0100 2018

	boot(8): document tls and reboot methods

Hash:	2985d53b7a06d8a1712493aa899d6ffcfacd9e3b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Sep 16 21:35:16 +0100 2018

	bootrc: add experimental reboot method to load another kernel
	
	syntax: reboot!bootfile[!method...]
	
	this echos bootfile to /dev/reboot, causing bootfile kernel
	to be started.
	
	when method is given, we first connect to the filesystem and
	set bootargs so that bootfile can be loaded from the target
	network or local fileserver.
	
	note, when no bootfile is given, this causes the kernel to
	reboot to bios.

Hash:	9d60ece81651aedea9136615f40cbee27e1eda97
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Sep 16 14:27:17 +0100 2018

	libndb: add missing ndbdedup.c

Hash:	ed41dd5b288d95dc11ff87e97bade9859bde6c07
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Sep 16 12:47:33 +0100 2018

	9boot: don't let user erase the prompt (thanks mischief)

Hash:	4080322dc9196fc29164ba6c9da8b7cb3dc7a60b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Sep 16 11:43:21 +0100 2018

	cpurc: handle multiple auth servers

Hash:	d52752fe68e8e5779066b11d3dd4a079aa4a5e04
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Sep 16 11:40:48 +0100 2018

	netaudit: handle multiple ip addresses

Hash:	a4e444f430b874661f2793d8f9d1daeab60a89b1
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Sep 16 11:39:47 +0100 2018

	libndb: make ndbipinfo() walk ipnet for all matching entries, concatenate and dedup result

Hash:	08385e66816940b999a5c433a1feef303cea67e4
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Sep 13 21:15:42 +0100 2018

	ip/tftpd: remove sunkernel hack

Hash:	a33d76f8c95d33d6590dd185a2200f06cef014c7
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Sep 13 10:54:20 +0100 2018

	ape/make: fix \ line continuation parsing

Hash:	5ea7337ae78541f70bc3d26931427b913de22cbc
Author:	mischief <mischief@offblast.org>
Date:	Wed Sep 12 08:35:45 +0100 2018

	port: sync two longjmp fixes from drawterm
	
	see drawterm commits f5e26ae93a6a and fa388286b4ca

Hash:	bcb3b3940e8186ba0ba7b71a1530ade5a7776299
Author:	mischief <mischief@offblast.org>
Date:	Tue Sep 11 08:23:35 +0100 2018

	sdahci(3): correct device name for top level control messages (thanks joe9)

Hash:	8c513a07409b0a9d3c74d10776969f581d4f7f61
Author:	mischief <mischief@offblast.org>
Date:	Tue Sep 11 07:39:58 +0100 2018

	atazz(8): fix probe formatting

Hash:	e4d0a7628998cf99bacbbef8a60fc721a985d461
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Sep 9 14:38:53 +0100 2018

	ndb/cs: don't do dns lookups when all we got is loopback or link local addresses

Hash:	183ab18dfcb048318241b92510a3f6614fa62ca4
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Sep 9 14:35:14 +0100 2018

	libip: ignore ipv6 link local addresses for myipaddr()

Hash:	b591ee195b71eb3be9963e544c3fea72c017a09a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Sep 9 00:53:53 +0100 2018

	devarch: reading msr 0xffffffff

Hash:	ba7b07d51ad65d9a2d38e08799525c7716c77825
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Sep 9 00:41:35 +0100 2018

	devarch: restrict i/o port access to 64K, disallow msr 32-bit wrap arround (thanks aiju)

Hash:	4f2cdcf74bddc52179e205ac98774c4a6d194ed0
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Sep 8 23:24:43 +0100 2018

	stats: fix etherstats, avoid vmax == 0

Hash:	e534c4147e1ab3f5891c8821c2cbac1c66bec93c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Sep 8 22:31:30 +0100 2018

	libmach: substitute /dev/zero for /proc/$pid/fpregs when missing (for snapfs)

Hash:	97a2e35a0c4a408285f2e94667f6ae069bb462e8
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Sep 8 21:24:36 +0100 2018

	devarch: fix /dev/msr (thanks joe9, aiju)
	
	the end condition port < offset+n could never become
	false when offset truncated to 32 bit signed port is
	negative. change the condition variables to unsigned
	int.
	
	msr's are not byte addressible, so advance reads by
	one instead of 8.

Hash:	a3d8481bb628ce254b43198f78a9f14617fa5bf9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Sep 8 14:15:08 +0100 2018

	libvorbis: fix broken free() (thanks mischief)

Hash:	96210d79b29eb31c6958c7aada57f39dc7f6cdcf
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Sep 8 13:50:41 +0100 2018

	merge

Hash:	2839760066e578e449ebc8b3d71297b9f79a8c99
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Sep 8 13:49:00 +0100 2018

	rc: fix Xpipefd unbalancing the redir stack
	
	Xpipefd wants the pipe descriptor to be closed in turfredir(), so
	it pushes the redirection, but this breaks Xpopredir after normal
	redirection. so we shuffle the Xpipefd redir to the bottom of the
	stack.

Hash:	178bc8548acd64bc49f57c6b62de2daeb26cf046
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Fri Sep 7 00:08:57 +0100 2018

	fortunes: I've been looking into running Plan 9 in JSLinux -- Skip Tavakkolian

Hash:	46d49b5dd2b28c525a2edcf60013d2bb7808623f
Author:	mischief <mischief@offblast.org>
Date:	Wed Sep 5 16:37:01 +0100 2018

	audio/libogg: nuke old libogg.au

Hash:	2e9835e771c54cb9a0c9cd81012e7b4b75f878f7
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Sep 4 19:55:10 +0100 2018

	vt: fix selection past baseline (thanks BurnZeZ)

Hash:	217e8a06198cf6681fb0c38c26f34d96ae4302f6
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Sep 3 21:37:45 +0100 2018

	vt: fix selrange() to recover whitespace indention

Hash:	676298b16ba58991d1a859e0f519a967d619ccef
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Sep 3 20:51:32 +0100 2018

	vt: get rid of "clear" menu entry, fix 24x80 resize, reset selection on setdim(), document snarf/plumb

Hash:	80cd634c4d446418899018b6dcff2559c4572537
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Sep 3 19:54:26 +0100 2018

	vt: fix plumbsel(), snarfsel()
	
	- plumbsel()
		- remove debug prints
		- use smalloc() to convert to bytes
		- fix spurious -1 close of plumb fd
	
	- snarfsel()
		- fix rune buffer leak in open error case

Hash:	de9aa721f6b481d74f437035bedbaee6fffa2627
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Sep 3 19:05:26 +0100 2018

	vt: implement proper selections (thanks Ori_B)
	
	Ori Bernstein wrote:
	> I finally got around to taking another shot at this vt patch. This change
	> gets rid of implicit snarfing, and instead makes selection the way you
	> select text for snarfing or plumbing. Select, then use a menu entry.
	>
	> It would probably be nice to have double click to expand the selection,
	> rio-style, along with plumbing implicitly taking the current word, but
	> that can be a separate patch.
	>
	> This change also punts on scrolling for simplicity -- it clears the
	> selection instead of trying to handle the cases where the selection
	> goes offscreen.
	
	little amendments:
	
	- fix line selection (point min/max inversion)
	- clear selection when switching linesel/blocksel
	- move selection on scroll

Hash:	4596959f3b59f1048556e6ca421a6b5141773ded
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Sep 1 14:11:46 +0100 2018

	ndb(8): ndb/inform also publishes ipv6 address now

Hash:	5a2c3580fc1b0ca53deb62c1b3e0391ce3895dd8
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Sep 1 14:08:40 +0100 2018

	ip/dhcpd: bring back interface address for arpenter()
	
	the arp table is per interface, so it is possible to have the same
	netwrok on multiple physical interfaces, tho with different source
	ip address. one example would be a ethernet and a wlan interface.
	the mac addresses on these mediums can differ (arp proxying taking
	place).
	
	so provide our source address on the interface we received the
	request on.
	
	the previous change used the ifcaddr; which is correct; but due to a
	oversight in the kernel, had to match the ip of the arp entry.
	source address will always work.

Hash:	4e61bc282c2869ae8442e356ffd2da3a3818dd51
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Sep 1 13:59:19 +0100 2018

	ip/dhcpd: add varargck pragma for warning() and fatal(), do syserr with %r format

Hash:	3fa5aaa1bcb9f1ba80e708aea3672fbf4b7f098d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Sep 1 13:53:38 +0100 2018

	ip/ipconfig: add varargck pragma for warning() function

Hash:	2d9147a33ce2bca64704d8da4f35b2f1468797d3
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Aug 31 21:39:46 +0100 2018

	rtl8169: fix receive for nuc BOXNUC7CJYH

Hash:	55e0fd603151867eac865be660767dcc4289ed87
Author:	qwx <devnull@localhost>
Date:	Fri Aug 31 17:01:21 +0100 2018

	dmid: add support for midi streams
	
	tested with a usb midi keyboard and a midi->usb adaptor

Hash:	67b24e6dac5e9544171beb86ef657b71b87f9f5f
Author:	mischief <mischief@offblast.org>
Date:	Fri Aug 31 00:23:36 +0100 2018

	nusbrc: add LG G5 for nusb/ether

Hash:	11d1947814614220a65bd5cfa7b2b891b7e25646
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Aug 30 20:17:54 +0100 2018

	arp: interface address only specifies the interface, not the source address for route lookup

Hash:	590bed4bf88b004942dba3c5917b24be50016b78
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Aug 29 23:05:00 +0100 2018

	merge

Hash:	b863253879268c658abd3e61c24cf27adc99a6c1
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Aug 29 23:03:07 +0100 2018

	ip/dhcpd: revert arpenter() changes

Hash:	82559c3fdcc8242a1a542a3b4d3076e133fd02a9
Author:	aiju <devnull@localhost>
Date:	Tue Aug 28 06:56:29 +0100 2018

	shift-jis: add support for half-width kana

Hash:	5c945a0b4891a20deeb023b3bd40dee5dda1aaff
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Aug 27 19:58:48 +0100 2018

	devip: fix router adv/sol options validation (options padded to 8 bytes)

Hash:	cff1ab5fdf116183845581953ee4d8e2665770d4
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Aug 26 22:05:45 +0100 2018

	ip/ipconfig: add missing {} as DEBUG() is a macro

Hash:	c35027e03deb38af50b6ac5ce26d7c808b7594d5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Aug 26 21:25:35 +0100 2018

	ip/ipconfig: check for recvra 0 on timeout

Hash:	52b773d635aa7ffefac5f1e64ed97c3d67d34e5f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Aug 26 17:36:35 +0100 2018

	ip/dhcpd: reject bogus requests, handle multiple ether= attributes in ndb, cleanup
	
	unless relay agent (gaddr) is specified, dhcp requests need to
	taget a local ip address on the incoming interface or broadcast.
	
	clients might have multiple ethernet interfaces, so we need to
	check if any of the ether= attributes in ndb matches. this is
	done by passing lookupip() the attribute name and a expected
	value and if a match is found, set Info.indb = 1.
	
	remove tohex(), use encodefmt instead. avoid dynamcic allocation.
	
	include interface device in log messages.

Hash:	5c326d9f3566be32af7b18d2638fd8d26b169e31
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Aug 25 20:44:08 +0100 2018

	devvga: disable cursor on shutdown avoiding graphics glitches on reboot

Hash:	82c08a8a4469c4b4ba515d74addc7aac747a17d9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Aug 25 14:10:26 +0100 2018

	ip/dhcpd: handle multiple networks on the same interface, dont get confused by v6 interface address

Hash:	4e938841f02de646d4e2e428453cbeede4051a57
Author:	mischief <mischief@offblast.org>
Date:	Tue Aug 21 19:31:45 +0100 2018

	igfx: support blanking by turning off panel power and backlight
	
	tested on t61, x200, x230, x301, t420, w520

Hash:	0c7fe8ae0679c3216cb145ee6ceb5f075af1bddd
Author:	Alex Musolino <alex@musolino.id.au>
Date:	Tue Aug 21 14:39:35 +0100 2018

	mothra(1): fix formatting

Hash:	3b7e03a30ed29ee0666c00568bf67b8179c28d12
Author:	mischief <mischief@offblast.org>
Date:	Tue Aug 21 10:02:46 +0100 2018

	lib: update pci database

Hash:	976d19960f00d3940ee9fbcceec54b7f92889654
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Aug 21 01:21:21 +0100 2018

	vncs: fix uninterruptable temporary warning

Hash:	b1b347a0f43414a86c98b436fac93e9a1789a317
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Aug 21 01:04:33 +0100 2018

	merge

Hash:	37cbd6b632c56f09c0c561cddc1c4e5645dd4269
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Aug 21 01:02:50 +0100 2018

	vncv: adjust window size on desktop resize, fix canresize checks

Hash:	56a2263aae5a239e7b2a3e02809d887b1e0842b2
Author:	mischief <mischief@offblast.org>
Date:	Mon Aug 20 20:51:29 +0100 2018

	vncs: shut up used and not set warning

Hash:	e1907b41d32441e79e8cc3db26afc5f0c4cdcef9
Author:	mischief <mischief@offblast.org>
Date:	Mon Aug 20 20:48:06 +0100 2018

	hjfs: set group of new files to that of the parent directory (thanks umbraticus)

Hash:	f8f677b48ebaf490c6d870e8728285bc409789c0
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Aug 20 18:25:58 +0100 2018

	merge

Hash:	d2089f949edd71626e2391672b723aa2d9fbcb9b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Aug 20 18:23:42 +0100 2018

	vncs: support for desktop resize extension, update devdraw

Hash:	4a120a381652668b7eb9313d9b8ca1835ddccb91
Author:	aiju <devnull@localhost>
Date:	Mon Aug 20 14:26:19 +0100 2018

	fix unbounded recursion bug in hjfs

Hash:	670137bf0a75813df93d9b727ce70ddb099d11e1
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Aug 19 21:00:45 +0100 2018

	devdraw: zero initialize DImage.dscreen pointer (vnc, drawterm)

Hash:	c8a71691b4a6c979673884b2a9bdef3e805c4e31
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Aug 17 23:03:14 +0100 2018

	vncs: fix mistake "screen" vs "gscreen", thanks eekee

Hash:	d263134394105c35eefe3b115b4acf5941d8e899
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Aug 16 19:34:46 +0100 2018

	vncv: handle [] enclosed literal ipv6 addresses in host

Hash:	43636dbb7f5dc5d116ae2773f68e3c828f72d4c2
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Aug 16 02:54:42 +0100 2018

	ip/ipconfig: make ra6 daemon less chatty, log to /sys/log/ipconfig instead of /sys/log/v6routeradv

Hash:	415ad3e7236aa6884cb3ad616a6fdf1408c63adc
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Aug 15 21:14:52 +0100 2018

	inst/startether: fix typo

Hash:	cd752a39f8b0b36378800740c0e5915beabfb56d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Aug 15 20:39:30 +0100 2018

	ipv6 autoconfiguration on ethernet
	
	for ip autoconfiguration, setup ipv6 link local addresses
	and do SLAAC in parallel to DHCP.

Hash:	ab4c0a012f4b57e9a9a2c084097c919a40029380
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Aug 12 21:39:44 +0100 2018

	ip/ipconfig: simplify by combining mklladdr() into mkclientid()

Hash:	9445f08788765dbcc763cc0eab598216cca97667
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Aug 11 15:19:32 +0100 2018

	ip/ipconfig: call mklladdr() to get conf.hwa initialized for ipv6

Hash:	e49f7fc1f7435de94a632fea0dc7753b58570eb8
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Aug 11 15:18:12 +0100 2018

	devip: fix multicastarp() when ipconfig assigned the 0 address
	
	sending multicast was broken when ipconfig assigned the 0
	address for dhcp as they would wrongly classified as Runi.
	
	this could happen when we do slaac and dhcp in parallel,
	breaking the sending of router solicitations.

Hash:	831291e5dd0877cc130f168a487531fd4a8c410b
Author:	mischief <mischief@offblast.org>
Date:	Fri Aug 10 16:08:38 +0100 2018

	sdloop(3): import sdloop driver (thanks erik)

Hash:	a8d747d994d2514cfddf4fe866a2c7ebd689af6d
Author:	mischief <mischief@offblast.org>
Date:	Fri Aug 10 15:46:13 +0100 2018

	valley: call srand so that actual random phrases are used

Hash:	b989e691cf2f5059ed057a37c7bf52f599433aaf
Author:	23hiro <23hiro@gmail.com>
Date:	Wed Aug 8 17:47:48 +0100 2018

	plan9.ini(8) iwlwifi essid/bssid misleading

Hash:	824b497fb399e0fe03375ba6de793c7c2a3a96b1
Author:	23hiro <23hiro@gmail.com>
Date:	Wed Aug 8 09:17:57 +0100 2018

	turkey simplified timezone (thanks erkin from 9front ml)

Hash:	45ce4de65064ffb0e8b1904118cea7e16528cffa
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Aug 7 22:46:58 +0100 2018

	nusb/ether: fix ethertype filtering

Hash:	445fc8e5a7ab20dc0613a6b1faedfe7f5183e7a9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Aug 6 22:14:59 +0100 2018

	merge

Hash:	abe463b931338e77095586052b66daade0428c95
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Aug 6 22:13:23 +0100 2018

	wifi: lilu dallas multirate
	
	now handle the supported rates element properly, only
	providing the intersecting set of rates that the bss
	advertises and what the driver supports, putting the
	basic rates first.
	
	also avoid using usupported rates.

Hash:	eb1be5b4df533c4e5100296fb042e274da435b5b
Author:	mischief <mischief@offblast.org>
Date:	Mon Aug 6 17:41:28 +0100 2018

	devaoe: really fix unit numbering, to be 0-based

Hash:	796c41092aeb76bbbb151b56865b0355080d97c1
Author:	mischief <mischief@offblast.org>
Date:	Mon Aug 6 16:50:40 +0100 2018

	devaoe: fix unit numbering for Qdevlinkdir
	
	a side effect of 3c77cd3ae664 changed the unit ordering to start at one, so fix the condition accordingly.

Hash:	0c036b4d4a5ec309155f44e2620ddced2054b674
Author:	mischief <mischief@offblast.org>
Date:	Mon Aug 6 16:47:07 +0100 2018

	ip(3): document ipifc ipv6 connection and fix delay formatting

Hash:	209a6b4b55101d58327830d7e1306dfb43ece531
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Aug 3 15:53:50 +0100 2018

	acme: pass pointer to int type to avoid pointer to int cast warning

Hash:	34b69979332825b78c50f37013d60cc2657f322f
Author:	spew <devnull@localhost>
Date:	Thu Aug 2 19:37:07 +0100 2018

	win: fix typo

Hash:	d5347274132c2790b42a7fbacec1969ea817f558
Author:	spew <devnull@localhost>
Date:	Thu Aug 2 19:21:19 +0100 2018

	win: bind the text file properly instead of a special case in "

Hash:	4757debd0b5935dae94944c35c3cac74b14aa209
Author:	spew <devnull@localhost>
Date:	Wed Aug 1 16:14:59 +0100 2018

	acme: add spacesindent mode

Hash:	2b619dc9669e34c7b110ce188a10d03849119c78
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Jul 31 17:33:42 +0100 2018

	etheriwl: add pci did for WifiLink 5300 (thans senthil)

Hash:	c4dd0f628262161b1d75e2113fc35ac86f11ec4a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jul 30 19:40:28 +0100 2018

	kbdfs: ignore first 16 scancodes (number row) in kbtabctl[] for control key reverse mapping

Hash:	36abc45f2895ebc6b02f746586e814349581579b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jul 30 01:21:28 +0100 2018

	vncv: implement extended DesktopSize extension, cleanup

Hash:	da5c0bada7be9dd82ca1f63e621670143597d3bb
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jul 27 08:31:28 +0100 2018

	dc: fix off by one in stack overflow check (thanks BurnZeZ)
	
	BurnZeZ → Found a bug in dc(1)
	BurnZeZ → Everything breaks when you fill the stack
	BurnZeZ → You have stkptr which crap expects to point to an available member in Blk *stack[STKSZ];
	BurnZeZ → stkend = &stack[STKSZ];
	BurnZeZ → stkptr is allowed to equal stkend
	BurnZeZ → So crap that expects stkptr to be pointing to an available Blk ends up dereferencing past the end of the array
	BurnZeZ → term% echo `{seq 1 100} f | dc
	BurnZeZ → dc 628283: suicide: sys: trap: fault read addr=0xffffe0000040a618 pc=0x204b1c

Hash:	6cd83e5d246753f2b8691dded4697f858a9cd513
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jul 26 01:48:00 +0100 2018

	audiohda: support Intel Sunrise Point-LP on thinkpad X1

Hash:	a8644d01c34febd6e709c8968fbb926c9115e6c1
Author:	qwx <devnull@localhost>
Date:	Wed Jul 25 04:02:46 +0100 2018

	add games/dpic and games/todpic

Hash:	416aed9b662ad9e7ffa9a0bd608b29a878676a7f
Author:	23hiro <23hiro@gmail.com>
Date:	Tue Jul 24 08:17:11 +0100 2018

	merge

Hash:	469bbab4609f4b3267536ab3060efbc36515e3f5
Author:	23hiro <23hiro@gmail.com>
Date:	Tue Jul 24 08:04:50 +0100 2018

	spelling

Hash:	d07fb3261f596766b47f868fc6c088ec8f286cd5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jul 23 18:29:15 +0100 2018

	devmouse: produce signed msec timestamp in /dev/mouse, accept unsigned on write

Hash:	34c7af22c16781bbe9e415a7c25ec54a32acff8a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jul 23 18:25:28 +0100 2018

	libdraw: accept unsigned msec timestamp in /dev/mouse

Hash:	0431ea242d8856c5a780ab3a01252f3909349a49
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jul 22 20:00:20 +0100 2018

	pc, pc64: look for "RSD PTR " in ACPI reserved memory region from e820 map
	
	nobody passes us the "RSD PTR " address when doing multiboot/kexec
	on UEFI systems. so we search for it manually in the ACPI reserved
	area as indicated in the e820 memory map.

Hash:	f4b9f0304dee1e94dbee35e30765f8a7349794ba
Author:	qwx <devnull@localhost>
Date:	Sat Jul 21 04:05:53 +0100 2018

	dmid: better fnumber calculation and fix fine tuning for 2nd voice

Hash:	2d6f9f4700f572f09c28994af05c32d9365bf2ad
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Jul 18 08:48:45 +0100 2018

	ssh: fix nil dereference when TERM isnt set and -r is requested

Hash:	ec5227f7f554d54c04258a17bc2bed433cccb4ab
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jul 16 22:55:45 +0100 2018

	merge

Hash:	00622d4d2b47d949de0894febdc149ed203130ea
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jul 16 22:54:23 +0100 2018

	ndb/dns: fix delegation with norecursion (-R flag)
	
	when the question zone is in a delegated area, we still
	need to provide the nameservers.

Hash:	37b560e50f263b3342a8f8933c3c836272786a4e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jul 16 00:36:35 +0100 2018

	merge

Hash:	0d7bbda9b93e4af3c512f835cc502a7e9a60c359
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jul 16 00:35:02 +0100 2018

	devmnt: make sure auth chan is on said conection in mntattach()

Hash:	e7b1c1aad896c131fb30b6b0836ff65a63a6eae3
Author:	qwx <devnull@localhost>
Date:	Sun Jul 15 05:31:45 +0100 2018

	doom: use wadfs to expose music lumps
	
	launch wadfs after detecting main wad, exposing GENMIDI and music lumps
	under /mnt/wad.  /bin/dmus can then use them directly, and wadfs doesn't
	need to be started manually.

Hash:	51b0b0235b32e39b5a71ac440f7ccb679f44c43f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jul 14 16:20:49 +0100 2018

	bootrc: write fatal error message to fd2

Hash:	1a751a59393ad696cdd7f6db882e3d0118e0b54e
Author:	23hiro <23hiro@gmail.com>
Date:	Sat Jul 14 19:40:26 +0100 2018

	cwfs -a option misleading

Hash:	74f6b4e502fc2a43ec652596c36bb48422081775
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jul 14 16:19:41 +0100 2018

	screenrc: bind '#v' when not already done (for cpu servers)

Hash:	c5559504cd0b70d18b44c75b20912d4fea1f9511
Author:	mischief <mischief@offblast.org>
Date:	Fri Jul 13 21:44:57 +0100 2018

	ndb/dnsgetip: report errors when dns resolution fails

Hash:	96e511d736ca4f18b70312980591014199afeb1a
Author:	qwx <devnull@localhost>
Date:	Thu Jul 12 08:33:33 +0100 2018

	add games/dmid and games/opl3

Hash:	1e3790f7b5a7d5a01d63afe3956b36fa2d11ed0c
Author:	qwx <devnull@localhost>
Date:	Thu Jul 12 08:25:04 +0100 2018

	wadfs(4): fix typo

Hash:	d16a96daca1d72af31577a4d5a3e95a937fd87dc
Author:	aiju <devnull@localhost>
Date:	Wed Jul 11 16:05:03 +0100 2018

	pc64: update headers to match pc

Hash:	6b0de3de8e935098b7bd0c09efc476d63a7a236e
Author:	aiju <devnull@localhost>
Date:	Wed Jul 11 15:12:24 +0100 2018

	pc: fix ugly and partially broken switch() statement

Hash:	3a77c01f43821dcc4f7cae54aff89bb20f2d95a5
Author:	aiju <devnull@localhost>
Date:	Wed Jul 11 14:50:22 +0100 2018

	pc kernel: get rid of ugly and partially broken cpuid macros

Hash:	911df94e5d712d7e2eebb4a3997efce17e2599f2
Author:	aiju <devnull@localhost>
Date:	Wed Jul 11 12:23:48 +0100 2018

	asaudit: make error more explicit

Hash:	83de8c0f5f1db32c1f68f8337566fcd1fd171e8f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Jul 11 09:17:04 +0100 2018

	authsrv: log message when no AES key is found for pak

Hash:	4e04e03142a4e43c208dcf62ca165ad3a05dcc96
Author:	qwx <devnull@localhost>
Date:	Tue Jul 10 22:26:17 +0100 2018

	midi: properly skip sysex messages
	
	this fixes playing any midi files containing such messages
	example: prince of persia midis from vgmpf wiki

Hash:	24611cf5ed0f34edc6b843a621b63b710f51570a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Jul 10 18:57:55 +0100 2018

	ndb/cs: add -6 flag for v6 only lookups and "ipv4" control message to toggle v4 lookups.

Hash:	a8a642920444ec6689ccfae81a1b1e148f75190e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Jul 10 08:11:19 +0100 2018

	devip: make il connect fail quickly when theres no route

Hash:	9898aafa0c1212b6c4aee99cb6b9f8280e88e5af
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jul 9 00:32:21 +0100 2018

	devip: don't pad the tag for routing commands (fixes removing routes with < 4 character tags)

Hash:	8fd222c1575da1fdebc6906799476c953c8f6cf5
Author:	Alex Musolino <alex@musolino.id.au>
Date:	Sun Jul 8 03:48:06 +0100 2018

	upas/smtp: use current login id in absence of -u option (as per man page)

Hash:	259a31e59baf7a3e29b7d62d59822b9114b3f805
Author:	Alex Musolino <alex@musolino.id.au>
Date:	Sun Jul 8 03:35:42 +0100 2018

	upas/smtp: allow remote port to be set to something other than smtp (e.g. ssmtp)

Hash:	e181b7e40532f8cfc4d0d92d1d7ef437227bf281
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jul 7 20:10:38 +0100 2018

	kbdfs: handle mouse control (Kmouse, Kshift button swap) in parallel, bring back ^X form handling

Hash:	cc5d74262cfdb12220874e6b5ae78472fe9ab4ba
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jul 7 16:11:51 +0100 2018

	vncs: silence devdraw debug prints

Hash:	77ca4e0056efaaa2caa6086c047af257a2ba3517
Author:	spew <devnull@localhost>
Date:	Tue Jul 3 19:41:14 +0100 2018

	ape: fix MAXSIG

Hash:	ede15f38e5f4d47bd6348a119e408a61913d0229
Author:	spew <devnull@localhost>
Date:	Tue Jul 3 17:28:05 +0100 2018

	ape: remove getitimer setitimer implemenations

Hash:	ac891003ea8e1220d4bc79d8bb8ea56564703179
Author:	aiju <devnull@localhost>
Date:	Tue Jul 3 08:22:19 +0100 2018

	games/mines: add missing checks for UseGhost

Hash:	2e05af858ec745ffc174e503148ef7928f697c22
Author:	spew <devnull@localhost>
Date:	Mon Jul 2 04:35:23 +0100 2018

	ape: improve setitimer

Hash:	91d03436276fd2239670fdea902c761f31ea7a72
Author:	spew <devnull@localhost>
Date:	Sun Jul 1 23:48:12 +0100 2018

	ape: an implemenation of getitimer setitimer

Hash:	9dc907361c8398c714fed81a65cd447803ae1a8d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jun 28 19:14:43 +0100 2018

	hgfs(4): fix typo (thanks piroko)

Hash:	899ec4d0b568a6d51a85e5344733a2189a7ba1ec
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jun 28 19:10:11 +0100 2018

	ssh: wait for remote channel close (thanks piroko)

Hash:	2f1b8246e23f8d3e88885822efcf25f3b4474bff
Author:	23hiro <23hiro@gmail.com>
Date:	Wed Jun 27 18:20:28 +0100 2018

	Persist 'k' command in mothra and add matching -k flag (thanks piroko)
	
	"I sometimes find myself on either slow or data-capped network links where downloading images isn't ideal. Attached is a simple patch to mothra that changes the 'k' command to not only remove already-downloaded images from a page, but also toggle a state such that mothra won't attempt to download images on future visited sites until 'k' is toggled again. This also adds a '-k' flag to mothra which enables the flag at startup." --Jeremy O'Brien<neutral@fastmail.com> on 9fans

Hash:	902eceee63f5132f315db1a15ecce95af51359df
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Jun 26 18:30:52 +0100 2018

	ndb/dns: fix encoding of srv record target
	
	the target has to be encoded as a domain name (the individual
	name components as separate labels followed by . (empty) label),
	not as a literal string.
	
	to disable compression, pass nil dictionary to pname().

Hash:	deae5c854b4dbefd0616838074bf5a475208fde1
Author:	qwx <devnull@localhost>
Date:	Tue Jun 26 09:35:23 +0100 2018

	mus: fix note volume and channel selection; simplify
	
	- fix overwriting channel 10 with channel 9
	- fix using channel volume instead of last volume when setting note
	  (fixes d_doom and others)
	- remove useless state

Hash:	07b237b10ccfd5bf95681601a6c6762c306cabea
Author:	mischief <mischief@offblast.org>
Date:	Mon Jun 25 23:58:52 +0100 2018

	/sys/lib/dist/ndb/common: synchronize root servers and link to root hints source

Hash:	65e0e1c3e37c966d0c18178ad8a4c54c0c0fbce9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jun 24 20:54:21 +0100 2018

	merge

Hash:	8f1eb1ac77640d9cd189c49fe48af8cde65eceb1
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jun 24 20:52:17 +0100 2018

	webfs: don't handle unknown status codes as continuations, reset status when handling continuation to avoid infinite loop

Hash:	0da9e3a7f508a0b47fa71abc3585066100c6ccbf
Author:	qwx <devnull@localhost>
Date:	Fri Jun 22 13:49:18 +0100 2018

	gba: handle 8bit writes to vram
	
	ignore 8bit writes to obj and oam, and duplicate bits for bg and palette
	memory, as per gbatek.
	
	thanks aiju for helping with the implementation.

Hash:	f554155ed0aeb0d11c30f8c501540a32a848ad32
Author:	mischief <mischief@offblast.org>
Date:	Fri Jun 22 03:02:46 +0100 2018

	stats(8): document -z flag (thanks xcko)

Hash:	55c122d59f504ae48f834b3299484ef4f56283d6
Author:	spew <devnull@localhost>
Date:	Thu Jun 21 16:56:37 +0100 2018

	ape: add strnlen

Hash:	3b376b43af24f8013d330eb2eb9c3b78849bb7c3
Author:	spew <devnull@localhost>
Date:	Thu Jun 21 03:19:37 +0100 2018

	ape: provide bogus chroot implementation

Hash:	8dd003eb04aacf13c4a3a3123269a980c03504f9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Jun 19 20:17:15 +0100 2018

	devip: fix flush, copy tag when replacing route entry

Hash:	1de2698dc824b995781c8525e85b4445d0648a04
Author:	Alex Musolino <alex@musolino.id.au>
Date:	Mon Jun 18 04:41:03 +0100 2018

	play(1): handle file names containing consecutive spaces

Hash:	583c6d269b4589be4d3b711b56ccf51d89414215
Author:	spew <devnull@localhost>
Date:	Sun Jun 17 22:38:00 +0100 2018

	ape: add some common fields for stat, grp and pwd

Hash:	0763dd42793dea2023e0f345f647af9932486841
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jun 14 20:54:42 +0100 2018

	zunq: add sdram driver

Hash:	4971db9e32dadf72dff6df6293774df2a4f57a89
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jun 14 19:48:21 +0100 2018

	udp: fix udp checksum
	
	we did not apply the special case to store 0xFFFF (-0)
	in the checksum field when the checksum calculation
	returned zero. we survived this for v4 as RFC768 states:
	
	> If the computed checksum is zero, it is transmitted as
	> all ones (the equivalent in one's complement arithmetic).
	>
	> An all zero transmitted checksum value means that the
	> transmitter generated no checksum (for debuging or for
	> higher level protocols that don't care).
	
	for ipv6 however, the checksum is not optional and receivers
	would drop packets with a zero checksum.

Hash:	39fb26df70b6d8878953ff18046cdc12817a2e42
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jun 14 19:22:34 +0100 2018

	9pc, 9pc64: make mapalloc() and mapfree() static in memory.c

Hash:	5c87dfb9d5db3b6c93c30910f72d00bb1e5e326e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jun 14 00:12:46 +0100 2018

	merge

Hash:	a9a92cab485e365d9f9d115a9812181a44ce31e3
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jun 14 00:10:52 +0100 2018

	stats: fix crash with -Y fag when window too narrow

Hash:	4d496b3c7ac69d094e4beb02e6426f47bc357e9a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Jun 13 23:08:46 +0100 2018

	merge

Hash:	de9141bc6d0d0d51abc39cd6b7e199c9ddf18010
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Jun 13 23:07:45 +0100 2018

	devip: don't send arp requests from null address
	
	during dhcp, ipconfig assigns the null address :: which makes
	ipforme() return Runi for any destination, which can trigger
	arp resolution when we attempt to reply. so have v4local()
	skip the null address and have sendarp() check the return
	status of v4local(), avoing the spurious arp requests.

Hash:	71ce6f53a431962a3dc17947deb1ff8336f37d13
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Jun 13 17:58:17 +0100 2018

	devip: reject incompatible multicast/interface ip address pairs for ipifcaddmulti()

Hash:	21a221129af5d0599023149734ba040fea41719c
Author:	aiju <devnull@localhost>
Date:	Wed Jun 13 16:05:31 +0100 2018

	sysinfo: minor formatting fix

Hash:	e4b842056c1b63bafae9b5b1347366955b757730
Author:	qwx <devnull@localhost>
Date:	Wed Jun 13 13:14:25 +0100 2018

	emulators ui: don't drink and code

Hash:	09c61204440ea7d23015b09f908e4105b68cc7b6
Author:	qwx <devnull@localhost>
Date:	Wed Jun 13 13:05:19 +0100 2018

	emulators ui: add option for fixed factor scaling and bound scale vertically

Hash:	382c9ef92cf0830f5639906ffd5f363ecefd670a
Author:	mischief <mischief@offblast.org>
Date:	Wed Jun 13 12:59:14 +0100 2018

	stats: read cputemp as C, set scale max to 100 C

Hash:	9fbce3b1b4fba5b302aff49b6b769ecdcae59faa
Author:	aiju <devnull@localhost>
Date:	Wed Jun 13 10:52:41 +0100 2018

	games/gb: attempt at fixing sprite priority

Hash:	5d202d345616907d511b46e395226958fe66a2c3
Author:	aiju <devnull@localhost>
Date:	Wed Jun 13 10:26:55 +0100 2018

	games/gb: fix mbc5 register addressing (fixes warioland3 gamebreaking bug)

Hash:	8fdd633d57778af2e7fc01115e67f3735e553244
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Jun 12 19:31:39 +0100 2018

	devip: fix missing wunlock() for "ipifc not yet bound to device" case, don't create multicast entry on error

Hash:	55b73cbbbf687f8ec40273a3780d72bedb37f818
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Jun 12 18:50:04 +0100 2018

	ip/dhcp6d: don't drink and code

Hash:	b9b6fcd85fc186e3f7f9cc780272137499a9b3a1
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Jun 12 18:36:31 +0100 2018

	ip/dhcp6d: only announce all-dhcp-servers multicast address on interface with link-local address on it

Hash:	fca2c1cb3192fa149fc5f41646959ea2bdc5806c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Jun 12 18:29:38 +0100 2018

	/sys/src/mkfile: add libttf

Hash:	1c862bd24ed0af15f2797d1193739685fda2d61c
Author:	Alex Musolino <alex@musolino.id.au>
Date:	Tue Jun 12 11:34:16 +0100 2018

	upas/nedmail: marshal(1) options -n and -8 are mutually exclusive

Hash:	232382bfc14f0493705ef1e64a87a879f148c321
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jun 11 18:32:44 +0100 2018

	ip/dhcp6d: ignore short and from non-local source packets

Hash:	71402b2ea15d0e2bf939b6e095ad56fa14ab2d0a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jun 11 02:19:42 +0100 2018

	devip: fix use after free in ipifcremmulti()
	
	closeconv() calls ipifcremmulti() like:
	
		while((mp = cv->multi) != nil)
			ipifcremmulti(cv, mp->ma, mp->ia);
	
	so we have to defer freeing the entry after doing:
	
			if((lifc = iplocalonifc(ifc, ia)) != nil)
				remselfcache(f, ifc, lifc, ma);
	
	which accesses the otherwise free'd ia and ma arguments.

Hash:	94f6f89ac1e8731a27c38b54b54348bc063fb6c3
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jun 11 02:14:28 +0100 2018

	devip: do not icmp reply on multicast destination

Hash:	d497eb2d2f88e3ae7fd7b2a4594aededed75468e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jun 10 21:48:51 +0100 2018

	dhcp6d: make constants for message types, check server identifier in request, only recheck ndb every minute

Hash:	a3f3e31b204821b31891c91dbb4266a03c82bf0b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jun 10 21:08:57 +0100 2018

	dhcp6d: add minimal stateless DHCPv6 server for network boot and DNS configuration

Hash:	eed90aa0ad7ac012d9f1abe638074156654d81ef
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jun 10 18:47:21 +0100 2018

	kernel: don't cap the minimum sleep time to TK2MS(1) for syssleep()
	
	on HZ 100 systems like pc and pc64, the minium sleep time
	was 10ms, which is quite high. the cap isnt really needed
	as arch specific timerset() enforces its own limit, but on
	a higher resolution.
	
	background:
	
	from Charles Forsyth:
	
	I haven't really got an opinion on it. The 10ms interval was first used on
	machines that were much slower.
	I thought someone did set HZ to a bigger value, partly to support better
	in-kernel timing. I haven't done it because I never had a need for it.
	If I were doing (say) protocol implementation in user mode, I'd certainly
	reconsider. Sleep itself forces at best ms granularity,
	and for some applications that's too big.
	
	initial mail from qwx raising the issue:
	
	> Hello,
	>
	> I found out recently that sleep(2)'s resolution on 386 and 9front's amd64
	> kernel is 10 ms rather than 1 ms.  The reason is that on those kernels,
	> HZ is set to 100 rather than say 1000.  In syssleep, we get 1 tich every
	> 10 ms.
	>
	> What is unclear is why.
	>
	> To paraphrase cinap_lenrek's answer to my question:
	>
	> In syssleep:
	>                 if(ms < TK2MS(1))
	>                         ms = TK2MS(1);
	>                 tsleep(&up->sleep, return0, 0, ms);
	>
	> "TK2MS(1)" can be replaced with just "1", and the arch specific
	> timerset() routine would do its own capping of the period if it's too
	> small for the timer resolution, and make better decisions based on what
	> the minimum timer period should be given the latency overhead of the
	> given arch's interrupt handling and performance characteristics.
	>
	> Alternatively, HZ could be raised to 500 or 1000.
	>
	> It seems it's just trying to prevent excessive context switches and
	> interrupts, but it seems somewhat arbitrary.  A ton of syscalls can be
	> done in 1 ms, and it's the lowest we can go without changing the unit.
	>
	>
	> What do you think?
	>
	> Thanks in advance,
	>
	> qwx

Hash:	ce9d09a9650d2903d0dca659669cce14d68bd95b
Author:	aiju <devnull@localhost>
Date:	Sat Jun 9 15:55:32 +0100 2018

	libttf: add missing file impl.h

Hash:	3b63c5a73fb86d17bede0eaa87130b2446c41ef9
Author:	aiju <devnull@localhost>
Date:	Sat Jun 9 15:34:44 +0100 2018

	add ttfrender(1)

Hash:	db71e19005574388bdc368081848327a5c104e5a
Author:	aiju <devnull@localhost>
Date:	Sat Jun 9 15:33:19 +0100 2018

	add libttf

Hash:	198f10bb25382882c4abd9081dac4dd74dbdbb9f
Author:	qwx <devnull@localhost>
Date:	Sat Jun 9 06:12:43 +0100 2018

	snes: fix input botch 2

Hash:	54ac2c28712e64c895679cd09e90dbe8c1288407
Author:	qwx <devnull@localhost>
Date:	Sat Jun 9 06:08:43 +0100 2018

	snes: fix input botch

Hash:	9a7b1b57b66a7803182ad85e31ea2599b3b181ea
Author:	mischief <mischief@offblast.org>
Date:	Fri Jun 8 17:48:31 +0100 2018

	mklib: add %.acid target

Hash:	59994e1bebd12bba947be94b4625520759045b8c
Author:	mischief <mischief@offblast.org>
Date:	Fri Jun 8 17:37:39 +0100 2018

	avl(2): add avlmin/avlmax in synopsis

Hash:	ff1a1e63a897e01578de27fa6bf41b2c8793e23e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jun 3 22:46:47 +0100 2018

	getuser(2): add source or sysname()

Hash:	56ffc907ac25b28e3640a2d1ef5b61df90f0b700
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jun 3 22:33:35 +0100 2018

	kernel: stop the practice of passing DMDIR to devir() perm argument
	
	devdir internally replicates the qid in ther perm stat field
	already and the practice of explicitely passing just causing
	confusion when done inconsistently.

Hash:	8c70c09bfdfb5857e60e2455642603a883847c14
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jun 3 22:30:57 +0100 2018

	devaoe: fix dotdot walk in devlinkdir, make perms consistent

Hash:	a2623fd82a1a49ee588b1ff14b0aa472d30a5ee2
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jun 3 22:30:05 +0100 2018

	devenv: make #ec files not show up as world writable

Hash:	182077ac24010f8065755ea903bf57c829b0220a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jun 3 19:52:10 +0100 2018

	ip/dhcpd: parseip() error handling, make sure client ip is ipv4, add explicit length arguments to lookupname() and lookupserver()

Hash:	0cf8a0c4a8fb8a13ed46e1007dc65124248e5cab
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jun 3 19:31:48 +0100 2018

	ip/ipconfig: use ipmove() instead of memmove()

Hash:	1f367e15dd5f42f1969ca9f681811e62bfe76316
Author:	aiju <devnull@localhost>
Date:	Sat Jun 2 08:49:37 +0100 2018

	fix incorrect character range in vga/unicode.font leading to missing CJK characters

Hash:	55edec2b8a9cdb40176a8e278a32ade57a6bd092
Author:	aiju <devnull@localhost>
Date:	Sat Jun 2 01:02:29 +0100 2018

	tcs: support EUC-JP JIS X 0212 codes

Hash:	5db80edcd16092125f53ec247433eb14919982f9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jun 1 22:54:44 +0100 2018

	merge

Hash:	7113f730dec2aba58935fdf0eb2b13ad58e63a69
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jun 1 22:53:09 +0100 2018

	ndb/cs: make ipv6 only host practical by checking ip version on local interfaces
	
	avoid returning ip addresses that cannot be reached due
	to lack of a compatible ip address. this means when here
	is no ipv4 address configured, we wont return ipv4 addresses
	and would not query dns for an A record.
	
	likewise, when here is no ipv6 address configured then
	we wont query dns for an AAAA record.
	
	ipv6 lookups can still be disabled with the -4 flag just
	as before.

Hash:	50b36c5112a50a8ccb935519ff3e4d9ec38941b9
Author:	qwx <devnull@localhost>
Date:	Thu May 31 04:11:33 +0100 2018

	doom: don't set repl if scale is 1

Hash:	16c87febd3875c4b0c9648c681735be3de8358bd
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue May 29 21:50:04 +0100 2018

	sdram: properly support multiple ramdisks, so that ramdiskX corresponds to sdZX

Hash:	f1eb657db0a782614d8f7bb8805a406df0f8e676
Author:	qwx <devnull@localhost>
Date:	Tue May 29 04:28:31 +0100 2018

	emulators ui: don't call flushmouse twice

Hash:	3d0ebdc439039f1e01ee5fa0f75b1de1a12c12f1
Author:	spew <devnull@localhost>
Date:	Tue May 29 00:38:33 +0100 2018

	6c, 8c: Fix nocast cast bug which prevents address arithmetic from being computed at compile time

Hash:	6b22a732e80cfbb28db8d707d5938141abf63a79
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun May 27 22:05:00 +0100 2018

	merge

Hash:	8f9642a5148f44771dd7c9e029885bb9cf45a303
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun May 27 22:03:38 +0100 2018

	9boot: detect SYSLINUX "memdisk" and pass to kernel via ramdisk0= parameter
	
	this makes virtual "memdisk" from SYSLINUX accessible to
	the kernel, allowing the iso to be loaded via TFTP and
	started without any ethernet or disk drivers available.

Hash:	5da4f0fc0f55b43815adbdbc8f2e0e26eaac84e6
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun May 27 21:59:19 +0100 2018

	sdram: experimental ramdisk driver
	
	this driver makes regions of physical memory accessible as a disk.
	
	to use it, ramdiskinit() has to be called before confinit(), so
	that conf.mem[] banks can be reserved. currently, only pc and pc64
	kernel use it, but otherwise the implementation is portable.
	
	ramdisks are not zeroed when allocated, so that the contents are
	preserved across warm reboots.
	
	to not waste memory, physical segments do not allocate Page structures
	or populate the segment pte's anymore. theres also a new SG_CHACHED
	attribute.

Hash:	52698c726c4838a7e2eb9477d53c68b12206b926
Author:	aiju <devnull@localhost>
Date:	Sun May 27 12:22:23 +0100 2018

	sshfs(4): language

Hash:	6c44dbe4fd020f6aaff79334fdd74e31511b76e0
Author:	aiju <devnull@localhost>
Date:	Sun May 27 12:09:01 +0100 2018

	sshfs(4): don't drink and troff

Hash:	41013392a1077d5e0171b75cdf1864cd9492e6b6
Author:	aiju <devnull@localhost>
Date:	Sun May 27 12:06:07 +0100 2018

	sshfs(4): replace the much maligned -r option

Hash:	2b5dfee06cc6a7b915d6b7fe7cfe2942a660cde0
Author:	aiju <devnull@localhost>
Date:	Sat May 26 18:17:41 +0100 2018

	Bfn improvements

Hash:	1ddf581f8c820af6316f55e246fac3ceb29191f0
Author:	spew <devnull@localhost>
Date:	Fri May 25 00:31:55 +0100 2018

	cc: fix result of operation not used warning for void casts

Hash:	434fc6a1c4911922014b7fb8f5e9de278424fa97
Author:	aiju <devnull@localhost>
Date:	Thu May 24 15:42:43 +0100 2018

	dc(1): add pi program as example

Hash:	1984f6813cc216e3c98e402ce3f381a531faf1b1
Author:	aiju <devnull@localhost>
Date:	Thu May 24 13:41:08 +0100 2018

	merge

Hash:	be3809866ce89d2dcac0b02f2ec7b49b5393cb56
Author:	aiju <devnull@localhost>
Date:	Thu May 24 13:40:44 +0100 2018

	ape: floating point improvements (thanks spew)

Hash:	ad7390dda820db424821b19c572a44b4cc0838e8
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed May 23 18:44:12 +0100 2018

	ndb/dnsdebug: handle .ip6.arpa names

Hash:	03ced8cca1c2c2911ba64e937af8436658d126d5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed May 23 18:43:45 +0100 2018

	ndb/dnsquery: handle .ip6.arpa names, don't mount the dns service

Hash:	d5c906f51587975420b94c5a21aead9152864f18
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue May 22 00:53:15 +0100 2018

	ip/tftpd: deal with block wrap arround

Hash:	66eac7d687219c71a9e3482f80b62de8b3693423
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon May 21 18:23:54 +0100 2018

	pc64: fix fpu bug
	
	fpurestore() unconditionally changed fpstate to FPinactive when
	the kernel used the FPU. but in the FPinit case, the registers are
	not saved by mathemu(), resulting in all zero initialized registers
	being loaded once userspace uses the FPU so the process would have
	wrong MXCR value.
	
	the index overflow check was wrong with using shifted value.

Hash:	930efe67e81635e632f1e6f93e1c56499c79a55f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun May 20 22:22:41 +0100 2018

	ape: fix auth.h

Hash:	e69cde312084f383a346f98f9d7edd42b27e2aef
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun May 20 21:59:24 +0100 2018

	authsrv: implement AuthNTLM

Hash:	87617ea25eecdb3a0e0834786ac5b9dc20f1d59d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun May 20 21:50:50 +0100 2018

	merge

Hash:	6e19d19285dddcd3c8f2a6b031fc0f0324b3e48b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun May 20 21:49:24 +0100 2018

	separate MSCHAP(v2) and NTLM(v2) authentication
	
	due to linux omiting the final Z(4) in the NTLMv2 reply, and
	the need for the windom for LMv2 authentication, here is a new
	AuthNTLM ticket request now with length and dom fields.

Hash:	2e717a555727bef3c08450576426c2a1d7b07dda
Author:	qwx <devnull@localhost>
Date:	Sun May 20 15:47:41 +0100 2018

	camv: fix leak on resize

Hash:	1f8d347c92a948bafde638c4864bc46096058dd3
Author:	aiju <devnull@localhost>
Date:	Sun May 20 10:14:16 +0100 2018

	fplot: draw axes; zoom more naturally; unzoom

Hash:	40f6e00b9c4b0f5bdca1cc7caf27af23a6b10786
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun May 20 02:48:33 +0100 2018

	ip/cifsd: limit response data count in TRANS2 for remotebuffersize, avoid empty filename for the root

Hash:	e684b2a3fbd7d077ba4dabbd7fb4c7d1ff09c30c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun May 20 00:37:38 +0100 2018

	authsrv: work arround linux omiting final Z(4) after the AvrPairs

Hash:	bf86c9b4e19cc829db95de26d472f75a594428c0
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat May 19 22:15:22 +0100 2018

	dontkill: explicitely set exit status to ''

Hash:	58aba2a67fa6b8a7a4527f3545be3551e37b7cc0
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat May 19 15:40:01 +0100 2018

	cifsd: fix ntlmv2 authentication
	
	in ntlmv2, the client will retry the challenge response trying a bunch
	of different domain names assuming the same server challenge. so we have
	to make retries work with factotum and the auth server.
	
	also, windows 7 with compatlevel=4 sends all zeros LM response.

Hash:	a59aa24a94f84afd0fe52c28896d24de4becef54
Author:	spew <devnull@localhost>
Date:	Sat May 19 02:39:19 +0100 2018

	merge

Hash:	9360415d569515e7e3b212e5ca3416e766e32bec
Author:	spew <devnull@localhost>
Date:	Sat May 19 02:36:33 +0100 2018

	ssh:add -r for extra raw mode

Hash:	530ab11783fc11f57b8f44015d69bee93125e09f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed May 16 20:43:29 +0100 2018

	merge

Hash:	6e284eaad57843950a54f44f02f920216dd3fc88
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed May 16 20:41:42 +0100 2018

	ndb/cs: prevent deadlock with ndb/cs by mounting /srv/dns *AFTER* /net
	
	the dnsquery() library function should not start mouting /srv/dns on
	its own. this problem arrises only for ndb/cs as it is started before
	ndb/dns.
	
	the issue with mounting /srv/dns before /net is when ndb/cs attempts
	to read the list of interfaces, accessing /net/ipifc, which triggers
	a rpc to ndb/dns as it is ontop of the mount. this can yield a deadlock
	when ndb/dns blocks its 9p loop waiting for requests to complete on
	a refresh and the requests are stuck waiting for ndb/cs to translate
	a dial string for announce().

Hash:	b8430d53957d134d37e7b8298c36dd40fe459a08
Author:	aiju <devnull@localhost>
Date:	Tue May 15 16:19:28 +0100 2018

	sshfs: if we're going to annoy everyone we should at least match documentation

Hash:	5c2b4dfc8173355629e70a6437ccfc378f0bf757
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue May 15 01:18:50 +0100 2018

	9boot: DHCPv6 support for efi

Hash:	c83a6f9c00cafdafa103650012ff76093ead3d26
Author:	qwx <devnull@localhost>
Date:	Mon May 14 19:49:08 +0100 2018

	emulators ui: fix input botch and typo

Hash:	7e33a75e36a301043ea4b6048d05cace106e3519
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon May 14 18:19:50 +0100 2018

	merge

Hash:	c9bb6f68ebdfcdb4682aa2eb7d16419863768449
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon May 14 18:18:13 +0100 2018

	devip: don't set mtu of interface to zero when not specified (thanks joe9)
	
	change 9f74a951ae6a introduced a bug that set the mtu of a new
	interface to 0 when not specified in the add ctl.

Hash:	a4b93e543be46b4b6c7a8bf639f585501b0dd712
Author:	qwx <devnull@localhost>
Date:	Mon May 14 14:17:54 +0100 2018

	drop your /lib/keyboard sir william, I cannot wait till lunchtime.

Hash:	2e369f0d1fad5f38c44ed13109f74cdd6ab535f2
Author:	aiju <devnull@localhost>
Date:	Mon May 14 14:01:00 +0100 2018

	merge

Hash:	b7a4dab54ab89f9cd62f3a31166cff553450cd28
Author:	aiju <devnull@localhost>
Date:	Mon May 14 13:51:09 +0100 2018

	My /lib/keyboard explodes with delight!

Hash:	f44cfeb7d7519a18140a043fbf2b5eed243153fc
Author:	BurnZeZ <devnull@localhost>
Date:	Sun May 13 20:58:16 +0100 2018

	audio/pcmconv: fix accidental cast to float instead of double

Hash:	0e5888a0cf993c89e4d52fd80b07990993e5abac
Author:	aiju <devnull@localhost>
Date:	Tue May 8 09:28:48 +0100 2018

	add usb tablet support

Hash:	19d6a98038953b27f539e1fd2187b7cfec9b108d
Author:	qwx <devnull@localhost>
Date:	Sun May 13 06:13:00 +0100 2018

	ape: add signed fixed size integer typedefs to u.h

Hash:	88537cfe9b483846ccd7367c81fde5dcfe16a4d5
Author:	qwx <devnull@localhost>
Date:	Sun May 13 06:01:47 +0100 2018

	demote libemu to common code
	
	- too small, nothing else that won't be under /games will use it
	- "libemu" as a name doesn't make sense here

Hash:	abf8c8bf2cd27541d6a102f7c0385c3fe281f578
Author:	qwx <devnull@localhost>
Date:	Sat May 12 18:21:48 +0100 2018

	add port of aiju's port of games/2600

Hash:	1195ca910c393e542d6aa23035fa75719af1107e
Author:	qwx <devnull@localhost>
Date:	Sat May 12 18:20:53 +0100 2018

	add libemu
	
	move redundant code from emulators to a common library

Hash:	70c7a9eb07516843da083b6231d55a07d28b9350
Author:	qwx <devnull@localhost>
Date:	Sat May 12 18:19:52 +0100 2018

	add signed fixed size integer typedefs

Hash:	2728e065895e7af2493ed7af3b8897caa416adf6
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri May 11 21:37:28 +0100 2018

	ndb/dns: lookup *all* entries in dblookup(), v4 and v6 queries in parallel, remove weigthed timeouts
	
	dblookup() used to only return the first matching entry. in
	case of ipv6, we want all entries returned to get both v4
	and v6 addresses... and these might not neccesarily be in
	the same entry (see /lib/ndb/common). note also this makes
	it behave the same as in cachedb mode which reads in the
	whole database.
	
	we do not know if v4 or v6 routing works, so the simplest
	is just to query v4 and v6 nameservers in parallel. this is
	done by changing serveraddrs() to return one address type,
	and we make sure to get at least one v4 and one v6 address
	each round.
	
	get rid of the weigthed timeout code... there where too many
	assumptions. instead, we give a round 500ms timeout (or 1 second
	in patient mode) and honor the maximum query time.

Hash:	d5cf062e7a0e3a6b2c2939c7615ffd722cdbf1a8
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri May 11 15:16:37 +0100 2018

	merge

Hash:	4c9cbe484d8bbade0a44ba1d26044077cae44fee
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri May 11 15:15:08 +0100 2018

	fix manpage cross references

Hash:	f428a5daaa64241f71f2221fbdd98ba48307efc2
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu May 10 18:46:38 +0100 2018

	libplumb: fix plumbunpackpartial()
	
	- *morep was not set in error cases
	- attr and ntext could be leaked

Hash:	fcb974af3a3b9747083b618fb6be7a4e70df3201
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu May 10 18:38:01 +0100 2018

	merge

Hash:	eb3951bcd48399d4d7239a9d396a113e95e38be9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu May 10 18:36:14 +0100 2018

	ppp: set source specific default route regardless of primary flag, set link speed thru new ctl message when -b is specified

Hash:	298f2396957bea59cf0985227a6dd903813b5938
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu May 10 18:31:58 +0100 2018

	ip: add some primitive rate limiting knobs to counteract bufferbloat

Hash:	ec60da4961b4acff96631e7b99c90a0f4500dbed
Author:	aiju <devnull@localhost>
Date:	Sat May 5 13:14:39 +0100 2018

	libmp: add awk-generated tests

Hash:	a7a07b2d43529b60a239bbb2c7acabcbdbb812e5
Author:	aiju <devnull@localhost>
Date:	Sat May 5 13:03:45 +0100 2018

	mpdiv: get signs right...

Hash:	0930daf295aaeca0e58e1cb73a60b78c85749fe9
Author:	aiju <devnull@localhost>
Date:	Sat May 5 09:49:38 +0100 2018

	mp: more tests

Hash:	72ad2d1ee12056d480b3da6d5c157ab0ba21a937
Author:	aiju <devnull@localhost>
Date:	Fri May 4 22:42:08 +0100 2018

	mpmagadd: oops...

Hash:	35065b9127adf06b0a19286ff7ccc87f14cff10d
Author:	aiju <devnull@localhost>
Date:	Fri May 4 22:41:16 +0100 2018

	mpmagadd: force output sign +1 always

Hash:	8dc43a951c051422a63b4ed6298bf84c0896edc2
Author:	aiju <devnull@localhost>
Date:	Fri May 4 22:18:46 +0100 2018

	mpdiv: fix sign bug

Hash:	454d26a0e4f91d03bb8f1f4f3f7dbe56d722deab
Author:	aiju <devnull@localhost>
Date:	Fri May 4 11:07:39 +0100 2018

	pc: add $ operator

Hash:	fa028a9352309fb1a6f1ee66218742ba5cfd921b
Author:	aiju <devnull@localhost>
Date:	Fri May 4 01:42:59 +0100 2018

	libmp: add new tests

Hash:	cda7129cd28a25832ad06ed939d32fce9413db63
Author:	aiju <devnull@localhost>
Date:	Fri May 4 00:31:24 +0100 2018

	mplogic: don't drop carry out

Hash:	98a5fc6535a10e292f0fa1ad5aed7f10a963ce19
Author:	aiju <devnull@localhost>
Date:	Thu May 3 14:06:15 +0100 2018

	pc(1): always allocate at least one mpdigit (itomp assumes this)

Hash:	2cfc72db7631a1416a9b983a38470584cc9407ac
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu May 3 11:28:41 +0100 2018

	merge

Hash:	12716019bfdc3bedda1c8489d87a7cd316d016ef
Author:	mischief <mischief@offblast.org>
Date:	Thu May 3 09:26:09 +0100 2018

	libplumb: fix old leak introduced in 18b8ed1a5ea3

Hash:	b2599999be1d51eedc0e11a15cec9e7fac253250
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu May 3 08:09:39 +0100 2018

	ipconfig(8): clarify -p and -P options

Hash:	02e584c06c507a7802ed160ff954fa9fd080265c
Author:	aiju <devnull@localhost>
Date:	Thu May 3 00:01:39 +0100 2018

	games/mines: chain new CLists in splitknown correctly

Hash:	28c519295f3cf6768f46f715c9a38e1739b8e966
Author:	aiju <devnull@localhost>
Date:	Wed May 2 23:47:04 +0100 2018

	games/mines -g: elements taken from list should be -2, not -1

Hash:	87d922589dc15a047319a2af4290d15003ae314a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed May 2 19:34:43 +0100 2018

	ip/linklocal: invert the localadm bit from mac address instead of just setting it

Hash:	0c7a3ad1c9864a62174129bcd4adeef6c9dfac16
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed May 2 19:29:29 +0100 2018

	remove ipv6on, update ipconfig(8)

Hash:	2247741fe0c788d5a48bca3f3aca02c5a3b8dcb2
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue May 1 23:03:54 +0100 2018

	ip/ipconfig: fix exit status for ndbconfig

Hash:	cedf916289e96e653160cdfc4c50a3760df4e44b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue May 1 23:03:24 +0100 2018

	termrc: fix mistake

Hash:	3ffbe35a2030822e1877c17c9da4f12db4176cf7
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue May 1 22:46:57 +0100 2018

	termrc: put #u in front for endpoint renaming to be effective, handle multipe ether= tuples in ndb

Hash:	d05b90f300b79b79eb8462aed9f649d76e432b78
Author:	mischief <mischief@offblast.org>
Date:	Tue May 1 20:47:26 +0100 2018

	libplumb: allow attributes larger than 4096, set some malloc tags

Hash:	8f91d94d19af3531d3f1afd4361f807c76f42cff
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue May 1 22:40:00 +0100 2018

	merge

Hash:	190c40c9fff3eafd23ab89cb445d4f85d29963b0
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue May 1 22:32:28 +0100 2018

	ip/ipconfig: populate /net/ndb from v6 router advertisements, configure multiple addresses in ndbconfig()
	
	we now update /net/ndb with the following information gathered
	from router advertisements (rfc6106 and plan9 specific options):
	
	- recursive dns servers (option 25, ndb: dns=)
	- dns search list (option 31, ndb: dnsdomain=)
	- plan9 fileserver (option 250, ndb: fs=)
	- plan9 authserver (option 251, ndb: auth=)
	
	note the plan9 specific options can be disabled with the -G flag.
	
	for ndbconfig (-N flag), we now collect all ip addresses in ndb
	belonging to the devices mac address and configue them all. v6
	addresses are getting added when a link local address exists
	or the -6 flag has been specified to automatically configure one.
	
	move the dhcp code in its own dhcp.c file and make symbols static
	that are not used across modules.

Hash:	8e53fe132efe25437f50974f107be4f1fcbad2ea
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue May 1 21:17:27 +0100 2018

	ndb/cs: fix crash in ndbredorder due to ndbnew() not maintaining the ->line ring
	
	we have to maintain the ->line chain for ndbreorder() to work, so add
	a little helper: ndbline() which replicates the ->entry chain and links
	the last tuple to the first; makeing the whole list into a single line.

Hash:	bc4469e5d23509cd7f9070278b146c467d5f120a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Apr 28 03:40:09 +0100 2018

	ndb/csquery: insert \n between read chunks

Hash:	af3fd92789b0a730774737ae4194382e39f61f4d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Apr 28 03:39:09 +0100 2018

	ip/ppp: remove old struct

Hash:	dbfb32056693662b9843b47c70a672f32ea55d8b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Apr 28 03:38:34 +0100 2018

	libndb: cleanup

Hash:	e87ca8d97689ad9a63c0b56d0bfbda00c56abca2
Author:	aiju <devnull@localhost>
Date:	Thu Apr 26 14:55:02 +0100 2018

	mpdiv: fix dividing 0 by a small power of two

Hash:	5aae3d344b9f362539f06d20ea5ca80a0c8b3a78
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Apr 24 19:21:09 +0100 2018

	devip: improve arp and ndp code
	
	there appears to be confusion about the refresh flag of arpenter().
	when we get an arp reply, it makes more sense to just refresh
	waiting/existing entries instead creating a new one as we do not
	know if we are going to communicate with the remote host in the future.
	
	when we see an arp request for ourselfs however, we want to always
	enter the senders address into the arp cache as it is likely the sender
	attempts to communicate with us and with the arp entry, we can reply
	immidiately.
	
	reject senders from multicast/broadcast mac addresses. thats just silly.
	
	we can get rid of the multicast/broadcast ip checks in ethermedium and
	do it in arpenter() instead, checking the route type for the target to
	see if its a non unicast target.
	
	enforce strict separation of interface's arp entries by passing a
	rlock'd ifc explicitely to arpenter, which we compare against the route
	target interface. this makes sure arp/ndp replies only affect entries for
	the receiving interface.
	
	handle neighbor solicitation retransmission in nbsendsol() only. that is,
	both ethermedium and the rxmitproc just call nbsendsol() which maintains
	the timers and counters and handles the rotation on the re-transmission
	chain.

Hash:	69298c79ab3da8164f9b5317be4ae1b2a75ab4dd
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Apr 24 20:25:16 +0100 2018

	merge

Hash:	3c53021357e9ce86f77422877e36cdc73761e05b
Author:	aiju <devnull@localhost>
Date:	Tue Apr 24 12:58:54 +0100 2018

	forp: fix ternary operator

Hash:	29f03ba4e74ec58b87e3e6470aadfb58ee804f48
Author:	aiju <devnull@localhost>
Date:	Tue Apr 24 12:20:07 +0100 2018

	libsat, forp: fix va_list hack on amd64

Hash:	20b9326daddd52ffe534a968fb596af1674f53cc
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Apr 22 17:54:13 +0100 2018

	devip: fix ipv6 icmp unreachable handling, fix retransmit, fix ifc locking, remove tentative check

Hash:	c80d94304d0b9946c822e073b637760a0894522a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Apr 22 17:50:45 +0100 2018

	devip: cleanup ipmux.c

Hash:	89625510554e65ec088110195670092bfe95fea4
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Apr 22 17:50:11 +0100 2018

	devip: increment in counter *AFTER* acquiering the ifc lock or loopbackmedium

Hash:	dbf13129a702cc066517acf147fb01c13df456cb
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Apr 22 17:49:01 +0100 2018

	devip: cleanup rudp.c

Hash:	9860172fce3e8d030de6a8a5ed5de2d77483795a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Apr 22 17:48:32 +0100 2018

	devip: cleanup tcp.c

Hash:	c5c613357e45af55b9cca2ae90cfc89895a2bd48
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Apr 22 17:48:08 +0100 2018

	devip: cleanup udp.c

Hash:	26aca332bb74cf8ee6f27ee7f826413a19182ca9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Apr 22 17:47:19 +0100 2018

	devip: various icmp stuff
	
	no need to rlock ifc in targetttype() as we are called from icmpiput6(),
	which the ifc rlocked.
	
	for icmpadvise, the lport, destination *AND* source have to match.
	
	a connection gets a packet when the packets destination matches the source
	*OR* the packets source matches the destination.

Hash:	575398eb9bc2c6f1bcfce7bf8fffbce73a96e8da
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Apr 22 17:42:22 +0100 2018

	devip: verify ifcid on routehint check, check Route.ref for free'd routes
	
	v4lookup() and v6lookup() do not acquire the routelock, so it is
	possible to hit routes that are on the freelist. to detect these,
	we set ref to 0 and check for this case, avoiding overriding the ifc.
	
	re-evaluate routes when the ifcid on the route hint doesnt match.

Hash:	638b4a1ec113adebdd6a85d647574a46e0b7feab
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Apr 19 00:08:51 +0100 2018

	devip: add "reflect" ctl message, fix memory leaks in icmpv6, fix source address for icmpttlexceeded, cleanup

Hash:	691370a08dbfda305f0302023618211ffbfbce7a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Apr 19 00:01:39 +0100 2018

	ip/ipconfig: always refresh ndb/cs and ndb/dns when adding or removing ip addresses

Hash:	fc3c91d91f98a4b19834dc7f3735857da6fbcd01
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Apr 19 00:00:12 +0100 2018

	ndb/dnsquery, ndb/csquery: handle long lines

Hash:	94018b213027a9252628e107c202eefc7261073a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Apr 17 00:34:10 +0100 2018

	fix parseip() error handling in ipconfig, ppp, tftpfs and dns

Hash:	48d117ed648d859f407e1314effbbec56ff867ec
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Apr 16 23:48:42 +0100 2018

	ndb/dns: remove single-ip-address assuptions

Hash:	ac962a0ae4efcbcc44d0f3cdad5de433927511ae
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Apr 16 23:45:37 +0100 2018

	ndb/cs: remove single-ip-address assumptions

Hash:	93ab48008e6574a7b790c85e1f81c97ef088d7c7
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Apr 14 23:07:42 +0100 2018

	ip/ipconfig: use unique ip/ipmask/ipgw values close to match for ndbconfig

Hash:	c4603260f8736dbea8d7f47c46e8db0cf1a23fa0
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Apr 14 19:32:26 +0100 2018

	ndb/cs: remove paranoia debug toggle

Hash:	1da5285c1ef5150205f85a56e8fa5fdc2bb48444
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Apr 14 19:28:58 +0100 2018

	libc: allow /net/cs to specify local address for dial()

Hash:	8666ec6b555ec21e8c81089148527913febc7e53
Author:	kremlin <ians@openbsd.org>
Date:	Thu Apr 12 22:50:10 +0100 2018

	add missing ethermii.h dependencies. patch from cinap_lenrek

Hash:	4354c401c17953b910c0c5acd7e661b6740b4973
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Apr 12 20:30:28 +0100 2018

	cpurc: remove obsolete device binds, run diskparts after $sysname is known. remove /env/boottime. document.

Hash:	780c5dfd1a0e26d6f6320284529d87ecc11650a7
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Apr 11 21:57:16 +0100 2018

	ip/ipconfig: setup per local address default routes

Hash:	874701d1934617a5992511b713c8a0fe08491dd9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Apr 11 21:56:25 +0100 2018

	devip: make v4 ifc broadcast and multicast routes specific to address
	
	this allows one to access the same network via multiple interfaces,
	the local address then determines which interface is used.

Hash:	eac7a2b12a9a6df73164132def672c681cf36820
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Apr 10 19:04:20 +0100 2018

	ip/gping: icmpv6 support

Hash:	829a451c2b866d502306bd0b8cbb1991a55faa45
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Apr 10 19:02:03 +0100 2018

	devip: properly initialize the connection ignoreadvice and tos flags

Hash:	0272fa04fd5da396d5f2b29d8c6c988822d2147b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Apr 10 18:06:34 +0100 2018

	ip/traceroute: icmpv6 support

Hash:	3e60d7127d8bec7c5ac1361881c173ed0daf422e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Apr 9 23:56:50 +0100 2018

	ip/ping: stop doing clever things with dialstrings, just let cs/dial figure it out

Hash:	4cda213a78731a8e2864ad81ad4255c024fa5bd5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Apr 8 21:22:03 +0100 2018

	ip(3): troff magic

Hash:	f692b73955817f52c7e2a7448a2e9ce4504f78f0
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Apr 8 21:11:18 +0100 2018

	ip(3): document changes on /net/arp and /net/iproute

Hash:	dac42bd005cb2d7701ee27547a3a62feb4a08835
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Apr 8 20:16:29 +0100 2018

	ip/ipconfig: fix v6 ndp code, use source specific default routes

Hash:	c2dd9b1da7659c9ac42e7612e5621e9426956c73
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Apr 8 20:15:00 +0100 2018

	devip: implement source specific routing

Hash:	dc8432d4593c7a4b0a187d0174d4e4e603e456f6
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Apr 8 19:51:48 +0100 2018

	nusb/usbd: increase buffer size to capture port information
	
	due to the addition of uframes property, the buffer got truncated
	resulting in usbd not recognizing the number of roothub ports.

Hash:	21c7c68307c3a80354d1c42210766a33e9394b62
Author:	henesy <devnull@localhost>
Date:	Sat Apr 7 00:05:25 +0100 2018

	remove duplicate -m definition in upasfs(4) (thanks rodri)

Hash:	034d0b08e91ee11278875168176954bb4572c76e
Author:	mischief <mischief@offblast.org>
Date:	Tue Apr 3 05:44:21 +0100 2018

	ape: improve assert macro
	
	in a statement such as:
	
	if(expr)
		assert(a);
	else
		assert(b);
	
	the previous definition of assert would fail to compile, as the else
	would be dangling.  with a ternary expression, this construct works
	fine.

Hash:	013122b993652f0b76af026a15219e103ed94468
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Tue Apr 3 00:54:58 +0100 2018

	9fs: break 9front case into several cases: 9front, 9bugs, 9contrib, 9grep

Hash:	9632ff2381580179060faa0f7e69eb80d0c27e50
Author:	aiju <devnull@localhost>
Date:	Sat Mar 31 13:41:41 +0100 2018

	forp(1): document [] and some bugs

Hash:	20e695c1787144dd922002c55a3f0a2dc16cb198
Author:	aiju <devnull@localhost>
Date:	Sat Mar 31 13:30:48 +0100 2018

	forp: fix precedence for []

Hash:	7d18756b39cc33482f8cf5574b20a51331c4cea3
Author:	qwx <devnull@localhost>
Date:	Sat Mar 31 10:38:09 +0100 2018

	gb*: reverse savegame field polarity

Hash:	84351ae4cb50857fe62e0938198db0c7ea33d05c
Author:	qwx <devnull@localhost>
Date:	Sat Mar 31 10:37:25 +0100 2018

	blit,c64,gb*: fix phaser coolant leak during resize

Hash:	2fdd83c82779fa108ae435bee1cae6d68243c75b
Author:	aiju <devnull@localhost>
Date:	Wed Mar 28 21:49:39 +0100 2018

	add forp(1) manpage

Hash:	57edb0b2d451dbefbb7c138496b92d4d5de62d04
Author:	aiju <devnull@localhost>
Date:	Wed Mar 28 21:36:04 +0100 2018

	sat.h: update to include satget

Hash:	2ca54f6a26ceda9cfe5012c641154e203ff9a83b
Author:	aiju <devnull@localhost>
Date:	Wed Mar 28 21:14:29 +0100 2018

	forp: fix multiplication; change division to C semantics

Hash:	382d37dbf0ee8bf5af9594e922db6094e30ace2a
Author:	aiju <devnull@localhost>
Date:	Wed Mar 28 18:08:30 +0100 2018

	add forp

Hash:	80474f7f59ee755cd1967c5703e3be724582f001
Author:	aiju <devnull@localhost>
Date:	Mon Mar 26 22:39:23 +0100 2018

	libsat: fix one of the satmore() bugs

Hash:	586a24770c5accfadc13408ba2b617b062fb50ae
Author:	Alex Musolino <alex@musolino.id.au>
Date:	Fri Mar 23 01:04:39 +0000 2018

	lock(2): fix typo

Hash:	39dd26bf0807046b8c9824745751248db3bf2de0
Author:	aiju <devnull@localhost>
Date:	Thu Mar 22 13:35:52 +0000 2018

	sat: satget: don't duplicate binary clauses

Hash:	8389465f94cce8a571910c8575d5a87c0b8dbd5c
Author:	aiju <devnull@localhost>
Date:	Thu Mar 22 13:15:44 +0000 2018

	sat: satget: include unit literals

Hash:	2e2ae33a47951ec99ddefd61b8f16ffb47a88fed
Author:	aiju <devnull@localhost>
Date:	Thu Mar 22 12:46:04 +0000 2018

	sat: add satget

Hash:	3cb5494b261e9cd8d12f5c203270d0f1387c5d87
Author:	aiju <devnull@localhost>
Date:	Tue Mar 20 20:51:04 +0000 2018

	sshfs: usage

Hash:	ef17e2a6938d1ae7a06a9a655e1a73d340e58abc
Author:	aiju <devnull@localhost>
Date:	Tue Mar 20 20:31:25 +0000 2018

	resample(1): document -n option

Hash:	992ed21419554252672e46c04d0a75adf66f57bf
Author:	23hiro <23hiro@gmail.com>
Date:	Tue Mar 20 17:24:26 +0000 2018

	man pages: SYNOPSYS typo

Hash:	5d4a456ae6af550a39280b98554b42716a07f8ff
Author:	aiju <devnull@localhost>
Date:	Tue Mar 20 11:23:41 +0000 2018

	libsat: setmalloctag, fix incorrect allocation size

Hash:	547f60b4c507778099635f5d2ec4919e1beb6a57
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Mar 19 00:11:08 +0000 2018

	devip: pick source address for neighbor solicitations as of rfc4861 7.2.2, cleanup
	
	rfc4861 7.2.2:
	
	If the source address of the packet prompting the solicitation is the
	same as one of the addresses assigned to the outgoing interface, that
	address SHOULD be placed in the IP Source Address of the outgoing
	solicitation.
	
	this change adds ndbsendsol() which handles the source address selection
	and also handles the arp table locking; avoiding access to the arp entry
	after the arp table is unlocked.
	
	cleanups:
	
	- use ipmove() instead of memmove().
	- useless extern qualifiers

Hash:	20cbb88e32ece30dd984ab658c365f574790d6ba
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Mar 18 06:53:10 +0000 2018

	merge

Hash:	71f807873b43a4d2a2e2c9d1acbe1d97b5fdf18c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Mar 18 06:50:48 +0000 2018

	devip: more v6 improvements
	
	ipv4local() and ipv6local() now take remote address argument,
	returning the closest local address to the source. this
	implements the standartized source address selection rules
	instead of just returning the first local v4 or v6 address.
	
	the source address selection was broken for esp, rudp an udp,
	blindly assuming ifc->lifc->local being a valid v4 address.
	use ipv6local() instead.
	
	the v6 routing code used to lookup source address route to
	decide to drop the packet instead of checking the interface
	on the destination route.
	
	factor out the route hint from Conv and put it in Routehint
	structure. avoiding stack bloat in v4 routing. implement the
	same trick for v6 avoiding second route lookup in ipoput6.
	
	fix memory leak in icmpv6 router solicitation handling.
	
	remove old unfinished handling of multiple v6 routers. should
	implement source specific routes instead.
	
	avoid duplication, use common convipvers() function.
	
	use isv4() instead of memcmp v4prefix.

Hash:	8ce98a0b32111228827de661fe96efd52ee1b4bf
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Mar 18 06:31:09 +0000 2018

	ip/ipconfig: stop spamming the console about router receiving RA's

Hash:	87df80019e3676583f2d60d500179ddcfabab584
Author:	aiju <devnull@localhost>
Date:	Sun Mar 18 03:03:12 +0000 2018

	add sat(1) command

Hash:	d68417bc01ef1258e707d95d4785c189fcad5834
Author:	aiju <devnull@localhost>
Date:	Sun Mar 18 03:01:21 +0000 2018

	satmore: don't try to override user defined variables

Hash:	9f18b0f388a38a35ea8920fe3e98c7f8e3a41cf2
Author:	aiju <devnull@localhost>
Date:	Sun Mar 18 01:15:07 +0000 2018

	add #pragma incomplete to sat.h

Hash:	c3c7429dc264396c96a6d56831357eeb54781097
Author:	mischief <mischief@offblast.org>
Date:	Sat Mar 17 22:06:13 +0000 2018

	nusb/ptp: set storage name to their human readable description string

Hash:	c96fb5471a7dc83f0acd53e1f15da589ea13280a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Mar 17 20:55:39 +0000 2018

	devusb: fix format print warnings for ep->ntds and ep->uframes

Hash:	4d59f9bd1a0051feaf9e52a2c10d6b05807c59f4
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Mar 17 20:27:07 +0000 2018

	camv: fix display locking issues

Hash:	c2c9562e3c2994d87f65ab09779190d1e7e09517
Author:	aiju <devnull@localhost>
Date:	Sat Mar 17 19:26:26 +0000 2018

	add libsat

Hash:	e0be49d7f1dcb50048bead1b7d62633448482246
Author:	aiju <devnull@localhost>
Date:	Sat Mar 17 19:07:50 +0000 2018

	mines(1): fix misleading HISTORY wording

Hash:	2c1415277fb694e560bc4667ddfa4efcf9d5196a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Mar 17 17:25:12 +0000 2018

	pc64: fix _intrr(), avoid the linker moving _intrr() arround

Hash:	108063bc3a1cba6a70d848a1c12cdd089e9ae4f3
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Mar 17 16:19:42 +0000 2018

	pc64: add magic _intrr() symbol for ktrace (thanks mischief)

Hash:	199f090b6a09300bb3acc9a70ee09602f51071a0
Author:	qwx <devnull@localhost>
Date:	Sat Mar 17 09:25:27 +0000 2018

	devfs: revert commit 4000
	
	induces a kernel panic under normal circumstances

Hash:	372d359e2884e92666f6ebe28d50ede5c7343a5c
Author:	qwx <devnull@localhost>
Date:	Fri Mar 16 23:04:31 +0000 2018

	kernel: let /rc/bin/diskparts attach #k after #S partitions are loaded up

Hash:	14cd988a482d5a515880eab282cc9dff5bba98fc
Author:	qwx <devnull@localhost>
Date:	Fri Mar 16 23:00:51 +0000 2018

	devfs: only set configed flag if config was read successfully
	
	this is just to retry reading the configuration at least once after an error

Hash:	f8961199dd992325bf3035f03e27b3280918a6a5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Mar 14 21:41:30 +0000 2018

	nvidia: add pci device id for GeForce 6200 AGB (thanks bitmapper)

Hash:	7ca11774a1a78dcfa520f35a60d6ce34c2dc724a
Author:	aiju <devnull@localhost>
Date:	Sat Mar 10 14:40:34 +0000 2018

	games/mines: build a better ghost trap

Hash:	b7d31909f6258a36d00cb2bc2ef08687d6817755
Author:	aiju <devnull@localhost>
Date:	Fri Mar 9 21:30:06 +0000 2018

	mptod/dtomp: add to mp.h

Hash:	b9a08958e2b7a960b39c0db82a049836896e660e
Author:	aiju <devnull@localhost>
Date:	Fri Mar 9 20:51:28 +0000 2018

	mp: add mptod and dtomp

Hash:	bf555abcc3056ec74b785b6ff3f8e4b398ef09de
Author:	aiju <devnull@localhost>
Date:	Wed Mar 7 20:45:19 +0000 2018

	add camv

Hash:	657f0ed99a23c2ee6872d890c8ca8ef97fed9ac9
Author:	aiju <devnull@localhost>
Date:	Wed Mar 7 20:44:55 +0000 2018

	nusb/cam: ctl message fixes

Hash:	2da5e135dc5d1d50ac2a760fe1bc693b6008087c
Author:	aiju <devnull@localhost>
Date:	Wed Mar 7 10:06:18 +0000 2018

	add nusb/cam

Hash:	a2d8dcfd8235547ca1e14dcca42de70e06a0ec96
Author:	aiju <devnull@localhost>
Date:	Wed Mar 7 10:04:27 +0000 2018

	usb lib: add maxpkt and ntds to Altc struct

Hash:	56405e091963c8b2dc9d71aa624e33c582102949
Author:	aiju <devnull@localhost>
Date:	Wed Mar 7 08:45:06 +0000 2018

	usbehci: catch interrupt in tsleep

Hash:	9226caf2a3bf88258665f4e3786c6abb8820d308
Author:	aiju <devnull@localhost>
Date:	Tue Mar 6 17:18:48 +0000 2018

	usbehci: add uframes control request to return uframes one at a time

Hash:	097879eace30b438c8c20edd543f5752d0eec07b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Mar 5 05:10:56 +0000 2018

	merge

Hash:	6f70699aec603058e65f51b7ddad6197834cf46b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Mar 5 05:09:31 +0000 2018

	usbehci: fix medium- to low quality highspeed isochronous transfers
	
	everything was broken. strting with hsinit not even chaining
	the itd's into a ring. followed by broken buffer pointer pages.
	finally, the interrupt handler's read transaction length
	calculation was completely bugged, using the *FRAME* index
	to access descriptors csw[] fields and not reseting tdi->ndata
	thru the loop.
	
	minor stuff:
	
	iso->data needs to be freed with ctlr->dmafree()
	
	put ival in iso->ival so ctl message cannot override the endpoints
	pollival and screw up deallocation.

Hash:	633397bfda41efb7c3c9a4173cedfe8e45ea83a4
Author:	aiju <devnull@localhost>
Date:	Sun Mar 4 19:52:35 +0000 2018

	sshfs: update qid and filename on Tcreate

Hash:	8e654cf76112ffe67ff1649fd0e570975a08a823
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Mar 4 05:12:37 +0000 2018

	merge

Hash:	53e1708bcbe910ddf5a548de0b2db0fda911de84
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Mar 4 05:10:45 +0000 2018

	igfx: add support for T510 (thanks mycroftiv)

Hash:	891a8c4f2c3a18c60cbfb3b15a67be32937fbfad
Author:	khm <devnull@localhost>
Date:	Wed Feb 28 20:55:48 +0000 2018

	manpages:  shut up about tex (1)

Hash:	59b31cccdb62f0fd0949984d67900fc344376298
Author:	glenda <glenda@cirno.localdomain>
Date:	Tue Feb 27 15:08:23 +0000 2018

	g: revert accidental change, document missing file type

Hash:	60befe7df166ae7464c665394ba3793d9d26e184
Author:	glenda <glenda@cirno.localdomain>
Date:	Tue Feb 27 03:39:49 +0000 2018

	games/mix: fix incorrect line numbers

Hash:	d1c0f53fcdff6d31a36f9d802133b721fc84be1a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 26 18:58:54 +0000 2018

	ns: remove left over vararg check pragma

Hash:	8a01033efcdc72f8b63b5a7afcc699ca20edfdc0
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Feb 25 20:11:41 +0000 2018

	vmx: allow setting mac address of using ea:nnnnnnnnnnnn! prefix, use genrandom() to generate mac globally unique mac address

Hash:	6728a5ec2351cac7cc27333e0d984c5c2b029b87
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Feb 25 18:06:37 +0000 2018

	devloopback: reassign device letter from #X to #λ to avoid collision with devvmx

Hash:	b2d79920255fc405b972e4c900e47f4a1046e044
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Feb 25 16:11:18 +0000 2018

	kernel: properly handle bad attach specifiers
	
	- only accept decimal for numeric device id's
	- exclude negative device id's
	- device id's out of range yield Enodev

Hash:	d3f4786a1fcfb3cf8eba0cad2457622c6487e0e9
Author:	aiju <devnull@localhost>
Date:	Sun Feb 25 03:38:25 +0000 2018

	mines: documentation and chronometric control of supernatural apparitions

Hash:	4aff59b64ca7be9c003883b97d3bbdcd56dc61bc
Author:	aiju <devnull@localhost>
Date:	Sun Feb 25 02:50:24 +0000 2018

	ghost in the minesweeper shell

Hash:	f0a314605f1a6d56da34ac07bb4effe2dcff8c37
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Feb 25 02:42:38 +0000 2018

	devether: remove (unimplemented) detach, allow device creation on attach
	
	we allow devether to create ethernet cards on attach. this is useull
	for virtual cards like the sink driver, so we can create a sink
	by simply: bind -a '#l2:sink ea=112233445566' /net
	
	the detach routine was never called, so remove it from the few drivers
	that attempted to implement it.

Hash:	5560efb3dbe76bfab78d0d7f97969d7589a3f171
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Feb 25 02:32:29 +0000 2018

	devip: fix crash on negative dev id on attach

Hash:	05cd5cb200b6b585b2fa255e46745bff38e17faa
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Feb 25 02:24:31 +0000 2018

	ns, devproc: quote path and spec arguments for /proc/$pid/ns, namespace(6) does support quoting

Hash:	be8a8129a29036ec5b5ccd69eaa311c58cdde170
Author:	aiju <devnull@localhost>
Date:	Sun Feb 25 01:43:21 +0000 2018

	games/mines: bikeshedding

Hash:	4e7b5b7e926fec6c99fa7c84e34b7eac29ff1240
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Wed Feb 21 00:34:03 +0000 2018

	fortunes, rob, rsc, theo: What's this? https://plan9.io/

Hash:	986278e04d34ff62aaa8d24726e2540cfbd463cd
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Feb 18 18:56:58 +0000 2018

	nusb/ether: mux bridges, bring in line with devether

Hash:	729c9c39d9156674f61d086e3306bcc04ce8dfc5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Feb 18 18:56:01 +0000 2018

	devether: mux bridges, portable netconsole

Hash:	a2e8246ffc12660f8628266e73aae74b52bd86d8
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Feb 18 01:06:55 +0000 2018

	nusb: add missing header dependencies to mkfiles

Hash:	120ab04dd2e351cf8023b6cf8f2f7c08a906a2c5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Feb 18 01:05:22 +0000 2018

	kernel: fix missing header dependency for ethersink.$O

Hash:	5d6a11c387ea8954ea4a79c4f423bda934c56434
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Feb 16 20:04:38 +0000 2018

	audiohda: add device id for x260's Intel Sunrise Point-LP. (thanks rodri)

Hash:	b19280009679f31bd3cf05a9a7df95ef121cef0b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Feb 14 19:35:36 +0000 2018

	ftpfs: no caching by default, add -c flag to enable it (patch by mycroftiv)

Hash:	df6a30f3c0e2be41161101db0d62f5c02d93bbc0
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 12 18:05:01 +0000 2018

	if ether, then etherif.h

Hash:	04583235548da2111a8cda7d186bc0a020214369
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 12 00:50:24 +0000 2018

	merge

Hash:	57c53564b3b7f4603d0baa30e76ec44f4cd5f3ba
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 12 00:48:20 +0000 2018

	ethersink: after the experiment, the zeros get dismantled. and then destroyed.

Hash:	2346954e04417b3d5fdde8e4bc440c0f0532dee0
Author:	BurnZeZ <brz-9dev@feline.systems>
Date:	Sun Feb 11 21:54:10 +0000 2018

	twsi(3): fix wrong unicode codepoint in manpage

Hash:	3d0f4da104a2d9a73e017e121f1f25f5964e494e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Feb 11 18:51:23 +0000 2018

	ethersink: provide promisc and multicast functions for v6, set out queue limit to 0 on attach, add to pc64 config

Hash:	d6e0e9c402e215dc5659ad525e3e652501f76810
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Feb 11 17:08:03 +0000 2018

	kernel: move devether and wifi to port/
	
	the only architecture dependence of devether was enabling interrupts,
	which is now done at the end of the driver's reset() function now.
	
	the wifi stack and dummy ethersink also go to port/.
	
	do the IRQ2->IRQ9 hack for pc kernels in intrenabale(), so not
	every caller of intrenable() has to be aware of it.

Hash:	debb786fea3d6ea8018c3d83cdedfdbff0703441
Author:	aiju <devnull@localhost>
Date:	Sat Feb 10 13:15:57 +0000 2018

	aijuboard bootloader: fix 10BASE-T / 100BASE-TX support

Hash:	f113e2d6d54ff2b2de6330fdf9f72bbb622e27f4
Author:	aiju <devnull@localhost>
Date:	Sat Feb 10 01:04:05 +0000 2018

	zynq: fix 10BASE-T and 100BASE-TX support

Hash:	af0de5ada83205e6016b108a2f19dbc5782d5e8e
Author:	aiju <devnull@localhost>
Date:	Wed Feb 7 18:53:08 +0000 2018

	fix sort(1) bug where it incorrectly included the field separator in the comparison if it was >= Runeself

Hash:	d8999511e0921e2aaa45f862c5b4ca9098d78a96
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Feb 7 17:18:32 +0000 2018

	fstype: make copy of first sector in /env to avoid unaligned reads on the disk (for devfs)
	
	devfs crypto partitions do not support unaligned reads,
	so we make a copy of the first in /env/block and then
	slice it to find filesystem signatures.
	
	thanks mykhal for reporting the issue.

Hash:	650e5db5a2df96e8dc7a267e6831dbcce1bce9dc
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Feb 7 17:13:22 +0000 2018

	usbxhci: fix mistake in completering()
	
	the td index "x" was incremented twice, once in for loop
	and in the body expression. so r->rp only got updated
	every second completion. this is wrong, but harmless.

Hash:	c5c159b17a09fd46e0ad39d9049545525a2f1a62
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 5 18:16:29 +0000 2018

	upas/fs: fix imap atom quoting (thanks Piotr Kubaj)

Hash:	721b141438589bbf0521832760e28a2f496ef83f
Author:	aiju <devnull@localhost>
Date:	Mon Feb 5 09:38:59 +0000 2018

	add ptrap

Hash:	d06196ab8760ec567a9f043b757a789755a6aed7
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 5 02:21:51 +0000 2018

	auth/asn12rsa: also convert ASN.1 encoded public key to plan9 format

Hash:	58914b4b0b0c4c3e5e16a1ba043ccdbb7e76ac84
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Jan 31 18:44:54 +0000 2018

	/sys/lib/dist/mkfile: fix cfg/plan9.ini dependency (only visible after binds)

Hash:	650a4434a6771cff99d9aa429cbd7fcf70ec6d88
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Jan 31 18:09:11 +0000 2018

	webfs(4): document -d and -D flags

Hash:	83d8a24215ddf66ee64fc4704151571b2e952685
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jan 29 07:26:42 +0000 2018

	pc64: fix kmap() and invlpg()
	
	flushing tlb once the index wraps arround is not enougth
	as in use pte's can be speculatively loaded. so instead
	use invlpg() and explicitely invalidate the tlb of the
	page mapped.
	
	this fixes wired mount cache corruption for reads approaching
	2MB which is the size of the KMAP window.
	
	invlpg() was broken, using wrong operand type.

Hash:	b5362dc72220a4ac80678cc00e4289befae337e3
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jan 28 21:46:48 +0000 2018

	ndb/dns: cleanup

Hash:	549a6745e3b6a69c9a14deb5090b8fa1ad444f06
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jan 28 21:36:01 +0000 2018

	ndb/dns: fix leak in myaddr(), normalize ip strings
	
	remove myaddr() function and replace with myip() function
	that receives binary ip address. and don't use string
	comparsion for ip addresses... parse and then ipcmp().
	
	for sanity reasons, normalize ip address strings and
	reject unparsable ones. done by calling ipalookup()
	with a binary ip address.

Hash:	b3b938d5ecb39e0548ab811ee1099e6dda67052f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jan 28 16:58:16 +0000 2018

	ndb/cs: handle v4 only case for rudp

Hash:	1d10ecdaaed100d0a88ee10d67cd5013cb450cc2
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jan 28 16:22:00 +0000 2018

	venti/conf: fix padding so we write multiple of sector size

Hash:	d2ec488a93c39bea74af89ad34de5791c53b4eff
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jan 27 22:47:46 +0000 2018

	ip/dhcpd: remove old testing code

Hash:	34f19570b92951e7f55df787d5dc457eb2c9de46
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jan 27 22:46:48 +0000 2018

	libndb: retire deprecated csgetval(), ndbgetval() and ndblookval() functions

Hash:	6a23ef917bfdb41415dc36be5cd8b8e8e64ddc23
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jan 27 18:58:48 +0000 2018

	kernel: initialize cyclefreq for machno > 0 in guesscpuhz()

Hash:	26193c4bffcb9af25d1a48537b79b939863cbde8
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jan 27 18:02:31 +0000 2018

	upas/fs: try to deal with nil mail body (can happen when fetch fails)

Hash:	a863cf8e7e63b40f4cd52909b7b625912d41309c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jan 25 01:14:51 +0000 2018

	upas/fs: deal with imap returning more uid's than allocated from previus "messages" command

Hash:	5054c9795cb02c9b4e05608bbf345790619ed3fa
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jan 22 20:34:39 +0000 2018

	ip/pptpd: don't mess with ipifc (handled by ppp), slay note gorup on exit

Hash:	950e22be6756c42c614287e103397f490cc7f106
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jan 22 20:33:22 +0000 2018

	ip: make pkt interfaces unbind on close (from inferno)

Hash:	b670fc0ac5ad8027e18318191f183457937fb2e4
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jan 21 22:56:37 +0000 2018

	ppp: remove left over debug print

Hash:	218e61f80f69b470255245f28b0d1917c01bf915
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jan 21 21:58:30 +0000 2018

	ppp(8): remove BUGS section, client auth has been fixed.

Hash:	98b1f2a75b99f1af3c7c7cecf3735bab1793e2a2
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jan 21 21:55:14 +0000 2018

	ppp: mschapv2 support

Hash:	3004f058f69a16f09c07c58d0e60a1732190f0d3
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jan 21 21:37:45 +0000 2018

	libauth: add auth_respondAI() function to get AuthInfo for mschap/mschapv2

Hash:	a7974d96b7e510cba9ae4ef87fed8b0ded109f98
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jan 21 21:35:01 +0000 2018

	factotum: implement mschapv2 role=server authentication (for ppp)
	
	this implements the server part of mschapv2 with the new
	authserver changes.
	
	we also provide AuthInfo for the client now with the
	MPPE secret and the authenticator.

Hash:	fd1e50d653c32a85086f6bd14f7e261c2683224c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jan 21 21:32:34 +0000 2018

	authsrv: implement mschapv2 authentication, include MPPE secret in the ticket
	
	this adds new rpc for mschapv2 authentication (21)
	
	deliver the MPPE secret not after the ticket/authenticator
	response as cheartext, but include it in the first 128 bit
	of the ticket key. and the authenticator in the first 160 bit
	of the authenticator random field.

Hash:	9840c50a3e0d2392a9102484e0caf970d3153790
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jan 20 14:13:11 +0000 2018

	gre: don't drop pptp packets when smaller than v4 header

Hash:	9d0ba6f162f01253edaa4b8602f620b1869a71ca
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Jan 16 22:27:23 +0000 2018

	ip/ipconfig: use 2000::/3 instead of ::/0 for v6 default route
	
	the ::/0 route has the bad side effect of breaking v4 connections
	when theres no default route due to v6 mapped v4 addresses. this
	might be temporary measure.

Hash:	12f27944a5d3fb160964b8c9e0efbd146408aa5a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Jan 16 20:37:36 +0000 2018

	p/ipconfig: don't put automatic link-local address configuration in /net/ndb

Hash:	ccf72da47d29772af51b0b348d2845fbbbd8a881
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Jan 16 19:42:01 +0000 2018

	set router R-flag when sendra is active for neighbor advertisement
	
	windows 7 just drops the default router when it tries to
	probe for router reachability but gets a neighbor avertisement
	from the router with the router bit clear.
	
	so set the R-flag when sendra is active, which implies that
	we are a router.

Hash:	2bd59d9cb3a50d0083ed9b8bda6970df62e39bca
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jan 15 00:31:27 +0000 2018

	authsrv: fix chap
	
	use OCHAPREPLYLEN instead of sizeof(reply) (no padding).
	
	exit after sending ticket response to force eof as factotum
	unconditionally reads tailing secret hash (as of mschap).

Hash:	87c2d23c8fa108f08cd5a5342d1e0c2c79497c17
Author:	23hiro <23hiro@gmail.com>
Date:	Sun Jan 14 22:58:25 +0000 2018

	ipconfig(8): remove dhcp mention from -6 example

Hash:	b85245f5d27480cf1a0e6ec5c4dd7893c4130242
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jan 14 18:33:30 +0000 2018

	ip/ipconfig: add v6 deault route from router advertisements

Hash:	84e67ffa88e4d07b2e5848d666296a3e41750da6
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jan 14 18:32:13 +0000 2018

	listen(8): add -a option to restrict announce address, document tcp17019 and tcp17020

Hash:	7b5cf8de2dccafa565a62908d307f2033ee69420
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jan 13 10:41:37 +0000 2018

	ether79c970: dont disable promisc mode when multicast table is not empty

Hash:	ad36593a991e526168f5bcc2d3d14e0c66c0f642
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jan 13 06:16:17 +0000 2018

	ether82557: don't turn off promisc mode when mcast table is not empty
	
	the driver doesnt implement multicast filter, but just turns
	on promiscuous mode when a multicast address is added. but this
	breaks when one actually enables and then disables promiscuous
	mode with say, running snoopy.
	
	we have to keep promisc mode active as long as multicast table
	is not empty.

Hash:	ba87e58876d01cdd4c0634ef7ab40ba680092e09
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jan 12 17:28:50 +0000 2018

	wifi: learn target ip address from neighbor advertisements in dmat proxy

Hash:	2088f8c991de090e8b9e75ecbd416c98a511b214
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jan 12 07:01:15 +0000 2018

	wifi: filter out loopback traffic from myself
	
	broadcast traffic was received back on the wire causing
	duplicate address detection to break with dmat proy as
	the rewritten broadcasts where observable.
	
	the fix is to just ignore packets from ourselfs received
	from the air. devether already handles loopback.

Hash:	d682a6cb38b68c6c1a4671bb59b4e1136857b217
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Jan 10 17:28:23 +0000 2018

	ip/ipconfig: set on-link flag in router advertisement prefix info (fixes windows7)

Hash:	17ef60cbb8be5d27144bf9a9f3bf6a201204a5be
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jan 7 23:24:55 +0000 2018

	merge

Hash:	acb206859deafd32c5ef1901560dc13be2c0d280
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jan 7 23:23:26 +0000 2018

	ether8169: deal with kernel memory exhaution
	
	when kernel memory is exhausted, rtl8169replenish() can fail
	to plant more receive descriptors and rtl8169receive() would
	run over the receive tail and crash on the nil ctlr->rb[x].
	
	rtl8169receive() is called on "Receive Descriptor Unavailable"
	and "Packet Underrun" so we will try to replenish descriptors
	in the beginning first in case memory was exhausted and memory
	is available again and make sure not to run over the tail.

Hash:	3be526d4b93c750ff7751d50cf5fb5d34f9d8de5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jan 7 04:20:13 +0000 2018

	merge

Hash:	069230cd621ae5b3b9ab6e1a31eb6250fc86e30b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jan 7 04:17:34 +0000 2018

	forgot to commit asn1dump.c...

Hash:	17291d91bb3063fe8ba0bb5b73c329d317fa7108
Author:	23hiro <23hiro@gmail.com>
Date:	Sun Jan 7 01:44:53 +0000 2018

	rconnect: support -t timeout for aan like in drawterm; also rcpu, rexport/import

Hash:	05f721e9987791aae8e07dd4435f04df6ce33c77
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jan 6 19:21:50 +0000 2018

	venti: fix wrong channel element size for amd64 (thanks mycroftiv)

Hash:	7776180407351d8b34e8110123a579dca5f8d918
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jan 6 07:44:12 +0000 2018

	tlssrv: remove usage reference to lost auth/secretpem

Hash:	1c3377a67ff06f49e9e5e33275fb40dcca370318
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jan 6 07:37:32 +0000 2018

	factotum: remove unused sshrsa.c

Hash:	8ff72ce20ddeaa6fce39bc722cfd0e2d826fc6eb
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jan 6 07:34:25 +0000 2018

	libsec: remove asn1toDSApriv()

Hash:	a200ecd3a65539ed3320e076b3679afe84f6a79e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jan 6 07:32:51 +0000 2018

	remove asn12dsa, dsa2pub, dsa2ssh and dsagen
	
	was mostly usefull for old ssh.

Hash:	91a701747cb295a2b0339a332fb9a2f9e97b23c8
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jan 6 06:44:12 +0000 2018

	auth/asn1dump: include in mkfile

Hash:	d4a830e2e1d333c9bdbf5c17475f89efdf43be89
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jan 6 06:43:08 +0000 2018

	tlsclient: allow dumping the server's certificate with new -d flag
	
	usefull for debugging, like:
	
	./8.tlsclient -d /fd/3 tcp!code.9front.org!https |[0=3] auth/asn1dump

Hash:	e548a86575fb1cde326f995c86d5ce04da7cd48c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jan 6 05:25:45 +0000 2018

	tlsclient: remove X509dump() call, writes to fd 1

Hash:	7e4b6693938b65846df17f41d3b5efd8d5449670
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jan 5 07:41:46 +0000 2018

	/sys/lib/dist: split 9boot into 9bootproto, make *.386.iso and *.amd64.iso targets

Hash:	c197fede614a623b4363dcc313130aff738e25b8
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jan 5 07:38:23 +0000 2018

	inst: determine kernel for bootsetup from $bootfile and $cputype

Hash:	af06c6fa34a96980a07c4dcd3ca3e962a50e29dc
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jan 5 01:43:28 +0000 2018

	sysinfo: #c/swap -> #¶/swap

Hash:	b437065950b5d0234358fcfe8495f6bdb0bf3003
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jan 4 23:52:14 +0000 2018

	stats: show amount of reclaimable pages (add -r flag)
	
	reclaimable pages are user pages that are used for
	caches like the image cache, mount cache and swap cache.

Hash:	d3e54ff2d9039c67f6fe7d99349e1c83b696b7ae
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jan 4 03:38:31 +0000 2018

	pc kernel: fix wrong simd exception mask (fixes go bootstrap)

Hash:	743f65c87892adb12a7df0f91ac080e81cd77b21
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Jan 2 05:05:47 +0000 2018

	ape/libauth: remove auth_wep.$O from mkfile

Hash:	e8b46f69724d161d20f2eda076ec7e415b487a21
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Jan 2 03:59:44 +0000 2018

	ape: update auth.h header for APE

Hash:	f70ebd8e628b12973b12da12fa83aa67f39f2efa
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Jan 2 03:50:13 +0000 2018

	factotum(4): document dp9ik, update protocol list

Hash:	77ad456b31b2258be4c2fa2f4842910a7c92062c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Jan 2 03:47:42 +0000 2018

	libauth: simplify _attrfmt() using fmtprint() avoiding stack buffer

Hash:	e1ca49d625aaca1aae1dc570e7bc63a499d3e741
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Jan 2 03:31:21 +0000 2018

	libauth: remove auth_wep() function, and non-existing httpauth() declaration

Hash:	1d7bb80793f57de919873b5b80b0db9a79437083
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Jan 2 03:27:23 +0000 2018

	factotum: remove legacy wep protocol

Hash:	4edc761024c6d9971e7fae28081e178b35288469
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jan 1 22:23:55 +0000 2018

	libauth: fix out of bounds memory access in _parseattr()
	
	empty token would read ""[-1] accidentally in the AttrQuery case.

Hash:	f7b0cc7a64b4d2df64c666cdc9740a1aceb7aa9d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jan 1 20:14:39 +0000 2018

	factotum: replace custom hex parsing code with dec16() avoding timing side channels

Hash:	5cf5f6e9ac953270c696c1f4bd01881d183be5e3
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Dec 31 09:59:01 +0000 2017

	libmp: use constant time encode(2) routines instead of lookup tables
	
	the encode(2) routines are constant time now, so
	use them instead of using lookup table that can
	leak information through cache timing side channel.

Hash:	ea212266a15351ee79ce1d99ffcad5dfa291d5b5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Dec 31 09:53:50 +0000 2017

	ape: make encXchr()/decXchr() functions available

Hash:	c039b52fc3d7c225fe8b6f88f21df83ac26d5984
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Dec 31 08:06:42 +0000 2017

	libc: constant time implementation for encode(2) routines, fix base32
	
	the string encoding functions touch secret key material
	in a bunch of places (devtls, devcap), so make sure we do
	not leak information by cache timing side channels, making
	the encoding and decoding routines constant time.
	
	we also expose the alphabets through encXchr()/decXchr()
	functions so caller can find the end of a encoded string
	before calling decode function (for libmp).
	
	the base32 encoding was broken in several ways. inputs
	lengths of len%5 == [2,3,4] had output truncated and
	it was using non-standard alphabet. documenting the alphabet
	change in the manpage.

Hash:	ee89c82dd35475b93dd67773b7d10e461921a734
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Dec 31 00:49:58 +0000 2017

	wifi: get rid of custom hextob() routine, use dec16(), avoid copies in parsekey()

Hash:	8a64413eca370d914c1520dfeaa1359cd7f16517
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Dec 31 00:04:41 +0000 2017

	aux/wpa: get rid of custom Hfmt() routine, just use encodefmt. use %E for mac addresses

Hash:	57f8b6ec7591007ff22627038b51c4f4aa2a9be8
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Dec 30 02:07:47 +0000 2017

	libsec: implement SPKI fingerprinting for okCertificate()
	
	Instead of only using a hash over the whole certificate for
	white/black-listing, now we can also use a hash over the
	Subject Public Key Info (SPKI) field of the certificate which
	contians the public key algorithm and the public key itself.
	
	This allows certificates to be renewed independendtly of the
	public key.
	
	X509dump() now prints the public key thumbprint in addition
	to the certificate thumbprint.
	
	tlsclient will print the certificate when run with -D flag.
	
	okCertificate() will print the public key thumbprint in its
	error string when no match has been found.

Hash:	b42d441a230bad9fd1ae8e3543b1c0f28c7c62aa
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Dec 30 01:47:02 +0000 2017

	libsec: fix mistake: strnchr -> strchr

Hash:	582d2e664f85819f56599c8b632a04b4bd4dddc7
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Dec 30 01:36:47 +0000 2017

	libsec: avoid unneccesary memory copies and redundant code in x509
	
	getting rid of some functions that take Byte* and instead
	pass uchar* and length.
	
	keeping the signature and public key fields in CertX509
	as Bits* allows ownership transfer by swapping pointers.
	
	use common code to copy CN from subject field.

Hash:	e3cad82680aaf115ff179637fa67f32ca606b6d1
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Dec 29 19:04:42 +0000 2017

	libsec: get rid of dummy data[1] in Bytes and Ints types (thanks pr)

Hash:	ce2211b08c95836a5216c90c903f25c31be9b216
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Dec 29 05:10:25 +0000 2017

	usbxhci: add missing pexit() in xhcirecover proc (thanks sam-d)

Hash:	a021f054b0aaba768b9182dadd2da4b76fdf9576
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Dec 29 02:41:32 +0000 2017

	wifi: revert rate adoption divider, breaks arpunks wifi

Hash:	e313265eefe579f2752e1bc8279fef9145bd301d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Dec 29 00:58:47 +0000 2017

	/lib/bullshit: +converged

Hash:	8040a878de20e3f5a9b5c1b3f169cb55ffc85e57
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Dec 28 18:13:53 +0000 2017

	devtls, devssl: avoid ~0UL comparsion (from drawterm)

Hash:	80185daba9129d500bf769b8a19af5ffb195c5ee
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Dec 28 17:25:15 +0000 2017

	devmnt: use u32int for tagmask, simplify alloctag()

Hash:	b9d2a9efd5cb230009b3181d4699017155187b19
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Dec 28 03:34:03 +0000 2017

	wifi: don't implicitely update lastseen timestamp on nodelookup()
	
	in case we continue to send traffic (like ping) with the ap gone,
	the sending would keep updating bss->lastseen which prevents the
	timeout to happen to switch bss.

Hash:	d13142b3daba5e76646cd36f718a1ff5ae9e25d4
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Dec 28 00:24:38 +0000 2017

	etheriwl, etherwpi: limit transmit queue buffer bloat to 48k (at 22Mbit ≅ 20ms)

Hash:	ce9cc8a358cad7be3561554a7ebfd06f7af5360f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Dec 28 00:19:14 +0000 2017

	wifi: don't assume Wifi.rates[] is sorted, return net data rate for mbps (50% theoretical)

Hash:	9c6897e848933b1cb256416987c55d0a12f6e3bd
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Dec 23 03:45:22 +0000 2017

	arch(3): document #P/realmodemem file

Hash:	96eb90fba188f73d2172f8e8de6a96be85b6d823
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Dec 23 03:26:50 +0000 2017

	devvga: removing #v/vgabios, use /dev/realmodemem instead

Hash:	50bea0348ce8f8af3ad506affe256d22e4ffdeab
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Dec 23 02:56:12 +0000 2017

	kernel: convert textmode cga screen contents to kmesg only once
	
	screeninit() might be called again by devvga when switching
	to textmode, so only convert the text framebuffer to kmesg
	the first time.

Hash:	19419329b29cd001b1db00e67b2971ab3061bdf1
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Dec 23 02:21:01 +0000 2017

	auth(8): auth/debug tests both dp9ik and p9sk1

Hash:	02b6831fa5cb1222e42d548bf9d34aec56a5593e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Dec 23 01:58:47 +0000 2017

	kernel: remove Ipifc.mbps, unused.

Hash:	47f40d8e261db4db5ce09bf06c45203abc862add
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Dec 22 17:26:54 +0000 2017

	/lib/bullshit: blockchain

Hash:	3b7f73ccffe1c053ba6fa1cd931ecdd07cd276ba
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Dec 21 03:11:02 +0000 2017

	ip/tinc: handle and set ethertype for ipv6

Hash:	21b5656d899728c7998436a74b157d86415184d4
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Dec 19 19:57:24 +0000 2017

	upas/fs: more bugs

Hash:	a84a5c21ce23abfa3ab579f51d3152dcfc1ee1b3
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Dec 19 19:44:15 +0000 2017

	upas/fs: fix precedence bugs, compare digest pointer to nil

Hash:	417bdbb869597e171fd27384875c8fa6306e2311
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Dec 18 23:03:54 +0000 2017

	ether8169: add Macv45 for RTL8111HN, rename Macv45 -> Macv42 (thanks qeed, sam-d)

Hash:	3e22f7ef1d56efcc81e7ce0e74bc1992ef0976a8
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Dec 18 19:50:25 +0000 2017

	nusb/ether: dont forward loopback packets on bridges, remove read nonblocking hack

Hash:	c1eb4b8d6838109655744ce77e20472f8ea6a8ff
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Dec 18 19:47:55 +0000 2017

	devether: dont forward loopback packets on bridges

Hash:	1f80d31f41a630860d1e1b5712546a3dc9993b4c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Dec 18 19:44:53 +0000 2017

	devbridge: disable write blocking on ethernets

Hash:	e31934f9f317205097f09b165bcaed2e5d00aaa1
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Dec 17 19:51:41 +0000 2017

	bridge(3): clarify manpage, this is a layer2 bridge
	
	yes, it peeks into IP packets to handle fragmentation when sending
	onto tunnel ports and does mss clamping. but it can carry arbitrary
	ethernet packets just fine (between ethernets).

Hash:	3e48a666658b2636f11e28dc589180102674d343
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Dec 17 19:33:39 +0000 2017

	pc, pc64: add devbridge to kernel configuration

Hash:	520c938f0b269be3c1909ddd9b8ed33af44fd299
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Dec 17 19:30:24 +0000 2017

	devbridge: fix mss clamping
	
	- use protocol constants from ip/ip.h and ip/ipv6.h
	- support mss clamping for ipv6
	- fix padding bug on 64 bit machines (can't use sizeof(Tcphdr))

Hash:	0affe02b61bd29c83404270323f8e7a8b8c40a14
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Dec 17 19:20:17 +0000 2017

	ip/tinc: handle single byte noop and end-of-option-list tcp options in clampmss()

Hash:	15ff38e818d27d48fa8dd9450b0d4cb06b94b67d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Dec 17 16:17:26 +0000 2017

	wifi: use protocol constants from ip/ip.h and ip/ipv6.h for dmatproxy()

Hash:	070a9ef753990bc37696f059c1751d25831b5c17
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Dec 16 20:43:47 +0000 2017

	wifi: matt damon wifi bridging support

Hash:	9fd8894fec87ccd326997b84a2be431af8764cce
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Dec 15 21:22:29 +0000 2017

	ether: allow spoofing of source mac address for bridges; used by vmx
	
	to implement layer 2 bridges in userspace, we disable to auto filling
	of the source mac address when bridge mode is enabled on the
	connection.

Hash:	4ad70e6055093123f0611269ca7e8e201257e5db
Author:	aiju <devnull@localhost>
Date:	Wed Dec 13 22:20:12 +0000 2017

	vmx(1): fix virtio network bloomfilter

Hash:	e35616cb661708bcd0c8680b8562e7dc44c7a1b9
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Tue Dec 12 00:58:06 +0000 2017

	/sys/man/*/*: fix perms (sorry)

Hash:	c7eff882938b1c2ccce7e3836690f55f2a07264d
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Tue Dec 12 00:36:54 +0000 2017

	fortunes: Subject: [oss-security] nvi denial of service

Hash:	d057d67bedc4b0896ec511cf6aebc5d87438275a
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Tue Dec 12 00:34:15 +0000 2017

	/sys/lib/rootstub

Hash:	35bc3ac5735bd0edff45b68465de710ff61d2385
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Dec 9 21:07:32 +0000 2017

	devether: remove duplicated parseether() implementation (pull from libip)

Hash:	a7ac020664f1de870b09807086565030246ad6fb
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Dec 9 17:20:29 +0000 2017

	libflate: force non-empty huffman table in mkzprecode() for deflate
	
	busybox gunzip fails on empty (offset) huffman tables,
	so force one entry.
	
	gzip states in a comment:
	
	The pkzip format requires that at least one distance code exists,
	and that at least one bit should be sent even if there is only one
	possible code.

Hash:	303fb4968634b7fd16815d4c16777dba0bf97f13
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Dec 5 22:44:43 +0000 2017

	disk/edisk: allow printing and readonly inspection of hybrid MBR/GPT disks (thanks aiju)
	
	dumping hybrid MBR/GPT disks is fine, which can sometimes be found
	on USB sticks. but prohibit editing.
	
	however, always barf on disks with dos partitions and missing
	protecive MBR partition entry.

Hash:	a3c2819c5044db35e9c679157ec622f55c3268da
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Dec 4 04:14:31 +0000 2017

	realemu: fix precedence bug in argconv() format routine (thanks dan cross)

Hash:	e138750028d99c4a2155b026982e3ccaa85ccd00
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Dec 4 04:09:13 +0000 2017

	realemu: fix pit bcd mode

Hash:	d850c6012100e51d5adf7fcc5d694b82959c6288
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Dec 3 18:23:55 +0000 2017

	plan9.ini(8): 9boot(8) is not a DOS program, remove outdated BUGS section

Hash:	65566dda8ebbfddc3732c9c8caae972dd1fc9561
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Dec 3 17:54:25 +0000 2017

	devvga: properly handle physical screen size and panning
	
	- remove arbitrary limits on screen size, just check with badrect()
	- post resize when physgscreenr is changed (actualsize ctl command)
	- preserve physgscreenr across softscreen flag toggle
	- honor panning flag on resize
	- fix nil dereference in panning ctl command when scr->gscreen == nil
	- use clipr when drawing vga plan 9 console (vgascreenwin())

Hash:	a08727d9da8334c3c96de41dafc5820aac9013da
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Dec 3 15:34:35 +0000 2017

	screenlock: put position check back in grabmouse (thanks deuteron)
	
	the check was there because changing te position causes another
	mouse event to get posted resulting in grabmouse spinning.

Hash:	308407dc6e46640c3e36049aad7ad6a84ddfdc2a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Dec 3 05:41:41 +0000 2017

	screenlock: have keyboard activity reset blank timeout

Hash:	61d48161028418fef70fe982804f744b7791093b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Dec 3 05:27:18 +0000 2017

	screenlock: avoid continuous blanking, draw fullscreen over border

Hash:	e1c447bc119ad76322e700e4b8ccc582c08f264d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Dec 3 04:47:35 +0000 2017

	screenlock: some improvements
	
	check for "needkey " error string from auth_userpasswd() in case no
	key is pesent in factotum. this used to be a common trap with stand
	alone machines that do not have an authentication server setup.
	
	indicate authentication in progress by drawing a white border.
	
	delete unneccesary cruft and simplify the code.

Hash:	554fb43df5e3da4051fb7befef51c7b529b55d84
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Dec 3 04:14:33 +0000 2017

	libauth: replace proto=p9cr with new proto=dp9ik/p9sk1 role=login for auth_userpasswd()

Hash:	3ef51c16d4bb22371f198f5a336e14503a3ebafa
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Dec 3 04:10:04 +0000 2017

	auth/factotum: add role=login protocol variant to dp9ik/p9sk1
	
	the role=login protocol is ment to replace proto=p9cr in
	auth_userpasswd() from libauth to authenticate a user
	given a username and a password. in contrast to p9cr, it
	does not require an authentication server when user is the
	hostowner and its key is present in factotum.

Hash:	e614cdf02fc49cc11a3adca160d9a8cfe9b8acf8
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Dec 3 03:54:34 +0000 2017

	auth/login: add missing quotefmtinstall(), quote dom attribute

Hash:	f948c402d865bdd07a5d24b9340ff3290fc1da5a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Dec 3 01:22:48 +0000 2017

	errstr(2): add /sys/src/libc/9sys/rerrstr.c to SOURCE section

Hash:	2bf642de9d62e6cd10dbcb009fa6e1c700f56d00
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Dec 1 22:13:01 +0000 2017

	screenlock: blank screen using /dev/mousectl (thanks sl)

Hash:	f03260bf257c34bd261493806b963feddd3df42b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Nov 30 20:50:52 +0000 2017

	libsec: make includes consistent for sha2block*.c

Hash:	4cdd7049a6159f8d2ee863c08346fb08f51852b4
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Nov 30 20:30:03 +0000 2017

	libsec: unroll portable sha1block function
	
	just 6-10% slower than most assembly versions.
	20% faster on zynq.

Hash:	c09cd2882c7c15600c74a9c12f104b80203f562c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Nov 30 01:16:27 +0000 2017

	libsec: unroll portable sha2block functions
	
	- unroll the loops
	- rotate the taps on each step, avoiding copies
	- simplify boolean formulas for Ch() and Maj()
	
	this yields arround 40% throughput increase on 32/64bit
	archs for sha2_256 and sha2_512 on amd64.

Hash:	d51d54442e9d28c95b59b0e633b4b4c2755c3240
Author:	aiju <devnull@localhost>
Date:	Mon Nov 27 20:34:48 +0000 2017

	games/blit: update screen when display address changes (thanks aap)

Hash:	bea6dcd122455f77fa98f9f6c149ea302b6a8af2
Author:	aiju <devnull@localhost>
Date:	Mon Nov 27 09:30:15 +0000 2017

	vmx(1): fix openbsd 6.2 amd64 !entrystate bug

Hash:	aa3c0e55f3bb5b3b014ecb6ab1e268fa217d56a7
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Nov 27 00:31:19 +0000 2017

	libsec: optimize aesCBCencrypt()/aesCBCdecrypt()
	
	- get rid of the temporary copies and memmoves()
	- when the data pointer is aligned, do xor and copying inline
	
	speedup for auth/aescbc encryption depends on arch:
	
	- zynq	7%	(arm)
	- t23	13%	(386)
	- x230	20%	(amd64, aes-ni)
	- apu2	25% (amd64, aes-ni)

Hash:	48980502820f92ecd647d9f454513ee88f382ed7
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Nov 26 16:11:01 +0000 2017

	cga: capture cga console contents on boot, make sure cgapos is in range
	
	to capture bios and bootloader messages, convert the contents
	on the screen to kmesg.
	
	on machines without legacy cga, the cga registers read out as
	0xFF, resuting in out of bounds cgapos. so set cgapos to 0 in
	that case.

Hash:	af20ba67460b79f7c4aee7014756205baba29cd5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Nov 26 03:49:30 +0000 2017

	devvga: re-render text from kmesg after resize

Hash:	28e9566dc539244b3b429c21c556d656733839c2
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Nov 22 20:09:31 +0000 2017

	spin: Update to most recent version. (thanks Ori_B)
	
	from Ori_B:
	
	There were a small number of changes needed from the tarball
	on spinroot.org:
	
	  - The mkfile needed to be updated
	  - Memory.h needed to not be included
	  - It needed to invoke /bin/cpp instead of gcc -E
	  - It depended on `yychar`, which our yacc doesn't
	    provide.
	
	I'm still figuring out how to use spin, but it seems to do
	the right thing when testing a few of the examples:
	
		% cd $home/src/Spin/Examples/
		% spin -a peterson.pml
		% pcc pan.c -D_POSIX_SOURCE
		% ./6.out
	
		(Spin Version 6.4.7 -- 19 August 2017)
			+ Partial Order Reduction
	
		Full statespace search for:
			never claim         	- (none specified)
			assertion violations	+
			acceptance   cycles 	- (not selected)
			invalid end states	+
	
		State-vector 32 byte, depth reached 24, errors: 0
		40 states, stored
		27 states, matched
		67 transitions (= stored+matched)
			0 atomic steps
		hash conflicts:         0 (resolved)
	
		Stats on memory usage (in Megabytes):
		0.002	equivalent memory usage for states (stored*(State-vector + overhead))
		0.292	actual memory usage for states
		128.000	memory used for hash table (-w24)
		0.534	memory used for DFS stack (-m10000)
		128.730	total actual memory usage
	
	
		unreached in proctype user
			/tmp/Spin/Examples/peterson.pml:20, state 10, "-end-"
			(1 of 10 states)
	
		pan: elapsed time 1.25 seconds
		pan: rate        32 states/second

Hash:	077e719dfbf9bf2582bed80026251cc0d108c16e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Nov 19 23:10:35 +0000 2017

	libsec: write optimized _chachablock() function for amd64 / sse2
	
	doing 4 quarterround's in parallel using 128-bit
	vector registers. for second round shuffle the columns and
	then shuffle back.
	
	code is rather obvious. only trick here is for the first
	quaterround PSHUFLW/PSHUFHW is used to swap the halfwords
	for the <<<16 rotation.

Hash:	1eb373945455f1ba03fa1b221529d74ca2a778ad
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Nov 19 20:11:41 +0000 2017

	libmach: fix format for 8db sse shift ops

Hash:	15bd341cc3224a899bfeea3d6f303bf346f51334
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Nov 19 20:10:36 +0000 2017

	6l: fix typo in optab table for APSLLQ (0x7e -> 0x73)

Hash:	e3736b888701c79c9abb3de3fd28fe6ed5d3b168
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Nov 19 16:17:04 +0000 2017

	kernel: make isaconfig() consistent, not inplace tokenizing the conf string

Hash:	89653dcc749a119ef2ee51b5e9812b7820951ec3
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Nov 19 14:42:15 +0000 2017

	inst/mounthjfs: use /dev/swap instead of #c/swap to determine memory size (thanks aap)

Hash:	4a684fc627175ee27833d5fcc9569510fa04dfcd
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Nov 18 15:03:44 +0000 2017

	6in4: add -m mtu option to specify outer MTU
	
	instead of hardcoding the tunnel interface MTU to 1280,
	we calculate the tunnel MTU from the outside MTU, which
	can now be specified with the -m mtu option. The deault
	outside MTU is 1500 - 8 (PPPoE).

Hash:	435a9a150ea5d3eae891503be0224ea9c9d29bab
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Nov 16 22:15:08 +0000 2017

	9pc64: handle special case in fpurestore() for procexec()/procsetup()
	
	when a process does an exec, it calls procsetup() which
	unconditionally sets the sets the TS flag and fpstate=FPinit
	and fpurestore() should not revert the fpstate.

Hash:	859d5c9146a31c65c538ce799ed3eccd30e1e78d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Nov 16 13:15:00 +0000 2017

	audio/flacdec: add eof handler avoiding endless spinning on broken files (thanks deuteron)

Hash:	753f64a8777aac7341193ba6f17efca677509827
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Nov 13 23:16:21 +0000 2017

	pc64: fix mistake fpurestore() mistake
	
	cannot just reenable the fpu in FPactive case as we might have
	been procsaved() an rescheduled on another cpu. what was i thinking...
	thanks qu7uux for reproducing the problem.

Hash:	f4880742fd204d538168c8bae11ba2935b2b13d6
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Nov 12 23:48:46 +0000 2017

	igfx: allocate backing memory for framebuffer and hw cursor when not done by bios (from qu7uux)
	
	new approach to graphics memory management:
	
	the kernel driver never really cared about the size of stolen memory
	directly. that was only to figure out the maximum allocation
	to place the hardware cursor image somewhere at the end of the
	allocation done by bios.
	
	qu7uux's gm965 bios however wont steal enougth memory for his
	native resolution so we have todo it manually.
	
	the userspace igfx driver will figure out how much the bios
	allocated by looking at the gtt only. then extend the memory by
	creating a "fixed" physical segment.
	
	the kernel driver allocates the memory for the cursor image
	from normal kernel memory, and just maps it into the gtt at the
	end of the virtual kernel framebuffer aperture.
	
	thanks to qu7uux for the patch.

Hash:	3356e0e731bb8e0f4c82caebe358fae2c8fc9113
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Nov 12 22:15:15 +0000 2017

	libsec: AES-NI support for amd64
	
	Add assembler versions for aes_encrypt/aes_decrypt and the key
	setup using AES-NI instruction set. This makes aes_encrypt and
	aes_decrypt into function pointers which get initialized by
	the first call to setupAESstate().
	
	Note that the expanded round key words are *NOT* stored in big
	endian order as with the portable implementation. For that reason
	the AESstate.ekey and AESstate.dkey fields have been changed to
	void* forcing an error when someone is accessing the roundkey
	words. One offender was aesXCBmac, which doesnt appear to be
	used and the code looks horrible so it has been deleted.
	
	The AES-NI implementation is for amd64 only as it requires the
	kernel to save/restore the FPU state across syscalls and
	pagefaults.

Hash:	4f27f6a04f8c8709e20767b50bd7c2a22ab29340
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Nov 12 21:55:54 +0000 2017

	pc64: allow using the FPU in syscall and pagefault handlers
	
	The aim is to take advantage of SSE instructions such as AES-NI
	in the kernel by lazily saving and restoring FPU state across
	system calls and pagefaults. (everything can can do I/O)
	
	This is accomplished by the functions fpusave() and fpurestore().
	
	fpusave() remembers the current state and disables the FPU if it
	was active by setting the TS flag. In case the FPU gets used,
	the current state gets saved and a new PFPU.fpslot is allocated
	by mathemu().
	
	fpurestore() restores the previous FPU state, reenabling the FPU
	if fpusave() disabled it.
	
	In the most common case, when userspace is not using the FPU,
	then fpusave()/fpurestore() just toggle the FPpush bit in
	up->fpstate.
	
	When the FPU was active, but we do not use the FPU, then nothing
	needs to be saved or restored. We just switched the TS flag on
	and off agaian.
	
	Note, this is done for the amd64 kernel only.

Hash:	3ccd53549f245d61a1d7e4369934c502fba9c2cb
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Nov 7 23:34:08 +0000 2017

	pc64: set ts flag before schedinit()

Hash:	6eca75fafb0b125329592b5b2c1b0fcb52c0bd7f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Nov 4 19:11:20 +0000 2017

	merge

Hash:	24057fd4f494a00573d34adeaa7042721c1a06a0
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Nov 4 19:08:22 +0000 2017

	kernel: introduce per process FPU struct (PFPU) for more flexible machine specific fpu handling
	
	introducing the PFPU structue which allows the machine specific
	code some flexibility on how to handle the FPU process state.
	
	for example, in the pc and pc64 kernel, the FPsave structure is
	arround 512 bytes. with avx512, it could grow up to 2K. instead
	of embedding that into the Proc strucutre, it is more effective
	to allocate it on first use of the fpu, as most processes do not
	use simd or floating point in the first place. also, the FPsave
	structure has special 16 byte alignment constraint, which further
	favours dynamic allocation.
	
	this gets rid of the memmoves in pc/pc64 kernels for the aligment.
	
	there is also devproc, which is now checking if the fpsave area
	is actually valid before reading it, avoiding debuggers to see
	garbage data.
	
	the Notsave structure is gone now, as it was not used on any
	machine.

Hash:	778361655065b80021d7b593b0afe2c10fe99eec
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Thu Nov 2 23:55:04 +0000 2017

	/lib/rsc: It only works when we're in the process of preparing a release.

Hash:	04ce485f1b4453335db70b4a1b5d2c96458db3c1
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Nov 2 08:05:03 +0000 2017

	tinc(8): mash -> mesh

Hash:	efdd6afcd69fbaf04fbbddfc1c754b9d31123ec1
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Nov 1 17:40:17 +0000 2017

	tinc(8): more spelling spam

Hash:	ce89017481bbd49c8055ba34038ca3e9d2cd0570
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Nov 1 17:34:58 +0000 2017

	tinc(8): spelling, thanks jpm

Hash:	736c31882fbf49da3d192d328ef5b69ccd05128f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Oct 31 21:58:55 +0000 2017

	tinc(8): outout -> output

Hash:	daf292ac9d03f58aa9c788f4ec4838f887df28d3
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Oct 31 21:44:25 +0000 2017

	tinc: implement experimental mash peer to peer VPN from http://www.tinc-vpn.org/

Hash:	5c1afc882cb8cf533048dde508bcf8117244f361
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Oct 30 02:04:05 +0000 2017

	aes(2): document aes_xts_encrypt() and aes_xts_decrypt() functions

Hash:	0e68b7551a4f2784a48368a7287fe04030516c41
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Oct 30 01:08:05 +0000 2017

	kernel: pc/pc, fix comment line

Hash:	e436a529cd0ccb3e700269e5e5df5eabfaa28d64
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Oct 30 00:55:58 +0000 2017

	swap(3): document permissions and encryption behaviour, reference to memory(8)

Hash:	7e619e59e4fc445f9d42e3eb919dc29c30769913
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Oct 30 00:24:18 +0000 2017

	devcons: remove obsolete comment

Hash:	5a93b4fe2d4b76815ce06ba411f80a49fe26b3a1
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Oct 30 00:23:48 +0000 2017

	kernel: track more header dependencies in port/portmkfile

Hash:	b815eaca426c6584e703da9baa5c393af7ae335c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Oct 29 22:24:42 +0000 2017

	devswap: fix mistake

Hash:	f3f93925173d15ca48e90ce1624452d7e3b7726f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Oct 29 22:09:54 +0000 2017

	kernel: introduce devswap #¶ to serve /dev/swap and handle swapfile encryption

Hash:	93117262c2e377d9d4f1588924032d1b69e7e2f9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Oct 29 21:01:58 +0000 2017

	devfs: rewrite cryptio()
	
	adjust to new aes_xts routines.
	
	allow optional offset in the 4th argument where the encrypted
	sectors start instead of hardcoding the 64K header area for
	cryptsetup.
	
	avoid allocating temporary buffer for cryptio() reads, we can
	just decrypt in place there.
	
	use sdmalloc() to allocate the temporary buffer for cryptio()
	writes so that devsd wont need to allocate and copy in case
	it didnt like our alignment.
	
	do not duplicate the error reporting code, just use io()
	that is what it is for.
	
	allow 2*256 bit keys in addition to 2*128 bit keys.

Hash:	c021390e218066ca01828917dd940dff26ceff3b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Oct 29 20:49:24 +0000 2017

	libsec: rewrite aex_xts_encrypt()/aes_xts_decrypt()
	
	the previous implementation was not portable at all, assuming
	little endian in gf_mulx() and that one can cast unaligned
	pointers to ulong in xor128(). also the error code is likely
	to be ignored, so better abort() when the length is not a
	multiple of the AES block size.
	
	we also pass in full AESstate structures now instead of
	the expanded key longs, so that we do not need to hardcode
	the number of rounds. this allows each indiviaul keys to
	be bigger than 128 bit.

Hash:	77757dbdb197f09454c73e285439b810030b9414
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Oct 29 20:41:35 +0000 2017

	cwfs: use /dev/swap instead of #c/swap to determine memory size

Hash:	3794b1c14f15141eef839109871eb0d020023eff
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Oct 28 17:53:27 +0100 2017

	libc: improve alignment of QLp structure on amd64, cosmetics
	
	the QLp structure used to occupy 24 bytes on amd64.
	with some rearranging the fields we can get it to 16 bytes,
	saving 8K in the data section for the 1024 preallocated
	structs in the ql arena.
	
	the rest of the changes are of cosmetic nature:
	
	- getqlp() zeros the next pointer, so there is no need to set
	  it when queueing the entry.
	
	- always explicitely compare pointers to nil.
	
	- delete unused code from ape's qlock.c

Hash:	4fc4b0dda73c8a04caff079ea358c53ed3dbfc71
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Oct 26 01:42:26 +0100 2017

	libc: wunlock() part 2
	
	the initial issue was that wunlock() would wakeup readers while
	holding the spinlock causing deadlock in libthread programs where
	rendezvous() would do a thread switch within the same process
	which then can acquire the RWLock again.
	
	the first fix tried to prevent holding the spinlock, waking up
	one reader at a time with releasing an re-acquiering the spinlock.
	this violates the invariant that readers can only wakup writers
	in runlock() when multiple readers where queued at the time of
	wunlock(). at the first wakeup, q->head != nil so runlock() would
	find a reader queued on runlock() when it expected a writer.
	
	this (hopefully last) fix unlinks *all* the reader QLp's atomically
	and in order while holding the spinlock and then traverses the
	dequeued chain of QLp structures again to call rendezvous() so
	the invariant described above holds.

Hash:	83fe7aaa5ce4776c394cb9edd89189b62efb89a9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Oct 23 05:08:18 +0100 2017

	upas/smtpd: don't call syslog() from the note handler, this can deadlock
	
	when the alarm hits while the process is currently in syslog(), holding
	the sl lock, then calling syslog again will deadlock:
	
	/proc/1729193/text:386 plan 9 executable
	/sys/lib/acid/port
	/sys/lib/acid/386
	acid: lstk()
	sleep()+0x7 /sys/src/libc/9syscall/sleep.s:5
	lock(lk=0x394d8)+0xb7 /sys/src/libc/port/lock.c:25
		i=0x3e8
	syslog(logname=0x41c64,cons=0x0,fmt=0x41c6a)+0x2d /sys/src/libc/9sys/syslog.c:60
		err=0x79732f27
		d=0x0
		ctim=0x0
		buf=0x0
		p=0x0
		arg=0x0
		n=0x0
	catchalarm(msg=0xdfffc854)+0x7a /sys/src/cmd/upas/smtp/smtpd.c:71
	notifier+0x30 /sys/src/libc/port/atnotify.c:15

Hash:	e3d8fe9d4a1085cbf7237411bcd1996613334994
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Oct 20 19:58:38 +0100 2017

	libc: cleanup atexit and put exits() in its own compilation unit
	
	this avoids having to pull in atexit() and its dependencies
	(lock(), unlock()) into every program. (as exits() is called
	by _main() from main9.s).

Hash:	67d9c6b2f98888dc81154b0499bbd26171f908a6
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Oct 20 19:31:30 +0100 2017

	vt: block when sending input to host (fixes truncated paste)

Hash:	29411f58cfa62a7d05713070338d82b722364665
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Oct 17 20:36:45 +0100 2017

	libsec: make sectorNumber argument for aes_xts routines uvlong

Hash:	45b7d60bf385aa9ac0bab7bb8c694f8221893024
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Oct 17 20:34:01 +0100 2017

	libsec: add AES CFB and AES OFB stream ciphers

Hash:	0db4f40629762d1be583c49756cbcfc2561cb0fa
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Oct 17 19:15:48 +0100 2017

	aux/wpa: prevent PTK re-installation attack by replaying AP retransmits
	
	this implements the mitigation suggested in section "6.5 Countermeasures" of
	"Key Reinstallation Attacks: Forcing Nonce Resuse in WPA2" [1].
	
	[1] https://papers.mathyvanhoef.com/ccs2017.pdf

Hash:	1d34a855fe736729fe35013f2c5a007d9d715877
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Oct 16 03:06:17 +0100 2017

	ape/libsec: fix the build, bring ape libsec.h in sync with plan9 version

Hash:	8fdf22d5fb5dca8b0acb1cbfccca1eda33b7d39f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Oct 6 20:00:08 +0100 2017

	ssh: remove extern declarations for pkcs1padbuf() and asn1encodedigest() (now in libsec.h)

Hash:	0a3695ba844972e332dc28efa1ecb232a8eff9ba
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Oct 6 19:55:57 +0100 2017

	rsa: add auth/rsa2asn1, check write error in auth/rsa2x509 and auth/rsa2pub, document in rsa(8)

Hash:	8a67560183b3b726c827bcac02632b2b8e3ba59d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Oct 6 19:52:18 +0100 2017

	libsec: export asn1encodedigest(), asn1encodeRSApub(), asn1toRSApub(), pkcs1padbuf() and pkcs1unpadbuf()

Hash:	5f42da15355e3548634b778271251e7d078f01e6
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Oct 5 19:33:46 +0100 2017

	libsec: allow \r\n terminated lines in decodePEM()

Hash:	99700fb02476489385f54ff281b623a4d86c4ab0
Author:	aiju <devnull@localhost>
Date:	Wed Oct 4 16:56:53 +0100 2017

	check for fs= in netaudit

Hash:	d5576d84733a92fd4237da0ba871c6efe8e7a3c6
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Oct 4 04:06:54 +0100 2017

	hgwebfs: simplify retry loop construction

Hash:	b12763136e0169485da2a910127cea27353dd17b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Oct 4 04:04:33 +0100 2017

	ndb/cs: icmp only supports version 4 addresses, icmpv6 only version 6 addresses

Hash:	c11a3bb3b1e2713b1f48fd7df8ead818f62cf4ac
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Oct 4 04:01:54 +0100 2017

	libauthsrv: preserve readcons() error message from read() error

Hash:	19b026bdbbe297c3d404f883b27409ae036c8a42
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Oct 4 02:59:17 +0100 2017

	hg: disable tag caching, allows accessing hg repo from dump

Hash:	a9b4126468e49b662c12d2d35251443a6d7a3192
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Sep 29 20:19:12 +0100 2017

	9boot: limit read size to 4K for efi simple file system protocol
	
	copying files from the uefi shell works, reading plan9.ini works,
	loading the kernel by calling Read to read in the DATA section of
	the kernel *FAILS*. my guess is that uefi filesystem driver or
	nvme driver tries to allocate a temporary buffer and hasnt got
	the space. limiting the read size fixes it.

Hash:	87274893d81eda9315a7441ff49928a3a6741609
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Sep 27 13:13:58 +0100 2017

	pc64: add ether82598 driver to configuration

Hash:	d9b37eff37a6d5a0a1ab5c7563ce0818b1d368f5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Sep 27 13:13:18 +0100 2017

	ether82598: support for T540-T1, use physical addresses for isaconf port
	
	reading mac doesnt work yet, requires ea= option in isaconf.

Hash:	797952d0658534a11da0f2208fc63823dad40439
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Sep 27 13:02:13 +0100 2017

	sdnvme: identify namespace list fails on intel ssd, just assume nsid=[1]

Hash:	330e7ef39b9a4afa6f484b80bdc3684603c83387
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Sep 27 12:59:55 +0100 2017

	kernel: don't tokenize inplace in isaconfig() to make /dev/reboot work

Hash:	dad00a77da3ebfd0f6fa725dbbc98469984b2341
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Sep 27 12:58:00 +0100 2017

	kernel:  get rid of 36 bit Paerange mask in mtrr (supporting machines with more than 64GB of memory)

Hash:	b8d4c6ff17bbfdf6619454bbdbd65612a6d7defb
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Sep 23 16:33:05 +0100 2017

	upas/fs: fix putcache(), sub-part messages should never go into the lru
	
	we accidentally added non-top messages (attatchments) to the lru,
	resulting in attachments to be freed. this is wrong.

Hash:	546046b46bd920c9da13e46c87efa08ab0c85bfa
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Sep 22 11:55:26 +0100 2017

	xhci: do bounds checking in capability walking, check if controller vanished on init (thunderbolt unplug)

Hash:	7722220ff5673036f3d058ebfdd45fe3078057da
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Sep 22 10:48:41 +0100 2017

	sshfs: use mtime for qid.vers, fix wstat without name change, fix wstat memory leak

Hash:	e09c2b721b7d4f0d0750c3338dd227d4bc3a95c5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Sep 13 22:24:10 +0100 2017

	upas/fs: replace fixed cache table with lru linked list
	
	the cachetab just keeps track of recent messages that have not
	been called cachefree() on. under some conditions, the fixed
	table could overflow (all messages having refs > 0). with a
	linked list, overflow becomes non fatal and the algorithm is
	simpler to implement.

Hash:	1c8b5de992131cc255b18781b5da528220392c6b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Sep 11 18:17:12 +0100 2017

	winwatch: show windows with empty labels (thanks jpm)

Hash:	be7f3fb5e44b3f282a26fa7c6dd50a08677ae069
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Sep 10 21:35:23 +0100 2017

	rename pcf kernel to pc, remove pcf, pccpuf, pccpu64 kernels, update documentation
	
	there isnt much of a point in keep maintaining separate
	kernel configurations for terminal and cpu kernels as
	the role can be switched with service=cpu boot parameter.
	
	to make stuff cosistent, we will just have one "pc" kernel
	and one "pc64" kernel configuration now.

Hash:	9af11534511370520f3fa03224ac5d367a97908d
Author:	BurnZeZ <brz-9dev@feline.systems>
Date:	Sun Sep 10 03:27:31 +0100 2017

	audiohda: add pci id for nvidia GM204

Hash:	1ab2fed7a456e1ee1fcaf7b3a046ae6eaa060ba3
Author:	BurnZeZ <brz-9dev@feline.systems>
Date:	Sun Sep 10 03:21:31 +0100 2017

	audiohda: add pci id for Intel 9 Series

Hash:	b9b4797d56fe17006becfc2932d2431ee2508608
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Sep 10 02:12:00 +0100 2017

	vmx(3): document changes to devvmx interface

Hash:	e6e745e7761b0a3fe10b4b42fa212708ad2fc807
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Sep 10 00:37:30 +0100 2017

	audiohda: add pci id for ICH10 (thanks echoline)

Hash:	bd4513fe87360c790e2a96e00dacbf34c5f081cc
Author:	aiju <devnull@localhost>
Date:	Sat Sep 2 11:43:37 +0100 2017

	devvmx: call vmxshutdown from reboot() function manually

Hash:	6ed716eab605e4b374e7d456cc6b3ed586c9f13b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Aug 29 20:22:31 +0100 2017

	sshfs: fork ssh in its own namespace so it wont keep the mountpoint open

Hash:	3e3d8880d139a49b5fb770dce49e64c2442ac8c2
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Aug 29 18:49:38 +0100 2017

	sshfs: start sendproc and recvproc in the sane notegroup as the fs process so theadexitsall() works on sshfs: ending.

Hash:	e44bf536af27853196c0d1d86e0ef41c4cefadf6
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Aug 29 18:38:29 +0100 2017

	ether82563: make the ethernet of thinkpad p50 work (thanks sam-d)

Hash:	b41bd1b007f497c8a3ceccdaae877634727fed2d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Aug 29 18:37:26 +0100 2017

	audiohda: Intel Sunrise Point-H support (thanks sam-d)

Hash:	30ea7ad58affeea1a0df11cb423eee10161fa9f5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Aug 29 08:52:53 +0100 2017

	sdnvme: pass 0 instead of 0xffffffff as NSID for identify controller and create completion/submission queue commands (thanks Ori_B)
	
	Samsung SSD 960 EVO fails with invalid namespace error otherwise...

Hash:	c4e51c5678d7f359bf0d33dba8f0bd422d979725
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Aug 28 18:45:49 +0100 2017

	devdup: remove useless OCEXEC check, handled by namec()

Hash:	6fa983a5b9f89346b25a8bacc57b2c21dab36300
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Aug 28 18:42:19 +0100 2017

	merge

Hash:	c492a8009ab42d9409d32785c48c1d3c1b8bf076
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Aug 28 18:40:53 +0100 2017

	devsegment: handle ORCLOSE on segment directory correctly, fix wrong qid, missing COPEN flag for segmentcreate()

Hash:	e5d3aaf1aad275156a7c1bf747c9594ec285f8bf
Author:	aiju <devnull@localhost>
Date:	Mon Aug 28 18:27:41 +0100 2017

	devvmx, vmx: lilu dallas multivm

Hash:	853049c3b9a3c84b6de4eaa5edab039c4d3df98c
Author:	aiju <devnull@localhost>
Date:	Mon Aug 28 18:19:13 +0100 2017

	vmx(1): don't realloc virtio queues -- breaks pointers

Hash:	543ccb37f47db89be6b6fe0e651f095897bbee08
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Aug 27 20:20:20 +0100 2017

	sdiahci: Intel 200 Series Chipset Family PCH support (thanks aiju)
	
	we used to tweak arround in the ICH registers for all intel controllers,
	which is wrong, as the 200 series has different magic registes. see
	the datasheet:
	
	https://www.intel.com/content/www/us/en/chipsets/200-series-chipset-pch-datasheet-vol-2.html
	
	this caused the clocks to be disabled for the 6th port causing a full
	machine lockup touching the 6th port registers.
	
	the next problem was that aiju's bios disabled the unused ports somehow
	but didnt clear ther PI bits, so that they would stay in Sbist status even
	after a port reset. so the port would get stuck in the Dportreset state
	forever. the fix for this was to use a one second timeout for the
	port reset procedure.

Hash:	6104ebc9b6f1805a827c0a2acae8978a3fa33603
Author:	aiju <devnull@localhost>
Date:	Thu Aug 24 14:02:27 +0100 2017

	libmach: support disassembling from memory

Hash:	721160290f138f087d199ab79875eae3de5e61fc
Author:	aiju <devnull@localhost>
Date:	Thu Aug 24 10:25:23 +0100 2017

	vmx(1): VGA framebuffer should be normal memory

Hash:	b0997d16c62d141e532b9a79993783531f6fc5ce
Author:	aiju <devnull@localhost>
Date:	Thu Aug 24 10:01:30 +0100 2017

	vmx(1): fixed code that assumed uintptr==uvlong

Hash:	8968426327c93f47ff0d8123941b7d1d2077d6c7
Author:	aiju <devnull@localhost>
Date:	Thu Aug 24 09:06:41 +0100 2017

	vmx(1): memory map improvements, x86 simulator for MMIO

Hash:	9616f6187202900fa8d86d197d5b7bc56f83609b
Author:	aiju <devnull@localhost>
Date:	Thu Aug 24 08:53:10 +0100 2017

	devvmx: more efficient data structure for memory map; simplified (more reliable) step function

Hash:	174d7e52a3fd4b48bece311415fbdd9e1bb85ccc
Author:	qwx <devnull@localhost>
Date:	Tue Aug 22 22:25:39 +0100 2017

	igfx: fix cdclk and dpll settings for dual channel lvds on sandybridge

Hash:	c6359c3090bf0ca958aab17693567e1b00825213
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Aug 22 21:48:01 +0100 2017

	vt: turn off nl -> nl+cr translation default in raw mode, don't scroll more than screen height

Hash:	c4fd860a561c40c7f161ff9d5886acf6f839687d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Aug 20 21:18:09 +0100 2017

	vt: block selection mode for snarf

Hash:	797f85f0233d1d17d887afbf73e603b93d51efcd
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Aug 20 18:23:56 +0100 2017

	merge

Hash:	b28c3db57884d406d5a39750fdc9e46baeb139af
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Aug 20 18:22:30 +0100 2017

	vt: implement /dev/cons and /dev/consctl as a fileserver, winch, incremental redraw
	
	we used to bind a pipe to /dev/cons and /dev/consctl with some
	shared segment hack to pass tty info arround. now we implement
	this as a fileserver.
	
	add support for "winchon"/"winchoff" ctl message to enable interrupt
	on window size change. (used by ssh)
	
	keep track of fullscreen scrolls, avoiding redrawing the whole
	screen each time.

Hash:	bc54898807d27e79ba9f1b595ef3e09e3da67522
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Aug 20 18:17:46 +0100 2017

	ssh: issue "winchon" ctl request to /dev/consctl to get interrupt on window size change from vt(1)

Hash:	eeb8007e607cfea2d3f503f2c6bdf98875c115c9
Author:	qwx <devnull@localhost>
Date:	Sun Aug 20 11:52:52 +0100 2017

	igfx: add did for x220

Hash:	8c358c3f97db172a131c36d593b9aabeed6bc645
Author:	qwx <devnull@localhost>
Date:	Sun Aug 20 11:47:01 +0100 2017

	igfx: fix sandybridge fdi link training bits and ordering
	
	- fix wrong bitfield for txctl (different between snb and ivb),
	  and enable tx before rx
	- DPLL_CTL_x snb/ivb: don't touch reserved bits

Hash:	faae8eb752fc9df65811ffb1b8cb8f0594cd4b2f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Aug 14 03:18:13 +0100 2017

	vmx: allocate sticky instead of more expensive fixed segment

Hash:	6f6df11db70363d600a30960b7c7f00076e22664
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Aug 13 18:19:55 +0100 2017

	vmx: pass multiboot framebuffer info to kernel

Hash:	c78d4c4ce70f09dd6a37f0327dfdccab68b7a490
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Aug 13 14:26:24 +0100 2017

	ether82563: add more pci ids for i210 and i354 from 9atom / openbsd

Hash:	b3d581752bbffdd031a3f65c7238b200882b2c85
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Aug 12 22:36:24 +0100 2017

	ether82563: support for i211 with iNVM. (thanks mfny and brennan for testing)

Hash:	9cf3dc9a259cadc80e6d3840c658ef1d5f7c94a4
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Aug 12 20:34:06 +0100 2017

	awk: allow string as exit status

Hash:	3f9d5e4a4f9e4f0b5fe66e4a6745a4b8c5f6e447
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Aug 11 02:38:10 +0100 2017

	awk: don't get into a infinite loop with eof while in string (thanks BurnZeZ)

Hash:	6b999263ae69d64870a8bf02a06c1f707a73a7e0
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Aug 11 00:32:24 +0100 2017

	kernel: double READSTR buffer size to 8000 bytes for devusb

Hash:	7dab4923247b4d07e63bdea80f6063a778d07d12
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Aug 11 00:08:13 +0100 2017

	devusb: superspeed bandwidth allocation handled by controller, skip usbload() calculation
	
	with xhci, bandwidth allocations are handled by the controller
	and there are various speed settings possible that currently
	not exposed in the Udev. so just keep usbload() as it is for
	usb2 and keep ep->load as zero for superspeed.

Hash:	153793714ec92bd3a3aa4a3b2d26861c54dd03c4
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Aug 11 00:00:09 +0100 2017

	nusb/disk: add a 100ms sleep after ums reset, remove unused note handler, cleanup
	
	my pretec usb stick sometimes hangs on the first inquiry request,
	waiting for the inquiry response forever. adding a 100ms delay after
	the reset command seems to fix it.
	
	getting rid of unused "ding()" note handler and simplify umsrequest()
	incomplete read handling.

Hash:	0daed9edea06e8699b662efe7fe2625ad206f75e
Author:	qwx <devnull@localhost>
Date:	Thu Aug 10 16:09:49 +0100 2017

	doom: clean up temporary mus files

Hash:	16ef6e5596e08a79bb620e605892f68188a817f0
Author:	qwx <devnull@localhost>
Date:	Thu Aug 10 10:39:18 +0100 2017

	add games/wadfs

Hash:	4be612946fe849d56d24d4816127644bf1a6ab17
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Aug 9 17:53:48 +0100 2017

	vt: fix silly bug causing characters be drawn one at a time

Hash:	ef3af6eaa3da78c330596a88779469337eebc49d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Aug 8 18:02:42 +0100 2017

	sysinfo: run aux/icanhasvmx with verbose flag

Hash:	541e211b7c964b7c02dead4e8c61d2add10bc94f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Aug 8 09:16:13 +0100 2017

	sysinfo: only dump #r/nvram on amd64,386
	
	right now, theres no kernel that stores hostowner keys
	in #r/nvram, but this could change in the future. so
	only dump #r/nvram on the pc where we know that its
	not used to hold keys.

Hash:	ddf977d25c26d1cc3e83a08d9a3f19907dff35cc
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Aug 7 18:10:32 +0100 2017

	vmx: fix hlt idle problem

Hash:	e0474599ddbeafb7f2734fead8cbba62c466990a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Aug 7 00:59:54 +0100 2017

	usbxhci: implement recovery from host controller errors

Hash:	7d1b9e39f7b1dac4c2ed6e3771585548ccd9e2d4
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Aug 5 13:30:48 +0100 2017

	inst: don't hardcode /net/ether0, might have usb ethernet

Hash:	caddc9a6ea0c8aeb2510ec9eda67eb4f2e82a00c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Aug 4 13:18:40 +0100 2017

	inst: get rid of ppp configuration

Hash:	d5bbee50a019aaa91f16ab115f606739e837cb9c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Aug 4 13:17:29 +0100 2017

	inst: get rid of halt, just run fshalt in finish directly

Hash:	f777f7c4211100c0a0ae0c25f668523dc21a5677
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Aug 4 13:16:07 +0100 2017

	inst: post newfs fileservers under /srv/$fstype.newfs to avoid conflict with preexisting local filesystem

Hash:	8fce6cb18bc8926d8845d528773b74cefb4e2202
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Aug 4 13:12:02 +0100 2017

	cwfs: -n always overrides postservice() name, no matter if config mode changes service

Hash:	bb625cebfce32d82e83107c6ac7468021746c4af
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Aug 3 22:15:58 +0100 2017

	etheriwl: add pci id for Intel Centrino Advanced-N 6200 on x201 tablet (thanks arpunk)

Hash:	83b87729d94850396c7183376320e16dbb80ecc5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Aug 2 20:17:50 +0100 2017

	usbxhci: handle out of memory in controller initialization

Hash:	1ea109345b8654110239d9c2695ae15486aa6810
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Aug 2 19:25:19 +0100 2017

	usbxhci: abandon multiple requests per endpoint, cleanup
	
	more conservative approach: only one transaction in flight
	per endpoint (except iso). also serialize controller commands.
	no driver currently uses this and i doubt it is usefull.
	
	create constants for common TRB flags and remove bogus 1<<16
	flag on TR_NORMAL.

Hash:	8ed13fe6643eab17ef3f5cff75830d3a7c1bc715
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Aug 2 00:45:30 +0100 2017

	usbxhci: have to serialize and set read pointer for endpoint stop command

Hash:	f001ddfdb598f9a588b22c029a5ade9030324c4b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Aug 1 01:22:01 +0100 2017

	disk/edisk: add some headroom in the type table for dynamic entries

Hash:	3c7eaa9d6bbdd448675a7e9d4fe46bc0a48a4ade
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Aug 1 01:08:58 +0100 2017

	disk/edisk: add more partition type uuid's from wikipedia (thanks qeed)

Hash:	5f23d78f068fcc33555705ee43933fc8ed8b4fc0
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jul 31 16:36:56 +0100 2017

	usbohci, usbehci, usbxhci: save mmio base address in ctlr, cant PADDR() on 386...

Hash:	48352be82574e39a54e44b5ed38d407dcb66a0bb
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jul 31 15:05:58 +0100 2017

	usbxhci: provide shutdown function to halt the controller

Hash:	56ac6ea29e1b9dfdad8c7b1875f81c242362da2a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jul 31 14:29:08 +0100 2017

	nusb/*: cleanup

Hash:	b1d4e860642d13805e47ee5cf9f373d8c97d0bc4
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jul 31 13:38:39 +0100 2017

	nusb/usbd: support for usb3 hubs

Hash:	b4c1cf2ea1220698c00fa2692477505e20431bb0
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jul 31 05:56:22 +0100 2017

	libregexp: fix lexer so it doesnt move past the string when it gets a \ escape

Hash:	6e65596827f7ee292221697ff5248c9bc9520851
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jul 31 02:22:23 +0100 2017

	xhci: experimental usb3 support

Hash:	215b67ff3d630c56418026dda7ae68f23111c4a5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jul 31 02:19:24 +0100 2017

	nusb/usbd: create endpoint files for conf #1, usb3 preparation

Hash:	d46099e3afa9681a4f98e0d2574c2ad65820ed7e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jul 31 02:07:14 +0100 2017

	usbehci: fix crash in cancelisoio() for highspeed device due to wrong pollival

Hash:	adfb0e9371752ffb8d9995d4678e6bfa24c75f60
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jul 29 00:15:05 +0100 2017

	pc, pc64: enable usbxhci in the configuration

Hash:	cd108e2f0b45fd44503528e210d82e47acceebe7
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jul 29 00:12:32 +0100 2017

	usbxhci: simplify xecp()

Hash:	c74538a67e57ab9e37826104210d1c1f64711a04
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jul 29 00:02:23 +0100 2017

	usbxhci: implement controller handoff, ignore usb3.0 ports, honor pollival for isochronous endpoints

Hash:	aaf6d7c5586d442c0bc10ed50558b984faeb51aa
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jul 24 22:48:50 +0100 2017

	usbxhci: basic iso write support (usb soundcard playback)

Hash:	a397bfd48c9b0f2f0d335752cb52f286afcf1ad7
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jul 24 22:47:55 +0100 2017

	usb: fix wrong pollival calculation in setmaxpkt()

Hash:	0b4ace02c469484c9f2a42fdc79ffe1d123d04d8
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jul 22 18:35:32 +0100 2017

	usbxhci: handle changing maxpkt on control endpoint by reevaluating endpoint context
	
	while endpoints != 0 are opend after the device descriptor has been
	parsed and the endpoint properties like maxpkt have been set, the
	control endpoint is opend with a guessed maxpkt value. once the first
	8 bytes of the descriptor have been read by usbd, maxpkt gets set and
	we need to reevaluate the control endpoint 0 context to update the value.

Hash:	f72bcce2c745ad3a7ac2a28323edbde2eb3b85ce
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jul 22 15:37:05 +0100 2017

	usbxhci: use physical register addresses for matcing controllers and printing. simplify endpoint slot initialization.

Hash:	f0217d2c3f31d83bbae91f6f549dc3cfa48e3fc6
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jul 22 15:35:13 +0100 2017

	usbohci, usbuhci, usbehci: use physical address of registers for matching controllers and printing

Hash:	ffb28698bf5922f5d89a0d986fc6ab289fd5b6d3
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jul 20 20:03:00 +0100 2017

	kernel: fix bounds check in screenputc()

Hash:	4fd68773e2c5935b1b5bce0376ced783f87c7934
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jul 20 18:57:14 +0100 2017

	usbxhci: implement command timeouts and aborts, serialize unstall

Hash:	40dc39bf7d8d17a84d6a2a427ca7facd8b2cb66b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jul 17 20:10:25 +0100 2017

	usbxhci: better approach to unstalling endpoint and fixup td ring
	
	instead of guessing where the controllers dequeue pointer went,
	stop the endpoint and then explicitely set te dequeue pointer to
	the next write td position. that way we do not need to fix the cycle
	bit in the td's and dont need to rely on if the controller
	advanced the dequeue pointer after a stall or not.
	
	add ctx and slot back pointers to ring.

Hash:	eee7357c2778a65a3ecf552ac44b9a419e6e92d9
Author:	BurnZeZ <brz-9dev@feline.systems>
Date:	Mon Jul 17 05:56:09 +0100 2017

	hpost: delimit @filenames by newline so files with whitespace aren’t mangled

Hash:	37e0d4ab29c8483aab727b76effaec009b650153
Author:	BurnZeZ <brz-9dev@feline.systems>
Date:	Mon Jul 17 05:34:14 +0100 2017

	hpost: fix field content mangling when newlines are present

Hash:	e7e18aac7f96e8575f257977582ac981ad278c06
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jul 16 21:33:24 +0100 2017

	pc kernel: mkfile target usbehcipc.$O needs ../port/usb.h, add usbxhci.$O

Hash:	5e6f1b5769e3e8c391178d82c570fbb566e9bbfb
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jul 16 21:29:29 +0100 2017

	usbxhci: commit work in progress xhci driver, no config yet

Hash:	990a985836be2f3bc98755999006cb188815aad9
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Sun Jul 2 20:49:44 +0100 2017

	/lib/{rob, rsc, theo}: Yup.

Hash:	64195aea410e3b8f7e01183ea870669fb5708a8c
Author:	Ethan Grammatikidis <eekee57@fastmail.fm>
Date:	Sun Jul 2 19:12:50 +0100 2017

	print(2): clean up vlong flag description

Hash:	a4c35d47bf2c591a4d699f50107819b637a52e7c
Author:	Ethan Grammatikidis <eekee57@fastmail.fm>
Date:	Sat Jul 1 16:10:57 +0100 2017

	rc(1): catch up with a change made long before 9front

Hash:	4bcde1a30b3d22c959d27887cf20fe8bb72ed02c
Author:	Ethan Grammatikidis <eekee57@fastmail.fm>
Date:	Sat Jul 1 16:02:18 +0100 2017

	pc(1) clarification

Hash:	f58706f2cf09a338bd39153757d1db399ad73f9e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Jun 28 17:57:13 +0100 2017

	zynq: simplify initcode stack setup (just do it in init0 when the stack is mapped)

Hash:	befdd7d7559f95734976d0ae127ac234eeb5b7d3
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Jun 28 17:56:16 +0100 2017

	kernel: pass bootargs also in multiboot command line, retire the bootline mechanism to pass arguments to /boot/boot

Hash:	c4b02ff9e6d86ae9522bcff4e847a88eb4336864
Author:	aiju <devnull@localhost>
Date:	Tue Jun 27 10:29:37 +0100 2017

	change icanhasvmx to report extra info only with -v

Hash:	dffbc1e45d61bb928ea6a9d0b1206d641daf24fe
Author:	aiju <devnull@localhost>
Date:	Tue Jun 27 10:21:30 +0100 2017

	vmx(1): I/O string instructions, incomplete support for IDE disks, misc fixes

Hash:	b5a6dc7849cbd9f1fd23183ba46f0d5deb24e81d
Author:	aiju <devnull@localhost>
Date:	Mon Jun 26 23:24:00 +0100 2017

	vmx: fix build on non-x86 architectures (switch vlong)

Hash:	a9dd55c2ff1b714b1eae5547e8c2b985f9fd452c
Author:	aiju <devnull@localhost>
Date:	Mon Jun 26 00:23:56 +0100 2017

	libfis: fix inverted CHS bit

Hash:	63b8965b42aa0ba7909494e13de6913dc88bd93e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jun 25 21:57:47 +0100 2017

	devvmx: add support for SG_STICKY segments

Hash:	aab4e32ce05a26bff7386bb86ffc24589cbe601c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jun 25 21:22:58 +0100 2017

	pc, pc64: support for multiboot framebuffer, common bootargs and multiboot code

Hash:	ffde0eda463e8b908975abcabc5345cfaa1a14f7
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jun 25 21:14:52 +0100 2017

	aux/vga: simplify vesa by adding rgbmask2chan() function

Hash:	e2ca58cb3ef6991fb467b30b7693e7b91692fa82
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jun 22 19:48:14 +0100 2017

	merge

Hash:	81274ea0cf5b205d18f7345d5cf883bbd1fdac30
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jun 22 19:46:04 +0100 2017

	upas/fs: handle plumbing for new messages for concurrent index updates
	
	when multiple upas/fs instances are running on the same index,
	another upas/fs could have written the index, but we still want
	to plumb the message.
	
	so we introduce another cstate flag "Cnew" that is set when a
	message that we havnt seen before by rdidx().

Hash:	5883986336a9854a564da025eccebe7ab0076a79
Author:	aiju <devnull@localhost>
Date:	Thu Jun 22 08:31:35 +0100 2017

	vmx(1): fix translateflat on 64-bit

Hash:	cabfa4e9160d0fbaec57eab5e9d264dc555e0275
Author:	aiju <devnull@localhost>
Date:	Wed Jun 21 23:19:14 +0100 2017

	devvmx: add support for extrap command to configure halting on exceptions

Hash:	5c0bff4ba204cfad7aedb8c1c20f1c29265dcb01
Author:	aiju <devnull@localhost>
Date:	Wed Jun 21 23:18:26 +0100 2017

	vmx(1): add support for (so far) crude 9p debugging fs; add gdb stub; clean up linux gdt code

Hash:	37b9ab5a043e45a68979632c177e11af7a439027
Author:	aiju <devnull@localhost>
Date:	Wed Jun 21 10:59:32 +0100 2017

	devvmx: error handling in clearmeminfo

Hash:	779f6cb3b8a304677c293e5deff3305336681997
Author:	aiju <devnull@localhost>
Date:	Wed Jun 21 10:16:43 +0100 2017

	devvmx: remember segment names and free segments properly

Hash:	99ed9623b59b4aa6aa27215785b05f17118f8855
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Jun 20 21:28:30 +0100 2017

	segment(3): document sticky segment type

Hash:	2723c9fc775c6366011f6915d3ea1aab085a92fe
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Jun 20 20:53:45 +0100 2017

	kernel: add support for sticky segments (cached, preallocated, never paged)

Hash:	fb165d6a54e46712036ec1cf4332905b94c1f97b
Author:	aiju <devnull@localhost>
Date:	Tue Jun 20 19:21:47 +0100 2017

	vmx(1): obsdfb: check if curmode is nil

Hash:	da6e5efe394ccb8e5edff66f9ec3ac8d9b1ed081
Author:	aiju <devnull@localhost>
Date:	Tue Jun 20 19:20:25 +0100 2017

	vmx(1): round up frame buffer size to whole pages, ignore vga access in linear framebuffer, tell openbsd about framebuffer

Hash:	164588e3e2aca1f6deac1dd4bcf962a0867a26fc
Author:	aiju <devnull@localhost>
Date:	Tue Jun 20 16:15:53 +0100 2017

	vmx(1): clean up region handling code; changes to support amd64

Hash:	becb89bae53e01785bfd843478737eeb77a9419f
Author:	aiju <devnull@localhost>
Date:	Tue Jun 20 16:10:08 +0100 2017

	pc, pc64: adapt devvmx to work on pc64

Hash:	9fb2001658fb59fa0c7437f856491ef5f4214ebe
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jun 19 19:58:44 +0100 2017

	merge

Hash:	f109558b0c9281a22159458f1a9986ae7932ed64
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jun 19 19:56:47 +0100 2017

	8l, 6l: get .frame offset right undoing $-4 hack

Hash:	115f7b244088cc2e662710a9d64beddd96b955fa
Author:	aiju <devnull@localhost>
Date:	Mon Jun 19 19:41:34 +0100 2017

	vmx(1), vmx(3): update manpages

Hash:	a83ce26b41be995bcde2b8f6bec6f93522f4f514
Author:	aiju <devnull@localhost>
Date:	Mon Jun 19 18:22:41 +0100 2017

	ktrace(1): handle amd64 stacktraces correctly

Hash:	f1cc75b5473f938b573b133be43f5d4f368d696f
Author:	aiju <devnull@localhost>
Date:	Mon Jun 19 12:06:26 +0100 2017

	vmx(1): i8042: translation changes reported keyboard id

Hash:	2806a34ec0152cbf8ac0e2198bda111a9b1273bd
Author:	aiju <devnull@localhost>
Date:	Sun Jun 18 23:17:35 +0100 2017

	vmx(1): linux kernel loading; PIT fixes to support linux; support VGA 0x3D4 word writes; support sending virtio ethernet packets to a file and prepending snoopy headers

Hash:	ed040d676ad95858211ec8b5f43e8713692fdeb2
Author:	aiju <devnull@localhost>
Date:	Sun Jun 18 23:13:20 +0100 2017

	devvmx: fix CR0/CR4 readout; also don't exit on PAUSE instruction

Hash:	eaffaab79030463fff1587ea595ea104204737ed
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jun 18 21:28:45 +0100 2017

	remove /sys/lib/##redacted##.##redacted## (thanks ##redacted##)

Hash:	7ab86494986671bf38464435f57fb6f925ce8632
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jun 18 21:21:46 +0100 2017

	authsrv(6): don't say old p9any isnt in use anymore...

Hash:	3fc29c69846082a7724d39c48503e9fb711e5289
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jun 18 20:59:16 +0100 2017

	auth/factotum: complete p9any v.2 server protocol, but don't enable it.

Hash:	a1c1e00973b8799860db594e64a9dee231e325d1
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jun 18 17:52:54 +0100 2017

	upas/fs: work in progress...
	
	get plumbing logic out of mailbox drivers, all handled from
	syncmbox() now. avoid reentrancy in syncmbox().
	
	store attachment filename in index, so that we can return it
	in mail info without fetching headers. (used to return blank
	filename when read out of the index messing up attachments in
	nedmail).
	
	maintain Message.size for attachments.
	
	get rid of string "refs" and just have a simple string intern
	table (only used for Message.type and Message.charset).
	
	Message.replyto and Message.filename are owned by the index,
	so don't free in delmessage().

Hash:	c3d372c3dae46dbf4657ded30dc3b2bf6c369f59
Author:	aiju <devnull@localhost>
Date:	Sun Jun 18 02:51:28 +0100 2017

	vmx(1): fix '-v text'

Hash:	98b1a59547584bd823ed0aa3db0a65c6af56e0d6
Author:	aiju <devnull@localhost>
Date:	Sun Jun 18 00:30:23 +0100 2017

	vmx(1): don't zero all memory, don't abandon uart on eof, sleep before transmitting uart data

Hash:	21669c4c9734c948eb3be971db7a345b5349469a
Author:	aiju <devnull@localhost>
Date:	Sat Jun 17 23:52:13 +0100 2017

	vmx(1): fix non-vesa framebuffer mode

Hash:	52a3502927870a330f02a9b71cf9710f65f1a58a
Author:	aiju <devnull@localhost>
Date:	Sat Jun 17 23:50:03 +0100 2017

	vmx(1): support debug instructions

Hash:	2bb65c40ab0713b011ff758cc2d8bc20e885fe85
Author:	aiju <devnull@localhost>
Date:	Sat Jun 17 23:38:16 +0100 2017

	devvmx: support debug registers; simplify assembly

Hash:	cbcd9b1d718bb827432c944620fac09847c6abc0
Author:	aiju <devnull@localhost>
Date:	Sat Jun 17 20:47:04 +0100 2017

	vmx: VESA support and other misc I/O improvements

Hash:	31d14c316a73766057a02d57fd08d890a25d4783
Author:	aiju <devnull@localhost>
Date:	Fri Jun 16 09:07:25 +0100 2017

	correct the greatest omission

Hash:	439ab7cb0ec34f3b2433619554a3c7e07054b6d0
Author:	aiju <devnull@localhost>
Date:	Thu Jun 15 16:59:02 +0100 2017

	vmx: complete cmos

Hash:	bd12cb47ce937deb09657fa79c20a036f9b2a73a
Author:	aiju <devnull@localhost>
Date:	Thu Jun 15 16:58:52 +0100 2017

	vmx: implement virtio reset

Hash:	2fe3b28f86ed4aa291fb8a620b948abe9c6a1f84
Author:	aiju <devnull@localhost>
Date:	Thu Jun 15 16:58:25 +0100 2017

	vmx: obsd: load kernel symbol table and allow setting root device

Hash:	1c4fa7b000384af9bb79ebf6a62ef9968dab99b4
Author:	aiju <devnull@localhost>
Date:	Thu Jun 15 08:42:57 +0100 2017

	vmx: fix pic 'specific eoi' bug, fix kbd bug, add fake IDE and floppy controller

Hash:	7e2771e238d3525cb464f96aa2b4369e1adc7091
Author:	aiju <devnull@localhost>
Date:	Thu Jun 15 08:41:51 +0100 2017

	vmx: openbsd support: parse more options

Hash:	5542062dc8e0b6486a9e9e0b8993645b42eb9e5a
Author:	aiju <devnull@localhost>
Date:	Thu Jun 15 08:41:26 +0100 2017

	vmx: fix virtio bugs

Hash:	b7a778917dd9f6f07f63897dedcc31b6ab0c8383
Author:	aiju <devnull@localhost>
Date:	Wed Jun 14 19:18:44 +0100 2017

	vmx: remove debugging print

Hash:	4dad8ffb6e123fbdfa9afdd0f613009341d0eba7
Author:	aiju <devnull@localhost>
Date:	Wed Jun 14 18:42:25 +0100 2017

	vmx: support EFER and PAT access

Hash:	49261dcb404260d0a36ea64a093beb045fd2843e
Author:	aiju <devnull@localhost>
Date:	Wed Jun 14 18:41:51 +0100 2017

	vmx: slightly more vga support

Hash:	3dc0a21b4add3f2f9b87dd902650f0367954a7f2
Author:	aiju <devnull@localhost>
Date:	Wed Jun 14 18:41:32 +0100 2017

	vmx: improve PIT/keyboard support

Hash:	643991956d99e5958e9f19f1d9783367f8462054
Author:	aiju <devnull@localhost>
Date:	Wed Jun 14 18:40:48 +0100 2017

	vmx: support loading openbsd kernels

Hash:	74241e31aaaebb55883c96c6d1e2681930c44245
Author:	aiju <devnull@localhost>
Date:	Wed Jun 14 18:38:01 +0100 2017

	devvmx: support pat and efer registers

Hash:	3b123799abb25845737429d04770991d75feab1c
Author:	aiju <devnull@localhost>
Date:	Tue Jun 13 15:19:42 +0100 2017

	add vmx documentation

Hash:	d5e55f51407fe5b8516f6488f5813d026d05fd56
Author:	aiju <devnull@localhost>
Date:	Tue Jun 13 15:18:14 +0100 2017

	add vmx(1)

Hash:	8029c3d8c4bdae74b9a68beeff1edb8a21cceeed
Author:	aiju <devnull@localhost>
Date:	Tue Jun 13 15:15:09 +0100 2017

	pc: add vmx device

Hash:	13869bab113881f28ac72de7d8a68bb8bb5d9c38
Author:	aiju <devnull@localhost>
Date:	Tue Jun 13 01:10:36 +0100 2017

	pc/pc64: keep shadow copy of DR7 in Mach and use that to check whether we need to reset DR7 in procsave(); remove superfluous reset of DR7 in mmurelease()

Hash:	e8082c1d1f09c04afb399ecdd63a79446e3bc390
Author:	aiju <devnull@localhost>
Date:	Tue Jun 13 00:03:40 +0100 2017

	remove accidentally committed reference to devvmx

Hash:	dea6bc51bcb43f5a8330b7786c0f593e8c460b7e
Author:	aiju <devnull@localhost>
Date:	Mon Jun 12 23:58:25 +0100 2017

	pc/pc64: debugexc: ignore exception if in kernel mode and can't get hold of up->debug

Hash:	89f71fa9ed166c06a23937544b453f65fb224456
Author:	aiju <devnull@localhost>
Date:	Mon Jun 12 21:31:04 +0100 2017

	acid(1), proc(3): document watchpoints

Hash:	fff474d8639fd387aac437e0a84a06604000c3ba
Author:	aiju <devnull@localhost>
Date:	Mon Jun 12 20:56:57 +0100 2017

	xd: use new bio magic to make -u more efficient

Hash:	1a40bdeb843042a66d913e8fbf15fad4bf3a5875
Author:	aiju <devnull@localhost>
Date:	Mon Jun 12 20:54:31 +0100 2017

	add aux/icanhasvmx

Hash:	3844090f3997aab26cb3d54c4cb837e278a04933
Author:	aiju <devnull@localhost>
Date:	Mon Jun 12 20:46:25 +0100 2017

	pc/pc64: reset DR7 in mmurelease

Hash:	dae0f4d28d3ffa312cab5d751045b1bbab1d897d
Author:	aiju <devnull@localhost>
Date:	Mon Jun 12 20:36:52 +0100 2017

	aux/cpuid: decode family and model bitfields

Hash:	744a4a8270d076a5fe3d18c40b80012f1066245a
Author:	aiju <devnull@localhost>
Date:	Mon Jun 12 20:30:56 +0100 2017

	acid: fix goofup

Hash:	68cfc786ba6f956cb7e1210ee312f436ae69192b
Author:	aiju <devnull@localhost>
Date:	Mon Jun 12 20:29:20 +0100 2017

	acid: watchpoint support

Hash:	5dcb407add4013d7234dc248fb97c8a5d146e3d3
Author:	aiju <devnull@localhost>
Date:	Mon Jun 12 20:28:27 +0100 2017

	acid: provide hooks 'procattach' and 'dying'

Hash:	7c62868a9fb501b132cb9d2a24b38a19edf13a90
Author:	aiju <devnull@localhost>
Date:	Mon Jun 12 20:27:49 +0100 2017

	acid: always create proclist variable

Hash:	0f653d0f293fbcc8fb8e6673b49743f8f1bee25a
Author:	aiju <devnull@localhost>
Date:	Mon Jun 12 20:24:32 +0100 2017

	acid: add getfields() builtin

Hash:	cd1f44b5c0443119be845ad9558c079cfe0c5bb0
Author:	aiju <devnull@localhost>
Date:	Mon Jun 12 20:19:05 +0100 2017

	kernel: reset nwatchpt in pexit

Hash:	773be02aa18095e857c6659416d84951ceb60d41
Author:	aiju <devnull@localhost>
Date:	Mon Jun 12 20:03:07 +0100 2017

	kernel: add support for hardware watchpoints

Hash:	1cfa405d0a272cbd7df22d4b9767eb57e21cc21f
Author:	aiju <devnull@localhost>
Date:	Mon Jun 12 18:09:11 +0100 2017

	pc64: set error code and trap fields in Ureg* on syscalls

Hash:	48c5da7a64804bf649ff815c778064dfe8c59711
Author:	aiju <devnull@localhost>
Date:	Mon Jun 12 12:25:12 +0100 2017

	ethervirtio: report correct length; fail gracefully if we can't initialize queues

Hash:	45411c31dc8d2e7a1b5d572acbca38581f01f242
Author:	aiju <devnull@localhost>
Date:	Sun Jun 11 23:29:33 +0100 2017

	6l: support MOV to/from DR[1-3]

Hash:	c94b2f32a3fae3c1d4788ad6dc5a64ca769886bc
Author:	aiju <devnull@localhost>
Date:	Sun Jun 11 23:09:57 +0100 2017

	8l: support MOV from/to DR[1-3]

Hash:	1013779e740cebcc06bcd14881f8522911fba4b0
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jun 8 08:08:59 +0100 2017

	stats: get rid of the legacy import fallback
	
	using legacy import is dangerious as it is unencrypted by default,
	so a man in the middle can force the fallback to import protocol
	and then take over the connection to the remote machine gaining
	full access to is.

Hash:	b4a9468fdd4674b838ece2c448a7f81a9c330899
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Jun 7 06:38:10 +0100 2017

	upas: fix infinite loop in common/mkfile (thanks raiz)

Hash:	8bf367498314bc92715f0a3f00bc9a5fe915eec5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jun 5 16:21:42 +0100 2017

	make python subprocess module work with ape/sh

Hash:	73bf5ccc2839d2a4ccc00fd8f5cad6c10892e608
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jun 5 15:32:15 +0100 2017

	merge

Hash:	04820c256bdaefaeaae6585fb6908d4c9ddfcbb8
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jun 5 15:30:30 +0100 2017

	add Asia_Bahrain timezone, change GMT to match the example in ctime(2) (thanks raiz)

Hash:	84d8e75a589868e060b2d418eae38caaad91ad5a
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Sun Jun 4 23:02:05 +0100 2017

	newt: pipe output of h comnmand through $pager

Hash:	94e26e7576fabcaacd8fa8f75c4f87f9eb6e56f3
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jun 3 17:59:48 +0100 2017

	kernel: make statistics counters skipscheds and preempts unsigned

Hash:	178e05f9b7dd9c7c47b9c575fdb151853e267867
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jun 2 18:03:37 +0100 2017

	awk: handle bad/incomplete input in maketab (thanks kenji arisawa)

Hash:	ea413b4a62be9993e4b63bf237f0b1d482f4aafa
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jun 2 16:10:52 +0100 2017

	ircrc: strip backspaces, preventing backspace spam (thanks doppler)

Hash:	3d1908d762c6e91e0b6fe2e235e85bdf397d092d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jun 2 16:02:43 +0100 2017

	kernel: don't preempt pager during fscache reclaim
	
	the fscache image is the main source for pages once
	the page freelist got exhausted, so delay scheduling
	until they release the fscache lock.

Hash:	04b8539ee29154c7455027c4cae457db79ad8fb7
Author:	aiju <devnull@localhost>
Date:	Thu Jun 1 08:07:55 +0100 2017

	plan9.ini(8): document netconsole

Hash:	48fa332c61fe037b3f89575c2333df9216652316
Author:	aiju <devnull@localhost>
Date:	Thu Jun 1 07:40:05 +0100 2017

	pc: actually call netconsole()

Hash:	7134d62ccbb32c783de67d26907e4e856c48f29c
Author:	aiju <devnull@localhost>
Date:	Thu Jun 1 00:41:21 +0100 2017

	pc: add netconsole

Hash:	eb6bba80ef02940161518ff65113e84385f172b1
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue May 30 15:10:23 +0100 2017

	merge

Hash:	1bc20697ed014d22b6e29e450741cfbc02039717
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue May 30 15:08:47 +0100 2017

	devsegment: return proper write count for ctl message

Hash:	db46e826c23973ee2cdc93a2fcbe465fc022d0ff
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Sun May 28 20:45:07 +0100 2017

	newt: add !cmd

Hash:	9c70c81e708bf576833b8f2079c0c07242c1c8cc
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Fri May 26 16:15:35 +0100 2017

	newt: honor environment variables $editor and $pager

Hash:	ce17224eaf159e48b4cbb40c437bb2b3e008ca9e
Author:	aiju <devnull@localhost>
Date:	Fri May 26 01:01:53 +0100 2017

	?a: getc() needs to increment lineno if it gets \n from peekc

Hash:	5fb666453a7b0457ae0ba97bccfab04899058568
Author:	aiju <devnull@localhost>
Date:	Wed May 24 01:59:14 +0100 2017

	libmach: add INVEPT and INVVPID instructions

Hash:	12df6f9658de9237754629c75be82d8901a0dd0b
Author:	qwx <devnull@localhost>
Date:	Mon May 22 17:33:14 +0100 2017

	vgadb: move nvidia controller entry after igfx and add haswell dids
	
	in hybrid graphics systems, this allows the integrated cards to be
	detected first.

Hash:	6f63752d84254b470322fc028dce1c79f7443e3b
Author:	qwx <devnull@localhost>
Date:	Mon May 22 17:19:24 +0100 2017

	igfx: add support for haswell graphics
	
	add support for edp, dp and hdmi on haswell and haswell ult.
	vga, dvi and specific configurations like ulx are unimplemented.
	
	remaining issue: edp link training always fails (time out).

Hash:	3cc97ac108a3a2889efedfccef6a904baf8ed4e0
Author:	aiju <devnull@localhost>
Date:	Mon May 22 10:04:51 +0100 2017

	io(1): %llx -> %ullx

Hash:	82f91a895aef6b1cb01e14d98680bbcdaa4b7ec9
Author:	aiju <devnull@localhost>
Date:	Mon May 22 01:40:18 +0100 2017

	libmach: fix wrong offset bug (thanks cinap); add VMX instructions

Hash:	760e539811001f569fc24d988e72c0b1eef81cd7
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun May 21 15:36:11 +0100 2017

	kernel: avoid panic with segio and SG_FAULT segments
	
	the problem is that segio doesnt check segment attributes
	and it can't really in case of SG_FAULT which can be
	inherited from pseg and toggle at any time.
	
	so instead of returning -1 from fault into the fault$cputype
	handler which then panics when fault happend kernel mode,
	we jump into segio's waserror() block just like in the
	demand load i/o error case (faulterror()).

Hash:	1dc5f9222a0cddf21414f20731d791ffc0416599
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat May 20 13:45:47 +0100 2017

	vt: don't flush while there is keyboard input available

Hash:	f308677510f208a3017f5169f80bb541acbd32c3
Author:	BurnZeZ <brz-9dev@feline.systems>
Date:	Thu May 11 20:34:54 +0100 2017

	/sys/lib/acid/port: make line() also print the line number

Hash:	2fda77e404ab5cd8fdc0ef906fac87d53f9301b9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue May 9 15:23:48 +0100 2017

	/sys/doc: fix mkfile to and remove files that now can be regenerated

Hash:	015956ea614096cd51f9544c6742772c3ca3d425
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue May 9 15:10:44 +0100 2017

	troff: charlib: fix right hand special character

Hash:	bff4fad52a4c3387db54195c9fc20fb69247c43c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun May 7 18:05:12 +0100 2017

	rio: implement writable and truncatable /dev/text

Hash:	7327bd43c039d0ce2f4052afac04204718d9e69c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun May 7 17:13:37 +0100 2017

	kernel: fix namelenerror(), avoid memrchr() and make it static
	
	make sure the loop terminates and doesnt get stuck at
	name == aname. avoid memrchr() as it conflicts with
	libc on unix (drawterm). declare namelenerror() as
	static.

Hash:	37567f07d18aa69824d41dca45ecdbd46e583f2a
Author:	aiju <devnull@localhost>
Date:	Sat May 6 15:33:52 +0100 2017

	update ape/bio.h (thanks jpm)

Hash:	f317d233f46bdc85c02c0a991ac2a4788ad34fdb
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri May 5 23:49:47 +0100 2017

	devproc: can't wait for ourselfs to stop (thanks Shamar)

Hash:	59e8bc0e233e92a3bfd195f51b83fe54daa7ed93
Author:	BurnZeZ <brz-9dev@feline.systems>
Date:	Fri May 5 22:43:30 +0100 2017

	aux/statusmsg: use libbio for textmode output
	
	calling write(1, "\b", 1); for each rune to be removed is a lot of
	overhead, and we don’t want rio to turn each of these writes into a
	draw operation.
	
	also, it now prints to stderr before exiting if initdraw() fails

Hash:	74b6d9bda30b112c7d51bee2f549385de43bb930
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri May 5 20:04:31 +0100 2017

	ssh: add -h flag to pass host (for compatibility)

Hash:	7ade57b678f0799ab0598632403da11fd7271b05
Author:	aiju <devnull@localhost>
Date:	Fri May 5 09:22:13 +0100 2017

	sed: add -u flag that flushes output buffers before reading in further input

Hash:	20b945a382fabd55f8bc54eaa796badaee8d6fd0
Author:	aiju <devnull@localhost>
Date:	Thu May 4 18:47:03 +0100 2017

	bio(2): manpage typo

Hash:	f681cf835af1e5c9e016e5245c24165b029a5e38
Author:	aiju <devnull@localhost>
Date:	Thu May 4 18:42:12 +0100 2017

	bio: add support for custom I/O handler via Biofn

Hash:	414d29e98f8d5242cc68161e61b66b7171e96634
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed May 3 19:56:20 +0100 2017

	ssh(1): document -T tries option, #subsys cmd behaviour

Hash:	710d4982b7e5c28e7fed28ddfa372da69c18037c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed May 3 19:55:32 +0100 2017

	ssh: quote cmd arguments with unix shell single quotes, request tty even with TERM=dumb

Hash:	38d421ec001ac48c899b4945819fb5c6d9716947
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed May 3 19:47:46 +0100 2017

	ctime(2): fix example (thanks raiz)
	
	raiz → the reason that the manpage example works not because
	it's a correct timezone file format, but because readtimezone()
	(in libc) fails and defaults to GMT.

Hash:	cd694c60169796b96f689546ca5a0e019cb7048b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue May 2 03:07:21 +0100 2017

	upas/fs: handle partial fetches (imap server returning less messages than available)

Hash:	20ba8815bc00bcf3548547e78d5d2a2e08de8cfd
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon May 1 21:50:16 +0100 2017

	inst/configether: in manual network configuration, ask for dns server

Hash:	295c0071c306fa2a25510748c6e832383365a621
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon May 1 21:49:35 +0100 2017

	dist/ndb: move sources auth server to ndb/common, list root dns servers in ndb/local as a fallback

Hash:	d63cc467d8ada50ed63177ccbfe117dbfd8fd020
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon May 1 19:22:23 +0100 2017

	5e: fix special bitshift and rotations

Hash:	359955ee4b5bb5548653d1a89a877d554b48551d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon May 1 01:31:50 +0100 2017

	vt(1): the "send" menu became "paste"

Hash:	f6b68dd79b357d70cdae7e545e83282aac32c586
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon May 1 01:18:09 +0100 2017

	sshfs(4): fix bad cross reference

Hash:	fa94532c0843b6f2b6e132b762f497b9cc4066f4
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon May 1 01:15:03 +0100 2017

	vgamach64xx: remove drawdebug reference

Hash:	0b85c859f5b1ef284781a67eb40080f669e9233a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Apr 30 23:03:01 +0100 2017

	merge

Hash:	2713779ee64250b16314355f76cb90d40b64e4b2
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Apr 30 23:01:14 +0100 2017

	ip/torrent: avoid requesting same chunks
	
	instead of always just requesting the missing range
	of the current piece, remember the workpiece offset
	and request sequential chunks from the workpiece.
	
	this avoids double requests of the same ranges when
	the peer does not respond with the data immidiately.

Hash:	ff8ae67b705129e20b4177aa4a0c85dab343e5bb
Author:	spew <devnull@localhost>
Date:	Sun Apr 30 21:08:36 +0100 2017

	libregexp: miscellaneous little cleanups

Hash:	c00c60d327168c25e56077c8310cf2380833e9be
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Apr 30 17:28:06 +0100 2017

	sshfs: fix -r / retulting in "//foo" paths, memory leaks, use estrdup9p()
	
	just use cleanname() to implement pathcat(), which
	handles double slashes and ".." elements already.
	
	have to free the partial dir structue on error in
	parsedir().
	
	use estrdup9p() instead of strdup().

Hash:	607e651c0636bd2a73d7888ef1cea863f0bd5c53
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Apr 30 03:06:03 +0100 2017

	vnc: substitute iprint() with fprint(2, (gone from libmemdraw)

Hash:	24420ab9eb9124dd2ac032beacd84e4a2f6ddf56
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Apr 30 00:51:07 +0100 2017

	kernel: fix rewinding in directories with pread() offset
	
	reading directories with pread() offset has to work the same
	way as read(), otherwise exportfs breaks rewinding in directories.

Hash:	f8478eb4c4a60d0deb9eb3276540d74f1866f878
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Apr 30 00:49:21 +0100 2017

	lib9p: allow rewinding in 9pfile directories

Hash:	56611ced3949dba491a6bc7d0271837b3808fb2f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Apr 29 20:13:48 +0100 2017

	libmemdraw: get rid of kernel iprint() emulation

Hash:	9a5e55782d2e25619e645109d3d1a018a13fa7c6
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Apr 29 20:10:28 +0100 2017

	libmemdraw/libmemlayer: get rid of drawdebug prints

Hash:	3c894ece0c765fcb5d47abdcee9e17a0c30ab245
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Apr 29 20:09:11 +0100 2017

	devdraw: ignore drawdebug command

Hash:	d4a6dc8910014eb18eb72afa566c9839a9957b47
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Apr 29 20:03:52 +0100 2017

	libdraw: get rid of _drawdebug variable

Hash:	ca2fa9596b5d0d893be28c6e8fd8a52a89a0c3c6
Author:	aiju <devnull@localhost>
Date:	Sat Apr 29 19:44:01 +0100 2017

	sshfs: add -r and -M options

Hash:	b4b2cd72b0e674300e5ec0030967621a05049c35
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Apr 29 16:28:35 +0100 2017

	cwfs: allow "none" user to rename files

Hash:	51eaebf4f01ce8b8de4e32d679fe98b69ae64ad0
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Apr 29 15:25:48 +0100 2017

	sshfs: don't crash when no /etc/password file could be read on the remote side
	
	in a cygwin environment, theres no /etc/passwd file to
	translate numeric uid/gid's. changing passwdparse() to
	ignore nil string argument.

Hash:	f00488ec70c0ca00396d3d3e47b38285599dd31a
Author:	aiju <devnull@localhost>
Date:	Fri Apr 28 21:42:38 +0100 2017

	sshfs: check correctly for directory bits; calculate parent directory correctly

Hash:	7cc9d944df78deb70230b74285287ef429ca14c1
Author:	aiju <devnull@localhost>
Date:	Fri Apr 28 19:45:32 +0100 2017

	sshfs: reset SReq->reqid field to fix double-free of request ids

Hash:	5ce3f70f72317e6a1dc387afd1023c99f6186afb
Author:	aiju <devnull@localhost>
Date:	Fri Apr 28 19:32:04 +0100 2017

	sshfs: remove debug print

Hash:	825ab5d286bfbf959fef678afcdf0c887a5eb91c
Author:	aiju <devnull@localhost>
Date:	Fri Apr 28 19:21:03 +0100 2017

	sshfs: don't cache directory contents

Hash:	31ff4f925d10428361076b3849dbe609cb7580c0
Author:	aiju <devnull@localhost>
Date:	Fri Apr 28 18:15:20 +0100 2017

	add sshfs(4) manpage

Hash:	11954a19a6252415c4eae086cc6b09bfbbc1aa9f
Author:	aiju <devnull@localhost>
Date:	Fri Apr 28 17:34:24 +0100 2017

	sshfs: look up uid/gid from /etc/^(passwd group)

Hash:	562fd5b134dc3a9e22e32e53f81858954efd4bf1
Author:	aiju <devnull@localhost>
Date:	Fri Apr 28 16:41:48 +0100 2017

	add sshfs

Hash:	2a920e73611b7f37dd277cf5f0abaa6d5958e6c6
Author:	aiju <devnull@localhost>
Date:	Fri Apr 28 16:41:39 +0100 2017

	ssh: add support for subsystems

Hash:	522f08e5f1a4f16a2cb2016c7b03f86b1eadea30
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Apr 27 19:06:00 +0100 2017

	upas/fs: fix warning about unused Err: label

Hash:	66c22f3908ca79fce85b6d65d749ea1a88d59d16
Author:	aiju <devnull@localhost>
Date:	Thu Apr 27 09:46:44 +0100 2017

	games/md: copy updated cpu.c from blit

Hash:	8d3bbf373ca547f1253fc23fa60500edbd353349
Author:	aiju <devnull@localhost>
Date:	Thu Apr 27 09:42:41 +0100 2017

	add blit(1) manpage

Hash:	042f98784acb9f09013f65b0c93b7f56e1b8a10a
Author:	aiju <devnull@localhost>
Date:	Tue Apr 25 00:26:43 +0100 2017

	ssh: make number of retries configurable

Hash:	ef7b42883242ec39eb4be18c2c5c49b03e5ceaf1
Author:	aiju <devnull@localhost>
Date:	Tue Apr 25 00:16:59 +0100 2017

	ssh: loop keyboard-interactive on failure

Hash:	fbf64184dff33adc9dec19db243f0eaba3594140
Author:	aiju <devnull@localhost>
Date:	Mon Apr 24 17:07:34 +0100 2017

	ssh: fix typo

Hash:	f8eb5a1d13c1911c95fd26fbbc300e74aee558af
Author:	aiju <devnull@localhost>
Date:	Mon Apr 24 17:04:09 +0100 2017

	ssh: add "none" method to find out list of acceptable methods

Hash:	1f6a604c23b0a5cad68c8692e990a76c250e17df
Author:	spew <devnull@localhost>
Date:	Mon Apr 24 16:50:03 +0100 2017

	libavl: fix documentation

Hash:	403584715f06a7bd72f8c350fa4100468f2e8bb4
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Apr 24 01:21:43 +0100 2017

	ssh(1): refer to thumbprint(6) for the sshthumbs file format

Hash:	42f449b9ce66a74e17047c93fac6306c66ab1331
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Apr 24 00:46:22 +0100 2017

	ssh: print the whole ssh-rsa hostkey in base64 when thumb check fails
	
	in addition to the thumbprint, also print the whole
	hostkey in base64 (same format as openssh uses) to
	make verification easier.

Hash:	346f5828e0e435d76ef7da8316e77a426c826d19
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Apr 23 18:00:08 +0100 2017

	libsec: sha256 support for thumbprint files, use it in ssh as well
	
	initThumbprints() now takes an application tag argument
	so x509 and ssh can coexist.
	
	the thumbprint entries can now hold both sha1 and sha256
	hashes. okThumbprint() now takes a len argument for the
	hash length used.
	
	the new function okCertificate() hashes the certificate
	with both and checks for any matches.
	
	on failure, okCertificate() returns 0 and sets error string.
	
	we also check for include loops now in thumbfiles, limiting
	the number of includes to 8.

Hash:	2d1fbbdafa37080ddaacb76ac1e4f5a413ef2dc3
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Apr 23 17:42:26 +0100 2017

	upas/fs: don't abort on malformed unix header

Hash:	641c9da369a2962a6393de4b890a563c6f02bbeb
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Apr 23 02:31:20 +0100 2017

	ssh(1): add $home/lib/thumbfile to FILE section

Hash:	88cdfe76dffb314e2d21362f39bf1088ffe68086
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Apr 23 01:59:32 +0100 2017

	ssh: document thumbfile options

Hash:	da0a7ac387a0e99e46be7611fd8d7083c6ff85db
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Apr 23 01:54:41 +0100 2017

	ssh: implement primitive hostkey verification
	
	this checks $home/lib/sshthumbs for the sha256 hash
	of the hosts rsa public key. if its not there, it
	prints the rc command to add it and exits.

Hash:	2b10f79119c2e6bead4b50a5173e531cb27dc36f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Apr 23 00:11:12 +0100 2017

	ssh(1): add bugs section about host not being authenticated

Hash:	9574e3908f0323a9059d7918a8bfb315137f0c57
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Apr 22 23:42:33 +0100 2017

	ssh(1): initial documentation, needs examples for authentication

Hash:	83d5c827b7a9d3206be9d68a34e59e291e2c5143
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Apr 22 21:52:34 +0100 2017

	vt: handle underline attribute

Hash:	f80b35faca0eb1bc3b6f909c6fbd127e595d4859
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Apr 22 21:21:47 +0100 2017

	merge

Hash:	13a74150acae35fef6f9a07900c902335a810660
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Apr 22 21:19:17 +0100 2017

	vt: handle nocolor flag and reversed background colors

Hash:	7986722cec798e96443096112580b4ab446fefa8
Author:	spew <devnull@localhost>
Date:	Sat Apr 22 20:28:34 +0100 2017

	merge

Hash:	6261dcb06b11c2db815b2e259b25b18a9673d900
Author:	spew <devnull@localhost>
Date:	Sat Apr 22 20:28:02 +0100 2017

	replica: use libavl for avl tree implementation

Hash:	c029a0c9130b7a9b5a9c3883e813dd8d8a0a770d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Apr 22 20:07:53 +0100 2017

	vt: handle insert/delete/home/end keys for vt220/xterm

Hash:	9cf519814591413493be10cfaa00853cb15e7a0b
Author:	spew <devnull@localhost>
Date:	Sat Apr 22 19:59:37 +0100 2017

	libavl: lookup can return the closest match

Hash:	f2b7f24e4e14099251dd0ed8e7e13d7ca466b0cf
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Apr 22 19:16:07 +0100 2017

	vt: handle application/normal mode (really fixes cursor keys)

Hash:	b58584b0578617f6cabcae6e51c6e3e0dc51fec1
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Apr 22 17:21:57 +0100 2017

	merge

Hash:	5d7a77cf57a1a3c1b5b1b8203fa9b53dc38561ed
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Apr 22 17:01:49 +0100 2017

	vt: fix xterm cursor keys

Hash:	4340dd1b2fbc9eed665dbf8d946aca34ed25be37
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Apr 22 01:42:16 +0100 2017

	merge

Hash:	c5b2927250f2dea07747150687239bdc883100a2
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Apr 22 01:41:00 +0100 2017

	vt: fix background drawing

Hash:	5ef9330b6f0e0320fb55cb93e2f22fe9956a24c9
Author:	mischief <mischief@offblast.org>
Date:	Fri Apr 21 23:09:50 +0100 2017

	nusb/ptp: treat any assocation as a directory
	
	previously nusb/ptp showed only 'generic folder' association type as directories, but all associations work as directories. tested with LG G5/android 7.0

Hash:	ccdb4fca83a91a0eab3c9bc4c5146917307c4862
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Apr 21 18:25:25 +0100 2017

	merge

Hash:	a944c37d68b3742ae5156cec3bd23f64ad5c7a1b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Apr 21 18:23:56 +0100 2017

	ssh: actually handle flow control and channel id's

Hash:	094fc8b15f98807833143e29f1f7d36a1ca4b28c
Author:	aiju <devnull@localhost>
Date:	Fri Apr 21 18:16:44 +0100 2017

	fix yacc bug (found by dan cross)

Hash:	99825e22ed403c8636751238743d01a1b143f8e2
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Apr 21 00:45:11 +0100 2017

	ssh: increase initial window size for better throughput

Hash:	9b33c34e9bd63b752f6b36f2ecc54e007cc5d2c4
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Apr 20 23:23:46 +0100 2017

	rsa(8): fix description of rsa2ssh (now, ssh2 format only)

Hash:	882f1c492e86ff15c6dbc40e860184cf9ce375e3
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Apr 20 23:09:30 +0100 2017

	ssh: cleanup debug messages

Hash:	9c50712d64a5b58cd67970a58702138ddcd31e8d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Apr 20 22:45:56 +0100 2017

	ssh: do not try authentication methods that we know are not possible

Hash:	2e714ffe7c3dd2d0a449622189df4efc69a9adba
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Apr 20 21:28:21 +0100 2017

	ssh: implement password and keyboard-interactive authentication methods

Hash:	bef681b892d4aac23279f30013bc28041ef25bd0
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Apr 19 21:34:47 +0100 2017

	vt: cursoron, don't resize winow when replying history

Hash:	d566a5ca6b3d105b2aa5778dc5cb08113b48bd50
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Apr 19 20:03:26 +0100 2017

	ssh: fix locking, and key reexchange handling
	
	when we initiate re-key exchange we data packets can still
	come in. so instead we have everything that can come in all
	the time in dispatch() function (including KEXINIT) and have
	the receiver process just call that in a loop. exclude dispatch
	and the sender proc from corrupting each others sendpkt() calls
	with the QLock sl.

Hash:	778e2af7befb1d9071995b104f8b35476b0d2091
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Wed Apr 19 18:38:30 +0100 2017

	/lib/rob, /lib/theo: I don't think so.

Hash:	cb4327700afb1599e4c5a325e9fe3ab778e21c4e
Author:	aiju <devnull@localhost>
Date:	Wed Apr 19 11:16:00 +0100 2017

	remove accidentally pushed change to .hgignore

Hash:	b795a6d9dc155c726ec492eabbe927fdd79a3621
Author:	aiju <devnull@localhost>
Date:	Wed Apr 19 11:13:36 +0100 2017

	blit: always show top-left corner; add tony kaku's -m flag

Hash:	759651e8a941378d89589d1084913c69bd5aeac4
Author:	aiju <devnull@localhost>
Date:	Wed Apr 19 10:00:44 +0100 2017

	change cpurc to look for service folder in /cfg/$sysname and /cfg/default

Hash:	9dee37a2b04641e1200eb639c2e7e303bbde6b9c
Author:	aiju <devnull@localhost>
Date:	Wed Apr 19 09:51:18 +0100 2017

	disable all services except 17019, 17020 by default

Hash:	283a1c0788a89493a5a0a46c561d19f2231b9227
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Apr 19 01:18:28 +0100 2017

	vt: but not too fast :-)
	
	if drawing can't keep up with the host, make sure we
	eventually redraw the screen and check for user events.

Hash:	219050cc36b169a1f55b5441553bc8e123ddfa7e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Apr 19 00:46:20 +0100 2017

	vt: make it fast

Hash:	db729cbb50a43ed357ac8153b8a9717684aa6f4b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Apr 18 02:13:15 +0100 2017

	vt: send interrupt on exit, open logfile OCEXEC, run host after environment got exported, send rest of arguments to host

Hash:	d4cc35f3872350716d0ae1cb5777a7a826cf2a27
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Apr 18 02:06:39 +0100 2017

	ssh: close the channel when vt hangs up

Hash:	378866d6d19d862e0f2a123e30cb8c357fd7017a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Apr 17 23:21:51 +0100 2017

	vt: allow for a bit of buffering

Hash:	1333b4d14e088d018a485e6b9b034449032267f4
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Apr 17 23:18:03 +0100 2017

	vt: convert from event to threads
	
	the event library doesnt do any flow control. if the host
	keeps sending data while the user is mousing arround,
	extract() will collect the data until memory fills up.
	
	so instead we abandon the event library and convert
	the program to use channels.

Hash:	1f3f4cd06bccbaa68e34a7e5d5008c8e788e5db2
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Apr 17 04:32:01 +0100 2017

	vt: increase history buffer to 64K runes

Hash:	33991ab9cccaa00317bfc52cadf404c8afd7ad8b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Apr 17 04:22:16 +0100 2017

	ssh: weekend project
	
	manpage should follow...

Hash:	128783a700932b527ca6cb0c234db5d3542b3356
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Apr 17 04:18:24 +0100 2017

	factotum: append public rsa encyption exponent after the modulus
	
	this makes implementing ssh-rsa authentication easier, as we
	then can convert the public key directly to ssh format and check
	if the server will accept that public key.
	
	tlshand just needs the modulus to see if the public key matches
	the one it has from the certificate.

Hash:	242274f7331436241464dcf26d2105b0f9aa9bbe
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Apr 17 04:13:46 +0100 2017

	rsa2ssh: drop support for version 1 key format

Hash:	ddc6c1651574ca04fa73984452cdcc3dddb08256
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Apr 17 04:12:07 +0100 2017

	vt: implement snarf support

Hash:	34f5a8333090c5090e1d0b6ddbaf900d64340eea
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Apr 11 01:26:39 +0100 2017

	pc64: state mp.h dependency for archacpi.$O

Hash:	075e1ddd7d983feb6e3b6ef73e58d5d39749b61c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Apr 9 03:36:47 +0100 2017

	upas/fs: remove imap lastread debounding
	
	its unclear why this was here, waketime logic should handle
	this already.

Hash:	1d94a18e5683d0d69aca4c8350b7914419fae6bc
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Apr 9 03:32:38 +0100 2017

	upas/fs: fix sync condition
	
	we used to check for mb->d->name != nil before stating, to avoid
	stating pop3/imap mailboxes who don't really have a local file,
	but this breaks when the md->d is reconstructed (faked) from
	the index! resulting in the mailbox stop being refreshed.
	
	the solution is to not have mb->d == nil for imap/pop mailoxes.

Hash:	35f6a75355ea4f52f675f9cfbb865241512a7315
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Apr 8 22:01:19 +0100 2017

	upas/fs: make use of Maxmsg consistent

Hash:	445d64a3879841f75d2dfcffcb720903e43ccaaf
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Apr 8 22:00:48 +0100 2017

	upas/fs: simplify imap4read()

Hash:	f14ad276c25bd9ad1aec6f11d95268f5dd6d7830
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Apr 8 21:59:15 +0100 2017

	upas/fs: fix dir comparsion and skip directories in mdir, avoid stat
	
	- ignore directories in dirskip()
	- use sortkey of 0 for invalid items, otherwise it could confuse qsort()
	- use file size from dirreadall() instead of doing stat
	- various cleanups

Hash:	a208a937337d40ee1e8df69cdca0b2f073494de0
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Apr 8 21:52:06 +0100 2017

	upas/send: use openfolder() to deliver mail to avoid code duplication

Hash:	fd78f6722efb439b9dd640886096f8f2b3c2f8f0
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Apr 8 21:50:17 +0100 2017

	upas/common: deliver mail to mdir as .tmp file and rename after it has been fully written
	
	theres a race condition when mail delivery to mdir is slow,
	then upas/fs sees partial mail file and caches the truncated
	file size.
	
	to avoid this, delivery will create the new mail file with
	the .tmp extension (which is ignored by upas/fs) and after
	everything has been written, rename it to the final name.

Hash:	00fbdd622aeb6ab3665a9970d7acb6bdd225028b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Apr 4 23:34:07 +0100 2017

	kernel: avoid waserror() botch in devwalk (from drawterm, thanks aiju)
	
	calculate alloc flag before waserror(), as compilers like
	gcc will not notice the value changing later because
	setjump() restores the old value due to callee-saves.
	
	change is applies here to make it easier to merge with
	drawterm.
	
	thanks to aiju for debugging this; used to cause drawterm
	memory leak until compiled with gcc -O0.

Hash:	30c05fe3ddfcbbf60d0088b088fae31dcc512888
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Apr 4 19:13:31 +0100 2017

	kernel: fix memory leak in checkpagerefs() debug function (thanks aiju)

Hash:	249ff9a24c5119efa545fe045e99094068ec59f3
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Apr 4 18:01:57 +0100 2017

	tlshand: simplify tlsReadN()

Hash:	de80075fc6bdc6dc785a67db2deaa59df020cfa6
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Apr 4 00:59:17 +0100 2017

	tlshand: fix mpint to bytes conversion, reorganize send/recv buffer, check for overflow in msgSend()
	
	when converting mpint to bytes, always pad it to the size of
	the modulus (RSA,DHE,ECDHE). mptobytes() now takes a byte len
	parameter which the caller usually calculates from the group
	modulus using mpsignif(). this bug sometimes caused "bad record mac"
	after the handshake.
	
	use a shared buffer, given that msgSend()/msgRecv() don't overlap
	we can use the first half for sending, and the top half for
	receiving, shifting down as neccesary. the space beween sendp and
	recvp is free.
	
	explicitely check for overflow in msgSend().

Hash:	02ffb19904f03cad21dd10a774705b9152d89010
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Apr 3 01:50:36 +0100 2017

	merge

Hash:	6ff5c10ffb06d10eee06f1d432f9cc4738496c07
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Apr 3 01:48:47 +0100 2017

	tlshand: fix ECDHE and DHE for SSLv3

Hash:	1d891d163e814a93ee5346cf05b4fac297bf3a5c
Author:	aiju <devnull@localhost>
Date:	Mon Apr 3 01:11:40 +0100 2017

	fix typo in 9p(2) manpage

Hash:	8829d51f5057d030004872afe9267c77cfb97808
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Apr 2 19:17:44 +0100 2017

	devvga: remove unused copy of checkport() function

Hash:	8ea31ae7b21e9f0c8991b2b861bc51ea3d67c3cd
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Apr 2 19:10:44 +0100 2017

	devvga: fix mistake

Hash:	a6d852d0a63c3804fa651fdb8abbf6893f898afd
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Apr 2 19:08:15 +0100 2017

	devvga: include hwgc in vgactl file

Hash:	6a1841dce54b372f0c08e4e0a3019c4d305918f7
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Apr 2 18:05:56 +0100 2017

	aux/wpa: go to background when not prompting, handle open networks

Hash:	e09adf59442cd36888eaea1d76e66ff3259d16b8
Author:	aiju <devnull@localhost>
Date:	Sun Apr 2 15:47:23 +0100 2017

	pc(1): fix memory leak and add clog() function

Hash:	e0087b2a78d7229d8d2b148b8def688be6639797
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Apr 1 21:19:58 +0100 2017

	nusb/lib: make usbcmd() return value symmetic; returning size of data phase (if any) (thanks aiju)
	
	usbcmd() with Rh2d used to return the command size (8+ndata) wile returning
	only ndata for Rd2h. this changes it to always return ndata for Rh2d. it
	mostly doesnt matter as Rh2d callers only check r < 0 for error, but this
	makes the interface symmetic.

Hash:	25725eb0adc6902318e63da0eca9123be4d4f93d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Apr 1 14:21:28 +0100 2017

	hjfs: avoid 8c "non-interruptable temporary" warning

Hash:	089d493d9642a4a6567b4d27ad2c1be99cff280a
Author:	aiju <devnull@localhost>
Date:	Sat Apr 1 10:01:26 +0100 2017

	chgrp: remove unused function declaration (thanks archeus)

Hash:	4175b19c94ed66fda62dddf1df57cd142963d7a9
Author:	aiju <devnull@localhost>
Date:	Sat Apr 1 09:57:03 +0100 2017

	games/blit: remove strange debugging line

Hash:	d801a4f300c0e44d6cfdbc194d3eced008f9a7f4
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Apr 1 02:35:30 +0100 2017

	ndb/dns: double Maxretries for long cname redirection chains

Hash:	9cb67a523ff08a41ff0025d117cbdd598c00e36a
Author:	aiju <devnull@localhost>
Date:	Fri Mar 31 21:20:25 +0100 2017

	nusb/serial: pl2303: better error handling

Hash:	330916bfa517734e93cf8799ecf3fe7dd1b53e69
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Mar 30 22:39:03 +0100 2017

	merge

Hash:	557cbe10adb61ffd3d29689b26c9f42fa2f850c9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Mar 30 22:37:28 +0100 2017

	sdnvme: enable in pcf, pccpuf, pc64 kernel configuration

Hash:	8cacd2cc0aa7bc7b51c0017edcd6a49db5b4f95e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Mar 30 22:33:46 +0100 2017

	sdnvme: don't write completion queue doorbell register when nothing has been processed
	
	turns out on real hardware, the front falls off if we write
	the completion queue doorbell registers without consuming
	an entry. so only write the register when we have processed
	something.

Hash:	0d3c3ba93506094d0360df9d10c4b787218e59dc
Author:	spew <devnull@localhost>
Date:	Wed Mar 29 19:54:50 +0100 2017

	hjfs: disable hjfs check until more functionality is complete

Hash:	3525d2f7a7cd140c6615ffa2bd6702bf512a12b2
Author:	spew <devnull@localhost>
Date:	Wed Mar 29 05:04:28 +0100 2017

	hjfs: improve error messaging around blocks that are not found

Hash:	1c13d41b8c1f2b94c5e9dcbf3154252c823f14d3
Author:	spew <devnull@localhost>
Date:	Wed Mar 29 02:39:14 +0100 2017

	hjfs: Fix bugs in ref count scan check. Enable as a console command (caveat: command arguments will change as I implement more functionality)

Hash:	e51044884b329d808015c7972d1c8409303faab3
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Mar 29 00:33:16 +0100 2017

	move blit roms to /sys/lib/blit

Hash:	5a36451a5e295772cd035bdb0848e098dc957512
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Mar 29 00:20:13 +0100 2017

	blit: fix mkfile

Hash:	0c1110ace2f247d2605599bb02f2866aee2ab1c6
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Mar 28 23:30:53 +0100 2017

	kernel: fix twakeup()/timerdel() race condition
	
	timerdel() did not make sure that the timer function
	is not active (on another cpu). just acquiering the
	Timer lock in the timer function only blocks the caller
	of timerdel()/timeradd() but not the other way arround
	(on a multiprocessor).
	
	this changes the timer code to track activity of
	the timer function, having timerdel() wait until
	the timer has finished executing.

Hash:	bfae9e08be692b944ab3018d98693a15ca38a64c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Mar 28 23:21:35 +0100 2017

	sdnvme: NVMe controller driver (work in progress)
	
	basic NVMe controller driver, reads and writes work.
	"namespaces" show up as logical units.
	uses pin/msi interrupts (no msi-x support yet).
	one submission queue per cpu, shared completion queue.
	no recovery from fatal controller errors.
	only tested in qemu (no hardware available).
	
	commiting this so it can be found by someone who has
	hardware.

Hash:	83dd98022de08fd6b7f9f041814ea40fa566a1b3
Author:	aiju <devnull@localhost>
Date:	Tue Mar 28 20:48:50 +0100 2017

	games/blit: mkfile: install into /bin/games

Hash:	447672be5c1e3e0b972c793d243383c429240b71
Author:	aiju <devnull@localhost>
Date:	Tue Mar 28 20:43:09 +0100 2017

	add games/blit

Hash:	f14e277c584f6f7d1967bb005976cd831b4b74de
Author:	spew <devnull@localhost>
Date:	Tue Mar 28 04:05:53 +0100 2017

	hjfs: fix broken dprint

Hash:	3103efb8b06503825f3d14c5c5758a431794e4b3
Author:	spew <devnull@localhost>
Date:	Tue Mar 28 03:38:12 +0100 2017

	hjfs: simplify dprinting

Hash:	2e64925b91b4fc19d770dc685c3182121ce6e551
Author:	spew <devnull@localhost>
Date:	Tue Mar 28 03:27:45 +0100 2017

	hjfs: add simple scan check of directory entry blocks

Hash:	e02bc28aaf0acd21195914dc1f116651ade2b7b5
Author:	spew <devnull@localhost>
Date:	Mon Mar 27 23:57:10 +0100 2017

	hjfs: check: check a block if its ref count is _not_ zero. Also check all the ref counts of blocks of a directory and clean up messages

Hash:	4671df38fe8b526e7f72c494e093563e1d744d74
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Mon Mar 27 18:33:09 +0100 2017

	various fortune corpuses: Nil means nothing.

Hash:	3edac8032702e5fb30dd78591ec0d104f83cfa33
Author:	spew <devnull@localhost>
Date:	Mon Mar 27 15:57:08 +0100 2017

	hjfs: merge start of hjfs check implementation

Hash:	347bb2a7a7110e55debd5ebe57ba03bbe315c5ba
Author:	spew <devnull@localhost>
Date:	Mon Mar 27 15:55:56 +0100 2017

	hjfs: start implementation of checking a directory

Hash:	f59ef5e8e7661dc06924bf8fea625ae69d59e40e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Mar 26 15:53:19 +0100 2017

	devsd: handle case where theres no ifc->enable() function

Hash:	2b323158bd8f2a1e1f86796e0bb0139e0c77dace
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Mar 26 15:46:58 +0100 2017

	merge

Hash:	019bb580da25ccfb414c9b71ce5c0743cf86d6fd
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Mar 26 15:45:34 +0100 2017

	devsd: check return value of ifc->enable(), don't leak unit name/user strings

Hash:	1889aa50c3727e7c09da16cacfbfecd72860511b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Mar 26 15:43:32 +0100 2017

	sdvirtio: return 1 for success in vioenable()/viodisable()

Hash:	cf8f90e1d3bc60842e9ca25b6339e80c4d75a828
Author:	aiju <devnull@localhost>
Date:	Sat Mar 25 22:29:29 +0000 2017

	file(1): recognise Xilinx bitstreams

Hash:	b2b80a3da5d03ddb2f9cb15c4cf769a432e347ee
Author:	spew <devnull@localhost>
Date:	Sat Mar 25 18:51:33 +0000 2017

	games/galaxy: fix exit race condition by pausing the galaxy before threadexitsall

Hash:	85b8d253d496c115766a37f51ea72cbec78090a8
Author:	spew <devnull@localhost>
Date:	Sat Mar 25 18:05:47 +0000 2017

	games/galaxy: parallelize gravitational force calculations
	
	Once the Barnes-Hut tree is constructed, the gravitational
	force calculations can be done in parallel by dividing the
	bodies up between a number of procs.

Hash:	4e8494aad79a124f2b15ede9e7873fed46e1bb0a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Mar 25 03:08:14 +0000 2017

	pc kernel: handle PCMP and RSD being in low (kaddr) or reserved (vmap) memory
	
	on thinkpad x1v4, the PCMP structure resides in upper reserved memory
	pa=0xd7f49000 - while system memory ends at 0x0ffff000; so we have to
	vmap() it instead of KADDR().
	
	the RSD structure for ACPI might reside in low memory, so we sould
	KADDR() in that case.

Hash:	5aa501870b9aa8095ae3bff7d39f55225a7b46b1
Author:	spew <devnull@localhost>
Date:	Sat Mar 25 18:49:13 +0000 2017

	hjfs: Add comment to change the OFF size to 8 when given the chance

Hash:	152159a8297a7595b4455c03361851d354288177
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Mar 23 00:31:35 +0000 2017

	upas/smtp: fix cram-md5 auth, simplify doauth(), check varargs for dBprint()
	
	- smtpcram() was replying with the challenge instead of the response... m(
	- simplify doauth, use error string for auth_getuserpasswd() error logging
	- enable #pragma varargck for dBprint()

Hash:	9b848903e64bc5af8b7d9671f299ba5b8d9ffbf9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Mar 22 23:36:57 +0000 2017

	upas/smtp: generate 128-bit random message id (was 32 bit), use dBprint(), cleanup unused variables

Hash:	04c7d5d8f6bde4daa4c582b0053924115b33aca6
Author:	spew <devnull@localhost>
Date:	Wed Mar 22 23:13:51 +0000 2017

	plumb(2): Fix typo in description of Plumbdelattr (thanks sam-d)

Hash:	9811d0fec157dfb7b331a504395f80fd3012da2a
Author:	spew <devnull@localhost>
Date:	Wed Mar 22 23:11:23 +0000 2017

	webfs(4): timeout is in milliseconds not seconds (thanks sam-d)

Hash:	b7ee84c65da44dfed3d8ceca424da511b0c1412f
Author:	spew <devnull@localhost>
Date:	Wed Mar 22 22:10:35 +0000 2017

	upas/smtp: Revert smtp dial string behavior to match that of old upas (thanks sam-d)
	Also do some cleanup around buffers and memory management

Hash:	8b6621a36032d2ff8b98ce89f995c8277aeb935f
Author:	spew <devnull@localhost>
Date:	Wed Mar 22 05:04:24 +0000 2017

	[012568kqv]a: correctly lex full range of integers in the assemblers (thanks Ori_B)
	The Plan 9 assemblers use strtoll to parse the integer literals
	in their input. It turns out that this is almost correct, but
	VLONG_MIN is clamped. This patch changes to use strtoull
	in order to allow the full range of integers.

Hash:	3309f05b976c5f18bde1383f007b01025db31fce
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Mar 21 19:31:15 +0000 2017

	remove accidentally commited binary /sys/src/cmd/upas/fs/chkidx file (thanks mischief)

Hash:	8dd9f0e97096abb6ad42c8751b336d8be6dba969
Author:	spew <devnull@localhost>
Date:	Tue Mar 21 19:07:18 +0000 2017

	hjfs: Clear all refs to zero when reaming.
	And a couple clarity/formatting changes

Hash:	1e2d95a8038346d38f1cebeabe0ad64ea874b7fe
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Mar 20 18:15:40 +0000 2017

	ip/torrent: exit immidiately when file is complete after verification and not being in seed mode

Hash:	b7c05975f53cd0acea81c9f1cfed302328ec8478
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Mar 20 18:11:03 +0000 2017

	ip/torrent: avoid peerid collision using truerand() instead of time(0)

Hash:	c2201000053c29f35c9e9fffd6514a163790cccf
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Mar 19 21:04:26 +0000 2017

	fortune: avoid buffer overflow for lines >= 2K, make sure index has at least one entry, use nrand()/ntruerand() for uniform distribution

Hash:	da9b38c75c11cc7f18415849b5bf14579ef8317c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Mar 19 02:05:24 +0000 2017

	5l,6l,8l,kl,ql,vl: allow duplicate GLOBAL symbols (from Ori Bernstein)
	
	The plan 9 assemblers support the DUPOK flag on text symbols. They parse and
	ignore it on GLOBL symbols. This patch makes it work in the linkers.
	
	The reason I ran into this is because my programming language (Myrddin) uses
	data symbols to generate type information, and it's useful to avoid
	duplicating all of the type info in every file that gets generated.

Hash:	bd178b6dc6a6d6a81be05c0a1f7c03b352f833c1
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Mar 18 18:35:06 +0000 2017

	inst: make command window not overlap stats window in glendas riostart

Hash:	7ad89bd1b00bcd392fa107f65960e23ba1bec7ee
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Mar 18 18:07:29 +0000 2017

	cdproto: make mdir for glenda

Hash:	1da795f327da3f33d420ae69a8d7e3e60e345756
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Mar 18 17:08:30 +0000 2017

	diskparts(8), prep(8): add edisk in NAME section

Hash:	c78d6569ac4950fbe2fd47d0d715f0620293f221
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Mar 18 16:56:34 +0000 2017

	mus(1): fix manpage references

Hash:	c29f30524bf24ec56d3f39d09d71ada26243400b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Mar 18 16:13:09 +0000 2017

	vga(3): complete list of vga controllers and software cursors

Hash:	1a2aefcf119e21345e41466d3d28bddcd6d6488a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Mar 18 15:58:27 +0000 2017

	devmouse: refactor screen blanking logic
	
	devmouse controls the screen blanking timeout, so move the
	code there avoiding cross calls between modules. the only
	function that needs to be provided is blankscreen(), which
	gets called with drawlock locked.
	
	the blank timeout is set thru /dev/mousectl now, so kernels
	without devvga can set it.
	
	blanking now only happens while /dev/mouse is read. so this
	avoids accidentally blanking the screen on cpu servers that
	do not have a mouse to unblank it.

Hash:	08453422b1b8ac1daaba8000fb07d6551fb155b8
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Mar 17 00:02:01 +0000 2017

	games/doom: don't spawn midi process when opening /dev/audio failed (thanks qwx)

Hash:	1132d1b9df4c9ea2b857fa9778fe6762cd81ded8
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Mar 16 23:45:48 +0000 2017

	tapefs: handle more cpio formats (thanks qrstuv)

Hash:	3d052eb2ea48a7ab6e0169077a3f5b133c7121df
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Mar 16 21:06:31 +0000 2017

	upas/fs: tls sni support for pop3/imap

Hash:	cb1dc365c292e82a17b2e0a231b248b84773a14c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Mar 15 23:05:08 +0000 2017

	upas/fs: fix memory leaks in tls code, handle tls in a common wraptls() function

Hash:	efddf485006559bef5e8791b637e742d865df434
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Mar 15 18:30:33 +0000 2017

	upas/fs: getting rid of the fine-grain locking...
	
	now that locking works, its time to get rid of it.
	given that the only concurrency is between the periodic reader
	process and the filesystem code, just make sure the filesystem
	rpc handlers do not run concurrenty while syncing is in progress
	with a single qlock.

Hash:	c8d9390070a5c3585e064ee25a64c49e15618b99
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Mar 14 22:46:35 +0000 2017

	upas/fs: more cleanup...

Hash:	4b08ef2c55fb442b90d44793f14e156e4852e80b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Mar 14 22:31:10 +0000 2017

	upas/fs: remove more debugging crap

Hash:	75bca30647aff6589c348a8b7f00d1218da09843
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Mar 14 22:21:38 +0000 2017

	upas/fs: remove unused segbrk memory allocator

Hash:	8417787f994891759273865919b34b5a2e6e8735
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Mar 14 22:19:17 +0000 2017

	upas/fs: remove idx semaphore, cannot happen as symcmbox() always called with mailbox locked

Hash:	508b796b2719e6c8275a2a1b737c9798d380d25f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Mar 14 22:06:39 +0000 2017

	upas/fs: fix more locking bugs, remove debugging clutter, remove planb mbox code

Hash:	163dccbac04a3c9ab132005ebb4a96a0e0baec0b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Mar 14 18:32:20 +0000 2017

	upas/fs: make sure mbox is locked during msgdecref() in rclunk()

Hash:	d18440d992243c8e2f5a866d074a597c1a03754f
Author:	mischief <mischief@offblast.org>
Date:	Tue Mar 14 07:48:50 +0000 2017

	gs: validate parameter is dict in .initialize_dsc_parse
	
	gs bug 697190, upstream commit 875a0095
	
	also check gs_alloc_struct return value from upstream commit a2afc66d

Hash:	07a14612a1f626716a7746000dcc4492a8648223
Author:	mischief <mischief@offblast.org>
Date:	Tue Mar 14 01:12:17 +0000 2017

	gs: check for sufficient params in .sethalftone5
	
	ghostscript bug 697203, upstream commit f5c7555c303

Hash:	9b2d3ed37a9d58d8ea4692858b47a9f1b03d7e65
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Mar 13 17:56:52 +0000 2017

	gs: fix dangleing pointer crash with "lock" (ghostscript Bug 697204)

Hash:	59ed389a6eb7d405eb44d9644d69993e814dccdf
Author:	spew <devnull@localhost>
Date:	Sun Mar 12 23:52:36 +0000 2017

	games/galaxy: fix creation of new bodies
	I accidentally deleted the line that sets the initial
	position of the vector

Hash:	3f2d3721ded93048c8f8897a3c28e61852475e7e
Author:	spew <devnull@localhost>
Date:	Sun Mar 12 23:33:54 +0000 2017

	games/galaxy: avoid unnecessary calculations
	It is not necessary to recalculate the center of the
	screen every time.

Hash:	dff1e3813fb0deb18ca790b7c28f6a1405720ff6
Author:	spew <devnull@localhost>
Date:	Sun Mar 12 23:24:45 +0000 2017

	games/galaxy: fix zoom
	
	Zooming when far away from the center of gravity
	of the galaxy would zoom the center of the screen
	out of view. Now adjust the origin so that the
	center of the screen stays centered

Hash:	ffa430c57068e65f5247f22a862a78ed11f9da18
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Mar 12 20:29:28 +0000 2017

	upas/fs: lock mbox in syncallmboxes() to avoid assert crash

Hash:	b24ebff76a1d0ef99ecef551a78288642e6ea35b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Mar 12 20:23:21 +0000 2017

	upas/fs: remove useless syncsem, make sure mbox is locked when fetching / syncing

Hash:	f616c63b399fed4f78121f387be9599e8e0c2b4c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Mar 12 17:50:27 +0000 2017

	imap4d: simplify auth with encodefmt (backport from 9front)

Hash:	8b6804717bb1ebbf858032cb5abb057ea8e2ab78
Author:	aiju <devnull@localhost>
Date:	Sun Mar 12 17:19:20 +0000 2017

	nupas: delete okcidr(); always trust spf records

Hash:	8046225c9da454b8ac7f51860813cadfe41c2d65
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Mar 12 16:36:04 +0000 2017

	send(8): document new reject behaviour with -r flag

Hash:	c172881606bfa194399a0b181b419a34488331d6
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Mar 12 16:32:01 +0000 2017

	add mdir(6), splitmbox(8) and update upasfs(4)

Hash:	dff78ef64a0f064e74108394b76a92889f8a2d54
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Mar 12 16:20:13 +0000 2017

	merge

Hash:	4bcd247b909898766d549c3990c230cbeb3d17a3
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Mar 12 16:18:56 +0000 2017

	change listener from ip/imap4d to upas/imap4d

Hash:	963cfc9a6f6e721f52aa949e6d1af0c3e8dc2ecc
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Mar 12 16:15:03 +0000 2017

	merging erik quanstros nupas

Hash:	5b7a62e5e699baa64086199ada29bf10e3a09314
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Mar 11 19:42:25 +0000 2017

	merge

Hash:	8177d20fb2709ba9290dfd41308b8e5bee4e00f8
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Mar 11 15:30:51 +0000 2017

	kernel: get rid of active.Lock and active.thunderbirdsargo

Hash:	a7f8ebca2f09f6bb5195354a8f00c23a68dbd935
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Mar 11 15:28:11 +0000 2017

	pc kernel: give cpu servers as many image cache strctures as processes

Hash:	5104934135feec1bfb2c1543028fe40bb4a41573
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Mar 11 15:24:56 +0000 2017

	pc kernel: avoid AP's spinning in syncclock(), don't wait for thunderbirdsargo

Hash:	812383473cea9b53cf3c8ff138489a3d10d65f44
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Mar 11 15:18:01 +0000 2017

	pc kernel: assume tsc and lapic clock rate on application processors is the same as on bootrap processor

Hash:	3e0e77a8521331412c96b6371622aa2f76d7aefc
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Mar 11 15:13:58 +0000 2017

	pc kernel: don't use active.thunderbirdsargo in vunmap() tlb flush code

Hash:	cb5f6005bc3376c4ba12aa29ed9bc7649e41192f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Mar 11 15:07:48 +0000 2017

	teg2: fix format string warning in mmu.c

Hash:	2c6c64c47487dbe8af6a6dc450b33931ec937601
Author:	spew <devnull@localhost>
Date:	Fri Mar 10 16:37:12 +0000 2017

	games/galaxy: simplify zoom loop

Hash:	acd1a3eddabf29ed08b5a0504b379141ab0e4acf
Author:	spew <devnull@localhost>
Date:	Fri Mar 10 15:57:23 +0000 2017

	games/galaxy: new mouse behavior
	MB1 moves the galaxy. MB2 zooms the galaxy. New body creation
	moved to the menu

Hash:	a4d45256a728226267125da407ff6af36a717968
Author:	aiju <devnull@localhost>
Date:	Thu Mar 9 12:01:20 +0000 2017

	update /lib/legal/NOTICE

Hash:	5fc5c18208546c77f2c279f7f6acf6b01a2d2645
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Mar 6 02:07:03 +0000 2017

	cwfs: handle DMTMP flag in create

Hash:	5c6a03f4f417d00a6d169cfc9c7e6efae17f4e5e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Mar 4 21:56:02 +0000 2017

	cdproto: various cleanups
	
	- bind /n/src9 only when theres .hg directory, so you can use /root as /n/src9
	- skip *.6 and *.orig files in source direcrtories
	- skip *.pdf and *.ps files in /sys/man
	- skip cpurc.local and termrc.local
	- dont create /fd, /mnt and/n in the root
	- be specific about /lib
	- create /cfg/pxe

Hash:	9e720c82b37e99b71373aa882b0cf6175fdd38ec
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Mar 3 00:22:35 +0000 2017

	merge

Hash:	bc83608fcaceb86836ad4edb1dc721b28e9e4e95
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Mar 3 00:19:50 +0000 2017

	kenrel: increase archfile array size from 16 to 32

Hash:	0e9973c80f994cd92f099ae1e08fec1b92ecabd1
Author:	spew <devnull@localhost>
Date:	Wed Mar 1 21:59:26 +0000 2017

	games/galaxy: Change button 2 to reposition the galaxy, remove "move" from the button 3 menu

Hash:	a4895f5e44dc98b96eacf82e379246f79c8b57c4
Author:	mischief <mischief@offblast.org>
Date:	Wed Mar 1 10:43:51 +0000 2017

	pc64: enable cputemp driver
	
	works on on x301 and t420.

Hash:	319a9cc90537e892c1c9d1b3d2aa1d28cbbfdde2
Author:	mischief <mischief@offblast.org>
Date:	Wed Mar 1 10:43:14 +0000 2017

	pc, pc64: bump Qmax in devarch
	
	my x301 and t420 run out of archfiles with *acpi= while trying to add
	hdacmd from audiohda.

Hash:	0ab5d34be4b8b9faa96d4691de95d6ae8c691f0b
Author:	spew <devnull@localhost>
Date:	Tue Feb 28 01:56:46 +0000 2017

	games/galaxy: tweak pausing behavior

Hash:	9ce9299d17b565cb20e94cd39563fbb30533b5a8
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Feb 26 23:01:39 +0000 2017

	games/doom: ... but keep fd=2 open :)

Hash:	6064e1b6fbc4b500e125272fca374b1b5e1df760
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Feb 26 23:00:58 +0000 2017

	games/doom: avoid /dev/cursor fd leak into music process

Hash:	394af5a2162c44a4e2f16897b611f622f8dbbfac
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Feb 26 22:10:17 +0000 2017

	authsrv: handle short reads in initkeyseed()

Hash:	6de804b578e54fb2e7d24e56c3032def4d24547e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Feb 26 21:44:47 +0000 2017

	authsrv: don't hash in hostowner key for keyseed
	
	aiju → i don't like it, it's more bullshit ways to expose the key :)
	aiju → if someone can grab /adm/keyseed, they can also grab /adm/users and /adm/keys

Hash:	da343924f4e72ed302208ef246d568c865a0a400
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Feb 26 21:17:41 +0000 2017

	games(1): document games/midi -c arguments

Hash:	fb1299102f8475b9ec988f3dd77728d436bd90b6
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Feb 26 21:17:18 +0000 2017

	play: recognize .mus file extension

Hash:	8834003afae3b01a23a77091f934353eae73f961
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Feb 26 21:14:10 +0000 2017

	games/doom: music support (thanks qu7uux)

Hash:	577de86669fcd9ed19db4d7561651e6b9641f44e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Feb 26 18:30:48 +0000 2017

	midi: ignore bends, allow piping from stdin and to stdout, write in chunks from within sample loop (thanks qu7uux)

Hash:	70c6dab003afbdf48fec6fc6012ccdd3aa277ac2
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Feb 26 18:26:42 +0000 2017

	play, file: recognize midi and mus audio

Hash:	297bf25f612d2dde0d28d7feaae0ea381be114a7
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Feb 26 18:23:52 +0000 2017

	add games/mus midi converter (by qu7uux)

Hash:	009bec07521287ebfc9f4dcfddac18d8f27f1fb9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Feb 26 02:47:46 +0000 2017

	authsrv: salt the keyseed from /adm/keyseed file
	
	change the keyseed key derivation to hkdf sha256
	using the hostowners des key plus 256 bit random
	salt from /adm/keyseed.

Hash:	27498dd63a199bb634bbf23e62edb345814626c9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Feb 26 01:21:49 +0000 2017

	authsrv: fix mkkey() dummy key generation (thanks aiju)

Hash:	27485e62d195b688cfefbebaac82533f3510b570
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Feb 26 00:34:42 +0000 2017

	authsrv: get rid of needreply parameter by changing vnc protocol handler

Hash:	9f2c7606ab35c3f70a93e7c59fbae833603906c6
Author:	aiju <devnull@localhost>
Date:	Sun Feb 26 00:13:13 +0000 2017

	hgwebfs: keep trying as long as we get needkey response

Hash:	6651be7516550848f02778636fb8a7b08b5aac83
Author:	aiju <devnull@localhost>
Date:	Sun Feb 26 00:11:37 +0000 2017

	authsrv: more useful error reporting

Hash:	ac51afa1c6270c7fb032488e917284a4259072c1
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Feb 25 17:23:57 +0000 2017

	authsrv(6): fix typo "ther" -> "their" (thanks aiju)

Hash:	28491941b0596ecc6f074f4976ce7093abf13328
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Feb 25 16:47:36 +0000 2017

	auth/asaudit: quote user and dom attributes in factotum key

Hash:	7482cd4053fdec20559ffef333b871d3d9886256
Author:	aiju <devnull@localhost>
Date:	Sat Feb 25 12:06:23 +0000 2017

	hgwebfs: rewind data before pushing

Hash:	e4dc3f9bd8bec99b030535012b1546e5baae717b
Author:	aiju <devnull@localhost>
Date:	Sat Feb 25 10:54:15 +0000 2017

	asaudit: check factotum key ; netaudit: mention asaudit

Hash:	e5de0d457a42bd4f6e90f3b95a735b51330cc1b2
Author:	aiju <devnull@localhost>
Date:	Fri Feb 24 23:56:26 +0000 2017

	add redact(1)

Hash:	58b6cdfdeb10d205464e568af0c097ae908a7ea5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Feb 24 00:33:32 +0000 2017

	merge

Hash:	c52251c9b681430ec41ca6a3a73bf3e4ab7e3ddb
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Feb 24 00:31:58 +0000 2017

	libaml: make heap size field int, implement BankField definitions

Hash:	0406d9828a33e1a5597905aac2f64b40432d962c
Author:	aiju <devnull@localhost>
Date:	Fri Feb 24 00:08:08 +0000 2017

	asaudit: missing \n in print

Hash:	e14690517e49cef5ab3f096f0494d45bf2010385
Author:	aiju <aiju@phicode.de>
Date:	Fri Feb 24 00:02:43 +0000 2017

	merge

Hash:	1645f3314c751e985de4c56b4e86a14197c0ed2e
Author:	aiju <devnull@localhost>
Date:	Thu Feb 23 23:54:40 +0000 2017

	add auth/asaudit

Hash:	c22fa6d5eb2ee6751c8e0946ab35e1328597a9b4
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Feb 23 23:10:36 +0000 2017

	auth/readnvram: also print dp9ik key

Hash:	54ec7aed6217f31e8d4f64678ff2260bd1dfaad2
Author:	aiju <devnull@localhost>
Date:	Thu Feb 23 22:22:49 +0000 2017

	auth/keyfs: support -r flag to mount read-only

Hash:	04171d24777d5a108df6e90e10fa7c8d0a841479
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Feb 21 20:53:10 +0000 2017

	ether8169: add support for RTL8106E (thanks _potato)

Hash:	a32d11dff358f60d6184fe8c9a0521cf878c6a4f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 20 21:01:54 +0000 2017

	ether82563: work arround phyprobe() failing on 82579LM without cable plugged in (thanks mischief)
	
	on 82579LM, the phy status is inaccessible without
	a cable plugged, so we wait and retry phyprobe() once
	the link status changes.

Hash:	55373a649820a952ca26f5f315a8a2c60997a480
Author:	aiju <devnull@localhost>
Date:	Sun Feb 19 22:53:10 +0000 2017

	ip/ipconfig: don't null terminate the dhcp string options.
	
	this seems to be an anachronism; few modern clients put the null in and RFC 2132 says clients 'SHOULD NOT' null terminate

Hash:	64f5e1ddd4a4b350a31dc8d035b0b2c98b606fc2
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Feb 19 19:05:43 +0000 2017

	galaxy(1): terminate .EX sections with .EE

Hash:	02a26802ffbd64ebf993119e1599920ffee01ef0
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Feb 19 17:22:14 +0000 2017

	merge

Hash:	52570a2a2d8566cedc9c9fdeb888635e70f33f2e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Feb 19 17:20:46 +0000 2017

	ether82563: support for i219 (tested on t460p, thanks aiju)

Hash:	63870e3ef4dc81d2449602bdf5caf4648e210c23
Author:	spew <devnull@localhost>
Date:	Sun Feb 19 16:02:56 +0000 2017

	games/galaxy: fix crash on write to closed display

Hash:	abda59c7ecef03f9ab91568c8417f963fb7db894
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Feb 19 01:27:42 +0000 2017

	ip/gping: fix corruption due to Machine.last pointer not being maintained in pingclean(), cleanup unused stuff

Hash:	59ba35a327d9b5a2f08bc877cb18bf6c6f942b8c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Feb 18 23:32:47 +0000 2017

	libregexp: fix assert check for compile1 instruction count
	
	the assert fails for regcompnl(".") as TANY is compiled to
	one instruction instead of two when nl == 0.
	
	its not a problem when we end up with less instructions, so
	changing the assert condition from == to <= to make sure we
	didnt overrun the buffer.
	
	--
	cinap

Hash:	5aabf85d7cc3d0bd457b9b67696737411681cc8d
Author:	spew <devnull@localhost>
Date:	Sat Feb 18 15:08:51 +0000 2017

	games/galaxy: add n-body simulator

Hash:	412b7501e4888573c42951388c58f09795a44904
Author:	spew <devnull@localhost>
Date:	Sat Feb 18 15:07:46 +0000 2017

	games/mix: remove unused variable

Hash:	064a987bd8b3f3172bce73522cab9b21587bbc0e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Feb 16 19:11:20 +0000 2017

	wpa: dont send initial "start" message, faster polling interval waiting for connection
	
	the kernel will automatically timeout the eap blocked state
	for us and reassociate for us, so there is no need to provoke
	the ap to start the wpa/eap handshake.
	
	make the polling faster changing the sleep time from 500 to
	100 ms.

Hash:	3ea0572f4f467f8f0712da7040a3dd163ac2dd0e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Feb 16 19:08:27 +0000 2017

	wifi: timestamps in debug print, flush queue on deassoc, shorter roam timeout, timeout in blocked state, fix essid seprint race
	
	- add some milisecond timestamps to the status change debug printing
	- flush the packets in the queue on deassoc to avoid processing old pae
	  packets on next association.
	- make roaming timeout shorter (60 -> 20 seconds)
	- automatically timeout and restart wpa/pae blocked state
	- fix printing race when essid gets changed underneath seprint

Hash:	c1c644d13c14cfb39eb598658652d4df9d28764b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Feb 16 19:03:41 +0000 2017

	etheriwl: add support for Centrino Advanced-N 6030, 6235 (thanks khm, openbsd)
	
	from openbsd driver, it seems the Centrino Advanced-N 6030 and 6235
	cards share the same device revision as the 6205 (Type6005). Also
	changing the device revision field from 4 to 5 bits.

Hash:	b61799df43c4624225557d3ab4ccb4433f2ae5e2
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Feb 15 07:53:31 +0000 2017

	playlistfs: fix playc chan type (thanks mischief)

Hash:	f2d2f9374bf115ad60873e6efaf2f802088bd0cd
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Feb 15 07:50:03 +0000 2017

	jukefs: fix realloc sizes (thanks mischief)

Hash:	60cbbb123b106f7f31495514326a2b0bbcb0d75d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 13 21:28:35 +0000 2017

	merge

Hash:	45d01d9c99a423248687fc330ca028f2be4afae1
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 13 21:26:38 +0000 2017

	wifi: handle short preamble and short time slot capabilities
	
	- drivers enable short preamble and sort timeslot depending
	  on the ap beacon capinfo field (bss->cap)
	- wifi sets short preamble bit in capinfo on association request
	- wifi sets short timeslot bit when ap advertized it in beacon

Hash:	d9a964788bede9b48d1444d2d7a39ece0cef17c5
Author:	aiju <aiju@phicode.de>
Date:	Sun Feb 12 11:28:02 +0000 2017

	games/gb: fix bug that prevented timer data from being accessed (thanks qwx)

Hash:	fe1e95d6d80a1d5185198072d794457e7c94c511
Author:	aiju <aiju@phicode.de>
Date:	Sat Feb 11 23:38:17 +0000 2017

	games/gb: timer array should be unsigned (thanks qwx)

Hash:	6176b557596bcca7469224ded3f2384d3a2773db
Author:	aiju <aiju@phicode.de>
Date:	Sat Feb 11 22:52:35 +0000 2017

	games/gb: fix typo in the routine to load timer data (thanks qwx)

Hash:	7d4a1e3643caa658ee40271edb0dc9a48fd50b58
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Feb 10 21:39:47 +0000 2017

	ec(2), rsa(2): document X509toECpub(), X509ecdsaverify(), X509ecdsaverifydigest(), X509rsaverifydigest()

Hash:	6840a9aafdd1356152765d2f9e0bd980fbc6cd6f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Feb 10 20:42:11 +0000 2017

	libsec: zero name buffer in X509toECpub()

Hash:	fb2abc2a0483bc1ffa10f341b6d2f665a5e03bca
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Feb 10 20:36:19 +0000 2017

	libsec: make X509toECpub() return CN name like X509toRSApub()

Hash:	34a9d22ec6c680b2ed871defce357e5650aa0629
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Feb 10 20:12:45 +0000 2017

	rsa(2): document rsafill()

Hash:	8a1c587c9c41e6ba34b50377d81465dfff8a2b20
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Feb 10 19:42:56 +0000 2017

	ec(2): document ecencodepub(), ecdecodepub() and ecpubfree() and list all the curve parameter functions

Hash:	24007b91208f732400e3f63a7f8d1d134e454d7b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Feb 9 23:08:38 +0000 2017

	libsec: revert asn1mpint(), rewrite rsa signature validation, cleanups
	
	reverting asn1mpint() as all users really just expect
	unsigned integers here. also openssl seems to interpret
	rsa modulus as unsigned no matter what... so keeping
	it as it was before.
	
	handle nil cipher bytes in factotum_rsa_decrypt() due
	to pkcs1padbuf() failing.
	
	apply some lessions from intels berzerk paper:
	
	instead of parsing the decrypted digest info blob, we
	generate the *expected* blob's for all digest algorithms
	that match the digest size and compare the results.
	
	provide pkcs1 pad and unpad functions that consistently
	enforce minimum padding size and handles block types 1
	and 2.

Hash:	e8045cbcbf1d232011194ecc77325af72c394860
Author:	mischief <mischief@offblast.org>
Date:	Thu Feb 9 09:08:43 +0000 2017

	factotum: support sha256 algorithm in rsa pkcs#1 signing
	
	also removed md2 oid, it is unused.

Hash:	6386a0391a11fd3c5216dfe1478fda08ae8bccbc
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 6 20:40:42 +0000 2017

	libsec: handle signed asn.1 bigint to mpint conversion for x509

Hash:	486523bbc57b111d198432d2416e598c6d5c2d63
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 6 10:19:45 +0000 2017

	ip/ipconfig: have to refresh /net/cs, /net/dns after ndbconfig even tho /net/ndb didnt got written

Hash:	bbce9c0566da28911f0ce444d0fdca0fe4eb77b9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 6 03:25:38 +0000 2017

	rsagen: prefer 65537 as the default exponent when elen == 0, otherwise pick randomly

Hash:	5256f4063e381bb7a6f175ea397202e93f8be4b1
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 6 02:50:03 +0000 2017

	libsec: fix mkbigint(), asn.1 uses two's compement signed representation
	
	quick fix is to bias the rounding so the msb will always
	be zero. should write proper conversion code to actually
	deal with signed mpints... also for asn1mpint()... -- cinap

Hash:	02b3c609ed7deb369722617c20f69c5f3f73e570
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 6 01:03:16 +0000 2017

	libsec: check if modulus is too small for message in pkcs1padbuf()

Hash:	1df513a2a1683efa18655047946ef735479b2dfb
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 6 00:01:34 +0000 2017

	libsec: need PKCS#9 "Extension Request" attribute (rsareq())

Hash:	03e6d3a0f06b1f1dc2b70bf7d236e8c96bbfa120
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Feb 5 05:14:42 +0000 2017

	aan: remove fcallfmt

Hash:	b8811b7a2f63629323541593cc76ec655d17015b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Feb 5 04:16:39 +0000 2017

	merge

Hash:	00575e07bbc3ea12a174732a4a8328787b4f210f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Feb 5 04:15:17 +0000 2017

	libsec: have rsagen() always produce postive !dk to avoid confusion

Hash:	541528252ef042f082c82edf47af7d4947b2f661
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Feb 5 01:50:11 +0000 2017

	merge

Hash:	96769e04765511047981e7962d91b979e841f01f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Feb 5 01:48:13 +0000 2017

	libmp: fix mpmod() aliasing bug when n == r and x < 0 (thanks aiju, mischief)
	
	mischief found this in rsafill()'s call mpmod(c2, x, x), where
	d parameter is negative (rsagen created a rsa key with negative dk).

Hash:	3b24eb4c1f4f7bccd6335002e0e37b98a54bf7fd
Author:	spew <devnull@localhost>
Date:	Sat Feb 4 00:55:02 +0000 2017

	games/mix: implement Knuth's specification for comments

Hash:	7f124310099b0ab12463b28f9d39104a8f17bc82
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Feb 4 00:39:36 +0000 2017

	aan: use unsigned message counters, reject repeated acks, cleanup debug prints

Hash:	930be3d3173ce989d71675acedfca1fdf5466751
Author:	spew <devnull@localhost>
Date:	Fri Feb 3 21:33:15 +0000 2017

	libregexp: improve the transition to next available thread, instruction, and generation

Hash:	9ae083d81642be3a3ee7ff1e8d28fb9381bb1abf
Author:	spew <devnull@localhost>
Date:	Fri Feb 3 03:21:34 +0000 2017

	libregexp: simplify regular expression vm implementation
	Make the logic around who has priority over the final
	match simpler by merging the priority generation and
	match fields in a smarter way. Move the creation of
	new thread matches up to the top to avoid jumping all
	over the place.

Hash:	f94167ebeebc108f393b3b2ec279cee2afae56e7
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Feb 2 21:00:51 +0000 2017

	ip/ipconfig: don't write /net/ndb when getting config from ndb (-N)

Hash:	65337bec22bb587facaf032feac39a8beb2a09cd
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Feb 2 19:53:05 +0000 2017

	aan: check negative message size in header

Hash:	7516e85813e5499579ef622dcc6da45a0b235ee6
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Feb 1 09:38:19 +0000 2017

	audio/flacdec: continue after decode error (thanks deuteron)

Hash:	8d42011603f647b0779bec2bbe6574f2db7532cf
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Jan 31 10:59:08 +0000 2017

	/sys/lib/plumb/basic: fix rule for audio files (thanks deuteron)

Hash:	d643cf2fe6564e102bae1ef70a8ca1de58d63f0e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jan 30 22:17:18 +0000 2017

	cwfs: handle worm exhaustion more gracefully
	
	don't deadlock when cwgrow() detects we'r out of worm space
	by releasing the cache superblock buffer.
	
	don't allocate space beyond the worm device when dumping by
	having slit() check. after cwrecur(), we check if there are
	enougth blocks remaining to write the dump date directories
	and superblocks.

Hash:	5171a0ac52a02cbeca41608ab1824c1250a087a4
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jan 27 01:00:20 +0000 2017

	cwfs: fix cwcmd startdump

Hash:	c6b2ad583e16ac79d09206fea140ff0c724e81c0
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jan 26 21:09:44 +0000 2017

	auth/keyfs: use ulong for time

Hash:	8ea917d119179cc4e712f29815b535e06d14599d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jan 26 21:06:57 +0000 2017

	secstore/secuser: use ulong for time

Hash:	2aa42aee31bbf643d5c630b315ff817d752b088e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jan 26 10:23:46 +0000 2017

	auth(8): document authsrv -N flag

Hash:	acd4a952bd1ffca5447c93bf7a6e929472d2bde5
Author:	spew <devnull@localhost>
Date:	Mon Jan 23 19:41:21 +0000 2017

	games/mix: fix STZ bug, print CMPA instruction

Hash:	cf7d50a1a1967b780fd6eb96bb22872d54e25150
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jan 23 13:37:02 +0000 2017

	inst/bootsetup: fix unformated esp check (thanks yellow_apple)

Hash:	9278b94623bbadcf64c1e3b6feb5f770379e18aa
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jan 22 20:12:38 +0000 2017

	pc/pc64: get rid of timerset(0) case, was used with "i8253set off" ctl

Hash:	885d41dd7b87c41cb618140d50dd23501b6d4279
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jan 22 20:08:28 +0000 2017

	sgi: get rid of timerset(0) case

Hash:	6cb359cc00bdc8204b011db46b8746c446f2c4de
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jan 22 19:39:14 +0000 2017

	sgi: cleanup timer code
	
	- no need to splhi() in timerset, always called with
	  interrupts off.
	
	- make timerset always update the period (next == 0)
	
	- remove period update in fastticks(), simplify
	  delta calculation.

Hash:	a2eafd2cb0d6206ddaa846d50c320a309a17f05e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jan 21 23:43:44 +0000 2017

	merge

Hash:	d6bb01da76a0b2ac2887e9b68f6d98126a5feb43
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jan 21 23:42:13 +0000 2017

	factotum: fix memory leak in findkey()

Hash:	dbf6aaf513a4dbcc53d938917d47b057adfab81f
Author:	spew <devnull@localhost>
Date:	Fri Jan 20 22:14:03 +0000 2017

	games/mix: fix man page directories

Hash:	339fda9164372e4eafb1cf3d494d7f0df47155ab
Author:	spew <devnull@localhost>
Date:	Wed Jan 18 02:52:49 +0000 2017

	games/mix: remove tests directory

Hash:	4b68ddfb5a004f97f60219399878d14635e73fdb
Author:	spew <devnull@localhost>
Date:	Wed Jan 18 02:51:08 +0000 2017

	games/mix: document -g option, rename tests to examples as it is in the man page

Hash:	ca47fef0061954cda2355cc10dba774d6567051e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jan 15 17:25:54 +0000 2017

	rcpu: use $cpu environment variable for host when not specified

Hash:	e9bf14ecebd1f7b91968b10cec05620dd338ac0f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jan 15 03:09:47 +0000 2017

	libsec: avoid temp variables in chacha/salsa ENCRYPT() macro
	
	given that we only pass uchar* with constant offsets
	to the s and d arguments of ENCRYPT(), we do not need
	the temporary variables sp/dp and the compiler is
	smart enougth to combine the const offset with the ones
	from GET4() and PUT4() and emit single load and store
	instructions for the byte accesses.

Hash:	03c44c44b014d29fc62418d6b3cf6ee920c1b6df
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jan 13 18:54:42 +0000 2017

	rx: remove ssh code

Hash:	b7103d1517e9e92b3c85b98d8ef498e41befdbcd
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jan 13 18:46:04 +0000 2017

	listen(8): remove tcp22 section

Hash:	432c89418f1257b9e0b54c0a229a50e94f12a392
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jan 13 18:44:47 +0000 2017

	remove !tcp22 service

Hash:	916d0088b73c30a12986d3e4947496b98aa19b95
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jan 13 18:43:05 +0000 2017

	cpu(1), import(4): note deprecation and refer to rcpu(1)

Hash:	67fb68050860ee8e02b55f21e229e9cdb44d80d2
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jan 13 18:31:41 +0000 2017

	listen(8): remove reference to ssh(1)

Hash:	04b200f59b56ef248a64447cc20ad517b2591121
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jan 13 18:30:12 +0000 2017

	rsa(8): remove reference to ssh(1)

Hash:	db310be100e1aafe5da9c1643b697e7648eb828b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jan 13 18:29:13 +0000 2017

	srv(4): fix reference to tlssrv(8)

Hash:	23ebca57a3272d694e589a8794f42b7262ed7a83
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jan 13 18:26:55 +0000 2017

	factotum(4): remove reference to ssh(1)

Hash:	a2eddf4d2d3e9ed1bd1ee2edf46d4737d8504dd2
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jan 13 18:24:13 +0000 2017

	execnet(4): remove trailing ,

Hash:	93dc490b1ff746b6e8aec5b512145029b5f3bb87
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jan 13 18:23:20 +0000 2017

	execnet(4): remove reference to ssh(1)

Hash:	5bfce16c43b5f3e671a0ec1e9c6294bcc18353cf
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jan 13 18:21:04 +0000 2017

	vt(1): remove reference to ssh(1)

Hash:	412cbf67f18c6ce5eab580ee81b06b983d6e1ff2
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jan 13 18:19:08 +0000 2017

	con(1): remove reference to ssh(1)

Hash:	26c39ddc8df68c5bc7b07103d34ea4ad9908375e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jan 13 18:18:08 +0000 2017

	9p(2): remove reference to ssh(1)

Hash:	3a7146f8bf32e57d1989885039277449c3a70836
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jan 13 18:15:50 +0000 2017

	stub(8): remove reference to sshnet

Hash:	19668882eebcb8703ef1698694e3a5356cbe693e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jan 13 18:13:48 +0000 2017

	authsrv(6): remove reference to ssh(1)

Hash:	39e4bbcfb027c5276d25039e5425f99055bc8bb1
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jan 13 18:02:39 +0000 2017

	srv(4): remove ssh/sshsrv references

Hash:	dc8c7bf2b73d608ac2483aee303a51a3507b4c5a
Author:	khm <devnull@localhost>
Date:	Fri Jan 13 00:36:38 +0000 2017

	ssh: R.I.P.

Hash:	cb1555c7d741fa482c339aa9ac8a44753e2ad296
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jan 12 20:11:34 +0000 2017

	sgi: change definition of tas() to take void* like the rest

Hash:	bdc1b187c45dbaeaa7dadce4d7999d9d550ec78f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jan 12 19:17:52 +0000 2017

	merge

Hash:	2e23780d2f4f1e3a55a096227a01995d0f0c2e52
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jan 12 19:16:38 +0000 2017

	libsec: implement extended 192-bit nonce xchacha variant and hchacha function

Hash:	47f07b2669e74eb957db56befa2237df5afa8474
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jan 12 19:13:20 +0000 2017

	kernel: make the mntcache robust against fileserver like fossil that do not change the qid.vers on wstat
	
	introducing new ctrunc() function that invalidates any caches
	for the passed in chan, invoked when handling wstat with a
	specified file length or on file creation/truncation.
	
	test program to reproduce the problem:
	
	#include <u.h>
	#include <libc.h>
	#include <libsec.h>
	
	void
	main(int argc, char *argv[])
	{
		int fd;
		Dir *d, nd;
	
		fd = create("xxx", ORDWR, 0666);
		write(fd, "1234", 4);
		d = dirstat("xxx");
		assert(d->length == 4);
		nulldir(&nd);
		nd.length = 0;
		dirwstat("xxx", &nd);
		d = dirstat("xxx");
		assert(d->length == 0);
		fd = open("xxx", OREAD);
		assert(read(fd, (void*)&d, 4) == 0);
	}

Hash:	4aeefba6811e57afe04a909fe147a29bb419d06b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jan 12 19:04:41 +0000 2017

	kernel: add "close" ctl message for tcp connection to gracefully hang up a connection without a tcp reset (used by go)

Hash:	a0cc369c15bdd404e1a60b4fd5b3a5156a041f74
Author:	spew <devnull@localhost>
Date:	Tue Jan 10 17:42:11 +0000 2017

	games/mix: Add Knuth MIX emulator/assembler

Hash:	c67d0c699f7b52da534f75d3620776997b1e8d52
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jan 8 16:41:10 +0000 2017

	6c: reverse register allocation order to avoid having to spill AX,DX and CX
	
	allocating AX,CX,DX last improves 64-bit multiplication-add
	chains like a*b + c*d as the multiplication does not need to save
	and restore AX and DX registers in most cases. reserving CX for
	shifts also helps.

Hash:	28089ee035e8502ed03225c3850070c0c2882ae6
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jan 7 19:36:13 +0000 2017

	aux/data2s: compress output
	
	encode printable characters litteraly, use D() macro to
	reduce DATA instruction overhead.
	
	this halves the time spend assembling $CONF.root.s for
	the kernel build.

Hash:	df6c19083157e4a79753c89e7b6d12d3dca39f09
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jan 6 01:54:26 +0000 2017

	cfs: fix cfsctl interaction with mount cache (mount -C flag)
	
	the root fileserver is mounted with the mount cache enabled
	causing the contents of the cfsctl file to be cached as well
	leading to wrong results. so after we generated the new stat
	buffer, we increment the qid.vers so the cache starts out
	clean.

Hash:	19dc7c2097cbbdeeef02ba79161a2c67f3ba3987
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jan 2 04:49:18 +0000 2017

	6c, 8c: fix "DI botch" evacuating DI/SI/CX registers to ".save" variables

Hash:	8547defe701a6ea353b12e61008a28e0b6967134
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Dec 29 02:46:08 +0000 2016

	vgaigfx: enable softscreen by default
	
	given that the igfx driver doesnt provide any acceleration functions
	and drawing is usually faster with double buffering as it eleminates
	reads over the pci bus, enable softscreen by default.

Hash:	9e95cb1ac9877f0be226ff93aa058574b4b2804b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Dec 28 22:42:56 +0000 2016

	samterm: avoid flushimage when theres nothing new to flush

Hash:	45512020d20a495c9936b785bdebe886143ea915
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Dec 28 17:19:52 +0000 2016

	libmp: avoid temporary buffer allocation in mprand()

Hash:	7755561ae133f1313b1f1e61a0baf77f51c31bd9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Dec 28 01:09:33 +0000 2016

	fplot: fix zoom egetrect check (thanks qu7uux)

Hash:	74f62ca21b03551824842bdd318f46940a78766d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Dec 28 01:08:45 +0000 2016

	fplot: parse negative numbers in argument to -r option (thanks qu7uux)

Hash:	ed9fdc72f519553f9c8f1f221f97bd5919847caa
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Dec 28 01:02:00 +0000 2016

	libsec: replace des based X9.17 genrandom() with chacha random number generator

Hash:	84228515b6cf2bfc091e783c10485012e2e7a9b6
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Dec 26 18:48:38 +0000 2016

	keyfs: print error message when reading /adm/keys fails

Hash:	c5e90835580ef45b060ffc3ab520757848d432a6
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Dec 25 01:13:17 +0000 2016

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

Hash:	ff384cbddc6ef8802c30d86ec147165b73441c26
Author:	spew <devnull@localhost>
Date:	Sat Dec 24 23:58:31 +0000 2016

	libavl: fix manpage example, minor improvement to code

Hash:	6187b862b7d9ffc7baf3ed2fb2a203f1815a2e25
Author:	spew <devnull@localhost>
Date:	Fri Dec 23 00:44:45 +0000 2016

	avl: fix man page example

Hash:	0885ed1e8098c7f1cd54ff528d1b5b56d670e756
Author:	spew <devnull@localhost>
Date:	Thu Dec 22 22:47:41 +0000 2016

	alv(2): new avl implementation

Hash:	3bf89ed825835b574c3d1c7f640918e65aac488d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Dec 22 20:55:56 +0000 2016

	auth/as: simplify further

Hash:	82bf19941ed8dc4626e8fb3c12b2f67d7d331093
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Dec 22 20:39:59 +0000 2016

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

Hash:	640adc8f8211d26f75c79b2c345040b9d490811f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Dec 22 00:59:00 +0000 2016

	merge

Hash:	1ebcdca4ba208953fc8035c001b980eb7b51228b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Dec 22 00:56:19 +0000 2016

	libauth: don't attempt to mount when opening mount srv file fails in nsop()
	
	making newnsdebug error messages more usefull...

Hash:	a37a13074c443c7104016187daad1e8171f0adc8
Author:	aiju <devnull@localhost>
Date:	Tue Dec 20 17:33:58 +0000 2016

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

Hash:	cd15849bf2359dbd7868dcfd4f85c7da6d46f396
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Dec 19 18:05:35 +0000 2016

	rcpu: avoid filedescriptor conflict with <{} (thanks mycroftiv)
	
	the rcpu client dup's fd 0,1,2 to fd 10,11,12 which
	can accidentally override the pipe file descriptor
	allocated by the <{} operator. to avoid this problem,
	we generate the remote script as an /env file in a
	separate step now.

Hash:	4f72cda4acaa92dfaddb29891d86efeea990e030
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Dec 18 17:00:45 +0000 2016

	awk: improve random number generation
	
	don't use rand() and scale it to 0..1, instead call
	native frand() which produces uniform random number.
	
	instead of seeding the rng with time(0), use truerand().

Hash:	2830cd7eb6182eb7bc42e10557a160156649859c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Dec 17 18:47:35 +0000 2016

	pc: modify cpu0 page tables in patwc() instead of current cpu ones
	
	on 386 kernel, each processor has its own pdb where the primary
	pdb for kernel mappings is on cpu0 and other cpu's lazily pull
	pdb entries from cpu0 when they fault in vmapsync().
	
	so we have to edit the table tables in the pdb of cpu0 and not
	the current processor.

Hash:	ea30cf94a5f247dd00c32c01325b8a47ad5f105a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Dec 17 15:35:26 +0000 2016

	pat write combinding support for 386 kernel, honor cpuid bits

Hash:	d48a0894865e810f46e1ef2f07476c4f3101698a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Dec 15 22:27:01 +0000 2016

	pc64: implement simple write combining for framebuffers with the PAT
	
	on some modern machines like the x250, the bios arranges the mtrr's
	and the framebuffer membar in a way that doesnt allow us to mark
	the framebuffer pages as write combining, leading to slow graphics.
	
	since the pentium III, the processor interprets the page table bit
	combinations of the WT, CD and bit7 bits as an index into the
	page attribute table (PAT).
	
	to not change the semantics of the WT and CD bits, we preserve
	the bit patterns 0-3 and use the last entry 7 for write combining.
	(done in mmuinit() for each core).
	
	the new patwc() function takes virtual address range and changes
	the page table marking the range as write combining. no attempt
	is made on invalidating tlb's. doesnt matter in our case as the
	following mtrr() call in screen.c does it for us.

Hash:	f3b5bcffceb05ce2b9f8c19d2e0721f3e54098e8
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Dec 15 21:08:57 +0000 2016

	acid: fix y.tab.h dependency for proc.$O

Hash:	052abe1cc8dd6403f4983b1b587f14d3eed1fe8c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Dec 14 19:02:07 +0000 2016

	xen: fix build by adding missing rdrandbuf() function

Hash:	6cbc226351d6c47ace019f6d62e7070deb7b4b5a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Dec 11 15:53:51 +0000 2016

	vncs: update devmouse code

Hash:	5cc1cb182065a0c1f5a32e36a71c9b1ac3083db5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Dec 11 15:52:38 +0000 2016

	vnc: don't prompt for password on auth_respond() failure

Hash:	5d353d62fe9566b203e08bc25d525c5a3a0ecadc
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Dec 11 15:02:30 +0000 2016

	devmouse: remove unused static map[] array

Hash:	b3c1fa9ecfbaaacef40f6aa26199cdfd7f6cb9b1
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Dec 10 15:12:18 +0000 2016

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

Hash:	7a145e89b301a1865661f7a6e60a21731f12824f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Dec 5 17:32:58 +0000 2016

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

Hash:	978628d67994819f0b3b9e2a0834d8941a21f6b5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Dec 2 23:24:19 +0000 2016

	tcp17019: make service proto and netdir arguments optional (for aux/listen1)
	
	this allows /rc/bin/service/tcp17019 to be called from
	aux/listen1 without arguments like:
	
	aux/listen1 tcp!*!rcpu /rc/bin/service/tcp17019

Hash:	9a553462646b5941e1b6e681ce22afa286e77375
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Nov 29 20:11:48 +0000 2016

	devmouse: various bugfixes, simplify
	
	the assumption of only one producer ((abs)moustratrack()) is not true
	for external mouse events from /dev/mousein, so protect the mouse state
	and queue with ilock().
	
	get rid of mousecreate(), just use devcreate().
	
	reset cursor when all instances of /dev/mouse and /dev/cursor got closed,
	instead of also considering /dev/mousectl. the reason is that kbdfs keeps
	the mousectl file open. so exiting a program that has the cursor changed
	will properly reset the cursor to arrow.
	
	don't access user buffer while holding cursor spinlock! the memory access
	can fault. theres also no lock needed there, we'r just copying *from* the
	cursor memory.
	
	fix use of strtol(), p will always be set, check for end of string.
	
	keep pointer coordinates onscreen (off by one).
	
	make lastms() function to get the last millisecond delta of last
	call for resynchronization.
	
	fix msg[3] buffer overflow in m5mouseputc().
	
	get rid of mouseshifted logic, it is not used.

Hash:	3dc64de2e4b5293506af9d693b7d139fb88b549b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Nov 29 19:54:17 +0000 2016

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

Hash:	807019d6ebaebbfd297c9e9372ebe930f5780b03
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Nov 29 19:51:08 +0000 2016

	omap: fix format string warning %d for long

Hash:	6d424674113a6a6dd2566d82ba15f20d2d3090e7
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Nov 27 20:20:27 +0000 2016

	stdio: fix sclose() buffer overrun when terminating string, realloc() error handling (thanks porlock)
	
	theres a bug is in sclose() where it doesnt check if wp is beyond
	the buffer. also wp was not updated after realloc().
	
	bug was reported by porlock on 9fans:
	
	Plan 9's implementation of the standard C functions snprintf and
	vsnprintf have a buffer overrun bug.
	
	If the buffer length equals the output length (without the terminating
	null), then one too many characters is written to the buffer.
	
	For example,
	              snprintf(buf, 4, "ABCD");
	
	will write 5 characters to buf.

Hash:	0edcb33ca1f01f8e3c18f5ad99442da8aad2091f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Nov 19 15:47:21 +0000 2016

	merge

Hash:	93f122b94a489d1eb9552ab3e995e9d71587b945
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Nov 19 15:45:18 +0000 2016

	link loopbackmedium and netdevmedium in bcm/pif, sgi/indy and zynq kernels

Hash:	ee9b0eef895209023ab7d7cc1808f33318834999
Author:	ftrvxmtrx <ftrvxmtrx@gmail.com>
Date:	Thu Nov 17 22:07:54 +0000 2016

	libavl, libregexp: put debug functions back

Hash:	ed76659c054ce781ae6050e563de9ad40b3d25cd
Author:	ftrvxmtrx <ftrvxmtrx@gmail.com>
Date:	Thu Nov 17 21:58:16 +0000 2016

	/sys/src/lib*: clean up

Hash:	28f4567ba615c4036c079021392825757ef2a008
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Nov 17 19:10:07 +0000 2016

	libmemdraw: cleanup fillpoly(), remove unused fillcolor hack

Hash:	6fc0e0541c6f27dcb4c6196eab5badedf49c01c8
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Nov 17 18:54:13 +0000 2016

	libsec: remove unused get32() function

Hash:	b4db73795e37e1233b0eca57ff3ae11207882861
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Nov 17 18:42:12 +0000 2016

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

Hash:	dd4de0b0fa99364265ff6e99462259b8aef493c1
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Nov 17 17:14:06 +0000 2016

	devtls: remove unused get32() function

Hash:	0930f44febd25c27fb717e7323686e50c4fa0593
Author:	ftrvxmtrx <ftrvxmtrx@gmail.com>
Date:	Thu Nov 17 01:59:40 +0000 2016

	cmd: remove a bit of unused stuff

Hash:	c0d0f86b14593bbf608284b96920558756a69304
Author:	ftrvxmtrx <ftrvxmtrx@gmail.com>
Date:	Thu Nov 17 01:14:59 +0000 2016

	tar: remove unused variable

Hash:	e49f163ef3a8b19e3806f0817a9390d1dd16e654
Author:	ftrvxmtrx <ftrvxmtrx@gmail.com>
Date:	Thu Nov 17 01:12:49 +0000 2016

	clock: remove unused variable

Hash:	4c0c82d6f7d7725cff163b99258b8fc2e8e814cc
Author:	ftrvxmtrx <ftrvxmtrx@gmail.com>
Date:	Thu Nov 17 01:11:35 +0000 2016

	page: remove unused variables

Hash:	ec3270197341cc9924140837d8adf55438511450
Author:	ftrvxmtrx <ftrvxmtrx@gmail.com>
Date:	Thu Nov 17 01:09:57 +0000 2016

	ramfs: remove unused variable

Hash:	4195e1a54e54d76aad8352d62b774c07e2b8ec98
Author:	ftrvxmtrx <ftrvxmtrx@gmail.com>
Date:	Thu Nov 17 01:07:52 +0000 2016

	aan: didn't ask about sendcommand

Hash:	8f221cfec126daa8d29bbcced20dbbe0bce0ae98
Author:	ftrvxmtrx <ftrvxmtrx@gmail.com>
Date:	Thu Nov 17 01:02:32 +0000 2016

	libsec: remove unused aes_setupDec

Hash:	1a782fda3e0fcc3205dc4b2a9b6ef3a75f68efb7
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Nov 17 00:28:11 +0000 2016

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

Hash:	78d2a52577c39f5f580b925931aa1ffbdc3d16be
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Nov 15 23:54:04 +0000 2016

	ip/tcp: never raise the mss over the link mtu < 1280 for v6
	
	v6 mandates minimum mtu of 1280, tho someone *could* setup
	an interface with a lower mtu or set it lower for testing.

Hash:	323d625864651cb5cec7ba5be42ec8e0b633266e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Nov 15 21:13:08 +0000 2016

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

Hash:	30c5c3404bec22f78cd1334f750876f5ab47ccd8
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Nov 15 21:11:47 +0000 2016

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

Hash:	3579757291db68f8e17a376476454996b7961bd7
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Nov 15 20:54:03 +0000 2016

	ip/pktmedium: fix wrong hsize, theres no ethernet header on packet media
	
	packet media is just raw ip packets, so theres no link-level
	header there. was probably copy-pasted from ethermedium...

Hash:	1f628ef1327882e070394595d58c7bec50d619af
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Nov 15 19:28:45 +0000 2016

	ip/tcp: only calculae mss from interface mtu when directly reachable for v6
	
	we currently do not implement path mtu discovery so for
	destinations that are not directly reachable assume the
	minimum mtu of 1280 bytes.

Hash:	fdc8187038cc6761f764559a37bf7d9de87a0d2f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Nov 12 22:11:03 +0000 2016

	nusb/ether: support for "bridge" ctl message

Hash:	c86b5ddaa6fbc32de8ec75a8edc5ba375e28076b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Nov 12 16:41:58 +0000 2016

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

Hash:	2127b8c552390cdaeb848d0992d2923733936d09
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Nov 12 15:05:00 +0000 2016

	kernel/qio: get rid of unused qcopycnt debug variable

Hash:	d2ad8df9472c65931c649d312bf0ae46e1ceedd8
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Nov 9 18:44:38 +0000 2016

	kernel/qio: implement concatblock() with pullupblock()

Hash:	d97eb114d5dd63f3f0d5b96d8f34a1613761793e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Nov 8 21:33:48 +0000 2016

	kernel/ip: fix typo (rfc -> ifc)

Hash:	ba38aa8b9d6456d4d281a01a7565d59d546a4638
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Nov 8 21:33:19 +0000 2016

	gre: check nil for pullupblock()

Hash:	58fe71b2f56fade7db49069c123c97a69f53ac02
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Nov 8 20:06:06 +0000 2016

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

Hash:	99cc56f2e986f7337142d382d699ef09c337074a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Nov 8 20:05:01 +0000 2016

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

Hash:	5cbffd6e6b4430724532beb5bb130ea701cd1a70
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Nov 8 20:03:08 +0000 2016

	kernel/qio: maintain Block.next pointer in padblock()

Hash:	8f782ac916c3dd480e131c70b9c71e3479acdabd
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Nov 8 01:10:47 +0000 2016

	srv(4): add SOURCE for srvtls

Hash:	b431b6c169c20955a2eb53016a2eefd5ecc36847
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Nov 7 23:38:07 +0000 2016

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

Hash:	32dfbc7c50873ea4167a7e5352e2fd29f6304d37
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Nov 7 23:34:59 +0000 2016

	devcons: simplify putstrn0()

Hash:	48b49361d8830d535e6dd3e696d58f856b2cd95f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Nov 7 21:43:37 +0000 2016

	devbridge: various bugfixes and improvements from charles forsyth

Hash:	a54d1cd95e19dc6685c1a6a5c22d6fdf6f0068eb
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Nov 7 21:20:10 +0000 2016

	kernel/qio: big cleanup of qio functions
	
	remove bl2mem(), it is broken. a fault while copying to memory
	yields a partially freed block list. it can be simply replaced
	by readblist() and freeblist(), which we also use for qcopy()
	now.
	
	remove mem2bl(), and handle putting back remainer from a short
	read internally (splitblock()) avoiding the releasing and re-
	acquiering of the ilock.
	
	always attempt to free blocks outside of the ilock.
	
	have qaddlist() return the number of bytes enqueued, which
	avoids walking the block list twice.

Hash:	23d217afb45b6b74c151a91f12695c553721c4f1
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Nov 7 21:08:21 +0000 2016

	devloopback: simplify loopoput()
	
	remove unneeded waserror() block, loopoput is alled from
	loopbackbwrite only so we will always get called with a
	*single* block, so the concatblock() is not needed.

Hash:	857f2528e0b014b6bd839535daaa6b53853703d9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Nov 7 21:05:29 +0000 2016

	ip: always pass a single block to Medium.bwrite(), avoid concatblock() calls in Dev.bwrite()
	
	the convention for Dev.bwrite() is that it accepts a *single* block,
	and not a block chain. so we never have concatblock here.
	
	to keep stuff consistent, we also guarantee thet Medium.bwrite()
	will get a *single* block passed as well, as the callers are
	few in number.

Hash:	ea993877a96cd535199d0cd437e49f8d616615d9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Nov 7 20:40:12 +0000 2016

	ip/nullmedium: free passed block in nullbwrite()

Hash:	59dd0af53a0b6ab4eb6283e6296d23b256ab7eec
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Nov 7 20:39:28 +0000 2016

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

Hash:	c1fd7c210bdafe97e7b8d07dc256f4b089df9342
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Nov 5 19:08:20 +0000 2016

	kernel: fix missing ; in panic() call

Hash:	963497f06b39a4fd9d80476fab732682122479e9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Nov 5 19:05:40 +0000 2016

	kernel: avoid padblock copying for devtls/devssl/esp, cleanup debugging
	
	to avoid copying in padblock() when adding cryptographics macs to a block
	in devtls/devssl/esp we reserve 16 extra bytes to the allocation.
	
	remove qio ixsummary() function and add acid function qiostats() to
	/sys/lib/acid/kernel
	
	simplify iallocb(), remove iallocsummary() statitics.

Hash:	240590ab0a2f22011cd36f87220cde7136b18b83
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Nov 5 17:31:50 +0000 2016

	archacpi: fix format string warning on amd64

Hash:	fa5bd7121846bae31ede5d6851a5091e9c16683a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Nov 5 17:26:12 +0000 2016

	devmnt: avoid memory copies of I/O rpc buffer by using bwrite()
	
	given that devmnt will almost always write into a pipe
	or a network connection, which supports te bwrite routine,
	we can avoid the memory copy that would have been done by
	devbwrite(). this also means the i/o buffer for writes
	will get freed sooner without having to wait for the 9p
	rpc to get a response, saving memory.
	
	theres one case where we have to keep the rpc arround and
	that is when we write to a cached file, as we want to update
	the cache with the data that was written, but the user buffer
	cannot be trusted to stay the same during the rpc.

Hash:	5c1feb0ef0b795e5de71e956f9ccddcd5c4b7f21
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Nov 5 17:00:10 +0000 2016

	libc: move calloc() into its own compilation unit
	
	move calloc() in its own compilation unit to avoid
	code duplication. also, calloc() is used rarely in
	plan9 programs.

Hash:	bf9bada0c246ef96ee168e355b26e4dc67396ee4
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Nov 1 08:50:25 +0000 2016

	winwatch: put previous label contents in edit buffer for relabling

Hash:	95609d520e31f3f2262764b14b8016ca940af01d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Oct 30 22:30:13 +0000 2016

	8c: fix double compiling FNX complex lvalue in cgen64()
	
	sugen() calls cgen64() speculatively so that when cgen64() returns
	zero, it will fall back and compile 64-bit copy.
	
	the bug was that cgen64() compiled the left hand side and then recursively
	called cgen64() again, which didnt handle the memory copy so it returned
	zero and sugen() would compile the left hand side again resulting in two
	function calls being emited.
	
	some code that reproduced the issue:
	
	#include <u.h>
	#include <libc.h>
	
	typedef struct
	{
		char x[10];
		vlong a;
	} X;
	
	X a;
	X *f(void) { return &a; }
	
	void
	main(int argc, char *argv[])
	{
		f()->a = a.a;
	}
	
	producing:
	
	TEXT	f+0(SB),0,$0
		MOVL	$a+0(SB),AX
		RET	,
		RET	,
		TEXT	main+0(SB),0,$0
		CALL	,f+0(SB)
		CALL	,f+0(SB)			<- bug
		MOVL	AX,CX
		LEAL	a+12(SB),DX
		MOVL	(DX),AX
		MOVL	AX,12(CX)
		MOVL	4(DX),AX
		MOVL	AX,16(CX)
		RET	,
		GLOBL	a+0(SB),$20
		END	,

Hash:	62d310864669b0277e9ab506f0cf217c0a16b0dd
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Oct 30 19:32:03 +0000 2016

	ape/libsec: add secp384r1 curve parameters for tls

Hash:	ef8cbbba03de2e3785a6170e9e7c4f6ca5f4aa78
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Oct 30 01:17:12 +0000 2016

	merge

Hash:	c9d55cadb36a6667d61d0001b0f7619c74431d4a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Oct 30 01:15:40 +0000 2016

	libsec: add secp384r1 curve parameters for tls

Hash:	cf5d24033d2869aedf9d578af5b267143356dd22
Author:	spew <devnull@localhost>
Date:	Wed Oct 26 20:01:13 +0100 2016

	winwatch: no more 'l' key labeling

Hash:	d5992857bbb2947b46ddf7d451a40dcd3e31e0e4
Author:	spew <devnull@localhost>
Date:	Wed Oct 26 04:53:38 +0100 2016

	winwatch: middle mouse button click also prompts for label

Hash:	7b8c6ae432dafda5dcc36967b9c122fb547b4e55
Author:	ftrvxmtrx <ftrvxmtrx@gmail.com>
Date:	Mon Oct 24 22:51:16 +0100 2016

	stats: alternatively read battery and temp from aux/acpi

Hash:	1f3600c83fd0bd02a5db23f9be508baed743862d
Author:	ftrvxmtrx <ftrvxmtrx@gmail.com>
Date:	Mon Oct 24 22:50:04 +0100 2016

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

Hash:	234137bce39a03eab02044234c8f970498ccc5b0
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Oct 24 19:56:11 +0100 2016

	fix bugs and cleanup cryptsetup code
	
	devfs:
	
	- fix memory leak in devfs leaking the aes key
	- allocate aes-xts cipher state in secure memory
	- actually check if the hexkey got fully parsed
	
	cryptsetup:
	
	- get rid of stupid "type YES" prompt
	- use genrandom() to generate salts and keys
	- rewrite cryptsetup to use common pbkdf2 and readcons routines
	- fix alot of error handling and simplify the code
	- move cryptsetup command to disk/cryptsetup
	- update cryptsetup(8) manual page

Hash:	f3feafc476ff108231dd6e0e3ac3cd420a62a81c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Oct 23 16:18:35 +0100 2016

	auth/factotum: bound the number of srv processes to 16, error the 9p rpc when it is over limit

Hash:	b728f50a790afeec349c575b99028063a9d230c9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Oct 23 16:16:22 +0100 2016

	lib9p: limit the number of srv processes kept arround 8

Hash:	98dba9a4a311dd7b7435a5a5d66619f2a2b4b6cf
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Oct 23 03:09:27 +0100 2016

	pc/archacpi: don't do acpi initialization in the kernel, provide generic acpimem routines
	
	get rid of _INI and _REG method calls, this is not full acpi environment
	anyway and all we really want todo at kernel boot time is figuring out
	the interrupt routing. aux/acpi can try to enable more stuff if it needs
	to later when battery status desired.
	
	dont snoop memory space regions in amlmapio(), this is just wrong as
	amlmapio() is *lazily* mapping regions as they are accessed, so the
	range table would never be really complete. instead, we provide generic
	access to the physical address space, excluding kernel and user memory
	with acpimem file.

Hash:	055f8370432d2c128ce8fd28b059320181d8f3ef
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Oct 22 23:31:42 +0100 2016

	ip: simplify code as packblock() and concatblock() will never error

Hash:	75c6ab45e02640959260fa98449180e9408141bc
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Oct 22 23:29:41 +0100 2016

	devip: simplify ipbwrite() by using retun value of qbwrite()

Hash:	ef5c862ce9b1d29d5251e35dcaf1ea71f4aafd8d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Oct 22 23:25:17 +0100 2016

	ip/icmp: only reply to echo request when directed to us and source is unicast

Hash:	a8d00e5d56b261376410c3c87c46327362763bd8
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Oct 21 23:35:17 +0100 2016

	gif: just read and decode the first image when -9 or -c flag is specified

Hash:	6d97f77c2d95abcdf13593e8530c1f9f7ae1cd87
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Oct 21 23:04:21 +0100 2016

	libdraw: avoid dropping queued button change mouse events in emouse()

Hash:	e5dc3ade08ce91785ff889341941460ce72ba03f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Oct 21 23:02:23 +0100 2016

	mothra: avoid flushimage() calls, event() will implicitely flush

Hash:	3145ca7d786344f1ec91aeb48a3c7d1ad7e57e5e
Author:	spew <devnull@localhost>
Date:	Thu Oct 20 04:15:51 +0100 2016

	mpc: remove unused yylval type

Hash:	26e00d014cebde8bc07725700b5ac9c0cade8171
Author:	ftrvxmtrx <ftrvxmtrx@gmail.com>
Date:	Tue Oct 18 22:05:09 +0100 2016

	aux/acpi: batteries and CPU temp reading so far

Hash:	e01577f8f61023ab90d8022e75cb00027399428c
Author:	ftrvxmtrx <ftrvxmtrx@gmail.com>
Date:	Tue Oct 18 22:04:19 +0100 2016

	archacpi: optionally export acpi memory regions; properly initialize environment

Hash:	06dd182695dfee1549dfa2c6da0ce54edf198ef0
Author:	ftrvxmtrx <ftrvxmtrx@gmail.com>
Date:	Tue Oct 18 20:25:19 +0100 2016

	sam: revert showdata crap

Hash:	d010b87b1814a3bf4df3f13d0c4131fbd885b270
Author:	ftrvxmtrx <ftrvxmtrx@gmail.com>
Date:	Tue Oct 18 19:27:08 +0100 2016

	sam: corner cases are hard

Hash:	e19308ee166dd085f7773621471a5fc589af45d4
Author:	ftrvxmtrx <ftrvxmtrx@gmail.com>
Date:	Tue Oct 18 19:22:25 +0100 2016

	sam: fixup :(

Hash:	dff69d59222cc0431bdea15ee31a87b557872c08
Author:	ftrvxmtrx <ftrvxmtrx@gmail.com>
Date:	Tue Oct 18 19:02:01 +0100 2016

	samterm: support "showdata" plumb action

Hash:	40f69f4df5f228459cebab1b529ad84bf18c86e1
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Sun Oct 16 19:16:17 +0100 2016

	fortunes: does that me a dipshit

Hash:	0a7a71752573286fc1dc8057c285e87480a640cc
Author:	ftrvxmtrx <ftrvxmtrx@gmail.com>
Date:	Sat Oct 15 22:42:22 +0100 2016

	scram: remove _PTS(5). it just doesn't make any sense

Hash:	277913c94afb787ce74f0659b96cda303f9cd787
Author:	ftrvxmtrx <ftrvxmtrx@gmail.com>
Date:	Sat Oct 15 22:34:08 +0100 2016

	scram: oops. word is 0xffff, not 0xff

Hash:	375ad2d3abef711985c51eea140281a092c34d49
Author:	ftrvxmtrx <ftrvxmtrx@gmail.com>
Date:	Sat Oct 15 22:10:53 +0100 2016

	scram: run _PTS(5) and disable GPEs before entering S5. x200s shuts down properly now

Hash:	7392dce0a78d14952b26f45834c068e0e5f4f92a
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Mon Oct 10 18:43:48 +0100 2016

	fortunes: Angular uses the term "scope" in a manner akin to the fundamentals of co
	mputer science.

Hash:	b563ed75504e401dd81f52809efbb9fc960669cd
Author:	BurnZeZ <brz-9dev@feline.systems>
Date:	Mon Oct 3 17:31:48 +0100 2016

	iwhois(1): make -n work, add .org, and a couple minor changes

Hash:	062a46607e5be63440604b7f3286aa09d7826d75
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Sep 28 18:25:23 +0100 2016

	nusb/kb: set usage to 0 (undefined) for items exceeding usage list

Hash:	9cb3e5900e916196cb13d460727a2d863627327a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Sep 28 18:15:10 +0100 2016

	nusb/lib: fix wrong endpoint id when openep() finds already existing endpoint file

Hash:	ab3492f05e5998f79befe6e7397175f4bdb39149
Author:	ftrvxmtrx <ftrvxmtrx@gmail.com>
Date:	Mon Sep 26 22:00:06 +0100 2016

	sam: putenv("%", ...): don't crash when no file is current

Hash:	d8b4f95476216bd9e50d98c8e3ada629a6ac32f1
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Sep 22 10:04:43 +0100 2016

	sam: use $% instead of $f for filename to be consistent with acme

Hash:	52cacba37c6f3a125ef931afa4b9c2cdb7438fef
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Sep 22 09:49:48 +0100 2016

	sam: make current filename available to shell commands in $f (thanks aiju)

Hash:	483e54a0d33d6f9237b2af7220d7f384551e67ce
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Sep 21 20:57:08 +0100 2016

	ip(3): spelling, thanks sl

Hash:	e864523eed3ac553c77b51baef735bfaf5812029
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Sep 21 20:47:52 +0100 2016

	ip(3): update description of /net/ipifc/*/status format

Hash:	c7bad8f0e57cca31bc7e7fa162b578b177f4ec37
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Sep 20 08:15:53 +0100 2016

	rio: fix onscreen()

Hash:	35fde3591ff2396accb07eeeca51199698a626c3
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Sep 19 18:04:21 +0100 2016

	scat: hjdicks for amd64

Hash:	11e40fc6b456b96dfc3cfc22f8efba07b3f1038c
Author:	aiju <devnull@localhost>
Date:	Mon Sep 19 17:45:15 +0100 2016

	pc(1): if the input base is not 10, print the 0d prefix before decimal numbers; this way, all output is always valid input (for the current mode)

Hash:	bb823caa2880d000cfa50ee64d3ba2cde3b0ef69
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Sep 19 01:30:39 +0100 2016

	merge

Hash:	c7f0aba80b9f528ceb4f0d6be2bcf4519e5a59ae
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Sep 19 01:28:10 +0100 2016

	webfs: aaand another one (should go to sleep)

Hash:	fe320116dae05e61481e75297f402f1af956c5d6
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Sep 19 01:14:03 +0100 2016

	merge

Hash:	f5fcb42cffce91e8142c6934e398c11c95e907ec
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Sep 19 01:12:18 +0100 2016

	merge

Hash:	cbdf48454fece6380a0ad713d53902f65bf9308b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Sep 19 01:11:03 +0100 2016

	webfs: fix mistake...

Hash:	0c50e1bc3d63f8a62986bbd140f9aef48a0cb076
Author:	aiju <devnull@localhost>
Date:	Mon Sep 19 00:20:28 +0100 2016

	pc(1): add pb (thanks, BurnZeZ); add bit numbering

Hash:	6d354d07e81aa94b3798603093dfa26fac2f6488
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Sep 19 01:04:13 +0100 2016

	webfs: don't use cache connections when posting
	
	we cannot retry posts and we do not know for sure if a
	post had any side effect when we got no status, so always
	make a new connection for a post request.

Hash:	1447b95555d6afa39f7ab04f04f1415f8937d899
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Sep 18 20:16:45 +0100 2016

	rio: improved bandsize()
	
	when dragging a window edge, allow one to slide to a corner
	or slide from corner to corner (usefull when inverting).
	
	also make sure the right or bottom of the rectangle returned
	by whichrect() is not outside of the screen (which makes
	drawing slow).

Hash:	31b10e364ff4ca7c04b96637dab6c6cf347a6a2a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Sep 18 15:54:24 +0100 2016

	cpu: quote remaining remote command arguments, don't syslog on missing /mnt/term/dev/cpunote file

Hash:	4052945479067a0076a19a5952e3fffb8116244a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Sep 17 16:49:59 +0100 2016

	ipv6on: get network device from $netdir/ipifc/*/status

Hash:	2aa727ff0909f0c1a4be6bde77e3589d024e079b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Sep 17 14:58:11 +0100 2016

	etherzynq: implement promisc mode and multicast filter support

Hash:	cb9a5a19b0a992d222dcb07c6a368c710a44bb28
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Sep 17 13:18:40 +0100 2016

	nusb/ether: promisc and multicast support for admtek pegasus (aue)

Hash:	382abccf277ff1323b0f2d2aecdad9a74175ad09
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Sep 17 13:06:03 +0100 2016

	nusb/ether: multicast and promisc support for rtl8150 (url)

Hash:	ce07c1d6e70948f731ea02c6c523ea4c1e0ae977
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Sep 16 22:23:19 +0100 2016

	merge

Hash:	c937aac59bf77b56e665564092e680159a118115
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Sep 16 22:21:54 +0100 2016

	nusb/ether: experimental pomisc mode and multicast support for smsc and asix

Hash:	0c3ba556a2d44e0594d8438c41d41b8a561d9e01
Author:	aiju <devnull@localhost>
Date:	Thu Sep 15 10:13:22 +0100 2016

	pc(1): _ handling in numbers was broken at some point; restore documented behaviour

Hash:	07284c41f6c4ca6b48e0a6ef389d867bdba2bb57
Author:	aiju <devnull@localhost>
Date:	Thu Sep 15 09:51:59 +0100 2016

	pc(1): add nsa() command

Hash:	7bcbef11eb17d0b5f756acd74762d1a285aa134f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Sep 13 23:18:45 +0100 2016

	ape: fix format clash, %z is for size_t (which is a long currently), not pointer sized

Hash:	a0150376df022be9cf3d9e82308007f4588603a9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Sep 11 22:20:55 +0100 2016

	ape: bring strtod() in line with plan9's libc version

Hash:	5b66b52623748f00ff1e48013b8136391454af57
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Sep 11 22:19:18 +0100 2016

	libc: dont use floating point for portable umuldiv(), use 64 bit uvlong

Hash:	c0a9c3b551ed5d9b3a9d8389e36a3eb059662702
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Sep 11 18:07:17 +0100 2016

	kernel: rekey chacha state on each randomread() invocation
	
	we can encrypt the 256 bit chacha key on each invocation
	making it hard to reconstruct previous outputs of the
	generator given the current state (backtracking resiatance).

Hash:	36c9a2489d1f0e3d4e6a890bb86edde64d719acb
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Sep 11 13:12:39 +0100 2016

	devcons: remove /dev/reboot "halt" command...
	
	the "halt" command written to /dev/reboot just causes the
	machine to crash... its also undocumented... removing it.
	
	--
	cinap

Hash:	95c9f5bf37a5d8a659aa1aad34dee81afbdf8938
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Sep 11 02:18:48 +0100 2016

	kernel: better nonce partitioning for chacha random number generator
	
	leave the block counter to chacha_encrypt() and increment the 96 bit
	iv instead.

Hash:	10275ad6dd261b21774848e3d5913807ae293236
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Sep 11 01:10:25 +0100 2016

	kernel: xoroshiro128+ generator for rand()/nrand()
	
	the kernels custom rand() and nrand() functions where not working
	as specified in rand(2). now we just use libc's rand() and nrand()
	functions but provide a custom lrand() impelmenting the xoroshiro128+
	algorithm as proposed by aiju.

Hash:	7713145638f45c07c47b9ef8c859d518d88f6127
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Sep 11 01:09:07 +0100 2016

	kernel: make randomread() fault reentrant
	
	we now access the user buffer in randomread() outside of the lock,
	only copying and advancing the chacha state under the lock. this
	means we can use randomread() within the fault handling path now
	without fearing deadlock. this also allows multiple readers to
	generate random numbers in parallel.

Hash:	a12180612649d5aebb2ca7e6c7727c41becb4549
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Sep 11 00:54:06 +0100 2016

	kernel: replace various custom random iv buffer filling functions with calls to prng()

Hash:	b137763fe7ac6f16b18518f8acabb805183401c0
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Fri Sep 9 21:59:00 +0100 2016

	fortunes: Nein -- General Chuck Yeager

Hash:	efe5c58c017f8a4b85f8915e4ae8d55f04f2ea77
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Sep 8 09:40:19 +0100 2016

	authsrv(2): update Nvrsafe structure to include aesmachkey

Hash:	ed38b5e9cb4a8285b9fd259b6a44ab1031ffc604
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Sep 8 00:49:25 +0100 2016

	kernel: fix type for utime/stime in pexit(), fix debug format strings

Hash:	5d9deb77e9664cb173869e6d16f7faa117be6c55
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Sep 8 00:28:34 +0100 2016

	kernel: make sure procalarm() remaining time doesnt become negative

Hash:	01b4c2a63dac5a244d20d3d06b44c4072227f19a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Sep 7 23:44:38 +0100 2016

	kernel: always do unsigned subtractions for m->ticks delta for updatecpu() and rebalance(), handle ticks wrap arround in hzsched()

Hash:	bd3429304cdded196990683d4ee77cd36eac3b9c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Sep 7 22:39:10 +0100 2016

	kernel: use tk2ms() instead of TK2MS macro for process time conversion
	
	this code isnt time critical and process TReal delta can become
	very long, so use tk2ms() which is less prone to overflow.

Hash:	1848f4e946c6a5d625c23f9c6a3ad7480816585a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Sep 7 22:36:04 +0100 2016

	kernel: tsemacquire() use MACHP(0)->ticks for time delta
	
	we might wake up on a different cpu after the sleep so
	delta from machX->ticks - machY->ticks can become negative
	giving spurious timeouts. to avoid this always use the
	same mach 0 tick counter for the delta.

Hash:	bfd8098b8de4c9dfbd5def087b92b09dfc97b41c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Sep 7 20:14:23 +0100 2016

	devcap: timeout capabilities after a minute, fix memory leak, paranoia
	
	the manpage states that capabilities time out after a minute,
	so we add ticks field into the Caphash struct and record the
	time when the capability was inserted. freeing old capabilities
	is handled in trimcaps(), which makes room for one extra cap
	and frees timed out ones.
	
	we also limit the capuse write size to less than 1024 bytes to
	prevent denial of service as we have to copy the user buffer.
	(memory exhaustion).
	
	we have to check the from user *before* attempting to remove
	the capability! the wrong user shouldnt be able to change any
	state. this fixes the memory leak of the caphash.
	
	do the hash comparsion with tsmemcmp(), avoiding timing
	side channels.
	
	allocate the capabilities in secret memory pool to prevent
	debugger access.

Hash:	76daf9f863868356f9c59eadc93ed4d2454dc72d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Sep 6 21:29:40 +0100 2016

	merge

Hash:	cf78fd37cb209481692f4fcd796aa1c5d60437ef
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Sep 6 21:27:26 +0100 2016

	devproc: do unsigned subtraction to get MACHP(0)->ticks - up->times[TReal] delta

Hash:	6d96b35fadcb7d2f4fee5cc03f2155a6aaa472da
Author:	aiju <devnull@localhost>
Date:	Mon Sep 5 16:48:46 +0100 2016

	pc(1): bugfix: allow setting output base to 0 (thanks, deuteron)

Hash:	9e926eeb4e3c716bcbd11377c131061cd06900ef
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Sep 3 18:05:28 +0100 2016

	5c: do shift propagation for rotate right (ROR)

Hash:	a5d8cd30bb126b301cd79393540be63558dcfe89
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Sep 3 17:18:28 +0100 2016

	5c: format assembly constant right shift encoding 0 as >>32

Hash:	b46a0e97ea5ec8666924ec34a6fa1cd86f899fcc
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Sep 3 16:11:38 +0100 2016

	5a: assemble constant >>0 right shifts as <<0 (no shift), allow >>32
	
	previously, right shift >>0 resulted in >>32 being emited. this
	is especially problematic when the shift count comes from a macro
	expansion.
	
	we now handle constant shift >>0 as <<0 (no shift) and allow
	shift by 32 be specified.
	
	this applies to logical right shift (>>) arithmetic right shift (->)
	and right rotate (@>).

Hash:	607f3bc55c2425c7e7d022961517793eb20f3b74
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Sep 3 16:01:56 +0100 2016

	5l: format assembly constant right shift encoding 0 as >>32

Hash:	2e120a29db72b3fbe104d6168f2837f64c738e2e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Sep 3 15:47:51 +0100 2016

	libmach: fix RORREG, right shift with shift count 0 means >>32

Hash:	1b4f432eaee86d49e4595cd4015f6f3e28b50a98
Author:	aiju <devnull@localhost>
Date:	Thu Sep 1 12:46:44 +0100 2016

	pc(1): manpage: restore previous size rather than set to 10

Hash:	183f700a208c3af2102cec0a3a362ba4c8160165
Author:	aiju <devnull@localhost>
Date:	Thu Sep 1 12:38:33 +0100 2016

	pc(1): manpage formatting

Hash:	30c9e34c0d0a0247b0adb2c343e30240ed0e2779
Author:	aiju <devnull@localhost>
Date:	Thu Sep 1 11:55:12 +0100 2016

	pc: add cat() function

Hash:	d552fed38514dc799c7fea95dfb632c8816c3f60
Author:	aiju <devnull@localhost>
Date:	Thu Sep 1 11:46:37 +0100 2016

	mptrunc: don't write to r->p[r->top]

Hash:	560ea5474c45b3acaea4c3e2fe112f827bbce297
Author:	aiju <devnull@localhost>
Date:	Wed Aug 31 14:00:50 +0100 2016

	pc: add rev function

Hash:	e95082f66c099184afd273d7fc0a30fd2c5e0ba8
Author:	aiju <devnull@localhost>
Date:	Mon Aug 29 08:57:15 +0100 2016

	pc: add gcd, rand and minv; set base of logical operation results to 0

Hash:	a08bf6831f5122fc9bfc6dccf77096f6ac2e4d03
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Aug 29 01:09:34 +0100 2016

	libmp: remove unused mpeuclid.c

Hash:	5852f8a1440ce385a468145c43abfb88751639fe
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Aug 29 01:07:52 +0100 2016

	libmp: allow passing nil to v,x,y results of mpextendedgcd(), simplify mpinvert()

Hash:	33862ff7936eb8be9380ce1332a3cfd7ed703672
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Aug 28 23:45:16 +0100 2016

	libmp: mpnrand(), what was i *THINKING*
	
	the prior implementation was unneccesarily complicated for
	no good reason due to me misunderstanding how libc's nrand()
	works. in contrast to libc, we already generate the *closest*
	power-of-2 random number with mprand() in the sampling loop.

Hash:	b80684a1d20b8d6c0fa096891524a424dbd05e72
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Aug 28 16:39:18 +0100 2016

	python: remove automatic compiled module loading (.pyc files)

Hash:	1f9bdb6f5d9699493f6bce572cbbb58ef3b4ad27
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Aug 28 15:46:32 +0100 2016

	libmp: mpdiv(): fix divisor==quotient case (again)

Hash:	bdc87e17bd2522552f3c97c741bda0ae29df3528
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Aug 28 15:33:52 +0100 2016

	libmp: timingsafe sign flip for small power-of-two negative divisor for mpdiv()

Hash:	b65f409d542e63302a68325f292a364a0b3bae2e
Author:	aiju <devnull@localhost>
Date:	Sun Aug 28 15:05:22 +0100 2016

	mp.h: add mpasr

Hash:	c3da573eb74440669c77b47dd955e007c90993fd
Author:	aiju <devnull@localhost>
Date:	Sun Aug 28 12:59:16 +0100 2016

	pc(1): SYNOPSIS...

Hash:	d9d2925fa024c2eceeea18c9b3afda30af96301e
Author:	aiju <devnull@localhost>
Date:	Sun Aug 28 12:49:26 +0100 2016

	pc(1): document -n option in manpage

Hash:	a931ad737a1ad2598850014e7297f2d0edfd9dc1
Author:	aiju <devnull@localhost>
Date:	Sun Aug 28 12:40:01 +0100 2016

	add pc(1)

Hash:	43bb71c8cca061a705689be27906207329c3b5f7
Author:	aiju <devnull@localhost>
Date:	Sun Aug 28 11:00:25 +0100 2016

	mpdiv: negative divisor has to flip sign of quotient

Hash:	344ff48512561b57022c1f686005b3283da07cc5
Author:	aiju <devnull@localhost>
Date:	Sun Aug 28 10:38:29 +0100 2016

	mp: fix mptov and mptouv

Hash:	cf2f2a884137b589f502ffc7af9de5ca78634356
Author:	aiju <devnull@localhost>
Date:	Sun Aug 28 09:49:41 +0100 2016

	mp: fix mpnot and add mpasr

Hash:	193daffafb2ca564a47e52489cb082d77fa78872
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Aug 28 02:41:25 +0100 2016

	mercurial: use new d_stat from dirent structure in osutil.listdir

Hash:	5debddf8aff9cc647cd9eeb89c06a550fbf816e7
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Aug 28 02:39:49 +0100 2016

	ape: add d_stat struct in dirent struct allowing the avoidance of stats

Hash:	a8ffbcabead96e4ebaab861b2837c2d770409702
Author:	aiju <devnull@localhost>
Date:	Sun Aug 28 00:23:51 +0100 2016

	timmy: manpage

Hash:	913ce62cfc78043973190b37f1bc2a7c37c15927
Author:	aiju <devnull@localhost>
Date:	Sun Aug 28 00:08:26 +0100 2016

	strtomp: update the returned char* even if there were no characters parsed

Hash:	261ec9fe0e0b2dbde909da79a93e90220a9ea62c
Author:	aiju <devnull@localhost>
Date:	Sun Aug 28 00:07:34 +0100 2016

	strtomp: fix mpbits() call in octal code

Hash:	75990fc71960d16227e94817d122631f53408c74
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Aug 27 21:37:08 +0100 2016

	fix wrong manpage section index generation for rc-httpd(8)

Hash:	f2519d701c05471f74181c5750cf7ad418345dd9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Aug 27 20:28:21 +0100 2016

	rio(4): document text truncation

Hash:	b59aa679226d0775838f87289b60bf9b7c626315
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Aug 27 20:27:52 +0100 2016

	rand(2), cons(3): clarify /dev/random behaviour

Hash:	f777743b7242e539a8ac806e4e15c4b527be4bb6
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Aug 27 19:50:55 +0100 2016

	merge

Hash:	0a5f81a44230cbd562b6d71a0a5be018e24a5ba6
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Aug 27 19:42:31 +0100 2016

	kernel: switch to fast portable chacha based seed-once random number generator

Hash:	71ac88392f2033256b29f22bd8afdd7374100e5a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Aug 27 19:39:36 +0100 2016

	devsdp: keep cipher states in secret memory

Hash:	7f16c92762af7c602316ce26d482526e67df74cd
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Aug 27 19:38:33 +0100 2016

	ip/esp: allocate cipher states in secret memory

Hash:	2967f942ea0a9239ea316dd97b52f9cf2c2bfd6b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Aug 27 19:37:31 +0100 2016

	devtls: allocate cipher states in secret memory

Hash:	7250c438bb124f76aa006dad47b5a3b8f277d1b7
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Aug 27 19:37:14 +0100 2016

	devssl: allocate cipher states in secret memory

Hash:	0ac260b18a9a41ba944e6dadec5d15c058af23fd
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Aug 27 19:36:08 +0100 2016

	wifi: update wifi.h header

Hash:	0b8851ddb688e8de813196b7cd62f113edde2e3a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Aug 27 19:35:39 +0100 2016

	wifi: allocate cipher states in secret memory, do AESstate key setup once

Hash:	0f97eb3a609cd892a0de1d61ef61e5b48be082d8
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Aug 27 19:33:03 +0100 2016

	kernel: add secalloc() and secfree() functions for secret memory allocation
	
	The kernel needs to keep cryptographic keys and cipher states
	confidential. secalloc() allocates memory from the secret pool
	which is protected from debuggers reading the memory thru devproc.
	secfree() releases the memory, overriding the data with garbage.

Hash:	8a73650874a68575fb7b93a44f3bba352c50288a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Aug 27 19:23:55 +0100 2016

	libc: add poolisoverlap() and definitions for Pool *secrmem

Hash:	762e98d47e8d812f0dbe4b64ef2a73357bdebeee
Author:	aiju <devnull@localhost>
Date:	Fri Aug 26 20:23:13 +0100 2016

	Bfn: set +x

Hash:	1bd3ace9e70f3122d2dd2a5e091703c8a65170a3
Author:	aiju <devnull@localhost>
Date:	Thu Aug 25 22:39:07 +0100 2016

	document Bfn

Hash:	81b1fc5a1268bca74e854ebe4850c0c1b8b69ff3
Author:	aiju <aiju@phicode.de>
Date:	Thu Aug 25 22:03:54 +0100 2016

	fix Bfn botch

Hash:	1f441308e9a8981bedbe5ce16a9c97145bd6bc96
Author:	aiju <devnull@localhost>
Date:	Thu Aug 25 21:36:39 +0100 2016

	add Bfn script

Hash:	a1e96ae4b512307d69012f42a291253dee0f9303
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Aug 20 18:09:08 +0100 2016

	merge

Hash:	c0ab6c1d015a989b97a7623bb409dc1765e51530
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Aug 20 18:06:57 +0100 2016

	vga/igfx: add pci did's for kenjis intel graphics cards.

Hash:	51f76ae999813bdbf33b06bb4e6c6c8b00f4aec8
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Aug 20 17:51:07 +0100 2016

	merge

Hash:	540373b9f603825f27f853a441c6c046a04a0972
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Aug 20 17:49:44 +0100 2016

	vga/igfx: work in progress fdi link train for sandy bridge, properly calculate fdi and displayport lane count

Hash:	db7d1ed2b11cf17c3fc110eeede13ceba17fef33
Author:	spew <devnull@localhost>
Date:	Thu Aug 18 14:52:58 +0100 2016

	fix awk format printing bugs (thanks aiju)

Hash:	713beb6d423144456a458c7bb984a29ae70b3a9e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Aug 16 17:06:22 +0100 2016

	devmnt: fix mistake in mntrahread()
	
	mntrahread() had the prefetch window condition wrong so
	it would very agressively prefetch ignoring the prefetch
	window.

Hash:	f3b27fd889ff31531ecd69bbfd1013c9ba57814e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Aug 15 08:07:34 +0100 2016

	webfs: dont include http status in "needkey" error string

Hash:	52d407f86f35b4a9f2be36c6d61032e2ecb9f754
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Aug 15 07:40:04 +0100 2016

	libframe: consistent use of nil vs. 0

Hash:	5af0a7ce737f9f42d5fb153a84aa986850c97d62
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Aug 15 00:07:28 +0100 2016

	libflate: add bounds checking on decode array, add sanity checks in hufftab()

Hash:	75a8003a8afb22e8557da98ad5dae63efa365d5e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Aug 14 22:10:19 +0100 2016

	ndb/cs: don't lookup AAAA records for IL, make sure translated address is IPv4 for IL, consistent use of nil vs. 0 for pointers

Hash:	58a0db935ce609533d121a5158a3a9fc65d03f65
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Aug 14 22:07:10 +0100 2016

	ip/il: dont attept to connect over IPv6, IL only supports IPv4 packets

Hash:	d41ca0d32cac02ee12733b0710d8eae3f34c6a4c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Aug 14 17:52:18 +0100 2016

	6c: subsitute floating point registers eleminating MOVSD and MOVSS instructions in peephole pass

Hash:	dac5756766be04f303bceaea49eba4f6ffc4e25e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Aug 10 01:40:16 +0100 2016

	ratrace: fix fork/exec race with "nohang" procctl (like a debugger)

Hash:	a07a2025dab770421992362d8f4e4acbbf776fa8
Author:	aiju <devnull@localhost>
Date:	Mon Aug 8 21:19:29 +0100 2016

	document mplogic functions

Hash:	590a4980bcf1ba21b3ddbef032bc4ca0589c840c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Aug 8 06:48:55 +0100 2016

	auth/fgui: use pale colors

Hash:	e9818df0ba02fea011b443d21a3cd31b83755ded
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Aug 8 06:37:57 +0100 2016

	libcontrol: primitive text entry cut and paste with mouse

Hash:	15fd8261474dfa71437fc4e50beb0ea022dd1b1b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Aug 8 04:35:06 +0100 2016

	hgwebfs: make hgwebfs prompt for password

Hash:	c8d1a885f84cb26035c0f2d6827e74d1338c7a16
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Aug 8 04:32:20 +0100 2016

	webfs: avoid retry loops when we got a bad key in factotum

Hash:	038a61554939d02c17f4bcd4a6f0f150c40237d4
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Aug 8 03:17:41 +0100 2016

	webfs: include factotum key query in error string for 401/407 Unauthorized status

Hash:	62ad8fc8dfa714632654b05ec042b28af27bed98
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Aug 8 01:03:06 +0100 2016

	authsrv(6): document session secret key derivation for p9sk1 and dp9ik

Hash:	c6318ecb170c90e0eb336eeed16ca4755f99eee6
Author:	aiju <devnull@localhost>
Date:	Sun Aug 7 23:54:45 +0100 2016

	mptrunc: normalize after mpassign to handle the case b==r

Hash:	333468d668d5079bcf7651d4e25d688b6e7a833e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Aug 6 14:09:18 +0100 2016

	thread(2): threadgrp() -> threadgetgrp(), thanks jpm

Hash:	b21fe017d1b80b3db5ac92568e28f670efad2509
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Aug 5 18:09:42 +0100 2016

	libauthsrv: ANAMELEN -> PASSWDLEN

Hash:	b540a22eb0c287398e21358d6b66c8e544001f77
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Aug 4 10:48:19 +0100 2016

	libauth: fix mount file-descriptor leak in auth_chuid()

Hash:	2a6fd6ec25c66e87dd0127651549a2f8585c751f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Aug 4 10:47:12 +0100 2016

	auth/login: add dp9ik key to sub factotum, get rid of temporary /srv file

Hash:	ad6bb37e33d647411e1ee6cbd067433710f98267
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Aug 4 09:38:20 +0100 2016

	ape/libauth: add PASSWDLEN constant to compile passtokey.c from native libauthsrv (thanks lawler)

Hash:	261e3190929acd3e8e00507894789a5575fb815f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jul 31 19:16:25 +0100 2016

	auth: various cleanups, use common readcons() from libauthsrv, zero keys after use

Hash:	a75f4de5c9f1782b3a7e0a9648e24b360031a0d5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jul 31 19:09:47 +0100 2016

	auth/secstore: use common readcons() routine from libauthsrv

Hash:	ae5fb4ab78d7dd776a056045f673129f5a1cc779
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jul 31 19:06:56 +0100 2016

	auth/factotum: use common readcons() function from libauthsrv

Hash:	cf37a1010f7c9aabce1d3598d5a62489eb01d48c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jul 31 19:04:02 +0100 2016

	libauthsrv: export common readcons() routine and introduce PASSWDLEN constant
	
	drawterm, factotum, secstore and the auth commands
	all had ther own implementation of readcons. we
	want to have one common function for this to avoid
	the duplication, so putting that in libauthsrv.
	
	introduce PASSWDLEN which makes the use more explicit
	than ANAMELEN.

Hash:	d91c4e407d4fa98101ade0bcdc524c1f6864b2e5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jul 24 14:13:14 +0100 2016

	auth/changeuser: fix misleading print (secret is 31 chars max, not 256)

Hash:	409babb990a4740e5274b22d65cb4df451a277fd
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jul 24 02:24:42 +0100 2016

	devtls, devssl: make sure channel has ORDWR mode and is not a mount chan on fdtochan()

Hash:	8173223f439546685f0cc4471efc9a9d12fccf4c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jul 24 02:23:01 +0100 2016

	swap: make sure swap chan has ORDWR mode on fdtochan()

Hash:	a0d4c5e208405f84076891faaa43235bb2b87fc2
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jul 24 01:21:32 +0100 2016

	make error handling in 9p service loops consistent
	
	when we get eof, stop the loop immidiately and do not
	rely on the read to eventually return an error.
	
	when convM2S() fails to decode the message, error out
	and stop the loop. there is no point in continuing.

Hash:	a840b597cad282e837560b65dad89aa0cfd4af77
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jul 24 01:17:45 +0100 2016

	upas/fs: remove checkmboxrefs() debugging code, properly handle errors in 9p loop

Hash:	518a40ae95535f2b6fc59397155267d54c858343
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jul 24 01:12:17 +0100 2016

	ndb/dns: remove procname statistics and restart feature, cleanup 9p service loop
	
	given that the memory leaks have been fixed, theres no need
	for the obscure restart feature which is not reliable anyway.
	
	remove the code updating procname on each 9p request.
	
	handle convM2S error by exiting the service loop, dont read
	9p channel after eof.

Hash:	093eaec219c13b191968271a4d366669621b4f5f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Jul 19 21:10:52 +0100 2016

	kernel: dont pprint() into 9p channels
	
	when fd 2 (stderr) points to a mount channel, dont
	cause protocol confusion by dumping error strings
	into it.

Hash:	95524b1cdd24091d8d677d4c7a0bb8492f1a7961
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jul 15 20:13:35 +0100 2016

	5c: fix int -> uvlong cast bug (thanks to qwx on his patience on a the trouble session to narrowing it down)
	
	we used to not sign extend if the destination was unsigned
	uvlong, which is wrong. we have to sign extend only based
	on the signedness of the source (it gets propagated to vlong)
	
	this bug hit in hjfs in the newentry() function, causing file
	creation to fail with "create -- phase error":
	
	newentry(...)
	{
		uvlong sj;
		int si;
		...
	
		sj = si = -1;
	
		...
	}

Hash:	de1e74abd21007b75e456a7810f923a5043ada87
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jul 15 14:04:32 +0100 2016

	5a: ROL instruction

Hash:	1492f46f87b0a79cc4a2a2dadb16c1c1911c097c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jul 10 20:41:57 +0100 2016

	libsec: add scrypt password based key derivation function

Hash:	677dd90b029cc7e11020af220bbcdd2f6028db45
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jul 8 15:19:15 +0100 2016

	disk/prep: if no 9fat, reserve space for plan9 partition table in autopart (thanks Shamar)
	
	usually, the plan9 partition table is contained in
	the first 9fat partition after the pbs/fat header,
	but when no 9fat partition is requested, we have
	to make sure partitions wont overlap the partition
	table (start at sector offset >= 2).

Hash:	49cd794fbdd661e8035eee41d053fedc30a5e165
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jul 8 03:16:37 +0100 2016

	5l: ROR instruction

Hash:	752ba45fbf0d9122dd38e516bd7d2993b9210ff2
Author:	spew <devnull@localhost>
Date:	Wed Jul 6 05:21:36 +0100 2016

	remove mpc.tab.h on mk clean

Hash:	eef8f57b224be57f4fd84aae2ffac3e17b9f8918
Author:	spew <devnull@localhost>
Date:	Mon Jul 4 20:25:08 +0100 2016

	add history for libregexp

Hash:	5fc7cdbbccfe7205698ddf9f5a4a4ae8092128c2
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jul 2 20:15:39 +0100 2016

	9fs: remove juke, kfs and snap targets, caching for other and dump

Hash:	1edd8d28a56578307df36967d51f16703d8f33bd
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jun 30 18:11:06 +0100 2016

	acpi: _ADR and _BBN might be methods, so use amleval() to evaluate the value

Hash:	3ec84c5d7364c8ed4602561743bf35e3b399e53d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jun 30 18:09:27 +0100 2016

	rc: implement 9atoms ` split {command} syntax extension

Hash:	cabbe0a84c7aae53316347185a5bdf8095bac9c8
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jun 30 16:18:30 +0100 2016

	doom: use Kprint for pause function (from qu7uux)
	
	the pause function is different from just accessing the menu: it pauses both
	single and multiplayer games, stops music and sound, and is recorded in demos
	(does not cause a desync, unlike menu access).
	this uses Kprint rather than Kbreak because Kbreak is e.g. Kctl+pause on some
	keyboards.

Hash:	92aa75e879f9089ed8af8552ba399a243d6bbda0
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jun 30 16:16:11 +0100 2016

	ether8169: fix wrong mbps setting (from qu7uux)
	
	the first time rtl8169link is called (from rtl8169pnp), the link isn't up, so
	setting edev->mbps based on Phystatus register is skipped. edev->mbps is then
	still set at the default 100, and that ends up being what devether uses.
	this is why some rtl8169 cards are misprinted as 100Mbps in kmesg.
	later, after rtl8169link is called again from rtl8169interrupt, the link is up
	and edev->mbps is set to the correct value (as shown by e.g. /net/ether0/stats).
	
	so instead, set speed regardless of link status.

Hash:	ca8ca008f4ab7074971a35e08de9a46cb9b5d5ab
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jun 30 16:13:47 +0100 2016

	doom: fix blazing door sounds (from qu7uux)
	
	blazing doors are a "fast" door type with its own sound effects, introduced in
	doom2. doom2 map 2 has one right at the beginning.
	
	this fixes two bugs:
	- when a closing blazing door is completely shut, the closing sound effect is
	  erroneously played again (the first time being when it began closing). this
	  gives the impression of two doors closing.
	- when reopening a closing blazing door (standing underneath a blazing door
	  while it's closing), the sound effect for regular doors opening is played,
	  instead of the one for blazing doors, because of a missing case in the switch
	  statement.

Hash:	dab539cd14726de15932b0310532212f8da29bf7
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jun 30 10:58:40 +0100 2016

	vga/igfx: fix integer overflow in datam calculation (from qu7uux)
	
	data[mn] and link[mn] are 24-bit values.
	in the expression 'm = (n * ((freq * bpp)/8)) / (lsclk * lanes)',
	uvlongs are used to prevent integer overflow, but since freq, bpp, lsclk and
	lanes are all ints, the cast to uvlong does not happen until it's too late,
	getting a wrong value.
	instead, use u32int for m and n, and use casts where necessary.
	
	example of bad calculation:
	freq = 141400000
	lsclk = 270000000
	lanes = 2
	bpp = 18
	→ 0x7f3ee1ca6 (correct value: 0x4b69d0)

Hash:	6c7829092e71b407f16ff7229a19864439170761
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jun 30 00:07:03 +0100 2016

	acme(1): remove references to awd

Hash:	828ec57d652618e1d9cecb8fb6cc588afc063dca
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Jun 29 23:46:52 +0100 2016

	acme/win: implement /dev/wdir file in win to change directory tagline, remove awd

Hash:	65977417e7cc5919f7c9787f97a528e8c24d2423
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Jun 29 23:45:37 +0100 2016

	rc: write /dev/wdir after printing the prompt, not after executing "cd" command

Hash:	d39d1a5303541539f61488317b220c1eb724d7d3
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jun 26 23:36:54 +0100 2016

	merge

Hash:	2dc97202de20c3e5b89e66d16e102ea393a19b6c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jun 26 23:36:04 +0100 2016

	ndb/dns: purge db records on refresh for resolvers, remove old debug and testing code
	
	when ndb/dns runs as a resolver only (cfg.cachedb == 0),
	we still want to purge the "local#" db records to reread
	dns server configuration or react to changed ip addresses.
	
	removing old poolcheck and dncheck code, these bugs have
	been fixed a long time ago.

Hash:	cb1a49daac0e235d15d67acb439dc3077abc766b
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Sun Jun 26 21:47:19 +0100 2016

	/sys/src/games/mkfile: add timmy

Hash:	4821c261c4cea895ddcbd7c70bc71103c9a2763b
Author:	aiju <devnull@localhost>
Date:	Thu Jun 23 20:12:06 +0100 2016

	added games/timmy

Hash:	baf20a548b903bb76f94045645f9b679383bb728
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jun 26 17:14:34 +0100 2016

	rio: move the test if w is allowed to change cursor into wsetcursor()
	
	the onscreen cursor shows the cursor of the current
	focused window or the window it points at. if there
	is no window, then we set the default cursor (nil).

Hash:	b2efac468744ce418329438fe413cea578d35d61
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jun 26 15:38:46 +0100 2016

	5c: handle unused results for cgen64()

Hash:	67a9174ff8425d3e4adec10b06664428f4aaf354
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jun 26 14:28:01 +0100 2016

	chacha: calculate rounds in separate function (helps registerizer), get rid of unrolled code

Hash:	69b0980a42da16d97349ea962e57a5f55684e1a8
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jun 26 14:16:23 +0100 2016

	libc: native _addv() and _subv() routines for arm

Hash:	a99cf56c7d670f6af88cab39de91f1d6ac36416f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jun 26 14:13:10 +0100 2016

	kernel: more (arm) compiler friendly mul64fract()
	
	the arm compiler can lift long->vlong casts on multiplcation
	and convert 64x64->64 multiplication into a 32x32->64 one
	with optional 64 bit accumulate.

Hash:	5bf09937da68b5b55e33cc24ea021ed08b2ae6e0
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jun 26 14:09:27 +0100 2016

	5c: support for bit ROL, native 64 bit arithmetic

Hash:	57ff297cc07982da819b996f51cd5f31c1af429d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jun 26 14:00:40 +0100 2016

	cc: add OROL op to side effect free op list

Hash:	c7565b51b831e55ddbd4d7ea83f8a3730e60b77b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jun 20 22:11:27 +0100 2016

	merge

Hash:	94ba3db59132e8375f757d8ea6082099d2564911
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jun 20 22:09:40 +0100 2016

	audio/flacdec: exit on decode error, print error message

Hash:	0d29a5d81f8c2e45f94aa214d47a568a741547f4
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Sun Jun 19 23:40:46 +0100 2016

	fortunes: Emacs now supports webkit.

Hash:	e73a9eb9e835d21bd44d2f0a26d144c49c504d07
Author:	aiju <devnull@localhost>
Date:	Fri Jun 10 11:14:02 +0100 2016

	togif: -E flag to read animation from stdin

Hash:	a00b6bdbfa72a1688a866edf5f825720c9874ada
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jun 9 22:12:46 +0100 2016

	8c, 6c: native ROL (cyclic shift) instruction support, improve peephole optimizers
	
	introduce rolor() function to subsitute (a << c) | (a >> (bits(a) - c))
	with (a <<< c) where <<< is cyclic rotation and c is constant.
	this almost doubles the speed of chacha encryption of 386 and amd64.
	
	the peephole optimizer used to stop when it hit a shift or rol
	instruction when attempting to eleminate moves by register
	substitution. but we do not have to as long as the shift count
	operand is not CX (which cannot be substituted) and CX is not
	a subject for substitution.

Hash:	5cdabc5eb16db432abcf61dc126bfb7f9b2978c1
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jun 9 22:03:30 +0100 2016

	?c: track ../cc/cc.h dependency and rebuild cc.a$O as neccesary

Hash:	bd8b6c2f9900d90c2b0ba59f7bb139252bffd231
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jun 5 14:15:03 +0100 2016

	aml(2): document amlintmask

Hash:	bc2a5d9b1e1db8927f7c10725eec5a073968c9d5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jun 5 13:57:38 +0100 2016

	aml: define amlintmask and set it according to DSDT revision (64bit / 32bit)

Hash:	3ccc8224be30ed01a30a4d92ca868df4e98a13fd
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jun 4 20:11:17 +0100 2016

	aml: implement ToInteger() and Match() instructions

Hash:	a4a1a88a70d82facefdd19b66ebc372e28adb146
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jun 4 18:10:07 +0100 2016

	webfs: less aggressive url normalization; never unescape reserved characters in path/query/fragment

Hash:	7c5ca77a6e4d442b4c026e2cd9e483a692f65def
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Thu Jun 2 02:45:46 +0100 2016

	etheriwl: add pcid 0x0082 for Intel Centrino Advanced-N 6205 variant

Hash:	de19776b2f793de7fdf1111d84d96eb29f9a22fd
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Jun 1 23:12:36 +0100 2016

	mk: remove buggy and useless symtab functions (thanks qrstuv)
	
	neither symdel nor symstat were used anywhere. syminit was used but
	had no effect. both syminit and symdel dereference pointers after
	freeing them. symstat can be tricked into writing beyond the bounds of
	its array

Hash:	b878450725de85dc874f42bc9de4ce1d5087f900
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Jun 1 17:31:21 +0100 2016

	mk: remove buggy and unneeded syminit() function (thanks qurstuv)
	
	syminit() attemts to reset the symbol table by freeing
	all the hash table entries, tho the code is buggy having
	a obviously use after free bug.
	
	as syminit() is only called once in main when it does not
	contain any symbols, the bug never occured.
	
	removing the unneccesary code alltogether.

Hash:	68571320fa2ba4f993199370d60dc4dbd114bea8
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun May 29 17:23:42 +0100 2016

	libmemdraw: remove unused static variable from memimagedraw()

Hash:	3b1f13cb36bbe32e7ac685b288a2baefe1dba824
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat May 28 22:59:10 +0100 2016

	add polish keymap (thanks chomzee!)

Hash:	e8eed628aec56b52288625e670a097ba3bdae370
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri May 27 17:56:31 +0100 2016

	awk: restore old buffering behaviour for printf

Hash:	7a28f9bd8cc98670f0559eed29f2cc3c62d93d8d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu May 26 20:28:29 +0100 2016

	vgaigfx: check gtt to determine graphics memory size, add hw cursor support for g35 (thanks kenji)

Hash:	fa82522b69ea663dd2ac48018de4415c96bd734f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu May 26 09:02:03 +0100 2016

	etheriwl: add pci id for PRO/Wireless 5350 AGN (thanks Ori_B)

Hash:	3ba84f05c26b8b3f6ac1da3eeff8489bdccc7890
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun May 22 20:53:37 +0100 2016

	/sys/lib/dist/mkfile: efi iso/hybrid support

Hash:	4e5b596bbaa4a7b6114df0c293622ebf4fb94bef
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun May 22 20:52:04 +0100 2016

	efi: ensure 8 byte alignment of buffer, as ReadBlocks() method will fail otherwise

Hash:	66b1a83b7468fe35e11996ca1b12d00fe41f75c5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun May 22 14:22:46 +0100 2016

	efi: allow access to iso filesystem on non-cdrom media (iso/hybrid)

Hash:	9adaf2e7f8a81eb207eb7894e80864019950e0e7
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri May 20 08:56:45 +0100 2016

	9boot(8): third time's the charm (thanks archeus)

Hash:	669468dcae1a8bfee9d064e74bb4718bb8159150
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu May 19 18:51:45 +0100 2016

	9boot(8): fix typo

Hash:	31d509d7a4f9d495473641b046c3c86448b2d980
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu May 19 18:49:04 +0100 2016

	9boot(8): document 9boothyb

Hash:	1216c06c3bdf3f3fb953ec96de99e026ef318360
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu May 19 18:17:24 +0100 2016

	dist/mkfile: generate iso/hybrid image for 9front.iso

Hash:	225b573624549303609411ab87a6e923964a50c1
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu May 19 17:48:06 +0100 2016

	9boot: add iso hybrid loader 9boothyb

Hash:	c911310a8b731d20a603d7710003e44b7ff7c8b8
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed May 18 14:25:43 +0100 2016

	libauthsrv: dont pass netroot to netmkaddr()'s defnet parameter in authdial() (thanks kenji arisawa)

Hash:	613578b69f8bada4c6aa791e56768e59b017b20c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon May 16 21:55:30 +0100 2016

	kernel: add srvtls and tlsclient to bootfs.proto for encrypting connection to the file server

Hash:	bd50adc942797ef52ac80ab29b5edca8bddd554b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon May 16 21:49:32 +0100 2016

	add srvtls and the corresponding tcp17020 service

Hash:	83f8d591689cae964ba58fbcf172f6a4fa7003ed
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon May 16 21:24:39 +0100 2016

	cc: prevent symbol buffer overflow

Hash:	32e23bdb5939c879f947cd6c0ae423165646180c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon May 16 21:02:17 +0100 2016

	cc: use UTFmax not 4 (djc)

Hash:	7468752ea24a9b9a4c2930270a457ec790dced15
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon May 16 20:58:12 +0100 2016

	ndb/cs: fix memory leak (charles forsyth)

Hash:	8c837c7bf6e096b9d0c055b47df6f4f3be0c8375
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon May 16 20:49:02 +0100 2016

	exportfs: disallow ORCLOSE in readonly mode (charles forsyth)

Hash:	b6005f3a457ff1b40b5fd342c63e2685e5f49b1c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon May 16 20:11:54 +0100 2016

	avoid updating offset in pread; avoid diagnostic about vlong mask (charles forsyth)

Hash:	29c7ca80c9df8f805217be9bb9a9a083ff12912d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon May 16 20:10:08 +0100 2016

	correct check for segment overlap (rmiller)

Hash:	b15430979d712d27ea4cd40ca2ab031206081dfe
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon May 16 18:57:53 +0100 2016

	rc: simplify execfinit() / Xrdfn() using the globber to lookup /env/fn'#'*

Hash:	ce7f7d3ab9f193dc35ee005487b83c5a93b963d9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon May 16 17:03:57 +0100 2016

	rc: fix double close() in addenv()

Hash:	b6b5fd6da79aff13f7ebded1ae49124743411271
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon May 16 04:35:22 +0100 2016

	jpg: output partial image data when available (truncated files)

Hash:	31a6f6c83db8e845bc5bf2f0927685a6c2bdfdb2
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun May 15 23:46:46 +0100 2016

	rc: remove duplicate Xrdfn entry from fname[] array

Hash:	4ad3f4f2fd225b0ac5c9f49e3c5713a5996becd3
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun May 15 23:37:49 +0100 2016

	rc: remove historical unix and win32 ports

Hash:	45d6bca5f0c405a3fc3e485d23a52e980627988f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun May 15 22:09:23 +0100 2016

	rc: fix shift regresison, sorry

Hash:	d0e510b29af9a1d12a507f03f352b6d39adc0ace
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun May 15 18:58:24 +0100 2016

	rc: remove pointless Memcpy(),Malloc(),Realloc() and efree() wrappers

Hash:	7717051e3ce062fbdb8415e4befa5205d25e80bb
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun May 15 18:10:37 +0100 2016

	rc: fix inband globbing bugs, cleanup
	
	add glob information to the word structure so we wont accidently
	deglob quoted strings containing the GLOB. we store Globsize(word)
	in in word->glob which avoids recalculating that values and the
	check if a word should be globbed quick.
	
	globlist() now substitutes the word inplace avoiding the copying
	when all words are literals and avoids recursion.
	
	minor cleanups: use list2str() in execeval(), move octal() to
	unix.c, remove the (char*) casts to efree().

Hash:	81f867f4fb3d7fd495be3282a01d2e4a9b1a56fd
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat May 14 17:14:08 +0100 2016

	rio: only the current window may change the cursor, fix typo screen->r vs w->screenr in drag()

Hash:	06a0dc5319435aa6d6e1152a789fb9d7dcba98de
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri May 13 23:58:11 +0100 2016

	rio: second attempt...

Hash:	20fe277f38a161b00d2425994c9db536945620bc
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri May 13 23:17:07 +0100 2016

	revert previous commit, not ready yet

Hash:	24e73840072b4214b3c5e2167a85bdc408fd3b03
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri May 13 22:46:45 +0100 2016

	rio: get rid of all mouse moves, fix cursor handling

Hash:	918e791bc8e34f1298a4280d696f5559b35e9cf9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri May 13 10:14:37 +0100 2016

	merge

Hash:	63a14bfe8abf53384070fcf068aa3458eaf68a6e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri May 13 10:13:26 +0100 2016

	upas/marshal: strip trailing whitespace from header values
	
	when using rio auto-complete to resolve file names for the "attach:" and
	"include:" headers, the auto-completer might leave whitespaces at
	the end of the line which leads upas/marshal to not find the file.

Hash:	d83edb22d47134d0bafbdeb45325a68c090b6983
Author:	mischief <mischief@offblast.org>
Date:	Fri May 13 08:10:55 +0100 2016

	lib: update pci database

Hash:	675ee1db15ca969a4b03718cf71af8d4589f0306
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu May 12 11:41:32 +0100 2016

	auth/rsa2x509: generate x509v3 cert as extension field might not otherwise not be expected

Hash:	67158d5b05ee71278d673034f4bc00171d4a98d3
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu May 12 02:17:15 +0100 2016

	auth/rsa2x509, auth/rsa2csr: allow appending SubjectAlternativeNames (SAN) to multi-domain certificate generation

Hash:	cb4b187f10ae92aab6689a454d17bbbd382ebe63
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed May 11 01:10:05 +0100 2016

	devssl, devtls: fix permission checks

Hash:	a630e17bd7d77df2b88ee3995e35ed1b88f00830
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun May 8 05:05:25 +0100 2016

	ip/ipconfig, ip/ppp: preserve preexisting entries when writing /net/ndb
	
	it is now possible to configure additional interfaces (like wifi)
	and store the network information while preserving old entries
	in /net/ndb. this allows to easily switch from ethernet to wifi
	and have dhcp configure dns without having to clear /net/ndb.

Hash:	0e516cbf488a9ec8edae3dc6efca2baa0c3d95bd
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun May 8 04:19:44 +0100 2016

	vgaigfx: fix device id for Ivy Bridge (thanks Kenji)

Hash:	45e2b4dfe9570aefe3e5f2a8b7af956b7365f522
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat May 7 14:19:41 +0100 2016

	games/mahjongg: off by one in bmatch(), fix hint() redraw (thanks Kenji)

Hash:	8ac8b3e064f26a1e490accd16d1da30f9d6bb926
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri May 6 05:02:24 +0100 2016

	/lib/vgadb: add Panasonic CF-R7 LCD panel (thanks Kenji)

Hash:	73f834b9395972271f870f30d67dff4c896fd39a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu May 5 22:31:23 +0100 2016

	add belarusian (by) keymap (thanks eric lindblad)

Hash:	f758019630f0242deb1638009438ebfc1fbc2451
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu May 5 22:22:28 +0100 2016

	remove š and Š from estonian keymap
	
	Probably the temporary solution to obtain the Estonian uppercase Š and Ž [S and Z with caron (ˇ)] without Shift + AltGr, I note in https://code.9front.org/hg/plan9front/rev/5b6853beadb4 you've written a Shift + AltGr (table 7) for Polish, would be using the caron (ˇ) mapped to key 41 followed by Shift s or Shift z; it was a mistake to earlier map a mode 4 in my fix of /sys/lib/kbmap/ee. It is a bit of an inconvenience to have an AltGr mapping to š and ž, but not a Shift + AltGr mapping to Š and Ž, but that's the best I can do for now. I send a new ee file without the mode 4.
	
	https://code.9front.org/hg/plan9front/rev/851d5d9022af
	
	these should not be in here
	1.97+4    31    'Š
	1.98+4    44    'Ž
	
	https://code.9front.org/hg/plan9front/rev/378ba39fc90a
	
	Sincerely,
	Eric Lindblad

Hash:	66719fb3ea15351f8860cc6696993357a60ab238
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu May 5 17:54:58 +0100 2016

	kernel: fix cb->f[0] nil dereferences due to short control request

Hash:	7d45ee4f6adc378fb6244c73abe8e46fe636beae
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu May 5 15:35:25 +0100 2016

	remove unmaintained omap4 (pandaboard) kernel

Hash:	76e4f7caf9440f3ebb667b801fa55f5bc1c4be08
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu May 5 15:32:15 +0100 2016

	remove unmaintained bitsy (ipaq) kernel

Hash:	8d9a94a66ed80605cb21be1a091a9b6fe02bd023
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu May 5 15:18:57 +0100 2016

	pc64: add etheryuk driver

Hash:	36d70eb5a797527cbd11d1f318cd6ca6bd5ebd5a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu May 5 15:17:58 +0100 2016

	etheryuk: add Yukon 88R8055 id from erik quanstros driver (thanks Kanji)

Hash:	5a2ad90bec85dbfd5c5f6bb1b0ff88a73cfe1911
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu May 5 01:11:00 +0100 2016

	vncv: fix netmkvncaddr()
	
	netmkaddr() can return a the pointer to the host string if
	it is already a full dial string. but we assumed to get
	a copy and freed it before returning.

Hash:	c7db24fc26ae57be607887b20dc180a64a73fa3e
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Thu May 5 00:26:26 +0100 2016

	9fs: add sites to 9front case.

Hash:	2ef975ae7d4174ae8aa46d4ff581adb5fd9867d9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed May 4 18:23:57 +0100 2016

	hg: set $HOME when not already set to avoid silly uid lookups which can fail if theres no /adm/users

Hash:	66892eb133865ec02faa8e64cdfa2f867f9e1e87
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed May 4 17:53:31 +0100 2016

	webfs: fix "fd out of range" error message

Hash:	4e665c8662d6baa40b41afa6e0ffd2fa4781b0a0
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed May 4 16:49:11 +0100 2016

	rootstub: remove alpha

Hash:	fb790a51f49f0d5f4f4f415ace3cee4ff7de3ba9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed May 4 16:10:26 +0100 2016

	libmach: more alpha

Hash:	53c73dedec2920c0c6f6c2459fe1ff11ccaae8e6
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed May 4 16:00:45 +0100 2016

	libmach: remove alpha stuff

Hash:	a158c4bdb94c908face64f187aa4402a2b17bd81
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed May 4 15:35:25 +0100 2016

	remove support for import command in namespace files

Hash:	814de7f6b3911dcaec1f76d8ad69ae6c35b21b7c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed May 4 15:32:05 +0100 2016

	cdproto: remove alpha

Hash:	d11bea071c007e2dbc4cfaead788349aaaae1bb4
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed May 4 15:24:13 +0100 2016

	2c(1): -O=7

Hash:	a584d9eb96636f0743b4d10150f34fc81fd4bb1b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed May 4 15:21:53 +0100 2016

	remove references to dec alpha from the manual

Hash:	986886f2b8ab4a7e1b3d66e99934d8fdab537be9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed May 4 15:11:48 +0100 2016

	retire the dec alpha port

Hash:	f7703d6971383c39f981f5676a4e28a6371c3997
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue May 3 23:25:03 +0100 2016

	merge

Hash:	14685d65958bed4d68b9c60564fa8d09aa746462
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue May 3 23:23:48 +0100 2016

	ape: return plan9 error strings from strerror()
	
	when _syserrno() fails to map a plan9 error string to
	a unix error number, we copy the plan9 error string
	to the per process error buffer "plan9err" and set
	errno = EPLAN9.
	
	when strerror() is called with EPLAN9, it returns
	a pointer to the plan9err buffer.

Hash:	0695e04adafd2fcf5d3ad2240a53818b36efa928
Author:	spew <devnull@localhost>
Date:	Tue May 3 18:37:46 +0100 2016

	correct reference to srv(3) in shr(3)

Hash:	01986adbbf75c07c613b11fcb81a8015a71e5664
Author:	spew <devnull@localhost>
Date:	Tue May 3 18:35:19 +0100 2016

	document example for shr(3)

Hash:	479ccd0aa1ee54f48f1d2192a3f389faff4fa611
Author:	spew <devnull@localhost>
Date:	Tue May 3 15:29:39 +0100 2016

	add "snake" tracing effect to mole

Hash:	7657312dcf5b9435ff848b20dfc3a0546ab8a500
Author:	spew <devnull@localhost>
Date:	Mon May 2 21:11:48 +0100 2016

	fix e2 production to match regexp(6) and do it right this time

Hash:	de5cabceafbda54d1a7397e6297f5fc1fb4759ce
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon May 2 20:16:04 +0100 2016

	libregexp: reverting this shit. this is clearly broken.

Hash:	9c01b9a9580effc1b379e5ae04264c49f5849a15
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Mon May 2 19:48:11 +0100 2016

	libregexp/regcomp.c: fix parser for e2 production (thanks, spew)

Hash:	9ccbf1dcb15a69dbe21a6767c137537f3a5863af
Author:	spew <devnull@localhost>
Date:	Mon May 2 02:54:46 +0100 2016

	just use wait in "system" call for awk, get rid of unix dependent status code divisor

Hash:	ee68dedf53695895630fd9a463429a8d34a9679c
Author:	spew <devnull@localhost>
Date:	Mon May 2 02:34:07 +0100 2016

	null terminate await buffer for proper tokenize call

Hash:	a141f4c53a32d8227f9a490a8e4f7d87445c47d1
Author:	ben <ben@rana>
Date:	Mon May 2 02:22:35 +0100 2016

	use rc in awk, remove awk from APEDIRS in cmd mkfile

Hash:	6e1592c94edefe2fd2611ce43680eceeb1835d03
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon May 2 00:46:19 +0100 2016

	/lib/ndb/common: update ip addresses for [BCHL].ROOT-SERVERS.NET

Hash:	49cbee690f2cae2f04a1022145dd277869f1201c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun May 1 23:35:52 +0100 2016

	awk: dont require sed to build awk

Hash:	42a7fcabb040928915756bd686f042063d48d8ec
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun May 1 23:34:23 +0100 2016

	awk: bring back ENVIRON[] support

Hash:	79fbfbff48c19e11c60317797e7b9f2903e69a37
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun May 1 20:52:34 +0100 2016

	acid: don't get fooled by spaces in convflt()

Hash:	5aa224c153db83a9fe82848860a062c7c3566cc5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun May 1 20:51:15 +0100 2016

	pc: use fpsave() instead of fpenv() to capture fp exception context

Hash:	e880549da638e3fa20465e7ed90d3803aa28fc18
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun May 1 02:03:12 +0100 2016

	libregex: fix sed regression (thans spew)
	
	I introduced a regression in sed that currently has screwed up
	/sys/lib/man/secindex.
	
	The issue is that sed 's/$/ foo/g' will actually replace the newline
	character with foo instead of just appending at the end of the line.
	This only makes a difference when sed is operating on a multiple line
	record. The effect is a record like:
	
	foo
	bar
	baz
	
	becomes:
	
	foo foobar foo baz foo
	
	instead of
	
	foo foo
	bar foo
	baz foo

Hash:	77d23bae0f7d64ea958c8df410cf029392c6c48c
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Sat Apr 30 23:39:05 +0100 2016

	upas/bayes/dump.c: regcomp.h is now located in this directory.

Hash:	974c4fc768c12af947af13de75c227ef7e6ca50d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Apr 30 04:12:20 +0100 2016

	awk: temporarily fix for NaN() exceptions on 386
	
	problem is NaN() produces a SNaN, not a QNaN... and on the 387,
	storing 80 bit SNaN in register to a 64-bit memory destination
	traps.
	
	SNaN/QNaN encoding is machine specific. mips has the qiet/signaling
	bit inverted.
	
	disabling fp exception in main() now, but that sucks.
	
	i think the best solution would be to not even call strtod() in
	is_number() but just write a regex or a little state machine that
	will only accept numbers without nan and ±inf.
	
	that might even make it faster and is more robust than relying on
	the os's strtod() details.

Hash:	ce1edc34368d192db7d3421673ca98c19cc792b2
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Apr 29 19:18:28 +0100 2016

	ape/libsec: fix nuke target to remove /$objtype/lib/ape/libsec.a instead of /$objtype/lib/libsec.a

Hash:	46008ac6b7181a2ad57946ea8d67b28b7a230b9a
Author:	aiju <devnull@localhost>
Date:	Fri Apr 29 17:11:29 +0100 2016

	handle NaN in awk (thanks spew)

Hash:	415b5dfe9b46b0137fe10d279bbb7ed61a162ad6
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Fri Apr 29 04:59:59 +0100 2016

	awk: fix mkfile for cross-compiles (thanks, spew)

Hash:	cb3049652da75b7ac00a865cd518f29ff05b3155
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Apr 28 20:22:26 +0100 2016

	remove ape/regexp.h, remove leftover #pragma lib oldlibregexp.$O from upas/bayes/regexp.h

Hash:	4c21da2ededfb5fc628dbee0d75b0aa5263ef97b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Apr 28 19:53:53 +0100 2016

	merge

Hash:	eb168924840977fe0941d4fc90e56db0d484a6e4
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Apr 28 19:52:36 +0100 2016

	closed spew branch

Hash:	4d5fb6c357b641ef37850bd2f400c89a3ec5b326
Author:	ben <ben@rana>
Date:	Thu Apr 28 18:07:24 +0100 2016

	fix printing a char from an empty string

Hash:	6886164e34f8da60069ae1e13ce6032f9aac1678
Author:	ben <ben@rana>
Date:	Thu Apr 28 17:20:38 +0100 2016

	fix printing a char from a string that starts with a rune

Hash:	7420dc6adab03f28020243d71a3372cda15cacbc
Author:	ben <ben@rana>
Date:	Thu Apr 28 17:07:43 +0100 2016

	fix unsigned printing for awk

Hash:	58a6b6d6ff5e38e3d166756117851e924adcfb3b
Author:	ben <ben@rana>
Date:	Thu Apr 28 14:26:57 +0100 2016

	merge default

Hash:	006fa02a5e8a78d11e6c4852cb726462660e9cc7
Author:	ben <ben@rana>
Date:	Thu Apr 28 14:05:42 +0100 2016

	get rid of size printing

Hash:	0da525ae9a5e9e708d81a02e81be0fb773e1ca47
Author:	ben <ben@rana>
Date:	Thu Apr 28 01:56:39 +0100 2016

	check program size

Hash:	ca5b491753ad363da8d9deb5978b56231ec27bf5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Apr 28 00:53:09 +0100 2016

	rune(2): add Runeerror reencoding considerations in BUGS section (thanks aiju)

Hash:	3bf6ef0196645fabb0d45c92462753c4554c9fd8
Author:	ben <ben@cirno>
Date:	Wed Apr 27 23:36:43 +0100 2016

	better memory management of threads (thanks knuth)

Hash:	86e0099835f99de6ccc3bee33a297387993aa037
Author:	ben <ben@rana>
Date:	Wed Apr 27 14:20:54 +0100 2016

	merge in master

Hash:	b8986a889d7e3a445c0265c5cfb3b1db385db756
Author:	ben <ben@rana>
Date:	Wed Apr 27 14:09:16 +0100 2016

	use Beof for awk port

Hash:	85824350b5f65053053245d141aaf7d668089d28
Author:	ben <ben@rana>
Date:	Wed Apr 27 13:52:41 +0100 2016

	remove ape regexp library, add utility for awk native port

Hash:	d8d47f14b5ed8f6d3f892761ed86c6ce2075c337
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Apr 27 11:59:06 +0100 2016

	libjson: add slack space to literal string buffer to handle bad runes (thanks mischief)
	
	if the input string contains invalid utf-8, runetochar() produces
	unicode replacement characters that can overflow the literal buffer.
	as the overflow check is done after runetochar(), add UTFmax bytes
	of slack space avoiding the issue.

Hash:	0f8168038af32828fcdc39575dea0e4de0c01122
Author:	ben <ben@rana>
Date:	Wed Apr 27 04:26:03 +0100 2016

	remove old libregexp files; add headers for upas/bayes

Hash:	0a460e1722c50e31653359f8a86fe0b606d2b513
Author:	ben <ben@rana>
Date:	Wed Apr 27 04:23:44 +0100 2016

	New libregexp and APE ported to native

Hash:	651d6c2bc68e7e5224c3ba41b094e37b1c1890ed
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Apr 25 23:10:47 +0100 2016

	abaco(1): remove readweb

Hash:	6d2635d5badb1825d766f16b0ad43f45f84ca495
Author:	Matthew Veety <mveety@mveety.com>
Date:	Mon Apr 25 22:49:31 +0100 2016

	made abaco's gui respect $font and made readweb respect most installations

Hash:	1cf3c4666943028cccfbbed8d2bae2fee30713a4
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Apr 22 02:41:06 +0100 2016

	rsa: rename getkey() to getrsakey(), document rsa2csr in rsa(8)

Hash:	17a67eeb652ebc76f6fc9f7f7bbed501187d24e1
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Apr 22 01:33:29 +0100 2016

	libsec: implement server side SCSV preventing silly client fallbacks
	
	silly clients (web*) reconnect when the handshake failed with a lower
	protocol version, which allows downgrade attacks (POODLE). but instead
	of stopping this madness, they invented a new magic TLSID to indicate
	to the server that this connection attempt is a retry, and rely on the
	server to notice and stop them from sabotaging themselfs.

Hash:	7b3334775edcfe43fc6ff44955b09dc294d96974
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Apr 21 22:29:59 +0100 2016

	libsec: order tlshand cipher suits by: keyexchange>=cipher>=hash, ignore client preference
	
	client preference is usualy crazy, so just ignore it.
	we always want the diffie hellman suits before static
	rsa and prefer chacha over aes-gcm.

Hash:	0d6a188ddea491e760361c45d9c9fd7ac2f06ffd
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Apr 21 20:25:33 +0100 2016

	rsagen: increase default key size to 2048 bits

Hash:	42c4cc75a6a0c35e9858479e69816d1a26b3d085
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Apr 21 19:41:19 +0100 2016

	libsec: remove affine coordinate point operations from ecc
	
	we now just do point addtion in jacobian coordinate system, and
	convert the result to affine when s->z == nil.

Hash:	2fa4c8ef663d774467dbcf61222c44a8826311b9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Apr 20 19:09:59 +0100 2016

	libsec: implement elliptic curve group operations in jacobian coordinate system

Hash:	2763229c0032c35dcd035eb7fa315c48d1c9e1ad
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Apr 19 23:41:03 +0100 2016

	rcpu: make sure not to leak /env/fn#server and /env/fn#aanserver for drawterm (thanks mischief)

Hash:	ff47cbd46489ed73eeb06861e6df7ac6f5bb1a44
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Apr 18 18:24:57 +0100 2016

	libsec: implement server side ECDHE key exchange with secp256r1, move DH state in TlsSec structure, simplify
	
	implement ECDHE key exchange with secp256r1 on the server side, providing
	perfect forward secrecy (tho slowly).
	
	it is easier to just keep the ECDH/DH state in the TlsSec structure,
	which fits better with the grouping of the functions. we do the cleanup
	in tlsConnectionFree() now, so a lot of error handling logic could go
	away.
	
	reinvestigated some error paths and removed the ones that cannot error.
	
	move functions to fit the logical grouping.
	
	combine the code for signing handshake hashes (for client certs) and
	DH parameters. provide digestDHparams() function to be shared between
	server and client code.

Hash:	9ba04fd030876aa2e385d3248ba19f5a80d3c799
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Apr 18 18:07:02 +0100 2016

	webfs: fix memory leak of serverName in tlswrap()

Hash:	93a86cea66385d3e8ca94dc24b163d9f3149852f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Apr 17 06:33:35 +0100 2016

	rsa(8): provide example for converting OpenSSL generated PEM file to factotum

Hash:	ad6b99359d4bc513e9a24f865bd310743b75e259
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Apr 17 06:20:54 +0100 2016

	libsec: massive cleanup of tlshand.c
	
	don't pass or generate sessionID's. this was never used nor
	actually implemented and leaks the process pid.
	
	get rid of version and random field duplications, move TlsSec
	structure into TlsConnection.
	
	make msgRecv() clear the message first, get rid of unneccesary
	msgClear() calls.

Hash:	54c49284e03e46f6e3a5d41bfc9fbc98c6f0b214
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Apr 16 22:36:55 +0100 2016

	libsec: fix memory leak of RSApub, avoid parsing certificate twice to extract rsa public key
	
	instead of letting factotum_rsa_open() parse the certificate,
	we pass in the rsa public key which is then matched against the
	factotum keyring. this avoids parsing the x509 certificate
	twice.
	
	the sec->rsapub was not freed, so free it in tlsSecClose()

Hash:	294e08fa1e2481a3b01b815c34f458999d2e782c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Apr 16 03:16:10 +0100 2016

	libsec: recognize and decode PKCS#8 wrapped RSA private keys for auth/asn12rsa
	
	example usage:
	
	auth/pemdecode 'PRIVATE KEY' test.pem | auth/asn12rsa

Hash:	1628c97d1ee667908372a41be8e33720047723b5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Apr 15 22:54:00 +0100 2016

	webfs: change %H (hostname) format to %N to not collide with encodefmt's %H (hex)

Hash:	9e08127ba6a4754fae8afcc6bca9d8b299180632
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Apr 15 22:51:52 +0100 2016

	libsec: x509: convert to UTF8 from BMPString and UNIString, reject \0 bytes

Hash:	8fd1aa262681ee7380df46dd8fc0db066969320a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Apr 13 21:19:37 +0100 2016

	libc: fix out of bounds access in dirpackage(), simplify
	
	- dirpackage() was not checking if the stat entry lies within
	the buffer. fixed.
	
	- simplify dirpackage(), as we process all the bytes from
	the buffer, we do not need to track "ss" here as its the same
	as "ts".
	
	- zero Dir* array pointer early in dirread() and dirreadall()
	and avoid calling dirpackage on <= buffer length.

Hash:	4ed396d438554c2dea8521b0e5a7ee51826d4125
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Apr 13 16:00:20 +0100 2016

	kbdfs: add shift+altgr table 7 for polish keymaps

Hash:	8ff802d07ec97de60f0fbe8fa491cb215459c829
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Apr 13 14:54:31 +0100 2016

	Subject: typo: ee corrected (thanks Eric Lindblad)
	
	sorry there were entries as
	
	3	27	'§
	3	27	'½
	
	should have been
	
	3	27	'§
	3	43	'½
	
	attached is a corrected version

Hash:	221b8696a5e0208ae79bb266ff7bd85d835e54c0
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Apr 13 14:31:04 +0100 2016

	fix estonian keymap (thanks Eric Lindblad)
	
	The /sys/lib/kbmap/ee file seemed to have CRs in it. If a first column in the table
	(for modifier key) as 4 is for Alt Gr + Shift then the attached (UTF-8 without BOM)
	should work as a replacement ee file.
	
	Best Regards,
	Eric Lindblad

Hash:	c4782818f49521c0783a197375bce701fb0a9572
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Apr 13 01:21:03 +0100 2016

	python: make hashlib.py fallback to openssl in case of old python binary

Hash:	a5268a54131f53b51e778a7f6157da53cdbe3142
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Apr 13 00:09:45 +0100 2016

	remove unused liboventi

Hash:	ffb0199247c2c748887f0782538545c75a304f88
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Apr 13 00:08:13 +0100 2016

	ktrace: sign extend stack dump pc for amd64

Hash:	68411b98a01bbd645ac783c486aa58e8d2e6a124
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Apr 13 00:06:34 +0100 2016

	libc: remove unneeded #include <auth.h> for crypt() and netcrypt()

Hash:	1787584ad839002584e0752e4df41b6f3b70064b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Apr 12 23:34:48 +0100 2016

	libdraw: avoid BPSHORT()/BPLONG() expansion, cleanup loadchar(),cachechars()
	
	assigning the expression value to a temporary variable in
	BPSHORT() and BPLONG() saves arround 2K of text in rio on
	arm and arround 1K on amd64.
	
	loadchar(): use the passed in "h" as the char index instead
	of recomputing it from c-f->cache. dont recompute wid.
	
	cachechars(): do cache lookup and find oldest entry in a
	single loop pass.

Hash:	6b989beb2f870c46363c1feba1a25c59add41d5a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Apr 12 12:37:21 +0100 2016

	add danish keymap (thanks Eric Lindblad)

Hash:	94e39c482eb80039bd64e2bcc24da8fe61b25530
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Apr 11 19:43:48 +0100 2016

	ape: explicitely list the ape libs to build in mkfile

Hash:	45f3c56a53334cc7614e1a5e55c938df4c7d5239
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Apr 11 19:39:12 +0100 2016

	ape: removing openssl

Hash:	4e04698ab6fddc1efe41b97be54fcf120810bf5d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Apr 11 19:31:14 +0100 2016

	python: remove openssl support, use ape/libsec for cryptographics hash functions

Hash:	8f4db30e7865232f9179f5850fe0e1ca759302cc
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Apr 11 19:27:50 +0100 2016

	gs: replace openssl aes implementation with ape/libsec

Hash:	464763202be7bdafa703c8c2ecfe1f4a5142f26f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Apr 11 19:23:34 +0100 2016

	ape: add libauth, libbio, libmp and libsec as replacements for openssl

Hash:	21aee5d8cbd1ebae796cdc58404b8d8902738370
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Apr 10 19:39:10 +0100 2016

	hg: create system wide /sys/lib/hgrc to enabled hgwebfs extension
	
	the openssl we currently use is outdated and will be removed
	soon. webfs will handle the https for us with native tls code.
	keys have to be stored in factotum for everyone who also wants
	to commit directly.

Hash:	d71cf7ff1be5fe153dbee4ab8ea646dcd23406e0
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Apr 10 19:24:20 +0100 2016

	libauth: remove unneeded includes for authsrv.h, avoid pulling in dependency for rerrstr()

Hash:	44cbb293088840d5813a69c6dc850b0444c4e27b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Apr 10 19:23:18 +0100 2016

	libsec: make #include headers consistent

Hash:	c3c726a5d062fb11c84ec84a6028d02592ae8585
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Apr 10 19:22:00 +0100 2016

	libsec: dont use mips assembly routines for spim, wrong endianess

Hash:	1069d018c99fc394597f08f8f737a1e5ddb5179e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Apr 10 19:20:53 +0100 2016

	libmp: fix build for spim, reduce by the mips assembly files

Hash:	0ac4a447b05b7ebcd291000706d9d3dbb593fa11
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Apr 10 19:18:21 +0100 2016

	hg: set mercurial.url.has_https when hgwebfs extension is in use
	
	this allows the use of SSL/HTTPS even when python is not build
	with openssl support.

Hash:	3238f124b81e53762e5c2e021630de20bdb7cbd9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Apr 10 02:01:37 +0100 2016

	ape: move compatibility libc.h to lib9 directory and incooperate needed functions for ape/mp (wip)

Hash:	ea6910b70680cd8a0d77e413f116e758c07997a5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Apr 10 01:54:29 +0100 2016

	ape: remove broken 9errstr.c

Hash:	5e37087451d857f3d329341319511d00f0c49c38
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Apr 10 01:52:31 +0100 2016

	ape: add internal _NSEC() function and make gettimeofday() use it

Hash:	3ba1197aeb382e1750cbb0f2567794bd4482e1e2
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Apr 10 01:35:01 +0100 2016

	libmp: make includes consistent, make test program compile under ape (work in progress)

Hash:	b47c096c8ceb7b96820ec886146a674eb9ad2c7b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Apr 9 23:00:37 +0100 2016

	libdraw: dont postnote to pid==0 in ekill()

Hash:	4915447b1f3e927f3a8457415467dfab5c304c59
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Apr 9 20:29:11 +0100 2016

	merge

Hash:	5f28fee6203f5b67621054e739a3dfb6e590529f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Apr 9 20:27:25 +0100 2016

	add missing target for antiword in /sys/src/cmd/aux/mkfile (thanks _sl)

Hash:	e558c88821db0a7c0e511a36e8c7979878648256
Author:	aiju <devnull@localhost>
Date:	Sat Apr 9 19:51:24 +0100 2016

	aes(2): mention aesCBC bug

Hash:	c53d521508bb82ff23024eab5835fce70e18add4
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Apr 8 21:00:16 +0100 2016

	listen(8): fix html rendering

Hash:	225a80cf6175d57123e9c4611b900a4978097ead
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Apr 8 20:53:48 +0100 2016

	listen(8): document tcp17019 rcpu service

Hash:	67acf2449f658ecc72f66119f2e3aea53477ea9f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Apr 8 20:20:15 +0100 2016

	tls(3): document support for TLSv1.1 and TLSv1.2

Hash:	9408c5faa1b0da2f4fd142f0132ea9e6a3beab56
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Apr 7 20:51:56 +0100 2016

	qball(2): fix bad manpage reference

Hash:	e98144a29c3c3700e5b78b8ee6f8dd8b9078b760
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Apr 7 20:51:32 +0100 2016

	devstream(3): removed

Hash:	acfd092987498fec4391093134df66883608610f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Apr 7 20:24:13 +0100 2016

	ether82563: initial i217 support from http://www.9legacy.org/9legacy/patch/pc-ether82563-i210.diff (thanks k0ga)
	
	This patch is only an adaptation for 9front of the patch located in
	http://www.9legacy.org/9legacy/patch/pc-ether82563-i210.diff.  The
	major difference is that this patch ignores errors in checksum of
	eeprom, because in my system the checksum was wrong.  After 3 months,
	I didn't have problems, and I think the patch can be used.  although
	it has some things that need to be fixed.  If the link is inactive
	when the system boots then it will remain inactive forever.

Hash:	1e821d82f2d1a2e08e0094b76c91c0de80b0b973
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Apr 7 20:19:48 +0100 2016

	tcp567: run authserver with p9sk1 tickets disabled preventing offline password brute-force

Hash:	455a0a09acbe2c0e480a4df853ad1c461542e76d
Author:	BurnZeZ <brz-9dev@feline.systems>
Date:	Thu Apr 7 01:22:42 +0100 2016

	jpg: fd == 0 is valid, so don't ignore it

Hash:	796e7b84bd7a49b97d3e592b4b7537c4ed096457
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Apr 5 10:24:07 +0100 2016

	libdraw: fix out of bounds memory access after subfont array reallocation (thanks ray)
	
	/n/bugs/open/libdrawfont.c_buffer_overflow
	http://bugs.9front.org/open/libdrawfont.c_buffer_overflow/readme
	
	ray@raylai.com
	
	Hi all,
	
	In plan9port this bug keeps crashing mc when I run lc in a directory with Chinese characters. This is a diff from OpenBSD but it should apply cleanly to the various plan9 sources.
	
	The code is basically trying to do a realloc (I guess realloc wasn't available back then?) but it copies too much from the original buffer.
	
	Since realloc is available, just use it. If realloc isn't available outside plan9port (I haven't checked) the memmove line should be changed from:
		memmove(f->subf, of, (f->nsubf+DSUBF)*sizeof *subf);
	to:
		memmove(f->subf, of, f->nsubf*sizeof *subf);
	
	I hope this is helpful.
	
	Ray

Hash:	a74542613df2305bd2fde7485e55fce4fafee0e6
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Apr 4 05:47:26 +0100 2016

	rio: /dev/kbd cleanup
	
	- use free running unsigned indeces for window kbdq
	- emalloc() vs malloc() in xfid

Hash:	84e16f5b5c91048bfc3898654d99fb2bcfa9dfa2
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Apr 3 22:16:08 +0100 2016

	kbdfs(8): document new /dev/kbd behaviour

Hash:	ce84082205f8367c1a4676c4810d92b30ae87f49
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Apr 3 21:54:22 +0100 2016

	change /dev/kbd to return multiple messages per read

Hash:	cd9cddf3dd64b01e7e54ba3a3371a8d0a5c70748
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Apr 3 03:04:56 +0100 2016

	mercurial: CVE-2016-3630
	
	backported the following patches from mercurial 3.7.3:
	
	https://selenic.com/repo/hg/rev/b6ed2505d6cf
	https://selenic.com/repo/hg/rev/b9714d958e89

Hash:	0237b583906353b78f9cbf2194dc083e82b8ba23
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Apr 1 13:12:50 +0100 2016

	kernel: always clunk closed fids asynchronously, regardless of caching

Hash:	e93f7885dad16245a4f772d4305cfc00ba5d8a44
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Mar 31 22:53:10 +0100 2016

	6in4: ingress filter multicast and link-local, but allow relay traffic

Hash:	137533bd69847030d716658e1772c6320f9282bb
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Mar 31 19:35:02 +0100 2016

	6in4: allow setting the local IPv4 address with -i flag (thanks k0ga)

Hash:	eed13a5c22662fe4c77b8587e7a53c9b1ae96acb
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Thu Mar 31 19:15:45 +0100 2016

	9fs: bind -b /n/9front.org!7734 /n/lists

Hash:	df53b2d69b20d23f2a41968351f8ffc17176b482
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Mar 31 03:23:27 +0100 2016

	kernel: remove unused NSMAX, NSLOG, NSCACHE constants from portdat.h

Hash:	bd9b5f065fdd1d2d11b12799c0c3d3ee77ea2291
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Thu Mar 31 02:14:39 +0100 2016

	fortunes: Ah, nice. the woodpeckers are back.

Hash:	1057a859b8aa0270f330b2fc11118e1f5f924d74
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Mar 30 21:49:13 +0100 2016

	devsegment: cleanups
	
	- return distinct error message when attempting to create Globalseg with physseg name
	- copy directory name to up->genbuf so it stays valid after we unlock(&glogalseglock)
	- cleanup wstat() handling, allow changing uid
	- make sure global segment size is below SEGMAXSIZE
	- move isoverlap() check from globalsegattach() into segattach()
	- remove Proc* argument from globalsegattach(), segattach() and isoverlap()
	- make Physseg.attr and segattach attr parameter an int for consistency

Hash:	f8467210359d5c4e576e8c4aa89177902517ec5b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Mar 30 01:36:33 +0100 2016

	bullshit: +progressive +enhancement

Hash:	b4e7d8fbf35200eccef55cee2a6f8ed27ce8c85e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Mar 29 04:06:32 +0100 2016

	zynq: cleanup devarch, flushmmu() after procflushpsecg()

Hash:	e6b30b287c4386075ee045327c2c28474ae11cfe
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Mar 29 01:09:49 +0100 2016

	kernel: fix procflushmmu()
	
	fix bug introduced in previous change for zynq, broke
	procflushseg() function only flushing the first proc
	matching the segment.

Hash:	ce00c68059d50ccaeb87fb85b03d60c5d0889456
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Mar 28 22:01:54 +0100 2016

	kernel: print pid as %lud instead %lux (in tsleep() debug print)

Hash:	fd9560d7d83afe6507e1fe12972ff7336dd09a4a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Mar 28 20:58:37 +0100 2016

	libsec: fix tlsid for TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
	
	the previous cipher id's where fore TLS_ECDH_* not TLS_ECDHE_*... sorry :(

Hash:	89f9966aeda62f4763c00c64de84d5726cff980a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Mar 28 19:12:54 +0100 2016

	devtls: print the path of the underlying chan in status file
	
	to figure out what network connection a particular tls
	conversation refers to, we add the path of the underlying
	we send the encrypted tls traffic over in the status file,
	example:
	
	term% grep -n '^Chan:' '#a'/tls/*/status
	#a/tls/0/status:7: Chan: /net/tcp/6/data
	#a/tls/1/status:7: Chan: /net/tcp/0/data

Hash:	38a8af2d72c44bde3f47127a273c864a23480849
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Mar 28 15:58:09 +0100 2016

	devip: applying changes for bug: multicasts_and_udp_buffers
	
	/n/bugs/open/multicasts_and_udp_buffers
	http://bugs.9front.org/open/multicasts_and_udp_buffers/readme
	
	michal@Lnet.pl
	
	I have ported my small MPEG-TS analisis tool to Plan9.
	
	To allow this application working I had to fix a bug in the kernel IPv4 code and increase UDP input buffer.
	
	Bug is related to listening for IPv4 multicast traffic. There is no problem if you listen for only one group or multiple groups with different UDP ports. This works:
	
	Write to UDP ctl:
	
	anounce PORT
	addmulti INTERFACE_ADDR MULTICAST_ADDR
	headers
	
	and you can read packets from data file.
	
	You need to set headers option because otherwise every UDP packet for MULTICAST_ADDR!PORT is treat as separate connection. This is a bug and should be fixed too, but I didn't tried it.
	
	There is a problem when you need to receive packets for multiple multicast groups. Usually the same destination port is used by multiple streams and above sequence of commands fails for second group because the port is the same.
	
	Simple and probably non-intrusive fix is adding "|| ipismulticast(addr)" to if statement at /sys/src/9/ip/devip.c:861 line:
	
	if(ipforme(c->p->f, addr) || ipismulticast(addr))
	
	This fixes the problem and now you can use the following sequence to listen for multiple multicast groups even if they all have the same destination port:
	
	announce MULTICAST_ADDR!PORT
	addmulti INTERFACE_ADDR MULTICAST_ADDR
	headers
	
	After that my application started working but signals packet drops at >2 Mb/s input rate. The same is reported by kernel netlog. Increase capacity of UDP connection input queue fixes this problem /sys/src/9/ip/udp.c:153
	
	c->rq = qopen(512*1024, Qmsg, 0, 0);
	
	--
	Michał Derkacz

Hash:	04c3a6f66e3b895a087124ed415f01e23e21ee10
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Mar 27 19:57:01 +0100 2016

	zynq: introduce SG_FAULT to prevent access to AXI segment while PL is not ready
	
	access to the axi segment hangs the machine when the fpga
	is not programmed yet. to prevent access, we introduce a
	new SG_FAULT flag, that when set on the Segment.type or
	Physseg.attr, causes the fault handler to immidiately
	return with an error (as if the segment would not be mapped).
	
	during programming, we temporarily set the SG_FAULT flag
	on the axi physseg, flush all processes tlb's that have
	the segment mapped and when programming is done, we clear
	the flag again.

Hash:	bf2195b88c9c1483d97cb4578f81467cad73c39e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Mar 27 15:38:39 +0100 2016

	file: deal with negative coordinates in plan9 bitmaps, print image size

Hash:	9aa6573359ffad41ef197b7f83623d7cbdeca068
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Mar 26 01:37:42 +0000 2016

	kernel: fix tsleep()/twakeup()/tsemacquire() race
	
	tsleep() used to cancel the timer with:
	
	if(up->tt != nil)
		timerdel(up);
	
	which still can result in twakeup() to fire after tsleep()
	returns (because we set Timer.tt to nil *before* we call the tfn).
	in most cases, this is not an issue as the Rendez*
	usually is just &up->sleep, but when it is dynamically allocated
	or on the stack like in tsemacquire(), twakeup() will call
	wakeup() on a potentially garbage Rendez structure!
	
	to fix the race, we execute the wakup() with the Timer lock
	held, and set p->trend to nil only after we called wakeup().
	
	that way, the timerdel(); which unconditionally locks the Timer;
	can act as a proper barrier and use up->trend == nil as the
	condition if the timer has already fired.

Hash:	5c95c50c6c470e1b9582998796555e00a6e0d7e5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Mar 23 19:17:58 +0000 2016

	rio: flushimage() before wscrsleep()

Hash:	e7bc98b0571aecebde329651ee0a7409b642686a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Mar 23 12:50:58 +0000 2016

	devtls: zero secret information before freeing, cleanup

Hash:	44b80d48af82fa8a5d632eb9bf6079c684a672ac
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Mar 23 10:19:36 +0000 2016

	stats: fix display->locking race

Hash:	aa6673fcfbe3bc41078487f4ef5d5aea459cd953
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Mar 23 01:45:35 +0000 2016

	add portable AES-GCM (Galois/Counter Mode) implementation to libsec and devtls

Hash:	7ff779ff52b3da9c3b4cfee38cd90088ac65d6c3
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Mar 22 16:48:08 +0000 2016

	rio: add flushimage() after mb2 menu action

Hash:	92324db6b5f470789025a96814af8e4d96fc10a7
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Tue Mar 22 00:57:18 +0000 2016

	mothra(1): fix url for https://code.9front.org/hg/plan9front/

Hash:	9b874fb5cb093713f4850c922936cc1d04378303
Author:	BurnZeZ <brz-9dev@feline.systems>
Date:	Sun Mar 20 00:27:09 +0000 2016

	rio botch

Hash:	db7970fa83ee9f1128682aabd595c6b7ccf226b0
Author:	BurnZeZ <brz-9dev@feline.systems>
Date:	Sun Mar 20 00:09:44 +0000 2016

	file(1): print warnings on /fd/2, remove some duplicate strings, whitespace fixes

Hash:	730578d40c8e1a46c76a83c4295e9ea8df611ea9
Author:	BurnZeZ <brz-9dev@feline.systems>
Date:	Sun Mar 20 00:03:10 +0000 2016

	games/life: add -d delay parameter, -b color reversal parameter, and update manpage

Hash:	98eb99c376980643b013086ab728258744e33d03
Author:	BurnZeZ <brz-9dev@feline.systems>
Date:	Sun Mar 20 00:00:03 +0000 2016

	games(1) cleanup

Hash:	e1f7e472cf7080a95bf6b405e6ccf801eb036c44
Author:	BurnZeZ <brz-9dev@feline.systems>
Date:	Sat Mar 19 21:58:35 +0000 2016

	lib9p: remove duplicate variable assignment in createfile()

Hash:	18046fd8153076782863f968db6fe1a1af0ddd2b
Author:	BurnZeZ <brz-9dev@feline.systems>
Date:	Sat Mar 19 21:50:33 +0000 2016

	rio: fix some spacing, slightly cleaner arg handling

Hash:	8c9d28f4f8ab0305689f9f1f95e137e2f20e375c
Author:	BurnZeZ <brz-9dev@feline.systems>
Date:	Sat Mar 19 21:47:25 +0000 2016

	libdraw: have openfont() set error string

Hash:	e387915a8f408ad8d40ea93f6a72a7a782e58899
Author:	BurnZeZ <brz-9dev@feline.systems>
Date:	Sat Mar 19 21:35:36 +0000 2016

	libc: trailing whitespace cleanup

Hash:	d094b7faa1151c60d829a3988bae819f76be75d3
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Mar 18 07:59:01 +0000 2016

	ip/gping: add main pid to pid list for killall()

Hash:	a2be120ea93ae67447315da268fa336650cd5149
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Mar 17 16:48:19 +0000 2016

	abandon streaming experiment
	
	for queue like non-seekable files, it is impossible to implement an
	exportfs because one has to run the kernels devtab read() and write()
	in separate processes, and that makes it impossible to maintain 9p message
	order as the scheduler can come in and randomly schedule one process before
	another.
	
	so as soon as we have a transition from 9p -> syscalls, we'r screwed.
	
	i currently see just two possibilities:
	
	- introduce special file type like QTSEQ with strictly ordered i/o semantics
	- fix all fileservers and exportfs to only do one outstanding i/o to QTSEQ files
	which means maintaining a queue per fid
	
	this doesnt propagate. so exporting slow 9p mount again will be limited
	again by latency of the inner mount.
	
	other option:
	
	- return offset in Rread, so client can bring responses back into order. this
	requires changing all fileservers and drivers to maintain such an per fid offset
	and change the protocol to include it in the response, and also pass it to userspace
	(new syscalls or pass it in TOS)
	
	this only works for read pipelining, write is still screwed.
	
	both options suck.
	
	--
	cinap

Hash:	5aaa7240a20f34d319bee496005e2136040b8f5c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Mar 16 16:27:00 +0000 2016

	libc: fix runestrecpy() return value (thanks spew)

Hash:	7f224a8f6d343cf0aaf162cc9b9f7d4d62ac78ac
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Mar 15 21:31:03 +0000 2016

	ppp: fix buffer overflow, set correct state after chap negotiation (thanks k0ga)
	
	(ppp->secret comes from factotum and it can have any size)
	This patch also sets the correct state after success and
	failure cases in chap negotiation (without them the code was
	working because it expected the other point to pass to net
	phase or due to the timer).

Hash:	708178e61514203f40f35521706b782ab0fef4d2
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Mar 15 21:19:19 +0000 2016

	ppp: Small format and log fixes (thanks k0ga)

Hash:	bd0f48b3579968c011e17a4c6acce3826e4395f6
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Mar 15 21:18:05 +0000 2016

	ppp: md5 and mschap inside chap, do not request encryption with -c or -C (thanks k0ga)
	
	p2.patch: Do not request encriptation with -c or -C in ppp
	(it was a bit annoying request compression, and when the ACK
	from the server was received then send a NAK).
	
	p3.patch: Add support for md5 and mschap in in chap
	(without this patch ppp was passing to the net stage
	without worring about chap).

Hash:	74d4d8a26e876e54f5070d993478adde86cef34f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Mar 15 21:10:54 +0000 2016

	pppoe: Add support for -c and -C to enable/disable header compression (thanks k0ga)

Hash:	8b9f36dbe240da519113ac7d3473322321320b19
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Mar 15 21:06:11 +0000 2016

	rio: flushimage() improves your ability to see, i repeat twice.

Hash:	02f37359b09972ced1ed1061bd2a5a0aa65b2d09
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Mar 15 17:32:05 +0000 2016

	rio: remove more unneccesary flushimage() calls

Hash:	8726990cf563f72d91e1cb8335510d5a1d38ec02
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Mar 14 02:15:59 +0000 2016

	truss: add fake __NSEC syscall name for ape

Hash:	e485362b0bde40debee791afaf4d9dc8585d0acf
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Mar 14 02:11:43 +0000 2016

	truss: fix "bad string" error due to missing ape _nsec() syscall

Hash:	6974a1ecb6474800b19113d1b83c23a2d275c88b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Mar 13 22:47:24 +0000 2016

	uhtml: dont trust charset=utf-8 attribute, verify.
	
	when the charset is explicitely specified as utf-8, ignore it
	for now. we'll assume utf-8 when all bytes have been properly
	utf-8 encoded.

Hash:	99e3bea407cb7c0fb2f8987ed7f9e8cc2957ac17
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Mar 13 21:34:08 +0000 2016

	g: dont pollute the environment (thanks BurnZeZ)

Hash:	394733c17bc49c23213ea026c05f14b59d0d4f21
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Mar 13 20:38:28 +0000 2016

	kbdfs: map Kup/Kdown the same in shift tab (fixes shift-[up]/[down] one-line scroll in rio over drawterm/vncs)

Hash:	7b8fcd1269d2dd3d71b339b2cf8762549d0610d2
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Mar 12 23:03:42 +0000 2016

	libdraw: don't flush in readmouse() when theres nothing to flush

Hash:	2dddca984762847a5fca656d62fee1bb5a00541e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Mar 12 22:27:49 +0000 2016

	ip/gping: ignore advice, fix packet corruption check, remove dead code

Hash:	8f2d9a139fa48e964e46be4bc8b7b451a0a721c9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Mar 12 22:07:58 +0000 2016

	devip: handle ignoreadvice flag for all protocols

Hash:	090a40473261a31a5bd0b08976b39cb4ee09bdc9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Mar 12 21:36:00 +0000 2016

	vncs: parse screenid as long, not short: BGSHORT() -> BGLONG()

Hash:	84851b33cf783f899568b1cce1b249e8444a33f2
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Mar 12 21:01:43 +0000 2016

	libdraw: remove flushimage calls from fontresize() and loadchar()

Hash:	31c3941e872f71664ed9f0bc71341c38ec515dc2
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Mar 12 20:44:58 +0000 2016

	ip/gping: set display->locking before starting mouseproc (race)

Hash:	bf04ac517328b9e80908a2a761af36b873002f47
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Mar 12 12:24:46 +0000 2016

	libsec: remove weakCipher[] array check as we do not support any of these weak ciphers

Hash:	8a2d96257007f66abaa5396be1f11cea84ec719e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Mar 11 20:46:49 +0000 2016

	mothra: dynamically allocate buffer for refresh url (was 20 bytes stack buffer before) (thanks BurnZeZ for reporting)

Hash:	fb1551e9973ee86ccdd0ed8b125de97e9865e5ba
Author:	ftrvxmtrx <ftrvxmtrx@gmail.com>
Date:	Thu Mar 10 21:43:00 +0000 2016

	libvorbis: update to 1.3.5

Hash:	0276031c011d28f182492ebbee34df35b005b4f9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Mar 10 19:02:36 +0000 2016

	make kernel UTFmax and Runemax consistent with libc (21-bit runes) (thanks maurice)

Hash:	3e52ada202e1e3d27c532921bd38934ec0db1b74
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Mar 10 18:03:28 +0000 2016

	merge

Hash:	51115b92143e22fef68110036ed42ccb93e0c021
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Mar 10 17:50:29 +0000 2016

	aan: handle case when reader closes netfd
	
	when netfd is closed and set to -1 by the fromnet()
	reader proc, handle it like network failure and try
	reconnecting.

Hash:	28bd8adce7264b6f35016fca839391981b404428
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Mar 10 02:28:36 +0000 2016

	devcons: nil vs 0

Hash:	595501b005f591527680080e606c9ab0f1d99701
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Mar 10 02:02:28 +0000 2016

	kernel: make fversion()/mntversion() types consistent

Hash:	0aa5b01fab130618fa63e9a6684265904a9f98b5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Mar 9 18:54:33 +0000 2016

	devtls: fix wrong iounit
	
	devtls writes are only atomic up to MaxRecLen as this is the
	maximum payload size we put in a record application message.

Hash:	9dc9c6c5ef8bba195778f7701142af602e457665
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Mar 8 15:45:29 +0000 2016

	rio, libdraw: experimental removal of redundant flushimage() calls for roundtrip latency reduction
	
	- remove redundant flushimage() calls before readmouse()
	- remove flushimage() calls for allocimage(),freeimage() and originwindow()
	
	this is experimental. it will break allocimage() error handling unless the
	caller does explicit flushimage() calls, tho the gains
	in usability over high latency connections is huge. in most cases, programs
	will just terminate when encountering these errors.

Hash:	bf6ba56817e6bb083d5c411b1660f696144d5ac6
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Mar 7 19:27:34 +0000 2016

	aan: use sync messages as keep alives
	
	both server and client need to be convinced that the connection
	is broken for a connection reestablishment to happen as the server
	will only start looking for incoming clients when the connection
	already broke. so use the 8 second interval sync messages
	to check for connection lifeness. if we miss two syncs in time,
	we declare the connecton to be broken and will try to reconnect.

Hash:	481ae719406aa288aa28ab040e13f3f573fe6776
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Mar 7 18:20:05 +0000 2016

	vncs: fix dead Kend key

Hash:	c07f5d32afdbe5404b0ea475fb4c205b218ae3d2
Author:	ftrvxmtrx <ftrvxmtrx@gmail.com>
Date:	Sat Mar 5 10:38:54 +0000 2016

	9/mkfile: update ARCH

Hash:	ba2c2fcab783ccf5296eb5e8cc848b0559046c6d
Author:	ftrvxmtrx <ftrvxmtrx@gmail.com>
Date:	Sat Mar 5 10:00:00 +0000 2016

	libFLAC/mkfile: -DFLAC__NO_ASM

Hash:	2d2ffac86f788ac6bed73d873f837bbd9849a2e4
Author:	ftrvxmtrx <ftrvxmtrx@gmail.com>
Date:	Sat Mar 5 09:32:47 +0000 2016

	libFLAC: update to 1.3.1

Hash:	897da507f4efdf67afb3b589cb9240fe217545af
Author:	BurnZeZ <brz-9dev@feline.systems>
Date:	Wed Mar 2 02:27:37 +0000 2016

	auth/pemencode: fix usage()

Hash:	c6aa11d04e721aebe5cb2969166785fa37652cd7
Author:	BurnZeZ <brz-9dev@feline.systems>
Date:	Wed Mar 2 02:24:35 +0000 2016

	dict: similar fixes, different files. also remove runescpy

Hash:	2a5b2f4c76fe85aa37d5d99adc13f6d1f1e313e3
Author:	BurnZeZ <brz-9dev@feline.systems>
Date:	Wed Mar 2 02:21:06 +0000 2016

	dict mkindex: code cleanup
	handle malloc failure
	check if open failed _before_ seeking
	better arg handling

Hash:	33131a98b96729b5ac59a292867ddb710ed025ec
Author:	BurnZeZ <brz-9dev@feline.systems>
Date:	Wed Mar 2 00:40:14 +0000 2016

	plot: handle create() failure

Hash:	9d1e80cbbb966c1206a27f1dabf9cb5e85709ba7
Author:	BurnZeZ <brz-9dev@feline.systems>
Date:	Wed Mar 2 00:36:24 +0000 2016

	map/libmap: remove unused function/definitions

Hash:	dacebbb2e7c1098d7d6567317abc169f2ec327b8
Author:	BurnZeZ <brz-9dev@feline.systems>
Date:	Wed Mar 2 00:17:54 +0000 2016

	vt: add -r flag to start in raw mode

Hash:	db509b8466ff8a268e965f98ccf719a25f586d1a
Author:	BurnZeZ <brz-9dev@feline.systems>
Date:	Wed Mar 2 00:09:40 +0000 2016

	sort: code cleanup

Hash:	f0744bae5e02208c748d502ba994360d7049faea
Author:	BurnZeZ <brz-9dev@feline.systems>
Date:	Wed Mar 2 00:00:41 +0000 2016

	cc: populate the flag list comment in lex.c
	This way the various compiler flags are documented
	somewhere, even if not in full.
	
	Also fixed a typo. 'r' should have been 'R'

Hash:	edec6e6a70d7df83a5c5f3c19d240e72d38a6c55
Author:	BurnZeZ <brz-9dev@feline.systems>
Date:	Tue Mar 1 23:12:04 +0000 2016

	cc: sort the lex.c comment listing debug flags

Hash:	7314601f9d9633c08f35d6ac1a5be834b0a8028a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Mar 1 22:54:37 +0000 2016

	pppoe: Avoid double free (thanks k0ga)
	
	k0ga reports:
	
	Hello,
	
	While I was setting my pppoe conexion with my ISP
	I discovered several problems in ip/pppoe. I used
	the command line ip/pppoe -A '' ether0 and I got
	this:
	
	...
	dropping unwanted pkt: wrong ac name
	panic: D2B called on non-block dc10 (double-free?)
	note rcved: sys: trap: fault read addr=0x0 pc=0x000066e1
	pppoe 1013: suicide: sys: trap: fault read addr=0x0 pc=0x000066e1
	cpu% acid 1013
	/proc/1013/text:386 plan 9 executable
	/sys/lib/acid/port
	/sys/lib/acid/386
	acid: stk()
	abort()+0x0 /sys/src/libc/9sys/abort.c:6
	ppanic(p=0xd1b8,fmt=0xc7f9)+0x146 /sys/src/libc/port/malloc.c:166
	D2B(p=0xd1b8,v=0xdc10)+0x57 /sys/src/libc/port/pool.c:926
	poolfreel(v=0xdc10,p=0xd1b8)+0x20 /sys/src/libc/port/pool.c:1152
	poolfree(p=0xd1b8,v=0xdc10)+0x3b /sys/src/libc/port/pool.c:1287
	free(v=0xdc18)+0x23 /sys/src/libc/port/malloc.c:250
	clearstate()+0x1b /sys/src/cmd/ip/pppoe.c:328
	pppoe(ether=0xdfffefc1)+0x123 /sys/src/cmd/ip/pppoe.c:426
	main(argv=0xdfffefa0,argc=0x1)+0x89 /sys/src/cmd/ip/pppoe.c:100
	_main+0x31 /sys/src/libc/386/main9.s:16
	acid:
	
	
	clearstate() is called in pppoe.c:424, and it frees acname and sets it
	to nil.  pktread() is called in pppoe.c:434 with parameter wantoffer,
	which frees acname again in line pppoe.c:360 but doesn't set it to
	nil, so clearstate() makes a double free in the next iteration.

Hash:	4f2bf182bf7ad1750fc001ccc8a6d09cb00f10fa
Author:	BurnZeZ <brz-9dev@feline.systems>
Date:	Tue Mar 1 22:30:42 +0000 2016

	fix /lib/keyboard spacing

Hash:	9262c3f346a1a91e56aa397242386f9a3f73a458
Author:	BurnZeZ <brz-9dev@feline.systems>
Date:	Tue Mar 1 22:29:38 +0000 2016

	add a couple runes to /lib/keyboard

Hash:	d491a0ae045ababfddc074d5a443eb55af0def89
Author:	BurnZeZ <brz-9dev@feline.systems>
Date:	Tue Mar 1 20:27:39 +0000 2016

	add bug to yesterday(1), fix /sys/man/3/cons permissions

Hash:	63abfb50563b70d35908c258085f3e2f6d95446f
Author:	BurnZeZ <brz-9dev@feline.systems>
Date:	Tue Mar 1 20:24:07 +0000 2016

	manpage references/typos

Hash:	169bfb46102ceb254e180e0b8265382aab7ef7f0
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Mar 1 10:30:01 +0000 2016

	libsec: fix verifyDHparams() for version <= TLS1.1
	
	for version <= TLS1.1, there is no sigalg field in the ServerKeyExchange
	message and the signature digest algorithm is fixed to md5+sha1 and we
	only support RSA signatures (TLS1.1 doesnt know about ECDSA).

Hash:	bb81a10687c31919f7792540b5ec6d0f014e0468
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Feb 28 23:25:14 +0000 2016

	glenda's default profile: remove /n/other mount, done by /lib/namespace

Hash:	e3434eb5fb6fc785c679aa5c4d53b1b5d921d7fa
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Feb 28 22:23:05 +0000 2016

	authsrv(2): document _asgetpakkey(), authpak_hash(), authpak_new(), authpak_finish()

Hash:	02dce7a2e4fd74d918cf7cd1f23fc99279365eb9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Feb 28 10:44:53 +0000 2016

	games/doom: handle allocimage() failure

Hash:	4a9239723609d4f850b1aa7083b712682027136a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Feb 28 08:09:41 +0000 2016

	libsec: have 16 32-bit words in DigestState to avoid out of bounds warnings for poly1305

Hash:	5ebb1a29d8250027e8b7f2287f3bfa3a6f3d13ac
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Feb 28 02:06:42 +0000 2016

	devdraw: remove unused Edepth[]

Hash:	75186be2c2aa5566f3c490e087c24e12c872216e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Feb 28 00:38:29 +0000 2016

	libdraw: remove unused static log2[] array

Hash:	e02b986a801307d05e238c2af42b8a56f213f6ff
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Feb 27 01:39:45 +0000 2016

	rio: exit rio when /dev/cons or /dev/kbd read loop terminates

Hash:	09b250f079e38883e8ad5dc47e4aa93258e0c083
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Feb 27 01:36:54 +0000 2016

	kbdfs: read outer /dev/kbd file and use it just like /dev/kbdin
	
	this allows running kbdfs under kbdfs :-)
	
	going use this in new drawterm. drawterm provides the initial
	/dev/kbd, but only sends rune up/down messages (keeps it simple).
	the servers kbdfs reads that and exports itself the full
	set of files, similar to what we do in vncs. this also
	provides note processing.

Hash:	e95f557ba57b7102693b169bbe3f93661de8bec7
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Feb 27 01:08:00 +0000 2016

	rcpu: post hangup note to remote when connection breaks
	
	when the cat that forwards notes on the remote exits,
	send a hangup note so processes wont keep hanging arround.

Hash:	f2ddc5f81345a75bf942addfb8a15696bbb63529
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 22 22:26:35 +0000 2016

	rcpu(1): fix manpage reference

Hash:	59ef622240a6f5ca029327a5ee439302cb53493f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 22 21:56:55 +0000 2016

	libauthsrv: can write p = 2^448 - 2^224 - 1 now, as mpc has constant folding.

Hash:	f43a5c825cdb437d85d948ab6c40173c821516a5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 22 21:53:19 +0000 2016

	libfis: dont reject drives lacking SSP (sata ssd connected to ide with adapter)

Hash:	b31cc134e7cca59b8dd67bb30271b80f554e0da0
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 22 21:44:01 +0000 2016

	ndb/dns: initialize unknown fids to point to the root qid
	
	the dns file service can be restarted, which causes it to forget
	all fid state. given the simple file system structure of the dns
	service (just a single dns file), we can assume that rpcs
	on a unknown fid refers to the root, so the mountpoint will stay
	valid and /net/dns can be reopend avoiding the need for a remount
	of the dns service after restart.

Hash:	258fe87faf0a64947bb91c8ed93f8ea378a36f83
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 22 21:25:21 +0000 2016

	rc: terminate rc when exec fails, cleanup
	
	The execexec() function should never return, as it irreversably changes
	the filedescriptor table for the new program. This means rc's internal
	filedesciptors for reading the script get implicitely closed and we cannot
	continue the rc interpreter when Execute() fails. So Execute() now sets the
	error status, and execexec() runs Xexit() in case Execute() returns.

Hash:	a9639c68947a9872cacd8a9629df097fe009503b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 22 20:55:41 +0000 2016

	smtpd: remove unused lastsender logic

Hash:	95d6ca9f3c05283057f1542f3af37c8741cbc11b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 22 19:55:51 +0000 2016

	factotum: fix memory leak for p9any key confirmation, fix key handling for role=client
	
	when we look up role=speakfor key and askforkeys is set, the
	findkey() can return RpcNeedkey, which causes us to skip the
	query for a role=client key. Instead, we now check for the
	return value != RpcOk (and != RpcConfirm which we want to
	handle the same for both queries).
	
	we have to free the attribute lists when returning RpcConfirm.

Hash:	4410517b44fd2610abe0dcd1349bb3e6b3c5ddb8
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 22 18:38:01 +0000 2016

	stats: use rimport or import to mount remote system

Hash:	046e0ee2594eb7f46d7d0bd76ee54371cb0a2669
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Feb 21 19:11:04 +0000 2016

	exportfs: fix endless loop for eof/error on second read in localread9pmsg()
	
	the ini buffer was not reset when we got eof in the message
	body read causing a endless loop. instead of defining our
	own read9pmsg() function, just handle the first read specially
	when we consumed the first 4 bytes for the "impo" protocol
	escape check.

Hash:	688c1f15cdaa5fcad19d9fddb30e1c555bfc59e0
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Feb 21 15:36:41 +0000 2016

	fix ipv6 icmphostunr() locking and memory free bugs (from sources)

Hash:	9d30cabbafc28fc0a28bb3716274dc3716e6cc27
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Feb 20 15:39:52 +0000 2016

	sgi: add chmod to bootfs.proto for sgi kernel

Hash:	e1633ed338bbac32b1364b9d8a7f365efa4c3778
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Feb 19 08:14:09 +0000 2016

	libsec: remove unused tlsSecKill()

Hash:	0cad8a59ed8f077f75900c563e0be0b9e973da07
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Feb 18 17:42:04 +0000 2016

	libsec: fix memset() size in tlsConnectionFree(), remove #include <bio.h>

Hash:	7f2599254a29c956ac3cdbfc28792a8290312c13
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Feb 17 17:50:23 +0000 2016

	libsec: add libc.h include for aes_xts.c (drawterm)

Hash:	e5ead1a980a6379d61cdfe2b8dd4ef6ff5c325ad
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Wed Feb 17 01:53:21 +0000 2016

	rcpu(1) man page: english

Hash:	a1fa3d75d834b5c89872eb800664db28ae7780c5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Feb 16 18:06:54 +0000 2016

	ndb/dns: removing the buggy /net.alt remount hack

Hash:	c9d2fecbd06d0e9efc2fa16f214f1612a9a40d93
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Feb 16 07:52:33 +0000 2016

	usbuhci: removing "uhci bug" print spam from interrupt handler
	
	this code was if(0) for a long time due to wrong parentesis,
	fixed parentesis cause print spam on some machines making them
	unusage (kenji okomoto). removing the check alltogether.

Hash:	86dfd3cf16ebded3b15b7792253688c361dd0260
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 15 16:30:56 +0000 2016

	provide rcpu(1), make usage line consistent

Hash:	b450cb7e32ac9233d6d9225600feaf8b4a84301d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 15 00:03:44 +0000 2016

	devmnt: deal with partial response for Tversion request in mntversion()

Hash:	61dea9012e71b53b102e00a520ee0e8163b406d3
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Feb 14 04:59:42 +0000 2016

	cron: just run /bin/rx to execute remote commands

Hash:	373723d4f608c43bc5020cc32f35fa5e43503e73
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Feb 14 04:37:55 +0000 2016

	rx: rcpu service support

Hash:	fde5906b303f0374e460f324504790026b233b71
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Feb 14 04:18:33 +0000 2016

	adding experimental rcpu service
	
	this is a reimplementation of cpu and import utilities in rc using a tlsclient
	and tlssrv as the encryption and authentication layers. there is only one new
	service, which after authentication and encryption setup accepts an arbitrary
	rc script over the network and executes it with the standard filedescriptors
	redirected to the conversaion (this is *after* authentication and in the
	context of the authorized user).
	
	the new rcpu program has a few improvements over cpu(1):
	
	- doesnt mangle program arguments
	- the remote process will get the clients standard file descriptors, so error
	  and output are separated and you can consume the clients input from the
	  remote side :-)
	- forwards error status of remote process
	
	theres no backwards mode for rimport, but a new program called rexport
	for the same purpose.
	
	all these services use exportfs without the bolted on initial handshake,
	so the hope is to clean up exportfs in the future and remove all the ugly
	crap in there.

Hash:	4fe7daeca4d8cc06e50b5862f3f6bc9c71cbf835
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Feb 14 03:49:48 +0000 2016

	exportfs: retry execing ourselfs as "/bin/exportfs" (argv0 might be relative path)

Hash:	232a064f3a9afcd9a5c1de45f1558e4522c511bd
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Feb 14 03:48:48 +0000 2016

	exportfs: properly reply to chdir() error when we speak 9p
	
	when we got a bad root tree, we should speak the right language
	and return a Rerror response instead of crapping ascii into
	the 9p conversation.

Hash:	a9b1e990b8339d413aecaa00c5db743358caa42c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Feb 14 01:06:08 +0000 2016

	tlsclient: add -o option to establish connection over a file, free the AuthInfo structure to avoid leaking secrets

Hash:	9ec9a47789c5c71c8e135d7ce0a92d44317c1fa0
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Feb 14 00:52:51 +0000 2016

	newuser: /n/other now handled in /lib/namespace

Hash:	ecebba779f8cb55dadac70ef1c109e9e69c63423
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Feb 14 00:42:32 +0000 2016

	provide /n and /mnt early in bootrc to allow consistent use in /lib/namespace
	
	theres a bootstrap problem:
	
	when /bin/init is run, it processes /lib/namespace where we might want to
	mount or bind resources to /n or /mnt. but mntgen was run later in
	cpurc/termrc so these mounts would be ignored.
	
	we already have mntgen in bootfs, so we can provide these mountpoints early.
	
	i keep the termrc/cpurc mntgens where they are, but ignore the error
	prints. this way old kernels will continue to work.

Hash:	24150b117110e982496b10c2f1dfef329160a36a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Feb 13 16:24:59 +0000 2016

	tlssrv: add -A flag to skip changing user after authentication (usefull for aan)

Hash:	3b835a1d2398b4ddfc590e24ff6f81f3051e6e61
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Feb 13 15:43:15 +0000 2016

	merge

Hash:	c3867623ae93eca77ba6e4f3d851240442f02caf
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Feb 13 15:36:24 +0000 2016

	rio: fix wrong frame colors when moving non-current window
	
	When a window is moved or reshaped, that implicitely tops
	the window and makes it current. The conseqence of this
	is that we always have to redraw the window as if it where
	a current window in any case. This was handled for Reshaped
	windows, but not when the window was just moved. We now
	handle both cases the exact same way, getting rid of the
	Moved wctl message.

Hash:	668318b2e69edd4aa71a21ff31731fa81dbe7095
Author:	ftrvxmtrx <ftrvxmtrx@gmail.com>
Date:	Fri Feb 12 21:52:50 +0000 2016

	ip/chandial: fail with Ebadarg instead of printing memory contents

Hash:	eeb96dca21dfc28afa69f3d00fa6f2cdb7e9b1b8
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Feb 11 21:59:25 +0000 2016

	libsec: simplify pkcs1_decrypt()

Hash:	fac5be2d2eba924b0a78065c9636341b33974e24
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Feb 11 21:43:50 +0000 2016

	merge

Hash:	6033931b02f9a9bbe33a84f9c777bb8ce9260b2f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Feb 11 21:42:28 +0000 2016

	libsec: fix double free in pkcs1_decrypt(), handle bad epm length in tlsSecRSAs(), cleanup

Hash:	2ca8e31066e7d67977aacae0980ffa27deaa6f18
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Feb 10 04:11:11 +0000 2016

	removing libgio, this is not golang mveery >:-(

Hash:	9b2bed733c2189335ee96b5f28f4472ea92628aa
Author:	Matthew Veety <mveety@mveety.com>
Date:	Tue Feb 9 22:02:18 +0000 2016

	fixed a typo

Hash:	a54782d69b31f3eaeb77a8087016065790c200bb
Author:	Matthew Veety <mveety@mveety.com>
Date:	Tue Feb 9 21:24:41 +0000 2016

	Imported ngfs libgio. This is a library to create virtual file descriptors, similar to common lisp grey-streams or golang's io.Reader/io.Writer. Now 95% bug-free.

Hash:	9c3de0c87a00e09e8a51d7f6de461a0221c6409b
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Tue Feb 9 01:07:56 +0000 2016

	fortunes: ./configure CFLAGS="-I$HOME/source/harvey/ape/amd64/include -I$HOME/source/harvey/ape/include -mno-red-zone -ffreestanding -fno-builtin -nostdlib -trigraphs -D_SUSV2_SOURCE -D_POSIX_SOURCE -D_LIMITS_EXTENSION -D_BSD_SOURCE -D_BSD_EXTENSION -DHAVE_SOCK_OPTS -DHARVEY -DPlan9" LDFLAGS="-static $HOME/source/harvey/ape/amd64/lib/crt1.o $HOME/source/harvey/ape/amd64/lib/crti.o $HOME/source/harvey/ape/amd64/lib/crtn.o -L$HOME/source/harvey/ape/amd64/lib -L$HOME/source/harvey/amd64/lib" LIBS="-lbsd -lap -lc" LIBM="" --prefix=$HOME/source/harvey/ape/ports *--host=x86_64-linux-gnu --build=x86_64-harvey *--enable-shared=no

Hash:	3d20565a78358ed2589359aafeca8a4e7270b57e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 8 18:35:26 +0000 2016

	webfs: faster shutdown using postnote()
	
	when the 9p end is closed, post a note to our private note
	group to shoot down http procs. this results in quicker
	release of namespace resources.

Hash:	302fc26fdd86f5a4090b4c9bb4292f71bea1d68d
Author:	aiju <devnull@localhost>
Date:	Sun Feb 7 22:40:07 +0000 2016

	/lib/keyboard: add more crucial symbols

Hash:	b63a6bf6267b533aa835842d1692b88039c31a30
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Feb 6 23:31:30 +0000 2016

	libsec: fix missing error case unlock() in tlshands initCiphers()

Hash:	faecd86ee6649044c8ef14f2f7634fa8bc503114
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Feb 6 21:26:29 +0000 2016

	factotum: fix nil pointer crash on p9skclosekey(), thanks k0ga
	
	oversight, closekey is called again even if addkey failed, which
	will have Key.priv nil.
	
	stack trace:
	
	 memset(data=0x0,n=0x1f8)+0x58 /sys/src/libc/arm/memset.s:40
	 p9skclosekey(k=0x55358)+0x18 /sys/src/cmd/auth/factotum/p9sk1.c:493
	 closekey(k=0x55358)+0x7c /sys/src/cmd/auth/factotum/util.c:247
	 ctlwrite(a=0x552f8,atzero=0x0)+0x320 /sys/src/cmd/auth/factotum/rpc.c:503
	 fswrite(r=0x53b78)+0x1b0 /sys/src/cmd/auth/factotum/fs.c:574
	 swrite(r=0x53b78,srv=0x423e8)+0x134 /sys/src/lib9p/srv.c:559
	 srvwork()+0x2a4 /sys/src/lib9p/srv.c:746
	 srv(srv=0x423e8)+0xcc /sys/src/lib9p/srv.c:825
	 postproc()+0x3c /sys/src/lib9p/post.c:120
	 rforker(flag=0x1,fn=0x39f98,arg=0x423e8)+0x34 /sys/src/lib9p/rfork.c:16
	 _postmountsrv(s=0x423e8,name=0x0,mtpt=0x46f70,flag=0x1)+0xb8 /sys/src/lib9p/post.c:27
	 postmountsrv(name=0x0,mtpt=0x46f70,flag=0x1)+0x20 /sys/src/lib9p/rfork.c:32
	 main(argv=0x1fffff9c,argc=0x0)+0x23c /sys/src/cmd/auth/factotum/fs.c:157
	 _main+0x28 /sys/src/libc/arm/main9.s:19
	 acid: /sys/src/cmd/auth/factotum/p9sk1.c:493

Hash:	398686829d3c87470bb7aed304e9fcabd8f04c9d
Author:	aiju <devnull@localhost>
Date:	Sat Feb 6 19:41:42 +0000 2016

	add mathematical angle brackets to /lib/keyboard

Hash:	b7f2aed0f25b8222ee72973e3a75f551c5d3c456
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Feb 6 06:19:31 +0000 2016

	libsec: mpconv -> mpfmt

Hash:	ad637845a8635dd0da6236575e7a31505e775b00
Author:	mischief <mischief@offblast.org>
Date:	Sat Feb 6 03:29:55 +0000 2016

	libmp: remove include of libsec.h

Hash:	f1254da64de2c728a59380644c23e9ce1a4f4351
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Feb 4 02:11:46 +0000 2016

	libmp: handle out of memory case in gmfield()

Hash:	78808ca314949f40d9f6aa7abd4aa0e3f6e4b88d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Feb 3 03:18:54 +0000 2016

	libsec: refactor asn1 encoding of digest for rsa signatures, fix memory leak in ecverify

Hash:	cc8e8c978cb48955417db592b799c4c65881c2b8
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 1 21:49:20 +0000 2016

	tlssrv: p9any authentication support using TLS-PSK cipher suits

Hash:	a291bbdeddfd41a2f0907ecbd7b819f0eedffdaf
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 1 20:34:49 +0000 2016

	libsec: ecdsa client support for tlshand, cleanups

Hash:	0bfac109a491e61d7cd585060b88e1251da1e928
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 1 18:27:57 +0000 2016

	mpc: constant expression folding

Hash:	340d83d49d659b53e711ab59d6e819be39a0ad16
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jan 30 18:11:33 +0000 2016

	games/doom: fix white window issue on exit
	
	make kbdproc() and mouseproc() share fd table with the main proc
	and not explicitely close the file descriptors. so /dev/mouse gets
	closed *after* /dev/draw/new to avoid the white window refresh issue.

Hash:	7cfe4aef3c85aee813c2d3e712f94a319abba1c3
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Jan 19 12:06:22 +0000 2016

	salsa(2): fix source reference

Hash:	876e19c652295e75b72cba56df684df4cfc18995
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Jan 19 12:02:12 +0000 2016

	salsa(2): some formating fixes

Hash:	7cf11db685832db42b6cbb33f9eca99db6ff4fcf
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Jan 19 11:50:33 +0000 2016

	libsec: add salsa20 stream cipher

Hash:	7b31d5e494815d76fa04c3631992d6eb5ea0b372
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Jan 19 10:08:29 +0000 2016

	authsrv(6): fix arrows

Hash:	4a47b264ac6c072cc180176f84297a93a38e4631
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jan 14 22:39:29 +0000 2016

	wifi: check tkip/ccmp mac and crc in constant time avoiding timing side channels

Hash:	a57a6e511f15c02b4fd2690197b6f1333b171193
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jan 14 00:08:36 +0000 2016

	pc64: move idle() routine after CALL main(SB) as the comment suggests

Hash:	ed4c8127658eec28f70947c738abb4b24244c909
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Jan 13 22:18:25 +0000 2016

	pc/pc64: backing out new mp startup code (caused issues with ramnode)
	
	apparently, this causes some quadcore ramnode vm to hang on boot,
	even tho all cores successfully started up and are operational.
	
	i suspect some side effect from timersinit()... this would also
	mean *notsc= would break it (syncclock() would continue)...
	its unclear.
	
	i'm reverting this for now until the problem is better understood.

Hash:	21b70c782a6c62abf959564534d83147065981d6
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Jan 13 20:48:09 +0000 2016

	devssl: use tsmemcmp() to compare mac to close timing side channel

Hash:	5243969ba23281e6d4320b55cae666321c17d2a2
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Jan 12 07:53:06 +0000 2016

	ndb/dnstcp: -x specifies the mountmoint

Hash:	36d2092a3330692c43f33ef4e05edc997c05ecad
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Jan 12 07:43:36 +0000 2016

	fix manpage references

Hash:	af42c4f4816c84772533ee7f47ffaafd33abeb22
Author:	mischief <mischief@offblast.org>
Date:	Tue Jan 12 03:30:41 +0000 2016

	libauthsrv: fix ed448 goldilocks prime comment

Hash:	63f9a4fda36f916e543c8f3ea117b31c194a4db7
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jan 11 05:47:52 +0000 2016

	pc/pc64: bring up ap's one after another, use idlehands() while waiting for thunderbirdsarego
	
	when testing in qemu, launching each ap became slower and slower
	because all the ap's where spinning in syncclock() waiting for
	cpu0 to update its mach0->tscticks, which happens only much later
	after all cpu's have been started up.
	
	now we wait for each cpu to do its timer callibration and
	manually update our tscticks while we wait and each cpu will
	not spin but halt while waiting for active.thunderbirdsarego.
	this reduces the system load and noise for timer callibration
	and makes the mp startup linear with regard to the number of
	cores.

Hash:	dacaf31eb02fb7bb997d844a62694f854ca9616b
Author:	aiju <devnull@localhost>
Date:	Sun Jan 10 21:03:27 +0000 2016

	libauthsrv: add D in mkfile

Hash:	d80e3a5d9581e8ace629373c18611721c7bf6fc7
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Thu Jan 7 20:04:56 +0000 2016

	/rc/bin/": fix quoting bug (thanks, aiju and silasm)

Hash:	ad8747310983ef011f7ce6211836121e029e48b5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jan 7 18:37:47 +0000 2016

	pc/pc64: remove mpshutdown print

Hash:	5afa5f5c0b4239b86128e83825f2dbbb3e65f5f8
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jan 7 18:37:05 +0000 2016

	kernel: remove todfix overflow iprint() spam

Hash:	6a651b42ac8cdd639e6258dd24f097132983b4dc
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jan 7 18:20:30 +0000 2016

	ape/stdio: %z format is VLONG on amd64

Hash:	4308f6e7e6586e3a27aa46c4d54c434b8533b16d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jan 7 18:04:12 +0000 2016

	ape/fmt: %p and %z format for amd64

Hash:	772afbe98c7e74be35e7e5318967ce594e4d93e8
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jan 7 03:44:13 +0000 2016

	format pointer subtraction results with %zd instead of %ld (for long -> intptr on amd64)

Hash:	9c99d0c8d3236b87bd292ac29d4d1b2d5f550bd5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jan 7 03:40:47 +0000 2016

	6c: return vlong result for pointer subtraction

Hash:	3e38194d72b2b017b85bf85f11ef4e580d44be4f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jan 7 03:39:09 +0000 2016

	introduce signed intptr and %z format modifier for formating uintptr and intptr

Hash:	59245c73f0645e4e2ca1b01b3e3551dbbc5273d9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jan 7 02:38:07 +0000 2016

	venti/fixarenas: more %z -> %Z

Hash:	9a337f8dfc3b9a2100d41c6fc4cde54dfa601359
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jan 7 01:27:00 +0000 2016

	venti/fixarenas: replace %z fmt with %Z

Hash:	094f0c96015f549c2e04ca90282bbf13736c1982
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Jan 6 05:00:22 +0000 2016

	rx: theres no p9sk2 anymore

Hash:	dc96f164a2b72ccb209ae98ce50a11087cbe44f8
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Jan 6 04:31:55 +0000 2016

	merge

Hash:	5e24adafef9c41bf3c62d7e258819bd3b21afb34
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Jan 6 04:30:44 +0000 2016

	libsec: make sure theres no garbage after the asn.1 decode, cleanup

Hash:	cd747191012d0420ac631340d962da1f80cef0a5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Jan 6 02:59:40 +0000 2016

	merge

Hash:	4cf801b8537276103a09d44dad31f637164916e7
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Jan 6 02:58:04 +0000 2016

	add missing /sys/src/cmd/auth/lib/private.c

Hash:	3735cc9bc3a44b53d0c639493f21cf4d29be1136
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Wed Jan 6 02:34:15 +0000 2016

	authsrv(6): english

Hash:	2dae1ed53a73d81bfb86778793a6bda265d5140d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Jan 6 02:09:00 +0000 2016

	auth: release dp9ik implementation and reentrant factotum

Hash:	e064752dd476b7a2f76567f8cc15f9c2645e5d3d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Jan 6 00:19:05 +0000 2016

	libmp: silence compiler warning for strtomp

Hash:	32c11e287188d825e7d00aed616bfaccbbaafbf6
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Jan 5 06:53:39 +0000 2016

	pc/pc64: import i210 support from erik quanstrom's 9atom

Hash:	41383ad0120630edd42c5c897a287e2f9d9161b4
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Jan 5 04:32:40 +0000 2016

	kernel: change active.machs from bitmap to char array to support up to 64 cpus on pc64

Hash:	dd8908cff003135095996d2b0b5ea250c615a0e2
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Jan 5 02:57:50 +0000 2016

	fdisk: properly convert byte units K,M,G and T to cylinders/sectors
	
	the shared command language assumed 512 byte sectors, which is
	not the case for fdisk as it uses cylinders for the block unit.
	so we introduce an extra argument in the Edit structure and
	parseexpr() function so byte sizes are properly converted to
	the block unit when the K,M,G and T postfixes are used.

Hash:	5aeddd6788347f121f1c6739a9954fe176fe539e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jan 4 18:09:25 +0000 2016

	libmp: check nil return value of strtomp() in test program

Hash:	263b0e34b2cedd426d165fbf42437d2d45f80361
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jan 4 17:35:04 +0000 2016

	mpc: use new strtomp() c-style prefixes to parse integer constants

Hash:	f5fcf6688b6a8fe502e94e531ec4e17f5b108e6e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jan 4 17:33:06 +0000 2016

	libmp: mistake in strtomp()

Hash:	d30b160fe3b595c071d37345c51b35fffb2ad30c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jan 3 21:43:44 +0000 2016

	libmp: support for c-style base prefixes for strtomp(), octal support

Hash:	39f18c9d88f52a22373790dec5721fa3521d3f00
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Dec 25 16:05:05 +0000 2015

	libsec: implement TLS-PSK for tlsClient()/tlsServer()

Hash:	4a6ab355c1af789f7ddb4edbf4d82d17efd9d2bf
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Dec 23 01:31:47 +0000 2015

	file: recognize bootable disk images (by 0x55AA boot sector signature)

Hash:	76e5cda11aa9ef4a0aa6d1107e03bfefbbf84a9a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Dec 23 01:11:29 +0000 2015

	file: recognize tcpdump pcap files

Hash:	46bbeea04060257c6257d14112c6a8d317d7f930
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Dec 23 01:00:09 +0000 2015

	snoopy: fix timestamps for pcap files (thanks BurnZeZ)
	
	the pcap files produced by snoopy had the wrong timestamps because it expected:
	
	/* magic=0xa1b2c3d4 */
	ulong ts_sec;	/* seconds*/
	ulong ts_usec;	/* microseconds */
	
	but we wrote:
	
	uvlong ts;		/* nanoseconds */
	
	now, we write:
	
	/* magic=0xa1b23c4d */
	ulong ts_sec;	/* seconds */
	ulong ts_nsec;	/* nanoseconds */

Hash:	a53ae2782a6e8b1996c1d5dea4190eb11d06d056
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Dec 22 17:12:56 +0000 2015

	libjson: added printing support (thanks spew)

Hash:	f6e8b115d49e8aec463e3a495d53ee11031a4db6
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Dec 22 16:00:00 +0000 2015

	libjson: fix memory leak setjmp/longjmp problem (thanks spew)
	
	spew → I fixed the memory leak setjmp/longjmp problem with libjson
	spew → http://www.spew.club/json.patch
	spew → full file: http://www.spew.club/json.c
	spew → going to bed, I'll annoy cinap_lenrek tomorrow to try to get this committed

Hash:	9b0de7f9d63386bc5e2cb5889559bbdb0c11503d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Dec 21 03:55:54 +0000 2015

	tls: implement chacha20/poly1305 aead cipher suits

Hash:	d19144155e3825507cc01901a83d99bd64a8b0aa
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Dec 21 03:49:29 +0000 2015

	kernel: missing changes for ibrk() prototype

Hash:	bdc2b7556896a069f71dcafb9d4ba4e94872bcfe
Author:	aiju <devnull@localhost>
Date:	Sun Dec 20 12:45:28 +0000 2015

	mpfmt: handle base 2, 4

Hash:	a8f8de1cdeec7f9bee287c137b576e0249e8df82
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Dec 16 20:30:56 +0000 2015

	import/expoerfs: dont assert() fault when ai->secret is > 8 bytes, just use the first 8 bytes

Hash:	e83c9b3e61cf3aff761b9e662bc7495faa18b94c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Dec 16 20:27:44 +0000 2015

	auth/httpauth: use auth_userpasswd() instead of AuthHttp request to AS
	
	the /sys/lib/httppasswords will be removed soon from authsrv,
	so we use auth_userpasswd() to verify a username/password pair
	instead.

Hash:	8a60d9e2a8dc5b81b44426002b03110ef391f618
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Dec 16 20:23:40 +0000 2015

	libsec: use tsmemcmp() when comparing hashes, use mpfield() for ecc, use mptober() when right adjusting mpint to bytes

Hash:	efd3ac8a2328d1baf55c296a00807052473d549e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Dec 16 20:18:20 +0000 2015

	libmp: add mpfield() function for fast field arithmetic
	
	instead of testing for special field primes each time in mpmod(),
	make it explicit with a mpfiled() function that tests a modulus N
	to be of some special form that can be reduced more efficiently with
	some precalculation, and replaces N with a Mfield* when it can. the
	Mfield*'s are recognized by mpmod() as they have the MPfield flag
	set and provide a function pointer that executes the fast reduction.

Hash:	b6f04b77e3d11699d664d0ca7d0ba991f9599acc
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Dec 16 20:07:24 +0000 2015

	devprov: remove unused extern int unfair

Hash:	7be7d0681f567e97fd37f937c2e5e486d6d74eab
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Dec 16 20:06:51 +0000 2015

	kernel: use uintptr for ibrk() return value (for base >2GB) and clarify segbrk(2)

Hash:	afe450d3810ed0f66cff46fe0fe0e70520d2c14b
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Fri Dec 11 19:18:06 +0000 2015

	/sys/lib/dist/ndb/common: update for sl's auth servers

Hash:	55f6484f85da18ed7a480afa00d02b4bbcfc0104
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Wed Dec 9 06:17:41 +0000 2015

	/lib/ndb/common: add auth=cb.inri.net authdom=nyc

Hash:	15c6cd755557de5bb91c14668f9f0c2cbcbe988e
Author:	aiju <devnull@localhost>
Date:	Tue Dec 8 19:26:17 +0000 2015

	mp: strtomp support for bases 2,4,8

Hash:	609a9922adac98516b33d67dc98b432ac9c10cc9
Author:	aiju <devnull@localhost>
Date:	Tue Dec 8 18:43:22 +0000 2015

	mp: fix bug in mplogic.c; update mkfile

Hash:	87abbc649f9064660128b840ef3aabad3e55abce
Author:	aiju <devnull@localhost>
Date:	Tue Dec 8 17:29:22 +0000 2015

	mp: add logic operations; mpfmt: include 0x with #

Hash:	5f155322607bb8771881961a2fed71bb3dea8cf1
Author:	Matthew Veety <mveety@mveety.com>
Date:	Mon Dec 7 23:55:26 +0000 2015

	fixed spelling error in 2c(1) for the axp entry.

Hash:	1c0ba2019ece868b7ec75090df31ab77b6087355
Author:	Matthew Veety <mveety@mveety.com>
Date:	Mon Dec 7 22:59:53 +0000 2015

	made sure that rcmain.local runs independent of the existence  of $home/lib/profile. Documented /rc/lib/rcmain, /rc/lib/rcmain.local, $home/lib/profile in rc(1) and the first two in namespace(4)

Hash:	04a8392f8c7c75f585d48360774c6f1faa950f0c
Author:	Matthew Veety <mveety@mveety.com>
Date:	Mon Dec 7 21:01:09 +0000 2015

	Added change to /rc/lib/rcmain to allow execution of /rc/lib/rcmain.local if it exists. /rc/lib/rcmain.local is similar to $home/lib/profile in that it will only be executed with -l, but is site-wide.

Hash:	9e09742e9b5789a94b7676ff5f4e01468d2f2d88
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Dec 7 16:00:41 +0000 2015

	yacc: attempt to keep line numbers right for yyparse()
	
	as the generated parser intermixes lines from .y source
	and the parser text, the line source/lineno for yyparse()
	shows up wrong in the debugger. to make stack traces a
	bit less crazy, put a #line 1 "/sys/lib/yaccpar" before
	copying in the parser text.

Hash:	d928a6f23979bd0c91a5a192f23911f958c91a09
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Dec 6 19:55:27 +0000 2015

	merge

Hash:	01afe9328b3ddf51c1ab2725684fc542bc81f76c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Dec 6 19:53:54 +0000 2015

	libmp: fix assert() for mpexp() with nil modulus

Hash:	1a5c8430d20d7ec5cd52c8335af6490ab1dabcf2
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Dec 6 19:52:15 +0000 2015

	libmp: fix wrong move instruction for arm vector operations

Hash:	eccb144a715d348076904da1a1890ec71f8d6d7f
Author:	aiju <devnull@localhost>
Date:	Sun Dec 6 19:37:18 +0000 2015

	winwatch: l allows label changes

Hash:	8d16e980c29535d9d92a4a297077a51207cf93e4
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Dec 1 10:25:08 +0000 2015

	libmp: mpmod() fix typo

Hash:	ffdfc17ceede743b6fa32a6d1659f62f0d0d8650
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Dec 1 10:13:52 +0000 2015

	libmp: with mpmod() m = 2^a - c ensure that digits(c) < digits(m)

Hash:	fbd825890e8376b80a480ef294496d628fb75d3c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Dec 1 08:41:49 +0000 2015

	merge

Hash:	3a40210df86c6424d2eaf8123f4b2d352c73f077
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Dec 1 08:40:24 +0000 2015

	libsec: fix genprime() to produce normalized result
	
	this fixed bug "assert_failed_m-flags__mpnorm_since_283cc2200e34".

Hash:	4770f60b183231822011b026c3e0aef1b70592ee
Author:	aiju <devnull@localhost>
Date:	Mon Nov 30 22:36:39 +0000 2015

	mkone: yacc wants the D

Hash:	bdaa0022550a319c42de5f019d22a40625845182
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Nov 30 19:08:22 +0000 2015

	webcookies: strdup() file argument to avoid crash (thanks mischief)
	
	mischief reports:
	
	 acid: lstk()
	 abort()+0x0 /sys/src/libc/9sys/abort.c:6
	 ppanic(p=0x1bff4,fmt=0x1d749)+0x146 /sys/src/libc/port/malloc.c:166
	         pv=0x1dad8
	         msg=0x1e4a8
	         v=0x3ffffe7c
	         n=0x2f
	 D2B(p=0x1bff4,v=0x3fffffae)+0x57 /sys/src/libc/port/pool.c:926
	         a=0x3fffffa4
	 poolfreel(v=0x3fffffae,p=0x1bff4)+0x20 /sys/src/libc/port/pool.c:1152
	         ab=0x1dad8
	 poolfree(p=0x1bff4,v=0x3fffffae)+0x3b /sys/src/libc/port/pool.c:1287
	 free(v=0x3fffffb6)+0x23 /sys/src/libc/port/malloc.c:250
	 readjar(file=0x3fffffb6)+0xce /sys/src/cmd/webcookies.c:473
	         jar=0x1ea28
	         lock=0x1ea68
	         p=0x1ea6d
	 main(argv=0x3fffffa0,argc=0x0)+0x10f /sys/src/cmd/webcookies.c:1295
	         file=0x3fffffb6
	         srv=0x0
	         mtpt=0x1cfd0
	         _argc=0x66
	         _args=0x1cfe0
	         home=0x0
	 _main+0x31 /sys/src/libc/386/main9.s:16
	 acid:

Hash:	1d8f2ac0502bff4c3d92f431f20680e27255a896
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Nov 30 13:57:16 +0000 2015

	merge

Hash:	7f3659e78f83a59badebeae6414b9b3cd89d7a58
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Nov 30 13:56:00 +0000 2015

	kernel: cleanup exit()/shutdown()/reboot() code
	
	introduce cpushutdown() function that does the common
	operation of initiating shutdown, returning once all
	cpu's got the message and are about to shutdown. this
	avoids duplicated code which isnt really machine specific.
	
	automatic reboot on panic only when *debug= is not set
	and the machine is a cpu server or has no display,
	otherwise just hang.

Hash:	4badf9974f7bc542e42caffcbb9b6c987f5fac18
Author:	BurnZeZ <brz-9dev@feline.systems>
Date:	Sun Nov 29 23:06:55 +0000 2015

	fplot(1): fix typo

Hash:	a1a3af5586976713146bbcbcbfe27c66ff133a77
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Fri Nov 27 22:04:02 +0000 2015

	fortunes: If you get this, delete it. - Sorry! -- Tim Berners-Lee, www-talk, Mon, 28 Oct 91 14:34:12 GMT+0100

Hash:	8043614f797a269cfc9772998a3a1d46c139a1b7
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Fri Nov 27 21:49:19 +0000 2015

	fplot(1): add BUGS section

Hash:	254031cf7020f1b185c6d0af89c653a271e0ed01
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Nov 26 14:25:10 +0000 2015

	libsec: add chacha20 poly1305 aead, allow 64 bit iv's for chacha, add tsmemcmp()
	
	chacha20 comes in two variants: ietf rfc7539, using 96 bit iv and 32 bit counter
	and draft-agl-tls-chacha20poly1305 using 64 bit iv and a 64 bit counter. so
	setupChachastate() now takes a ivlen argument which sets the mode.
	
	add ccpoly_encrypt()/ccpoly_decrypt() routines.
	
	to implement timing safe ccpoly_decrypt(), a constant time memcmp was needed, so
	adding tsmemcmp() to libsec.

Hash:	90695e2eb24430a984e76afb6aaf1c10e2d4809e
Author:	BurnZeZ <brz-9dev@feline.systems>
Date:	Wed Nov 25 16:39:01 +0000 2015

	mpc: mpc.c is generated by yacc, so remove it on mk clean

Hash:	d7303af06d4725f7116d5dfa0d69603a5a1cd2b6
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Nov 25 03:31:30 +0000 2015

	rio: allow reading the image of a hidden window thru the window file

Hash:	9ef4ba83f62761b517db23a16e2f61e5861aae23
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Nov 25 03:30:44 +0000 2015

	rio: fix handling "resize" wctl for hidden windows
	
	when the "resize" wctl was used on a hidden window, the window
	was put back on the screen, however, it was not removed from
	the hidden[] array so trying to hide the window again failed
	because whide() assumed it was already hidden.
	
	the fix is to not unhide the window, but preserve the hidden
	state, so windows can programmatically be reshaped and moved,
	but will remain hidden unless explicitely unhidden.

Hash:	e82b10ffb480c85a80af21d016f3f8a30db08156
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Nov 24 10:02:04 +0000 2015

	disksim: don't assume 4-byte pointers

Hash:	518fd3ec8350a010e5ed6490e1106c66af8f4d02
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Nov 22 23:50:44 +0000 2015

	rio: stop serving kbdin file (thanks eekee)
	
	kbdfs already provides a /dev/kbdin file for the system, rio does
	not need to provide one for the onscreen keyboard anymore.

Hash:	569bdd00c2d3df235ed42abce09d286f30e0edbd
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Nov 22 22:47:58 +0000 2015

	add mpc(1), extended precision code generator

Hash:	ccfb9118a3bf19a0a943b3a7bbfddd82cf4ddc5b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Nov 22 02:19:27 +0000 2015

	bootrc: remove usbwait hack, usbd/nusbrc are now synchronous by previous commit

Hash:	7e3b2cdb557b49e0862079f38f14c777b9240e0f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Nov 22 02:17:15 +0000 2015

	usbd: intoruce /env/usbbusy
	
	to solve the usb device enumeration race on boot, usbd creates /env/usbbusy
	on startup and once all devices have been enumerated and readers have consumed
	all the events, we remove the file so nusbrc/bootrc can continue. this makes
	sure all the usb devices that where plugged in on boot are made available.

Hash:	98363cb27276b29ff3795d1ef93e4ea2e82e106f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Nov 22 01:39:57 +0000 2015

	devenv: fix ORCLOSE handling
	
	when opening a /env file ORCLOSE, and the process exits, envgrp() would
	return nil can crash in envremove() because procexit will have set up->egrp
	to nil before calling closefgrp().
	
	the solution is to capture the environment on open, keeping a reference in
	Chan.aux, so it doesnt matter on what process the close happens and a
	env chan will always refer to its original environment group.

Hash:	38e1e5272fc9c66a00d702246813135452819ffe
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Nov 21 08:39:59 +0000 2015

	libmp: initial attempt at constant time code, faster reductions for special primes (for ecc)
	
	introduce MPtimesafe flag to request time invariant computation
	disables normalization so significant digits are not leaked.

Hash:	b677ab0c5909942bf8946e9e9bd148dea7dae718
Author:	aiju <devnull@localhost>
Date:	Fri Nov 20 21:26:20 +0000 2015

	remove dunning-krugerrand code

Hash:	51bedde4471fc357dc16e9a655b78a740036e7fe
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Nov 20 05:28:17 +0000 2015

	libmp: fix test program

Hash:	9fccf1629ea99ab2613601e2ecd48646acb1e219
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Nov 20 05:25:56 +0000 2015

	libmp: add mpvecadd()/mpvecsub() assembly versions for arm

Hash:	2559e19e1944f3ff880274d0a7d172976d082c33
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Nov 20 05:25:01 +0000 2015

	libmp: 386/amd64 mpvec*(): replace conditional branches with ADC/SBB instructions

Hash:	55d3e11f0f68bfe26fb56029b53e3c1c50c40c2c
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Sat Nov 7 01:00:03 +0000 2015

	9fs: add case 9front

Hash:	b21482828b1597b5db66878611d50c0f70254af6
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Nov 6 16:28:29 +0000 2015

	merge

Hash:	00572496ce8e2e3919586a0ce3df1fc457220ae5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Nov 6 16:27:15 +0000 2015

	kernel: use nicer check in okaddr(), wet floor signs in fixfault()
	
	instead of checking addr+len >= addr, check len >= -addr so
	that addr == 0 is never valid for len > 0 even if we decide
	to have memory at the zero page so theres never any chance
	user can pass in "nil" pointers.
	
	put up some signs where we fall thru the switch cases in
	fixfault()

Hash:	3133a2a4e70740906fd69abe6a2304f8bdedd448
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Nov 6 01:55:11 +0000 2015

	merge

Hash:	b32300deb06b94f76a4aec144d23bbec3049d85f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Nov 6 01:53:30 +0000 2015

	kernel: fix okaddr() check

Hash:	b26ec24f9d04ae169dd6340b458168dc88036191
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Tue Nov 3 00:12:15 +0000 2015

	9fs: add 9pio case for unauthenticated connections to 9p.io.

Hash:	2ba46903fa70ff92d923d10ff71cd6a32bcfdf84
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Nov 1 11:14:00 +0000 2015

	merge

Hash:	a4e32b43eae351f50d534927b97c4c27a7657418
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Nov 1 11:12:41 +0000 2015

	libmp: optimize case x/0xffffffff in mpdigdiv() (helps arm)

Hash:	d901fbe4f1e7191b757355384504d7560e8d040e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Nov 1 11:10:10 +0000 2015

	libmp: add mpvecdigmuladd()/mpvecdigmulsub() assembly routines for arm

Hash:	c184d2602d62225997fd1c5eae9fd602f7924d5b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Nov 1 11:09:03 +0000 2015

	5c: handle (rare) MULU instruction in peephole optimizer

Hash:	258c4fc0f8c83e787439d8cf49e9f126e325be2a
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Sat Oct 31 20:09:15 +0000 2015

	fortunes: [9fans] FUSE on Plan9

Hash:	15bd0c52cc547a3f44a49a276ee86dd88af85e42
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Sat Oct 31 20:07:22 +0000 2015

	delkey(1): update man page to reflect recent changes.

Hash:	5c5c074f12f4f59c1ec51661aabc9a9ebea32dbe
Author:	aiju <devnull@localhost>
Date:	Fri Oct 30 21:18:09 +0000 2015

	delkey: don't be stupid

Hash:	cd3053a3cc2e1dd751efc17a0e23b4d5a2b62341
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Oct 28 16:09:22 +0000 2015

	devtls: reject SHA2_256 mac for SSL, but TLS is fine
	
	sha256 is only defined for TLS1.2, however, technically, theres
	no reason not to use it in TLS1.0/TLS1.1. the choice is up to
	tlshand and pushtls, not the kernel.

Hash:	93d63dc1f3fc6d70b338c3d60ca00b21faa85eff
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Oct 28 12:39:17 +0000 2015

	mp(2): fix typo mnprand() -> mpnrand()

Hash:	4587326e761dce084a621ab1225c29585b1057e9
Author:	BurnZeZ <brz-9dev@feline.systems>
Date:	Sun Oct 25 18:46:10 +0000 2015

	ascii: replace mnemonic np (new page) with ff (form feed) for consistency

Hash:	8f27b8d04dfb40d396fc6499fda4bcc2a9a13d42
Author:	BurnZeZ <brz-9dev@feline.systems>
Date:	Sun Oct 25 02:57:07 +0000 2015

	rio: fix scrolling when cursor is above window

Hash:	847f3a0cf54ac6aaafaeda7f6c6a4422e2f14700
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Oct 22 06:48:26 +0100 2015

	libsec: add chacha cipher (from charles forsyth)

Hash:	7effba9d98e8a39ee1504192d02d40e86d90b19a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Oct 22 06:17:25 +0100 2015

	libsec: add poly1305

Hash:	a3c155704117d99f4c7486f9cf48d0a281997ff1
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Mon Oct 19 16:56:03 +0100 2015

	fortunes: Maybe a git branch can help here?

Hash:	24d74a4b5fe730cbd7ebac851665fb50c37da163
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Oct 18 23:20:33 +0100 2015

	acid/leak: fix endless loop for B2NB(b) == b case (thanks mischief)

Hash:	5ca4afb2491571cc96ba1c1a6a0bee0b1912bab5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Oct 17 13:45:25 +0100 2015

	wifi: prioritize rsne over wpaie
	
	if beacon/proble contains both wpa information element and rsne, the rsne wins.

Hash:	2f99484b9dac562ce5faf8d9a652151a9a864b3e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Oct 15 12:22:48 +0100 2015

	merge

Hash:	a034e629f7611166cae617b08b19667925fc4305
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Oct 15 12:21:30 +0100 2015

	lib9p: do not override Srv.end in listensrv(), simplify srvclose() and recounting
	
	listensrv() used to override Srv.end() with its own handler
	to free the malloc'd Srv structure and close the fd. this
	makes it impossible to register your own cleanup handler.
	instead, we introduce the private Srv.free() handler that
	is used by listensrv to register its cleanup code. Srv.free()
	is called once all the srv procs have been exited and all
	requests on that srv have been responded to while Srv.end()
	is called once all the procs exited the srv loop regardless
	of the requests still being in flight.

Hash:	27d2955ccf58fb1c0631c497c094d793572f980f
Author:	aiju <aiju@phicode.de>
Date:	Mon Oct 12 09:41:40 +0100 2015

	lib9p: add reqqueuefree

Hash:	9112daa7641d64bf5b662e9afb391fd267d96ad2
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Oct 10 00:12:30 +0100 2015

	libsec: remove rc4 cipher suits for tls

Hash:	13213681c961a32f7e673321aef8edbae045092a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Oct 9 23:11:03 +0100 2015

	aux/listen1: usage()

Hash:	47682ee42a1f686dbd3aa9de7375c16f7d3d95e8
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Oct 9 23:09:02 +0100 2015

	aux/listen1: allow alternative namespace when running as user none with -n option

Hash:	bab31af707aab34da9ba2b2975c05d7b3cb568cc
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Oct 9 18:22:53 +0100 2015

	cwfs: fix wstat() failing to mark block dirty when noatime is set
	
	code assumed the accessdir() call would always mark the block dirty, but
	this is not the case when noatime flag is enabled. this was reported by
	michael in bug:
	
	"open/with_noatime_option_cwfs_doesnt_preserve_changes_in_file_permissionowner"
	
	--
	cinap

Hash:	9ec1a07af2537e5485524c8d079a07abfee6f96d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Oct 9 17:52:32 +0100 2015

	libsec: clarify the code by declaring constant for DirectoryString and handle conversion in mkstring()

Hash:	6bb63f78321a7c51beb88c1f340b333496d5f272
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Oct 9 17:31:49 +0100 2015

	libsec: use the right string encoding for various x509 fields
	
	C= has to be PrintableString, E= and DC= are IA5String, everything
	else is DirectoryString which can be PrintableString or UTF8String.

Hash:	4040ea7a5eda976098131794e8df3b162cafa8f4
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Oct 9 04:10:47 +0100 2015

	wifi: quote value of parsed ether options
	
	introduce wificfg() function to convert ether->opt[] strings
	to wifictl messages, which needs quoting for the value. so
	etherX=type=iwl essid='something with spaces' works.

Hash:	b29e414bc64537c9af8d5ebd8f73775bceaa5fa2
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Oct 8 16:16:06 +0100 2015

	merge

Hash:	2598a9e3128e01b8aa7da14e39fcdab868030c86
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Oct 8 16:14:07 +0100 2015

	cc: restore side(), but do not consider OINDEX as side effect free
	
	from charles forsuth:
	
	because the previous version thought OINDEX might have a side effect, it
	stopped it building a tower of them.
	probably the best thing is to limit that anyway, since each one consumes
	2-3 registers, so towering them can
	keep even more active, and the x86 hasn't got that many.
	
	the quick hack is to return that case to the earlier state by treating
	OINDEX as a side-effect in side().
	it's not a bad thing to do in the OSTRUCT case, for similar reasons: it's
	better to collapse the indexed pointer
	into a direct register, instead of repeating the indexing operation through
	the copying of the value.
	OINDEX isn't a machine-independent operation, so it doesn't affect the uses
	in ../cc

Hash:	08e2333cc1e604bd12f3a21d06d2c98d67e8935d
Author:	mischief <mischief@offblast.org>
Date:	Thu Oct 8 05:45:03 +0100 2015

	port: fix typo in devmnt mntproc name

Hash:	285d96be4d642def1221e184f63bb9b75df75071
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Oct 7 23:37:54 +0100 2015

	doom: fix bogus pointer arithmetic, do sfx initialization in two passes for linked sounds

Hash:	fa1f9f7ca6d2c7a6e31ef4612de4cf9653b84f7a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Oct 7 12:35:36 +0100 2015

	cc: back out side() change unil 8c is fixed
	
	this change made 8c fail to build libvorbis and gs, until this
	is fixed we can live with non-optimal code.

Hash:	7c7acbef314c6998354219f24cfee3283cb45ec1
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Oct 7 08:40:48 +0100 2015

	qc: import changes from charles forsyth

Hash:	4a916ba86e700d5e99311b45a81dc7be8a50b843
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Oct 6 05:55:05 +0100 2015

	kc: import various changes from charles forsyth

Hash:	fe3430ea998a3a494fa22ed574f97834cff38f7f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Oct 6 05:47:55 +0100 2015

	cc: include $builtin as keywoard in pickle() (from charles forsyth)

Hash:	37d2856f55ba62fec04481b87ee607c4ef8f2c45
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Oct 6 05:38:37 +0100 2015

	cc: getflag() fmt will be terminated at end of loop (from charles forsyth)

Hash:	651b2a32be9a0d0daebe9f6ff4ddee675908a8fc
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Oct 6 05:34:30 +0100 2015

	cc: allow runes as macro names (from charles forsyth)

Hash:	2d59b15c39dc0412e2722141cb5d48bf72b5665e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Oct 6 05:20:01 +0100 2015

	5c/6c/8c/vc: import various changes from charles forsyth
	
	- cover more cases that have no side effects
	- ensure function has complex FNX
	- pull operators out of OFUNC level
	- rewrite OSTRUCT lhs to avoid all side-effects, use regalloc() instead of regret()

Hash:	99ddc5b0971c3ce0baddd667ea4c34c635c8e5ab
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Oct 6 04:20:00 +0100 2015

	cc: TUSHORT -> TRUNE for lstring constats for OUSED

Hash:	b33f4c030159ac9dfdf34cb0ba6ec64daf727c8c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Oct 5 03:45:32 +0100 2015

	9660srv: do not ignore upper 32 bits of offset when reading directory

Hash:	0e09795831f37b86206e4dc9b3a0ac8bcd90401e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Oct 5 03:31:31 +0100 2015

	dossrv: handle file offsets > 2^31
	
	maximum file size is 4GB-1 as the file length is stored in
	a 32 bit long. make sure it doesnt overflow on write or
	or truncate. interpret the file length as unsigned. pass
	vlong to readfile()/writefile()/truncfile() so we can
	handle overflows and not just ignore the upper bits.

Hash:	ec518776982d6d1173683a1108e7537fc329ed43
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Oct 4 21:12:16 +0100 2015

	6c: remove 6c/vlrt.c file

Hash:	36876b95224938d1388ca04d5dc5dc40481dcdd3
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Oct 4 21:09:36 +0100 2015

	8c: dont abort() when running out of registers.

Hash:	a23d7cdb841643216bc620fe1bd09bfb4f77759c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Oct 4 20:22:17 +0100 2015

	vc: fix mistake.

Hash:	1dd7f0893b28d10fb40f2ce7337c986b83c16f1d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Oct 4 19:16:41 +0100 2015

	ape: add missing _subv() function to 386/vlop.s

Hash:	b556e87e08dd27f127e82963c5b2dc39f10dd389
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Oct 4 19:08:10 +0100 2015

	vc: handle 64 bit mixedmode asop

Hash:	8e41723741b8d011ff0412efed33a20dec37dc98
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Oct 4 19:07:34 +0100 2015

	5c: handle 64 bit mixedmode asop

Hash:	e6d64bab9dc7c71c80e82b7c41555a413f502399
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Oct 4 19:06:59 +0100 2015

	8c: handle 64 bit mixedmode asop and type vlong <-> float/double type conversions

Hash:	107ca1b42d099d74cd033be7f363b92d4ff29e3c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Oct 4 19:06:30 +0100 2015

	cc: handle 64 bit mixedmode asop and type vlong <-> float/double type conversions

Hash:	bfd0cb0db474a2ace38443537aff86382ec10baf
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Oct 4 19:02:58 +0100 2015

	cc/6c: fix return type of mixed asop expressions, preserve type for moves so fixed<->float conversions work correctly

Hash:	9e3ef5c777971707ab4ba426bb55d3bb2553ddf9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Oct 4 18:50:24 +0100 2015

	ape: add machine specific code for spim

Hash:	d2af6b40af268fafdbd04c0222e785167b9ae021
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Oct 4 18:49:02 +0100 2015

	libc: add _uv2d()/uv2f() and _vas*d() functions to vlrt.c
	
	on 32 bit archs, implement 64 bit vasop with floatingpoint right hand side.
	also added is uvlong->double conversion function.

Hash:	9124e491e5d172feec53dd662c2fe6d999cb2d3f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Oct 3 11:19:31 +0100 2015

	merge

Hash:	74a557a167533d37ddd551c2d222fe208c5a4302
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Oct 3 11:18:20 +0100 2015

	8c: make cgen64() compile target first when it contains functoin call so final assignment wont trash the registers

Hash:	20dc40d19bc63ff5d3a88248ce9864be5b2284c4
Author:	mischief <mischief@offblast.org>
Date:	Wed Sep 30 02:44:30 +0100 2015

	pc, pc64: add did for intel wildcat point audio controller

Hash:	fe06f8e571554997c7ca58820c7fbd4a42de3ff7
Author:	aiju <devnull@localhost>
Date:	Tue Sep 29 19:49:52 +0100 2015

	add timepic(1) and qr(1) manpages

Hash:	a7b06e0fdd02355b2dc9ce2349afbd25bf8287a3
Author:	aiju <devnull@localhost>
Date:	Tue Sep 29 19:49:28 +0100 2015

	timepic: string support

Hash:	cde69a78225ee3b8c5e46ddb98ce4bd599d4f355
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Sep 29 14:17:21 +0100 2015

	ape: set MB_CUR_MAX to 4 in stdlib.h for 21-bit runes (thanks erik quanstro)
	
	> fix silly bug with ape/stdlib.h which caused ape/lib/regexp/regcomp.c
	> to miscompile regular expressions with runes > 0xffff.

Hash:	695f0e0694a438ae314be65757e9736c33892249
Author:	BurnZeZ <brz-9dev@feline.systems>
Date:	Tue Sep 29 09:08:42 +0100 2015

	aux/gpsfs: fix usage

Hash:	ed196fcb7ee8d6f9dac21d380a510853cd287236
Author:	BurnZeZ <brz-9dev@feline.systems>
Date:	Mon Sep 28 08:42:26 +0100 2015

	file: detect DICOM and XM audio headers

Hash:	0a3160261d471ec1775024ab1616a9a534626ef3
Author:	aiju <devnull@localhost>
Date:	Mon Sep 28 10:33:06 +0100 2015

	teach doctype how to timepic

Hash:	8a784a3b9b8aa75de59c475acccc68802890f95b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Sep 27 21:41:38 +0100 2015

	devip: declare cleanarpent() static

Hash:	4449a347569fa9705bdf9a6d3c89d55f49899f4b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Sep 27 21:17:02 +0100 2015

	devip: various bugfixes and cleanups for arp code
	
	- fix missing runlock(ifc) when ifcid != a->ifcid in rxmitsols() (thanks erik quanstro)
	- don't leak packets when transfering blocks from arp entry hold list to droplist
	- free rest of droplist when bwrite() errors in arpenter(), remove useless checks (ifc != nil)
	- free arp entry hold list from cleanarpent()
	- consistent use of nil for pointers

Hash:	920783505c3b91624200f144b2cbdd78dc348ca5
Author:	aiju <devnull@localhost>
Date:	Sun Sep 27 12:50:18 +0100 2015

	add timepic(1)

Hash:	4c841d0b46720390df695dab404e6c82cdd25ef6
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Sun Sep 27 00:10:40 +0100 2015

	fortunes: Please be respectful in this forum.

Hash:	f9244d433ac557dd9982c4cfcfe3fca759efeb25
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Sun Sep 27 00:07:05 +0100 2015

	qer(8): correct man page example (thanks, kenji)

Hash:	c124b9f8b24e6cf5a3a5d5a330592ea859ba1132
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Sep 26 10:46:31 +0100 2015

	merge

Hash:	ffe4844da89587a3a5cb806abd01d61c1b4b4aa4
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Sep 26 10:44:29 +0100 2015

	cwfs: various cleanups
	
	- consistently refer to Dentry.name length with NAMELEN
	- make sure whoname is null terminated
	- remove useless nil check for whoname

Hash:	76e0968e35f03ec848093072458e3d15bee2f372
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Sep 26 10:41:31 +0100 2015

	cwfs: don't use sprint() to fill directory name
	
	sprint() will replace invalid utf8 sequences with U+FFFD
	which caused directory reads and stats to return the wrong
	filename. just strcpy the name bytes.

Hash:	87378642942fa34d3061022d5e819e4b5db03ddd
Author:	mischief <mischief@offblast.org>
Date:	Sat Sep 26 00:44:25 +0100 2015

	ape: add badrect object into ape libdraw

Hash:	fc06f637cff6d812207fb798b48a31ab463f0ab5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Sep 24 11:57:05 +0100 2015

	libsec: cleanup newbytes()/newints()/newbits() and get rid of OFFSETOF() macro

Hash:	917da0089dcaa013979a69aaeaeff0c08cbc7e26
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Sep 24 11:23:17 +0100 2015

	cpp: handle 4 byte utf sequences (21-bit runes)

Hash:	8003c8b1e2d5d6e2a22ca7e552b53e631db86df4
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Sep 24 11:14:08 +0100 2015

	utf(6), rune(2): document 21-bit runes

Hash:	bba6d26ca26a60690d50b3fe41a8778abd66cff0
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Sep 24 04:13:03 +0100 2015

	cpp: fix memory corruption due to input buffer relocation
	
	the dynamic input buffer resize code (fillbuf()) is broken as
	the calling code assumes that memory wont relocate. instead
	of trying to work out all the cases where this happens, i'm
	getting rid of fillbuf() and just read the whole file into
	memory in setsource().
	
	the bug could be reproduced with something as simple as:
	
	@{for(i in `{seq 1 10000}){echo $i ', \'; }} | cpp

Hash:	2b5ab91775b97d9e53b2c92a45164703855029a2
Author:	glenda <glenda@PC192-168-2-10>
Date:	Wed Sep 23 16:52:35 +0100 2015

	resize: add -n for nearest neighbour

Hash:	fa95531388c81f253b2ad21c26272002463b7692
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Sep 23 16:35:16 +0100 2015

	merge

Hash:	664154893811cc73bfa00ef276776b87070d50f5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Sep 23 16:33:52 +0100 2015

	libsec: fix memory leaks in X509req() and X509gen() and return malloced pointer
	
	X509req() and X509gen() used to leak memory, and had no way for
	the caller to free the allocated certificate/certificate request
	buffer returned. this is not critical as these functions are only
	used in short lived rsa(2) helper programs. but i prefer to have
	library routines not leak memory as one does not know in advance
	where the code is going to be used.

Hash:	5639f9504be2b325c7c041a59b424880cb9e8cf7
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Sep 23 16:05:48 +0100 2015

	rsa2x509, rsa2csr: add newline in usage print

Hash:	9f50ee06f3a78af3767ec061f4647b5446c8619e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Sep 23 15:57:25 +0100 2015

	libsec: implement client certificate authentication for tls1.2
	
	we used to negotiate tls1.1 for client cert authentication because the
	signature generation was not implemented for tls1.2. this is now fixed
	and tls1.2 can be negotiated with client certs.

Hash:	d6c35b3de89d4ef57286e0b01431775f1fbca8fc
Author:	glenda <glenda@PC192-168-2-10>
Date:	Wed Sep 23 15:36:55 +0100 2015

	add qr.c

Hash:	ada54defbcb037f8858b475f90ef215b7d1b44a6
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Sep 22 18:11:54 +0100 2015

	libsec: handle missing signature case; can happen because some ciphers make it optional

Hash:	2c4d3dd510a806344e4a3c6507d7f397a68c980c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Sep 22 17:39:48 +0100 2015

	libsec: make sure Elem is zero initialized so freevalfields() wont cause accidents

Hash:	c3e1c158f62458f16e5b538f188bad14844d277d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Sep 22 17:10:52 +0100 2015

	libsec: implement dh parameter signature verification, stop lying about non-rsa ciphers, fix memory leaks in X509 code
	
	actually verify the diffie hellman parameter signature, this
	comes in two flavours. TLS1.2 uses X509 signature with a
	single hash specified by the signature algorithm field in
	the signature itself and pre TLS1.2 where md5+sha1 hashes
	of the signed blob are pkcs1 padded and encrypted with the
	rsa private key.
	
	stop advertizing non-rsa cipher suits (DSS and ECDSA), as
	we have not implmenented them.
	
	fix some memory leaks in X509 code while we'r at it.

Hash:	8baa8593196a1848773eb8dff26b18cc519f0175
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Sep 22 17:04:06 +0100 2015

	libsec: fix memory leak in ecmul()

Hash:	c878be04f90fcdfefb65ce9182b73825e6de971d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Sep 22 11:23:49 +0100 2015

	scuzz: uncomment synccache command

Hash:	83d45ee5025546b99d2ccd8491c808eb50f3bad9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Sep 22 10:49:07 +0100 2015

	mothra: <hr> drawing
	
	<hr> is handled by drawing replicated bitmap across the with of
	the page.

Hash:	95cfc307881d044b0fddd6abf9c0b6b65e780832
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Sep 20 20:52:47 +0100 2015

	libdraw: remove unneeded check (thanks BurnZeZ)

Hash:	12f7fc7a0874c568e147627ca043eff33be6188e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Sep 20 13:54:49 +0100 2015

	devsd: handle SYNCHRONIZE CACHE scsi commands as nops in sdfakescsi()

Hash:	fa769a8f9d2200387c9e76f059dab2e213a8a792
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Sep 20 13:53:44 +0100 2015

	sdmmc: handle fakescsi emulation

Hash:	c7c58ef8bb07a917dc9e1891b9226a132493c84a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Sep 20 13:27:41 +0100 2015

	devsd: remove unused timeout field from SDreq

Hash:	d1315ade4171b25039a60b01d8fd8f39d822cc10
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Sep 20 11:25:01 +0100 2015

	libdraw, screenrc: bind devdraw and devmouse in screenrc instead of handling it in libdraw
	
	libdraw was attempting to bind '#i' and '#m' to /dev when it could not find
	/dev/mouse or /dev/draw. a library shouldnt be that clever and do namespace
	manipulations on behalf of the caller. so instead, we setup the graphics
	environment in screenrc on boot time.

Hash:	30a9d5907018a578873bff2f7f1eaccfcc4d5a1f
Author:	mischief <mischief@offblast.org>
Date:	Sun Sep 20 09:56:56 +0100 2015

	pc, pc64: fix sdvirtio descriptor count when sending flush

Hash:	f5174e6fdf6386a47d610991b449299c9fb392c7
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Sat Sep 19 19:03:22 +0100 2015

	ircrc: add -P option for server password (thanks, nick)

Hash:	a90662c2e6110a2e9e2b182020fe86c61d73583b
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Wed Sep 16 18:29:04 +0100 2015

	/sys/lib/dist/ndb/common: correct authdom=inri

Hash:	cb083221d274aac11b62c59921f27c000075e2eb
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Sep 14 14:15:14 +0100 2015

	igfx: fix typos (thanks qwx)

Hash:	029c271825d626f4eb9e8310f5e72a026d3c16d7
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Sep 14 08:46:40 +0100 2015

	libsec: save some space making weakCipher bitamp of type char[] instead of int[]

Hash:	9733434e6eecca748a15a46e8a52635c5183a8dc
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Sep 14 08:27:06 +0100 2015

	libsec: add TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 and TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 cipher suits

Hash:	be3ba38c452084cf6644d4ae6fb35ccf6abbb1cb
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Sep 13 12:51:00 +0100 2015

	libfis: fix wrong shift for lba40 (thanks geoff and charles)
	
	---------- Forwarded message ----------
	From: Charles Forsyth <charles.forsyth@gmail.com>
	Date: 13 September 2015 at 12:38
	Subject: fis bug
	To: erik quanstrom <quanstro@quanstro.net>
	
	
	geoff spotted something similar in sdiahci.c, but it's in libfis as well:
	
	c[Flba24] = lba >> 24;
	c[Flba32] = lba >> 32;
	c[Flba40] = lba >> 48;
	
	>> 48??  should be >> 40, especially with drive sizes getting up there.

Hash:	33a4a56c1c163192b0d166740e7d81fbde602d2a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Sep 13 12:39:51 +0100 2015

	libsec: send sigature_algoritms extension for TLS1.2, order ciphers
	
	TLS1.2 requires the client to send the list of supported
	signature and hash algorithm pairs. some servers will simply
	reject the client hello otherwise. note that we do not implement
	any dh/ecdh param signature verification.
	
	order the cipher list to strogest first. aes128 is actually more
	secure than aes256.

Hash:	455b42743d3a3458f7c23926607e53c0b2906e5e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Sep 12 12:04:47 +0100 2015

	libsec: handle TLS 1.2 changes in CertificateRequest message

Hash:	c06e464ec45dd5880850fa60c850498861c514d3
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Sep 12 02:58:46 +0100 2015

	cwfs: initialize /env/timezone on boot so dumps are in localtime
	
	when /env/timezone file is missing (boot case), copy /adm/timezone/local
	to /env/timezone so localtime() can correct timezone offset.

Hash:	c823f136df8d3fcfea6adfc6e87924357dacf3c8
Author:	mischief <mischief@offblast.org>
Date:	Thu Sep 10 02:59:40 +0100 2015

	mkfile.proto: LIB should not be inherited during recursive mk

Hash:	20ea629b8ae4693f924c55fee7b00af62950f0ef
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Sep 8 18:55:55 +0100 2015

	html2ms: bold table headings, remove wrong tag space handling

Hash:	d79754b4c8f2d23a4f27d9a889efd896bcbc8a2f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Sep 8 18:23:23 +0100 2015

	mothra: make text inside <td> bold

Hash:	b143c1f41190c9f8a6750f45b450533648afe460
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Sep 8 17:30:38 +0100 2015

	tar: remove unneccesary { }

Hash:	c7eae3fb729cf1831dc3f711444f2edf782a3e7d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Sep 8 17:27:48 +0100 2015

	tar: make z flag work, even when no file name was provided (thanks aiju)
	
	tar used to infer compression type from the filenames extension, but when
	no file name is given (stdin/stdout), the -z flag was ignored and no
	compression filter applied. this changes tar to assume the default
	gzip compression method when z is given and no file name is specified.

Hash:	4d4b825dea3c41bdad7d10ae32e7d04c1a3712d0
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Sep 6 23:13:40 +0100 2015

	mothra: add missing initializations for plaintext html state

Hash:	b55315c3fd5d745a3c5b15991dfa1c8c5da7a5ae
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Sep 6 22:25:14 +0100 2015

	libthread: get rid of tprivalloc()/tprivfree()/tprivdata() and _workerdata() (thanks qrstuv)
	
	these functions where undocumented and unused. especially
	tprivfree() was buggy missing a unlock() call. theres not
	much point in supporting these functions as theres
	threaddata() and procdata().

Hash:	7562da90e562e65156042574e088d4359a8fccba
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Sep 6 19:43:05 +0100 2015

	libc: remove privfree(), simplify privalloc()

Hash:	431cbe35f6a3f9c0c74d11937dfa7e06da34ecde
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Sep 5 12:18:28 +0100 2015

	devqspi: fix qunlock error on stat() -> close()

Hash:	fdfd856d1d2ba158f25a18706571616aad472877
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Sep 5 09:36:53 +0100 2015

	zynq: clean cache unconditionally *before* dma, invalidate cache *after* dma for read case
	
	processor might bring data speculatively into the cache,
	before the dma completes.

Hash:	6fb9ae8f4356f6b17f15894491d6339245dcd8ec
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Sep 5 09:14:19 +0100 2015

	usbehci: clean cache unconditionally before handing a buffer to the hardware
	
	even in the read case, we need to clean the cache
	so the cpu will not flush out old changes while
	the hardware updates the buffer.

Hash:	50850cf4b93d0a1b3a543a260c367dbf5f3209c1
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Sep 5 02:29:17 +0100 2015

	dist/mkfile: add target for the aijuboard *.zynq.img
	
	this generates a disk image (to be written to usb or
	sdmmc card) containing 9fat partition with kernel and
	a hjfs filesystem partition with the 9front distribution.
	
	this could be easily extended to generate raspberry pi
	images as well, but i have no hardware to test.

Hash:	10f680c5baf1cec1ba630bb63e6fc022bf9d26ad
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Sep 5 02:14:44 +0100 2015

	move screen and mouse setup code to /rc/bin/screenrc

Hash:	ce38e57e97b39b0cde532ff6a83b8881de6d2f3a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Sep 4 23:37:32 +0100 2015

	merge

Hash:	faf3f0df06f7a994d58eb48cff7a6ccaa0b847a6
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Sep 4 23:33:57 +0100 2015

	zynq: fix cache flush bug for emmc driver (have to invalidate cache *before* read)

Hash:	891ca82987452bd77281dbd9d43bd5562322111a
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Thu Sep 3 22:01:49 +0100 2015

	fortunes: Please be respectful in this forum.

Hash:	b9eb7258bdb1b244af91dbe75595d55d3de810d4
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Sep 3 20:24:00 +0100 2015

	html2ms: handle subscripts and superscripts

Hash:	72a5fbd8ea41d44c5b8d6ab3483c7701e0126726
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Sep 3 18:07:48 +0100 2015

	mothra: subscript and superscript support

Hash:	c8dd01d5f673d62555ac773a61798901784445de
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Sep 2 10:41:41 +0100 2015

	auth/passwd: fix structure zeroing order

Hash:	7ed22aaeec7a09f2215d08003e2e5c824f903d5d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Sep 2 10:30:17 +0100 2015

	libsec: add rfc5869 hmac-based key derivation function hkdf_x()

Hash:	b749f36baa4800e116bea6fcd0abc23c28e7078f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Sep 2 10:28:11 +0100 2015

	libsec: generalize pbkdf2_hmac_sha1() to pbkdf2_x() passing the hmac as an argument

Hash:	4c52aedfe92da7efe85e3b855855acb94863e084
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Sep 2 05:15:02 +0100 2015

	libsec: declare aes_setupEnc static

Hash:	46926aa50246c1b68ac685ae8cb396de1d60e726
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Sep 2 00:50:55 +0100 2015

	tcp: fix mtu on server sockets again (thans mycroftix)
	
	for incoming connection, we used s->laddr to lookup the interface
	for the incoming call, but this does not work when the announce
	address is tcp!*!123, then s->laddr is all zeros "::". instead,
	use the incoming destination address for interface mtu lookup.
	
	thanks mycroftix for troubleshooting!

Hash:	b5737e87262b69fbfd5750a9485de9fc8b5b06dd
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Sep 1 20:38:20 +0100 2015

	libsec: add curve25519 diffie hellman

Hash:	e3a64494e782de289e1c7e12a4b3a2f73e0064e8
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Sep 1 20:35:43 +0100 2015

	libsec: remove flawed aes() digest and hmac_aes() implementations (thanks aiju)

Hash:	2095bdbf454fbe01501d0cda74e34ecb4b9d90ae
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Aug 28 15:31:44 +0100 2015

	libsec: work arround 8c running out of registers compiling curve25519.c

Hash:	0e51046942cb5f7168b24b719761297d100082b0
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Aug 28 11:08:54 +0100 2015

	libsec: add curve25519() from http://code.google.com/p/curve25519-donna/
	
	this is a portable version of curve25519() by google.

Hash:	d8a57c0ae3ebd8da230abf545485cf701ef7df77
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Aug 28 07:42:35 +0100 2015

	merge

Hash:	d52e35055d189e18104fdf1b5891acc10df6a3df
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Aug 28 07:41:16 +0100 2015

	libauthsrv: fix _asgetresp() for passwd

Hash:	2bc15fbabddf1f1b9921dade33e64fe83eaf377a
Author:	glenda <glenda@cirno.localdomain>
Date:	Thu Aug 27 14:40:34 +0100 2015

	mp.h: third time's a charm

Hash:	82a922d9ed10d33d04f80d3fc19d0be4c74e9843
Author:	glenda <glenda@cirno.localdomain>
Date:	Thu Aug 27 14:35:13 +0100 2015

	mp.h: oops

Hash:	d8a1f1a647d396bda237df5e996b4d49a948eda9
Author:	glenda <glenda@cirno.localdomain>
Date:	Thu Aug 27 14:34:02 +0100 2015

	mp.h: define mpnrand

Hash:	07b245943ac5991b98ee4683f6c40efdf0fca351
Author:	mischief <mischief@offblast.org>
Date:	Thu Aug 27 09:53:48 +0100 2015

	libsec: add TLS_RSA_WITH_AES_128_CBC_SHA256 and TLS_RSA_WITH_AES_256_CBC_SHA256 ciphers

Hash:	163a772124af2bf0b216558016de574127da37b6
Author:	mischief <mischief@offblast.org>
Date:	Thu Aug 27 09:46:28 +0100 2015

	devtls: add sha256 mac

Hash:	3bb0b9f4ea46431189b2cae2a6c2887f786d822a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Aug 26 04:59:42 +0100 2015

	libsec: add q parameter to dh_new() for subgroup support, sanitize dh parameters

Hash:	844bbecadb3a4263a183ce03021849ac41cbd20f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Aug 26 04:44:26 +0100 2015

	libmp: simplify mpnrand(), as mpnew() cannot return nil

Hash:	8f2e408448c2c2d16173f244448b8b9a1fcaf6d7
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Aug 25 19:20:25 +0100 2015

	libmp: add mpnrand() function to generate uniform random number 0 ≤ x < n

Hash:	2dec35524e1c9205656ef0167f5d7486a3a34302
Author:	mischief <mischief@offblast.org>
Date:	Tue Aug 25 11:06:36 +0100 2015

	tput: check sbrk return value

Hash:	a284b5709106663cffc04dbee6318a780071ef79
Author:	glenda <glenda@cirno.localdomain>
Date:	Tue Aug 25 10:35:48 +0100 2015

	merge

Hash:	c4fdc6bfdb2211e13643d5fba75edf437c122eef
Author:	glenda <glenda@cirno.localdomain>
Date:	Tue Aug 25 10:35:10 +0100 2015

	fix fuckup

Hash:	029f07292b6b2e4c6409ae7fd365808b0ed5f68f
Author:	mischief <mischief@offblast.org>
Date:	Tue Aug 25 10:09:22 +0100 2015

	import E script from bell labs

Hash:	6b402b83cffc97015345dab1c27c35afe64bb3db
Author:	mischief <mischief@offblast.org>
Date:	Tue Aug 25 10:07:46 +0100 2015

	import E script from bell labs

Hash:	dbe0a995f03f26ea2b6859d21df3bd67856d672d
Author:	mischief <mischief@offblast.org>
Date:	Tue Aug 25 09:58:41 +0100 2015

	libc: import more endianness fixes (thanks cherry9)
	
	from https://bitbucket.org/cherry9/plan9-loongson/

Hash:	59d16c3900ebfdf0725ebab61e77499dfb7f86de
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Aug 23 22:49:31 +0100 2015

	libsec: fix probably_prime() endless loop for n == 3

Hash:	54a91861df5782fdc62ac72f8c8f3ce192f6396f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Aug 21 23:21:11 +0100 2015

	remove convkeys2

Hash:	b83dd93e98cf04ce33760fc43b75fdef078d71ab
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Aug 21 22:40:31 +0100 2015

	init: remove dependency to <authsrv.h>

Hash:	d24610fe3813b800ee436dfe5a1121e39721c8f4
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Aug 21 22:38:56 +0100 2015

	tapefs: remove dependency to <authsrv.h>

Hash:	5c941ec346f2a0340b0f1dd5ae5635c95d7ef227
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Aug 21 22:29:10 +0100 2015

	import(4): -o, -O flags gone

Hash:	69dd87eb637ec540eb8ea3c8b8be817f82eb71a0
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Aug 21 22:23:35 +0100 2015

	remove srvold9p

Hash:	61e9d23eb24ce2e1fda045f74752a825f0545aa1
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Aug 21 22:22:59 +0100 2015

	cpu, import: remove old9p support

Hash:	12d6eb0ce3d6701a7a5e44083e18a3cb32a64539
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Aug 21 22:21:41 +0100 2015

	remove old9p cpu service

Hash:	c6a9cbb0713c3ede52cf6822dcfc0589e5b9b8fe
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Aug 21 21:46:26 +0100 2015

	cmd/auth: remove private /dev/random reading routines, use genrandom()

Hash:	809522e80f4011925e8d92aa480fad04c7ff9e10
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Aug 21 19:36:19 +0100 2015

	auth/changeuser: set the aes key in plan9 database, but not in securenet db

Hash:	f6dbd3d99325352b80e2ff6b0d13e8a1557369cb
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Aug 21 19:11:11 +0100 2015

	keyfs: fix typo (thanks jpm)

Hash:	c96efcfef35fc8be3e510d134cf65e9a8204f7d0
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Aug 21 18:53:43 +0100 2015

	kernel/boot: do not handle kfs boot

Hash:	77e279201d08529a662b3f31b8c2c65683a55ebe
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Aug 21 18:52:57 +0100 2015

	remove kfs and kfscmd

Hash:	cb474632d3f23de10fea2d70a4b4c98d8f3a3755
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Aug 21 18:51:03 +0100 2015

	remove kfs references from manual

Hash:	3db2012126385e19923ecf742315b62c0b4b4ff8
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Aug 21 18:40:29 +0100 2015

	fshalt: remove kfs support

Hash:	985b2457cda207c2c65edeb647aedbb6e92dac46
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Aug 21 18:35:56 +0100 2015

	mkfs(8): dont mention kfs

Hash:	46a7876d326c752f17b7993274f3234e647dfb65
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Aug 21 18:32:48 +0100 2015

	disk/mkfs: rmeove kfs support

Hash:	0ce50ebc5750c15e30c6f2d5ba23a0dd329c6c47
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Aug 21 17:43:25 +0100 2015

	cwfs: remove 9p1 support

Hash:	501774b0968d59994d5012fab62fa8221d8b7923
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Aug 21 02:32:05 +0100 2015

	authsrv: randomize aes key in mkkey(), not used yet.

Hash:	c3487a4b49b6988aad0e340ad9e986e4549b9317
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Aug 21 02:16:50 +0100 2015

	authsrv: more aes key stuff

Hash:	63b18e79252845d09abbad44672eabd9233a911b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Aug 21 01:43:31 +0100 2015

	introduce AES key into nvram and keyfs

Hash:	e48a5832b26f817ab06db2d42f88288373b78fac
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Aug 20 19:56:00 +0100 2015

	kfs: adjust to new libauthsrv

Hash:	167ea748f8b20a5940108ef5b23132310213e77e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Aug 20 19:44:17 +0100 2015

	cwfs: adjust for new libauthsrv changes

Hash:	78c45541eb66a661f4e45c2f86bb5ac37de2408b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Aug 20 14:47:49 +0100 2015

	libauthsrv: add missing files (thanks mischief)

Hash:	a40c4006d21d6e553d805da7d1a297bdce42f571
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Aug 19 23:45:08 +0100 2015

	libsec: add pbkdf2_hmac_sha1() (from wpapsk factotum module)

Hash:	d3f05df5d6839e179222cf691ab9a455044687ea
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Aug 19 20:07:40 +0100 2015

	merge

Hash:	02cfcfeab46f36aad95263ed40d19df7bd5eddef
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Aug 19 20:06:17 +0100 2015

	libauthsrv: generalize ticket service, not hardcoding ticket format and DES encryption
	
	this is in preparation for replacing DES ticket encryption with
	something better. but first need to make the code stop making
	assumptions.
	
	the wire encoding of the Ticket might be variable length
	with TICKETLEN just giving an upper bound. the details will be
	handled by libauthsrv _asgetticket() and _asgetresp() funciotns.
	
	the Authenticator and Passwordreq structures are encrypted
	with the random ticket key. The encryption schmeme will depend
	on the Ticket format used, so we pass the Ticket* structure
	instead of the DES key.
	
	introduce Authkey structure that will hold all the required
	cryptographic keys instead of passing DES key.

Hash:	265d7d9453fa49f42c9fb33ebeefc8657c9df2c0
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Tue Aug 18 19:21:58 +0100 2015

	/lib/1oct1993: use words correctly (thanks, spew)

Hash:	f785d4da07349c7bb250eb00a3f2bed3eb170828
Author:	mischief <mischief@offblast.org>
Date:	Tue Aug 18 09:24:22 +0100 2015

	aux/statusbar: use title as rio window title (thanks qrstuv)

Hash:	7c3bbc31680ec7d1b36e3c3e841c06a896e76415
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Aug 17 21:27:56 +0100 2015

	libsec: TLS1.2 server support, make cipher list with most prefered first

Hash:	7d7650dffc20c3853eb1acd551c9a02f73751ae3
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Aug 17 20:16:58 +0100 2015

	libsec: TLS1.2 client support

Hash:	873850c33d77cdd3ed20db94af670ec631ea4aa1
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Aug 17 12:11:31 +0100 2015

	bullshit: app, deep-learning, responsive.

Hash:	70a7ae9929d879b9268822793947a9ca1350b763
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Aug 17 01:07:27 +0100 2015

	cc: improve (non-) side effect detection (thanks charle)

Hash:	dd4c85cf3ad0dcc5a435552fbc265a091a454089
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Aug 16 21:12:11 +0100 2015

	games/doom: fix array offsets for respawn angle (thanks qu7uux)
	
	mthing->angle is a signed short, and if ANG45 * mthing->angle/45 < 0, the
	result of the right shift is sign extended.
	afaik, an being 16bit in the dos version of doom, you'd endup with a
	negative array offset, which would just access values from adjacent arrays
	(finetangent[] for finecosine[], and finecosine[] for finesine[]), and it
	would result in a misplaced teleport fog in some circumstances (fog is not
	in front of the player on respawn, hence "silent teleport"). so, this fix is
	bug incompatible, but this only affects live multiplay.
	to test:
	% hget http://doomedsda.us/dm/ahfx7_2.zip | unzip -sv
	extracting AHFX7_2.TXT
	extracting AHFX7_2.LMP
	% mv AHFX7_2.LMP ahfx7_2.lmp
	% games/doom -playdemo ahfx7_2
	[...]
	doom 10553: suicide: sys: trap: fault read addr=0x400429e10 pc=0x205b45

Hash:	f369fa9d46d67019efd2ebff2556d5092e791613
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Aug 16 21:09:46 +0100 2015

	games/doom: fix gamma correction and key translation (thanks qu7uux)
	
	KEY_F11 and KEY_F12 are not KEY_F1+11 and KEY_F1+12 as it is assumed in
	runetokey(), which prevents these keystrokes from being used. rather than
	change runetokey(), it seems better to just change the key definitions in
	doomdef.h (the new values don't correspond to any other keys anyway).
	
	F11 is the gamma correction key. to make gamma correction actually work,
	i_video.c:I_SetPalette must also take into account usegamma (this was just
	never ported). cf i_video.c:UploadNewPalette in source code release.
	
	F12 is the spycam key. the spycam switches the renderview to a different player
	during a coop game, or when watching a multiplayer demo. this feature only
	changes the renderview; sounds, palette effects, status bar, etc. are still
	from the first player's perspective.

Hash:	f47f6af382228431fa363198ebf9d6d9424c5b56
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Aug 16 21:08:11 +0100 2015

	games/doom: fix idclev cheat in doom2 and final doom (thanks qu7uux)
	
	a typo in st_stuff.c:ST_Responder prevents idclev (change level) cheat to work
	in doom2 and final doom (gamemode == commercial): episode is set to 0, when
	that's invalid, and ST_Responder just returns.
	to test, while ingame type idclev, followed by:
	. doom1: episode (1-3 or 1-4) then map number (1-9)
	. doom2/final doom: map number (1-32)
	incidentally, if the last digit typed is 1, the player's weapon will switch to
	the fist, because of a different bug (basically kbdproc registering two events
	when pressing a key, for 'c' and 'k' case).

Hash:	0d76dafaa023ec68abae9e92961e6619397c76e6
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Aug 16 21:07:12 +0100 2015

	games/doom: fix unterminated comment causing sound bugs (from qu7uux)
	
	this bug was introduced in the plan9 port, and since i_sound.c compiles with
	no warning, it was never noticed. in effect, the statement between the
	unterminated comment and the next is ignored. channelids[] is used in addsfx()
	to avoid re-adding certain sounds if they are already playing. one of those is
	sfx_sawful, and because of this bug, it is added again each tic during which
	the player fires the chainsaw, rather than reset every tic.
	compare firing the chainsaw continuously with and without the patch (without
	hitting an enemy).

Hash:	8c3acde2def299eebbb9eaf59d075a84b5dab131
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Aug 16 19:08:36 +0100 2015

	devether: duplicate flags when copying blocks (thanks erik quanstro)

Hash:	988d326f321c24b7546164841f410aa93516a49d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Aug 16 18:29:16 +0100 2015

	vc: word align automatics
	
	theres code that assumes one can dereference a char[] buffer on the stack
	as a long (ghostscript gxblend.c), so make sure all automatics on the stack
	are word aligned. this is not strictrly neccesary, but avoids some
	trouble with unportable code.

Hash:	2fe2ffe8135f0dc76644d650a399bd877b3ee7f7
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Aug 16 17:20:22 +0100 2015

	gs: fix alignment bug in image_render_interpolate()

Hash:	cf74c80e7b38a6ae521da16d4bdf84783ef320e7
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Aug 16 12:41:14 +0100 2015

	6l: fix vlong byte order when running on big endian machine (thanks erik quanstro)

Hash:	0b48d5fdbfd91033765acbbc66e820a363a5d660
Author:	mischief <mischief@offblast.org>
Date:	Sun Aug 16 08:04:27 +0100 2015

	libcontrol: fix label memory leak

Hash:	f1efd09bbb88e0c2f103b466aaa731a833932adb
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Aug 16 02:19:05 +0100 2015

	mothra: fix crash

Hash:	344ddf5f55a3bbaec7fdca7aeb72ed684fa43ffe
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Aug 16 01:54:23 +0100 2015

	rio(4): document "delete" wctl message (thanks mischief)

Hash:	aa2b5bc0e721fb6c9d0c99e488c6ee93b72067a4
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Aug 16 01:38:44 +0100 2015

	libsec: fix mistake breaking tlsServer() (thanks sl)

Hash:	5e07e5840aced5826880a31ceac23f2d0c5046f9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Aug 16 00:47:10 +0100 2015

	cpu: cleanup ssl code, make sure -p works for any auth method

Hash:	e9e53fe7b6a29e52e73f59d5b6080561b925a3be
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Aug 15 20:36:18 +0100 2015

	import(4): clarify -E and -e options

Hash:	0c36c79e9b58b5131d4911b05ede987ce0bb8bde
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Aug 15 16:51:55 +0100 2015

	libsec: TLS1.1 support (needs new devtls)

Hash:	74d1f67b0547aa1b32648a2364f3cd6739d3e60a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Aug 15 16:50:44 +0100 2015

	devtls: TLS1.1 explicit iv support
	
	using nrand() to fill the explicit iv, which isnt great but better
	than no iv.

Hash:	76f21ca715d99dd533053c8465ecdd16915fadbc
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Aug 14 13:45:19 +0100 2015

	kernel: try freebroken() *before* killbig() (thanks aiju)

Hash:	592b8d5b3528ba34f5bd0fffebdffcac1c9450cd
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Aug 13 09:41:12 +0100 2015

	hjfs: fix deadlocks
	
	buffers which still have requests queued on them are not free!
	
	we cannot chanedev() a buffer while it has still requests queued on it
	and we canot just queue our request (having different address) on the
	buffer while there are other requests before it, otherwise we would
	create artificial block dependency that can cause deadlock.

Hash:	8c4bb53bdcae806bb13dbe26df51a848ff563d36
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Aug 11 16:56:06 +0100 2015

	hjfs: fix abort() in givebuf()
	
	it is possible for another getbuf() on buffer b to come in
	before undelayreq() calls givebuf() on a buffer again. then
	givebuf() would find b already busy and abort().
	
	instead, we now handle what getbuf() did in givebuf() and
	consider the Buf* argument to givebuf() as a hint only for
	the case when we have to actually flush/read a block from
	disk.

Hash:	f43df64325efb80fc48a85009df016477238b21b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Aug 10 22:13:41 +0100 2015

	libc: fix wunlock() libthread deadlock
	
	when wunlock() was used by threads running within the same proc,
	the wunlock() can deadlock as it keeps holding the RWLock.lock
	spinlock while indirectly calling _threadrendezvous(). when
	_threadrendezvous() switches to another thread in the same proc,
	then that thread can hang at rlock()/wlock()/runlock() again
	waiting for wunlock() to release the spinlock which will never
	happen as lock() does not schedule threads.
	
	wunlock() is changed to release the spinlock during rendezvous
	wakeup of readers. note that this is a bit dangerous as more
	readers might queue concurrently now which means that if
	we cannot keep up with the wakeups, we might keep on waking
	readers forever. that will be another patch for the future.

Hash:	bc895417f804bbb78410a365412bcf8ab59a44b4
Author:	mischief <mischief@offblast.org>
Date:	Sun Aug 9 11:44:03 +0100 2015

	libc: fix spim endianness

Hash:	23742053f5ee70cd394c33f28f3e6547e9e8e31d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Aug 10 09:11:45 +0100 2015

	mount, srv: add -N flag to skip authentication and attach anonymously as "none"

Hash:	b241dd11596ac16cb21ba1ffc24abd7a46153a09
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Sun Aug 9 05:36:10 +0100 2015

	fortunes: If you want to do the work, I will review the results.

Hash:	4b926f4e6955e0d376c38559606d670a637dac88
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Aug 10 02:52:40 +0100 2015

	lib9p: make reqqueueflush() use new threadint(), which will also cover channel operations
	
	using "interrupt" ctl message directly doesnt work when the
	process is doing libthread channel operations (threadrendezvous)
	as it will just repeat a interrupted rendezvous(). threadint()
	handles this for us.

Hash:	c23504631008ce0bfaa5bec48acb2b04f4b49fd9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Aug 10 02:48:37 +0100 2015

	libthread: use "interrupt" proc ctl message instead of posting a note for threadint()
	
	threadint() is called to interrupt channel operation or a system call.
	the kernel provides a new "interrupt" procctl message to interrupt a
	process commited to or being in a blocking syscall, which is similar,
	but not the same. the main difference is that "interrupt" condition
	is not cleared before the process actually attempts to block. also
	can be cleared with "nointerrupt" ctl message. see proc(3)

Hash:	a98f911a178d3cc044d612e5ad96ee487bd887c8
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Aug 10 02:20:08 +0100 2015

	libthread: fix mistake, make "all" the default target again

Hash:	7a97fe132a4112104e53bc133793b433d3e2423c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Aug 9 21:43:53 +0100 2015

	acid -k: fix intrcount() for amd64

Hash:	cd357a2b8c574b0584d6b1736d9bbcaa9704f5ae
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Aug 9 21:24:50 +0100 2015

	acid -k: fix procenv() to new data structure

Hash:	8c9e4efa17455ba801442a78ff4a4f5711727e83
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Aug 9 21:05:14 +0100 2015

	zunq: remove unused variables from devqspi

Hash:	7ba3be82a713597a632ebfc8ae25f0bbed21cd31
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Aug 9 20:48:58 +0100 2015

	kernel: move "setargs" field in Proc structure after "nargs" and "args"

Hash:	b4f56f1f4e8eff3965457ef9492528ee820e59bd
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Aug 9 20:35:50 +0100 2015

	kernel: mount flag is int not ulong, reduce size of Mount struct by putting mflag field in what would be wasted as padding

Hash:	9f4eac529243e21ae310ad3a07139d9981f1ce9c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Aug 9 20:16:10 +0100 2015

	kernel: pgrpcpy(), simplify Mount structure
	
	instead of ordering the source mount list, order the new destination
	list which has the advantage that we do not need to wlock the source
	namespace, so copying can be done in parallel and we do not need the
	copy forward pointer in the Mount structure.
	
	the Mhead back pointer in the Mount strcture was unused, removed.

Hash:	3af236b5e36951ba637d59e4d0362cdb0e428bd2
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Aug 9 17:19:47 +0100 2015

	kernel: fix Mheadache
	
	there was a race between cunmount() and walk() on Mhead.from as Mhead.from was
	unconditionally freed when we cunmount(), but findmount might have already
	returned the Mhead in walk(). we have to ensure that Mhead.from is not freed
	before the Mhead itself (now done in putmhead() once the reference count of the
	Mhead drops to zero).
	
	the Mhead struct contained two unused locks, removing.
	
	no need to hold Pgrp.ns lock in closegrp() as nobody can get to it (refcount
	droped to zero).
	
	avoid cclose() and freemount() while holding Mhead.lock or Pgrp.ns locks as
	it might block on a hung up fileserver.
	
	remove the debug prints...
	
	cleanup: use nil for pointers, remove redundant nil checks before putmhead().

Hash:	eaf42a2c7875c312c9880a1f9bf5fa5ab1fff8b1
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Aug 8 08:20:48 +0100 2015

	rootstub: add spim

Hash:	c8a7747659c6b8aa4989cfcccf518cbe18d9182d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Aug 8 07:56:08 +0100 2015

	cdproto: add spim

Hash:	ff6e15ec3a5b1810b2f7876cb90faf1ae81fff52
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Aug 8 07:38:25 +0100 2015

	add /spim

Hash:	1f8e6c916af4d10928b751c3bd8c3a6355267c39
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Aug 8 07:34:16 +0100 2015

	python: fix build for objtype=$spim

Hash:	79213052a219d8c7ab85629807d07f7365ef9bec
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Aug 8 07:31:49 +0100 2015

	gs: fix build for objtype=spim

Hash:	acc4d8b8aaad5c13aaa34951457dfcdeda66e923
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Aug 8 07:25:36 +0100 2015

	libmp: fix build for objtype=spim

Hash:	4b6506cb576afcf6e67adb63cbdc2843ab11a2ef
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Aug 8 07:17:54 +0100 2015

	ape: fix build for objtype=spim

Hash:	ebe88f34cb1823dd2d8f0f7428ce69c7a983397a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Aug 8 07:04:41 +0100 2015

	fix library mkfiles for objtype=spim

Hash:	23215e14d0a15c8274c62bffa326f768bebe54e9
Author:	mischief <mischief@offblast.org>
Date:	Wed Aug 5 14:37:02 +0100 2015

	libmach: remove redundant check for big endian

Hash:	8e78804fc05e70caf71cfcfe393de22aea1ac22c
Author:	mischief <mischief@offblast.org>
Date:	Wed Aug 5 14:30:57 +0100 2015

	libmach: remove useless error check from previous commit

Hash:	7844dafe621c7151a301220948edf494af2b8af9
Author:	mischief <mischief@offblast.org>
Date:	Wed Aug 5 14:26:23 +0100 2015

	libmach: set correct endianness with little endian ELF32 mips binaries

Hash:	8ce456bd195c0ddfa18ce87f68a4447689c18489
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Aug 6 12:35:03 +0100 2015

	kernel: remove unused MAXCRYPT constant from portdat.h

Hash:	a87b5501832a268c0587d2157837a494b0b0dc2e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Aug 6 12:33:39 +0100 2015

	vgaigfx: remove #define MB, theres a MB enum in portdat.h

Hash:	87d7a3c8750ca4f61c2cae5269b3eda04cce7e6c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Aug 6 12:20:41 +0100 2015

	kernel: have to validate argv[] again when copying to the new stack
	
	we have to validaddr() and vmemchr() all argv[] elements a second
	time when we copy to the new stack to deal with the fact that another
	process can come in and modify the memory of the process doing the
	exec. so the argv[] strings could have changed and increased in
	length. we just make sure the data being copied will fit into the
	new stack and error when we would overflow.
	
	also make sure to free the ESEG in case the copy pass errors.

Hash:	281729551fd7351b410f788d267c9041ae1ef15f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Aug 6 10:51:23 +0100 2015

	kernel: limit argv[] strings to the USTKSIZE to avoid overflow
	
	argv[] strings get copied to the new processes stack segment, which
	has a maximum size of USTKSIZE, so limit the size of the strings to
	that and check early for overflow.

Hash:	b09cd6786047e4572f98a7703992fe96e4312da7
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Aug 6 10:48:51 +0100 2015

	kernel: validnamedup() the name argument for segattach()
	
	this moves the name validation out of segattach() to syssegattach()
	to make sure the segment name cannot be changed by the user while
	segattach looks at it.

Hash:	d275add1a89e77c69ef10bd6ed239b48c693bc42
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Aug 6 10:43:22 +0100 2015

	kernel: fix indention in validname0()

Hash:	9585e9b7f842fcd0922fe04cae5ed87e7c455728
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Aug 6 10:42:05 +0100 2015

	kernel: limit syscallfmt user strings to 64K (as in validname)

Hash:	86eb8ea6bbbf031d71cf0fa58f468cd3ddc4e7f3
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Aug 6 09:15:07 +0100 2015

	kernel: change vmemchr() length argument to ulong and simplify

Hash:	8d196aeec728fea0450c0b42db114127e85d64e0
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Aug 6 09:01:45 +0100 2015

	kernel: use Etoolong[] constant instead of string literal in validname0()

Hash:	9110ae6eaed8e36313d0b61860aeed4f1d12d3b7
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Aug 6 08:09:57 +0100 2015

	kernel: make shargs() function static in sysproc.c

Hash:	2acb02f29ba24f3fed9bb3b8b0e0d870181eef50
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Aug 6 07:47:38 +0100 2015

	kernel: reject empty argv (argv[0] == nil) in sysexec()
	
	when executing a script, we did advance argp0 unconditionally
	to replace argv[0] with the script name. this fails when
	argv[] is empty, then we'd advance argp0 past the nil terminator.
	
	the alternative would be to *not* advance if *argp0 == nil, but that
	would require another validaddr() check for a case that is unlikely
	to have been anticipated in most programs being invoked as
	libc's ARGBEGIN macro assumes argv[0] being non-nil as it also
	unconditionally advances the argv pointer.
	
	to keep us sane, we now reject an empty argv[]. on entry, we
	verify that argv[] is valid for at least two elements:
	- the program name argv[0], has to be non-nil
	- the first potential nil terminator in argv[1]
	
	when argv[0] == nil, we throw Ebadarg "bad arg in system call"

Hash:	b89fcf2fe32195d0900b1a04ca98a4cb3cc62bf1
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Aug 5 13:09:02 +0100 2015

	init: do not run $home/lib/profile when cd $home failed
	
	avoiding follow up error messages, which is annoying and
	quite common when running a terminal as "none" for testing.

Hash:	00eb2fa4487b39a5d5bcf1377a72bcb3391cb0bf
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Aug 5 12:13:40 +0100 2015

	kfs: set permission of / to 0775 on ream
	
	this allows members of the -1 group to create new directories in /
	without having to fiddle with the fileserver console. this also
	makes it consistent to hjfs and cwfs.

Hash:	ad91dc7ffbfb14ba0ff07f59c20ead93bd106c35
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Aug 5 12:06:11 +0100 2015

	cwfs: set permission of / to 0775 on ream
	
	this allows members of the -1 group to create new directories in /
	without having to fiddle with the fileserver console. this also
	makes it consistent to hjfs.

Hash:	7304deaec1ed27567dd6c55e245d9d5cc99686bb
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Aug 5 09:44:03 +0100 2015

	pc, pc64: remove unused psaux driver, cleanup devkbd
	
	the psaux driver is not used in any kernel configuration and theres
	no userspace mouse daemon. i8042auxcmds() is wrong as access
	to the user buffer can fault and we are holding an ilocks.
	
	little cleanups in devkbd.

Hash:	f7514acc95ee1b7515936a9a7bfd48f72d21025b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Aug 5 08:22:07 +0100 2015

	devkbd: disable mosue/keyboard on shutdown, disable ps2 mouse on init, remove kbdenable()/kbdinit()
	
	on vmware, loading a new kernel sometimes reboots when
	wiggling the mouse. disabling keyboard and mouse on
	shutdown fixes the issue.
	make sure ps2 mouse is disabled on init, will get re-enabled
	in i8042auxenable().
	keyboard isnt special anymore, we can just use the devreset
	entry point in the device to do the keyboard initialization,
	so kbdinit()/kbdenable() are not needed anymore.

Hash:	145624eec22577ec6a61cb3c469da48061d6f447
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Aug 4 12:52:29 +0100 2015

	kernel: remove unused qstate() function

Hash:	dcb5f4212b85ce9ecb710e0f8ed926ba7a1bcb35
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Aug 4 12:43:35 +0100 2015

	devkbd: poll pc keyboard before blocking on kbd.q
	
	the keyboard stops sending interrupts when its fifo gets full,
	which can happen on boot when keys get mashed while interrupts
	are still disabled. to work arround this, call the keyboard
	interrupt handler when kbd.q is starved before blocking.

Hash:	1f0057c5fdde41f61bb4b2fa014faa512b27aac0
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Aug 4 01:03:38 +0100 2015

	python: use altzone

Hash:	63759d2efb4be65b28d76db0d05b132c505886aa
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Aug 4 01:01:41 +0100 2015

	ape: implement altzone for tzset()

Hash:	333812ca3807f17b0e389531003fa727dfff44d4
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Aug 4 01:00:37 +0100 2015

	ape: fix mktime() again

Hash:	402741bc017cfa9602e7d8ea8645696ace54f4cd
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Aug 3 17:30:02 +0100 2015

	resample: simplify getint()

Hash:	d457a43461852636db313c4854590b2c62a21e23
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Aug 3 17:10:53 +0100 2015

	libc: make atoi() not parse c-style octal and hex numbers
	
	interpreting octal breaks parsing of decimal numbers with
	leading zeros. the manpage listed this in the BUGS section,
	so we'r going to fix it as this just causes confusion as
	most callers of atoi() do not expect it.

Hash:	25139465363b2230b69789013e3e0b5f82d76564
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Aug 3 16:29:30 +0100 2015

	crop: use strtol() instead of atoi()

Hash:	953387d7ba137ebd25a120e2ce2fd1a61f2d455d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Aug 3 16:08:33 +0100 2015

	bitsy: replace atoi() calls with strtol() when hex can be expcted

Hash:	2ef29e10f4157b90f0f4b5ce7f3bca551231ce02
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Aug 3 16:07:40 +0100 2015

	pc, pc64: replace atoi() calls with strtol() when hex can be expcte

Hash:	1b7e120c090af2f8f0e17a664ba0e5e5d7f261a0
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Aug 3 15:24:14 +0100 2015

	kernel: dont rely on atoi() parsing hex for netif/devbridge

Hash:	887ae1a17b54babf6a0946872bf6faaac1427be1
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Aug 3 14:52:03 +0100 2015

	webcookies: fix typo

Hash:	9cf59a2c63ca07c7aaf661e2996d4a591a4c24f9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Aug 3 14:48:01 +0100 2015

	9pcon: use strtol() to parse integers

Hash:	09151748500b86d3dc3322ac35100cab0b655c2d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Aug 3 14:32:16 +0100 2015

	libcontrol: use strtol() to parse integer arguments

Hash:	9289c4b796b03fc1f164964466542090a2779be4
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Aug 3 14:26:33 +0100 2015

	libhttpd: use strtol to parse decimal character references in httpunesc()

Hash:	0d93e2fe70ebbed69d65ef711f4060e949af1285
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Aug 3 13:58:41 +0100 2015

	snoopy: dont rely on atoi() being able to parse hex

Hash:	4b787e3205592f1fb4ff933dd6288f7c0d77f616
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Aug 3 13:52:07 +0100 2015

	bitsy/keyboard: do not rely on atoi() being able to parse hex

Hash:	d7f4ef7bbced0b912164f110fc7337d3b77fae9b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Aug 3 13:45:23 +0100 2015

	libauthsrv: readnvram() use vlong for nvroff, parse $nvlen/$nvoff with strtol() instead of atoi()

Hash:	8aee1c506021ed4352e475b2af4775ec8e8dc805
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Aug 3 13:28:16 +0100 2015

	webcookies: use strtol() to parse HH:MM:SS
	
	atoi() currently interprets leading zeros as octal (BUG!),
	so use strtol with explicit base 10 avoiding the issue.

Hash:	fc77a2d3d384c1ee854deebd4f1a97e751d7eaa2
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Aug 3 13:24:29 +0100 2015

	aux/vga: dont rely on atoi() being able to parse hex

Hash:	d5d6724805fa7df9cb74d9b05a4eb3bf10d1997c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Aug 3 21:08:10 +0100 2015

	devenv: simplify envremove(), cleanup

Hash:	37e4ce0ea75ae0e9a71d773d7fc7f16fd3d64fe7
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Aug 2 20:39:33 +0100 2015

	devenv: avoid indirection, keep Evalue's allocated in an array
	
	avoid the indirection for envlookup() by allocating Evalue structs
	together in an array. remove unused link field in Evalue.

Hash:	29a53a52fdc3f8fc9af3d19d0253ba33b1efccba
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Aug 2 13:52:54 +0100 2015

	1c,2c,7c,kc,vc: honor suppress condition for outstring() in swt.c

Hash:	8234f9d9062cd21daafec5c360d7221e45e97469
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Aug 2 13:48:53 +0100 2015

	ipv6on: fix search for ip attribute (thanks kenji arisawa)

Hash:	1f3c43c01720ed66e7c981d3287eca7dae362ba8
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Aug 2 06:32:49 +0100 2015

	pc, pc64: set *bootscreen= when framebuffer changes
	
	add bootscreenconf(VGAscr *) function, that is called whenever
	the framebuffer configuration is changed by devvga. that way, we
	can pass the current setting of the framebuffer to the new
	kernel when using /dev/reboot.

Hash:	27445c5768fc9efd11efae2ac0e793fd7f4779fc
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Aug 2 04:36:35 +0100 2015

	kernel: cleanup qlock.c to use nil instead of 0 for pointers

Hash:	dd96b1d965eb8dabb2388dce692363ce8322248e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Aug 1 15:38:55 +0100 2015

	mothra: show <source> tag within <video>/<audio> tags

Hash:	660f54b19894abff8f8afc70432ba7285cff88da
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Aug 1 15:18:02 +0100 2015

	mothra: fix nil crash on missing name/src attributes for source/video/audio/embed/frame/iframe

Hash:	71c57070c61d58f9ba41a511ed3790201bedead7
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Aug 1 13:55:33 +0100 2015

	mothra: enable compiler warnings and type checking, cleanup

Hash:	fe5ede9792e3b4bbed05c10c534c8050e4208233
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Aug 1 12:53:16 +0100 2015

	mothra: fix double button hit
	
	dolink() was hitting the button a second time!

Hash:	b408b386e1b996a8b5e6041e68c1801547b4487e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Aug 1 12:06:24 +0100 2015

	mothra: cleanup url handling

Hash:	d6fb42f496c6053598907ce2cbb0b6536a25d201
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Aug 1 11:51:52 +0100 2015

	mothra: fix selurl()

Hash:	0140f20af42ed6f9a2f383d11a298b0dcad38149
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Aug 1 10:56:01 +0100 2015

	jpg/ico: fix mkfile

Hash:	815c2ba22ba5d15cdedd39837d4edb4107eb0b32
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Aug 1 10:20:28 +0100 2015

	mothra: support for inline images and <image> tag

Hash:	f62a2efb7add3ec40ca91adc514d5bdb6b0cd721
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Aug 1 02:18:44 +0100 2015

	webcookies: create lockfile with 0600 permission, always use create() with perm 0600 for rewriting jar

Hash:	f42a7ade7094525a9f80fb714102fd5fc69f180a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Aug 1 02:16:35 +0100 2015

	bio(2): Bterm() closes filedescriptor for Bfdopen() allocated buffer

Hash:	69daa9fd96668123b751de83df864531a092b0f2
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jul 31 11:58:58 +0100 2015

	jpg/ico: support for embedded png icons

Hash:	18169e03de5f44f1dd8fa1e355dd166cab983e50
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jul 31 00:10:53 +0100 2015

	webcookies: fix implicit path cookie handling
	
	parsecookie() used to inplace modify the request path
	for implicit path (to get the directory from path) and
	also did it wrong. now have a static copy and do not
	remove the last slash.

Hash:	9d59fb28cf117fbdec68420336fc712b7feb09dd
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jul 31 22:03:45 +0100 2015

	aux/vga: sandybridge support for igfx (unfinished)
	
	as usual, the dude with the hardware vanished so i cannot
	develop this further. setting mode worked the last time
	but only when using vesa before, so some bits are still
	missing. commiting this as it is so i dont have to start
	from scratch once we have hardware again.

Hash:	34e2e047ccd8fc6d7f4bbe755fc2945ea89186e6
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jul 31 21:51:52 +0100 2015

	iostats: add -C to usage

Hash:	ee86d3cb52aa63b8db74ec0577f355f091b2e227
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jul 30 20:00:13 +0100 2015

	devmnt: fix mntcache()
	
	make sure mntcache() wont cache data beyond what was read from
	the block list.

Hash:	b86a12149ade500326a238753c31b6e0178d3b5b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jul 30 19:30:47 +0100 2015

	games/doom: fix config file never being loaded or saved (thanks qu7uux)
	
	basedefault[], the default path to the config file, is never set and remains
	blank, unless -config %s is used (cd d_main.c). when games/doom attempts to
	open the file, it silently fails and no config file is ever read or written.
	this patch sets basedefault to a file in whatever directory a valid wad is
	found in I_IdentifyWAD().

Hash:	25396d3ffdebe800b373d96515a0a109b8c47a44
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jul 30 19:02:23 +0100 2015

	games/doom: display correct message on medkit pickup when health low (thanks qu7uux)
	
	due to a typo in p_inter.c:P_TouchSpecialThing(), a message that is supposed
	to show up when the player picks up a medikit while low on health (< 25), is
	never displayed. the check for low health is done after the health is already
	increased, so the condition is never true.
	a cosmetic bug in all old doom executables that also seems interesting to fix.
	to test: compare message displayed when picking up a medikit with and without
	the patch

Hash:	5161442171315310dbd415c0214a851eb87200bb
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jul 30 19:00:43 +0100 2015

	games/doom: fix ouchface not being shown when it should be (thanks qu7uux)
	
	due to a typo in st_stuff.c:ST_updateFaceWidget(), doomguy mistakenly never
	looks shocked when taking more than 20 damage, but rather when he gains more
	than 20 health while being hit.
	this is a cosmetic bug in all old versions of doom's executables, but it seems
	appropriate to fix.
	simple test: fire a rocket at a nearby wall, taking enough damage.

Hash:	b579acef97171a057fb8f4c6fd2493690b5cf3c7
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jul 30 18:55:13 +0100 2015

	games/doom: add bug compatibility switches (thanks qu7uux)
	
	these emulate bugs present in select versions of the released doom executables.
	they are required to correctly play demos recorded with these but affect the
	gameplay, so should be otherwise disabled.
	
	-nobounce: lost souls don't bounce off floors and ceilings like intended due
	to a misplaced check; this is fixed from ultimate doom on, but doom and doom2
	are still affected.
	
	-noztele: in final doom 1.9, things' altitude was erroneously not set to the
	floor's height after teleporting. this was fixed in later versions of the
	executables.
	
	examples of desyncing demos:
	(plutonia.wad, without -noztele) http://doomedsda.us/lmps/946/2/30pl2646.zip
	(doom2.wad, without -nobounce) http://doomedsda.us/lmps/945/3/30nm2939.zip

Hash:	f899b2fe3c091ccab33673f9fea9d1d99c0c2940
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jul 30 18:51:11 +0100 2015

	games/doom: fix switch textures swapping in ultimate doom (thansk qu7uux)
	
	gamemode is set according to the name of the main wad (cf. d_main.c), i.e.:
	- doom1.wad: (shareware doom1, ep1 only) gamemode == shareware
	- doom.wad: (registered doom1, ep1-3) gamemode == registered
	- doomu.wad: (ultimate doom, ep1-4) gamemode == retail
	- doom2.wad, plutonia.wad, tnt.wad: gamemode == commercial
	most doom.wad's distributed online are, in fact, ultimate doom.
	if your ultimate doom wad is correctly named doomu.wad, some switches in
	episodes 2-4 won't swap their texture when toggled, because
	p_switch.c:P_InitSwitchList() is only checking for registered doom1.
	
	easy way to test: demo2 in either registered or ultimate doom: the player flips
	a switch right at the beginning of the demo; if the main wad is called
	doomu.wad, the switch won't change its texture.
	% games/doom -playdemo demo2
	if you rename the wad to doom.wad or alter d_main.c:IdentifyVersion, the switch
	will swap its texture like it should.

Hash:	fdb1698791dc51dbf690fec4a1d1c7b6a4b52345
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Jul 29 13:51:00 +0100 2015

	games/doom: implement filelength() (thanks quux)
	
	this function is used when playing demos from external lumps. the game just
	exits without this patch.
	to test this, download a demo lump from somewhere, and play it with -playdemo %s
	where %s is the file's name, without the .lmp extension:
	
	(note that this one is a doom 2 demo, so it requires doom2.wad)
	% hget http://doomedsda.us/lmps/945/3/30nm2939.zip | unzip -sv
	extracting 30nm2939.LMP
	extracting 30nm2939.txt
	% mv 30nm2939.LMP 30nm2939.lmp	# checking for a lump filename is case sensitive
	% games/doom -playdemo 30nm2939
	
	the game exits when the demo ends. also, note that this demo will desync on
	map06 (the crusher), because of an unrelated bug (that's another patch :>)
	
	note: filelength() returns vlong, but file lengths for doom lumps are ints.
	however, this might be used elsewhere (networking), so i'd leave it this way.

Hash:	c4ae1a74357c419b8106a2c0e51d941e2b415a61
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Jul 29 13:17:55 +0100 2015

	etheriwl: add pciid for Centrino Wireless-N 1000 (thanks qu7uux)
	
	card seems to work fine with just this.
	http://sysinfo.9front.org/src/125/body

Hash:	a8735c02b6f4961f53ebbacf8a3d313db8b548fc
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Jul 29 07:50:53 +0100 2015

	webcookies: fix isdomainmatch() (fixes livejournal.com login)
	
	when cookie is domain=example.com, then we implicitely add
	dot to the domain name, which made us reject the cookie as the
	request domain "example.com" != ".example.com". fix by making
	isdomainmatch() skip the implicit dot in pattern before string
	comparsion.

Hash:	34f3df213c0141d904dbe69ff6cf16bc3cfae28c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Jul 29 04:19:24 +0100 2015

	ratrace: avoid blank line prints, make writer the parent
	
	when there where multiple syscalls returning out of order,
	it would print blank lines between the exits. avoid this
	by remembering if the last char written was a newline and
	conditionally insert newline on out of order return.
	
	sometimes, ratrace would return before all messages have
	been printed. make the writer process the parent so ratrace
	wont exit until all readers are finished avoiding the
	problem.

Hash:	059c85dd75f4790625ea3ba19f1c76cf2f3e6b4a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Jul 29 02:53:11 +0100 2015

	ratrace: various improvements
	
	error handling, serialize exits, close reader filedescriptors,
	fix channel types, embedd the string buffer in the Msg struct.

Hash:	d48dcf08aa78e08ea17414cc59ea5210c4aad890
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Jul 28 11:06:29 +0100 2015

	cc: provide fake realloc() for getenv()

Hash:	20da5094d9398dd64ab89c7dfc99f53ce6500842
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Jul 28 09:01:05 +0100 2015

	kernel: remove obsolete comment from namec()

Hash:	4bd9ed80c379d0f531a8fc8e8307dea36df0c8c0
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Jul 28 08:52:21 +0100 2015

	kernel: export mntattach() from devmnt.c avoiding bogus struct passing and special case in namec()
	
	we already export mntauth() and mntversion(), so why not stop
	being sneaky and just export mntattach() so bindmount() and
	devshr can just call it directly with proper arguments being
	checked.
	
	we can also avoid handling #M attach specially in namec()
	by having the devmnt's attach function do error(Enoattach).

Hash:	311a99e23b2f1adcf01a91db3e551dc1dda9f61a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Jul 28 02:30:21 +0100 2015

	ether79c970: set mbps for proper queue sizes, assume gigabit ethernet for vmware

Hash:	b506c6489bfcb2dcaa8a99b8f1f574688b3cffc5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Jul 28 00:24:02 +0100 2015

	lib9p: return "write prohibited" error as documented in 9p(2) when srv->write is nil (thanks silasm)

Hash:	652a6417046de7d102a1520fee11a30d91ad7f2f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jul 27 05:42:41 +0100 2015

	kernel: clunk the cache when removing cache flag on a channel, only call cread() chen CCACHE flag is set
	
	to avoid double caching, attachimage() and setswapchan() clear
	the CCACHE flag on the channel but this keeps the read ahread
	state of the cache arround (until the chan gets closed), so also
	call cclunk() to detach the mcp and free the read ahead state.
	
	avoid the call to cread() when CCACHE flag is clear.

Hash:	ff494b954f950a3b060b9770212321e7576dca49
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jul 27 03:33:46 +0100 2015

	devmnt: use c->iounit instead of msize-IOHDRSZ to chunk reads and writes, reduce memory overhead for Mntrpc, mntalloc lock
	
	use the actual iounit returned from Ropen/Rcreate to chunk reads and writes
	instead of c->mux->msize-IOHDRSZ.
	
	dont preallocate the rpc buffers to msize, most 9p requests are rather small
	(except Twrite of course). so we allocate the buffer on demand in mountio()
	with some rounding to avoid frequent reallocations.
	
	avoid malloc()/free() while holding mntalloc lock.

Hash:	23f78400561e0172a55e1fad8172a848d9cafab6
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jul 26 12:55:51 +0100 2015

	devmnt: dont reset readahead window when requested offset still has pending rpc

Hash:	6617c63a374f7211b41252d3957e8a89061b8a49
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jul 26 04:43:26 +0100 2015

	kernel: pipelined read ahead for the mount cache
	
	this changes devmnt adding mntrahread() function and some helpers
	for it to do pipelined sequential read ahead for the mount cache.
	
	basically, cread() calls mntrahread() with Mntrah structure and it
	figures out if we where reading sequentially and if thats the case
	issues reads of c->iounit size in advance.
	
	the read ahead state (Mntrah) is kept in the mount cache so we can
	handle (read ahead) cache invalidation in the presence of writes.

Hash:	918cb7604039601fecd70379b8bc2fee5b26a514
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jul 24 10:45:48 +0100 2015

	page: fix deadlock, nil vs 0 for pointer comparsion, cleanup

Hash:	9e196fd0e2771dcccf35cd5c4e17a6971b956706
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jul 24 05:18:59 +0100 2015

	libsec: increase handshake message buffer size (MaxChunk) to 32K (thanks sl)
	
	_sl → webfs doesn't like packetfire.org: '/mnt/web/body' 0 No status tls: local handshake message too long 30781 16384

Hash:	5635ac3f68d853eff736bc715c89c81c362d39e1
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Thu Jul 23 02:35:50 +0100 2015

	fortunes: go away.

Hash:	ab4b7c2573b35062f211c2548ff20031f998cc8e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jul 23 02:24:39 +0100 2015

	ip/httpfile: fix flushes, fix concurrent reads, set error string
	
	Tflush handling was wrong, we cannot respond to the old
	request if we have not actually removed the req from the
	in progress block queue.
	
	when reads are issued concurrently, we have to set b->len
	before the block is inserted into the inprogress list.
	otherwise findblock() is unable to find it and no requests
	can be queued on the block. this caused the same offset
	to be downloaded multiple times.
	
	set the errstr in getrange() so in case of an error, we dont
	get some random previous error string.

Hash:	497daed116714a8c3f91162fe02ca81ad33bb6fa
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jul 23 21:56:49 +0100 2015

	kernel: make sure fd is in range in fdclose()
	
	as the Fgrp can be shared with other processes, we have to
	recheck the fd index after locking the Fgrp in fdclose()
	to make sure not to read beyond the bounds of the fd array.

Hash:	323184d775b92c50bb37fa0b3ae73a16138f8b7e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jul 23 21:34:58 +0100 2015

	kernel: simplify syspipe()

Hash:	ff03b72ed5f365a2ca052218e055fac678cf0e23
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jul 23 21:05:46 +0100 2015

	devaoe: more nil vs. 0

Hash:	0b3fd7c05208b6de625bb0b4d1719b9fd22156ae
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Jul 22 20:56:11 +0100 2015

	devaoe: fix off by one in aoeerror(), consistent use of nil for pointers, error handling

Hash:	769b3f1c2ff280cc224b690ba3f089944ebe6e71
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Jul 22 20:54:07 +0100 2015

	kernel: consistent use of nil for pointer in sysfile.c

Hash:	1fcc84d072c40cbd7ed58d164ed17e0b7989dc11
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Jul 22 18:17:10 +0100 2015

	kernel: cleanup chan.c to consistenly use nil instead of 0 for pointers

Hash:	8db5af02d80f906e5bb81db43b010ace1e03f2d1
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Jul 22 18:15:51 +0100 2015

	kernel: make sure the swap device has a reasonable capacity in setswapchan()

Hash:	47bb311d39f0cdd38067a31b51ec619af7584e56
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jul 19 19:25:42 +0100 2015

	devmnt: do not use user buffer to update the mount cache
	
	using the user buffer has a race where the user can modify
	the buffer from another process before it is copied into the cache.
	this allows poisoning the cache for every file where the user
	has read access.
	
	instead, we update the cache from kernel memory.

Hash:	157b7751e7b885ff39d92ea67564c85346ddc986
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jul 19 02:36:53 +0100 2015

	devstream: fix mistake

Hash:	64136bfd1670e1b3bae08684c6c4bb9dfc710043
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jul 19 02:34:08 +0100 2015

	stream(3): fix reference

Hash:	9150d2773fd3412940c7934dbd50dff01334434f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jul 19 02:32:38 +0100 2015

	fcp: use iounit() to determine buffer size, reduce number of worker procs to 8

Hash:	1d936770706311a00f52aef6dd5cfae76c6377b9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jul 19 02:32:09 +0100 2015

	cp: experimental stream support

Hash:	71cda09d1ec39aa29dc4bcdd332fa64ca7169d59
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jul 19 02:31:17 +0100 2015

	devstream: fast sequential file access with 9p pipelining experiment

Hash:	0bdfa3699dede75e657a24bd22e0e4aa7eafd5e4
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jul 16 07:51:06 +0100 2015

	pc: check Sse (bit 25) in cpuiddx before enabling fxsr in cr4 (fixes crash on the pentium II)

Hash:	e6d84a3fa6c867594d9b572dddd4f4410708dbc9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jul 16 07:49:24 +0100 2015

	aux/cpuid: make sure extended feature bits are available (fixes crash on the pentium II)

Hash:	bae3ac29fc39bc36329abf1823004c0d79b2f6f0
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Jul 15 16:09:05 +0100 2015

	devproc: make sure statbufread offset wont turn negative

Hash:	ea7bca1829c6ba924599a2c8bc8e0c18404db6a1
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Jul 14 19:44:34 +0100 2015

	fcp: fix wrong write pointer offset when read returns less than DEFB bytes

Hash:	2aa2f9f359a84b25c0a2ed488c4d0319c9ea8c55
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Jul 14 05:51:02 +0100 2015

	kernel: remove debugalloc.c

Hash:	90bd02d5af84eaaffe5adb1a175c8fbb2295a7e4
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Jul 14 21:33:27 +0100 2015

	mk9660: write data in alphabetical order
	
	*after* writing, the directory tree gets alphabetically sorted for
	path table. this causes data to not be in the same order as it was
	written causing seeks when taring up the filesystem.
	
	so instead write the files in alphabetical order as well to better
	match the directory sorting.

Hash:	2e85e328864c215c2efa228f129ce3fa6aa1db1f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Jul 14 21:23:16 +0100 2015

	9660srv: keep data and metadata separate in the cache with a tag
	
	data on the disk is layed out sequentially and directory information
	is at the end of the disk. we want to keep data and metadata separated
	so that reading large sequential files will not evict the directory
	information from the cache causing long seeks.
	
	for that, we tag the clusters (an 8th for metadata, and the rest
	for data) and getbuf() will only evict clusters of the same tag.

Hash:	f5688dd6c9bfb6cee00f2c5e5f190d7a2ffaa6c6
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jul 13 17:37:56 +0100 2015

	9660srv: go back to 128k clusters
	
	doing tests taring up 9front.iso shows the following:
	
	lowering the cluster size back to 128k avoids over half the
	reads. 837888 sectors read for 512k vs. 347712 sectors with
	128k cluster size.

Hash:	2559f92a83d2a04000fb1a0d392c6e2597758b11
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jul 13 05:28:46 +0100 2015

	inst: fix download task using ip/httpfile to mount a iso over http and prompt for installurl

Hash:	41372f346ae5636e59284ff698d8202e8301641f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jul 13 04:51:04 +0100 2015

	httpfile: fix evictblock() so we wont consume all the memory

Hash:	39c9f1abbb11b310e77f43fe4f5e580f1791be67
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jul 13 01:56:51 +0100 2015

	libFLAC: fix compiler warnings by properly declaring void function arguments

Hash:	bab59e5749eda4b39608913df59f7fa0934ed928
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jul 13 01:38:05 +0100 2015

	python: HAVE_STDINT_H 1

Hash:	737c3edeba2c7615e08d9263e9eb010bbfd1e42b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jul 13 01:36:48 +0100 2015

	ape: add stdint.h, fix SSIZE_MAX and add SIZE_MAX to limits.h

Hash:	cd9da74cbc2ff04de2179565bf31d8536eb9bd6b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jul 12 23:54:56 +0100 2015

	cpp: search source file directory first for quoted #include (thanks Ori_B)
	
	foo.c includes bar/bar.h, which includes "baz.h"; it wants bar/baz.h
	meanwhile, it also includes meh/quux.h, which includes "baz.h"; it wants meh/baz.h

Hash:	a5efa0e252692b888a5de679cfc901a0421ffe73
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jul 12 18:21:53 +0100 2015

	ether82563: fix multicast filter (based on openbsd em(4) driver)

Hash:	cbd1ca6877ec10d7edf75edc2637da62e8f5bbac
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jul 11 01:42:14 +0100 2015

	page: make lookahead fetch work in backwards direction

Hash:	1d5a2aa48778960fc9b5ab0b39f83a5322c3f754
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jul 11 01:35:49 +0100 2015

	tftpd: count only options we understand so we wont send empty oack message

Hash:	0f5f226ba1ccbc3b134c77a33503ad2182c05e5a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jul 11 01:34:28 +0100 2015

	etherrt2860: add multicast stub

Hash:	2e5e5cde710255d9f6ba8255a7e11f9d38b3e88a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jul 11 01:33:57 +0100 2015

	etheriwl: add multicast stub

Hash:	b4f9ca6c976ea61512d872924824c924af903aa4
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jul 11 01:33:16 +0100 2015

	etherwpi: dont enable transmit power for invalid channels, add multicast stub

Hash:	266057f0da23b5db7d8072fa4d9fad6fff5a7dc1
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jul 10 18:13:15 +0100 2015

	wifi: reflect current transmit rate in mbps

Hash:	7cf2321ffbd4a524c559ec688b5f0f2c9949bce1
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jul 10 17:59:57 +0100 2015

	etherwpi: afra support

Hash:	34a0f4660d47cd34340fee4444af5b16ffef5d02
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jul 10 17:50:37 +0100 2015

	etheriwl: dont clear descriptors after completion

Hash:	b5655b7247a657bd4b590218a68ed99bbab318f6
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jul 10 08:04:05 +0100 2015

	wifi: adjust transmit rate on error (for etheriwl), small mkfile changes
	
	Wnode gets two new counters: txcount and txerror
	and actrate pointer that will be between minrate
	and maxrate.
	
	driver should use actrate instead of maxrate for
	transmission when it can provide error feedback.
	
	when a driver detects a transmission failed, it calls
	wifitxfail() with the original packet. wifitxfail() then
	reduces wn->actrate.
	
	every 256th packet, we optimistically increase wn->actrate
	before transmitting.

Hash:	4ec93f94c92eec46433a962eb0f86b6f27909e6c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jul 10 22:56:39 +0100 2015

	kernel: use HDR_MAGIC constant to handle Exec header extension, make rebootcmd() handle AOUT_MAGIC macro

Hash:	3ca9ac70c4f41ff57617d4cfcf46caa304db9a01
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jul 9 07:51:38 +0100 2015

	sysexec(): need () arround AOUT_MAGIC comparsion to handle #define hack on mips

Hash:	e3217c6f6a406d866238ce19bbb6d1aae17a71af
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jul 9 07:34:20 +0100 2015

	sysexec(): make the mips compiler happy

Hash:	9ab096a707c4f943a9e6e886ad236c07e7a5aa13
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jul 9 07:03:18 +0100 2015

	kernel: reject bogus two byte "#!" shell scripts in sysexec()
	
	- reject files smaller or equal to two bytes, they are bogus
	- fix out of bounds access in shargs() when n <= 2
	- only copy the bytes read into line buffer
	- use nil for pointers instead of 0

Hash:	8ed25f24b7831eab394f14697766d55065b18822
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Jul 8 23:01:50 +0100 2015

	kernel: various cleanups of imagereclaim(), pagereclaim(), freepages(), putimage()
	
	imagereclaim(), pagereclaim():
	- move imagereclaim() and pagereclaim() declarations to portfns.h
	- consistently use ulong type for page counts
	- name number of pages to free "pages" instead of "min"
	- check for pages == 0 on entry
	
	freepages():
	- move pagechaindone() call to wakeup newpage() consumers inside
	  palloc critical section.
	
	putimage():
	- use long type for refcount

Hash:	fcb9abccbbc73a4f449d55c2c7fb369db2ad139d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Jul 8 01:13:16 +0100 2015

	5e: enable VFP emulation by default, doubles only need to be 4 byte aligned
	
	this adds -F flag to 5e (same as 5l) to disable VFP emulation
	and makes VFP emulation the default.

Hash:	63879193e7e0d271daa215b02d6c4f64c98dc6ae
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Jul 7 20:13:36 +0100 2015

	pc64: use unsigned long for kmapindex and mmu counts avoiding signed integer division

Hash:	cd92790c50433ee99fc3a3b3a95792e1daf2aed1
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Jul 7 18:53:26 +0100 2015

	ape: port libc smp tas() for arm

Hash:	65061470665b3f91f01d23bad6a54704e8aa5851
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Jul 7 18:24:10 +0100 2015

	libc/arm: implement _tas() with LDREX/STREX, execute memory barrier on smp systems (zynq)

Hash:	5458506881d9ff73287df354d3be75b35d339f24
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Jul 7 18:17:55 +0100 2015

	all kernels: declare _tas() to prevent pulling in libc version (for libmemdraw)

Hash:	e2a6e622c715eac26cdbfba42ba4f3c2af5b8ac9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Jul 7 05:30:34 +0100 2015

	5e: approximate LL/SC with cas()

Hash:	fcfc849dd5fd121b02c40d744adb109a94566804
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Jul 7 05:26:56 +0100 2015

	5e: make sure stack base is aligned to avoid unaligned memory trap on arm

Hash:	20e255110cddf657898f84f9bd82bb1c8463b6aa
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Thu Jul 2 02:46:47 +0100 2015

	open(2): fix typo

Hash:	562f1b51ee293e7cef3a577b7409ea5b2caf0494
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jun 29 21:28:23 +0100 2015

	nusb/audio: dont sysfatal on bad endpoint (no altc)

Hash:	4aee2b803e7f566f6ec1796fc45bfe0023d3762a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jun 28 20:50:30 +0100 2015

	nusbrc: handle fat formated usb drives without partition table
	
	on some usb drives, there is no dos partition table, so check
	the filesystem type and consider the whole drive.

Hash:	37156fb0b2a2f15614a34875c23892c6d9b95f90
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jun 28 20:13:34 +0100 2015

	etherwpi: remove debug prints, use iprint() in interrupt

Hash:	8799bf292d718f9dae45c3b897cba20d8d1246b5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jun 28 19:40:19 +0100 2015

	wpa: do not prompt for key when there is already one in factotum

Hash:	ed238e7ef822261efe3b4406e0b5c5e84ddf07fe
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jun 28 17:32:54 +0100 2015

	etherwpi: Intel PRO Wireless 3945abg driver based on openbsd's if_wpi (thanks aap)

Hash:	00328b5759f66400aed0e71ccc687250113e61ee
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jun 28 17:22:36 +0100 2015

	pc, pc64: toggle bit 2 in port 0x61 to reset and enable PCI SERR# nmi's, print nmi status

Hash:	9b0efa4176aa9437160c7970f3637e33f8196fce
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Sun Jun 28 00:45:24 +0100 2015

	approx: chmod 775

Hash:	9ca3fc3a1d157ef7b3eb78453f96ae466b765306
Author:	aiju <aiju@phicode.de>
Date:	Sat Jun 27 21:00:33 +0100 2015

	added approx(1)

Hash:	167ab1f0fa682cd798c1b59aa832a485cc0029bc
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Fri Jun 26 19:10:01 +0100 2015

	fortunes: No we can't.

Hash:	ee735f1088282a7c34a97f4ccb44a1d5127a006d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jun 21 18:35:08 +0100 2015

	wifi: berlin prime bunny hopping
	
	- reduce delay for channel hop to 200ms
	- use 1000ms timeout for auth response (dont hop channels while we wait)
	- bunny hop sequence is mathematically prooven

Hash:	6b4a9c5d8d291ce15e9f31cb130537fe47a9688e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jun 19 13:43:32 +0100 2015

	5e: implement DSB,DMB,ISB and CLREX instructions

Hash:	575015d2b023e5707293830186581f03c33aa90a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jun 19 09:27:26 +0100 2015

	kernel: do not pull in atom.s from libc for arm kernels
	
	- provide our own copy of cas() in l.s
	- replace use of libc ainc()/adec() with portable incref()/decref()

Hash:	e6220b39c97171fe9372e2b14a94dd555e0dc0f5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jun 19 08:02:59 +0100 2015

	exec(2): return register (R0) contains address of Tos structure.

Hash:	1bd4c243ada35e70ff3c92e4019fb6adcc9b4bdc
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jun 19 01:45:58 +0100 2015

	kernel: ignore last page at the top of virtual kernel address space for xalloc()
	
	avoding kernel address -BY2PG because of end pointer wrapping to zero.

Hash:	cb2a55aeb38ffa5ac168485ada6bbc44b4f88c1d
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Thu Jun 18 20:14:06 +0100 2015

	ndb(6): fix typo (thanks, pena)

Hash:	e6658c55af7dec32cd1ac8b9c3a7ba74ed6a9428
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Thu Jun 18 19:28:25 +0100 2015

	dhcpd(8): the fs attribute refers to the file server, not the name server (thanks, pena)

Hash:	1bf5b4ad4eb7f9f3b65c147777ab43ac2e62f233
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jun 18 11:16:54 +0100 2015

	zynq: use KADDR() for kmap() if we can avoiding the mapping

Hash:	0dab8869adf16f425b0cbd13eef1a8df4d2823f0
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jun 18 11:15:33 +0100 2015

	kernel: ignore memory pages with singular kernel addresses
	
	addresses va's of 0 and -BY2PG cause trouble with some memmove()/memset()
	implementations and possibly other code because of the nil pointer
	and end pointers wrapping to zero.

Hash:	fd8597ac315b3be5f5bdb85445345a7ba4627c15
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jun 18 03:35:46 +0100 2015

	zynq: fix barriers
	
	unlock()/iunlock():
	
	we need to place the coherence() *before* "l->key = 0", so that any
	stores that where done while holding the lock become observable
	*before* other processors see the lock released.
	
	cas()/tas():
	
	place memory barrier before successfull return to prevent reordering.

Hash:	58dc03cec0df3cf569f73ea90d71f17e6a3dc84d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jun 18 02:13:50 +0100 2015

	kernel: do not inherit Proc.dot (current working directory) in kproc()
	
	making sure to close the dot in every kproc appears repetitive,
	so instead stop inheriting the dot in kproc() as this is usually
	never what you wanted in the first place.

Hash:	b48078c12cdf0e3b718e38102b7548c14bed33a4
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jun 18 21:58:56 +0100 2015

	kernel: do not inherit current directory channel (dot) to pager
	
	kproc() inherits dot and slash, pager needs to drop these
	channels, otherwise it will keep the files open preventing
	say, ramfs to exit.

Hash:	47f05d4d8b2c9f12aa77a73536f98d05c9494291
Author:	ftrvxmtrx <ftrvxmtrx@gmail.com>
Date:	Wed Jun 17 17:07:32 +0100 2015

	usps: cut the useless part

Hash:	921aa0a6c387eaeca5c485f7d9c49bdef7a435a9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Jun 16 07:08:42 +0100 2015

	stats: add kernel malloc and kernel draw allocation size graphs

Hash:	45b79036bed41e170dd4fca0bbec4425aee5033e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Jun 16 07:05:33 +0100 2015

	devcons: add current pool allocations to #c/swap

Hash:	6c99d2f028a889602134f7117ff571991634dcf8
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Jun 16 05:05:12 +0100 2015

	kernel: remove waserror() arround newpage() in mntcache
	
	newpage() does not raise error().

Hash:	64ed3658d2abe3829f0619e8243c60edcc1d3815
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jun 15 16:40:47 +0100 2015

	kernel: add pagechaindone() to wakeup processes waiting for memory
	
	we keep the details about palloc in page.c, providing pagechaindone()
	for mmu code to be called after a series of pagechainhead() calls.

Hash:	bce2696b17f4891e819958ed9e8f1adf8bdd97dc
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jun 15 16:13:19 +0100 2015

	dontkill: only use noswap flag to mark processes as not to be terminated on oom
	
	changing procmode has the nasty side effect that notes cannot
	be posted to them, prventing sysfatal() and threadexitsall()
	to cleanup properly.
	
	recent kernels also check the noswap flag to void killing them
	in out of memory condition, so this is really all we need now.

Hash:	5329fbf89e70270cc37c322f33984c5356b3c270
Author:	aiju <aiju@phicode.de>
Date:	Mon Jun 15 15:27:27 +0100 2015

	there's plenty of room in /lib

Hash:	8a3b388ffee44db7d878296cb83660139e749962
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jun 15 15:05:00 +0100 2015

	kernel: implement separate wait queues for page allocation
	
	give kernel processes and local disk file servers (procs
	having noswap flag set) a clear advantage for page allocation
	under starved condition by giving them ther own wait queue so
	they get readied as soon as pages become available.

Hash:	9ab48ee37050e2676ae0ddbf253bb3ae5567eb45
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jun 15 07:28:10 +0100 2015

	hjfs: defer parent directory permission check for wstat
	
	check parent directory permission *after* we determined
	that the new name does not exist in the parent, so that
	when the new name is the same as old name then no write
	permission is required in the parent directory.

Hash:	13ec55922f0819aaa2cbb95a9f9bdbed5ae73e2b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jun 15 00:57:54 +0100 2015

	hjfs: fix wstat
	
	- rename to same name is ok
	- only truncate when file size is different
	- check for uid/gid *change*, not if it is specified or not

Hash:	5adf0606f17bf27ecfa682052fa95d26c169f69d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jun 14 23:30:19 +0100 2015

	nusb/serial: remove unused channel

Hash:	584caf6d1c6b44ce2f19c95581b7c6f134e2ba59
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jun 15 21:32:15 +0100 2015

	zynq: remove unused PTE typedef
	
	all the mmu code uses ulong, so get rid of the typeded.

Hash:	13a79fbb72ca203efec5be16e32e4d7a91620281
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jun 15 21:13:55 +0100 2015

	zynq: remove unused statistics fields from Mach structure

Hash:	65db7054815f4efcdd1c6c9638b6e7f05950f481
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jun 14 20:31:44 +0100 2015

	ndb/dns: cleanup forwarding code (redistrib())
	
	instead of copying the whole packet, just save the
	udp header and restore it aftwards. dont call redistrib()
	when there are no forwards (this should be almost always
	the case).

Hash:	ffd294e0da7a60613920a463f4522320fea0b765
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Sun Jun 14 01:34:33 +0100 2015

	theo: You are on your own.

Hash:	a55eed44c65a6ebce367fe0d0fb00b5e92565d8f
Author:	ftrvxmtrx <ftrvxmtrx@gmail.com>
Date:	Sat Jun 13 20:28:33 +0100 2015

	aux/vga: == is not strncmp

Hash:	7f4b037b0b21df9d96d9b3f53a9779590d5c600b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jun 13 19:58:56 +0100 2015

	htmlroff: fix wrong newline in \name handling (| -> ||)

Hash:	453ca8db4337f4f59c3c5b4356d5f70aa9b32260
Author:	ftrvxmtrx <ftrvxmtrx@gmail.com>
Date:	Sat Jun 13 19:21:26 +0100 2015

	qc, 9/ppc, 9/mtx: fix wrong if statements

Hash:	d6eb7cc71c89762694fad552aa21489c55bf0a29
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jun 13 16:50:26 +0100 2015

	kernel: dont use smalloc() to allocate pte array in ibrk()
	
	when we'r out of kernel memory, it is probably better to
	let that alloc fail instead of hanging while holding the
	segment qlock.

Hash:	27fb90eb6e2e277849efca83405a75bc3c724b50
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jun 13 14:03:56 +0100 2015

	vblade, cifs, usbuhci: fix parenthesis

Hash:	9c1dff3fa9928dd66114f3899d8ede99fad2cd53
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jun 13 14:01:02 +0100 2015

	lock: reopen lockfile after changing mode to make lock effective
	
	lock is acquired on open/create when file has DMEXCL set in mode,
	so we need to reopen the file after setting the bit with wstat.

Hash:	1473e5d437e12c7312a859bcdfc167284ca99a4e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jun 13 11:43:15 +0100 2015

	lib9p: fix lib9p wstat qid.type/mode checks (fixes lock(1) for ramfs/hjfs)

Hash:	f92057cc3928015d676e77e846104741d8e43b05
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jun 13 21:37:26 +0100 2015

	ndb/dns: use same buffer size of udp packet in redistrib() as dnudpserver() (fixes assert)

Hash:	cc3abe39aa0dc10f0630acafc0bcb95a13444dca
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jun 12 16:50:43 +0100 2015

	games/doom: remove Makefile

Hash:	e4c3f92c163dec741abeadeca80d6a938561dfb3
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jun 12 16:28:09 +0100 2015

	games/doom: fix desyncing demo (thanks qwx)
	
	the code used P_Random()-P_Random() in some places which has
	undefined evaluation order resulting in the wrong pseudo random
	numbers being returned causing demo playback to desync.
	
	this change adds P_Random2() function which returns the right
	delta-random number and uses it in place of P_Random()-P_Random()
	expression.

Hash:	34ae4649cc91bf32cd602558a4e953bc3fb8777a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jun 12 13:28:31 +0100 2015

	kernel: fix accounttime() for HZ >= 1000
	
	"milli-CPU's" is too low resolution for the decaying load average
	calculation when HZ >= 1000.

Hash:	2112ad6793fbf86600d1a4264197766f71808c45
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jun 11 20:26:26 +0100 2015

	zynq: increase kernel memory for graphics

Hash:	d8bcd6c8e4a31a407aebcc3e60cdf3630b0b3c5f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jun 11 15:44:05 +0100 2015

	zynq: mouse acceleration

Hash:	36d2504adb5a28d8cf9743b47c26c85f51d94b5b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jun 11 15:14:11 +0100 2015

	zynq: make screen and cursor kprocs exit properly

Hash:	0dbbe79116b4ced3ee0e777a3c31bc87edb81b5e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jun 11 15:04:24 +0100 2015

	zynq: add support for hardware cursor
	
	to enable hardware cursor, write "addr va" to /dev/mousectl where
	va is the virtual address of the cursor position register.

Hash:	98640950d7ff742aeafd4910d67a0ed5a9871b86
Author:	ftrvxmtrx <ftrvxmtrx@gmail.com>
Date:	Thu Jun 11 21:14:24 +0100 2015

	merge

Hash:	a25758dce7b28c695fc34a70dbb1931bf57905a2
Author:	ftrvxmtrx <ftrvxmtrx@gmail.com>
Date:	Thu Jun 11 21:13:55 +0100 2015

	fix strncmp/memcmp used with a wrong number

Hash:	036ae2e397eb62ca95f05d180df14c1320dcdfe4
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Jun 10 16:18:31 +0100 2015

	cifsd: smbrename is still ok when file is readonly (fixed git)

Hash:	c89b0b3c238ff4e288f259be211f3b878bd0c30d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Jun 10 00:27:44 +0100 2015

	zynq: fix flushmemscreen()

Hash:	be36fab405e70b01b319cfa3aa2cd2ca8feaf6c6
Author:	ftrvxmtrx <ftrvxmtrx@gmail.com>
Date:	Tue Jun 9 17:25:09 +0100 2015

	remove drawlsetrefresh and convM2Tnoenc: undefined functions

Hash:	e56e61fed188c859c94bcb099caa0860aadc3d1e
Author:	ftrvxmtrx <ftrvxmtrx@gmail.com>
Date:	Tue Jun 9 11:32:38 +0100 2015

	addpt(2): put badrect in .SH NAME so that it gets into the searchindex

Hash:	86acce7c4df8929fa28b346935d840470b190b17
Author:	ftrvxmtrx <ftrvxmtrx@gmail.com>
Date:	Tue Jun 9 11:29:57 +0100 2015

	esetcursor(2), alarm(2): fix prototypes

Hash:	72a168b5fb1d3b40bf6c8051d06d7237f27a7d2b
Author:	ftrvxmtrx <ftrvxmtrx@gmail.com>
Date:	Tue Jun 9 10:54:22 +0100 2015

	event(2): fix estartfn prototype

Hash:	3bd0d66686f475d5cbd77bfa7efa16c29ae69292
Author:	ftrvxmtrx <ftrvxmtrx@gmail.com>
Date:	Tue Jun 9 10:46:37 +0100 2015

	authsrv.h: remove nonexistent prototypes

Hash:	a314302e64ffbff295c832edc5cb1e3ef110614a
Author:	ftrvxmtrx <ftrvxmtrx@gmail.com>
Date:	Tue Jun 9 09:33:30 +0100 2015

	libdraw: sync allocimage/allocwindow prototypes with man pages

Hash:	94333d83ab5df8bd51b148a69a33aa6b335c6fc6
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Jun 9 09:04:04 +0100 2015

	ip: fix wrong radix for iphash() (thanks yoann padioleau)
	
	yoann padioleaus report on 9fans:
	
	> I think I’ve found a bug in the network stack.
	> in 9/ip/ip.h there is
	> struct Ipht
	> {
	> 	Lock;
	> 	Iphash	*tab[Nipht];
	> };
	>
	> where Night is 521,
	>
	> but then in 9/ip/ipaux.c there is
	>
	> ulong
	> iphash(uchar *sa, ushort sp, uchar *da, ushort dp)
	> {
	> 	return ((sa[IPaddrlen-1]<<24) ^ (sp << 16) ^ (da[IPaddrlen-1]<<8) ^ dp ) % Nhash;
	> }
	>
	> where Nhash is just 64,

Hash:	90b4fe9cf65bb24b55472ce2e32a7dbc3c5e7f97
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Jun 9 08:17:55 +0100 2015

	zynq: add /dev/fbctl to attach framebuffer to devdraw

Hash:	cda46731d8166e5b113a8acdf90479a03bb6a3a8
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Jun 9 02:33:37 +0100 2015

	devsegment: fix parsecmd() memory leak

Hash:	e2a5d674d9d22492220200824a9ec28f95a02253
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Jun 9 00:42:59 +0100 2015

	libdraw: consistent use of nil for pointers, error handling

Hash:	0fc761bc845bd9795f05206e24621c0f5e76423e
Author:	ftrvxmtrx <ftrvxmtrx@gmail.com>
Date:	Mon Jun 8 23:15:59 +0100 2015

	unix is BUGGERED. remove it

Hash:	7a95bef00e41cbab2d97f6392b221e6192335343
Author:	ftrvxmtrx <ftrvxmtrx@gmail.com>
Date:	Tue Jun 9 22:53:07 +0100 2015

	authsrv: remove unused opasstokey

Hash:	2c505c160e4ada69f8663a5c42979d3633314087
Author:	ftrvxmtrx <ftrvxmtrx@gmail.com>
Date:	Tue Jun 9 22:34:36 +0100 2015

	addpt(2): document badrect function

Hash:	e77002cdab4f069cd4ba2e489f2f9bc090b09ab7
Author:	ftrvxmtrx <ftrvxmtrx@gmail.com>
Date:	Tue Jun 9 22:23:00 +0100 2015

	freeimage(2), readcolmap(2), writecolmap(2): fix prototypes

Hash:	477f3ce3ea48aa34ee74fafcc782ef1a0f18ad2c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jun 8 20:08:57 +0100 2015

	exec(2): exec argument size only limited by user stack size

Hash:	e89e54d1a3bb47a6adf35082062303b0f8ccf1a5
Author:	ftrvxmtrx <ftrvxmtrx@gmail.com>
Date:	Mon Jun 8 11:59:51 +0100 2015

	exec(2): fix prototypes

Hash:	a41606b48b1a2cccd189c1fe18f6a27c6563980b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jun 8 01:49:02 +0100 2015

	merge

Hash:	14a7c237b5a645bdd3e56112888a875dcf61648c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jun 8 01:43:49 +0100 2015

	aux/vga: disable nvidiascale() as it broke modeset on kenjis card
	
	this code needs revision, need a list of cards where this actually
	works.

Hash:	5a534f942cb455f76e17e2b8190d7d06eb8c5359
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Sun Jun 7 20:12:06 +0100 2015

	/lib/face: add updated addresses for quanstro, bwc, steve.simon (thanks, erik)

Hash:	c5b0edecc9106d44e971a3f6d0300736f21fbc12
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jun 7 16:41:43 +0100 2015

	devfs: remove useless ~OTRUNC mask for openmode

Hash:	b554ad054bee15040c59faa65c134a876cee654e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jun 7 16:33:31 +0100 2015

	zynq: fix /dev/pl
	
	prevent double sleep():
	callers to sleep() need to be serialized as there can only
	be one process sleeping at a time. plrlock and plwlock do
	this.
	
	wait for dma to complete in plwrite():
	we have to wait for the dma to complete before touching
	plbuf again.
	
	maintain COPEN flag in archopen()/archclose():
	when open fails because it was in use, clear the COPEN
	flag, so archclose() wont screw stuff up.

Hash:	1caaa0318b216bbbe6c18a7d9c27f87fa34c9a31
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Sat Jun 6 23:20:48 +0100 2015

	fortunes: Turning off comments.

Hash:	8f1b69997f7260db4dcc226e0fe0bdd7dd204ea4
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Sat Jun 6 23:18:38 +0100 2015

	sysinfo: update -p for sysinfo.9front.org

Hash:	ebf43c0a0b6a7c84514af80b7e0e16298a488e3c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jun 6 23:11:47 +0100 2015

	sysupdate: change source repo to https://code.9front.org/hg/plan9front
	
	code.google.com is shutting down, the new repository is on code.9front.org.

Hash:	9d3bc1646915d7e7a69dcf614690fdcec6e6aa7a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jun 7 21:14:01 +0100 2015

	libsec/tlshand: implement client side ECDHE (many thanks to pr!)

Hash:	079d3f4002526164e0d430cca83383af8f213a84
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jun 7 21:12:46 +0100 2015

	libsec/ecc: fix memory leak (free() vs mpfree())

Hash:	4be3300e98c37e88fe5e15d23d9d791c8286c214
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jun 6 01:13:01 +0100 2015

	prep(8): edisk also adds a EFI system partition (esp) when not already exists.

Hash:	628611fb5c701365c3b2fcbf705448a1af635cc7
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jun 6 01:00:51 +0100 2015

	inst: provide gpt/mbr choice when disk is blank, format esp

Hash:	1613fd9f526dc5a5703bbeb1d84e59980db0845e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jun 5 20:57:08 +0100 2015

	disk/edisk: create esp partition in addition to plan9 partition in auto mode

Hash:	bbc35cc01b3632fe345244a5a366dd5e80755265
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jun 5 04:09:22 +0100 2015

	9boot: look for plan9.ini in all filesystems accessible to efi to find plan9 partition
	
	try the handle buffer in reverse order looking for plan9.ini
	to find plan9 partition (9fat). when that fails, we'll default
	to the first handle which should be the esp.

Hash:	045530aed25b515d501e7502af2c42ecf66d6dd2
Author:	mischief <mischief@offblast.org>
Date:	Fri Jun 5 01:16:23 +0100 2015

	ape: define long long limits

Hash:	16b3a688c304bd94935288509af79ed39cb2a427
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jun 4 03:34:08 +0100 2015

	dossrv: maintain file creation date/time on disk, fsinfo sector can be 0 (disabled)

Hash:	e83ef3d1e24e5248e4cdd86aec6f8710ad929be9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jun 4 02:58:03 +0100 2015

	disk/format: create Fatinfo sector for fat32

Hash:	137a762eca0389d91a14f830cb1e29b1d483a112
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Jun 3 22:19:13 +0100 2015

	disk/edisk: fix blank mode
	
	there where two problems with blank (-b flag):
	
	we did not update the backup header when there was already a valid
	backup header in place. we always want to initialize a new backup header
	in blank mode!
	
	we now also check the backup header matches the primary (or the other
	way arround depending on which header could be read), reporting any
	mismatches and restoring the backup from the data of the primary.
	
	the protective mbr needs to start at sector 1 not 0 (apparently, this
	matters for ovmf).

Hash:	1a1863e5dc8913e47b16e44499a3cc735aead394
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Jun 2 15:56:19 +0100 2015

	rc-httpd: cleanup cgi handler
	
	- avoid silly stats and checks for $cgi_dir, just use status
	  from builtin cd.
	
	- log proper http status code from the cgi script

Hash:	8caf4d3bcbabe28d34556ea6b5542b491ea43e27
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Jun 2 00:15:43 +0100 2015

	authsrv: use plan9 key for http authentication
	
	in addition to /sys/lib/httppasswords, allow http authentication
	to use the plan9 password, which can be changed by the user.

Hash:	0afac04530db7e603b94a16cd4e06fa135faead1
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Jun 2 22:44:39 +0100 2015

	hgweb.cgi: +x

Hash:	cfd0698dbd491701948f76c17680a8d3360d9923
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Jun 2 22:41:16 +0100 2015

	hgweb.cgi: take REPO_ROOT and REPO_NAME from env, so can be used out of the box

Hash:	7b8bada6b471f4ab2ee12f5a2721ca488fac462f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Jun 2 22:15:02 +0100 2015

	rc-httpd: various fixes
	
	care has to be taken when splitting the host into SERVER_NAME and SERVER_PORT,
	as ipv6 uses : in the host part. also do it consistently, the host can be set
	thru the request uri and the host header.
	
	set REMOTE_USER to empty string to prevent accidents.
	
	we do not handle chunked transfer encoding, just assuming the client doesnt
	do keep alive is wrong. we have to reject the post when the client tries
	chunked post with 411 "Length required" error.

Hash:	5c6357de8bda7c5fe0a7fa4ab31b365a9ae8e6fb
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jun 1 00:32:57 +0100 2015

	devtls: ignore UnrecogniedName (112) alert message (for SNI)

Hash:	0ca9977075a51dd9c098641f99d1abfdaf8c892f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun May 31 18:48:44 +0100 2015

	9fs: handle all the dos filesystems in one case, add esp handler

Hash:	42484b6ef276f6c69b58712a19ffdfa3d64d1a21
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun May 31 18:30:38 +0100 2015

	disk/fdisk: learn about EFI system partition (type 0xEF), honor protective mbr (type 0xEE)
	
	efi systems may use traditional dos partition table
	with an esp (efi system partition). otherwise, honor
	the protective mbr partition (0xEE) and exit when we
	encounter it.

Hash:	52c6b751c07b8de53479a311bd372eabe763052d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun May 31 15:41:46 +0100 2015

	inst/bootplan9: skip mbr installation and active partition switching when we have no plan9 dos partition
	
	on efi systems, there is no plan9 partition in the dos partition table
	that could be marked active and the mbr should be left alone.

Hash:	8278f6e34c8d09b85703effb576f7cb14a9d6068
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun May 31 13:15:49 +0100 2015

	prep(8): document disk/edisk

Hash:	82aa1d5c786dec9d6e57c5a8cf9859ee787c99de
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun May 31 12:06:18 +0100 2015

	integrate disk/edisk with diskparts, bootfs and installer (gpt support)

Hash:	3e124e1f13b945a020d973052069b9d3b673d814
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun May 31 11:58:13 +0100 2015

	libdisk: error handling, sanity checks
	
	- make sure disk file is an actual file and not a directory, log or empty file
	- sanity check: file has to be at least one sector to be a disk
	- simplify error handling using freedisk()

Hash:	ce76af64fe93cfe5103cf9b5f44693d8aebef24c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun May 31 10:19:22 +0100 2015

	disk/edisk: little improvements
	
	- make UU() shorter by using long long constant to encode node field
	- store Flag as a mask, not as a shift count
	- put the attributes before the name in cmdsum() as it is fixed length

Hash:	c770b09f43cde887feb3d82d936cddd12288a6e6
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun May 31 08:37:59 +0100 2015

	test: use libc.h constants for access() mode (thanks qrstuv)

Hash:	460c598430f92ff38bbaf08cc157d235bd2a967e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat May 30 15:50:02 +0100 2015

	io.h: fis comment PciSID (alphapc, kw, mtx, teg2) (thanks qeed!)

Hash:	b137420eff271bf8bf3194396af6d7de0a72ef5b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat May 30 15:45:02 +0100 2015

	pc/io.h: fix comment for PciSID

Hash:	1376d559edb8f07487a26d8a50619a489665d8fd
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat May 30 02:36:58 +0100 2015

	disk/edisk: fix usage (was disk/gdisk)

Hash:	4a4575bd4e0d92a0c699108c439d3cb9a546878b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat May 30 02:22:08 +0100 2015

	disk/edisk: gpt partition table editor (no manpage, work in progress)

Hash:	09b6a92145540ca0f8b50454600e95c3dc17100f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat May 30 21:37:46 +0100 2015

	disk/partfs: adding identical partition is no-op

Hash:	b5cbd0bebd32a2f9cb934ce5533819f62bed2781
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat May 30 21:26:18 +0100 2015

	disk/fdisk: fix help text

Hash:	3ceedfd1e1cdb643d8a0bbbbdd58badc5cc3fae8
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat May 30 21:24:55 +0100 2015

	nusb/disk: adding identical partition is a no-op

Hash:	de3c058efbc7163d71b2ac965e2a45ea4c4d3668
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu May 28 17:11:45 +0100 2015

	cputime(2): fix prototype for cycles() (thanks qrstuv)

Hash:	e333a07ded721ddf468e8ee9dadef1f77163c490
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu May 28 15:39:04 +0100 2015

	tcs: fix swaped alias mapping gb <-> gb2312

Hash:	3d1e12363d0d564dd570a8b654ddd698d42e0074
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu May 28 15:37:55 +0100 2015

	uhtml: check if document is valid utf8 even with charset specified
	
	often, documents specify charsets but are really utf-8 encoded.
	we now try to decode as utf-8 and only if that fails assume
	the charset specified in the document.

Hash:	e601e1605bfa52d1ce944b915191f5f28c12f138
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed May 27 23:31:36 +0100 2015

	libsec: cleanup x509 and tlshand
	
	- add overflow checks for newbytes(), newbits(), newints()
	- remove suspicious nil check from estrdup()
	- remove useless nil checks before free

Hash:	16bbaa20140a575efbae7336cef6eb2484a0f367
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed May 27 20:48:42 +0100 2015

	ape: include <sys/types.h> in <sys/wait.h> for pid_t (thanks jens staal)

Hash:	a788f2000dcba29d5cbb37b74550907b00f1c554
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed May 27 18:52:06 +0100 2015

	libsec/x509: fix verify_signature(), digest_certinfo(), X509dump()
	
	make digest_certinfo() return the digest length, otherwise
	return -1 as an error and handle it in the callers.
	
	pass expected digest length to verify_signature() and
	check digest length from certificate! make sure we wont
	run off the buffer.
	
	fix newlines in error prints of X509dump().

Hash:	5f7d769a02f0d6045ac844b40111a789996c58bc
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed May 27 17:35:37 +0100 2015

	libsec/x509: use SHA2-256 digest algorithm instead of MD5
	
	this implements SHA2 (224, 256, 384, 512) signature algorithms and
	uses sha256WithRSAEncryption for X509req() and X509gen() instead
	of oid_md5WithRSAEncryption.

Hash:	5ef922959a546d54f19f63344ef5d581cc41c568
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue May 26 23:23:13 +0100 2015

	pci: map pci bars for devices with base class codes (ccrb) 0x00 and 0x0D-0x11 (thanks qeed)
	
	there are a few more device base class codes defined 0x0D-0x11, and
	qemu appears to use base class code 0x00 for some of its fake
	devices.

Hash:	d6a91e0ae47b4e1df9a9783c49666e2a7357e277
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue May 26 18:25:06 +0100 2015

	cc: set unspecified elements to zero in local variable initializers
	
	the compiler used to skip zero initialization when initializer
	list was given not covering unspecified elements. now we zero
	all non explicitely initialized elements. for example:
	
	typedef struct F F;
	struct F
	{
		int a;
		int b;
		int c;
	};
	
	void
	main(void)
	{
		char a[16] = { 1, 2, 3 };	/* a[3..15] initialized to zero */
		F f = { .b = 1 };			/* f.a, f.c initialized to zero */
	}

Hash:	cfafa676408057a7434ec81e5dc15ae0ffba91f2
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Mon May 25 20:04:30 +0100 2015

	rootstub: do not create pkg directories

Hash:	0853e2cc3bedc2da1eb3ad50f48b62278217c816
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Mon May 25 20:03:44 +0100 2015

	remove pkg(1): we regret the error

Hash:	ff2e8f308d3862ce1927bdc20314fe7610564566
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon May 25 12:03:45 +0100 2015

	thread(2): fix prototype for threadint() and threadkillgrp() (thanks qwx!)

Hash:	0d87019a9b5479ed2d5ce13b9bfe774c395b9669
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon May 25 00:57:18 +0100 2015

	cc: handle unaligned data in = {0} local initializer
	
	the emited code that initializes local variables did not handle
	unaligned data causing stack corruption, affecting code like:
	
	void main(void)
	{
		char a[9] = {0};
	}
	
	this change will emit code that does byte stores for the unaligned
	bytes and also handles small objects (<= 16 bytes) without branches.

Hash:	c727d2ae8a3a828649e34c71aa45b6665b1a8328
Author:	mischief <mischief@offblast.org>
Date:	Thu May 21 02:25:53 +0100 2015

	cdproto: /sys/log/httpd should be a directory

Hash:	a94a8a06ded99ec9fb13fd2599def616054bcccb
Author:	mischief <mischief@offblast.org>
Date:	Thu May 21 02:16:54 +0100 2015

	revert httpd log file goof

Hash:	890c459567c05647c83e566f491db0d953ca8e66
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu May 21 01:28:06 +0100 2015

	webfs: send servername in tls client hello (SNI)

Hash:	40360a992d03ccccf69a36fa20359ad029b3afcf
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu May 21 01:26:57 +0100 2015

	libsec: implement tlsClient support for RFC6066 server name identification (SNI)
	
	tlsClient() now can optionally send the server_name in the ClientHello
	message by setting the TLSconn.serverName. This is required for some
	https sites.

Hash:	a1bbf39c341e0b7ae0c999b0a34c85ab157aa6c9
Author:	mischief <mischief@offblast.org>
Date:	Wed May 20 23:38:56 +0100 2015

	ip/httpd: fix syslog file

Hash:	5d2253af9968b94027543352c53953cfe30fcb5e
Author:	mischief <mischief@offblast.org>
Date:	Wed May 20 23:09:34 +0100 2015

	libhttpd: declare hvprint

Hash:	d8487e98c64cc1473e6d4158392850a9d434e418
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed May 20 08:49:27 +0100 2015

	etherigbe: spi eeprom support (thanks echoline)

Hash:	6198954859caa0de243756291c8dad75b71dcaee
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue May 19 19:04:47 +0100 2015

	libdraw: don't loop forever when getting eof on /dev/cons in keyboard ioproc

Hash:	8f8c2d67796e8da8a3f8d3e86849b07182a96697
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue May 19 13:02:02 +0100 2015

	aux/vga: dont use /proc/$pid/mem to access vga bios
	
	using /proc/$pid/mem to access vga bios is not portable and crashes
	sgi machines when aux/vga is run. instead, try /dev/realmodemem
	first (provided by realemu), then #v/vgabios.

Hash:	ca123ae36601fe3015c7ed745910358c562e031a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue May 19 11:40:50 +0100 2015

	merge

Hash:	041d732be72a13b9b7250fdab0ea4c46ad9d8326
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue May 19 11:39:45 +0100 2015

	tar, tarfs: implement longname support
	
	this allows extracting tar archives that use longnames extension,
	where the real filename is stored in a special entry with
	linkflag == 'L' before the file entry. also skip longlink entries
	with linkflag == 'K'.

Hash:	8e65273af45e8e5ed6cd768804a8f103db15887e
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Mon May 18 23:41:06 +0100 2015

	faces: fix fuck-up (thanks, qrstuv)

Hash:	4cb504afb787b95a18af699e925ee1796bcaad11
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Mon May 18 23:35:58 +0100 2015

	faces: add cs.dartmouth.edu!doug (thanks, qrstuv)

Hash:	76ee4c3988f4f4e89514c203d8b7781abd29f24a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon May 18 00:26:29 +0100 2015

	usbd: set device info for control file (see usb(3), thanks qeed)

Hash:	c8c65f183d578690e0c14588f01f96115e2d5cdb
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun May 17 23:32:19 +0100 2015

	merge

Hash:	8183f0ec85b2b10f6945d5452fa11edeb7196f1f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun May 17 23:29:12 +0100 2015

	cdproto: /sys/log/pop3

Hash:	86f22d3c08b48f2b2f677ca5560a84cc0fcc90bf
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Sun May 17 17:53:05 +0100 2015

	colors(1), who(1): add missing SOURCE entries

Hash:	dfdc52ea7ad0b5950a08d80052dbc667eec3a803
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun May 17 06:02:44 +0100 2015

	libc: use Runemax instead of hardcoded 0x65536 for fmtchar check (thanks qrstuv)

Hash:	bf74dfbc7ae39b0e7aee35bad63fb219f49e88cb
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun May 17 05:59:09 +0100 2015

	kbdfs: Runemax is inclusive.

Hash:	45384b00263b670c859a3a9bb47ac684c68c1905
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Sat May 16 02:08:37 +0100 2015

	fortunes: What's wrong with the obvious?

Hash:	0d701b77592a7364529b300cbaad938326be1710
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri May 15 06:53:22 +0100 2015

	gunzip: the extra length field (XLEN) is two bytes instead of one
	
	example file:
	https://www.mirbsd.org/MirOS/dist/mir/mksh/mksh-R50f.tgz

Hash:	20b8f1e777d04ce7daa771ee75092192d3120bda
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Fri May 15 02:04:51 +0100 2015

	rc-httpd/handlers/dir-index: plan 9 files may be chmod +a:
	
	          The mode printed under the -l option contains 11 characters,
	          interpreted as follows: the first character is
	
	          d    if the entry is a directory;
	
	          a    if the entry is an append-only file;
	
	          -    if the entry is a plain file.
	
	Therefore, handle them in automatically generated directory listings.

Hash:	21f97338f86b9aa4a2995ddc7bbe539efadfab70
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu May 14 20:09:12 +0100 2015

	tcp: fix loopback slowness issue / set tcb->mss for incoming connections (thanks David du Colombier)
	
	David du Colombier wrote:
	> The slowness issue only appears on the loopback, because
	> it provides a 16384 MTU.
	>
	> There is an old bug in the Plan 9 TCP stack, were the TCP
	> MSS doesn't take account the MTU for incoming connections.
	>
	> I originally fixed this issue in January 2015 for the Plan 9
	> port on Google Compute Engine. On GCE, there is an unusual
	> 1460 MTU.
	>
	> The Plan 9 TCP stack defines a default 1460 MSS corresponding
	> to a 1500 MTU. Then, the MSS is fixed according to the MTU
	> for outgoing connections, but not incoming connections.
	>
	> On GCE, this issue leads to IP fragmentation, but GCE didn't
	> handle IP fragmentation properly, so the connections
	> were dropped.
	>
	> On the loopback medium, I suppose this is the opposite issue.
	> Since the TCP stack didn't fix the MSS in the incoming
	> connection, the programs sent multiple small 1500 bytes
	> IP packets instead of large 16384 IP packets, but I don't
	> know why it leads to such a slowdown.

Hash:	e611879eab9ad99ea6fa1f51529c4c85e679dad2
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu May 14 13:12:28 +0100 2015

	hget: work arround apache Content-Encoding: gzip for Content-Type: application/x-gzip bug
	
	apache sends Content-Encoding: gzip header for Content-Type: application/x-gzip
	causing hget to decompress tgz files.
	
	from the w3c:
	
	The Content-Encoding entity-header field is used as a modifier to the media-type.
	When presented, its value indicates what additional content codings have been applied
	to the entity-body, and thus what decoding mechanisms must be applied in order to
	obtail the media-type referenced by the Conent-Type header field. Content-Encoding
	is primarily used to allow a document to be compressed without losing the
	identity of its underlying media type.
	
	this is clearly silly, as the file is already compressed, and decompressing it
	will not yield the indicated Content-type: application/x-gzip, but a tarball.
	
	examples:
	
	http://zlib.net/zlib-1.2.8.tar.gz
	https://www.mirbsd.org/MirOS/dist/mir/mksh/mksh-R50f.tgz

Hash:	2b4a488762eb85495d0001cfa689f12b2c746a7a
Author:	Matthew Veety <mveety@gmail.com>
Date:	Wed May 13 05:15:18 +0100 2015

	fixed by fuck up

Hash:	80845af98b8265b13c90cf95eec9274857250859
Author:	Matthew Veety <mveety@gmail.com>
Date:	Wed May 13 05:11:59 +0100 2015

	removed ukill.

Hash:	e8c3eb87d27f95a9a0b89a93164dba42427659ec
Author:	Matthew Veety <mveety@gmail.com>
Date:	Wed May 13 23:48:46 +0100 2015

	Added ukill(1): Kills all processes started by a user

Hash:	aa0a20ed6ec2cd3d042dd1d8b93195eb14440763
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed May 13 03:22:21 +0100 2015

	boot/zynq: use ./boothead.$cputype to invoke helper

Hash:	2d564a5004850469b4aa5adb85bb07bdc3da03d8
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed May 13 03:12:49 +0100 2015

	boot/zynq: add jtagload utility

Hash:	d57f23fb877eecd1f692d73411114110cdd6423b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed May 13 00:07:35 +0100 2015

	boot/zynq: implement sdmmc boot (fat)

Hash:	bc4f14e015b0081fa9c9e7839f17a378203dc151
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Mon May 11 16:52:44 +0100 2015

	fortunes: Feature requests will be ignored.

Hash:	fb9a4ac610cef38374c2e1e62ba97cc3885d3bf6
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon May 11 04:27:05 +0100 2015

	emmc/pmmc: make all symbols static

Hash:	646062da1c4248e5410f29bec14cd1efea5beb45
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon May 11 04:09:31 +0100 2015

	kernel: state errstr.h dependency for proc.acid target (fixes acid kinit() on cleaned kernel source tree)

Hash:	4bfd4122d9d8991d8763a0a4079152c2ae0286a0
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon May 11 01:34:54 +0100 2015

	nusb/serial: recognize aijuboard jtag interface

Hash:	5275d49d8fee2dac09f31c955873ad5aa6734e8d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun May 10 06:46:53 +0100 2015

	webfs: fix proxy authentication

Hash:	0da58889017158bb6c22119d7f110574cfc94f01
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat May 9 06:50:05 +0100 2015

	realemu: ignore access to CMOS/RTC address/data registers
	
	the kernel wont allow access to i/o ports 0x70/0x71, so
	ignore the access. reads return 0xFF. this fixes vesa on
	lenovo e540.

Hash:	4547b5070c9999f093ea49bd7d77b7452d9180f0
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Sun May 3 22:37:54 +0100 2015

	passwd(1): passwd no longer needs to be run on a terminal; netkey is more stubborn.

Hash:	bafadebc191b068c515258bd0110093d3fd0d5be
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Fri May 1 19:03:29 +0100 2015

	audio(1): explain mp3enc wants raw data in the opposite byte order to /dev/audio (thanks, eekee)

Hash:	14ebbcb75be074a917c6c1bb62b7ac38b0db7ec3
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Fri May 1 17:05:30 +0100 2015

	audio(1): fix example

Hash:	35c9648ee10f187f1b2d0d3f884c40c95874d315
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Apr 30 15:29:40 +0100 2015

	pass Ureg* argument to note handler in R0 register on arm
	
	userspace note handlers, like any function, expect ther
	first argument in R0 register on arm.

Hash:	12bb7bcfff4db1b122c4643859f3d4f1420fba38
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Apr 29 01:58:10 +0100 2015

	libsec: remove aesCTRencrypt()/aesCTRdecrypt() (thanks mischief and qrstuv)
	
	as mischief and qrstuv point out, these functions are not very usefull
	and are even implemented wrong (incrementCTR()), so deleting the code.

Hash:	e9c9ea4235697b84d0745c3d56b476230bad27bb
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Apr 28 18:32:21 +0100 2015

	sam: don't make scroll-wheel-up change focus (thanks clsmith)

Hash:	da689241d0ed5073412b347683acf278f2248683
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Apr 28 18:30:52 +0100 2015

	sam: prevent array overflow with multiple -i and -a arguments (thanks clsmith)

Hash:	e20d7c4aad1056bf30a9dd7a109339c2ef95a16e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Apr 27 20:32:17 +0100 2015

	etheriwl: make rxon() static (thanks aap)

Hash:	64849ab5f393cb21a718b050ff9178f9bf8c4ea0
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Apr 26 17:02:49 +0100 2015

	etheriwl: check the bluetooth co-existance errors (thanks qeed)

Hash:	e10287042ee679726d029e37f5056efa6f7ea488
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Apr 24 03:13:19 +0100 2015

	etheriwl: support for Centrino Wireless-N 2230 from freebsd driver (thanks qeed)
	
	big thanks to qeed for porting support for Wireless-N 2230 from
	freebsd driver!

Hash:	99718a581ba7c2aebf372d57c8acaeb39535befc
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Apr 23 17:40:00 +0100 2015

	bzfs: handle erealloc(..., 0)

Hash:	a645a2f83d79abfa78f0d967a35977c3cfef8cef
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Apr 23 17:25:19 +0100 2015

	lib9p: handle erealloc9p(..., 0)

Hash:	4e7efadf120c3357a251b6b2268ec6f3dfb1bd22
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Apr 23 17:19:48 +0100 2015

	hjfs: fix erealloc(..., 0) crash when removing member from group array makes it empty (thanks 9dan)

Hash:	c1ff805e236a818eb530ac68236c506448377419
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Apr 23 04:12:57 +0100 2015

	cc: fix non constant pointer initializer for other compilers than 8c/6c
	
	i made a mistake here as this change breaks the arm and mips compilers
	which lack an optimiation in xcom() that folds constant pointer arithmetic
	into the offset. on arm, the a node is a complex expression with op OADD of
	type TIND but the test rejected the (valid) pointer arithmetic.
	
	instead, we now test for the operations which cannot be constant instead
	of using the type as a proxy.

Hash:	7f0728b7f446a77b8606ed3dffd48deb48697384
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Apr 23 02:17:25 +0100 2015

	aux/listen: removing service script sholud kill listener (thanks mischief)
	
	mischief spotted that the only way for listeners to go away was
	truncating (but not removing) a service script. this is wrong and
	not as described in the manpage.
	
	this change makes removing (or truncating) a listen script stop
	the listener.
	
	scandir() first marks all current announces, then reads the service
	directory adding announces which will clear the marks for the ones
	already there or add a new unmarked one. finally, we shoot down and
	remove all still marked announces.

Hash:	8cb7211a42d8811302968dd75cd14e1fc47a289c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Apr 22 19:18:11 +0100 2015

	secstore(1): add DIAGNOSTICS section

Hash:	07faf720c9077201e88016fe5a308e48e4e5913c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Apr 22 19:08:50 +0100 2015

	secstore: don't print errors for dial() and readnvram() when not in verbose mode
	
	when no secstore server has been configured or no nvram is
	setup, exit silently with error status.

Hash:	fd80dde429cf35fffa8662c7933a7df36240ab79
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Apr 22 18:54:13 +0100 2015

	hjfs: preserve newlines in commit message (thanks BurnZeZ)

Hash:	81cbff917f965bf7fab35cb42d68ebf14a880aa5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Apr 17 05:18:43 +0100 2015

	gs: avoid 6c type propagation / constant folding issue for set_cb_end()
	
	6c changed "- cmd_lagest_size + 1" into a *unsigned* 32bit constant. which
	got added to 64bit pointer making pcb->limit > pcb->end resulting
	in errors for partial commands in the buffer. removing the parentesis
	propagates the operation to 64bit.

Hash:	57ad566dfc30b250229852619fc1073d47375dfa
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Apr 17 21:19:23 +0100 2015

	games/doom: fix mips

Hash:	82a797da707881fa3188cab7424738cd07fe9c92
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Apr 16 15:30:14 +0100 2015

	kernel: leave shared, physical and fixed segments alone in killbig()

Hash:	ef647a54c006a2a748463c81132c22ecb01d2dac
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Apr 16 15:07:36 +0100 2015

	kernel: cannot interrupt segmentio commands
	
	once we submit a command to segmentio process, we have to wait
	for it to complete even if we got interrupted.

Hash:	39cf6b34e34e02aa9bbec28295459769175681ad
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Apr 16 14:31:51 +0100 2015

	kernel: avoid posting note to kernel process in faulterror()
	
	the intend of posting a note to the faulting process is to
	interrupt the syscall to give the note handler a chance
	to handle it. kernel processes however, have no note handlers
	and all the postnote() does is set up->notepending which will
	make the next attempt to sleep raise an Eintr[] error. this
	is harmless, but usually not what we want.

Hash:	433b18ec2b54387119abdeb0a85767cd92e4a23b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Apr 16 13:32:42 +0100 2015

	cc: catch non constant pointer initializers
	
	char	FOO[] = "abc";	/* ok */
	char	*BAR = FOO;		/* ok */
	char	*BAZ = BAR;		/* wrong */

Hash:	3d4fcc6c8ab02d0370919714fc08229e87f414ed
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Apr 16 13:29:13 +0100 2015

	sokoban: fix non constant inializer

Hash:	bcf54c0bfb188214f6097cf02fe60040cf0d6d7f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Apr 16 00:20:30 +0100 2015

	kernel: pass segio error string by pointer
	
	there's no need to waste space for a error buffer in the Segio
	structure, as the segmentio kproc will be waiting for the next
	command after an error and will not overwite it until we issue
	another command.

Hash:	46070c3122227f5fc04c9b7a29d0652600fa7074
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Apr 15 23:45:25 +0100 2015

	kernel: add segio() function for reading/writing segments
	
	devproc's procctlmemio() did not handle physical segment
	types correctly, as it assumed it can just kmap() the page
	in question and write to it. physical segments however
	need to be mapped uncached but kmap() will always map
	cached as it assumes normal memory. on some machines with
	aliasing memory with different cache attributes
	leads to undefined behaviour!
	
	we borrow the code from devsegment and provide a generic
	segio() function to read and write user segments which
	handles all the cases without using kmap by just spawning
	a kproc that attaches the segment that needs to be read
	from or written to. fault() will setup the right mmu
	attributes for us. it will also properly flush pages for
	segments that maintain instruction cache when written.
	however, tlb's have to be flushed separately.
	
	segio() is used for devsegment and devproc now, which
	also allows for simplification of fixfault() as there is no
	special error handling case anymore as fixfault() is now
	called from faulting process *only*.
	
	reads from /proc/$pid/mem can now span multiple pages.

Hash:	88d7d8428a6cb10b421d5ff900617dad3c290fd1
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Apr 15 00:59:17 +0100 2015

	upas/smtp: cleanup mkfile
	
	no need to list headers explicitely as they are implied by $HFILES.

Hash:	35e1aa1bfa5f1bdb2002b724e636ffe1ddea9a09
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Apr 13 22:35:36 +0100 2015

	segment: don't store pointers in a long

Hash:	656dd953a85b043c1eb085d5d8e1f7f7f1e4452f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Apr 13 22:18:56 +0100 2015

	segment: fix read/write g->dlen race, avoid copying kernel memory, qlock
	
	code like "return g->dlen;" is wrong as we do not hold the
	qlock of the global segment. another process could come in
	and override g->dlen making us return the wrong byte count.
	
	avoid copying when we already got a kernel address (kernel memory
	is the same on processes) which is the case with bread()/bwrite().
	this is the same optimization that devsd does.
	
	also avoid allocating/freeing and copying while holding the qlock.
	when we copy to/from user memory, we might fault preventing
	others from accessing the segment while fault handling is in
	progress.

Hash:	85e144dcb0c621161ca4275f7613d606da088ca0
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Apr 13 22:04:53 +0100 2015

	zynq: invalidate cache before booting cpu1
	
	sometimes, machine would crash on boot because
	of data cache inconsistency. invalidating the
	cache before booting cpu1 fixes it.

Hash:	a43321946e0f661f51290988c7e7567262d403bd
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Apr 12 17:08:06 +0100 2015

	segment: speed up fixedseg() doing single pass over freelist
	
	walking the freelist for every page is too slow. as we
	are freeing a range, we can do a single pass unlinking all
	pages in our range and at the end, check if all pages
	where freed, if not put the pages that we did free back
	and retry, otherwise we'r done.

Hash:	98a7eae9c0cdb31a48c79b34c5f263916a8c1390
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Apr 12 15:38:39 +0100 2015

	segment(3): document fixed segment creation

Hash:	d9880518f0d6923561252e290417c0cd2acd26b5
Author:	aiju <aiju@phicode.de>
Date:	Sun Apr 12 15:16:19 +0100 2015

	merge

Hash:	a079cd1a3a17ec7eef4d1b5009dade4a05346ddb
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Apr 12 15:06:28 +0100 2015

	merge

Hash:	647a1da10867b87f90e7f917d7c33ba69ed2a705
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Apr 12 15:05:05 +0100 2015

	segment: fix print buffer overflow, map fixed segments uncached, add to zynq kernel

Hash:	81e6b7e9c958bd5da3c93e204fff59e6868bd0fc
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Apr 12 21:31:34 +0100 2015

	merge

Hash:	461c2b68a16ab3314202ec7796fe7eb8a7731f2d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Apr 12 21:30:30 +0100 2015

	kernel: fixed segment support (for fpga experiments)
	
	fixed segments are continuous in physical memory but
	allocated in user pages. unlike shared segments, they
	are not allocated on demand but the pages are allocated
	on creation time (devsegment). fixed segments are
	never swapped out, segfreed or resized and can only be
	destroyed as a whole.
	
	the physical base address can be discovered by userspace
	reading the ctl file in devsegment.

Hash:	e8221d07d8c9932393f76758363327c07bdbc2dd
Author:	aiju <aiju@phicode.de>
Date:	Sun Apr 12 13:55:25 +0100 2015

	games/gb: improve sound emulation by modelling analog behaviour

Hash:	aadbcf0a32c92b1ba4584ad9487854ede43932ca
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Fri Apr 10 23:32:22 +0100 2015

	nintendo(1): update for gbc compatability

Hash:	5951073a576970b705b5194b2d199d07f80e414c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Apr 11 21:05:00 +0100 2015

	merge

Hash:	2a1d36928154c3b295510664191d3e47403f73b9
Author:	aiju <aiju@phicode.de>
Date:	Sat Apr 11 15:07:15 +0100 2015

	games/gb: limit audio range to prevent clipping

Hash:	771cb2a9cb7c91c38dd02896411ab90409d4b0aa
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Apr 11 21:03:47 +0100 2015

	ether82563: work arround bad eeprom checksum for some i218 card (thanks BurnZeZ)
	
	on some machines, the eeprom checksum reads out as 0x3ABA
	because of some bios issue. adding a flag for ignoring the
	checksum and on i218 controllers.

Hash:	61f826d45f06a7890fb9a5fa97f9a523061f5e6f
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Fri Apr 10 20:00:05 +0100 2015

	mothra(1): replace code.google.com with code.9front.org

Hash:	74b37c286f84e36ad7f6e8e482fb2a2203b7f0ed
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Apr 9 14:36:20 +0100 2015

	bootrc: simplify bootargs splitting avoiding awk

Hash:	d009b0013d90c1b3ecd0b3f35443f811ccee2791
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Sun Apr 12 04:34:25 +0100 2015

	nintendo(1), qer(8): fix typos

Hash:	5fd97c7d605e3d72232c11d1f93911f7bd2f772d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Apr 9 13:55:01 +0100 2015

	pc, pc64: remove PCICONS debug buffer from pci.c

Hash:	ca4e12839aa7234104c5d455046c8ea20af64dec
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Apr 8 20:04:10 +0100 2015

	pool: avoid triggering assert(b->magic != FREE_MAGIC) in blocksetsize() for mallocalignl()
	
	when we trim the front of a block with freefromfront(),
	the block magic of the back was not initialized which
	could sometimes trigger the assert in blocksetsize()
	to fail. fix is to just move the initialization of the
	magic field before the blocksetsize() call.
	
	the second b->magic = UNALLOC_MAGIC isnt really required
	but just done for consistency with the trim() code above.

Hash:	adfb8dff26976e201208f3f8ddc3cdc1d34cd8cb
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Apr 8 17:07:16 +0100 2015

	nusb/kb: always try to recover on error, fix recover for multi-function devices
	
	when we get an i/o error, always call hdrecover() which
	will reset the port and reinitialize the interface of
	the calling processes endpoint.
	
	handle the case when we have multi-function device with
	multiple reader procs in hdrecover(). the sequence is
	as follows:
	
	1) any of the reader procs encounters i/o error and calls hdrecover(),
	acquires qlock and initiates port reset.
	2) any other readerprocs will now encounter i/o error (due to reset) and also call
	hdrecover() but will be waiting on the qlock for reset to complete.
	3) first process completes reset and reinitializes its interface with setproto()
	and then releases the qlock for the other readers todo the same.

Hash:	fcd45e0cdd0591e11b876da4f378c0474c21475f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Apr 8 02:46:49 +0100 2015

	pci: just in case the bios is drunk

Hash:	b7ceab84d3abd72058c6d6532ebaa7a76921d370
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Apr 8 02:34:08 +0100 2015

	pc, pc64: handle 64-bit pci membars
	
	this avoids listing the upper half of 64-bit membars
	in Pcidev.mem[] array avoiding potential confusion
	in drivers.
	
	we also check if the upper half is programmed to zero
	by bios and otherwise zap the entry in Pcidev.mem[]
	and print a warning.

Hash:	fba26da490b453f58b727954184650f9767fab94
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Apr 8 01:50:09 +0100 2015

	pc, pc64: extend initial memory map for qemu multiboot data
	
	qemu puts multiboot data after the end of the kernel image, so
	to be able to KADDR() that memory early, we extend the initial
	identity mapping by 16K. right now we just got lucky with
	the pc kernel as it rounds the map to 4MB pages.

Hash:	853823f435cd30ffb52d90cd49b4cfdba42121d4
Author:	mischief <mischief@offblast.org>
Date:	Tue Apr 7 19:38:48 +0100 2015

	pc: import intel i218 nic changes from 9atom

Hash:	49fe7b0dd02ecf09bd06bf29e051ac966e39581e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Apr 7 21:05:48 +0100 2015

	kernel: move arrow cursor definition to port/devmouse.c

Hash:	39c3bc277d2fc0756843c5e3fd82500df0c95dcd
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Apr 7 21:02:57 +0100 2015

	sgi: disable graphical arcs console printing on screen modeset
	
	when we switch to graphics mode, we do not want graphical arcs console
	to print on the screen anymore as it assumes 8bit color mode and just
	messes up the screen on kernel prints.

Hash:	067e035fff201c7bb2957fe8e6090707fb998844
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Thu Apr 2 23:56:31 +0100 2015

	/lib/rob: Да!

Hash:	022856f94e7a0298660139e294752d5d2646e604
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Apr 2 17:35:43 +0100 2015

	sgi: keyboard, mouse and cursor for indy

Hash:	d9af840ca248f27e6b9d2a135e537c41b3578d52
Author:	aiju <devnull@localhost>
Date:	Thu Apr 2 14:30:12 +0100 2015

	games/gb: improved audio code

Hash:	ec8d0d9e800000ef137893bdb49c84fd76527cb2
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Apr 2 04:31:23 +0100 2015

	merge

Hash:	8e588754bccfbc8446e9d5092cd99fdc071d8188
Author:	aiju <devnull@localhost>
Date:	Thu Apr 2 21:09:34 +0100 2015

	games/gba: fix -3 crash and prevent >100% speed

Hash:	ba7fbf0114a2c31cdf0011740577769eddc4de73
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Apr 2 04:30:00 +0100 2015

	audiohda: add AMD FCH Azalia Controller (thanks qeed)

Hash:	52ab0d153472f74effbcbd7fbfb6faa84dd80e61
Author:	aiju <devnull@localhost>
Date:	Wed Apr 1 18:27:52 +0100 2015

	games/gb: fix gbc dma

Hash:	66c98fab71ea8878fc963b38a106a38518dac83a
Author:	aiju <devnull@localhost>
Date:	Wed Apr 1 18:02:03 +0100 2015

	games/gb: fix -2/-3

Hash:	edfdc4ac07fe2748b72d36ea455876907227c4c3
Author:	aiju <devnull@localhost>
Date:	Wed Apr 1 15:17:17 +0100 2015

	new games/gb: better emulation and gbc support

Hash:	0b001e265cac185947c0b0c919dbab6afec2f72c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Apr 1 14:22:37 +0100 2015

	ether8169: fix Macv45

Hash:	0f785af644b250fbf2aae77e3c7c509f80dad7b3
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Apr 1 13:58:29 +0100 2015

	ether8169: add 8168GU mac id (thanks qeed)

Hash:	86bfd0331d842c7210a3a4758b71231b18193b5b
Author:	aiju <devnull@localhost>
Date:	Wed Apr 1 11:49:59 +0100 2015

	games/c64: writes to I/O area do not affect underlying memory (documentation lied)

Hash:	2d0088598b50999949de98d6c4604fd8d42327b8
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Apr 1 11:21:11 +0100 2015

	devkbd: remove kbdputc() unused definition.

Hash:	736df3bd6ccb239a742865427d1aa48c18468b20
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Apr 1 11:15:54 +0100 2015

	devkbd: remove unused constants

Hash:	3b08fd07698b041b55d1bf465e77f29d6eec1951
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Apr 1 00:32:37 +0100 2015

	merge

Hash:	277185b51d6b58d25f9ca11bf999185aad9b5963
Author:	aiju <devnull@localhost>
Date:	Wed Apr 1 21:16:52 +0100 2015

	games/gba: remove debugging print

Hash:	b7ad5329938fd3354f28cc50d9dbec458062c579
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Apr 1 00:31:31 +0100 2015

	sgi: very primitive newport graphics driver for indy

Hash:	ebf85fb7b75f0bdc3cb27693641bc34c11ca7bed
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Apr 1 00:30:16 +0100 2015

	vl: prevent stack altering instructions to be hoisted above loads
	
	fixes bug with libmemdraw where the linker would hoist
	the final ADD $const, SP at the end over loads from the
	stack causing the front to fall off once a interrupt hits.

Hash:	2a03ed80e4fc52c327e47e1749c97b4e2c1aa1d8
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Tue Mar 31 01:53:49 +0100 2015

	webpaste: update for modified okturing.com

Hash:	1769b00b9126d2a9fb6e4acc9dc5a37dc4c96716
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Mar 30 14:55:50 +0100 2015

	nintendo(1): add SOURCE entry for games/gba

Hash:	e9e45e17eb015267aa9db69deecf26d07fa12011
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Mar 29 23:26:33 +0100 2015

	sgi: preserve R27 in setregisters(), use setregisters() in noted()
	
	GEVector() saves the exception return PC in Ureg.r27 which needs
	to be preserved.
	
	there should be no reason for the user to change the status
	register from noted() eigther, so we now just use setregisters()
	in noted() to restore previous general purpose registers. this
	means that CU1 will always be off after noted() because notify()
	has disabled the FPU on entry and set fpstatus to FPinactive
	if it was on. once user starts using FPU again, it will trap and
	restore fpu registers.

Hash:	166afefab99ee1b83efd2b02cefae52f6584fd0c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Mar 30 22:46:31 +0100 2015

	merge

Hash:	2c9b1c6b53c2a6573e286ce7cbd76ef316068a3a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Mar 30 22:45:09 +0100 2015

	etherseeq: reset the card when it gets stuck (dma timeouts)

Hash:	5fdcde3b3ff5c11fc55612d0646c354bf947be17
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Sun Mar 29 02:08:35 +0100 2015

	/lib/faces: add eekee.1

Hash:	eff2a40c163933b65f016c1a154aa77dacaaef09
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Mar 28 13:12:35 +0000 2015

	merge

Hash:	feb92fedb1eb041465a4185a114b3441e70cc132
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Mar 28 13:11:17 +0000 2015

	sgi: new approach for etherseeq
	
	touching transmit descriptors while dma is running causes the
	front to fall off. new approach keeps a counter of free
	descriptors in the Ring structure that is incremented
	by txintr() when transmit completed.
	
	txintr() will clean descriptors once dma has stopped and
	restart dma when there are more descrtors in the chain.

Hash:	5a34ad16cd040d163b50dcf7c070968dbd55ac43
Author:	aiju <devnull@localhost>
Date:	Sat Mar 28 09:20:52 +0000 2015

	games/gba: very subtle timer bug fixed

Hash:	177cbace733eeceaef54e2c1a4032c55d4e100dd
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Mar 28 04:15:40 +0000 2015

	sgi: work in progress kernel for sgi mips machines (only tested with r5k indy)
	
	this provides basic console support using the ARC bios routines
	theu uartarcs driver. and has native seeq ethernet driver which
	was written by reading the 2ed devseq driver as i have no
	documentation on the hardware. mmu and trap code is based on the
	routerboard kernel.

Hash:	9fd3e3f239162a192e0136034187ed674106e58b
Author:	ethan <ethan@turku>
Date:	Fri Mar 27 01:57:46 +0000 2015

	mothra: remove unused confirmcurs; move confirmcursor up with the other cursors.

Hash:	791545f28fd21a4b4c93faab0dafd61656db05c4
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Fri Mar 27 00:43:41 +0000 2015

	fortunes: TED, day 1: I want to believe -- WIRED magazine

Hash:	bf365ac50efe005e58da93b5940ae385dfa39741
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Mar 25 16:42:51 +0000 2015

	pc, pc64: state dependency to usbehci.h in mkfiles

Hash:	fbe78d46877a32a8d825d8c93acfdc4466f8ffc3
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Mar 25 13:19:05 +0000 2015

	mpdigdiv.s: aaaaand its gone!

Hash:	1cff9ab4e8412d5c6b6a3cbca720fbc4bcccecd9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Mar 25 12:56:04 +0000 2015

	ape: fix main9 for mips

Hash:	a7925e3ecb2b58c19e52c7ea36f041aab1407398
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Mar 25 12:55:37 +0000 2015

	libmp: use portable mpdigdiv routines for mips (causes invalid instruction trap on indy)

Hash:	cabf90e4ee27e505b33152e0e0594abbf8cc4ad5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Mar 25 07:33:11 +0000 2015

	ape: fix lockinit() for mips

Hash:	4687e196cc6afa63754f8928154dc3bbf276dda5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Mar 25 02:03:24 +0000 2015

	zynq: fix out of bounds access in etherprobe()
	
	calling etherprobe() with -1 cardno will rereference
	and call cards[-1].reset() which is wrong. don't do that!

Hash:	0bc9ad781fdc9e4cfcd5fed1560775e241a366fc
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Mar 24 23:11:54 +0000 2015

	boot: allow alternative proto files per kernel and kernel config for bootfs.paq
	
	bootmkfile will now looks for the following proto files in order
	and pick the first one it finds to build the bootfs.paq file:
	
	1)	$CONF.boofs.proto		(config specific)
	2)	bootfs.proto			(kernel specific)
	3)	$BOOTDIR/bootfs.proto	(default generic)

Hash:	8ab9c6d38864362d3683883f22d7539de742cf56
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Mar 24 21:54:26 +0000 2015

	vc: fix coffsect.lnno overflow into nreloc
	
	the coffsect.lnno field is 16 bit and can overflow into
	the nreloc field confusing arc firmware on load. just
	mask it to prevent overflow.

Hash:	0a9e7e34ceb24dac229b704d320a53515ddc1855
Author:	ftrvxmtrx <ftrvxmtrx@gmail.com>
Date:	Mon Mar 23 13:28:28 +0000 2015

	ircrc: remove unused clonefile

Hash:	3f4b45c4f191ad009b2f335d2f935dcd727cdeb4
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Mar 23 02:15:58 +0000 2015

	boot: bind #c to /dev with MREPL instead of MBEFORE to avoid double entries

Hash:	8caec8564d6221146e055937b6ae344a647c7c82
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Mar 22 16:49:28 +0000 2015

	vl, libmach, kernel: mips has 16K alignment for segments (for bigpages)

Hash:	80658d6ccf522200c286f02e947f3c9d2afe7ea9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Mar 22 16:42:31 +0000 2015

	merge

Hash:	8e61a0036d59af949a66cf4b90a0c7d5f076f884
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Mar 22 16:41:35 +0000 2015

	usbohci: ensure Ed and Td alignment, fix for amd64

Hash:	f2716ab22742ecccafea28948e03ddd71f419829
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Mar 19 10:45:50 +0000 2015

	merge

Hash:	c86561f6257fd865590caacb3a4ad709c848eb68
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Mar 19 10:44:26 +0000 2015

	db: fix unicode support (thanks giacomo)
	
	from the unicode-db patch readme:
	
	command() receives a char* that is assigned to lp, which is a Rune*,
	and lp is incremented later in readchar(), so each read consumed 4 bytes.
	The only time command() is called is in runpcs() with bkpt->comm,
	which is a char* built in subpcs through a char*, so the string stored in
	bkpt->comm was not a Rune string. A way to test the bug is:
	
	db program
	main:b argv/X
	:r

Hash:	3b5c56561cffdb00428fa8d5d81997eabd52e923
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Wed Mar 18 22:33:34 +0000 2015

	pushtls(2): tls.h -> libsec.h (thanks, pr)

Hash:	4d0343c9d2db502c162f5050385ba5528aef2a47
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Mar 18 18:52:31 +0000 2015

	dhcpd: ignore ";" filename from sgi arcs bootp(); command

Hash:	dbbe430ec7c2188883f48990030c4ecb6575faa1
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Mar 18 18:31:51 +0000 2015

	libmach: use #pragma pack to force 4 byte alignment of bootexec.h structures for amd64

Hash:	3889ada9598854a3edd09007bd8a5f9a230c5bdf
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Mar 18 18:30:12 +0000 2015

	ape: silence compiler "no return at end of function" for mips lock.c

Hash:	aac6784fce5f1814150ea501c24f1fefce1fce12
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Mar 17 15:13:25 +0000 2015

	merge

Hash:	f5f9ecdcfa0b27f5971509137d77a5155b4b507d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Mar 17 15:12:01 +0000 2015

	6c: MOVL xxx, r; MOVLQZX r, r -> MOVL xxx, r
	
	eleminate MOVLQXZ instructions after MOVL as MOVL implicitely
	zero extends the result.

Hash:	848c477af947ac66168aedba423f224238649684
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Tue Mar 17 03:44:04 +0000 2015

	ssam: fix typo

Hash:	197e4d6e08a785441b242f64546e82a3829f361f
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Tue Mar 17 03:42:58 +0000 2015

	ssam: don't pollute the environment.

Hash:	17ae0ea757735e2758a1cd5ab365cbab5e0b91cf
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Tue Mar 17 03:34:37 +0000 2015

	mp(2) man page: mpinvert, not mpinverse (thanks, pr)

Hash:	972cd5e3fc96059548b725ed01704ae88c55e1b4
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Mar 16 04:46:08 +0000 2015

	kernel: get rid of auxpage() and preserve cache index bits in Page.va in mount cache
	
	the mount cache uses Page.va to store cached range offset and
	limit, but mips kernel uses cache index bits from Page.va to
	maintain page coloring. Page.va was not initialized by auxpage().
	
	this change removes auxpage() which was primarily used only
	by the mount cache and use newpage() with cache file offset
	page as va so we will get a page of the right color.
	
	mount cache keeps the index bits intact by only using the top
	and buttom PGSHIFT bits of Page.va for the range offset/limit.

Hash:	d0b1db98bcade0335b7762cb76e236a483143f91
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Mar 16 04:23:38 +0000 2015

	kernel: avoid repeated calls to reclaim(), dont miss last page in Pte
	
	when we are skipping a process because we could not acquire
	its segment lock, dont call reclaim() again (which is pointless
	as we didnt pageout any pages), instead try the next process.
	
	the Pte.last pointer is inclusive, so don't miss the last page
	in pageout().

Hash:	c1717aebf7094f8a06a9f13f322fcc8b68c23cff
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Mar 15 20:24:03 +0000 2015

	rsa(8): recommend secstore(1) for Plan 9 RSA private key storage

Hash:	9b7c9787930fe88c2faaa92255bc8c364280cf6a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Mar 15 17:01:06 +0000 2015

	mothra: <del>, <ins>, <wbr>

Hash:	6411efcde8e9fea9c7a791a76578823bfe0942cb
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Mar 15 16:05:24 +0000 2015

	mothra: add <strike> support

Hash:	e451804a75ac4931e981eec8ba8d7a7a503a0585
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Mar 15 14:27:56 +0000 2015

	boot: disable group/other permission checking in bootfs paqfs
	
	when building bootfs in d770 mode directory, the other permissions
	in bootfs paq are masked off which results in boot to fail. theres
	no point in checking group/other permissions on boot, so just disable
	permissin checking in paqfs with the -a flag.

Hash:	b821edbcaba8400dfd968941812e698b5bab452a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Mar 14 21:23:39 +0000 2015

	doom: print correct version number on mismatch (thanks qu7uux)

Hash:	2443d46a9ead610cdeebdc389f7b05356216d93e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Mar 14 00:09:37 +0000 2015

	webfs: do not send credentials in automatic referer url

Hash:	8ef66ca21218af00181bf78f37a5ede0238a7fa1
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Mar 14 00:02:43 +0000 2015

	rc-httpd: support for http basic authentication, fix cgi support to work with hgweb.cgi

Hash:	060e69b15aae22ca9fcf9d9e7970bd2d611544f3
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Mar 14 00:00:26 +0000 2015

	httpauth: little helper for rc-httpd to do http basic authentication with plan9 auth server

Hash:	85cab72ea0093d529db65bd5946cf166019f9edb
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Mar 13 17:45:58 +0000 2015

	hg, python: remove proto files

Hash:	e74d851d692e7249dd5ee2f0e4bb7ba3ed9844e4
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Mar 13 17:30:59 +0000 2015

	hg: install hgweb templates

Hash:	e437b1b289354c9d390b400f1c9c215857848126
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Mar 12 16:44:33 +0000 2015

	pemencode: handle base64 input length < 3, fix bogus zero termination

Hash:	757354dac6d55d12f28a3a94c601e625cf89c5ac
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Mar 12 16:29:17 +0000 2015

	imap4d: simplify auth code using encodefmt(), use readn() to get multiple of 3*18 in base64 input buffer

Hash:	7e7cc2c8d78a1e5e61f6c71051f8039365314ec4
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Mar 12 16:26:49 +0000 2015

	webfs: simplify http basic auth code by using encodefmt()

Hash:	69af2676b0c62a79370158b9a6ee1263d614ac88
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Mar 12 16:23:56 +0000 2015

	upas/marshal: deduplicate cistrcmp()/cistrncmp()/enc64()
	
	use the libc versions of these routines avoiding
	code duplication.

Hash:	6eba362810c398e59727e8286b1e3f24178b6618
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Mar 11 17:09:48 +0000 2015

	ndb/dns: reduce sencodefmt() to not link in enc32()/enc64() encoders
	
	the special sencodefmt() in ndb/dn.c is only used with %H format for
	hexadecimal printing for binary strings. removing the unused
	calls to enc32() and enc64() reduces the code size by arround 4K.
	(this is usefull for ndb/getip which gets linked into the kernel).

Hash:	9babf6a347c71b01cdc8c057185083b96447af62
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Mar 11 16:48:24 +0000 2015

	encode(2): clarify lim argument to enc*(), add SOURCE reference for encodefmt()

Hash:	e6697f295584dee9ea9df7cd3a60fac8e1cfdee2
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Mar 11 16:28:19 +0000 2015

	merge

Hash:	8c11b62af9e60a35d594deb55b88026ff84124f7
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Mar 11 16:14:56 +0000 2015

	smtp, smtpd: fix use of enc64(), fix memory leaks in doauth()
	
	the approximation of n*2 to calculate the number of output bytes
	for enc64() fails for inputs of size < 3. this is fixed by using
	encodefmt() which gets the calculation right and also simplifies
	the code avoiding the allocation and freeing of intermediate string
	buffers.

Hash:	aa3a54246b581117f63e913eaaa149ddda6742e7
Author:	aiju <devnull@localhost>
Date:	Wed Mar 11 15:13:42 +0000 2015

	netaudit: comment file server auth test (unreliable on cwfs)

Hash:	a44a1dbd19c2a9b05b497e32853e57ca88495397
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Mar 11 11:59:19 +0000 2015

	gif: fix color table clipping (for cb5.gif)

Hash:	a6f7507661ad7decb3a0a62994bea2ba276ff81d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Mar 11 10:56:02 +0000 2015

	factotum: remove unused extern declarations of invoker and authdom from header

Hash:	4d211fdd4801bd6db06ae2c0a72b47de55f3194c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Mar 10 17:16:08 +0000 2015

	kernel: fix integer overflow in syssegflush(), segment code cleanup
	
	mcountseg(), mfreeseg():
	use Pte.first/last pointers when possible and avoid constructs
	like s->map[i]->pages[j].
	
	freepte():
	do not zero entries in freepte(), the segment is going away and
	here is no point in zeroing page pointers. hoist common code at
	the top avoiding duplication.
	
	segpage(), fixfault():
	avoid load after store for Pte** pointer.
	
	fixfault():
	return -1 in default case to avoid the "used but not set" warning
	for mmuphys and get rid of the useless initialization.
	
	syssegflush():
	due to len being unsigned, the pe = PGROUND(pe) can make "chunk"
	bigger than len causing a overflow. rewrite the function and deal
	with page alignment and errors at the beginning.
	
	syssegflush(), segpage(), fixfault(), putseg(), relocateseg(),
	mcountseg(), mfreeseg():
	keep naming consistent.

Hash:	5639d1e5fc46c5f236cff7168a5800367368a6ec
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Mar 9 23:44:17 +0000 2015

	wpa(8): the -p flag will also prompt for user/password on wpa enterprise

Hash:	dfed1eb851c363509201c3f03ea0123d069008d5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Mar 9 23:41:46 +0000 2015

	pushtls(2): fix signature to TLSconn.trace()

Hash:	482694b72a4d720a6c4246b721b34195f02ac4b8
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Mar 9 19:26:20 +0000 2015

	webfs: implement CONNECT method for https connections over proxy
	
	when using a http proxy, establish secure tls connection to the
	other end with the CONNECT method so the proxy.

Hash:	e87bbc878ec35e0f26dd54e9dfcdf96fa1432323
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Mon Mar 9 01:52:34 +0000 2015

	theo: OpenBSD is not generally known as an exposed democracy.

Hash:	9b63280ae87d3215c083794705d44b9099610eb7
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Mon Mar 9 01:46:00 +0000 2015

	g: search .awk and .rc files

Hash:	b69556052eb64bc77f4fa4ed357c3f67ee28ca2a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Mar 8 04:27:24 +0000 2015

	gs: fix bug 694539. Reading off the end of the cbuf when dash pattern len is max

Hash:	fcc336b9023e30f32652ba644663d356e00bf66b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Mar 7 17:59:06 +0000 2015

	kernel: catch address overflow in syssegfree()
	
	the "to" address can overflow in syssegfree() causing wrong
	number of pages to be passed to mfreeseg(). with the current
	implementation of mfreeseg() however, this doesnt cause any
	data corruption but was just freeing an unexpected number of
	pages.
	
	this change checks for this condition in syssegfree() and
	errors out instead. also mfreeseg() was changed to take
	ulong argument for number of pages instead of int to keep
	it consistent with other routines that work with page counts.

Hash:	0c705580ab670e94b3a792967b428ad841ce570f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Mar 7 14:21:01 +0000 2015

	snap: fix readseg() to cope with > 2gb segments

Hash:	7b7c7f4451563693da8dc045e427dba0a9490792
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Mar 6 17:30:25 +0000 2015

	merge

Hash:	dc6d81cc7e90b1b4482d69498036860f576cd43b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Mar 6 17:29:39 +0000 2015

	zynq: sdio support

Hash:	374d4ec2c154cbec0094f124f2173b685adbabd5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Mar 6 15:16:45 +0000 2015

	devsd: always page align sd buffers
	
	sdbio() tests if it can pass the buffer pointer directly to
	the driver when it is already in kernel memory. we also need
	to check if the buffer is properly aligned but alignment
	requirement is handled in system specific sdmalloc() and
	was not known to devsd.
	
	to solve this, we *always* page align sd buffers and get rid
	of the system specific sdmalloc() macro (was only used in bcm
	kernel).

Hash:	fadbb92afaa7530121a13306aad4224692f1d6ee
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Mar 6 13:31:51 +0000 2015

	zynq: do mpinit() early so cpu1 debug prints do not intermix

Hash:	4e259dffbb32567765ec82c5e330c4ee565b266f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Mar 5 09:17:23 +0000 2015

	merge

Hash:	aade4d9d8ae9bc60b628f73573399c763888f189
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Mar 5 09:16:17 +0000 2015

	set /mail/tmp permissions world writable in cdproto

Hash:	3cd7978a72baf77bfd08e6a6be2da497393a02a9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Mar 5 22:48:23 +0000 2015

	zynq: fix usb by implementing delay() and give proper port speed in portstatus

Hash:	f7160e633cfe9ba304867e630a9b0ab2fac0b3fe
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Thu Mar 5 00:23:34 +0000 2015

	col(1): add SOURCE (thanks, qrstuv)

Hash:	07c7fa6716a2f54f9feab3eb56f8677edb1b033d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Mar 4 09:20:31 +0000 2015

	libthread: get rid of chaninit() (thanks qrstuv)
	
	chaninit() does not initialize Chan.qentry and Chan.nentry
	and there is no way to get rid of such a channel. nobody is
	using it, so removing the function to avoid confusion.

Hash:	eaf91d0f8ef43344ea9b8b030ab1a446211b8d10
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Mar 3 12:08:29 +0000 2015

	kernel: fix physical segment handling
	
	ignore physical segments in mcountseg() and mfreeseg(). physical
	segments are not backed by user pages, and doing putpage() on
	physical segment pages in mfreeseg() is an error.
	
	do now allow physical segemnts to be resized. the segment size
	is only checked in segattach() to be within the physical segment!
	
	ignore physical segments in portcountpagerefs() as pagenumber()
	does not work on the malloced page structures of a physical segment.
	
	get rid of Physseg.pgalloc() and Physseg.pgfree() indirection as
	this was never used and if theres a need to do more efficient
	allocation, it should be done in a portable way.

Hash:	2259f3fb9aebb2973ee2d892bec944f177a41c64
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Mar 2 10:01:12 +0000 2015

	libdraw: font->display->defaultsubfont vs. display->defaultsubfont, dead code, malloc erros
	
	it is possible to have fonts belong to different or no display, so the
	check for defaultsubfont has to be against font->display, not the global
	display variable.
	
	remove unused freeup() routine.
	
	handle strdup() error in allocsubfont() and realloc() error in buildfont().

Hash:	fc1ff7705b339d480f15fa934c7df215158c1901
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Mar 1 17:56:45 +0000 2015

	devmnt: remove unused mntstats fields from Mntrpc

Hash:	3f869a689403c385ca761be5535a5de2db054db4
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Mar 1 10:17:21 +0000 2015

	factotum: cleanup getnvramkey()
	
	- remove secstore password code, it is not used anymore.
	- zero the Nvrsafe structure on the stack before returning.
	- use smprint(), can't overflow.

Hash:	0467b41972b62604c8a22b355569413890b9757c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Mar 1 04:45:22 +0000 2015

	libdraw: use multiple read() calls in openfont() to read .font file
	
	font files might be bigger than the i/o unit, so do multiple reads
	until eof to read it.

Hash:	e725771b5d8a78fd8ade6062925894cfe3f1d4d1
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Mar 1 04:39:45 +0000 2015

	libdraw: use readn() to read headers and Fontchar array
	
	the Fontchar array might be bigger than the i/o unit,
	so we have to use readn() to properly read it.

Hash:	7cdc13accc1735d6b047d3e99f69df023b221908
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Mar 1 04:33:41 +0000 2015

	6c: fix missing memset in Bconv()

Hash:	692e32caf40f8e8d03eb5fd7203d878d5bec71aa
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Feb 28 12:27:00 +0000 2015

	thread(2): remove another instance of /mnt/temp

Hash:	95565d289ebf40a697654cf243021a85572e91b6
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Feb 28 12:26:38 +0000 2015

	libthread: remove unused internal functions and old xinc assembler files

Hash:	45d1d31847dfc425410a107b66537e567c0d5637
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Feb 28 11:50:17 +0000 2015

	libthread: use devdup instead of mounting pipe to /mnt/temp for close-on-exec in procexec()
	
	the namespace might be shared by other processes. instead, we
	create a anonymous pipe with pipe() and use devdup to open one
	end close-on-exec. this is shorter and avoids the race condition.
	
	do not touch Execargs after writing the error message as the
	process might be gone after the write. this was to manually
	close the fd which isnt neccesary as the kernel will do it
	for us on the following exit.

Hash:	1d2ce3583ec377f16a1f801f624344de99bc9ddc
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Feb 26 21:33:03 +0000 2015

	leak: report alloc size mismatch

Hash:	098884981d07ebbb4aabb55aac23c091f18114bb
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Feb 26 21:22:07 +0000 2015

	pool: maintain Pool.curalloc for poolallocalign() and blockgrow()
	
	blockgrow() and poolallocalign() change the size of
	allocated blocks which needs to be accounted for
	in Pool.curalloc.

Hash:	244d5ab76b6332f55daf6e4df10729b04364429a
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Thu Feb 26 00:22:47 +0000 2015

	fortunes: My recent incompetence is humbling.  I should quit the industry.

Hash:	5866bd5ada44d745505f57d15c1ec38d4c62ca04
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Feb 25 23:54:23 +0000 2015

	aux/vga: dont error when vesa setscale fails after modeset (thanks rx9p for reporting)

Hash:	1e14429f4782625ed4ea12edfbd2dfc58da1034e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Feb 24 13:21:47 +0000 2015

	kbdfs: work arround qemu
	
	qemu does not send e0 escape for gray (arrow) keys, no matter
	the numlock state. as a work arround, we assume gray key when
	numlock is not active.

Hash:	4235556c16d4eb0be17a4baac1801bfd92541e0a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Feb 24 02:30:21 +0000 2015

	libdraw: check fontchar count in openmemsubfont() and readsubfont()

Hash:	5f8cacd2de0afc51a4c01a358ed087847f284dda
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Feb 24 02:25:26 +0000 2015

	libdraw: cleanup getsubfont()

Hash:	cc77058aea9001d9db60049500c50b971df89456
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 23 06:27:19 +0000 2015

	webfs: check $httpproxy and error when its bogus
	
	the httpproxy environment variable needs to be a url as stated
	in the manpage, so give an error when it isnt.

Hash:	60fd51b9b7234f758849a442cf1abf4eb0f20729
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 23 00:23:31 +0000 2015

	merge

Hash:	d7a4fdee99c295a2d201f70ae908a7bec43f4c04
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 23 00:20:42 +0000 2015

	jpg: handle progressive non-interleaved mode

Hash:	cd346556427f3fb37f6e8404a08664c7950b75c2
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Feb 21 09:56:32 +0000 2015

	merge

Hash:	ccb624e2bb67161590f490f671f611a44fcbd61e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Feb 21 09:55:09 +0000 2015

	gs: backport 16MB string support

Hash:	e3ddbf12bd7629fbf50535ca2815343d7052aa9e
Author:	khm <devnull@localhost>
Date:	Fri Feb 20 20:09:25 +0000 2015

	restore balance to reality

Hash:	c9785a08ff3c84ee191517b55b4ba085b11a2cd7
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Fri Feb 20 19:28:56 +0000 2015

	io(1), seg(1): add HISTORY section to man pages (thanks, jpm_)

Hash:	6f1787adcb00e8b5d320561b232810a94932b8eb
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Feb 20 17:56:22 +0000 2015

	devusb: check for nil hp->dump and hp->seprintep

Hash:	c6069e28ac0e5a66000f0a887367d7c68410e253
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Feb 20 17:43:32 +0000 2015

	pc, pc64: simplify intrdisable()

Hash:	173bafd8007ed844eb59ae5882427b0a5a5b98a9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Feb 20 17:42:24 +0000 2015

	devusb: fix debug ctl nil crash

Hash:	0b016a77e42dfc33df4d46bdd4c817fa3ed5ac90
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Feb 19 23:21:45 +0000 2015

	gs: backport aes support for pdf-1.6

Hash:	13508a99a8955b98609ec7dcbf5f57069179a4de
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Feb 19 10:44:16 +0000 2015

	gs: work arround broken xref table pdfs
	
	rebuilding the xref table does not work for pdfs with
	compressed object streams. as a work arround, we skip
	xref table verification and ignore wrong xref gen #
	for gen 0 objects.

Hash:	581f3852fe94949ab53b876d35ce2361240d6862
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Feb 18 05:30:01 +0000 2015

	pc, pc64: fix intrdisable() MaxIrqLAPIC -> MaxVectorAPIC (thanks mischief)

Hash:	0037c93433cdda1dccd35d5fc57682fe1c86eb6d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Feb 18 22:34:33 +0000 2015

	6c: eleminate more MOV instructions
	
	convert:
	
	x = B || W
	MOVxLZX a, r; MOVxQZX r, b -> MOVxQZX a, r; MOVQ r, b
	MOVxLSX a, r; MOVxQSX r, r -> MOVxQSX a, r; MOVQ r, r
	
	the MOVQ can then be eleminated by copy propagation.
	
	improve subprop() by accepting other mov and lea
	instructions as the source op.

Hash:	8210f857f1a35ec285c972c2951e80ce8807f736
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Feb 17 21:25:55 +0000 2015

	6l: no need to emit rex.w prefix for MOVBQZX and MOVWQZX
	
	as with 32 bit operand size, the upper bits 63:32 are
	automatically zeroed in 64bit mode. this gives a shoter
	instruction encoding.

Hash:	eec5799f4c38c30786031f295a5ab833ab20ee6a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Feb 17 21:17:30 +0000 2015

	nusb/usbd: fix typo in debug prints, dont use %U format as its not installed

Hash:	5c84044f5167483515a91239bc0420fe645c6a4e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Feb 17 21:16:02 +0000 2015

	vc: eleminate strcpy in multab code

Hash:	03feba8cc1a68da8882bfc90d182365308a00743
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Feb 17 21:13:35 +0000 2015

	[125678kqv][cl]: fix sprint() and strcpy() buffer overflows

Hash:	fdeea811b7f309e1bd542a0a23fd382e332b2c2e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Feb 17 06:05:54 +0000 2015

	tlssrv: produce meaningfull error message when unable to read certificate

Hash:	ebeb158a082f5f0b21029cf356d2099bcbaca0fb
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Feb 17 05:59:55 +0000 2015

	tlssrv: fix usage, dont cat

Hash:	a55c2b2b816998618398f85f1ca7839126afbed0
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Feb 17 05:54:19 +0000 2015

	tlssrv: fix this mess (thanks burnzez for reporting the issue)
	
	tlsServer() closes the passed in fd, in our case fd=1 leaving it
	with no std output which got occupied by pipe() filedescriptor
	which it then closed after duping... a classic.
	
	delete all this mess. theres no reason to fork() and copy traffic
	on a pipe at all as tlsServer() gives us a perfectly valid filedescriptor.
	just dup() and exec() and we'r done.

Hash:	d99a4ed1b8d06a5163b1cceb8d4cfe285faa70b2
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Feb 15 05:26:49 +0000 2015

	wc: flags dont need to be uvlong

Hash:	94d3d64c881182fe0407bc9b4db2c4bde0dcf254
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Feb 15 05:22:19 +0000 2015

	wc: bring back old wc but extended for 21 bit runes
	
	the imported wc from sources is arround 8 times slower
	than our old one. it is common to run wc on large log files
	to count lines. so i think the implementation complexity
	is justified. (just like with grep)

Hash:	b06a35ba56fd093916f5c2cbf2ab8c8062188915
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Feb 14 15:20:40 +0000 2015

	wc: import new wc from sources

Hash:	995379e388e4cd202f683a00e99749c7f21a225d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Feb 14 02:00:31 +0000 2015

	usbehci: initial support for usb on zynq, remove uncached.h
	
	the following hooks have been added to the ehci Ctlr
	structore to handle cache coherency (on arm):
	
		void*	(*tdalloc)(ulong,int,ulong);
		void*	(*dmaalloc)(ulong);
		void	(*dmafree)(void*);
		void	(*dmaflush)(int,void*,ulong);
	
	tdalloc() is used to allocate descriptors and the periodic
	frame schedule array. on arm, this needs to return uncached
	memory. tdalloc()ed memory is never freed.
	
	dmaalloc()/dmafree() is used for io buffers. this can return
	cached memory when when hardware maintains cache coherency (pc)
	or dmaflush() is provided to flush/invalidate the cache (zynq),
	otherwise needs to return uncached memory.
	
	dmaflush() is used to flush/invalidate the cache. the first
	argument tells us if we need to flush (non zero) or
	invalidate (zero).
	
	uncached.h is gone now. this change makes the handling explicit.

Hash:	6b2d1f0186f2e38a3b0cd6a19b5980dccb045c3c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Feb 14 01:44:19 +0000 2015

	zynq: do fixed mapping for ocm memory on boot and make kaddr() and paddr() work with it
	
	map the whole ocm memory on boot so we can translate physical to
	virtual addresses and back for uncached memory using KADDR() and
	PADDR().
	
	replace ualloc() with ucalloc() returning virtual address. physical
	address can be acquired with PADDR() now.
	
	as ocm is now always mapped, use KADDR() instead of tmpmap() for
	mp bootstrap.

Hash:	48c5cf1f11fb6b8b620e5ed9269a528b5f6633f4
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Feb 12 17:40:20 +0000 2015

	ircrc: dont require nick and user to be the same for auth/userpasswd (thanks spew)

Hash:	3805e56edc4f1f0f7426f9cf7278e18405ae66c4
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Feb 12 17:24:41 +0000 2015

	ircrc(1): remove auth/userpasswd complaint from BUGS section

Hash:	92602d08d6cd5c9b4f04fbbcb9968161534d24e1
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Feb 12 17:18:34 +0000 2015

	build and document auth/userpasswd

Hash:	8b57e59ea93b7fc4f80c33bc1560b685f392ccc4
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Feb 11 22:54:28 +0000 2015

	libc: check name in getvent()/putenv()
	
	passing "", "." or ".." as name caused a crash in
	getenv() as it would open the directory; then seek()
	to determine the file size would fail and return -1.
	
	now checking for these special names and set
	error string when its bad.
	
	doing a single read() will not work when /env has a
	9p fileserver mounted onto it and the file size is bigger
	than the i/o unit. so doing incremental reads until
	we get eof.

Hash:	21570a47195d90b1dc2a3634d8042929543599d3
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 9 18:17:04 +0000 2015

	igfx: displayport support for ivy bridge

Hash:	20f2add592f8463ef6820afd07a342acb26da304
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Sun Feb 8 18:19:47 +0000 2015

	mothra: add side scrolling, controlled by left and right buttons on the keyboard. if desired, x-scrollbar can be set visible via the visxbar variable in mothra.c. (thanks, jpm_)

Hash:	b2c2d1ed2a0ce84f3ebe34065d35cec0789653cb
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Sat Feb 7 06:12:46 +0000 2015

	vga/igfx: add 0x2a02 for GM965/GL960/X3100; comment vid/did with name of chipset

Hash:	92d75fe03f6702f7621fe7fb822405fd339603aa
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Sat Feb 7 06:10:35 +0000 2015

	vgadb: add vid=0x8086 did=0x2a02	for Intel GM965/GL960/X3100; comment recent igfx ctlr definitions with the names of specific chipsets instead of the model numbers of laptops they may ship in

Hash:	cab445eb6232e03cec1a01f3a53d9e591005a0b9
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Sat Feb 7 06:01:11 +0000 2015

	pc64: enable uartisa in default config

Hash:	dc506ad17ec1ba71a76e45d1407b3695b375243b
Author:	aiju <devnull@localhost>
Date:	Sat Feb 7 17:55:03 +0000 2015

	games/c64: map : to \ key

Hash:	0ac099e6b444837f0f91c8fecc6719bd3c63eb44
Author:	aiju <devnull@localhost>
Date:	Sat Feb 7 17:28:55 +0000 2015

	games/c64: fix -2/-3

Hash:	be3db32338dc5f5949ced610adf65dc4e0880340
Author:	aiju <devnull@localhost>
Date:	Sat Feb 7 17:12:06 +0000 2015

	games/mkfile: add c64

Hash:	cca3ad2453266279472aaae47ec9a14e59bcf912
Author:	aiju <devnull@localhost>
Date:	Sat Feb 7 17:11:19 +0000 2015

	games/c64: oops

Hash:	f6eacf471e61b188607690e4cdc28a2d94f7db14
Author:	aiju <devnull@localhost>
Date:	Sat Feb 7 17:03:17 +0000 2015

	added games/c64

Hash:	8ac5227a3626dd70a51d2c091b8730ce0f2d8403
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Feb 7 02:24:07 +0000 2015

	zynq: fix print format warning in screeninit()

Hash:	e8760ba6360d3ccd75d8ccf8319ff40954b6659c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Feb 7 02:01:59 +0000 2015

	kernel: make pagereclaim() a bit less stupid
	
	put recently used pages at the head of ther image hash
	chains, and reclaim pages from the tail first.

Hash:	b8cf3cb879a19c001796329ebe266104d13e63be
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Feb 7 01:52:23 +0000 2015

	kernel: reduce Page structure size by changing Page.cachectl[]
	
	there are no kernels currently that do page coloring,
	so the only use of cachectl[] is flushing the icache
	(on arm and ppc).
	
	on pc64, cachectl consumes 32 bytes in each page resulting
	in over 200 megabytes of overhead for 32gb of ram with 4K
	pages.
	
	this change removes cachectl[] and adds txtflush ulong
	that is set to ~0 by pio() to instruct putmmu() to flush
	the icache.

Hash:	f215b660b30cc5e5d318922f545441b4ac14b200
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Feb 5 18:55:46 +0000 2015

	fplot: add modulus % operator

Hash:	6409684518f7f3ee35c0ed1933e04e059cb562ab
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Feb 5 03:29:28 +0000 2015

	libsec: add TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA client cipher suit support

Hash:	30871030f58f7f845dc5e6301df26acfecd0e5ac
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Feb 5 22:08:46 +0000 2015

	aux/vga: remove vbs/vbe from mode, use shs/ehs when sync is ment, prefer detailed timing in edid
	
	vbs/vbe members in Mode was only used in the vesadb
	and cannot be changed from vgadb.
	
	use shs/ehs in drivers when refering to the horizontal
	sync pulse. clarify the matter in a comment.
	
	link detailed timing modes at the head of the edid
	modelist. these are the modes we'r interested in,
	not the ones from vesadb.

Hash:	b41ca13526dcdeb526005e5407073c1cbd9b5607
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Tue Feb 3 02:30:07 +0000 2015

	fortunes: The NTP codebase is larger than the SSH codebase.

Hash:	01762349bd563edc672e5063b548a88948fcbdce
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 2 02:05:56 +0000 2015

	aux/vga: fix mistale :-)

Hash:	8067368e10330a67550f9e3ee353da858266a6eb
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 2 01:58:59 +0000 2015

	aux/vga: use optional edid information to determine mode when vgadb fails
	
	igfx and vesa can determine monitor timing information from ddc
	and store the edid info for connected monitors in vga->edid[].
	when monitor type cannot be found in vgadb, we consult the edid
	information and make a mode based on the edid info.
	
	this avoids having to maintain a vgadb entry for each monitor.
	
	monitor can be set to "[width]x[height]@[freq]Hz" for a specific
	edid setting. when not found, a mode is searched based on the
	size.
	
	so the following should work:
	
	aux/vga -m 1366x768@60Hz -l 1366x768x32
	aux/vga -m auto -l 1366x768x32

Hash:	e34fa15921cd76d78e7adc28e471204de036d66a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Feb 1 18:28:24 +0000 2015

	aux/vga: cleanup vesa code
	
	dbvesamode() modified the passed in size string in the process
	of option parsing. this is a no-go because the string might be
	constant in the read only section. provide cracksize() function
	for the parsing and make a static copy.
	
	do the vendor specific monitor detection in vbesnarf() instead
	of vbecheck(). vbecheck()'s purpose is to check if vesa bios
	service is avialable, not snarf graphics card state.
	
	nvidiascale() was a no-op because it missed the vbecall() at
	the end of the function. this means it was never tested so i
	add the missing vbecall(), but disable nvidiascale for now
	until someone tests this.
	
	keep fancy stuff out of the Vbe structure. it is just there for
	making bios calls, not keep state about the graphics card.

Hash:	7fbed4d63541f9695c00f295e1dfde10bb8d9808
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jan 31 19:18:45 +0000 2015

	mothra: people do not like it. reverting

Hash:	3ce514ca0a36e90a89a066a3c73f4d45ceb5c530
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jan 31 19:01:24 +0000 2015

	mothra: wrap long text and images to fit

Hash:	b76b5901ff41c7851df1f452578d8d5fa4e5f933
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jan 30 13:50:28 +0000 2015

	kernel: increase size of palloc.mem[] user page bank array
	
	we'r hitting the limit of user page banks on some asrock mainboard,
	so doubling the size of the array twice to make running out unlikely.

Hash:	d21af173677127813b63a61a97131de821a680d6
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jan 30 12:41:23 +0000 2015

	wifi: fix recvbeacon()
	
	we used to read beyond the boundaries of the becon because of
	the end pointer was offset by the beacon header. this is
	also what caused the double entries.

Hash:	18b931dde7d9259968a91a1baee96db92a79d34d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jan 30 01:00:07 +0000 2015

	wifi: ignore truncated tlv in beacon/probes

Hash:	0c7d5168c3dde9cf048cebc56d304466f8d85549
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jan 29 13:11:43 +0000 2015

	factotum(4): fix typo

Hash:	4442e0e1d5ccf93323ad47d2dfd4eebeda67a666
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jan 29 12:57:27 +0000 2015

	factotum(4): document mschapv2 and wpapsk protocols

Hash:	bb3db0d56837281233accd9203c578ec05ec0e91
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jan 29 12:21:12 +0000 2015

	tftpfs(8): fix manpage reference dhcp(8) -> dhcpd(8)

Hash:	9532b43d320db70875771836dd170e645306b923
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jan 29 12:17:34 +0000 2015

	ircrc(1): tlsclient(8) -> tlssrv(8)

Hash:	6f9d8697f6864e44201c5319b641c913c2f0725a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jan 29 12:16:08 +0000 2015

	6in4(8): document ayiya

Hash:	a5358706698f484a0c55f56e1915f769e3367a16
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jan 29 11:36:14 +0000 2015

	ircrc(8), ndb(8): fix manpage reference

Hash:	e823ddb3b0703e034615fc8c62fdec0d5924e649
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Jan 27 21:14:26 +0000 2015

	devmnt: handle rpc buffer exhaustion on mntflushalloc()
	
	this bug happens when the kernel runs out of mount rpc
	buffers when allocating a flush rpc. in this case, mntflushalloc()
	will errorjump out of mountio() leaving the currently in
	flight rpc in the mount. the caller of mountrpc()/mountio()
	frees the rpc thats still queued in the mount leaving
	to interesting results.
	
	for the fix, we add a waserror() arround mntflushalloc() and
	handle the error case like a mount rpc failure which will
	properly dequeue the rpc's in flight.

Hash:	72be22cd3ad8236dba47d3c56d1ba8af5b16a1c2
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Jan 27 13:09:24 +0000 2015

	wpa: fix password avp padding, recognize wpa1 authentication oui
	
	we have to padd the data portion in the password avp,
	not add padding after the avp.

Hash:	a342e5ac5d5bda2efb66fb9a29d2e7f72aba688d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Jan 27 09:56:56 +0000 2015

	wpa: do not forward alert tls records, close connection

Hash:	3440516e047dc425406fa8060f704361c774439a
Author:	mischief <mischief@offblast.org>
Date:	Mon Jan 26 01:21:07 +0000 2015

	pc, efi loaders: erase characters when backspace is pressed

Hash:	5fc2f6af6c9d938dca7dd4b8df061d9eeb87ec75
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jan 26 00:26:42 +0000 2015

	wpa: cleanup, pad eap-ttls/pap password, zero passwords and key material after use

Hash:	5a0c34e9fbe074df1d7090e31ab38a3a37675949
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jan 25 06:58:20 +0000 2015

	wpa: experimental wpa2 enterprise support
	
	this adds support for eap-peap/mschapv2 and eap-ttls/pap.
	
	code has only been tested with freeradius and a cheap
	access point, not tested with actual eduroam network.

Hash:	5649042bff26fa0594217432d085b9f96b923298
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jan 25 06:49:50 +0000 2015

	factotum: implement proto=mschapv2 client role
	
	this is used for wpa2 enterprise peap/mschapv2. server role
	is not implemented as that would require changing the
	wire format on the auth server.
	
	the naming is unfortunate as we already have proto=mschap2 which
	really refers to ntlmv2.

Hash:	91d3af942aeb9f102f3799b848f1798cc23ee002
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jan 25 06:40:52 +0000 2015

	auth(2): fix prototype for auth_getinfo() in manual page

Hash:	3d4d5940498dabb2c7abca2acd23a7e8be83e565
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jan 23 13:01:56 +0000 2015

	pc: dont handle pending floating point exception in fpsave thru FPOFF
	
	the FPOFF macro that follows the FXSAVE/FSAVE instructions in l.s
	used to execute WAIT instruction when the TS flag was not set. this
	is wrong and causes pending exceptions to be raised from fpsave which
	is called from provsave() which holds up->rlock making it deadlock
	when matherror() tries to postnote() to itself.
	
	so making FPOFF non-waiting (just set TS flag).
	
	we handle pending exception when restoring the context.

Hash:	8b95dad2080bef9958a91501a863dd29cc46345c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jan 18 09:34:05 +0000 2015

	libdraw: fix broken eenter()
	
	eenter would go into a endless loop in the redraw avoidance case
	because the label was misplaced.

Hash:	8635cc20b14553f088c937a75e92ebda02cd0c63
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jan 17 04:15:59 +0000 2015

	vgadb: use X60t without hardware cursor (broken currently)

Hash:	c4170c50522ff2de0048d8fa385ede030d64d40c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jan 17 04:14:23 +0000 2015

	igfx: remove hardware cursor support for X60t, does not work

Hash:	0c91d121f0b2c21df66d7e6cf780a8247632f607
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jan 17 03:00:36 +0000 2015

	igfx: fix wrong cursor position register address

Hash:	66d0bb89a4cfdc68212e303ecbad94ef1967e2d6
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jan 17 00:52:24 +0000 2015

	iwl: add "reset" ctl message to software tigger device reset

Hash:	a1e9adb65893e370ee6191af371c2f9b81529c29
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Fri Jan 16 19:19:45 +0000 2015

	vgadb: add lcd2190uxp, x60t

Hash:	22d15f98bae52f140846734cdd4667c5ea26d510
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jan 16 12:38:52 +0000 2015

	igfx: determine amount of preallocated stolen graphics memory for hw cursor
	
	allocate the hardware cursor plane at the end of
	preallocated stolen graphics memory.

Hash:	5e50b13d3422c5c6b55b82602c20555807599b88
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jan 16 10:36:11 +0000 2015

	devvga: use uintptr for VGAscr.paddr and VGAscr.storage
	
	some vga drivers use virtual addresses in VGAscr.storage,
	so has to be uintptr sized for amd64.

Hash:	6afce2e422614341756c2e4c19dc68135d440013
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jan 16 06:55:38 +0000 2015

	igfx: support for X60t with 1400x1050 panel
	
	program secret plane size and position registers described as "reserved"
	in g45_vol_3_register_0_0.pdf that was found by inspecting vesa bios
	port traces.
	
	also, we have to set 18:19 (Cursor/Dispaly/Overlay Planes Off) in
	PIPExCONF while programming the planes on this card. this is what
	vesa bios does on modeset.

Hash:	511cee2f223812000c19acb4dd80f161c6b48f63
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jan 16 03:46:52 +0000 2015

	webcookies: only sync the jar when dirty on clunk
	
	avoid sync the jar file when fids get clunked.
	the only reason to sync the jar on clunk is when it has
	been marked dirty (cookies added or deleted) and we
	want to flush the changes to disk.

Hash:	e41faad5a687fb5f542e0723cdd853eb41652f7a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jan 16 03:04:55 +0000 2015

	webcookies: avoid rereading and rewriting the cookie jar file all the time, dont return deleted cookies on search
	
	- rewrite when jar->dirty != 0 (caller modified the in memory jar)
	- reread when the jar->qid != stat(jar->file)->qid (on disk file changed)
	- ignore deleted cookies in cookiesearch()

Hash:	d115bd0e20fbfdadfb7370a5d12156f1f488e533
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Jan 13 17:04:33 +0000 2015

	igfx: cursor/plane pipe assign is G45 only, add magic dsp a toggle from enable sequence

Hash:	9f11d4f6899071558e751dc0a9e6651e51d4cf6f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jan 12 23:19:18 +0000 2015

	kbfds: delete autogenerated latin1.h file when mklatin fails

Hash:	fff822849fd87fb3286cab86d1bbfb015a88a978
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Mon Jan 12 19:23:32 +0000 2015

	plan9.ini(8) man page: update links to iwn and ral firmware blobs

Hash:	4bed434e1e2052fdc5e766295b53ed75c94f1c19
Author:	mischief <mischief@offblast.org>
Date:	Mon Jan 12 17:52:45 +0000 2015

	vgadb: add x301

Hash:	140f7b7fefc762ad6e8b5cb3b057a68fca640fd9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jan 12 15:52:49 +0000 2015

	igfx: set the display/overlay/cursor plane override disbale bits for G45 (like bios)

Hash:	54a1db15dc74a0c108073bec891b7ea7bf228e8e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jan 12 15:40:02 +0000 2015

	igfx: fix typo, initialize more lvds bits for G45, T60 testing

Hash:	990514f9f7955ca1ba0382fe1aa74680a2f3870b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jan 12 03:14:01 +0000 2015

	vgadb: alias X200s for X200

Hash:	24d693348a6022d4434104be69c05a79621f5731
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jan 12 03:07:16 +0000 2015

	igfx: reverting previous change, pci id is for the second graphics controller pci device

Hash:	ce69208641e7d1f84336ba3468899ba8d5f68112
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jan 12 02:09:58 +0000 2015

	igfx: support for X200 (thanks bigato)

Hash:	90c1959fc4b0d05a81920edf9caf21f1280305d6
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jan 12 01:10:00 +0000 2015

	igfx: properly turn vga monitor off

Hash:	34f2e1eaf607c577b263f553c465930afbebd10f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jan 12 01:04:13 +0000 2015

	igfx: aaand vga support for x200s :-)

Hash:	9b28b2d97b2a064cecdcd44a4a627db0c28e633d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jan 12 00:51:51 +0000 2015

	igfx: vga support on x230, fix fdi link setup, LG Flatron L1730P vgadb entry

Hash:	773f1c5f6ab2d3f5c5a815e83049ab1dab8de690
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jan 11 23:02:15 +0000 2015

	fix missing games/gba target in mkfile (thanks qu7uux)

Hash:	01a1d96315b43501fceaf60b188bcba3fd5d5ab7
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jan 11 03:03:14 +0000 2015

	igfx: only use mmio... left from debugging

Hash:	21b0bafd100e605101b6614a295516df1774724c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jan 11 02:44:56 +0000 2015

	igfx: cleanup

Hash:	b4fcd2d68f4a843c83c5e18bac8bd6cab98875c7
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jan 11 02:37:07 +0000 2015

	merge

Hash:	2cdadb1b2f7233a6642875e6b5fe6e0963c7171c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jan 11 02:35:30 +0000 2015

	igfx: get edid information from lvds

Hash:	a4650bdf834911d0d3b06d630f960fbd0dd1c9ed
Author:	mischief <mischief@offblast.org>
Date:	Sat Jan 10 19:27:45 +0000 2015

	ip/ipconfig: set ndb database file with -f argument

Hash:	4dfcb4791be0f4e4f9ab24b654af1f8bfb9b3758
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Sat Jan 10 18:48:18 +0000 2015

	xargs(1) man page: rewritten -> implemented

Hash:	cbca753f00a427a4003bd4873e180d4434e3d517
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Sat Jan 10 18:46:47 +0000 2015

	xargs(1) man page: add HISTORY (thanks, jpm_)

Hash:	6e67b04a1fa9da8591abccb3c03859b50e3679d8
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jan 10 02:07:29 +0000 2015

	igfx: use mmio to access registers instead of pio, fix wrong igfxmmio segment size
	
	initially, pio was used to access registers so i didnt need
	a kernel driver for initial testing.
	
	pio does not work under efi, so use mmio to access registers.

Hash:	7c3736a16aafe0ca1fe385e86950edf22cf6fe4d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jan 10 01:16:50 +0000 2015

	merge

Hash:	8d8935618ca946f4349468d53da329beeb66becb
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jan 10 01:15:30 +0000 2015

	igfx: perserve frame start delay "magic" bits 27:28 in pipe conf register
	
	it turns out, the "magic" bits 27:28 are the frame start
	delay setting that need to be preserved.

Hash:	f6a9db1bd9b50f43c570ba55e5d5653558006763
Author:	mischief <mischief@offblast.org>
Date:	Fri Jan 9 23:41:00 +0000 2015

	libdraw: don't redraw input box in enter/eenter when mouse is moved outside the rectangle
	
	prevents some flickering when devdraw is used over a high latency connection.
	
	Fixes issue 236

Hash:	79ff9d28bd2c3d447dfb1a7b3fb6ee5634145a7a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jan 9 23:19:16 +0000 2015

	igfx: vgadb entries for x230 and x200s

Hash:	15590e39c6be92d8a9ecb2f00b015dbb9a3dc0b0
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jan 9 21:23:25 +0000 2015

	igfx: implement hardware cursor
	
	this can even be used with the vesa driver, just
	enable the cursor after mode switch like:
	
	echo hwgc igfxhwgc >/dev/vgactl

Hash:	cf76346b37ddbd54b8d1fe5580ab813a8165392b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jan 9 02:18:44 +0000 2015

	igfx: fix some comments

Hash:	35ad5c91361681246105801d42b5e97c59d0d28c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jan 9 02:03:23 +0000 2015

	igfx: aaaand the kernel part :(

Hash:	ce8db466ba402ddb877495f66a7bddf156569fdf
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jan 9 01:58:14 +0000 2015

	igfx: just kidding, heres the code :)

Hash:	6fe180657f3a7a17801cb9aa36c8fe9abda34ac7
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jan 9 01:55:12 +0000 2015

	igfx: work in progress intel graphics driver
	
	this driver can modeset lvds on x200s and x230.
	everything else is completely untested.
	no hardware cursor implemented.
	no vgadb entries are provided.

Hash:	212db4135d10039effb12ab708f8ea7d61c32b1c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jan 9 01:45:14 +0000 2015

	merge

Hash:	97d6d9ddaada7a5576ade7c6dcf4e428e236f0a0
Author:	mischief <mischief@offblast.org>
Date:	Wed Jan 7 04:13:16 +0000 2015

	vncs: add -A for no auth to usage

Hash:	1bd467fc0e3622f4dc12ac14bede208e73fa4445
Author:	mischief <mischief@offblast.org>
Date:	Tue Jan 6 04:21:40 +0000 2015

	vncs: turn off auth with -A, do not require -c for -x

Hash:	654450bc1da238c42bee28e9fccba57323a48884
Author:	mischief <mischief@offblast.org>
Date:	Tue Jan 6 04:02:01 +0000 2015

	vnc: put newlines in verbose messages

Hash:	ef9c5b4cc711a285947c16c7d1020f13acf7f7e7
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jan 5 13:23:01 +0000 2015

	pool: more strict checktree() for poolcheck
	
	check that Free.next and Free.prev pointers are not nil.
	
	check that Free.left and Free.right are Poison in non-tree nodes.
	
	check that Free.left and Free.right are *not* Poison in tree nodes.
	
	change Poison to 0xffffffffcafebabe for 64bit machines.

Hash:	384d4d2d6211544362d87a7e5a1392dd9c149092
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jan 4 11:49:44 +0000 2015

	sdide: add vid/did for 82801IIH Intel Q35 IDE controller (thanks kenji)

Hash:	5b24195a0a8dc6f2f83eb142dfbc714fc5fc8a8a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jan 4 03:26:58 +0000 2015

	sdiahci: sanitize ahci pci bar
	
	make sure the ahci pci bar is not in i/o space and has
	the right size. also make sure Aport registers are within
	the ahci bar range.

Hash:	b5008f3b562404811a81a755c6d06b47f47e545f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jan 3 17:33:35 +0000 2015

	devvga: disable hardware blanking when switching drivers, check softscreen
	
	we have to reset hwblank when switching drivers to
	prevent the generic vgablank() to be called by
	blankscreen().
	
	remove code setting hwblank from vga drivers as
	devvga will always force hwblank to be 1 or 0
	depending on if the driver provides a native blanking
	routine.
	
	set hwaccel to 1 when the driver provides native fill
	and scroll routines independent of softscreen being
	disabled. this allows hw acceleration to be used when
	softscreen gets switched off.

Hash:	ce2e8e56873cae9889ce8eadd056a62ae0636d63
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Sat Jan 3 03:56:12 +0000 2015

	lucidasans font: restore remaining truncated *unicode.*.font files

Hash:	60e56f9b52eeed4e8cf0b8a8460e67a6af064031
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Sat Jan 3 03:53:59 +0000 2015

	lucidasans font: restore truncated unicode.*.font files (thanks, mischief)

Hash:	1b4b4e89aa0459eeef2b5a1caea7923c45a244bb
Author:	mischief <mischief@offblast.org>
Date:	Thu Jan 1 07:45:05 +0000 2015

	bin(2): fix tab formatting

Hash:	a053d902dbe9e8396aa705aeec522659d2b09d62
Author:	ftrvxmtrx <ftrvxmtrx@gmail.com>
Date:	Fri Jan 2 18:07:40 +0000 2015

	aux/realemu: remove unused global

Hash:	753bb6b87a598995ae7f13b889686229332e88d5
Author:	ftrvxmtrx <ftrvxmtrx@gmail.com>
Date:	Fri Jan 2 18:07:01 +0000 2015

	aux/vga: revert vbegetmode

Hash:	68b8351f8c176057e4e07ddbce94235f2ae23159
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jan 2 17:48:22 +0000 2015

	devdraw: remove broken color palette blanking
	
	the code did not work as drawactive() was called with
	the drawlock held. instead of fixing, the code for
	palette blanking has been removed.

Hash:	6cb93914f2b955209aabd63c44cecac36aaca6c6
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jan 2 16:07:47 +0000 2015

	devvga: better way to prevent blank hwaccel race
	
	don't hold drawlock duing vga enable and disable, but just zero
	the function pointers under drawlock *before* disabling the vga
	device.
	
	holding the drawlock while calling out into enable and disable
	is not a good idea. with vgavesa, this might deadlock when
	userspace realemu tries to print in a rio window with vgavesa.

Hash:	9aec87c46c483ca1cf560e0e8a929cdf72447371
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jan 2 14:29:15 +0000 2015

	vgavesa: get rid of the vesa kproc
	
	in 9front, screen blanking is always initiated from process context,
	so there is no need for a kproc anymore.
	
	care has been taken for the race between vesadisable() and vesablank()
	by acquiering the drawlock prior calling scr->dev->enable() and
	scr->dev->disable(). this also has the side effect of accelerated
	fills and scrolls not being called during device disable.

Hash:	7848fe597006ecc6ee0605341ada08b7dea42f2a
Author:	ftrvxmtrx <ftrvxmtrx@gmail.com>
Date:	Fri Jan 2 12:29:58 +0000 2015

	aux/vga: do not set mode 3 unless connected

Hash:	8b9badd6a6d5880f090028ea2976886472dd0793
Author:	ftrvxmtrx <ftrvxmtrx@gmail.com>
Date:	Fri Jan 2 12:24:27 +0000 2015

	aux/vga: fix switching with different mode
	
	Prior to switching display, switch to text mode 3, which
	is supported by anything, then set display, search for the
	desired mode, load it if found. If not found, set the display
	to the old one and switch to the old mode back.

Hash:	96595f510158fadd3158af6ad0ccb4121610a83f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jan 2 11:05:35 +0000 2015

	nedmail: do not recursively plumb email multipart attachments in print command

Hash:	c5da8810eeea4810f0fb20eb6fbc6c813771994d
Author:	ftrvxmtrx <ftrvxmtrx@gmail.com>
Date:	Thu Jan 1 21:53:17 +0000 2015

	nusb/kb: fix alt/altgr being swapped for some reason

Hash:	f1b1e0d637e5a280aebbdf01b905b90320ad7f43
Author:	ftrvxmtrx <ftrvxmtrx@gmail.com>
Date:	Thu Jan 1 15:19:24 +0000 2015

	aux/vga: display switching for Intel adapters
	
	Magic was discovered by abusing INT 10 on several machines
	while switching cables back and forth and watching the end result.

Hash:	9e45c8bc9b652f8675d31f8014d33c5b430c765b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jan 1 10:32:00 +0000 2015

	zynq: differentiate various pagefault types in faultarm()

Hash:	04efb3a4a3995015ba739372336e5e4286b96413
Author:	ftrvxmtrx <ftrvxmtrx@gmail.com>
Date:	Thu Jan 1 10:20:23 +0000 2015

	tcs: update charsets. Fixes issue #214

Hash:	6adf8466a2102e478e4deae29992f6863df4698d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jan 1 22:18:07 +0000 2015

	hjfs: fix missing superblock dirty mark when reaming

Hash:	941912f5ff6be7591e7645358339ef136e4a6a3d
Author:	aiju <aiju@phicode.de>
Date:	Wed Dec 31 19:04:10 +0000 2014

	hjfs: make -m default 4 MB instead of 40 KB

Hash:	cfc0a3b90475c162db0a2210cf6110523634dfa1
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Tue Dec 30 06:17:26 +0000 2014

	terminus font: update .font files, remove references to old vga bitmaps

Hash:	96b09e8c3d3b9d7512a3d75112600ae1d8b8d80c
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Wed Dec 31 04:44:06 +0000 2014

	lucidasans font: update font files, remove references to old vga bitmaps

Hash:	cb95db4f685c8ab3039879d0736ca6771641fbfb
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Tue Dec 30 23:27:25 +0000 2014

	germgoth/unicode.12.font: update mappings, remove references to old vga bitmaps

Hash:	66d1c9d169b68fd9ba51752ff0aa784f49db62a2
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Dec 30 17:58:59 +0000 2014

	bring back nice control character glyphs in vga font

Hash:	cdf7520738299a9645ea6a5fd27e006c1764c1bc
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Dec 30 14:49:44 +0000 2014

	zynq: enable branch prediction

Hash:	080cc49f5000a4e82c015af79dd6e489a33d3f68
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Dec 30 14:17:27 +0000 2014

	zynq: implement µs()

Hash:	ed294a65cb3c9ac529dc21368960520a6aa2778a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Dec 30 14:16:46 +0000 2014

	zynq: enable prefetch hints and drop-prefetch

Hash:	9f880e595c9b6a3bb606339f87ea9c6c2e368671
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Dec 30 11:44:42 +0000 2014

	libmemdraw: never point Buffer.alpha to nil (thanks mischief)
	
	the boolcopy optimization doesnt doesnt use Buffer.alpha, tho
	the debug function dumpbuf() still can dereference it. to keep
	it simple, always have Buffer.alpha point to the channel or
	&ones when not used.

Hash:	5935eeb6de5597072b083fadbcc3f9e94d1e36c1
Author:	ftrvxmtrx <ftrvxmtrx@gmail.com>
Date:	Mon Dec 29 15:43:33 +0000 2014

	aux/vga: scale only if mode was set successfully

Hash:	11b5e0ac146f502e44f0a6a63c1b241b61ff1448
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Dec 29 15:06:57 +0000 2014

	merge

Hash:	cb2103879e7e1cb869ed1eb8455c468a756e7ef0
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Dec 29 15:02:57 +0000 2014

	zymq: lilu dallas, multicore
	
	implement multiprocessor support.

Hash:	e08cc065177138fe821abb84dc6381fd0400e944
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Dec 29 10:55:51 +0000 2014

	add games/md to /sys/src/games/mkfile

Hash:	774065caaa6db811c9b87ed7ce5047226be92eee
Author:	ftrvxmtrx <ftrvxmtrx@gmail.com>
Date:	Mon Dec 29 09:06:29 +0000 2014

	aux/vga: rescale after loading new mode
	
	Intel VBIOS seem to not update its state unless in graphical
	mode, so set the scaling mode after loading new graphical mode.

Hash:	fa06413db46b6f9fce9d01f5d3283e33849ca579
Author:	mischief <mischief@offblast.org>
Date:	Mon Dec 29 07:11:21 +0000 2014

	libdraw: don't deference nil display in freefont

Hash:	f188158f1cd94842b6b0c355a359b2e4d4c4b0e4
Author:	mischief <mischief@offblast.org>
Date:	Mon Dec 29 06:46:39 +0000 2014

	libmemdraw: fix fd leak in openmemsubfont and memory leak in freememsubfont

Hash:	ba47daaab30b2d0be094049e26a36929aea1c7e9
Author:	mischief <mischief@offblast.org>
Date:	Sun Dec 28 20:14:24 +0000 2014

	memlayer(2): fix memdraw signature

Hash:	a852ff2cbe0956be99b09b508b090e51ecf5fa65
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Mon Dec 29 02:29:44 +0000 2014

	vga font: fix permissions (thanks, mischief)

Hash:	7c0026410a19909c232d60b0bc90e41f8a68ba69
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Sun Dec 28 20:29:02 +0000 2014

	vga font: the existing bitmaps contained blank spaces for missing runes, which resulted in blanks being printed on screen. replace bitmaps and update .font files accordingly.

Hash:	21647f97e6e94911b1df444d0358a9f95ecee7ac
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Sun Dec 28 20:08:41 +0000 2014

	fortunes: no. -- ftrvxmtrx

Hash:	d908aff72f875029c0d20cdd33d71a583061edff
Author:	ftrvxmtrx <ftrvxmtrx@gmail.com>
Date:	Sun Dec 28 16:42:38 +0000 2014

	aux/vga: remove -s option, move scaling to the size string itself

Hash:	31e1c15d441e38a740b8f209f86b8b2d0fc49d79
Author:	mischief <mischief@offblast.org>
Date:	Sun Dec 28 07:38:21 +0000 2014

	ircrc: use aux/trampoline or tlsclient for connections, add -T flag for tls
	
	previously ircrc dialed through /net itself and resolved ips on its own. this prevented the use of an ip address, and also prevented use of ipv6. now you can use an ip, or a dns name that resolves to ipv6. the -T flag is also added to use tlsclient for encrypted connections.

Hash:	dc69af5010c1c4860b24d91c7b702ffc199bdf66
Author:	ftrvxmtrx <ftrvxmtrx@gmail.com>
Date:	Fri Dec 26 16:03:15 +0000 2014

	merge

Hash:	0d5b33a9e821ab0c3230bd25596b6567f2b28cd6
Author:	ftrvxmtrx <devnull@localhost>
Date:	Fri Dec 26 16:01:58 +0000 2014

	aux/vga: scaling modes for VESA

Hash:	04ec990b670c761866da5bb0ab344da3407e78ca
Author:	ftrvxmtrx <ftrvxmtrx@gmail.com>
Date:	Fri Dec 26 15:10:45 +0000 2014

	vga, vesa: revert. this needs to be in aux/vga instead

Hash:	2cc7c72f8e1b2c0ea98f2184014988f9e2940f52
Author:	ftrvxmtrx <ftrvxmtrx@gmail.com>
Date:	Fri Dec 26 14:40:06 +0000 2014

	vga, vesa: scaling modes
	
	At least on some NVIDIA cards the default scaling mode makes
	black borders visible on all sides, even on native resolution.
	This patch adds a generic "scaling MODE" command to vgactl
	and adds support for it on VESA through NVIDIA VBE OEM extension.
	It hasn't been tested on any other video cards, but shouldn't
	break anything as the scaling mode is only set on write to vgactl.

Hash:	604f00d9bc0fada5b392ab555b1ad49e4500c9da
Author:	ftrvxmtrx <devnull@localhost>
Date:	Fri Dec 26 14:24:07 +0000 2014

	vga, vesa: scaling modes

Hash:	7f5f69ebb5c1fa361d44dc33465be79991dd0d94
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Dec 26 10:41:53 +0000 2014

	socksd: revert back, previous commit broke UdpAssociate request
	
	should probably figure out a better way to get public ip
	address on a interface.

Hash:	7a54873252a6e8a55dd296ee155469e6ffbdd475
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Dec 26 08:34:30 +0000 2014

	libip: skip ipv6 loopback address (thanks mischief)

Hash:	de349cf9b06c155a89675e2b453a518e43808e81
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Dec 26 08:11:04 +0000 2014

	socksd: dont use myipaddr() for announcing address

Hash:	2ab042f11e5848089b343cc565acb65d4a5bc64a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Dec 25 16:44:49 +0000 2014

	getfcr: change getfcr/setfcr to use VFP

Hash:	ed5c9fd00a2e34a8a45288c986d52ac499db393b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Dec 25 10:30:29 +0000 2014

	zynq: only tmpmap() while splhi(), remove unneeded coherence() after tmpunmap(), splhi() in l2free()
	
	we have to call tmpmap() with interrupts disabled as the map
	is a per cpu and a interrupt can preempt us while we where
	commited to use a entry but *before* we wrote it!
	
	tmpunmap() already calls coherence() before flushpg() so it
	is not needed after tmpunmap().
	
	splhi() in l2free() isnt needed as l2free() is always called
	with interrupts disabled from mmuswitch() and mmurelease().

Hash:	9b5387fbde5267dd1f6899866053a0bbda442ab7
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Dec 25 10:12:31 +0000 2014

	zynq: dont do install target by default in the mkfile

Hash:	77e0feb67c2a5cf37d23810504a28fdc3c7ad380
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Dec 24 19:53:58 +0000 2014

	zynq: fpsave() and fpclear() both need to disable the fpu
	
	fpsave needs to disable the fpu! otherwise we won't catch
	the mathtrap() in the kernel or when context switching to
	another process that will attempt to use it.

Hash:	1c6daca577a0c017ff882cf57ddd09afe543e65f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Dec 24 15:56:48 +0000 2014

	zynq: active.machs = 1

Hash:	aca053c18add536fb51d05bbfbc6e0147f06c183
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Dec 24 12:37:54 +0000 2014

	zynq: set mainmem->maxsize so kernel malloc() wont fail after 4MB

Hash:	4e94094e941e908008ead1f574003c2ddc3113a0
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Dec 24 10:38:44 +0000 2014

	5l: remove -f flag and add -F flag to disable VFP code generation
	
	almost nobody uses FPA anymore, so make VFP the default but
	provide -F flag to disable it.

Hash:	2ef69f42d8372d0efc046e590191d73573b545fa
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Dec 24 10:20:40 +0000 2014

	zynq: fix kernel configuration so it builds

Hash:	d1799f65ca4835cbb896f802b297b39e518b9cc6
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Dec 24 10:04:18 +0000 2014

	nusb/serial: fix nusb/serial hang with ftdi
	
	have to create process, not a thread in ftdi code so main
	process can exit after posting fs service.

Hash:	7a3f0998a0ce7470d70c1a13bc4646abafdcc236
Author:	aiju <aiju@phicode.de>
Date:	Wed Dec 24 09:21:51 +0000 2014

	added zynq kernel

Hash:	6dafa424805d128fcd08c71dca3e3abdc40aa6c6
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Tue Dec 23 17:04:11 +0000 2014

	fortunes: if(~ $i (seek _nsec)) {		# untested so far - geoff

Hash:	4581be51806b601e6144d7a6ecb4dcbb44ee260a
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Tue Dec 23 17:03:42 +0000 2014

	rc-httpd(8): add HISTORY to man page

Hash:	3ab80c9fe0fe4cfe91c0b6004db986f2e72bf5e6
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Dec 22 15:56:04 +0000 2014

	pc, pc64, xen: change return type of intrdisable() to void
	
	intrdisable() will always be able to unregister the interrupt
	now, so there is no reason to have it return an error value.
	
	all drivers except uart8250 already assumed it to never fail
	and theres no need to maintain that complexity.

Hash:	c404fd9d6f46f90e4420d0b268215ef719e25796
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Dec 22 15:16:36 +0000 2014

	sdvirtio: provide enable() and disable() functions so it can be switched off

Hash:	e0c221eea6b68c87f89eb073d7204851398fc5d8
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Dec 22 15:10:18 +0000 2014

	pc, pc64: fix intrdisable() to remove the Vctl entry even tho we can't disable the interrupt on apic

Hash:	b486d8871b3ae20745f32b9d509d75d5a911ec65
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Dec 22 11:17:48 +0000 2014

	sdvirtio: move common "queue i/o and wait" code into vqio() function, handle notify suppression

Hash:	515893dda6d67853ff271819d877fe2986b03456
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Dec 22 09:49:52 +0000 2014

	pc, pc64, xen: simplify #P/irqalloc

Hash:	f4c6dad8e13c289914962d3b43b07cfdaca3e33a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Dec 22 08:33:35 +0000 2014

	pc, pc64: include PCArch.id in #P/archctl simplify #P/ioalloc read handler

Hash:	a5b0b6ba2c04bfd76ec746e2c0e552e86e6187d8
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Dec 22 08:18:18 +0000 2014

	ape: add fprint %z format (thanks Ori_B)

Hash:	1db9f19b62fbf52e4b33047b536cfb0fbfdd22cb
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Dec 21 16:25:55 +0000 2014

	ip: exclude "don't fragment" bit from ipv4 reassembly test
	
	other operating systems always set the "don't fragment" bit
	in ther outgoing ipv4 packets causing us to unnecesarily
	call ip4reassemble() looking for a fragment reassembly queue.
	
	the change excludes the "don't fragment" bit from the test
	so we now call ip4reassemble() only when the "more fragmens"
	bit is set or a fragment offset other than zero is given.
	
	this optimization was discovered from akaros.

Hash:	bf049ebdb1ede563304c9255d49d47df0098a531
Author:	mischief <mischief@offblast.org>
Date:	Sun Dec 21 06:32:51 +0000 2014

	pci(8): document vid/did argument

Hash:	3f4e84292c716df48ac2d346730624717296704b
Author:	mischief <mischief@offblast.org>
Date:	Sun Dec 21 05:56:06 +0000 2014

	pci(8): fix usage

Hash:	8757154228aeef25a2e7bebada5b10a3a5df5900
Author:	mischief <mischief@offblast.org>
Date:	Sun Dec 21 05:42:55 +0000 2014

	merge

Hash:	d44d67979356e66cfeed0dbf88f9a66322972428
Author:	mischief <mischief@offblast.org>
Date:	Sun Dec 21 05:41:34 +0000 2014

	pci: import pci script and updated database from 9atom

Hash:	127f8f048047e03d74001c4bbd50b7c0c09d7c0e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Dec 21 04:12:56 +0000 2014

	tee: get rid of openf[100] array and just dup() filedescriptors to 3+[0..n-1]

Hash:	468851cde6d0a2c160f1d4beec49ca11eb5506c1
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Dec 21 03:48:29 +0000 2014

	merge

Hash:	cb35d1a132f881aac7151174fdb82ec9ff84682e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Dec 21 03:46:22 +0000 2014

	kernel: avoid inconsistent reads in /proc/#/fd and /proc/#/ns
	
	to allow bytewise access to /proc/#/fd, the contents of the file where
	recreated on each call. if fd's had been closed or reassigned between
	the reads, the offset would be inconsistent and a read could start off
	in the middle of a line. this happens when you cat /proc/#/fd file of
	a busy process that mutates its filedescriptor table.
	
	to fix this, we now return one line record at a time. if the line
	fits in the read size, then this means the next read will always start
	at the beginning of the next line record. we remember the consumed
	byte count in Chan.mrock and the current record in Chan.nrock. (these
	fields are free to usefor non-directory files)
	
	if a read comes in and the offset is the same as c->mrock, we do not
	need to regenerate the file and just render the next c->nrock's record.
	
	for reads smaller than the line count, we have to regenerate the content
	up to the offset and the race is still possible, but this should not
	be the common case.
	
	the same algorithm is now used for /proc/#/ns file, allowing a simpler
	reimplementation and getting rid of Mntwalk state strcture.

Hash:	a11fe1959db311c090c7a025d96643c7ad8b76e5
Author:	ftrvxmtrx <ftrvxmtrx@gmail.com>
Date:	Sun Dec 21 00:30:36 +0000 2014

	merge

Hash:	758496ecaa42b5f6c17c0bd1e0f43189e50e0745
Author:	ftrvxmtrx <ftrvxmtrx@gmail.com>
Date:	Sun Dec 21 00:28:14 +0000 2014

	sam: '^' and '_' cmds; same as '<' and '|' except that stdout goes to the command window

Hash:	8ac28ac11cb9e96329e4d083208b3f13ee8d2b8a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Dec 20 02:34:40 +0000 2014

	flate: fix wrong adler32() length calculation (thanks qrstuv)

Hash:	ffe862c5433716e81e88602864f7323ff40971c5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Dec 19 02:57:27 +0000 2014

	vblade: fix code so #pragma pack isnt needed

Hash:	63799396422447f3d19640abc6a3d5374f9977b0
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Dec 19 01:50:22 +0000 2014

	add erik quanstros vblade utility

Hash:	e93cd703a2e7a98d178206c8a066f248aece76e9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Dec 19 01:40:45 +0000 2014

	pc64: enable devaoe and sdloop in kernel configuration

Hash:	e3a77e594f8491412d635d87fe5b4bc87f447aa5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Dec 19 01:38:36 +0000 2014

	sdloop: hardcode Enotup[] string to avoid devaoe dependency

Hash:	9df9a3625ced6ec4f8c2f159903e4d0309bedb12
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Dec 19 01:37:40 +0000 2014

	sdaoe: allow aoedev= shorthand for id!lun -> id!#æ/aoe/lun
	
	we cannot type æ character in the bootloader console, so allow
	the shorthand syntax id!lun which gets translated to id!#æ/aoe/lun.

Hash:	2d06aac2abbd22757b6aa33b4fdc0c9ead4b7d50
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Dec 19 22:57:43 +0000 2014

	pc, pc64: adjust mpshutdown() comment to reflect the current state

Hash:	7523131e78a0974154cc90272b41991435b1ec19
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Dec 19 22:34:43 +0000 2014

	pc, pc64: untangle acpireset() from mpshutdown()
	
	mpshutdown() used to call acpireset() making it impossible to build
	a kernel without archacpi. now, mpshutdown() is a helper function
	that only shuts down the application processors that gets used from
	mpreset() and acpireset().
	
	the generic machine reset code in exported by devarch's archreset()
	function that is called by mpreset() and from acpireset() as a fallback.
	so the code duplication that was in mpshutdown() is avoided.

Hash:	d94dc3314dc2431cafb49b394ac84123dd7b25d8
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Thu Dec 18 21:11:12 +0000 2014

	hgfs(4): add SOURCE to man page (thanks, spew)

Hash:	ba25b6cd7fa3ecfefdc738202da78570518a9bda
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Thu Dec 18 21:07:17 +0000 2014

	fortunes: oh really.

Hash:	725c77211ae218329a88fffee1b663110a4af95f
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Thu Dec 18 21:06:25 +0000 2014

	hgfs(4): add HISTORY to man page

Hash:	06f6b1c9e2ab5508b922ead05f89596063e5bcb0
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Dec 18 01:53:49 +0000 2014

	xen: remove segmentation constants, not used on xen.

Hash:	b7e7e5ef3fb563b2f52c15a7a680d814ba477840
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Dec 18 01:04:42 +0000 2014

	pc: remove mmuinit0()
	
	all mmuinit0() does is initialize m->gdt, but this isnt neccesary
	as this is done by mmuinit() anyway before loading the gdt.

Hash:	3e7d181191769eebb8f5bd64ce2bc8f9a7ef2a56
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Dec 18 22:55:00 +0000 2014

	merge

Hash:	d9c4637a5f65da6cc6972765c0be9a05c8483ef5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Dec 18 22:53:32 +0000 2014

	kernel: remove "checked xxx page table entries" print from checkpages()
	
	the purpose of checkpages() is to verify consitency of the hardware mmu state,
	not to notify on the console that a program faulted. a program could also
	continue after handling the note. (this seems to be the case in go programs)

Hash:	f52e85826f72d6ee16b167d11c85fef31399b61b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Dec 18 22:06:39 +0000 2014

	kernel: print addresses in hex and sizes in decimal in xallocsummary

Hash:	476a47b15c152e72aa8a6d9f9eb363931cbfd50f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Dec 17 21:49:51 +0000 2014

	pc, pc64: cleanup devarch
	
	- shorten cpuidprnt so it doesnt have to break line
	- addarchfile: complain when running out of entries
	- fix range check in rmemrw() (harmless)
	- use nil instead of 0 for pointers

Hash:	84f45a4491b5abb1d7dd54490d240a30712cb2b8
Author:	mischief <mischief@offblast.org>
Date:	Wed Dec 17 22:27:31 +0000 2014

	acme: allow typing '\n' in window tags

Hash:	35df6c32a2c75bc15deab6577ac9cc554859a4bb
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Dec 17 20:43:54 +0000 2014

	fstype(1): cleanup

Hash:	b9f23248c50cd287e2abe837685130fd407d744f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Dec 17 10:18:05 +0000 2014

	boot(8): the method!server notation isnt usefull anymore...
	
	- in 9front, the bootargs are in the form: method!device args
	- remove redundant and wrong paragraphs regarding tcp booting
	- document il boot method
	- fix boot and bootrc confusions

Hash:	13c4b57c0cf7be531692ff5a170dbfffa9984072
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Dec 17 09:03:45 +0000 2014

	teg2, xen: remove unused bootdisk[] and fix conf.nswppo factor in kernel memory size calculation

Hash:	0e2ff6fb1f613faf54235a3cd4765f17675988bc
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Dec 17 08:45:50 +0000 2014

	pc: remove unused bootdisk[] variable

Hash:	06e6115044b91e559b22287c76207c3bc787800c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Dec 17 08:23:21 +0000 2014

	pc, pc64: remove old B.COM command line parsing and just pass tokenized BOOTLINE to /boot/boot as argv[]
	
	this change allows command line passing to /boot/boot from qemu like:
	qemu -kernel 9pcf -append "-u glenda tcp"

Hash:	0e03a5f9fd033eb1f3defe58d799ec7e1dba564a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Dec 16 08:41:05 +0000 2014

	kernel: replace ulong with uintptr in ucallocb() and fix unneeded parentheses

Hash:	5c29603f502d83955f87be7385e0323a43e1ee2c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Dec 16 07:11:21 +0000 2014

	kernel: remove obsolete comment regarding Mntcache size in */main.c

Hash:	8309f15c3669d684da7c3fe2b6748f9362e1cc38
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Dec 16 04:41:20 +0000 2014

	kernel: new mount cache
	
	this is a new more simple version of the mount cache
	that does not require dynamic allocations for extends.
	
	the Mntcache structure now contains a page bitmap
	that is used for quick page invalidation. the size
	of the bitmap is proportional to MAXCACHE.
	
	instead of keeping track of cached range in the
	Extend data structure, we keep all the information
	in the Page itself. the offset from the page where
	the cache range starts is in the low PGSHIT bits and
	the end in the top bits of Page.va.
	
	we choose Page.daddr to map 1:1 the Mountcache number
	and page number (pn) in the Mountcache. to find a page,
	we first check the bitmap if the page is there and then
	do a pagelookup() with the daddr key.

Hash:	bc97fa79b1b1d5e731f949d92d35d7ad839f1d35
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Dec 15 06:26:03 +0000 2014

	audio/flacdec: fix pcmconv pipeline race (thanks mischief and henesy)

Hash:	523c33bb6f61260c14ec12ea25b0bba89ba4e856
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Dec 15 05:28:27 +0000 2014

	kernel: minor changes to mount cache
	
	change page cache ids (bid) to uintptr so we use the full
	address space of Page.daddr.
	
	make maxcache offset check consistent in cread().
	
	use consistent types in cupdate() and simplify with goto.
	
	make internal functions static.
	
	use nil instead of 0 for pointers.

Hash:	c8ed49da608c1c99ec6dab7a6e9bbc26f3f05277
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Dec 15 00:43:31 +0000 2014

	xen: fix cross build

Hash:	07a776fad9c93ecc8b0635a9d96107b729ca0469
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Dec 15 00:04:05 +0000 2014

	kernel: use new disk/mkfs -o option to get proper source filename list for bootfs.proto

Hash:	5c1803e1adc869ef6781eb65d2ee08b30326aee1
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Dec 14 23:52:22 +0000 2014

	disk/mkfs: add -o flag to list source files

Hash:	2e94406e7f66b0c5f4e2b1d5c2158a37e8677724
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Dec 14 21:27:06 +0000 2014

	merge

Hash:	8d6171f1ae830a7830ce1d40bf8295340f6a894a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Dec 14 21:25:15 +0000 2014

	kernel: remove *.acid files in nuke target instead of $CONF.clean target

Hash:	0dc1929379f3cc628be7d6b50297c203b87f7a4d
Author:	ftrvxmtrx <ftrvxmtrx@gmail.com>
Date:	Sun Dec 14 21:20:06 +0000 2014

	png: fail on invalid bpc

Hash:	67bed722f21cb216a0fcc3d3ebebf161b09439d4
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Dec 14 21:10:34 +0000 2014

	kernel: get rid of /boot/boot parametrization
	
	there is no use for "bootdisk" variable parametrization
	of /boot/boot and no point for the boot section with its
	boot methods in the kernel configuration anymore. so
	mkboot and boot$CONF.out are gone.
	
	move the rules for bootfs.paq creation in 9/boot/bootmkfile.
	location of bootfs.proto is now in 9/boot/bootfs.proto.
	our /boot/boot target is now just "boot".

Hash:	1d674abe9cdb20c59852fe096412a6890314f99a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Dec 14 20:58:02 +0000 2014

	xen: fix mtrr dummy functions

Hash:	035aacf6f5c23f0513e240046818ef203e8d87cb
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Dec 14 19:21:42 +0000 2014

	bio: add Bfdopen() from plan9port

Hash:	4afb56f570b3d6943e39bda5c9a2992a3bd139d2
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Dec 13 23:00:59 +0000 2014

	kernel: evaluate dependencies of bootfs.proto files for bootfs.paq
	
	expand the list of files specified in bootfs.proto and use them
	as dependencies to bootfs.paq rule. this way, bootfs.paq is
	regenerated when the to be included files have been modified.

Hash:	96525edaae6e1fb076b4286fdd41032dafff651c
Author:	ftrvxmtrx <devnull@localhost>
Date:	Sat Dec 13 20:58:49 +0000 2014

	various cmds: replace magic numbers with Kdel/Keof, etc

Hash:	feb7702c9eba0eeb420dd08cbcdb4d922c1ba49c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Dec 13 20:44:51 +0000 2014

	kernel: correct dependency for printstub.$O instead of print.$O

Hash:	ff4daa7e93f4ea09506276ecdb69fa1cca19a7a7
Author:	mischief <mischief@offblast.org>
Date:	Sat Dec 13 19:28:16 +0000 2014

	stats: handle 'q' to close
	
	a side effect of this is keys typed other than q/Del no longer get drawn on top of the window.

Hash:	25a9cc3adbf9f9af8e71dc6125fc32a9a17ab839
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Dec 13 05:23:23 +0000 2014

	pc, pc64: untangle embedded controller (ec) dependency from devarch

Hash:	6a3b9012d551fecf4ba40d79dff8adbe54842835
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Dec 13 04:29:51 +0000 2014

	kernel: generate dummy bootscreeninit() function when building without vga device

Hash:	9be64bcb8d76e17f8fb5f90e1b476f1ac75039b8
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Dec 13 22:16:04 +0000 2014

	ndb/cs: fix spelling (thanks mischief)

Hash:	f83dab12c69877853a58c2246a4468787ee637f0
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Dec 12 20:18:31 +0000 2014

	acme/win: fix mistake
	
	have to save partial reminder before null terminating current
	event buffer :)

Hash:	6ddbe25d19bfa5a8c305e9e4292fa3ed0d24426a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Dec 12 20:09:49 +0000 2014

	acme/win: remove old crap

Hash:	169db43ad91d6873a3ba3cd1396aaaf96e9d4dc5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Dec 12 20:07:44 +0000 2014

	merge

Hash:	aac81cf0701330fff4ff83fc72e9200dc4b1a60c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Dec 12 20:06:16 +0000 2014

	acme/win: fix fswrite() not assuming iounit < EVENTSIZE

Hash:	00334c0407e27921754d6ccd77d08045c2fa7254
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Thu Dec 11 19:45:51 +0000 2014

	fortunes: UX-wise (and generally speaking, for most common uses of a computer these days), Plan9 is, sadly, almost useless.

Hash:	e14d6249749a1101abdad7998e1cd5cdc49e137a
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Thu Dec 11 19:45:16 +0000 2014

	qmail: call mail instead of smtp with the wrong path

Hash:	651fa5bd50c10a13cc970b9bd0ef1c6ea3c5f62a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Dec 11 19:38:04 +0000 2014

	cfs: change default mountpoint to /mnt/cfs and fix the manual (thanks mischief)

Hash:	854d028db99d81752082028700bd7ada53306424
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Dec 11 19:20:47 +0000 2014

	acme: fix buffer overrun in xfidutfread() and xfidruneread(), cleanup
	
	the utf8 buffers b1 where allocated from fbufalloc() which gives
	us BUFSIZE bytes, but Xfid->count can be bigger than that. so just
	emalloc() the requested number of bytes.
	
	when converting from Runes to utf-8, we have to account for the
	terminating '\0' byte snprint() places, so fix the maxrune number
	calculation instead of using BUFSIZE+1 as buffer size.

Hash:	86e63c36eded29e46a17628264b73d743df9a864
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Dec 11 17:32:50 +0000 2014

	kbmap: fix sprint() buffer overflow (thanks silasm)
	
	A buffer can be overflowed in the init function of kbmap.c by using a filename of more than 112 characters.
	
	sample output:
	% cd /sys/lib/kbmap
	% touch aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
	% kbmap
	kbmap 1974: suicide: sys: trap: fault write addr=0xa6a96510 pc=0x000011df
	offending code is most likely the call to sprint in the init function of /sys/src/cmd/kbmap.c,
	which in this case writes /sys/lib/kbmap/$file to a 128-bit buffer.
	I'm willing to submit a patch for this myself along with a few minor improvements/fixes to kbmap
	if I can figure out the nuances of doing so.
	
	--silasm

Hash:	ffa761beae76043ff7630bd45f68cb5ed08a93fa
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Dec 11 16:03:01 +0000 2014

	plan9.ini(8): fix typo (thanks ftrvxmtrx)

Hash:	5ae58296a97ded1cc0150feb381e6fb6c3fa998d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Dec 10 18:38:44 +0000 2014

	plan9.ini(8): etheryuk

Hash:	ec495f37ecb24a172091ed45a92c0c040beb0446
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Dec 10 18:29:46 +0000 2014

	plan9.ini(8): document bcm and virtio ethernet and hda and ac97 audio.

Hash:	6357ff0e7bb99bd238b26b6e9e570195f0d076b1
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Dec 10 17:34:08 +0000 2014

	plan9.ini(8): remove factotumopts= (not implemented), add secstore=, clarify domain name use for fs= and auth=

Hash:	aa2422b5eb68e41a129a13cc73a9774cac3405d9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Dec 10 17:02:41 +0000 2014

	bootrc: keep original address when ndb/dnsgetip fails and let dial complain

Hash:	d4076731f1f3083255f395c90659e605a0823fa5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Dec 10 16:37:53 +0000 2014

	bootrc: use "address" instead "ip" in wording netboot questions, as we domain names are allowed now.

Hash:	b305ea4a3daffc7cfc3ca1b24b1b098cd9f14590
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Dec 10 02:24:21 +0000 2014

	merge

Hash:	ba6cd374129451305421703aeee6a007cb8ac977
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Dec 10 02:22:59 +0000 2014

	bootfs: remove disk/kfs fileserver, nobody uses it

Hash:	23b3407663fd2f312760e4ce21443bf4c9e10f5f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Dec 10 02:22:14 +0000 2014

	bootrc: add ndb/dnsgetip resolver to bootfs so domain names can be used for fs=, auth= and secstore= (thanks mischief)

Hash:	d75f5a24baa73052dd174fbd84a9615db4551b73
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Dec 10 02:16:36 +0000 2014

	bootrc: preserve #ec/fs (thanks _sl)

Hash:	23d6c796cd1dc0c9c2a2b910b79d2dc2bcdbb181
Author:	mischief <mischief@offblast.org>
Date:	Wed Dec 10 01:33:09 +0000 2014

	ndb(8): document ndb/dnsgetip

Hash:	1985bebbddc7d47f165e3e7d45ff8614b23acd71
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Dec 10 01:30:25 +0000 2014

	dnsgetip: filter negative answers, remove -f flag, use dnsgetip logfile

Hash:	230cee347fb6740900ab7295b32f378ff6c3c13a
Author:	mischief <mischief@offblast.org>
Date:	Wed Dec 10 00:18:08 +0000 2014

	ndb: add dnsgetip program to resolve A and AAAA records during bootstrapping

Hash:	665f0c8e3ee2b7e325a2142c284d363ff7c5aac3
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Dec 9 23:30:07 +0000 2014

	bootrc: handle multiple fs and auth addresses in netboot, always set auth= in /net/ndb

Hash:	17566b4dd30979777ce7f25429084818c0f924f4
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Dec 9 21:26:30 +0000 2014

	bootrc: do not pass authserver with -a flag to factotum, handle multiple secstore addresses
	
	factotum is started in bootrc before the network is setup
	(as we need it to negotiate wpa key for wifi). once, the network
	is setup, the bootstrap authservers are passed in /net/ndb,
	which factotum reads when doing bootstrap authdial. it does
	this only when no authserver was specified earlier! but we
	want net.rc to select the proper bootstrap authserver...
	
	the $secstore variable takes precedence over $auth. as
	there is no connection server yet, we have to select the set
	of servers here and pass them to secstore with -s flag.
	note that this will work if multiple addresses where
	specified.

Hash:	f9d379974ad71fa02881ace25615bcefd8db075d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Dec 9 21:07:37 +0000 2014

	factotum: accept multiple bootstrap auth servers in /net/ndb and -a arguments
	
	we might have to deal with multiple bootstrap auth server
	ip addresses (ipv4 and ipv6) in the future, so deal with them.

Hash:	ee6936365f73d5499239b9cbe138d1923e562164
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Dec 9 20:53:07 +0000 2014

	secstore: allow multiple server addresses in $secstore and multiple -s arguments
	
	on bootstrap, we might have to deal with multiple auth server ip
	addresses (ipv4 and ipv6), so deal with it.

Hash:	98645db9abdbdd3b802407be2db2acd7f507c26a
Author:	mischief <mischief@offblast.org>
Date:	Tue Dec 9 07:16:22 +0000 2014

	devsegment: fix segmentcreate function signature

Hash:	8ec06b6fc6b44f2297fc6449196a7f9c57ff84c5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Dec 9 02:25:52 +0000 2014

	merge

Hash:	a0bb446d75c2f5f00745503a06d171c6ea02ee9d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Dec 9 02:23:53 +0000 2014

	ethervirtio: fix queue notifications and interrupt flags, avoid useless notifications
	
	bug: Rnointerrupt was used on Vqueue.used.flags instead of
	Vqueue.avail.flags.
	
	introduce vqnotify() function that notifies the device
	about available ring advancement.
	
	avoid queue notifications there that can be slow by
	checking Unonotify flag in Vqueue.used.flags.
	
	keep track of the number of notifications in the queue.

Hash:	469a10f1d95ef94c00fe1a78466e63be130fed1f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Dec 9 22:11:05 +0000 2014

	hgwebfs: add fake add_handler method for HTTPRangeHandler()
	
	provide a add_handler() so code trying to add
	byterange.HTTPRangeHandler will succeed. webfs
	does handle "206 Partial Content" already.

Hash:	ee2d30984f50e123d5eda882890c357543a297ca
Author:	mischief <mischief@offblast.org>
Date:	Tue Dec 9 01:27:40 +0000 2014

	ip/ipconfig: treat /32 mask as /0
	
	some dhcp servers send a mask of 255.255.255.255 to indicate the gateway is directly routeable.
	
	thanks to david du colombier for this patch.

Hash:	c217da0b5b1e92d0af62f5f373514d1befdb206e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Dec 8 18:19:53 +0000 2014

	ethervirtio: feature negotiation, allow setting mac address, dont read isr from ifstatus, avoid indirection
	
	- properly negotiate Fctrlrx feature bit for promisc and multicast.
	- allow setting mac address with ea= option from plan9.ini
	- dont read the isr register from ifstats() as it has the side effect of reseting isr status
	- embedd the Vqueue array in the Ctlr structure avoiding indirection
	- add a interrupt counter Vqueue.nintr for statistical purposes
	- only read network status register if the feature has been negotiated
	- change name to "virtio" as "ethervirtio" is kind of redundant

Hash:	501e69d0108812d41f9772dc21cb075af9c65490
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Dec 8 00:26:07 +0000 2014

	ndb/dns: ignore terminating authoritative flag for no-answer when more nameservers are provided
	
	continue recursing when we get empty but non-negative answer
	from a (claimed) authoritative nameserer that provides more
	nameservers.
	
	this fixes wordpress dns:
	
	63766.3: sending to 192.0.80.93/ns1.wordpress.com bossypally.files.wordpress.com ip
	63766: rcvd OK from 192.0.80.93 (authoritative)
		Q:    bossypally.files.wordpress.com ip
		Auth: files.wordpress.com              5 min           ns   	mdns1.wordpress.com
		      files.wordpress.com              5 min           ns   	mdns2.wordpress.com
		      files.wordpress.com              5 min           ns   	mdns3.wordpress.com
		      files.wordpress.com              5 min           ns   	mdns4.wordpress.com
		      files.wordpress.com              5 min           ns   	mdns5.wordpress.com
		Hint: mdns1.wordpress.com              4 hr            ip   	192.0.75.7
		      mdns2.wordpress.com              4 hr            ip   	198.181.117.7
		      mdns3.wordpress.com              4 hr            ip   	198.181.116.7
		      mdns4.wordpress.com              4 hr            ip   	198.181.118.7
		      mdns5.wordpress.com              4 hr            ip   	192.0.74.7
	
	
	63766.4: sending to 192.0.75.7/mdns1.wordpress.com bossypally.files.wordpress.com ip
	63766: rcvd OK from 192.0.75.7 (authoritative)
		Q:    bossypally.files.wordpress.com ip
		Ans:  bossypally.files.wordpress.com   5 min           ip   	192.0.72.2
		      bossypally.files.wordpress.com   5 min           ip   	192.0.72.3
	----------------------------
	answer bossypally.files.wordpress.com   5 min           ip   	192.0.72.2
	answer bossypally.files.wordpress.com   5 min           ip   	192.0.72.3
	----------------------------
	
	note the authoritative flag in the first response from ns1.wordpress.com that
	would otherwise terminate the search.

Hash:	887d02274d367018873a6533c658708cb0056be7
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Dec 7 17:20:47 +0000 2014

	ethervirtio: fix missing */

Hash:	6b5d69391cb9351b49c480a3cc40f67e184a8d39
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Dec 7 16:58:51 +0000 2014

	ethervirtio: implement promisc and multicast mode, cleanup
	
	add vctlcmd() function to setup and comlete control commands.
	handle Vctlq and implement promiscuous and multicast mode commands.
	remove Vqueue.block[] and Vqueue.header. these are not properties
	of the queue (Vctlq as no block array).
	
	the block[] array only needs to be half the queue size as we use
	two descriptors per packet.
	
	fix broken shutdown() and remove useless ctl() function.

Hash:	aff0dc5e673bcf905ebbde0094b2611dd57b5bed
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Dec 7 14:34:53 +0000 2014

	ethervirtio: avoid dumping packets in txproc when ring gets full

Hash:	964dafbdf0f47f798f9beda4b656625506acbedf
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Dec 7 13:34:15 +0000 2014

	9boot(8): -from

Hash:	972577b61e09d1c60dffc3f28bc76dbf35b73e36
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Dec 7 13:26:41 +0000 2014

	strcat(2): fix strchr() and strrchr() function prototypes (thanks BurnZeZ)

Hash:	1fe69754b6e51dbdcbcc7846e870386a6cf2a6e6
Author:	mischief <mischief@offblast.org>
Date:	Sun Dec 7 06:13:44 +0000 2014

	pc, pc64: add and enable ethervirtio driver
	
	many thanks to cinap_lenrek, erik quanstrom and david du colombier for feedback and testing.

Hash:	e584f7f374b861bb31d3b5d92646542adb052cf4
Author:	mischief <mischief@offblast.org>
Date:	Thu Nov 27 03:32:16 +0000 2014

	resize: fix typo

Hash:	250e1204000ceb750568e3429bd1c0074671b051
Author:	mischief <mischief@offblast.org>
Date:	Thu Nov 27 02:56:00 +0000 2014

	astro: fix typo

Hash:	97e7b5f71dae2755e7391036e799b13cbee1b92a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Nov 22 19:35:28 +0000 2014

	games/md: fix interlace at scale 2

Hash:	41ef4524abb81254169a47898572547c0db5a666
Author:	aiju <devnull@localhost>
Date:	Sat Nov 22 18:40:36 +0000 2014

	games/md: interlacing, sort of

Hash:	f55c43fe8d859ddf709effc5d09ad7a8057711e8
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Nov 22 17:17:06 +0000 2014

	audio(1): add mixfs to NAME section

Hash:	af8657b8dafa07c6e00e883a67e76474443e3742
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Nov 22 16:23:46 +0000 2014

	pc, pc64: more conservative pcirouting
	
	when we hit a conflict where the pci INTL register gives us
	a different irq than we get from southbridge irq router, dont
	just change the router setting to the bios assigned irq (that
	was previously known as the BIOS workarround), but assume the
	southbridge setting to be valid and change the pci INTL register
	on the device to it.
	
	only when the router link doesnt seem to be configured or
	disabled, then program the router to the irq that bios asisgned
	in the INTL register.
	
	the reason is that changing the router setting changes the
	irq routing for *all* devices on the same link and changing
	it breaks previously checked and valid interrupt routings.
	(so happend with virtualbox where the last device on the bus
	is some powermanagement device that has wrong INTL setting
	and changing the routing breaks the ethernet interrupts)
	
	this change shouldnt affect modern machines which use ioapic
	and mp tables or acpi for pci interrupt routing.

Hash:	529082d34d2bafd81d5987a2ed646c3a3c88a0a2
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Nov 20 18:05:43 +0000 2014

	pc, pc64: preserve last KB of conventional memory (might contain bios tables)
	
	we add new function convmemsize() that returns the size of
	*usable* conventional memory that does some sanity checking
	and reserves the last KB below the top of memory pointer.
	
	this avoids lowraminit() overriding potential bios tables
	and sigsearch() going off the rails looking for tables
	at above 640K.

Hash:	5a6131ea0919726bee4cba03a7a5361e6ea6df92
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Nov 20 00:26:31 +0000 2014

	games/snes: do message display in screenproc
	
	do the message drawing from the screenproc so there are no
	race conditions with libdraw.

Hash:	dc2c8dca5bafe537b446a80c333b77513eeaf765
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Nov 19 20:01:36 +0000 2014

	games/md, games/snes: fix memory leak on resize

Hash:	a1066aa9921275bad1d720fa9433482e08dd77d8
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Nov 19 00:31:20 +0000 2014

	hjfs(8): theres no chown in plan9, link to chgrp(1) manpage.

Hash:	a28263f7b282a639e6da2f2a3ede794a4833807f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Nov 18 16:03:45 +0000 2014

	games/snes: fix extern pic declaration to match reality

Hash:	e15d0126ad7e6f74150ae079daae33a961a4387b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Nov 18 16:00:44 +0000 2014

	games/md: apply same screen flush changes from games/snes

Hash:	763231588c971758d36c7c48cd073f2fa96f8f5a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Nov 18 15:07:34 +0000 2014

	games/snes: flush screen in parallel to audio (fixes buffer underruns on x200s)
	
	the x200s is too slow on a single core to keep up without
	audio buffer underruns, so the idea is to flush screen
	in parallel to witing audio samples in a separate process.
	
	with the proc, we also can keep updating the screen on resize
	when paused.

Hash:	844612fcb8257c8d8f20ef4da62edb65b2c08b76
Author:	aiju <devnull@localhost>
Date:	Mon Nov 17 16:00:41 +0000 2014

	games/snes: save more audio state

Hash:	dbb320ca909a6044976cd055fee3edf26ce797a5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Nov 17 09:12:29 +0000 2014

	audiohda: add pci ids for Intel 8 Series Lynx Point (thanks quux)
	
	Based on OpenBSD driver:
	- /sys/dev/pci/azalia.c rev 1.209
	- /sys/dev/pci/pcidevs rev 1.1689
	- only tested on amd64; machine is an Acer V5-573G
	    exact model: V5-573G-74518G1Takk

Hash:	fbdaa03d8470f90d269da01fe1bd2453f3387f04
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Nov 16 23:53:02 +0000 2014

	wpa: handle essid: with whitespaces from ether ifstats file

Hash:	2310258d576c0ee688025ef8bd854640621a833e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Nov 16 23:12:55 +0000 2014

	wpa: fix quoting for essid with spaces

Hash:	73eea8402b54fca70d8f5eb414bf1bad00121665
Author:	BurnZeZ <brz-9dev@intma.in>
Date:	Sun Nov 16 14:58:21 +0000 2014

	abaco: cleanup, handle image/x-icon, don't use backspace as a hotkey, and remove urlconvience()/related functions

Hash:	170913631b65eec3076ddb098440e829a2dff9e0
Author:	aiju <devnull@localhost>
Date:	Sun Nov 16 14:17:34 +0000 2014

	nintendo(1): NTSC only

Hash:	2e802acf34adf5d8ce90a89c266d331f6c22c880
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Nov 16 00:59:29 +0000 2014

	hpost: break up tags with newlines to avoid sed line buffer limit

Hash:	242007de7cbd9ab17d5e33037b7edf0db578096a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Nov 16 00:48:18 +0000 2014

	sed: fix error handling for "Output line too long" and other stuff
	
	sed just continued writing past genbuf when it should stop
	with "Output line too long".
	
	quit when we get unspecified options.
	
	stupid casts from long to char* for no reason.
	
	some 0 vs nil cleanup.

Hash:	d069c9b486d2a2b9b26294023dd397f366d5e5ba
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Nov 15 14:21:24 +0000 2014

	pc: get rid of fixed 8MB memory map (now dynamically between 4 to 16 MB depending on kernel size)
	
	we now do mapping of KZERO to ROUND(end, 4*MB) where
	end needs not to be above 16MB. this allows for bigger
	kernels.

Hash:	4e00cf6b1798fc95b3ccad8cb66a3e80c96b2786
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Nov 15 10:43:05 +0000 2014

	pc64: get rid of fixed 8MB INIMAP and dynamically map KZERO-end in l.s
	
	traditionally, the pc kernel mapped the first 8MB of physical
	address space. when the kernel size grows beyond that memory mapping,
	it will crash on boot and theres no checking in the build process
	making sure it fits.
	
	with the pc64 kernel, it is not hard to always map the whole
	kernel memory image from KZERO to end[], so that the kernel will
	always fit into the initial mapping.

Hash:	4cd03abefe80c9d7ce97d7dfb488e7ed5a8163c8
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Nov 15 22:51:01 +0000 2014

	hpost: fix multipart/form variable name mangeling when field value contains newlines
	
	com='MH3U
	pic unrelated
	' hpost -u ... -m post com:$com
	
	resulted in wrong field name like:
	
	--HJBOUNDARY
	 Content-Disposition: form-data; name="com pic unrelated"
	
	 MH3U
	 pic unrelated

Hash:	62f58184815c2ad3eecf0cc811967f3b0659c00e
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Fri Nov 14 17:11:42 +0000 2014

	fortunes: (no plan9 to hand)

Hash:	9841f7f3f545ba83d5cf0aa2f634350bf49d7794
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Nov 14 09:09:29 +0000 2014

	upas/fs: handle ramfs and hjfs "file locked" error

Hash:	52c1f712ecdeb7e02e8c4a4bc1bd5146898b277d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Nov 14 22:36:18 +0000 2014

	upas/fs: handle cwfs "file is locked" error message

Hash:	f51f73bdca8b2dcb268a9a2edef4da95e2de738f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Nov 13 15:47:19 +0000 2014

	ip: implement "hangup" ctl for udp protocol

Hash:	9840ce91cfc069a807b1601863c7579d4d0898b0
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Nov 13 15:46:41 +0000 2014

	kernel: make use of nil vs 0 consistent in qio.c (sorry)

Hash:	402140675f95e97ad73f3b0670fbb80fc32aa6bd
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Nov 13 09:23:53 +0000 2014

	rootstub: create /sys/src/pkg and /sys/lib/pkg directories

Hash:	585f475c01e6d0f5b46c50443c4c1231a4c38a5a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Nov 12 11:33:14 +0000 2014

	httpfile(4): document webfs dependency

Hash:	c79dc3263e6242182421a99c384e70124e7e544a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Nov 12 11:03:51 +0000 2014

	httpfile: use webfs, fix 9p flushes
	
	we can improve performance alot by using webfs which
	does http keep alives for us, so connection setup
	overhead is eleminated.
	
	fix 9p flushes and double frees.

Hash:	5540ca6b68dd964376e6f436de82ef81cecb2979
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Tue Nov 11 19:57:45 +0000 2014

	nintendo(1): more detail about gba

Hash:	994977e4d0b54d087917f52f2a9fc8fdeea8aaf8
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Mon Nov 10 06:05:18 +0000 2014

	nintendo(1): document games/gba

Hash:	bd7e387b5190e4d411a103c102c90702c7ccfb93
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Nov 10 11:22:50 +0000 2014

	pc64: fix comment description of pc64 kernel configuration

Hash:	28977d24b266418a4d1a1e58911085ff96c156a9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Nov 10 11:13:07 +0000 2014

	ether8169: add support for RTL8411B (thanks quux)
	
	from quux 9fans post:
	
	- based on the following changes in FreeBSD/OpenBSD:
	http://svnweb.freebsd.org/base?view=revision&revision=257305
	http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/sys/dev/ic/re.c.diff?r1=1.144&r2=1.145&f=h
	http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/sys/dev/ic/rtl81x9reg.h.diff?r1=1.76&r2=1.77&f=h
	http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/sys/dev/ic/rtl81x9reg.h.diff?r1=1.83&r2=1.84&f=h
	- sysinfo _with_ patch, on amd64 (please disregard non-working audio and iwl stuff):
	http://sysinfo.9front.org/src/86/body
	- tested only on amd64; machine is an Acer V5-573G (exact model: V5-573G-74518G1Takk)

Hash:	2f8ee8fb4ee529c8953f934dc7c6b1828b453a31
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Nov 9 23:53:22 +0000 2014

	pc, pc64: command flag sometimes doesnt reset, just check for IBF

Hash:	95dbc72801b507b9c2c42444347b98872576244a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Nov 9 23:35:07 +0000 2014

	io: add -E flag to access embedded controller space

Hash:	ee05bbccbce695f51f67ac2f376d93779ce69224
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Nov 9 23:06:01 +0000 2014

	merge

Hash:	bcb67353c1ae559d6f91ab0669a06db52000b15d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Nov 9 23:04:37 +0000 2014

	pc, pc64: provide access to embedded controller with #P/ec file

Hash:	895d883bbd581537c07de9653993529678ee9a82
Author:	mischief <mischief@offblast.org>
Date:	Sun Nov 9 21:41:06 +0000 2014

	filter(1): fix typo i introduced
	
	this is a good example of why blindly copy-pasting patches is a bad idea.

Hash:	b18a6413975a0a8d06e6d310072a0ff90b1ed541
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Nov 9 07:19:28 +0000 2014

	kernel: remove implicit Proc* argument from procctl()
	
	procctl() is always called with up and it would not
	work correctly if passed a different process, so
	remove the Proc* argument and use up directly.

Hash:	1ffcdbab88aca698161b34096934e196370b3a21
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Nov 8 10:48:38 +0000 2014

	dont flush screen when hiding software cursor
	
	we can avoid some flickering when removing the software cursor
	from the shadow framebuffer by avoiding the flushscreenimage()
	call.
	
	once the cursor is redrawn, we flush the combined rect of its
	old and new position in one go.

Hash:	e4af9bc39296b6e1080e905151aa8f981770e49e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Nov 8 08:00:04 +0000 2014

	smtpd: cleanup hello() domain check code
	
	theres no point in doing domain checks on literal ip addresses,
	so handle that case early.

Hash:	4908ea43d7603c435038de6739dd4589585b071b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Nov 8 04:23:59 +0000 2014

	merge

Hash:	9dfe587b27af607a5bcfb9b695c642b7521c2d0d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Nov 8 04:22:25 +0000 2014

	smtpd: accept literal ipv6 addresses in HELO/EHLO

Hash:	cd3a742b324a1256d52b42b82a90d335903f68e7
Author:	mischief <mischief@offblast.org>
Date:	Fri Nov 7 18:39:50 +0000 2014

	all: typo fixes from ray@raylai.com

Hash:	39cabc72693fdc5186a1e5c745d0c307de157686
Author:	khm <devnull@localhost>
Date:	Fri Nov 7 17:51:16 +0000 2014

	Don't quit ircrc on blank line (thanks Ray)

Hash:	797cc13c7053dbdd16c20dc4dee5aee8c92390b0
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Nov 7 11:51:59 +0000 2014

	fix dangerous werrstr() usages
	
	werrstr() takes a format string as its first argument.
	a common error is to pass user controlled string buffers
	into werrstr() that might contain format string escapes
	causing werrstr() to take bogus arguments from the stack
	and crash.
	
	so instead of doing:
		werrstr(buf);
	
	we want todo:
		werrstr("%s", buf);
	
	or if we have a local ERRMAX sized buffer that we can override:
		errstr(buf, sizeof buf);

Hash:	5364fa720de3b963a88dc4810ed83b4f2ab11d12
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Nov 7 07:42:19 +0000 2014

	libc: import cleaned up syslog() function from sources
	
	this fixes a potential format string problem where the
	error string is passed to werrstr() as fmt. also, the
	directory comparsion is simplified in this version using
	a helper function.

Hash:	958d698bf8b58bf30357882242b8fc84c93116ae
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Nov 7 07:10:19 +0000 2014

	libc: improve dial error handling
	
	when dial is called with a generic dialstring, it will try
	/net and /net.alt in sequence. error out if the /net dial
	gets interrupted and do not continue dialing /net.alt.
	
	reduce stack usage by using the swaping nature of errstr()
	instead of keeping two error string buffers on the stack.

Hash:	a0e001a234796825f809e28c48880932b9e2aea9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Nov 7 04:21:42 +0000 2014

	devproc: reset p->pdbg under p->debug qlock in procstopwait()
	
	theres a race where procstopwait() is interrupted by a note,
	setting p->pdbg to nil *before* acquiering the lock and
	and pexit() and procctl() accessing it assuming it doesnt
	change under them while they are holding the lock.

Hash:	20cc2799afd44ca156894fd96a1a72b61fc8a63a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Nov 6 03:59:07 +0000 2014

	mouse(2): fix atomouse (thanks qrstuv)

Hash:	ea80ea451d717207bbf535970b95cd69a7490309
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Nov 6 03:42:20 +0000 2014

	libdraw: fix atomouse

Hash:	9f75e55216a1674ba5b27c53dd8dc66e00828be8
Author:	mischief <mischief@offblast.org>
Date:	Thu Nov 6 01:24:55 +0000 2014

	libc: allow dial to be interrupted
	
	previously, if dial was interrupted by an alarm or other note while connecting to a host that resolved to multiple ips, dial would ignore the interruption and try the next host. now dial properly returns with error when it is interrupted.

Hash:	0aea317dd20eddec4791b2294e36382933c61bc1
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Nov 5 20:38:28 +0000 2014

	inst: copy efi bootloader in bootsetup

Hash:	2c1dc1aa4f374f5c8d6a13e7e82a26c4e27e6775
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Nov 5 20:00:23 +0000 2014

	fix some manpage cross references

Hash:	0560d1d6b657294de891017e1f9c56cf4db07360
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Nov 5 19:42:47 +0000 2014

	termrc: setup mouse when we have a framebuffer
	
	previously, we setup mouse only when vgasize= was specifid in
	plan9.ini. with efi systems, the framebuffer is already setup
	for us and theres no requirement for going thru aux/vga setup,
	but we still want to setup the mouse.
	
	so do the mouseport= check once theres a framebuffer by testing
	the existence of '#i/winname' (which fails when thers no
	framebuffer).

Hash:	3f09d4b623b0e47d0f1dc6ced19345c0d9454834
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Nov 4 05:42:39 +0000 2014

	acpi: fix pcibusno() when PCI0._ADR = 0
	
	libaml comresses zero integer as nil, so remove the
	nil check. this makes interrupts work in vmware with
	efi.

Hash:	f5e45a02d4e1621a9720b3abcadd6b12e7fb4be0
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Nov 4 04:52:42 +0000 2014

	pc: enable page size extension early in apbootstrap
	
	vmware in efi mode brings application processors up
	with CR4 = 0 (pse disabled) which makes us page fault
	when accessing the ap's pdb which might be in a 4MB
	mapping when the boot processor used pse to setup
	page tables.
	
	so we unconditionally enable pse in apbootstrap
	(and disable pae in case of surprises).

Hash:	32b5b2f42db04ed84197392cebf2930b2208ae20
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Nov 2 20:25:37 +0000 2014

	9boot(8): remove redundant "the"

Hash:	9916e03947ccf695df5ea48b124a32f2982e4771
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Nov 2 20:22:03 +0000 2014

	9boot(8): improve efi documentation

Hash:	c82569c6dda630c68f5294b6e2c03c2832200eba
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Sun Nov 2 18:16:33 +0000 2014

	bullshit: don't pollute the environment

Hash:	9ac3a0c39e9fc3b0782f10c05fe19b9739ec50bd
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Nov 2 16:23:10 +0000 2014

	wpa: fork note group when going to background (thanks jpm)
	
	bug: as jpm pointed out, when we run aux/wpa in rio window
	and delete the window, aux/wpa was killed as it shared the
	note group of the window.
	
	fix: fork the notegroup.

Hash:	bb95002c2d47ab00764a183c200c7fd9ecb3c12a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Nov 2 02:52:53 +0000 2014

	pc, pc64: implement acpi reset (for efi)
	
	x230 booted in efi only (no csp) mode hangs
	when traditional i8042reset() keyboard reset
	is tried.
	
	so we try acpireset() first which discoveres
	and writes the acpi reset register.

Hash:	670493fe5ee39e4c819864006e3a5392c0f96248
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Nov 1 23:50:37 +0000 2014

	realemu: make sure instruction arguments are initialized even when decoding traps

Hash:	2020190f945dbc264963abec22659df95cd61f04
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Nov 1 23:32:46 +0000 2014

	pc, pc64: more sanity checking for lowraminit()

Hash:	153f96ebc6b8a155f2a619faa54cfe11163f75c2
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Nov 1 19:53:36 +0000 2014

	pc64: remove unused pdballoc and pdbfree counters from mach structure

Hash:	5c5daef9f6dc59c44d1819b2ea84f0a0c75971de
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Oct 31 19:59:35 +0000 2014

	dist: generate efi bootable cd image

Hash:	bb33ba6b9af392e39d6e4f49814384cb825cc90f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Oct 31 19:40:13 +0000 2014

	nusb/kb: dont set boot protocol on HidCSP interface when we failed to read report descriptor (thanks aap_)
	
	this fixes wireless keyboard/mouse on raspi.

Hash:	634c55543a24e459900fdbad229eb01baae63680
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Oct 31 19:07:54 +0000 2014

	efi: generate /386/efiboot.fat for generating efi bootable cd images (see -E option of mk9660)

Hash:	c7a5345aa6af80bd569e21b576c16daf3a0c72ea
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Oct 31 18:43:47 +0000 2014

	efi: iso filesystem support for cdrom booting
	
	instead of including kernel and config in the efi
	fat image, we can just include the loaders and
	read the plan9.ini and kernel from iso filesystem
	just like the bios loaders.

Hash:	5f91d3f484db5354eba22dd94162e45a708e369a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Oct 31 02:15:15 +0000 2014

	efi: add test targets for iso and fat (for documentation only)

Hash:	2cfbc3c1cbf918e6154d86ed697d74e583efc529
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Oct 31 02:06:09 +0000 2014

	mk9660: add -E option to create EFI boot entry

Hash:	4bfa18a5d173dc3b9615153e54b95a6178150a49
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Oct 30 19:13:44 +0000 2014

	bcm: fix baudrate setting for serial console (thanks to aap and hiro)
	
	the uartmini enable function used to override the baud
	register so the effecive baudrate was always set to
	115200 baud.
	
	now the default baudrate of 9600 is set correctly and can
	be changed in the console= boot parameter.
	
	thanks aap and hiro for debugging, pizza and beer :)

Hash:	678db0fbb1c201417047c7f4a33609549ab54ffe
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Wed Oct 29 04:20:41 +0000 2014

	newt: delete lines

Hash:	e02e4045f2cbdf212fe47534a3302a76f976c322
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Thu Oct 30 02:49:08 +0000 2014

	newt: do not print first message twice when stepping through messages

Hash:	392ca817baba3f2ee2cdb9170a755072136b9669
Author:	Kurt H Maier <khm@sciops.net>
Date:	Wed Oct 29 17:12:44 +0000 2014

	disable useless ssh daemon by default

Hash:	482e03c64d1e12a2afd744d504cbc2f9f9da2756
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Oct 29 16:31:37 +0000 2014

	merge

Hash:	840ade48c4e2c309a9f0ef02a939e00da4c0ee90
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Oct 29 16:29:09 +0000 2014

	fix syslog() use with linefeeds for various programs

Hash:	cefc352c74d7d6ed7c9091eee9acac3a08c92a1e
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Wed Oct 29 16:03:32 +0000 2014

	newt: only print a date if we've managed to extract a date

Hash:	4616c93e8d5fbb9fbedf3b2c16f5b86a21e834ac
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Oct 29 02:20:43 +0000 2014

	cs: fix linefeeds in syslog(), cleanup

Hash:	fe23dcefd4088a733c28edf07853dec63a24b0ad
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Oct 29 01:43:18 +0000 2014

	cs: use /net/ether* instead /net/ether[0123], dont remove srv file with -n, dont write dns logfile

Hash:	e1b0ab17458d5dce5f228a6e6e231d8128db2e4b
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Tue Oct 28 04:43:52 +0000 2014

	newt: removed unused function

Hash:	6213e137ff2e0636284dc294017a39f916f1f3a9
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Tue Oct 28 04:38:58 +0000 2014

	newt: implement ned-style address ranges and overhaul h command to suit

Hash:	c38cd508057ab0abda846ed13786d56d627db7e2
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Oct 25 01:05:44 +0100 2014

	rio: dont serve a kbd file per window when we didnt got one from the environment
	
	9vx doesnt provide a /dev/kbd file and rio faking one
	up causes problems with vncv. (issue #223)

Hash:	88486c75292e2138ebe861ca0130503c21d2f110
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Fri Oct 24 19:40:48 +0100 2014

	fortunes: this exact error message is in the fortunes file.

Hash:	9c009c1c478f73617b2b0f872c60862c3e5deb4b
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Fri Oct 24 19:39:50 +0100 2014

	rob: Working as intended

Hash:	fa3e71ab808441aaf5d8cb2318f536089dafea3f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Oct 23 23:40:09 +0100 2014

	efi: change eficonfig ordering so memconf() is first, dont fallback to fs when /cfg/pxe/ file isnt there
	
	having the memconf() (*e820=) last clutters the screen.
	do it first, so we can read *acpi= and *bootscreen=
	prints.
	
	we want to continue using tftp even when the /cfg/pxe/$ether
	file is not found. only when we detect no pxe/dhcp session,
	then we switch to local filesystem (non-network boot).

Hash:	3bb7ad61aa05fca94fe508914ad5bbf4cf3a86f6
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Oct 22 23:43:27 +0100 2014

	lib9p: prevent files from being created in deleted directories (thanks BurnZeZ)

Hash:	89e63156991a50263eb6481934ce1c40e4a13036
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Oct 23 22:59:16 +0100 2014

	lib9p: fix .. walk crash in deleted directory (thanks BurnZeZ)
	
	to reproduce:
	
	 % ramfs; cd /tmp
	 % mkdir foo; cd foo
	 % pwd
	 /tmp/foo
	 % rm /tmp/foo
	 % pwd
	 /tmp/foo
	 % ls
	 % ls /tmp
	 % ls ..
	 ramfs 202751: suicide: sys: trap: fault read addr=0x0 pc=0x0000e46d
	 ls: ..: '..' mount rpc error

Hash:	16e08adb32778864035cc582c3a9163d3032ca4b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Oct 23 22:11:49 +0100 2014

	efi: add initial pxe support (v4 only)

Hash:	e81e1a4aeddad2bc612c9c5243573250b6ff33a4
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Oct 21 05:03:03 +0100 2014

	pc, pc64: make mtrr() callable from interrupt context and before mpinit
	
	to make it possible to mark the bootscreen framebuffer
	as write combining in early initialization, mtrr() is
	changed not not to error() but to return an error string.
	
	as bootscreen() is used before multiprocessor initialization,
	we have to synchronize the mtrr's for every processor as
	it comes online. for this, a new mtrrsync() function is
	provided that is called from cpuidentify() if mtrr support
	is indicated.
	
	the boot processor runs mtrrsync() which snarfs the
	registers. later, mtrrsync() is run again from the
	application processors which apply the values from the
	boot processor.
	
	checkmtrr() from mp.c was removed as its task is also
	done by mtrrsync() now.

Hash:	dfe8c8bffb497ecd46e9e43eb838ff3e10912663
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Oct 19 20:55:19 +0100 2014

	9boot(8): document efi booting

Hash:	d91fe5b38b0dcc8673427282e5b83ebca6d06fd3
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Oct 19 20:17:08 +0100 2014

	inst: ignore *bootscreen= variable when generating plan9.ini

Hash:	bcc65db171bea6617ab7872342d543e50b09ca63
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Oct 19 20:00:34 +0100 2014

	pc, pc64: lookup pci device for bootscreen() and maximize framebuffer aperture so can change screen resolution

Hash:	d7785060fb66c9c4fc19475668bd861fb6462941
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Oct 19 18:55:45 +0100 2014

	efi: use LocateHandle() and HandleProtocol() to check for multiple gop protocols to find a usable one
	
	the gop returned by LocateProtocol() is not usable on thinkpad x230,
	so iterate over all handles to find a usable one.

Hash:	d6ea4969607d9d6b33ae5a40a947f8a2aa2c0845
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Oct 19 21:01:13 +0100 2014

	efi: fix compiler warnings, remove indicator prints in readn()

Hash:	f0ff0fb0544841d73bc29872d8e2fb4a6a8a5e06
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Oct 18 18:15:53 +0100 2014

	efi: simplify bootscreen code

Hash:	040166493db3bd6f528cc08e2d0cc2c638c560a5
Author:	aiju <devnull@localhost>
Date:	Sat Oct 18 18:08:38 +0100 2014

	games/gba: add state saving

Hash:	99e004c72e5a95a37a5060d273c3c1ce99bed6ec
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Oct 18 17:48:56 +0100 2014

	efi: convert pixel format to bootscreen color channel

Hash:	6aa6e9fc8b27850769899f23f4462c7eaf1da3d4
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Oct 18 01:15:40 +0100 2014

	efi: make clean target virtual

Hash:	6f3dfb57eba2eb9ab21e4a0d06c8415cccf45fb1
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Oct 18 01:13:02 +0100 2014

	efi: add experimental efi bootloader
	
	this is basically a port of 9boot to EFI. theres
	support for IA32 (386) and X64 (amd64).
	
	has been tested only under qemu with OVMF so far.

Hash:	0a6439a1f564de17bfad7a327178e47483a86e1a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Oct 18 01:01:58 +0100 2014

	pc, pc64: allow passing RSDT pointer in *acpi= boot parameter, early bootscreeninit(), fix rampage() usage
	
	rampage() cannot be used after meminit(), so test for
	conf.mem[0].npage != 0 and use xalloc()/mallocalign()
	instead. this allows us to use vmap() early before
	mmuinit() which is needed for bootscreeninit() and
	acpi.
	
	to get memory for page tables, pc64 needs a lowraminit().
	
	with EFI, the RSDT pointer is passed in *acpi= parameter
	from the efi loader. as the RSDT is ususally at the end of
	the physical address space (and not to be found in
	bios areas), we cannot KMAP() it so we need to vmap().

Hash:	81e0d6e988289c983445f855583496048fb4c61b
Author:	BurnZeZ <brz-9dev@intma.in>
Date:	Wed Oct 15 20:57:51 +0100 2014

	sysupdate/psfax/play: fix unquoted brackets causing rc to perform unnecessary file lookups

Hash:	b52f0c884ebc0d743fb617ed9feed26ae2296f69
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Oct 13 22:02:53 +0100 2014

	pc: add *bootscreen= variable to pass pre-initialized framebuffer info to kernel
	
	EFI system has no cga or vesa anymore, so it becomes neccesary to
	pass GOP framebuffer info to the kernel to get some output on the
	screen.

Hash:	cc6ab3189125beb510a0cda836cce2648b8fede5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Oct 12 19:18:59 +0100 2014

	pc: sanity check bda value in lowraminit() to avoid overflow with efi

Hash:	ca694c51efbcab0e9dd7421f395cfbb4b573b90e
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Sun Oct 12 18:27:53 +0100 2014

	pkg: change default repo to http://9front.org/pkg/386

Hash:	748a95266fccc6ad85913fbaa9fc197ccfdf728c
Author:	BurnZeZ <brz-9dev@intma.in>
Date:	Sat Oct 11 16:47:38 +0100 2014

	rio: fix "-cd dir" in mountspec being ignored

Hash:	081bbcf0a1f25f71bd12e3853ede060b8a82f155
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Tue Oct 7 02:17:26 +0100 2014

	fortunes: You have an agenda.

Hash:	5de71b116a9daf647952a84006cc481a6ce259bd
Author:	aiju <devnull@localhost>
Date:	Fri Oct 3 15:52:56 +0100 2014

	games/gba: new faster ppu code, audio support

Hash:	02ea56dbdad9e2b3145ac57ee1765aa74d5dd4f8
Author:	aiju <devnull@localhost>
Date:	Tue Sep 30 19:46:13 +0100 2014

	added gbatype

Hash:	74b7abe95cb438ada53305ce07646a579800a9ba
Author:	aiju <devnull@localhost>
Date:	Tue Sep 30 14:48:32 +0100 2014

	games/gba: fix dma repeat bit and eeprom addresses

Hash:	4f264cedfbb6a10a9a471c8a11b2a80489e4287f
Author:	aiju <devnull@localhost>
Date:	Tue Sep 30 12:07:36 +0100 2014

	added crc32

Hash:	4f4d71b941e568b158da73978e25105b94afd7fd
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Sep 29 20:01:51 +0100 2014

	hgfs: make data files with meta headers having the right size after open
	
	to get the right data size of a file, the revlog needs to have been
	opened and the metaheader parsed. as an optimization, we used to
	open revlog only on the first read resulting revlogs with metaheaders
	having the wrong size returned by fstat() until the first read().
	
	tar relies on fstat() giving the correct file size, so just open
	the revlog on open. reading directories can still yield the wrong
	size but it is not that critical.

Hash:	c1dc5d15c374c34395af92e002f064cd3e9ce5dc
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Sep 29 19:11:58 +0100 2014

	snap: change ulong return of stackptr() to uvlong for amd64

Hash:	752841fcc1831444ba96dc4ff72c58d66b77f958
Author:	aiju <devnull@localhost>
Date:	Sun Sep 28 18:41:52 +0100 2014

	games/gba: small fixes

Hash:	15afb9d00b50c5d362ffcb387d7e6e4054192eff
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Sep 28 18:02:25 +0100 2014

	apply ps2mouse corruption fix to omap
	
	the omap ps2mouse driver is currently unused, but
	in case of being finished at some point, apply the
	fix from the pc driver.

Hash:	dbb0f46e583d54bdd63ace2d1a8e74e8a8b89a84
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Sep 28 17:29:41 +0100 2014

	merge

Hash:	36db1295be07b790f381e0157df7731767a25dc0
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Sep 28 17:28:38 +0100 2014

	pc/pc64: fix ps2mouse memory corruption race
	
	there was a memory corruption bug caused by us enabling the
	ps2mouseputc() handler *before* initializing packetsize.
	
	once we enabled the handler, mouse interrupts could come
	in and advance the packet buffer index (nb) beyond the
	buffer boundaries.
	
	as ps2mouseputc() only checked for ++nb == packetsize, once
	nb was advanced beyond the packetsize, it would continue writing
	beyond the buffer and corrupt memory with each mouse packet byte.
	
	solution is to initialize packetsize *before* enabling the
	handler, and also do a >= check in ps2mouseputc() in case the
	packetsize gets changed to a smaller value at runtime.

Hash:	a494cc74ad646540fa5b3a994e94f20d7652f62e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Sep 28 04:15:25 +0100 2014

	ndb/dns: request recursion only for local dns servers
	
	we used to set RD flag in requests unconditionally, which
	is fine by the standard but some dns server administrators
	seem to use it as a denial of service indicator (for ther
	non recursive authoritative nameservers) and ignore the
	request.
	
	so only set the RD flag when talking to local dns servers.

Hash:	eb6a4fc1a4a6e32cd35e76771fe8687b64e9122f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Sep 28 01:42:33 +0100 2014

	devcons: avoid division by zero reading Qsysstat
	
	alexchandel got the kernel to crash with divide error
	on qemu 2.1.2/macosx at this location. probably
	caused by perfticks()/tsc being wrong or accounttime()
	not having been called yet from timer interrupt yet for
	some reason.

Hash:	c8cf0cee47914699e3e7c10a7b7501af94b53b4e
Author:	aiju <devnull@localhost>
Date:	Sun Sep 28 21:42:11 +0100 2014

	games/gba: remove bogus file

Hash:	05bdd09bc301d2b915ca3303d1e03d9eb8555ed8
Author:	aiju <aiju@phicode.de>
Date:	Sat Sep 27 19:51:00 +0100 2014

	merge

Hash:	77f3fa19de87be8ded57a038cab60b240b191dab
Author:	aiju <devnull@localhost>
Date:	Sat Sep 27 19:50:20 +0100 2014

	games/gba: slowly working (no pun intended)

Hash:	d2716316476c54c16a45705207db7c2c50a9a8c5
Author:	mischief <mischief@offblast.org>
Date:	Sat Sep 27 09:35:06 +0100 2014

	hgignore: ignore amd64 kernel and init

Hash:	709e78b9f9a76658cc6c704176ebf8f5821ee9d2
Author:	aiju <devnull@localhost>
Date:	Thu Jul 31 10:36:24 +0100 2014

	spred: scrolling and other bugfixes

Hash:	ee29c176390d3d7c51cb5332db826ed0439cff21
Author:	mischief <mischief@offblast.org>
Date:	Wed Sep 24 22:19:22 +0100 2014

	pc64: enable rtl8169 driver (thanks awabimakoto for testing)

Hash:	decc7ec5183715bcd268dd6d6674ff0a94665c27
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Sep 24 19:45:16 +0100 2014

	6c/8c: eleminate moves by swaping source and destination operands in peephole pass

Hash:	4cb032442a1598611c684ca16f58950358502935
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Sep 22 22:07:59 +0100 2014

	acid: fix sysr1() stack corruption
	
	the syscall stubs (for amd64) currently have a unconditional
	spill of the first (register) argument to the stack.
	
	sysr1 (and _nsec) are exceptional in that they do not
	take any arguments, so the stub is writing unconditionally
	to ther first argument slot on the stack.
	
	i could avoid emiting the spill in the syscall stubs for
	sysr1 but that would also break truss which assumes fixed
	instruction sequence from stub start to the syscall number.
	
	i'm not going to complicate the syscall stubs just for
	sysr1 (_nsec is not used in 9front), but just add a dummy
	argument to sysr1 definition that can receive the bogus
	argument spill.

Hash:	84c40fb226e374efe05bb7d7eaa4f43f713f4929
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Sep 21 18:24:38 +0100 2014

	devip: sanity check Nchan in Fsproto()
	
	devip can only handle Maskconv+1 conversations per
	protocol depending on how many bits it uses in the
	qid to encode the conversation number.
	
	we check this when the protocol gets registered.
	
	if we do not do this, the kernel will mysteriously
	panic when the conversaion numbers collide which
	took some time to debug.

Hash:	59ab557f31068c91492af16d73ab9b3628ead21d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Sep 21 17:28:35 +0100 2014

	sysinfo: relax regex for start of kernel boot messages
	
	we used to look for /^Plan 9$/ for the start of kernel
	boot messages in /dev/kmesg. but the xen kernel prints
	Plan 9 (.....) on boot. so just look for line starting
	with /^Plan 9/ for now.

Hash:	c145a2c0aaa4458b6128f17a05a5e4701cb11929
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Sep 21 17:02:53 +0100 2014

	devip: print protocol name in garbage collection notification

Hash:	47e52123d06390a29f3233f7ee16fcc0446b6a05
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Sep 21 15:06:25 +0100 2014

	pc64: print "Plan 9" on boot, cleanup pccpu64 files

Hash:	2604bc360347176323dd6706362186b97c49662c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Sep 20 17:06:59 +0100 2014

	stats: handle /dev/sysstat 32bit overflow in delta calculation
	
	the numbers from /dev/sysstat overflow on 32bit, so have
	to do subtraction modulo 2^32 as we calculate with 64bit
	integers.
	
	thanks mischief for reporting this.

Hash:	19a8f66eecda455b56c6c07bd1ce75be8d2cbb82
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Sep 20 00:37:11 +0100 2014

	pc64: syscallfmt for nsec syscall

Hash:	acd15f13c4572aa2ac360f2c0deb6aa05351873d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Sep 20 00:07:46 +0100 2014

	pc64: put return value of nsec syscall in register on amd64
	
	WHAT WHERE THEY *THINKING*??!?!
	
	unlike seek, the (new) nsec syscall (not used in 9front libc)
	returns the time value in register (from nix), so do the same
	for compatibility.

Hash:	f899e558186d46ad7223ce8be04e0d66a2c5f889
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Sep 19 16:49:48 +0100 2014

	libmemdraw: fix byte ordering in memfillcolor()
	
	memfillcolor() used to write longs in host byte
	order which is wrong. have to always use little
	endian.
	
	to simplify, moved little endian conversion into
	memsetl() and memsets() avoiding code duplication.

Hash:	a1b2b9b126e540007ae51e128c457a8fc924b20f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Sep 19 04:22:26 +0100 2014

	lib9p: fix nil dereference crash in remove for directory permission check
	
	file->parent can be nil when the file has been previously removed.
	removefile() deals with this, so skip the permission check in
	that case and let removefile() error out.

Hash:	5d8300d2ebaaba3a648d25015cadd80ddd2d016e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Sep 17 15:34:30 +0100 2014

	teg2: fix wrong l2 setshift address in wholecache() (from sources)

Hash:	ce80c5029e3885836ac3077a2219093e251c4993
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Sep 16 19:25:01 +0100 2014

	oggdec: recognize "begin of stream" packets and restart decoding

Hash:	187aad97beeb440e4dc938597370f3259b66c579
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Sep 16 15:42:16 +0100 2014

	merge

Hash:	e060bc6df6f04d5cffab38bc4b67145503ca60f3
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Sep 16 15:41:05 +0100 2014

	libauthsrv: allow multiple auth= attributes for backup auth servers, authdial() tries each one in order
	
	some of us run auth servers from home that are used by multiple
	servers on the internet. when the home authserver becomes unreachable,
	services on the outside servers stop working. so we thought about
	specifing a secondary auth servers for backup when the primary
	server is not reachable.
	
	this changes authdial() to consult multiple auth= entries in
	the authdom= or dom= tuples, trying each one in order until
	dial() succeeds.

Hash:	e5c47ca18e2ac3768b124edbd9f48310f3206d26
Author:	mischief <mischief@offblast.org>
Date:	Mon Sep 15 23:49:39 +0100 2014

	ramfs: allow changing mtime in wstats

Hash:	222018340bd86cf053461b57867f81ef5aabe657
Author:	mischief <mischief@offblast.org>
Date:	Mon Sep 15 21:42:54 +0100 2014

	hg: make intermediate directories like newer hg does

Hash:	7011194af157e5d84f4fe7ce5868a5d529c219e3
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Sep 16 21:33:27 +0100 2014

	ramfs: fix directory check in wstat() (thanks mischief)

Hash:	694597de3b77db6d2973fe0e40a19a490a4fa7db
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Sep 15 07:19:51 +0100 2014

	devtls: fix typo in debug print

Hash:	7f295c205577f604c8c078fd3f5626330e774ec9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Sep 14 20:20:13 +0100 2014

	telnetd: let the kernel place the shared segment in segattach() (thanks kenji arisawa)

Hash:	fdf3883ce43eefe329c93494c32b7005a86759fb
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Sep 14 16:03:56 +0100 2014

	libmemdraw: update drawtest to use same rounding in alpha calculation as libmemdraw

Hash:	e9fddbaad81de8afbffe3f8ff626a18a551619df
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Sep 14 15:04:22 +0100 2014

	kernel: fix segattach() rounding of va+len (thanks kenji arisawa)
	
	from segattach(2):
	
	          Va and len specify the position of the segment in the
	          process's address space.  Va is rounded down to the nearest
	          page boundary and va+len is rounded up.  The system does not
	          permit segments to overlap.  If va is zero, the system will
	          choose a suitable address.
	
	just rounding up len isnt enougth. we have to round up va+len
	instead of just len so that the span [va, va+len) is covered
	even if va is not page aligned.
	
	kenjis example:
	
		print("%p\n",ap);	// 206cb0
		ap = segattach(0, "shared", ap, 1024);
		print("%p\n",ap);	// 206000
	
	term% cat /proc/612768/segment
	Stack     defff000 dffff000    1
	Text   R      1000     6000    1
	Data          6000     7000    1
	Bss           7000     7000    1
	Shared      206000   207000    1
	term%
	
	note that 0x206cb0 + 0x400 > 0x20700.

Hash:	ce54a5d6634ab4493504001f9c27568a429ae811
Author:	mischief <mischief@offblast.org>
Date:	Sat Sep 13 14:23:41 +0100 2014

	hgignore: ignore intermediate object files for amd64

Hash:	4cf91c29373157f23290f3a406a3e064fbd2b3ee
Author:	mischief <mischief@offblast.org>
Date:	Sat Sep 13 14:14:39 +0100 2014

	hgignore: ignore mips binaries

Hash:	8348a233ae56a2f51dc2e3f93f681cc7aebdae14
Author:	mischief <mischief@offblast.org>
Date:	Sat Sep 13 14:07:57 +0100 2014

	vi: implement _nsec syscall

Hash:	c8008e1ffd0bdcf8aa1152aa9a81157ef1688926
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Sep 14 01:30:46 +0100 2014

	libsec: experimental DHE client support for tls and cleanups

Hash:	6c68876db6d25b8c646295fecc75a6363d0bdc75
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Sep 14 01:29:18 +0100 2014

	libsec: add diffie-hellman functions

Hash:	4cf00ca6cb40918c8ca89aebf02e8ca41c857e94
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Sep 14 01:26:26 +0100 2014

	libsec: fix hmac for keys bigger then 64 byte block size
	
	RFC2104 defines HMAC for keys bigger than the 64 byte block
	size as follows:
	
	Applications that use keys longer than B (64) bytes will
	first hash the key using H (the hash function) and then
	use the resultant L byte string as the actual key to HMAC.

Hash:	69fab298beee33e4a6f91d9e1811dfa1898aa743
Author:	aiju <aiju@phicode.de>
Date:	Sat Sep 13 18:46:41 +0100 2014

	libsec: ecgen() and ecdsasign() fix

Hash:	62a8bf184668a071f5113f73d0d4082d8d0ee556
Author:	BurnZeZ <brz-9dev@intma.in>
Date:	Thu Sep 11 17:47:04 +0100 2014

	acme: remove unused #include

Hash:	418ce96ca2e80f5161b773fa879907ae4c972a73
Author:	aiju <aiju@phicode.de>
Date:	Thu Sep 11 10:36:35 +0100 2014

	games/gb: minor goof

Hash:	d63850570c52ba28a3d5359cc9244f8ee8847099
Author:	aiju <aiju@phicode.de>
Date:	Thu Sep 11 10:20:57 +0100 2014

	games/nes: reduce volume, causes overflow and confuses ac97

Hash:	96b5d96b90c0d63bb0a5f170671689ea7e99ed5a
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Sat Sep 6 06:11:18 +0100 2014

	/lib/rob: Just write the code.

Hash:	cb0605de418736cb0f90556a9ff0c01694484c9a
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Sat Sep 6 06:09:37 +0100 2014

	add /lib/terry

Hash:	a49ddece8bf3ce16e9049d0cbc5c890c0461f342
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Sep 6 21:59:58 +0100 2014

	ip/ayiya: experimental anything in anything tunnel protocol client
	
	this is a work in progress implementation of the ayiya (anything
	in anything) protocol as used by sixxs.net. hiro tested it and it
	worked for him, but progress has stalled as sixxs.net rejected my
	request for an account and ignored my emails since.

Hash:	460f482ad05aeb12a7ed3bb92adeb03d8c6e4c0a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Sep 4 22:02:37 +0100 2014

	doom: fix alignment issues for arm

Hash:	3a322e9f329909c3c751de6cb5da33e7280c2738
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Sep 4 21:53:54 +0100 2014

	5e: fix signed long multiply

Hash:	e890c3d9432a2dfbf238f3d60b7b3a96409ddd78
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Sep 3 18:23:55 +0100 2014

	5e: push ERRMAX for note message on stack avoiding unaligned stack pointer

Hash:	b86472772300dd87bdfc1dd51a58ec14eae34e43
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Sep 2 15:20:43 +0100 2014

	ether8139: fix pointer to smaller int tuncation warning on amd64

Hash:	585ab698ded2348fb1fcb37227fba636413f74d4
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Fri Aug 29 01:46:56 +0100 2014

	/sys/lib/dist/ndb/common: add auth=fs.stanleylieber.com authdom=inri

Hash:	935e8472d1eec3fe02112fb4059c4ec3d0131ce5
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Wed Aug 27 06:13:11 +0100 2014

	fortunes: $75K Prosthetic Arm Is Bricked When Paired iPod Is Stolen

Hash:	7996878864aaee95b48c277a03259cd43a369302
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Aug 27 00:41:02 +0100 2014

	ipconfig: remove sleep() left over from debug :-)

Hash:	46b8a0ac0052c5a0f760ea7ea7e7261fe160f1ce
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Aug 27 00:12:42 +0100 2014

	ipconfig: fix readipifc() memory leaks in recvra6 and sendra6 processes
	
	to avoid continuously leaking memory in recvra6 and sendra6
	processes, pass the previous Ipifc* pointer to readipifc().

Hash:	acb49987e671033834c1d3e3d19f7f0e4e689333
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Aug 26 20:29:37 +0100 2014

	ip: set arp entry for own v6 address when not tentative
	
	after running ip/ipconfig -6, we are unable to ping our
	own link-local address and the arp daemon sends out useless
	neighbor solicitation requests to itself. this change
	adds an arp entry for our ipv6 address. however, this
	must not be done for tentative interface configuration.

Hash:	7ad08a8515f2579013c45a8473ba3c05701796da
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Aug 26 20:09:57 +0100 2014

	ipconfig: cleanup code duplication in ip6cfg()

Hash:	dbf165e1bdcc65d94ed9c0d70e5d24df5ad4fc8f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Aug 26 20:07:59 +0100 2014

	ping: don't spin when we get error reading icmp connection, print error and sleep

Hash:	6031dd83b632651013a7e7e707632ebabb68367f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Aug 21 23:00:06 +0100 2014

	pc64: enable ether8139 in kernel config (thanks hiro)

Hash:	15755a5f8329aa5395e1bc83231eefad86321ca1
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Aug 21 09:56:15 +0100 2014

	ether8139: fix pointer truncation by ulong cast, use mallocalign()

Hash:	21618850343af89d5a70f7d53a2ec32066e2ec20
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Aug 21 00:18:36 +0100 2014

	secstore: improve error messages, newSConn() can't fail

Hash:	2ec9006e9ef02e5e13ff51eaabac23b9695ed113
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Aug 20 23:30:13 +0100 2014

	ip: fix memory leak in ipicadd6()
	
	allocate the Iplifc structure on the stack instead.
	i assuming that it was allocated on heap in fear of
	causing stack oveflow. on 386, this adds arround
	88 bytes on the stack but it doesnt seem to cause
	any trouble. (checked with poolcheck after ctl write)

Hash:	0d5491fb083510fda1dc3c8a9fa15d45dc0fabcc
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Aug 18 02:16:11 +0100 2014

	pc, pc64: fix off by one error in _multibootentry

Hash:	f128c6eab00bb4ebb40d0afddf7824e5bc2e179a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Aug 17 05:08:06 +0100 2014

	boot: dont print errors if ethernet has no ifstats file, can happen with usb ethernet

Hash:	98e3e12d928c702ef8beb3846097b61b1f13a6a3
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Aug 17 03:26:28 +0100 2014

	5a: revert MOVM .S and .W are exclusive (broke bcm build)

Hash:	3b661a96effa96d211676181aa5206d1a6e42113
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Aug 16 23:50:20 +0100 2014

	kernel: make noswap flag exclude processes from killbig() if not eve, reset noswap flag on exec

Hash:	0bc51a90b0e9903ede7edb4750c415e9d6f422c7
Author:	iru <devnull@localhost>
Date:	Sat Aug 16 22:50:42 +0100 2014

	Fix acme crash: Get D in a new window with D being an existing directory

Hash:	773b57b676526975059e5ba3858cfde6d8b50ceb
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Aug 16 20:04:41 +0100 2014

	kernel: fix todfix() race
	
	we have to recheck the condition under tod lock, otherwise
	another process can come in and updated tod.last and
	tod.off and once we have the lock, we would make time
	jump backwards.

Hash:	ce0b77e2b9bd4669844d0356f8e49d2f4878bac8
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Aug 16 16:26:12 +0100 2014

	kernel: xinit() use ulong for page counts, cleanup

Hash:	a5bce84600f797996c630a0b3cd192adb3c0eb91
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Aug 16 22:34:28 +0100 2014

	nusb/kb: delete code for keyboard boot protocol handling, just use hid parser
	
	unify the keyboard and mouse readers into one using the hid
	report parser for both. remove the keyboard protocol handling,
	as it is now handled by hid parser and all we get is a sequence
	of keycodes in Hiddev.k[] which we diff for up/down and translate
	to pc scancodes.

Hash:	74a276d0765df146871381c580256971eed3166e
Author:	aiju <aiju@phicode.de>
Date:	Thu Aug 14 09:42:39 +0100 2014

	spred: command window improvements

Hash:	a67d18ccf157559e23303dc57815402939f2a88e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Aug 13 23:11:14 +0100 2014

	import: make aan (-p flag) work in ``backwards mode'' (-B)
	
	in backwards mode, the roles of the aan filters need to be
	reversed. add "-n address" option to import to override the
	announce address for the aan server part (default tcp!*!0).

Hash:	d8d26c7001d63537be2d4bf6c39778ad07e32e3a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Aug 13 00:10:59 +0100 2014

	nusb/ptp: do maxpkt reads to avoid babble error with usb 2.0 devices (thanks mischief!)
	
	mischief got babble error with his mobile phone as we used to
	read at max 64 bytes for the data response phase. his device
	has 512 byte packet size.
	
	thans to mischief for the patience.

Hash:	bedffdd8c3946a5a13a2ef7015b214ed8f8f5f66
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Aug 13 22:09:47 +0100 2014

	devenv: prevent non-hostowner from creating or removing variables in '#ec', cleanup

Hash:	55bf3d639938722d3da2464110cb188e87591d52
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Aug 12 20:35:31 +0100 2014

	ip: fix missed unlocks and waserror handlers
	
	ipifcunbind() could error out from ipifcremlifc() and Medium.unbind()
	*after* decrementing ifc->conv->inuse! move the decrement after
	calling these functions.
	
	make ipifcremlifc() never raise error but return error string.
	the only places where it could error is when it calls into
	medium functions like Medium.remroute() and Medium.remmulti().
	Ignore these errors as they could happen when the ethernet driver
	crashed (think imported ethernet device or usb ethernet
	in userspace), so we will be able to unbind.
	
	add waserror() handlers as neccesary to deal with errors from
	Medium.addmulti(), Medium.areg() and arpenter() to properly
	unlock the data structures.

Hash:	53619de42806e50a6f7488973048f17df11b80c9
Author:	mischief <mischief@offblast.org>
Date:	Tue Aug 12 18:33:47 +0100 2014

	aux/8prefix: fix usage

Hash:	b0d7ade423a871567a8f48067b15bc192284f1c1
Author:	mischief <mischief@offblast.org>
Date:	Mon Aug 11 04:38:59 +0100 2014

	secstore(1): clarify how the server is dialed and add new $secstore environment variable

Hash:	a0b7cabe3a722d7a245b113dd9dec555872e559c
Author:	mischief <mischief@offblast.org>
Date:	Mon Aug 11 02:05:57 +0100 2014

	secstore: read server from $secstore environment variable
	
	this allows setting the secstore server with secstore=tcp!example.com!secstore or secstore='$secstore' to read from ndb.

Hash:	e17025174a11c97094b167667d45c3190af44b64
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Mon Aug 11 00:04:20 +0100 2014

	fortunes: it´s easy but you are complicated

Hash:	443b046bffb94b7c2e17700a421aaea9a7357f95
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Mon Aug 11 00:00:55 +0100 2014

	fs(8): correct spelling

Hash:	427e925eea1ea4ca9a5308b7b08af01785389991
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Aug 11 21:36:59 +0100 2014

	cwfs: add optional uid argument to allow command, unify permission override code
	
	the allow command now takes an optional uid argument for the user
	to be granted temporary god status on the fileserver for maintenance.
	
	this was kenji okomotos idea, so thanks :)
	
	remove wstatallow and writeallow flags. instead, we have global:
	
	int allowed;
	
	that contains the uid of the currently allowed user id or -1
	if permission checking is globally disabled for the fileserver.
	when zero, normal permission checking takes place.
	
	added int isallowed(File*) function that returns non-zero when the
	context is the console, or the allowed user. this is also used internally
	by iaccess(), so all the extra code of in the callers of iaccess()
	is gone now.
	
	dont conflate allowed user with noauth flag and auto-allow on ream.
	the installer already knows about noauth and allow flags so theres no
	problem with bootstraping.

Hash:	30d4d8984bfc64e971bfbb3b913c37ed8a8da17b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Aug 9 17:23:14 +0100 2014

	5a: MOVM.IA.W.S ..., [R15] is exception return and needs to be allowed (thanks aiju)

Hash:	760063ab57aa42ea82f1bf5c9177c0cde206aeee
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Aug 9 16:37:02 +0100 2014

	cwfs: fix 32bit multiplication overflows for allocation sizes (thanks kenji okomoto)

Hash:	3472f91129a7a594b356f9a22af2a8176f6e4b1c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Aug 9 21:47:46 +0100 2014

	5a: reject MOVM instruction with .S and .W bits both set (aijus idea)

Hash:	daa15d1edbcab0aeae1f5c2a00a6e042e678cfb3
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Aug 8 16:02:10 +0100 2014

	kernel: more nil vs 0 cleanup in chan.c

Hash:	ee6409366ed63e37adaaf4e479eeb335df83a63e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Aug 8 15:44:41 +0100 2014

	kernel: use nil for pointers instead of 0, zero channel umc and dirrock in newchan()

Hash:	0ceeee4c8b207b3833e005643abf8997a60c255f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Aug 8 01:06:03 +0100 2014

	ndb/dns: fix nil dereference crash with convM2DNS() returning reqmsg.qd == nil

Hash:	45333cdc92654eb58dc8c820dd58ae23c4a49640
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Aug 8 22:28:47 +0100 2014

	devmnt: fix potential race with mntflushfree(), remove mntstats, 0 vs nil cleanup
	
	when mountmux() completes a request for another process, enforce odering
	of the loads and stores to the request prior to writing q->done = 1
	so mntflushfree() sees q->done != 0 only when the request has actually
	completed. otherwise, the q->done = 1 store could have been reordered
	before the load from q->z, reading from already freed request and causing
	spurious wakeups.
	
	removing unused mntstats callback.
	
	use nil for pointers instead of 0.

Hash:	bc306a5a6322fece62d459b6f80ecc8f9867dcb1
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Aug 7 20:35:52 +0100 2014

	8c, 6c: generate enam.c file, just like 5c

Hash:	0a101736b885578f673bc08b7fd040e977ede331
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Aug 7 20:11:11 +0100 2014

	pc, pc64: make pc kaddr() check reject -KZERO address (thanks aiju)

Hash:	d304dc8119a737c65eca8717e1f436a1e0edf880
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Aug 7 19:22:00 +0100 2014

	5a, 5l: add LDREX/STREX/CLREX instructions

Hash:	ca4f815cfc673d00834b48535b9903aae3ac3961
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Aug 7 18:55:25 +0100 2014

	pc64: fix wrong Ureg* argument on note handler (thanks _sl!)
	
	_sl reported crash:
	
	stats 593: suicide: sys: trap: fault write addr=0xffffffff8258d1b0 pc=0x204cc7
	
	; acid 593
	/proc/593/text:amd64 plan 9 executable
	/sys/lib/acid/port
	/sys/lib/acid/amd64
	acid: lstk()
	notejmp(ret=0x1,j=0x40ac90)+0x13 /sys/src/libc/amd64/notejmp.c:10
	alarmed(a=0xffffffff8258d1b0,s=0x7ffffeffea58)+0x3f /sys/src/cmd/stats.c:718
	notifier+0x3e /sys/src/libc/port/atnotify.c:15
	acid:
	
	note how a in alarmed is a kernel address!
	
	the first Ureg* argument is passed to the note handler in the
	RARG (BX) register, which was not loaded when returning to
	userspace from syscall() thru forkret(). fix by returning thru
	noteret() from syscall().

Hash:	7c1ae2ead32396761f3f08b1ec15645dc53aae0d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Aug 4 08:33:23 +0100 2014

	samterm: fix ctrl-b crash when cmd window resized (thanks revex)
	
	for reference:
	
	On IRC revex reported that samterm crashes on Ctrl-b if the command window has
	been resized. I was able to reproduce:
	
	http://plan9.stanleylieber.com/sam/bugs/ctrl-b.png
	
	; acid 831213
	/proc/831213/text:amd64 plan 9 executable
	/sys/lib/acid/port
	/sys/lib/acid/amd64
	acid: lstk()
	abort()+0x0 /sys/src/libc/9sys/abort.c:6
	panic1(s=0x400448)+0x27 /sys/src/cmd/samterm/main.c:692
	panic()+0x19 /sys/src/cmd/samterm/main.c:684
	lldelete()+0x71 /sys/src/cmd/samterm/flayer.c:221
	flupfront(l=0x40eac0)+0x18 /sys/src/cmd/samterm/flayer.c:139
		v=0x20062900000001
	current(nw=0x40eac0)+0x49 /sys/src/cmd/samterm/main.c:156
	type(l=0x40eac0,res=0x15300000001)+0x37c /sys/src/cmd/samterm/main.c:658
		t=0x40eaa8
		buf=0x419ec0
		p=0x41dd48
		a=0x0
		backspacing=0x200000000
		c=0x41dd4800000002
		cursor=0x0
		a0=0x0
	threadmain(argv=0x7ffffeffefa0)+0x21c /sys/src/cmd/samterm/main.c:75
		r=0xb0000001b1
		got=0xfefefefe00000002
		chord=0x0
		nwhich=0x43c310
		scr=0x200000000
		t=0xfefefefefefefefe
		w=0x43c310fefefefe
	mainlauncher()+0x18 /sys/src/libthread/main.c:59
	launcheramd64(arg=0x4194a0,f=0x221673)+0x10 /sys/src/libthread/amd64.c:11
	0xfefefefefefefefe ?file?:0
	acid:

Hash:	15b5a980d7c2055a10567292055747b6251704f8
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Aug 3 16:09:28 +0100 2014

	iostats: properly distribute exit status and give usefull error messages

Hash:	718f3358bb382e67a51d5f0a66bb89c1e8559a07
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Aug 3 15:28:07 +0100 2014

	iostats: remove unused fcallfmt, dont leak our mount pipe end into exportfs proc

Hash:	d63734eb532c90297561782513a455b0eeae6b0d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Aug 3 15:02:47 +0100 2014

	iostats: bring back standard filedescriptor spying

Hash:	5302e88796f0ad7fb2490e68b72ef6cd417dfb03
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Aug 2 18:22:10 +0100 2014

	exportfs: simplify freefile() code
	
	remove impossible checks, rewrite as while loop.

Hash:	b185d2fe5c28aa1ba7bd0469c84a01e791d76f5e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Aug 2 18:04:33 +0100 2014

	exportfs: remove getsbuf() nil check, can't happen

Hash:	686cf0b0f389015801220eba102fd55e695e017d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Aug 2 17:45:19 +0100 2014

	iostats: isolate fs from interrupt notes
	
	interrupt notes go to the child process, not the filesystem
	and filter process.

Hash:	4f45a403344037b0931d921ab8cd4b428f630a7e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Aug 2 14:47:24 +0100 2014

	iostats: cannot spy on fd 0,1,2 as /fd is per process

Hash:	73d35f9c7db439c324a84a7582b1208222a71537
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Aug 2 14:07:29 +0100 2014

	exportfs: cleanup

Hash:	7ae4e473daef440b3931b315a01245e17b784a8f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Aug 2 13:37:16 +0100 2014

	ftpfs: dont convert names to latin when string is valid utf-8

Hash:	7cc757c3c01e09c73034d8f08226ca1fd34c4e6b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Aug 2 13:28:19 +0100 2014

	python: disable symlink and readlink compile options, ape has no reasonable way emulating it

Hash:	dc501ae1e31dd4c9147f10e0d477ad0967777609
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Aug 2 02:06:09 +0100 2014

	iostats: dont prefix /bin to argv[0] when already absolute or relative path

Hash:	4e42b9996f05c988f7ab61084b758fb3d1626760
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Aug 2 01:41:57 +0100 2014

	iostats: cleanup, remove bogus Maxrpc constant

Hash:	23aaa0c59cb0bf3e82e587571ee70d2c5c9e410b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Aug 2 01:30:19 +0100 2014

	iostats: reimplement iostats as a 9p filter instead of duplicating exportfs
	
	old iostats failed to work when builidng the kernel due to old bugs
	that where already fixed in exportfs. instead of backporting the fixes,
	reimplement iostats as a filter that sits between exportfs and the
	process mount. from users perspective, theres no difference.
	
	the result is much smaller and can handle everything that exportfs
	can like /srv.

Hash:	d14b6a0bf98306a6ec1b9181e998ef672db5a206
Author:	ftrvxmtrx <devnull@localhost>
Date:	Fri Aug 1 19:44:58 +0100 2014

	usps: yet another update

Hash:	1b70ab59794ffa67e4294129943819685ae5542f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Aug 1 15:57:39 +0100 2014

	exportfs: use argv0 instead of hardcoding "/bin/exportfs" in openmount(), dont use 0 for nil

Hash:	98d518cc8c1ff7d1440ebffb9f546d3e0e149d60
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Jul 30 19:34:45 +0100 2014

	fstype: fix kfs detection (thanks kenji okomoto)

Hash:	a39ce6a934c4d19cb2386ddefdc50670cb600ae6
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Wed Jul 30 17:11:58 +0100 2014

	fortunes: From: urielc@cantv.net

Hash:	e7a3cd0fd0f41e03f7b861d5e092f8a4a51f5fa8
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Wed Jul 30 17:09:35 +0100 2014

	spred(1): fix troff

Hash:	712fd30652d29dc9e936f11d7837d1cb079575fc
Author:	aiju <devnull@localhost>
Date:	Wed Jul 30 14:57:14 +0100 2014

	added sprite editor spred

Hash:	555a05018b60b28bdfd6ada0310848c68fe20e48
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Wed Jul 30 03:32:16 +0100 2014

	fstype(1): document hjfs

Hash:	a2f7d03d4ef7f606680894693f52150a8eb1ac28
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Jul 23 14:28:37 +0100 2014

	rc: fix slow Xqdol(), avoid recursion in conclist(), estrdup(), avoid copying
	
	Xqdol() used to take quadratic time because of strcat(),
	the code isnt really needed as list2str() aready does the
	same thing in linear time without the strcat().
	
	add estrdup() which uses emalloc() so allocation error are
	catched.
	
	move strdups() of name from callers into newvar().
	
	avoid recursion of conclist(), and avoid copying of word
	strings by providing Newword() function which doesnt copy
	the word string.

Hash:	2bdd2663dbea21a0718b718965a1db75dbf2fdb4
Author:	mischief <mischief@offblast.org>
Date:	Wed Jul 23 07:40:53 +0100 2014

	ratrace(1): uses syscall not syscalltrace file

Hash:	e42d8492c642b34d4bad27fdd8224e81ff5d6be9
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Tue Jul 22 23:41:36 +0100 2014

	fortunes: I wanted to do something that didn't involve arguing online about trivia. -- jwz

Hash:	de8752e45e01ca6c4b435c3d084048142bee3c2c
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Tue Jul 22 23:29:33 +0100 2014

	sega(1): add man page for games/md (and potential future sega emulators)

Hash:	0d909ae6abf6133cb69e701cc02761de00086864
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Tue Jul 22 22:44:46 +0100 2014

	nintendo(1): document snes

Hash:	33592e9d7c413aaecc1b3b1da0d27edd9fa7a785
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Tue Jul 22 22:38:44 +0100 2014

	games/md: add -2 -3 -a and trailing newline to usage

Hash:	69eb0cd71382fcd4d63a49c439c45b6082451300
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Tue Jul 22 22:00:32 +0100 2014

	games/snes: add -a -h -m -T to usage

Hash:	6273bad12d5e1d5bf25c71a53ee5b9163a7db687
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Jul 22 20:54:26 +0100 2014

	ratrace: make multithreaded ratraces less confusing (for mischief)

Hash:	168b9f3de4088ed08987e62da3c593e98bdaab29
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jul 21 17:10:58 +0100 2014

	libdraw: add missing borderop() (thanks aiju)

Hash:	1021caa3950b8e7c5c739a24d7839468c7bf062a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jul 21 17:02:14 +0100 2014

	pc64: cleanup syscallentry()
	
	avoid the stack shuffeling and make syscallentry() and
	forkret() use the same stack offsets.

Hash:	c78c6e349ae55d4964142780f957a9a3488b0789
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jul 20 01:59:45 +0100 2014

	pc64: dont save/restore DS/ES/FS/GS segment registers on syscall or interrupt, they are ignored in long mode.
	
	we do not support 32 bit processes and DS, ES, FS and GS segment
	registers are ignored in long mode, so theres no point in saving
	and restoring them.

Hash:	20b7a19c58c79568424bf40b826b681af86e6ed5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jul 20 21:49:02 +0100 2014

	pc64: preserve user extern registers R14 and R15 across syscalls, use Ureg.bp (RARG) for syscall number
	
	the 6c compiler reserves R14 and R15 for extern register variables,
	which is used by the kernel to hold the m and up pointers. until
	now, the meaning of R14 and R15 was undefined for userspace and
	extern register would not work as the kernel trashes R14 and R15
	on syscalls. with this change, user extern registers R14 and R15
	are zeroed on exec and otherwise preserved across syscalls. so
	userspace *could* use them for per process variables like the
	kernel does.
	
	use Ureg.bp (RARG) for syscall number instead of Ureg.ax. this is
	less confusing and mirrors the amd64 calling convention.

Hash:	b6039915934ec99e85daa5d4ee964dbda3503352
Author:	mischief <mischief@offblast.org>
Date:	Fri Jul 18 07:22:48 +0100 2014

	a.out(6): sync definitions

Hash:	4a7d29dd5fcd022e6ef482ed5f2ba399f7555ce1
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jul 17 22:29:55 +0100 2014

	libframe: use correct text color on frinsert depending on selection (thanks sl)
	
	frinsert() used cols[TEXT] for drawing selected text instead of the
	HTEXT color. this was discovered with rio -b.

Hash:	e4436ec0bbb6e525addbe2f4a250c1de69247828
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Jul 15 19:45:00 +0100 2014

	page: fix deadlock with addpage (thanks BurnZeZ for the stacktraces)
	
	addpage() should not be called with the display locked as it
	calls showpage1() which sleeps when there are too many
	processes active.
	
	the bug was triggered by plumbing to trigger the addpage().

Hash:	4f3724e6e1cdc5a43714efd56888b2cde38c497b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Jul 15 17:51:58 +0100 2014

	devproc: nil

Hash:	3d3a29cd847f4146584f35e0e9dbabca8b1bec56
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Jul 15 06:54:22 +0100 2014

	devproc: fix syscalltrace error handling, conistent use of nil for pointers

Hash:	e4db040bcf827f9e2493efc5ded4e7ba091d51a7
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jul 14 05:45:23 +0100 2014

	devproc: fix mistake

Hash:	655ec332a714d3e5cc6aace798daf832e17e001e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jul 14 05:02:21 +0100 2014

	devproc: fix proccrlmemio bugs
	
	dont kill the calling process when demand load fails if fixfault()
	is called from devproc. this happens when you delete the binary
	of a running process and try to debug the process accessing uncached
	pages thru /proc/$pid/mem file.
	
	fixes to procctlmemio():
	
	- fix missed unlock as txt2data() can error
	- make sure the segment isnt freed by taking a reference (under p->seglock)
	- access the page with segment locked (see comment)
	- get rid of the segment stealer lock
	
	other stuff:
	
	- move txt2data() and data2txt() to segment.c
	- add procpagecount() function
	- make return type mcounseg() to ulong

Hash:	e53511ef4c7d4db443543506e74e4de537da5475
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jul 13 00:24:55 +0100 2014

	libmach: fix break point instruction for little endian MIPS (from sources)
	
	fix break point instruction for little endian MIPS in
	libmach. (patch /n/sources/patch/libmach-mipsle-bpinst)

Hash:	cc001c31a7c2ac9f01c334adb2ff78da59c91436
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jul 13 00:17:48 +0100 2014

	tftpfs: make sure path is null terminated

Hash:	e4d29ea9a7ddc5c5b803ff51ba54baff832b9680
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jul 13 00:05:01 +0100 2014

	merge

Hash:	4b7b1218bf85c1d2894a85bc1b15f9b52d618512
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jul 13 00:03:17 +0100 2014

	ftpd: dont skip unmountnet() and return proper error string from dialdata()

Hash:	e14eaacce69b9a168deefacafd9b1b768c40cb60
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jul 13 00:00:02 +0100 2014

	tftpd: fix error string packet overflow in nak(), fix syslog reporting

Hash:	b46a3ee95fa92800b2d2890fe57c98cd8d156f2f
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Sat Jul 12 04:24:27 +0100 2014

	rc-httpd/handlers/serve-static: restore simple test for file type and hardcode max_age to 1 hour (thanks eekee)

Hash:	fafc17b04933b27aff30e0bee26475872781632a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jul 12 02:02:21 +0100 2014

	expr: fix missing type declarations for match(), which broke on amd64 as pointers dont fit into a long

Hash:	03f68c49f66e2d33acd73a25eac8a1bc0acbf38d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jul 11 02:57:21 +0100 2014

	kernel: only complain about no images when theres nothing more to reclaim
	
	uncaching a thousand pages (arround 4MB) might not be
	enougth. so keep on reclaiming pages and only complain
	once theres nothing more to reclaim.

Hash:	2fb18c3339cf8255d39bb41d495a79c9fca21ddd
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jul 11 22:20:15 +0100 2014

	sysinfo: add cpuid info

Hash:	3cfdae97873f314a80b90375374797edcf1bc753
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Thu Jul 10 00:48:59 +0100 2014

	pkg(1): add mischief's repositories

Hash:	e89ca39e5317c2c3cbc80ef9d6614c516b0bb220
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Jul 9 23:07:51 +0100 2014

	Add AHCI support for Intel 8 Series/C220 Series Chipset Family SATA Controller. (from sources)

Hash:	d0895186a15e2d017de561cb14c289052f090d47
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Jul 9 23:07:09 +0100 2014

	Add Intel C226 chipset PCI support. (from sources)

Hash:	6bfff754a84335c4016c74792927b1353f1a686b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Jul 9 22:55:54 +0100 2014

	abaco: fix double free race of p->status string (thanks BurnZeZ for the proc snap)

Hash:	3a6a754051a6f3f1ba742f12be0a2c33d309ca53
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Jul 9 21:45:51 +0100 2014

	pc, pc64: initial machine check architecture support

Hash:	3fe38f70014256cdd1d3b1b42f7b8760e6e80778
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Jul 8 20:57:35 +0100 2014

	bcm: apply richards fix for mmukmap (from /n/sources/patch/bcm-mmukmap-bug)

Hash:	8677db333a11de80971df3e60f787b72b45a568c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jul 5 07:17:37 +0100 2014

	nusb/serial: implement flushes
	
	handle reads and writes with 9pqueue(2) so they can
	be flushed and wont hang the filesystem. this also
	lets us get rid of the timeouts.
	
	ftdi is still full of braindamage that should be
	rewritten, but i dont have a device to test.

Hash:	502247bf92f380a642b8e17048466c18bb9efd24
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jul 5 05:01:03 +0100 2014

	nusb/serial: more cleanup

Hash:	336e605a1191efe1293333bac3b4f76d07b9f89b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jul 5 22:19:13 +0100 2014

	support for huawei e220 g3 modem, cleanup nusb/serial

Hash:	c20bab6fe09a9dea8d743017090b21edaa642ebf
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Thu Jul 3 17:03:40 +0100 2014

	ndb/common: add ipv6-icmp, ipv6-nonxt, ipv6-opts, bootps

Hash:	013054ef6f2b56348de3c33121ce43683b202ab2
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jul 3 00:11:05 +0100 2014

	merge

Hash:	5814e66560500af8b458ffbbb6e1a91c9730baa4
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Thu Jul 3 00:01:20 +0100 2014

	9pqueue(2): english

Hash:	2dc3180f983135246d8f3902afd217ad098f2acc
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Jul 2 23:57:40 +0100 2014

	9p(2): add reference to 9pqueue(2)

Hash:	fa56753ed842ae5416ecbb7e75e39ec85a36c68c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Jul 2 23:47:10 +0100 2014

	add 9pqueue(2), medium to low quality manpage.

Hash:	51cb8f50d82b3d22f5c8e42029e5fc3162c7acd8
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Jul 2 23:17:28 +0100 2014

	remove executable bit from /sys/src/lib9p/ramfs.c

Hash:	0577d208905f3f6d729e582077bec5f21964f6be
Author:	Aram Hăvărneanu <aram@mgk.ro>
Date:	Tue Jul 1 10:21:47 +0100 2014

	merge

Hash:	889afd97de23422819168e94bab43537fe404d00
Author:	Aram Hăvărneanu <aram@mgk.ro>
Date:	Tue Jul 1 10:20:55 +0100 2014

	acid: fix notestk() on amd64
	
	Use Ureg->pc instead of Ureg->ir.

Hash:	92e43acb1cdf521094b626444f73cae5d77a7b69
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jun 30 07:27:51 +0100 2014

	authsrv(6): fix typos (from /n/sources/patch/authsrv-6-typos)

Hash:	114a5bdce67f7f44a70bb59e88933cc746151721
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Sun Jun 29 20:01:44 +0100 2014

	fortunes: Subject: ftp(1) User-Agent

Hash:	6a182d56b738f36e32427b8696c8ab03794ec9a2
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Sun Jun 29 19:58:03 +0100 2014

	nusbrc: ensure rpi ethernet always appears as /net/etherU0

Hash:	4ad63a4c561b2eb4c759da5f29648a499c659c9e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jun 28 18:55:14 +0100 2014

	nusb: fix spelling, sorry

Hash:	7d9339f75e21ccfaae85b8d460748412831d1e4d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jun 28 17:11:04 +0100 2014

	merge

Hash:	4275c49e72544d5b92512e41ddecbd6af5bee6c3
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jun 28 17:09:43 +0100 2014

	nusb: implement aijus stable uniqueue device names
	
	instead of naming devices by ther dynamically assigned device address,
	we hash device uniqueue fields from the device descriptor and produce
	a 5 digit hex string that will identify the device across machines.
	
	when there is a collision (less than 1% chance with 100 devices),
	usbd will append the device address to the name to make it uniqueue
	for this machine.
	
	the hname is passed to drivers in the devid argument, which now has
	the form addr:hname, where the colon and hname can be omited (for backwards
	compatibility).
	
	when the new behaviour isnt desired, nousbhname= environment variable
	can be defined giving the old behaviour.

Hash:	d8c75e45de9483881f782be0b5e7113e625db571
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jun 28 16:53:57 +0100 2014

	iostats: more procs

Hash:	9d30b0f32dd9d8219805ed0d3ef04605c5f461cf
Author:	mischief <mischief@offblast.org>
Date:	Sat Jun 28 07:51:14 +0100 2014

	merge

Hash:	5aee1a997f8a682b3fb9f935f014057e9366ce52
Author:	mischief <mischief@offblast.org>
Date:	Sat Jun 28 07:50:42 +0100 2014

	unzip: fix usage

Hash:	ec572a53a9acb392df42fa69f4051898480acad7
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jun 28 00:36:37 +0100 2014

	ptp: fix alignment assumptions for amd64

Hash:	a1dad874469ff664375e9165d41034a1ee92b505
Author:	mischief <mischief@offblast.org>
Date:	Thu Jun 26 06:06:29 +0100 2014

	upas/fs: disable imap mail fetch pipeline due to race
	
	pipeline = 1 with a dovecot imap server causes FETCH and OK responses
	get interleaved so some message bodies accidentally get merged together.
	disabling it will make fetching mail over imap slower, but it works.

Hash:	072c45d4633d5f03e3b79f9c60c3655a6d4a1149
Author:	mischief <mischief@offblast.org>
Date:	Thu Jun 26 00:56:39 +0100 2014

	xen: delete screen.h from pc that accidentally snuck in. a screen.h for xen framebuffer will be added later.

Hash:	3812a4bf41906b257ab992a26504dd4a1c9b81af
Author:	mischief <mischief@offblast.org>
Date:	Thu Jun 26 00:03:08 +0100 2014

	xen: fix boot argv0

Hash:	500a91e7a3207c74b28dcd40aedd8e460fe41be0
Author:	mischief <mischief@offblast.org>
Date:	Wed Jun 25 23:47:31 +0100 2014

	xen: gotta go fast
	
	use smaller timeouts for sleeps while waiting for xen ether and sd devices to come online. in practice they come up very quickly.

Hash:	3f230d717df96122eab58f49e8807833006f56a8
Author:	mischief <mischief@offblast.org>
Date:	Wed Jun 25 23:45:04 +0100 2014

	xen: correct print format for long

Hash:	46cc1c444b448f2562959104e01f21f8f99d9140
Author:	mischief <mischief@offblast.org>
Date:	Wed Jun 25 11:13:52 +0100 2014

	sam: mark samsave executable
	
	sam generates $home/sam.save for modified files. it expects /sys/lib/samsave to be executable to restore the modified files.

Hash:	2060daf3b0f7ad91c73cec00516659f248841983
Author:	mischief <mischief@offblast.org>
Date:	Wed Jun 25 03:37:03 +0100 2014

	xen: fix early console

Hash:	5ba95fdb07ddc2c32111a1b2f57f17aa27fcbbf5
Author:	mischief <mischief@offblast.org>
Date:	Wed Jun 25 02:02:25 +0100 2014

	import xen 32 bit paravirtual kernel from /n/sources/xen.

Hash:	fa03455b5057675b18d1c87aef2d1071b2088de0
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jun 23 20:51:34 +0100 2014

	kernel: more proc.c cleanup

Hash:	6a057511327e7ab355e42919a8195db582640ce0
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jun 23 20:24:12 +0100 2014

	kernel: make use of nil and 0 consistent in proc.c
	
	always explicitely compare with nil if pointer.
	sorry for the noise. :(

Hash:	650d794cbfb7dc130b620d4c6e2c4f1c0775c31c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jun 23 19:30:18 +0100 2014

	merge

Hash:	7cf6a354866b3cf48ff3bd2544468a7f48994658
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jun 23 19:29:10 +0100 2014

	kernel: fix cooperative scheduling for wired processes

Hash:	c87e7ffe2b64cc76279052b3be42b267cce64dcf
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Sun Jun 22 23:10:04 +0100 2014

	newt(1): minor man page clarifications

Hash:	87d5626af038a5ab1df4f275beadd4415320d2aa
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jun 22 18:01:37 +0100 2014

	ether8169: use u16int instead of u8int for C+ command register (thanks pavel / erik)

Hash:	e7bfa556ad2ff0058260d5b9c27705fee4b74951
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jun 22 15:05:53 +0100 2014

	pc64: fix comment for preallocpages()

Hash:	3c41f98e0c5bd6dce0bfd5a9573c7c332bc784fd
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jun 22 14:40:36 +0100 2014

	remove imagepagerefs() acid function

Hash:	d4d86df2ab5fdc1d3f812fcc55fc74390a28d08f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jun 22 14:12:45 +0100 2014

	kernel: new pagecache, remove Lock from page, use cmpswap for Ref instead of Lock
	
	make the Page stucture less than half its original size by getting rid of
	the Lock and the lru.
	
	The Lock was required to coordinate the unchaining of pages that where
	both cached and on the lru freelist.
	
	now pages have a single next pointer that is used for palloc.head
	freelist xor for page cache hash chains in Image.pghash[].
	
	cached pages are not on the freelist anymore, but will be reclaimed
	from images by the pager when the freelist runs out of pages.
	
	each Image has its own 512 hash chains for cached page lookup. That is
	2MB worth of pages and there should be no collisions for most text images.
	
	page reclaiming can be done without holding palloc.lock as the Image is
	the owner of the page hash chains protected by the Image's lock.
	
	reclaiming Image structures can be done quickly by only reclaiming pages from
	inactive images, that is images which are not currently in use by segments.
	
	the Ref structure has no Lock anymore. Only a single long that is atomically
	incremented or decremnted using cmpswap().
	
	there are various other changes as a consequence code. and lots of pikeshedding,
	sorry.

Hash:	4f95d75098dd911a0d1bd35d13fda7e5318db9d3
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jun 22 00:48:02 +0100 2014

	ed: dont pass string constants to mktemp()

Hash:	f65d27b0fceedc86b26ec4d7e7e7d3fe185050fa
Author:	aiju <devnull@localhost>
Date:	Sun Jun 15 19:11:24 +0100 2014

	games/md: small bug fixes

Hash:	1bacbf56512c3cb8a6b938cc56c643b7342a575e
Author:	aiju <devnull@localhost>
Date:	Sun Jun 15 18:02:06 +0100 2014

	games/md: add shadow/hilight support

Hash:	838163670c27c9962f33f0cea680aba0f777dc59
Author:	aiju <devnull@localhost>
Date:	Sun Jun 15 14:52:29 +0100 2014

	games/md: add save game support, fix cpu bug

Hash:	e30fc1fbdf2eaac19eac54e9e656c0db7fc5a108
Author:	aiju <devnull@localhost>
Date:	Sat Jun 14 19:18:57 +0100 2014

	games/md: small fixes

Hash:	37a5b4e9c3f58a4c87a88415036cf46f8e90d0a2
Author:	aiju <devnull@localhost>
Date:	Fri Jun 13 18:54:33 +0100 2014

	games/snes: fix -T

Hash:	f0ed9ed9f0799ee4993ee916994811dc9257191a
Author:	aiju <devnull@localhost>
Date:	Fri Jun 13 17:06:44 +0100 2014

	games/md: vdp window fix, added ym2612 timers

Hash:	7c25ae8a34ad4b15e83c07477b5bd9e59fac3c5f
Author:	aiju <devnull@localhost>
Date:	Fri Jun 13 16:21:25 +0100 2014

	games/md: add z80, audio support

Hash:	26d2fbaec19bea4e7be354ea80909bfaddafa92e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jun 13 09:21:27 +0100 2014

	merge

Hash:	e6f37cf64ec911ddbe89998a97e311662891bf28
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jun 13 09:19:46 +0100 2014

	pc64: fix MS2HZ (thanks Anthony Martin)

Hash:	e9b6f349b88c04ecad264ace0abd86f6f214d16a
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Thu Jun 12 20:56:54 +0100 2014

	termrc, cpurc: clarify comments by removing lies

Hash:	63ac70281a28b96bd70259bb0949c3964415271f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jun 12 19:14:12 +0100 2014

	libstdio: avoid issues with aliasing in dtoa() on amd64 (from 9atom, thanks to erik and charles)

Hash:	d4e66accaa268cf6dc4a930c336e94fb75a455db
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jun 12 13:05:10 +0100 2014

	libsec: use u32int instead of uint when we need 32 bit (thanks erik)

Hash:	fa09758a739ad9cb42be295135fad3ab4817e2bb
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Jun 11 18:31:14 +0100 2014

	samterm: use 4K stacks for amd64 (thanks burnzez)
	
	we got a stack overflow on the hostproc on amd64 overflowing
	by arround 200 byte. so just use 4K stacks for everything.

Hash:	3a5b2189ed5c5e064912b037c5a3c717de1e791a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Jun 11 17:01:20 +0100 2014

	revert ramfs example
	
	the code was correct. erealloc9p() terminates the process
	on error, but the code was handling realloc() error explicitely
	and responded the request with Enomem error.

Hash:	b4c3726381a5d7f089480bd777f0a096bf82bbee
Author:	ftrvxmtrx <devnull@localhost>
Date:	Wed Jun 11 16:35:05 +0100 2014

	libsec: fix dsagen 64-bit bug (thanks rsc)

Hash:	6dd3cf4c404fc78f6b7789e39e9f53865911fe1c
Author:	ftrvxmtrx <devnull@localhost>
Date:	Wed Jun 11 16:22:32 +0100 2014

	lib9p: ramfs example: s/realloc/erealloc9p/

Hash:	4afbc988cadd89e9063a10d27996fa09025ed3f5
Author:	mischief <mischief@offblast.org>
Date:	Mon Jun 9 20:17:45 +0100 2014

	pool: declare pooldump in pool.h. the manual says it is public.

Hash:	f6a7c628235180f4b23c8e1aa3d744aa59d020bb
Author:	ftrvxmtrx <devnull@localhost>
Date:	Mon Jun 9 20:53:40 +0100 2014

	audiohda: add Intel 8 Series/C220 Series support

Hash:	52174db958342cb4d4178cfcdc06bbb1aca894ab
Author:	ftrvxmtrx <devnull@localhost>
Date:	Mon Jun 9 20:06:22 +0100 2014

	ether8169: support for RTL8168G

Hash:	906cc83c35d001d44d2aef26d3ca511cce85183a
Author:	mischief <mischief@offblast.org>
Date:	Mon Jun 9 13:05:59 +0100 2014

	mkpaqfs: english

Hash:	ca5cc6519de2b515e64775de4126dae29b3a1bde
Author:	mischief <mischief@offblast.org>
Date:	Mon Jun 9 08:22:11 +0100 2014

	pc: clip rectangles before sending them to the hardware in flushmemscreen
	
	the vmware svga video card emulated by qemu (qemu -vga vmware) complains and eventually causes a panic if the rectangles aren't clipped.
	
	messages like the following can be observed from qemu before the kernel panics:
	vmsvga_update_rect: update h was < 0 (-20000)
	vmsvga_update_rect: update height too large y: 10000, h: 0
	vmsvga_update_rect: update w was < 0 (-20000)
	vmsvga_update_rect: update width too large x: 10000, w: 0
	
	i could only reproduce this in qemu 2.0.50 on the master branch, when using the ui and had selected 'Zoom To Fit' from the View menu.

Hash:	858d3e39ab7e792c1d6e853ed699aeb5faf7d47c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jun 9 06:21:36 +0100 2014

	ether79c970: fix mistake
	
	fix bug introduced by amd64 support:
	
	forgot to update ring index i on receive. surprisingly
	this was working until there where more than one packet
	to process. sorry.
	
	ilock the controller while processing rings. this should
	be fixed and use kprocs instead.

Hash:	01b5ac14024a26f4f1771bc7027e146e86f9c2c3
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jun 8 17:54:36 +0100 2014

	iostats: add -C flag to enable mount cache

Hash:	3d12f4f408da568dcb9cb0ba802dc9824cbe26fd
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jun 8 17:27:39 +0100 2014

	iostats: dont sysfatal on 9p read error due to program termination
	
	the note mechanism is racy and can lead to the fs terminating
	iostats because it gets "i/o on hugup channel" (namespace closed).

Hash:	1b8fb4fec399dd9520db68b0c8e97d21881d639b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jun 8 16:39:40 +0100 2014

	swap: make sure swap address sticks arround until page is written to swap
	
	we have to make sure the *swap address* doesnt go away,
	after putting the swap address in the segment pte.
	
	after we unlock the segment, the process could be
	killed or fault which would cause the swap address to
	be freed *before* we write the page to disk when it
	pulls the page from the cache and putswap() swap pte.
	
	keeping a reference to the page is no good. we have
	to hold on the swap address. this also has the advantage
	that we can now test if the swap address is still
	referenced and can avoid writing to disk.

Hash:	fcfa74a1cfe16dace0c6a34d0c83e290843a35bd
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jun 8 03:40:18 +0100 2014

	pc64: use pc/pcrandom.$O instead of port/random.$O for RDRAND instruction support

Hash:	72ba3571a3166ca69d28ccebf547675711bd800c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jun 8 00:35:22 +0100 2014

	kernel: remove _xinc()/_xdec()
	
	as with the Block refcount changes, _xinc() and _xdec() arent
	used anymore, so remove them.
	
	architecure can still define ainc()/adec() when it needs them.

Hash:	0a2b418535915c6954fa9df575d71fb04171bb34
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jun 8 00:33:15 +0100 2014

	pc, pc64: fix missed qunlock, use Ref with incref()/decref() instead of _xinc()/_xdec()

Hash:	ce38380b8f3c31597487b3ada9ed027f6a54adbd
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jun 7 23:26:39 +0100 2014

	omap: move syscall.$O target from config to mkfile

Hash:	3d20da3f8b8efee9ad12934d50cc22061e77edfb
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jun 7 23:26:23 +0100 2014

	omap: remove Block refcounting

Hash:	be3a5a6dc372870c9c6cb3b039228fab89db07b5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jun 7 23:19:33 +0100 2014

	kernel: remove Block refcounting (thanks erik)

Hash:	9ee3095553844b91e92f69efb44335c850f05c65
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jun 7 23:15:53 +0100 2014

	teg2: move syscall.$O and syscallfmt.$O targets from config to mkfile

Hash:	9e63895e801c69ee70e29ed50d5e5c9fd3cf91bb
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jun 7 23:14:31 +0100 2014

	kw: move syscall.$O target from config to mkfile

Hash:	07f7c46d37adbf85750526d0a250149d52870e6f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jun 7 23:13:10 +0100 2014

	omap4: update for new syscall interface and syscallfmt

Hash:	314e23b709b91ceddd3ced7bc77194eec0945cf5
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Sat Jun 7 20:16:24 +0100 2014

	dougfacts: remove html corruption and end file with newline

Hash:	865368f60467b1e92c280f5fadde6518d4adc849
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jun 7 08:43:37 +0100 2014

	pc64: remove unneeded parens in pmap()

Hash:	3cc15d2301ae47d6727cf1059ce855f3487bdc56
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jun 7 08:28:33 +0100 2014

	merge

Hash:	7bc8f4d993fce693f664a9bc8361e7b5633ed7df
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jun 7 08:26:57 +0100 2014

	pc64: implement checkmmu() debug function

Hash:	2e713acc2c24b59003c4abeb099d87c88064842d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jun 7 01:13:57 +0100 2014

	sdvirtio: experimental support for virtio-scsi

Hash:	2739c6514a914972ed7ae2a2907b19f6496bcdce
Author:	ftrvxmtrx <devnull@localhost>
Date:	Sat Jun 7 22:16:34 +0100 2014

	file: djvu

Hash:	20b2f7a38ef20b6ce866c515bc911f8c988b6d79
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Fri Jun 6 05:58:36 +0100 2014

	fortunes: i believe any successful Plan 9 distro will need to provide some transparency in the change review process. -- Skip Tavakkolian

Hash:	524720a58ddd805d23dd9be0a5f6e118bd424df9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jun 6 00:29:14 +0100 2014

	file: detect NES and SEGA rom files, fix newline

Hash:	1b51d46717d733d369e71237cb12b393fc5a073a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jun 5 20:56:01 +0100 2014

	merge

Hash:	91614f582fb1504ae3be2d57c079f24b60d71613
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jun 5 20:54:32 +0100 2014

	kernel: dont use atomic increment for Proc.nlocks, maintain Lock.m for lock(), use uintptr intstead of long for pc values
	
	change Proc.nlocks from Ref to int and just use normal increment and decrelemt
	as done in erik quanstros 9atom.
	
	It is not clear why we used atomic increment in the fist place as even if we
	get preempted by interrupt and scheduled before we write back the incremented
	value, it shouldnt be a problem and we'll just continue where we left off as
	our process is the only one that can write to it.
	
	Yoann Padioleau found that the Mach pointer Lock.m wasnt maintained
	consistently for lock() vs canlock() and ilock(). Fixed.
	
	Use uintptr instead of ulong for maxlockpc, maxilockpc and ilockpc debug variables.

Hash:	f815f7273a71ddfcf12289250af21fe4403f6f97
Author:	ftrvxmtrx <devnull@localhost>
Date:	Thu Jun 5 11:10:43 +0100 2014

	g: add *.cpp

Hash:	76db435e3cf86e0a6eb750d789bc15b64027a379
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jun 5 06:57:23 +0100 2014

	pc64: dont trap _xinc()/_xdec() overflow/underflow, delete unused atomic functions

Hash:	863a459691f1a75ee687174df76e78dffa58f4f2
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Jun 4 16:45:08 +0100 2014

	webfs: explicitely unmount old /mnt/web (thanks BurnZeZ)
	
	webfs forks the namespace to isolate itself from its mount
	point which has the side effect that it captures the mount
	of previous instances of webfs mounted on /mnt/web.
	
	explicitely unmount the mountpoint in our namespace copy
	to drop the reference.

Hash:	972f60a794bb58d9c99014dc28ec88e7883cea5d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Jun 4 22:59:17 +0100 2014

	nusbrc: dont fork usb drivers into background
	
	probing needs to run synchronous to avoid races with other
	readers of /dev/usbevent.

Hash:	93d0474f7766cffe95249b5ca8981841b9049834
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Jun 3 20:40:30 +0100 2014

	nusb/usbd: cleanup

Hash:	0aa3af0934f56a6e701306c4407d8ed908ee4dba
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Jun 3 06:47:09 +0100 2014

	kernel: remove wrong and needles mapsize check in newseg() (thanks Yoann Padioleau)

Hash:	5ab9f9c621a04ed4544cd32b2fff3d020ec542c2
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Jun 3 06:21:48 +0100 2014

	nusb/usbd: serialize /dev/usbevent processing
	
	when there are multiple readers of /dev/usbevent, we have to
	serialize the processing to make sure that only one driver
	is opening the devices control endpoint at a time.
	
	to do this, we assume the device is busy after reading the
	event file until the next read or clunk on the same fid.
	
	to mark a device busy, we set the dev->aux pointer to the
	fid processing a event. And the Event structure takes a
	reference to the device producing the event.
	
	the problem arised from cdc ethernet and nusb/serial sharing
	the same device class, and we need to run the particular driver
	to figure out if the device can be used. doing this concurrently
	fails because devusb allows only one open per endpoint.

Hash:	1427ba31264b4f06ec7971612e5b406c5b57efd6
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jun 1 05:54:55 +0100 2014

	pc64: fix for unsigned comparsion of (top - base) >= size
	
	the rounding of base can make it above top, so have to
	use signed comparsion.

Hash:	fb97665a14c347657e03f07d72098d2c9f76a65d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jun 1 05:31:50 +0100 2014

	pc64: use 2MB pages for preallocpages()

Hash:	c9f91d50154015ef31b6e63131847742893ffc91
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jun 1 02:13:58 +0100 2014

	pc64: allocate palloc.pages from upages
	
	the palloc.pages array takes arround 5% of the upages which
	gives us:
	
	16GB = ~0.8GB
	32GB = ~1.6GB
	64GB = ~3.2GB
	
	we only have 2GB of address space above KZERO so this will not
	work for long.
	
	instead, pageinit() was altered to accept a preallocated memory
	in palloc.pages. and preallocpages() in pc64/main.c allocates the
	in upages memory, mapping it in the VMAP area (which has 512GB).
	
	the drawback is that we cannot poke at Page structures now from
	/proc/n/mem as the VMAP area is not accessible from it.

Hash:	8061f30e559569943324a666ee2fcc74048785cd
Author:	ftrvxmtrx <devnull@localhost>
Date:	Sun Jun 1 00:21:00 +0100 2014

	games/nes: support Battle City two players mode with joypads

Hash:	bf0d5c8abbe9d4e3a145df29bee8ef2758d01884
Author:	Aram Hăvărneanu <aram@mgk.ro>
Date:	Fri May 30 11:28:01 +0100 2014

	6a, 6c, 6l: fix copy propagation
	
	Without an explicit signal for a truncation, copy propagation will
	sometimes propagate a 32-bit truncation and end up overwriting uses of
	the original 64-bit value.
	
	This was independently discovered and fixed in Go. See:
		http://golang.org/issue/1315
		https://codereview.appspot.com/6002043/
	
	Thanks Charles Forsyth for tips and advice.

Hash:	17d0dea87c80203aaf0199cb33dea0afc4a7f956
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri May 30 03:05:18 +0100 2014

	we look for strings.c, it is broken, this strings.c will make us go.

Hash:	52464166216095a5747f7541eff179ecf8d94e1f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu May 29 17:50:52 +0100 2014

	pc, pc64: simplify reboot code
	
	as we do system reset and reboot only from boot processor cpu0 now,
	theres no need for active.rebooting conditional variable.
	mpshutdown() will unconditionally park application processors and
	and cpu0 boots the new kernel or calls mpshutdown() causing system
	reset.

Hash:	215f6cc64a65efbe0a71b8fdba72311201aca4fc
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu May 29 17:24:40 +0100 2014

	pc: initiate machine reset only from boot processors in mpshutdown()
	
	in vmware, mpshutdown() used to hang in i8042reset() when not
	called from the boot processor, so instead of reseting from first
	cpu that acquires the shutdown lock, we park all application
	processors and let the boot processor do the reset.

Hash:	aa125d37e9fcec887dddafc1e4725f0875ed38d9
Author:	aiju <devnull@localhost>
Date:	Wed May 28 23:50:06 +0100 2014

	games/md: bug fixes

Hash:	ca35949c20cee081efe5cda03bfff64167da05d2
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed May 28 23:34:47 +0100 2014

	ape/stdio: set errno to EMFILE when running out of streams

Hash:	52153c32dcc83b2ae752431f7827ddff9b926a78
Author:	aiju <devnull@localhost>
Date:	Tue May 27 00:01:55 +0100 2014

	games/snes: originwindow confuses the cat

Hash:	527ab6405c8cc8b0277825033364ff13de5408fb
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon May 26 09:00:39 +0100 2014

	page(1): or

Hash:	c73ade70e3118936008c74d6d46dd9f79cb89d3c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon May 26 08:59:57 +0100 2014

	page(1): minus

Hash:	97c28a6c807e8c7d9251bd9f8de425ea908c428c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon May 26 08:52:47 +0100 2014

	page(1): theres no -r option, nor multipage restrictions

Hash:	a106a19bbfa32f86d43f80e94eaf38b82f97ebe6
Author:	aiju <aiju@phicode.de>
Date:	Mon May 26 00:11:08 +0100 2014

	merge

Hash:	c124e341b9a87ea67719d070cedc27861aadca75
Author:	aiju <devnull@localhost>
Date:	Mon May 26 00:10:46 +0100 2014

	games/md: moonwalker!

Hash:	3dc82dc04bc87f6f86300bd9b4451034e5399e51
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun May 25 23:45:10 +0100 2014

	pc64: fix ulongs for address of devarchs realmodemem file

Hash:	15fc6c1cc05249f342ff4279688f1f9c4e162dec
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun May 25 23:27:06 +0100 2014

	devproc: handle 64bit address writes to /proc/n/mem files
	
	procwrite() did truncate the offset to 32bit ulong.
	introduce off2addr() function that does the sign
	extension hack and use it conststently for Qmem
	reads and writes.

Hash:	b672403c6d9ad0029782a71c2b9e4bbb8fe7fbf1
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon May 26 21:49:07 +0100 2014

	merge

Hash:	9ebbfae28b3be0ffcc2122024441cac2f0025c09
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon May 26 21:47:34 +0100 2014

	kernel: simplify fdclose()

Hash:	89acedb9b8c8cf88f0a706184852adb7e8767b14
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon May 26 21:43:21 +0100 2014

	devproc: fix close and closefiles procctl
	
	for the CMclose procctl, the fd number was not
	bounds checked before indexing in the Fgrp.fd
	array.
	
	for the CMclosefiles, we looped fd from 0..maxfd-1,
	but need to loop from 0..maxfd as maxfd is inclusive.

Hash:	235cc0747d3909c4d3eac307fa58664896eb5951
Author:	aiju <devnull@localhost>
Date:	Sun May 25 20:45:13 +0100 2014

	games/md: small cpu and vdp bug fixes

Hash:	c5214cd6d9b36622d838fe171273d9f0dd5ba407
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun May 25 19:34:26 +0100 2014

	pc64: cleanup mmuzap

Hash:	79355486f7722877e518ee6117cf6894febd1f9b
Author:	aiju <devnull@localhost>
Date:	Sun May 25 00:11:21 +0100 2014

	games/md: first bug fixes

Hash:	93cfa1be72e18029d242ca462da3484488d1c6b3
Author:	aiju <devnull@localhost>
Date:	Sun May 25 22:14:23 +0100 2014

	added crude version of games/md

Hash:	ea480e74bbd559e448c1c8afc3f2abe6888351a4
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat May 24 18:49:54 +0100 2014

	libauth: dont print blobs in auth_proxy error strings

Hash:	20883bd7de7097936fe87e5fce4d08033ea6c88c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat May 24 01:09:52 +0100 2014

	cpu: remove duplicate environment and chdir($home) code (thanks qrstuv)
	
	newns() (called by auth_chuid()) already prepares the
	environment variables and puts us in a sane working
	directory (as specified by the namespace file).

Hash:	2185188f8360ea1952c7339c2702a16f15b12be1
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat May 24 00:27:57 +0100 2014

	kernel: fix read size calculation in pio() demand load
	
	on amd64, the text segment is aligned and padded to
	2MB, but segment granularity is 4K which can give
	us page faults that are beyond the highest file
	offset. this is perfectly valid, but was not handled
	correctly in pio().

Hash:	eef4565003def0a1e72bf381665027ebe0420c6f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri May 23 17:56:20 +0100 2014

	libc: avoid static table and supurious reads in nsec()
	
	use two per process memory slots, one for the
	pid and one for the fd instead of a global table
	avoiding the case when the table gets full.
	
	instead of calling pread() on the cached fd
	(dangerous as it has side effects when the
	fd was not closed), we check if the cached fd
	is still good  using fd2path() when called
	the first time in this process.

Hash:	440202d029af36e5e52545a3badd1ea459961f84
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue May 20 06:05:53 +0100 2014

	libc: revert nsec() change, bring back filedescriptor caching
	
	theres big performance regression with this using
	cwfs. cwfs calls time() to update atime on every
	read/write which now causes walks on /dev.
	
	reverting to the previous version for now. in the
	long run, we'll use new _nsec() syscall but this
	has to wait for a later release once new kernels
	are established.

Hash:	e7b94ba052b3ee175f17f7ebc85f7c21d22431ca
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue May 20 04:21:22 +0100 2014

	syscall: add missing _nsec() declaration

Hash:	3207e8b6a4339f39e2261d1f1878e8049b65c23c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue May 20 04:06:31 +0100 2014

	add _nsec() syscall 53 for binary compatibility with labs distribution
	
	the new syscall is added under the symbol _nsec() for
	binary compatibility.
	
	nsec() is still a library function reading /dev/bintime.

Hash:	7abf926bcf5a4f301a9ab48173093524196fd8ce
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue May 20 04:01:26 +0100 2014

	libc: dont cache /dev/bintime filedescriptor for nsec()

Hash:	c7be3ba9e65adcde52b942449a3e9efd2b12382e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon May 19 05:58:53 +0100 2014

	init: dont interpret environment var contents as fmtstring, cleanup

Hash:	06ad4e5fff870dc6e7da253c1b15aa715ff2dfb3
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon May 19 05:57:04 +0100 2014

	pc64: remove cpuserver bigboy hack and honor *kernelpercent=

Hash:	7ae98ac5a62a034204531d2ea233e1851a68c5c1
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon May 19 03:56:07 +0100 2014

	ip/torrent: use "torrent" as default user agent

Hash:	1055b951f37e4424f8c759f8cca4677e4fd8f02f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon May 19 22:23:08 +0100 2014

	ip/torrent: fix usage, add -A option to set user-agent
	
	trackers do like the new default Mozilla/5.0 (compatible)
	user agent. so force useragent to hjdicks and give option
	to override it in case trackers get even more clever in
	the future.

Hash:	c994152a90f479a5f3165590f72b749017b6af3e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun May 18 18:20:31 +0100 2014

	ipconfig: fix dhcp watch
	
	in dhcpwatch, the sleep time "secs" could become
	zero potentially freezing the lease time.
	
	give up when in Sinit state in dhcpquery() as this
	is a terminal state.

Hash:	48a644aa316c7d12a77c9dc1d788ad0ef08b93f1
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Fri May 16 21:31:41 +0100 2014

	fortunes: 14:37 -!- kfx was kicked from #suckless by __20h__ [kfx]

Hash:	b3eeb599641a85a06ef039cf495d4ce2b7fac258
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri May 16 20:33:49 +0100 2014

	sdiahci: fix (unused) hba reset function (thanks erik quanstro)
	
	from the specification:
	
	software may reset the entire HBA by setting GHC.HR to '1'.
	When software sets the GHC.HR bit to '1', the HBA shall perform
	an internal reset action. The bit shall be cleared to '0'
	by the HBA when the reset is complete.

Hash:	eb687adecd365876d6b6918a9ee4f8e8e7f205f6
Author:	Matthew Veety <mveety@gmail.com>
Date:	Fri May 16 15:56:23 +0100 2014

	added devgpio (thanks Krystian!). Also added getrevision() to vcore which allows you to get the raspberry pi board revision. I kept in the segment that allows direct access to the gpio memory

Hash:	88c998b2650d684086faca8e65f9b2f67c764b47
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed May 14 00:17:22 +0100 2014

	merge

Hash:	b98b2c57cf1031b43b57bb8b8d8b4954ac6dd4cc
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed May 14 00:15:33 +0100 2014

	play: set user-agent, otherwise server thinks we'r mozilla m(

Hash:	ead171d29f1f5f432e462da1dc3366be8abef647
Author:	ftrvxmtrx <devnull@localhost>
Date:	Mon May 12 13:49:10 +0100 2014

	sam(1): add ctrl+b

Hash:	704bd2b513dca6ba35deb5adf97529e4ebb3261f
Author:	ftrvxmtrx <devnull@localhost>
Date:	Mon May 12 13:19:22 +0100 2014

	samterm: fix esc, change ctrl+b behaviour to a more useful one (thanks cinap)

Hash:	e993ea3e303d91ab8abaf92bd72e4fc177f84eeb
Author:	ftrvxmtrx <devnull@localhost>
Date:	Mon May 12 11:58:24 +0100 2014

	samterm: clean up key defines. use ctrl+b as in rio

Hash:	bf093528fd1430e73bc728a6b0d8ab49b5819577
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon May 12 01:46:04 +0100 2014

	usps: remove redundant uhtml pipeline

Hash:	679b092ee02429b444b3e8995f6db11b42008dad
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon May 12 01:38:53 +0100 2014

	htmlfmt: use uhtml for character set conversion

Hash:	66f76c28212d3a25d4b039de2ce817fc74c5ca1e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun May 11 19:24:27 +0100 2014

	doom: get rid of floating point code for division

Hash:	17d932eca9cb6b5ec1acbb4d27d782b72cdbf806
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun May 11 05:17:13 +0100 2014

	pc, pc64: add simd error exception name in trap.c

Hash:	a9155014c064a6a58568d355194acf416ca8efe2
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun May 11 04:59:10 +0100 2014

	pc, pc64: handle sse simd exceptions

Hash:	edca217bb99f7c32413c117239d12acdc223e811
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat May 10 23:54:59 +0100 2014

	tcs: handle surrogate pairs

Hash:	7388792a124756a528666cb5c375ee919db9ca11
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun May 11 21:29:47 +0100 2014

	tcs: prevent accidents with runes beyond 16-bit

Hash:	14cd6df332475cb6535b638104283ab12ae609c6
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat May 10 16:28:17 +0100 2014

	tcs: fix inplace 16 bit unicode conversion
	
	inplace conversions do not work anymore as
	Rune is not unsigned short anymore.

Hash:	807af1d8473b115a34c40f47a1167365995ebdf5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri May 9 17:22:51 +0100 2014

	webfs: use mozilla compatible user agent as default
	
	sites like google return the wrong characterset when
	they do not recognize the user-agent. so setting default
	user agent to something thats likely to pass these
	idiotic browser tests.

Hash:	144c4ab2236b47812eb4e49ee1657ec0d42eb3d5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri May 9 16:16:34 +0100 2014

	abaco: need more stack on amd64

Hash:	87fd5240f091d901fb3e6c03e85b63ff2a5b9352
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu May 8 17:48:51 +0100 2014

	remove old copies of kernels l.s from cmd/?a

Hash:	47d131c0881c1285bd39121c1467a674239e499d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu May 8 17:41:30 +0100 2014

	abaco: remove strange line

Hash:	7ea0732c554f65ee52af30c8f6d601e1ba4ee034
Author:	ftrvxmtrx <devnull@localhost>
Date:	Thu May 8 13:29:44 +0100 2014

	tail: fix follow for empty files (thanks cinap_lenrek)

Hash:	1c835e370ff58e58b75c12a9e743a2bb33d84cb0
Author:	ftrvxmtrx <devnull@localhost>
Date:	Thu May 8 11:33:24 +0100 2014

	tail: seek to EOF to check if seekable. fixes tail on /proc files

Hash:	f4f2ff6038f47f73775ccc58cd31985d7f169bdc
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu May 8 21:20:26 +0100 2014

	hgfs: avoid revlogupdate() calls when reading root (thanks burnzez)
	
	we do not need to check for revlog updates on every
	(directory) read when reading the root. only do it
	when reading from the start.

Hash:	428cc541f822e6f49ce26d970b5b030e8b1b696d
Author:	ftrvxmtrx <devnull@localhost>
Date:	Wed May 7 13:43:11 +0100 2014

	sed: remove unused ecmp function

Hash:	3426459ab5a5a41497a62d90cd9ccdc0458e205e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue May 6 20:36:28 +0100 2014

	cc: fix spurious warning on comparsion with scope redeclared variable (thanks aiju)
	
	> warning: a.c:9 useless or misleading comparison: UINT < 0
	
	the error can be observed by compiling the following code
	with warnings enabled:
	
	#include <u.h>
	#include <libc.h>
	
	uint r;
	
	void
	main(int argc, char *argv[])
	{
		int r;
	
		if(r < 0){
			exits(0);
		}
	}
	
	the offending code in the compiler is:
	
	-	if(l->op == ONAME && l->sym->type){
	-		lt = l->sym->type;
	-		if(lt->etype == TARRAY)
	-			lt = lt->link;
	-	}
	
	compiler handles scope by overwritin and reverting
	symbols while parsing. in the ccom phase, the nodes symbol
	(n->sym) is not in the right scope and we wrongly think r
	is uint instead of int.
	
	it is not clear to me what this code tried to accomplish in
	the first place nor could anyone answer me this question.
	
	the risk is small as this change doesnt affect the compiled
	program, only the warning, so removing the offending code.

Hash:	59e53f818da15f6755fdb26aa6859bc6d913fcd0
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue May 6 17:59:56 +0100 2014

	pc64: fix embrassing typo in mmuzap()

Hash:	ff7d68e41adaa89aa3f896954104befe7d4a130d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun May 4 23:49:26 +0100 2014

	gs: fix /undefined in --setcolor-- errors on amd64

Hash:	e5a90c0e3ca7bc2a6403f7bc86ae63b375284699
Author:	ftrvxmtrx <devnull@localhost>
Date:	Sun May 4 02:16:37 +0100 2014

	merge

Hash:	4373c0b828f05aa6a765b13e8a9b111ed0b9a513
Author:	ftrvxmtrx <devnull@localhost>
Date:	Sun May 4 02:16:11 +0100 2014

	vga font: hammer and sickle

Hash:	3f1e6903d64046426d527f646d6ff92dcc71d6ba
Author:	ftrvxmtrx <devnull@localhost>
Date:	Sun May 4 21:14:45 +0100 2014

	fonts: add swastika to naga10. fixes swastika in default font

Hash:	826f4c0daffe7c7d7599f407c2c6897823b64b6e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat May 3 23:17:27 +0100 2014

	gs: remove PStorage data type from ttf interpreter
	
	i dont see that pointers are stored in PStorage at all,
	so just use PLong directly avoding all this confusion.

Hash:	9cc9d6113cc2b25e1651771c967990939ce09581
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun May 4 22:31:59 +0100 2014

	gs: fix truetype interpreter for amd64

Hash:	d2c3185bfa486bb3f60d23771c701cfeaa1316db
Author:	ftrvxmtrx <devnull@localhost>
Date:	Sat May 3 12:07:52 +0100 2014

	fix threadsetname usage in few places

Hash:	6f58f7fed4e6e00e6632ff9fe5bc56e75879424f
Author:	ftrvxmtrx <devnull@localhost>
Date:	Sat May 3 11:09:53 +0100 2014

	thread.h: varargck argpos for threadsetname

Hash:	462f1d06883af0fdea4f36c3dc3a35a7ed5ffe18
Author:	ftrvxmtrx <devnull@localhost>
Date:	Sat May 3 10:46:01 +0100 2014

	bio.h: add varargck argpos pragma for Berror

Hash:	19cdd8c4b97642dca9e61361495e066d79eefc3d
Author:	ftrvxmtrx <devnull@localhost>
Date:	Sat May 3 10:38:36 +0100 2014

	uniq: document -s option (thanks heaumer)

Hash:	306bee92e181a9c8b1cf0e746abdfcee7f246328
Author:	ftrvxmtrx <devnull@localhost>
Date:	Sat May 3 09:48:13 +0100 2014

	uniq: use Bsize for buffers

Hash:	4c639475ce8cf0aec59632b6f7537169f1537f13
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri May 2 23:51:45 +0100 2014

	cwfs: fix 1GB memsize limitation
	
	the malloc pool allocator is limited in its allocation
	size. as almost all data structures in cwfs are never
	freed, use brk() in ialloc() instead of mallocalign().
	this means memory returned by ialloc() cannot be freed!
	
	to make sure we do not call free by accident, remove
	the #define malloc(n) ialloc(n, 0) macro and use ialloc()
	directly as in the original code to show the intend
	of permanent allocations.

Hash:	72e4d850a4c2b334b3442dd39aa973650e5d5ba4
Author:	ftrvxmtrx <devnull@localhost>
Date:	Sat May 3 22:38:17 +0100 2014

	wc: simplify and avoid buffer overflow on long filenames

Hash:	bd3e9e4b7c08bb04ad0800629c478d9d359b00da
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri May 2 04:17:40 +0100 2014

	1l, 2l, 7l, kl, vl: add missing setmalloctag() dummy in compat.c

Hash:	f7f3e4780a5e0733f8699b7722811fb0887af8f1
Author:	ftrvxmtrx <devnull@localhost>
Date:	Fri May 2 03:27:29 +0100 2014

	bio: Brdstr, Bopen: set malloc tag to the caller

Hash:	beb665051bc635299e905ecb8abc5dfd9c3f011e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri May 2 03:23:21 +0100 2014

	sdide: never timeout or retry scsi commands from the controller driver
	
	this was a big mistake. we should never attempt to
	timeout or retry a scsi command from the controller
	driver because theres no way to tell how long a
	command would take or if a command has side effects
	when being retried.

Hash:	8fea0399b0535193af7c1cba0c7a72c00c146a78
Author:	ftrvxmtrx <devnull@localhost>
Date:	Fri May 2 03:03:35 +0100 2014

	bio: on a second thought, make it one line less

Hash:	f9b6c4c5a3f10cf4b7166e40b111596c1d6b5102
Author:	ftrvxmtrx <devnull@localhost>
Date:	Fri May 2 02:58:38 +0100 2014

	bio: do not leak memory if realloc fails

Hash:	e610c573d7e2807bacd0a0be1e9cbcef2d3b2eea
Author:	ftrvxmtrx <devnull@localhost>
Date:	Fri May 2 02:47:18 +0100 2014

	samterm: free() after getenv()

Hash:	405de1e6a2bcba579aa48262893ca3da7ccb5e54
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu May 1 16:24:50 +0100 2014

	pc64: increase sizes of physical memory bank maps
	
	number of bank slots in Conf.mem[4] was too small
	for kenjis machine, set it to maximum 16 (the
	size of the RAM map in pc64/memory.c).
	
	also increasing the UPA memory map to 64. the
	e820 map on my x200s has 31 entries and many
	holes. this gets rid of the "mapfree: ... losing"
	messages on boot.

Hash:	a1ee457ebc111a5bf85db58a4f87939aa50d70a2
Author:	ftrvxmtrx <devnull@localhost>
Date:	Thu May 1 12:08:43 +0100 2014

	leak(1): typo

Hash:	a2d96d47c996d3e31d5a93771c2cf91f994a5473
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Apr 29 20:17:07 +0100 2014

	kernel: always reset notepending in eqlock, handle forceclosefgrp in eqlocks

Hash:	b7d8431036d1fbc8d366ef9ddff5e6ab93e4bc94
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Apr 29 20:15:09 +0100 2014

	kernel: stop queue bloat before allocating blocks

Hash:	a2f0fdbfa016157ee962947f4670ac37f7041508
Author:	ftrvxmtrx <devnull@localhost>
Date:	Tue Apr 29 22:17:06 +0100 2014

	aan(8): fix aanuke synopsis

Hash:	40b6959788d35d66c5d4580730ac294f0d4c34f4
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Apr 28 05:55:06 +0100 2014

	devmnt: make abandoning fid on botched clunk handle flushes
	
	make mntflushfree() return the original rpc and do the
	botched clunk check on the original instead of the
	current rpc.
	
	so if we get a botched flush of a clunk, we abandon the
	fid of the channel as well.

Hash:	2c2a71cd515dbd28a87b4ae85080775675a3e135
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Apr 28 04:59:10 +0100 2014

	devmnt: abandon fid on botched Tclunk or Tremove
	
	if theres an error transmitting a Tclunk or Tremove request,
	we cannot assume the fid to be clunked. in case this was
	a transient error, reusing the fid on further requests
	will fail.
	
	as a work arround, we zero the channels fid and allocate
	a new fid before the chan is reused.
	
	this is not correct as we essentially leak the fid
	on the fileserver, but we will still be able to use
	the mount.

Hash:	219c3121638214be8f1d4750510729a058fe2c8e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Apr 28 01:32:06 +0100 2014

	libip: use snprint() in myetheraddr() to prevent accidents

Hash:	391198888a71649067d10862db1f1afed2b69c90
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Apr 28 21:53:50 +0100 2014

	8c, 6c: fix peephole bug for eleminating CMPL $0,R after shift
	
	the shift instructions does not change the zero flag
	when the shift count is 0, so we cannot remove the
	compare instruction in this case.
	
	this fixes oggdec under 386.

Hash:	7b8f4b25be690482793b8bc1be84e8fad4b5492e
Author:	ftrvxmtrx <devnull@localhost>
Date:	Mon Apr 28 21:39:12 +0100 2014

	btc mkfile: mkdir -p

Hash:	9f2e627ec683f3d6654da6c0ec04790fe226f395
Author:	ftrvxmtrx <devnull@localhost>
Date:	Sun Apr 27 14:12:15 +0100 2014

	iwl: support another (broken) variant of centrino ultimate-n 6300

Hash:	c0fada1560792b0177554888976cf17912b034fc
Author:	ftrvxmtrx <devnull@localhost>
Date:	Sat Apr 26 17:24:39 +0100 2014

	merge

Hash:	e41893d94fe545b9e12691bc145f936f1aac4b33
Author:	ftrvxmtrx <devnull@localhost>
Date:	Sat Apr 26 17:22:50 +0100 2014

	iwl: add Wifi Link 5150 did

Hash:	f3749669bae190d13eb76f3402feca7edae8a74a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Apr 26 17:22:17 +0100 2014

	pmmc: recognize generic mmc controllers (untested)

Hash:	28f7f3f9d7b556c2e315a31a046860a00ec68240
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Apr 26 17:09:26 +0100 2014

	tlshand: cleanup 36 -> MD5dlen+SHA1dlen

Hash:	3b1a0ab1f34c8cb8c4e619d9b008207c22c10315
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Apr 26 17:04:04 +0100 2014

	tlshand: fix memory leaks, fix alloc element size for certs pointer array, error handling

Hash:	c8ac5d7eb7999207c4fda314642df04325aafa68
Author:	glenda <glenda@turku>
Date:	Sat Apr 26 15:08:28 +0100 2014

	games/geigerstats: fix usage() to exit; games(1): geigerstats args

Hash:	6a905b45604b7d4546e4f9f632b8685c3bda497a
Author:	ftrvxmtrx <devnull@localhost>
Date:	Sat Apr 26 13:26:40 +0100 2014

	tr: fix 4-byte runes fix (thanks rsc)

Hash:	4468438c7030af510f4dc836d1c4af4310149aa3
Author:	ftrvxmtrx <devnull@localhost>
Date:	Sat Apr 26 12:22:48 +0100 2014

	merge

Hash:	b4fa1e617bbb2db7bbcacd42ed819cea3caa30d4
Author:	ftrvxmtrx <devnull@localhost>
Date:	Sat Apr 26 12:22:15 +0100 2014

	man pages: fix duplicate words

Hash:	5e201a7d2e619fe8f5f23d3a2e30638ac8c50ee9
Author:	glenda <glenda@turku>
Date:	Sat Apr 26 03:38:07 +0100 2014

	draw(2): fix missing arg of bezspline on page 5

Hash:	244bb0038dc2222f988b3aef7184848308b37903
Author:	ftrvxmtrx <devnull@localhost>
Date:	Sat Apr 26 00:47:36 +0100 2014

	man pages: the the wich

Hash:	ab2838aa394e963ccc12ee937334bfdc54bb5565
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Fri Apr 25 14:25:08 +0100 2014

	newt: write message header and body to virtual file before printing, to avoid stutter

Hash:	3dbc32d7943225770bbf46cdedffadcecd8a9eb8
Author:	mischief <mischief@offblast.org>
Date:	Fri Apr 25 04:05:09 +0100 2014

	nusb(4): fix spelling

Hash:	bfbe4803191725a24151ae04068a18cada3824e4
Author:	aiju <devnull@localhost>
Date:	Thu Apr 24 18:22:50 +0100 2014

	games/snes: mode 5/6; overscan fix

Hash:	0753d7852df4aa2f79d891e2f805d47bc50bc521
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Apr 24 21:02:47 +0100 2014

	revert previous change, i was confused.

Hash:	634b40fe279408a43d4a30de003c7b541d49645c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Apr 24 21:00:31 +0100 2014

	nusb: use ep->addr instead of ep->id in unstall() library function
	
	this is not a bug, but using ep->addr makes the intend more clear.

Hash:	70d7f4c32ad5b334840bd986315b58f04e9cd102
Author:	ftrvxmtrx <devnull@localhost>
Date:	Wed Apr 23 20:20:11 +0100 2014

	nusb/rndis: avoid allocation on each transmission
	
	The slack space for outgoing packets set to 44+16 bytes.

Hash:	41908149de00ab5830c5c72ef3a300a050b2b3bf
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Apr 23 19:03:01 +0100 2014

	nusb: resolve endpoint id conflict with different input and output types
	
	ftrvxmtrx repots devices that use the endpoint number for
	input and output of different types like:
	
	 nusb/ether:             parsedesc endpoint 5[7]  07 05 81 03 08 00 09	# ep1 in intr
	 nusb/ether:             parsedesc endpoint 5[7]  07 05 82 02 00 02 00
	 nusb/ether:             parsedesc endpoint 5[7]  07 05 01 02 00 02 00	# ep1 out bulk
	
	the previous change tried to work arround this but had the
	concequence that only the lastly defined endpoint was
	usable.
	
	this change addresses the issue by allowing up to 32 endpoints
	per device (16 output + 16 input endpoints) in devusb. the
	hci driver will ignore the 4th bit and will only use the
	lower 4 bits as endpoint address when talking to the usb
	device.
	
	when we encounter a conflict, we map the input endpoint
	to the upper id range 16..31 and the output endpoint
	to id 0..15 so two distinct endpoints are created.

Hash:	07bf5a24ab5b702f8b4ee89fb501204aaaa5b17b
Author:	ftrvxmtrx <devnull@localhost>
Date:	Wed Apr 23 22:47:49 +0100 2014

	merge

Hash:	645510e5cef0da3c0528e9769f354e1454a6f659
Author:	ftrvxmtrx <devnull@localhost>
Date:	Wed Apr 23 22:46:00 +0100 2014

	boot/nusbrc: add another rndis device

Hash:	2ef8c9ed41e696b2d7d2a8fa84ae682393e4d127
Author:	ftrvxmtrx <devnull@localhost>
Date:	Wed Apr 23 22:45:00 +0100 2014

	nusb: workaround for endpoints with same index but different types
	
	nusb code assumes endpoint numbers are unique.  It's true in general
	case, but it becomes false once the direction bit is ignored.  The
	commit adds a check so that two endpoints of different types are not
	merged into one with Eboth direction.  It does overwrite endpoint
	though, so it shouldn't be considered as a full fix.

Hash:	99c0abc76db4e534a6e2dd76ef57c37f297bf735
Author:	ftrvxmtrx <devnull@localhost>
Date:	Tue Apr 22 22:34:52 +0100 2014

	nusb/ether: add RNDIS support (tested on Nexus 5)

Hash:	39d6af1c1f2a60c97775ef796087996b201140e9
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Tue Apr 22 16:49:32 +0100 2014

	fortunes: i was up at 9am, climbed a mountain, hiked 6 km through 4ft deep slush (the image you are supposed to get is of 12 million overturned slurpee cups, and of geting your groin wet in slurpee), nearly died eating beef vindaloo, wrote some code, talked on the phone, wrote mail, and now it's almost 4am and this is absolutely beyond ridiculous.

Hash:	c88d48d58da040bfab255eb34e60b795f9cd2bec
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Apr 22 03:26:17 +0100 2014

	termrc, cpurc: exclude wpa from oom kill and swap

Hash:	0f98415f99948880cd25190a2aee8f5bbefcdfcb
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Apr 21 15:44:38 +0100 2014

	wifi: set ether->mbps to highest supported rate of the associated ap

Hash:	49825fa795e89256383795a60cc365d4e4ede420
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Apr 21 04:22:17 +0100 2014

	etheriwl: set msb for all rates
	
	the 802.11 spec only specifies the msb of the rate for
	Beacon, Probe Response, Association Response, Reassociation Response,
	Mesh Peering Open, and Mesh Peering Confirm management frames
	...
	The MSB of each Supported Rate octet in other
	management frame types is ignored by receiving STAs.
	
	this should make no difference but on some netgear ap's not
	setting this bit seems to ignore these data rates.

Hash:	3b87d6114dceccd0a5cee998ab6d6cc393de1ef2
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Apr 21 02:43:51 +0100 2014

	wifi: first attempt on negotiating data rates
	
	driver sets wifi->rates array to tell wifi layer what
	rates it supports. when we receive beacon, we determine
	the minimum and maximum data rates and set wn->minrate
	and wn->maxrate to point to the entries in wifi->rates.
	
	it is the responsibility of the driver to use this
	information on transmit.

Hash:	b94c766fef2c0ad8334f9e63ad3acc4bc25aa031
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Apr 19 15:18:39 +0100 2014

	nusb: dont include <bio.h>, we'r not using it (thanks erik)

Hash:	8d0e4cf37b25250c2cdb98afaab2b620f0934fac
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Apr 18 19:55:41 +0100 2014

	wpa support for tcp boot, remove duplicate secstore code from factotum
	
	to run aux/wpa at boot, we need factotum to be running. tho
	factotum was started only after the network was configured.
	
	what we do now is start factotum early, not fetching keys
	from secstore. once network is available and the auth server
	is known, we fetch keys from secstore using auth/secstore in
	bootrc.
	
	to pass the authserver for p9 authentication to factotum, we
	write it in /net/ndb and the special _authdial() in factotum
	will picks it up.
	
	as we are using auth/secstore binary in any case, we remove
	the duplicated secstore code from factotum and make it just
	exec auth/secstore to fetch the keys on startup (unless -n
	or -S is specified).

Hash:	fc15a01d1de27cdd4ed8d8f863a0e46bafe9bd12
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Apr 18 19:44:40 +0100 2014

	kernel: add secstore and wpa to bootfs

Hash:	6a7ba3d24a20b88bc28776eb489a2dc876e5b4eb
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Apr 18 19:41:43 +0100 2014

	secstore: fix wrong "readnvram %r" error status

Hash:	9204ed8910fd0ddf7186c154a650586674fec641
Author:	ftrvxmtrx <devnull@localhost>
Date:	Fri Apr 18 15:43:43 +0100 2014

	nusb/kb: fix trackpoint on thinkpad usb keyboard
	
	The trackpoint has no subclass, but it's still a pointer device.
	Also close the device while we are here.

Hash:	d9ea4a71b9438507fd28413259b22123df20f8ee
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Apr 17 17:57:58 +0100 2014

	secstore: fix gfile/pfile/rfile array sizes
	
	need to have one more entry for terminating nil

Hash:	66aa9490398fa43d1bbec73f0e12899582a73fe7
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Apr 15 20:34:41 +0100 2014

	kernel: fix printing wrong memory sizes in pageinit(), overflowed on amd64 (thanks aram)

Hash:	712ce5d9fff96a46f51b37a65532022b1a9b833c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Apr 15 08:43:53 +0100 2014

	merge

Hash:	a418525d953f55c9551b7eef223bc6fe4eb805b3
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Apr 15 08:42:40 +0100 2014

	vgadb: add EIZO Flexscan S2231W (from kenji okamoto)

Hash:	75079ab18c205fbc8930eede245a58e8037dd7f2
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Apr 15 08:40:41 +0100 2014

	vga: add support nVidia 7600GS (and possibly 7950) (from kenji okamoto)

Hash:	c57fe0690fd947c8f285d6a87319c07408ada42f
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Tue Apr 15 02:01:55 +0100 2014

	aanuke: only print commands to kill the current user's aan procs

Hash:	d8e4904d0aac4d67a1953eb8c5ad46c070bf1a94
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Tue Apr 15 00:24:27 +0100 2014

	aanuke: check both /net and /net.alt (thanks, mischief)

Hash:	1c3e6a3e5aad9365e5e0aa2fb2e29b789e852f10
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Tue Apr 15 00:09:33 +0100 2014

	aan(8): add HISTORY

Hash:	0812a26f0057bb20d1220cd3fae310f57fd82b1d
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Tue Apr 15 00:05:57 +0100 2014

	add /rc/bin/aanuke

Hash:	f02f05ca6a7a60a087a9fb7d6b2e81ff820e2d80
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Apr 14 23:37:01 +0100 2014

	libmach: fix printing of amd64 modrm byte register with rex prefix

Hash:	81545f346f985241083062f73d45e9426d519ba8
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Apr 14 19:44:04 +0100 2014

	games/snes: faster scaling
	
	load x-stretched scanline and use image replication bit to let
	devdraw do the y-stretching. this reduces slow RGB15 -> display
	conversions as devdraw caches small numbers of converted source
	scanlines (one in hour case). setting pixels should also be a
	bit faster. (only 3 writes instead of 9 for x3 scaling)

Hash:	96a94c38917bf52c17cc1a280cbb672f4d1d13d3
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Apr 12 20:59:52 +0100 2014

	libmemdraw: improve readbyte() and writebyte() routines
	
	remove unused memsetb() routine.
	
	replace foo ? 1 : 0 with foo != 0
	
	avoid double calculation of rgb components in readbyte()
	
	handle byte aligned color components in writebyte()
	which lets us avoid the read-modify-write and the shifting.
	surprisingly, the branches in the loop are way less important
	than avoiding the memory access.
	
	this change makes ganes/snes playable at -3 scaling.

Hash:	a321204a2091d20f1ae360064460fd1553938d6f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Apr 12 17:59:16 +0100 2014

	icmp: use snprint, add more unreachable error messages (from erik quanstro)

Hash:	d2618d03f5e17c3deed916e56b5e4f282dc093f2
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Apr 12 21:25:26 +0100 2014

	games/snes: upsample audio to 44100 hz instead of setting audio device frequency
	
	used to set audio device frequency thru /dev/volume tho
	only ac97 driver supports this. as a quick work arround,
	upsample the 32000 hz audio signal to 44100 hz (without
	any interpolation).
	
	move the sample buffer room check from audiosample() into
	dspstep() so that when the buffer is full (shouldnt happen),
	we wont advance dspstate so samples will not get dropped.

Hash:	4ae2015d865a481829b949a171c055c3ec22fa98
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Fri Apr 11 18:19:18 +0100 2014

	newt: add 'kf' command to grep $home/lib/newsgroups for group names

Hash:	794197adb16da0f7644cc8b56830316682b89011
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Wed Apr 9 06:57:03 +0100 2014

	newt: improve input filtering

Hash:	ea3c192bb5a4abd48f895fb48e6c318c233cc16f
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Thu Apr 10 02:26:43 +0100 2014

	newt: always prefix single digit days with 0 in 'h' view

Hash:	a4d818eedbea608e3d5f1909250f0563ecde6076
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Thu Apr 10 02:20:02 +0100 2014

	newt: fix 'h' formatting

Hash:	44c94fbe072d49d693259523e251d179fdeee2e2
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Thu Apr 10 02:19:39 +0100 2014

	fortunes: Can somebody please include this in the fortunes database?

Hash:	b7e30ec83d29272490ef6d76107b1393cd96a059
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Apr 9 18:41:25 +0100 2014

	libc: allow announce address of the form #I1/tcp!*!564
	
	we allow protocol path to begin with # for dial, so should
	allow this for announce as well. this is primarily usefull
	when booting the fileserver to listen on alternate ip stack.

Hash:	aec3d8022ae0aa2f7209970df0399c1242af20c9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Apr 8 18:35:29 +0100 2014

	process acpi interrupt source override entries in a 2nd pass over the madt (APIC) table (thanks erik)
	
	according to erik, virtualbox puts the source overrides
	before the ioapic entries so the addirq() call fails
	as no ioapics have been declared yet. use a second pass
	over the table after we processed the apic entries.

Hash:	ae3afb12a05aca507b313c2ff61c27f015688e6e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Apr 3 08:46:18 +0100 2014

	merge

Hash:	c3f2448a56a73378238e1d5b29f00a3d04f9afdc
Author:	ftrvxmtrx <devnull@localhost>
Date:	Thu Apr 3 22:58:25 +0100 2014

	spin(1): fix typo

Hash:	8515f4ecb7063a23d01a7bdc8083e8caceb4f67a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Apr 3 22:20:48 +0100 2014

	eqn: fix parallel build (thanks eekee)
	
	dont just mv y.tab.c, this can cause y.tab.c and y.tab.h to
	be accidently regenerated breaking parallel build.

Hash:	70586401797baa5c60fb83840c91d218e7c40be9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Apr 3 08:44:48 +0100 2014

	webfs: do not unescape escape

Hash:	95c100a3d697914c94e65ccecd1426a4f94000b0
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Wed Apr 2 20:49:24 +0100 2014

	newt: clean up regexp

Hash:	aada99abe3a83d50c25b307657204bd997139859
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Wed Apr 2 20:49:08 +0100 2014

	fortunes: No one googles local variable names.

Hash:	1e1c89001d06f1d06bdb0da214add710d2641aa3
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Wed Apr 2 00:10:49 +0100 2014

	fortunes: The only document that claims Plan 9 runs in 4 megabytes is the FAQ on our home page.

Hash:	8347075fd940894edcc27e36cb3a21d368c4e606
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Tue Apr 1 19:34:29 +0100 2014

	add newt(1): nntp client for use with nntpfs(4)

Hash:	5d3d085492010ab1f4900892e000a3c175bcac90
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Apr 1 18:28:10 +0100 2014

	devproc: change address format in segment file to %8p (thanks eekee)
	
	the original format for addresses was %8lux which was changed
	to %p for amd64. this broke linuxemu which assumes fixed format
	in the segment file. as a compromize we change it to %8p and
	amd64 port of linuxemu will hopefully use a more robust parser :)

Hash:	d41b6136f5880409a5a57e895341933699bc2b06
Author:	BurnZeZ <brz-9dev@intma.in>
Date:	Tue Apr 1 18:12:23 +0100 2014

	getfields(2): add missing SOURCE file

Hash:	50e2c9b4d47c8a14f9b921d716f2cd070a4aabcd
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Apr 1 05:04:00 +0100 2014

	sam, acme: fix character classes quoting for 21-bit runes
	
	quote handling was broken with 21-bit runes. nextrec()
	returned quoted rune as long rune | (Runemax+1) to escape
	it.
	
	with 16-bit runes, storing that long into 16-bit Rune
	would automatically remove the escaping, but with 21-bit
	runes, Rune is uint32 so the escaping would remain. we
	now use (Runemask+1) instead, and mask the escaping off
	explicitely when storing back to Rune.

Hash:	5b5eb3b4b4a7e10e16dcbe7f287771c7e6e85aa8
Author:	glenda <glenda@turku>
Date:	Sun Mar 30 22:20:00 +0100 2014

	merge

Hash:	67eb30f0ca6d0e0dd227cb652986177accf5594d
Author:	glenda <glenda@turku>
Date:	Sun Mar 30 22:18:17 +0100 2014

	games/gb: better video scaler from games/nes

Hash:	0c1dd5754491b7d59b14a0dc6dbaa95ab3f18c8c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Mar 30 17:11:51 +0100 2014

	grep: fix tab2, use int instead of Rune to be compatible to 16bit rune system

Hash:	4d0a446123daebf8d9de77f5359e49229fe1eeb8
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Mar 30 03:29:04 +0100 2014

	grep: fix wrong rlcass splitting (thanks erik and kenji)
	
	add 0xffff to tab1 as range 0xffff-0x10ffff has 4 byte utf-8 sequence.
	use Runemax (0x10ffff) instead of Runemask (0x1fffff) to denote
	the last valid rune for inverted [^] match as Runemask is out of the
	valid rune space.

Hash:	cde97a4d5f17fe597cc55aa4653082bf2c01598c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Mar 29 18:44:04 +0000 2014

	6c, 8c: optimize away CMPL/CMPQ reg, $0 instruction in peephole pass
	
	when the previous instruction sets the zero flag,
	we can remove the CMPL/CMPQ instruction.
	this removes compares for zero/non zero tests only.
	it only looks at the previous non-nop instruction
	to see if it sets our compare value register.

Hash:	91bed257fa7382c90fdd9d99089442b453090bba
Author:	BurnZeZ <brz-9dev@intma.in>
Date:	Wed Mar 26 20:48:40 +0000 2014

	ramfs: fix srvname; postmountsrv() already prepends /srv/

Hash:	1641d9908b2d0b7bebabef9733b6e0fb4d83034a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Mar 26 17:39:58 +0000 2014

	audio/oggdec: wait for pcmconv child process to exit
	
	we have to wait for the pcmconv process to exit before
	exiting yourselfs because otherwise pcmconv could
	keep /dev/audio open and prevent further reopens for
	a short period of time.

Hash:	b964e60a49ef7037b9360785de6e7d91c5f918c3
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Mar 26 22:47:19 +0000 2014

	libauthsrv: recognize amd64 $cputype in readnvram() to look for default locations

Hash:	d4abe404b4ad9a7c913bde37d211be614f27c965
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Mar 24 18:00:34 +0000 2014

	pc64: prevent dat.h from getting overwritten by ../pc/dat.h
	
	the rule that was used to copy header files from ../pc
	accidently overwrote dat.h when ../pc/dat.h was updated
	because it matched on all *.h files that was also found
	in ../pc directory. change to exact match on $PCHEADERS
	to prevent this.

Hash:	0df733f94b8bc11946b0af940d30f28ca67f02d8
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Mar 23 19:16:24 +0000 2014

	games/snes: fix dspclock signed overflow (music stoping for minute)

Hash:	e11835232448831f8bd4a27c4f8d8a7aa78383b5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Mar 23 17:47:59 +0000 2014

	hget: revert hget -v change, this needs more thought
	
	problems that need to be addressed:
	
	- reads in the whole /proc every second for no reason
	- breaks when http server doesnt include Content-Length header
	- length is wrong for continued download (-o option)

Hash:	ffb120199a951396f7e99aeca453715dc4e65601
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Mar 23 17:10:04 +0000 2014

	auth/login: find authdom instead of using hardcoded cs.bell-labs.com (thanks erik)

Hash:	226cb1405853edadc0bac6749bff0b89e3c693f2
Author:	mischief <mischief@offblast.org>
Date:	Sun Mar 23 06:48:45 +0000 2014

	hget(1): fix minor formatting error

Hash:	a710914b36db4d52ce557dab98b3208c9af95667
Author:	mischief <mischief@offblast.org>
Date:	Sun Mar 23 06:28:42 +0000 2014

	hget: add the -v option to produce progress on stderr, like old hget

Hash:	0d080855b2a1b8095f2a7d4c6f649685d20e3c42
Author:	aiju <devnull@localhost>
Date:	Sat Mar 22 11:50:40 +0000 2014

	games/snes: cpu timing fix

Hash:	b13425e2b077de3d2562a8d6ebe5b8f6ab537f3d
Author:	aiju <devnull@localhost>
Date:	Sat Mar 22 10:11:51 +0000 2014

	games/snes: silly bug

Hash:	3e9650551ed048fe268871bc3700f5c22010bf43
Author:	aiju <devnull@localhost>
Date:	Sat Mar 22 09:51:56 +0000 2014

	games/snes: improved cpu timing

Hash:	393dfd1ced89013a4e67aebdd8950ffb3449773a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Mar 21 18:05:17 +0000 2014

	8c, 6c: fix mulgen botch error for handling multiplication by zero constant

Hash:	294e940f571e72ac9c7656bf55fe740f7f9dc0d2
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Mar 21 17:59:21 +0000 2014

	pc64: serial console support

Hash:	4a6939c2ceaae436d8595b45c42d531faff7fac5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Mar 21 17:12:06 +0000 2014

	devfs: fix cclose() crash in devfs error handling

Hash:	4abb38f1778a60e8d3ae14af928b0192ff3a5ed2
Author:	aiju <devnull@localhost>
Date:	Fri Mar 21 15:55:16 +0000 2014

	games/snes: bug fixes

Hash:	49ecfb6689b2a2dbe465dd8a98d5448add57831b
Author:	aiju <devnull@localhost>
Date:	Fri Mar 21 13:28:10 +0000 2014

	games/snes: minor cpu bug fix

Hash:	26777f4cefb1dc5a19da585cb38e08a7db9f143a
Author:	aiju <devnull@localhost>
Date:	Fri Mar 21 13:25:08 +0000 2014

	games/snes: minor oam bugs

Hash:	52cb2d472b040bf057f49369a86e0ca4bffa88c6
Author:	aiju <devnull@localhost>
Date:	Fri Mar 21 12:57:25 +0000 2014

	games/snes: fixed decimal mode

Hash:	24bb136c8585cc82374607f576f3858f610c37f9
Author:	aiju <devnull@localhost>
Date:	Fri Mar 21 12:57:18 +0000 2014

	games/snes: added open bus emulation

Hash:	feb800ff7c8a8fb615c7b39248c2f68859d0fa86
Author:	aiju <devnull@localhost>
Date:	Fri Mar 21 11:57:17 +0000 2014

	games/snes: address remapping and irq reset bug fix

Hash:	46168ec503ec75926366a8f4ab505fd44ef271b7
Author:	aiju <devnull@localhost>
Date:	Fri Mar 21 09:53:33 +0000 2014

	games/snes: added state saving

Hash:	4b0467ce442ad6a4eef0caf44391f7b924186a1b
Author:	aiju <devnull@localhost>
Date:	Thu Mar 20 15:44:01 +0000 2014

	games/snes: made cpu timing slightly more accurate

Hash:	3a54967108ab173389448ba2145502cf62602111
Author:	aiju <devnull@localhost>
Date:	Thu Mar 20 14:21:53 +0000 2014

	games/snes: added offset-per-tile

Hash:	a6f3ba79c2b50bb6f946a7c5904859971dee6908
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Mar 19 20:15:43 +0000 2014

	audiohda: start playback only when we have a minimum delay buffered

Hash:	90148cbe87e347d9cc9a86d11e76ba1615291805
Author:	aiju <devnull@localhost>
Date:	Wed Mar 19 19:25:06 +0000 2014

	games/snes: audio improvements

Hash:	5b7ebd7be30cbd89fbfd6fdeb85bd84c1ac61f86
Author:	aiju <devnull@localhost>
Date:	Wed Mar 19 08:04:25 +0000 2014

	games/snes: fixed large sprite scrolling bug

Hash:	da62091c0765ca8994d558f1339dad7c2223a95e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Mar 19 08:00:20 +0000 2014

	pc64: port etherbcm
	
	do not store Block* pointer in packet descriptor, assumed
	pointer would fit in a long. we use pointer table now to
	record the Block* pointer and store index instead.

Hash:	f14b49f8bf736dc9cd9b3bd596d3ff2bbfd3116a
Author:	aiju <devnull@localhost>
Date:	Mon Mar 17 17:56:00 +0000 2014

	games/snes: audio support (kind of)

Hash:	f783587f05a9839b92d986eb7268981f7894e054
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Mar 17 17:21:01 +0000 2014

	etheriwl: provide shutdown function

Hash:	84d5bbc6340856d85cfc498ffce91e90be90bf18
Author:	aiju <devnull@localhost>
Date:	Mon Mar 17 14:48:36 +0000 2014

	games/snes: reset oam address on vblank

Hash:	37c8651f9836c277762bbe8fcbb92c84a46c4326
Author:	aiju <aiju@phicode.de>
Date:	Mon Mar 17 13:57:49 +0000 2014

	merge

Hash:	656b427bda6774ca1f4f5b309c1568cbec231f7f
Author:	aiju <aiju@phicode.de>
Date:	Mon Mar 17 13:57:37 +0000 2014

	games/snes: SPC ADDW/SUBW fix

Hash:	b1cd72cfef46f3362b6207e56a5581625c0c3a68
Author:	aiju <devnull@localhost>
Date:	Mon Mar 17 13:54:12 +0000 2014

	games/snes: BIT #imm does not set NZ flags

Hash:	f2f46f4a33ee9ccb4f0475163408b8a699ec4f7f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Mar 16 19:22:59 +0000 2014

	pc64: amd64 kernel reboot support

Hash:	105625e10b469d4012c148154563007cfa3acc4d
Author:	aiju <aiju@phicode.de>
Date:	Sun Mar 16 08:53:14 +0000 2014

	merge

Hash:	2fb68b633845ad67fbf03d6f0cf8faa6d7005a45
Author:	aiju <devnull@localhost>
Date:	Sun Mar 16 08:52:38 +0000 2014

	games/snes: bug fixes

Hash:	38c0dfacabb9b4e4ba4f8d6cd96166d355708f7e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Mar 16 01:28:04 +0000 2014

	pc64: fix swaped error/flags in dumpregs(), remove misleading comment in apbootstrap

Hash:	74778941ed75b0a548d6f00e825d6d56bb5722d8
Author:	aiju <devnull@localhost>
Date:	Sat Mar 15 21:27:14 +0000 2014

	games/snes: small mode 7 fix

Hash:	744f038e86aef8f30b3c7abead3be5d30e163a2c
Author:	aiju <devnull@localhost>
Date:	Sat Mar 15 20:46:00 +0000 2014

	games/snes: mode 7

Hash:	0c9a1e665368101371c4dc32c6bebbc879baa8b3
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Mar 15 18:13:27 +0000 2014

	inst/bootsetup: do not copy 9pccpuf kernel to 9fat
	
	theres no cpuserver install anymore and pc kernels can
	assume cpu role with service=cpu boot parameter.

Hash:	55ea9a80b19c24851131d8f78d163b3e20920049
Author:	aiju <devnull@localhost>
Date:	Sat Mar 15 09:06:18 +0000 2014

	games/snes: fix flickering sprite bug

Hash:	442d17ab18c3650bc4f554e16417f1d68d44d53a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Mar 15 03:39:27 +0000 2014

	merge

Hash:	469dfca25ff0fac154e8f4357a1bf5541e79b148
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Mar 15 03:38:14 +0000 2014

	pc64: add R8-R15 in dumpregs()

Hash:	428148e421b0c94b3a3d770fa861e1c176ece740
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Mar 15 00:07:17 +0000 2014

	merge

Hash:	af13b1a147e96e27a1a16968f1d2ce40a03ac014
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Mar 15 00:06:11 +0000 2014

	plan9.ini(8): document service= boot parameter

Hash:	586ab94b05a41f3be994deb93d22208b7e3368fa
Author:	aiju <aiju@phicode.de>
Date:	Fri Mar 14 23:57:46 +0000 2014

	merge

Hash:	77a3391cf36cd24a3c01b0e45f512603b4d78e81
Author:	aiju <devnull@localhost>
Date:	Fri Mar 14 23:57:03 +0000 2014

	games/snes: small hdma fix

Hash:	483f1ba6028d9b99d868d722715828bd6e739644
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Mar 14 23:56:36 +0000 2014

	merge

Hash:	a8af25ef8105058d4bde5674701a2f6a9024e80a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Mar 14 23:55:02 +0000 2014

	kernel: interpret service= boot parameter to set "cpuserver" variable

Hash:	11489407ecb860a1836ebfab5e4c1620ffd8b23b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Mar 14 20:53:26 +0000 2014

	games/mkfile: add snes

Hash:	972ad576fd8c0a8f8a687ec4af158995304270f4
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Mar 14 20:16:53 +0000 2014

	merge

Hash:	1c2fc5208163b09667482c357934cd51b5938f4f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Mar 14 20:15:16 +0000 2014

	ramfs: replace with new lib9p based implementation
	
	old ramfs had a limit on the number of files it could serve
	and file size was limited to maximum allocaiton size.
	
	the new implementation uses multiple memory chunks to back file data
	in a private compactable memory pool to overcome these limits.
	files can be sparse. file metadata is maintained by 9pfile data
	structures of lib9p.

Hash:	f6a79e0acb5fc27ea4ac006300b7bd82a07fdd57
Author:	aiju <devnull@localhost>
Date:	Fri Mar 14 20:03:25 +0000 2014

	games/snes: cpu bug fix and bg cleanup

Hash:	d54a795c80421b015dc6d9e3adce25309875e87a
Author:	aiju <devnull@localhost>
Date:	Fri Mar 14 18:39:20 +0000 2014

	games/snes: bg 3

Hash:	08e433f31db74945aecfcad2755ccf274e849810
Author:	aiju <devnull@localhost>
Date:	Fri Mar 14 17:20:13 +0000 2014

	games/snes: hirom support and register 2180 fix

Hash:	8d11fd6d274a0792ebb64dcc89e2b8c087888fab
Author:	aiju <devnull@localhost>
Date:	Fri Mar 14 15:49:52 +0000 2014

	games/snes: mouse support

Hash:	e8e04281402b697c0568ce5e35dbd7fc1d0c0935
Author:	aiju <devnull@localhost>
Date:	Fri Mar 14 14:06:25 +0000 2014

	games/snes: performance improvements and scaling

Hash:	289fb207c93576321a21a2ff82f2bb45b56821ad
Author:	aiju <devnull@localhost>
Date:	Fri Mar 14 14:06:21 +0000 2014

	games/snes: added decimal mode and wai

Hash:	d1822db1876754048ade2278aba664a6545590c8
Author:	mischief <mischief@offblast.org>
Date:	Fri Mar 14 05:51:22 +0000 2014

	nm(2): clarify that U is an undefined symbol

Hash:	e5a6ebecd29404c64a7a3da24c4ee4fd0fac122c
Author:	aiju <devnull@localhost>
Date:	Fri Mar 14 21:34:47 +0000 2014

	games/snes: bug fixes

Hash:	ff677a1cb491b8a3b028057b71f662472107b418
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Mar 14 02:54:08 +0000 2014

	cpu: make -p work with explicit service in dialstring (same as import)

Hash:	8fb212515dc6e0a8f0cc3b76f7946bb26b8c357d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Mar 14 02:48:26 +0000 2014

	import: make import -p work with explicit service in dialstring (thanks mischief)
	
	mischief → ; import -p tcp!9.offblast.org!17007 / /n/9
	mischief → -> import: can't mount /: EOF receiving fversion reply
	mischief → on the console
	mischief → bmo Mar 13 18:55:30 dialing tcp!9.offblast.org!17007
	mischief → bmo Mar 13 18:55:30 reconnected to tcp!9.offblast.org!17007
	mischief → bmo Mar 13 18:55:30 connected from 199.191.58.44
	mischief → bmo Mar 13 18:55:34 exiting...bmo Mar 13 18:55:30 dialing tcp!9.offblast.org!17007
	mischief → bmo Mar 13 18:55:30 reconnected to tcp!9.offblast.org!17007
	mischief → bmo Mar 13 18:55:30 connected from 199.191.58.44
	mischief → bmo Mar 13 18:55:34 exiting...
	mischief → aan is dialing the *exportfs* port because i explicitly specified it

Hash:	85a414751a1b9ba09dd7a72eee8746d81a7dcf53
Author:	aiju <devnull@localhost>
Date:	Thu Mar 13 19:07:36 +0000 2014

	added games/snes

Hash:	eed487167489ee16dd16effe9ebff9a5086ffc70
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Mar 11 06:03:15 +0000 2014

	exportfs: avoid closing netfd in filter()
	
	netfd is initially zero (stdin), when filter() closes fd0,
	fd0 is free to be reused. this causes problems with openmount()
	that assumes sfd being >2.
	
	instead, we dup the our pipe end over netfd, and close the pipe.

Hash:	2c0490a26ed0565d5e69c88e64c8b185ecab0947
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Mar 10 05:41:45 +0000 2014

	libdraw: fix zero stringwidth() bug
	
	stringwidth() and string() sometimes failed spuriously due
	to the wrong assumption that cachechars() will only fail
	when a different subfont is needed. in fact, cachechars()
	can fail for other reasons like when it resizes the fontcache
	(or fails todo so).
	
	theres also the case when loadchar() is unable to translate
	a character and returns 0. this case needs to be differentiated
	from such temporary conditions like fontcache resize or subfont
	load to stop the retry loop in string() and stringwidth().
	
	now cachechars() returns -1 to indicate that it cannot
	proceed and we test this in string() and stringwidth()
	to skip over untranslatable characters to make progress
	instead of retrying.

Hash:	760b3d06679aa690a5c83d6c9aeed6003f93fdc1
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Mar 10 22:20:01 +0000 2014

	5e: remove newline from suicide string

Hash:	3aeca15d3c8647db5e7c76dadbc62cf3067791f4
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Mar 10 22:16:47 +0000 2014

	5e: trap unaligned memory access

Hash:	26a8accad26267678c240e48a8544a208d9ba571
Author:	aiju <devnull@localhost>
Date:	Sun Mar 9 17:03:07 +0000 2014

	nusb: added joy

Hash:	62ffb9c16e0e0490404f3b0a7c2c7c560fd56ec4
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Mar 9 01:04:08 +0000 2014

	libmach: pragma pack 32bit Ureg structs for amd64
	
	when libmach is compiled with 6c, unions in the 32bit Uregs
	cause fields to be wronly aligned. use #pragma pack arround
	the #include "/$objtype/include/ureg.h" statement.

Hash:	beb7827425bc2412fc70b3c43a11564d68867d45
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Sun Mar 9 00:12:00 +0000 2014

	5e(1): add HISTORY

Hash:	9743c2752c83bdd94d9f48f7257a51cfee56861a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Mar 8 20:09:59 +0000 2014

	merge

Hash:	f05af31f3685423e5f97fd6c17f6e6cb4fc11f4b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Mar 8 20:07:57 +0000 2014

	5e: fix amd64

Hash:	f459c5133a89ebba44d0de6ac88c41accd73b2a4
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Sat Mar 8 03:32:58 +0000 2014

	fortunes: it would be nice to be able to try the plan 9 go port without a plan 9 system.

Hash:	0c005b510506d341e7a8134a4eb2ad48fdbc8168
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Fri Mar 7 16:44:05 +0000 2014

	mothra: handle blank lines inside <pre> tags

Hash:	f88d0c372d9e23c82b6b89f85690d26959d83441
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Mar 6 21:53:20 +0000 2014

	nusb: fix loaddevstr() (thanks erik quanstro and richard miller)
	
	loaddevstr() should request 256 bytes, as per standard and
	respect the length embedded in the string.

Hash:	7cdd1c46c5bb29572c69cbf2dcff3fba6a4a7a1d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Mar 6 21:09:17 +0000 2014

	wifi: remove misleading packet header length check in wifidecrypt()
	
	we do not need to check block length in wifidecrypt()
	again as wifiiq() already filters out truncated frames.

Hash:	8e924edeeb15d6350e531e73cf519f2bd6ed5a74
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Mar 6 20:36:14 +0000 2014

	wifi: decode AP->AP (WDS / bridge) data frames.

Hash:	8c1417228c9714edd28a6946a95ed4203537ce52
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Thu Mar 6 19:56:40 +0000 2014

	/lib/face/48x48x8/.dict: add quanstro@9atom.org; erik does not wear a hat

Hash:	bbe797c3d07d475e4a8127fc570722ede8c45976
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Mar 5 19:13:03 +0000 2014

	ndb(8): the truth is too hard to explain, so theres a nice lie.

Hash:	f894ab740fc7cceda6264fc67b53656d28ef764d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Mar 5 18:50:34 +0000 2014

	ndb(8): document -x option of ndb/dnsquery (thanks mischief)

Hash:	077a4dbe485b89b7f39dc84843bd421d862e486c
Author:	mischief <mischief@offblast.org>
Date:	Tue Mar 4 15:46:16 +0000 2014

	cpu: remove unused connection directory buffer

Hash:	c904d5bfa61090347c6a3b482c4ef8a0036026d5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Mar 4 23:05:43 +0000 2014

	nintendo(1): add SOURCE section

Hash:	8dfc237a578a7782f441ec391c83dd8629535aba
Author:	aiju <aiju@phicode.de>
Date:	Tue Mar 4 22:10:31 +0000 2014

	updated nintendo manpage

Hash:	316d8ad76b13583848db2d93187a921c18ee275c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Mar 4 21:37:15 +0000 2014

	pc64: fix segattach
	
	the comment about Physseg.size being in pages is wrong,
	change type to uintptr and correct the comment.
	
	change the length parameter of segattach() and isoverlap()
	to uintptr as well. segments can grow over 4GB in pc64 now
	and globalsegattach() in devsegment calculates len argument
	of isoverlap() by s->top - s->bot. note that the syscall
	still takes 32bit ulong argument for the length!
	
	check for integer overflow in segattach(), make sure segment
	goes not beyond USTKTOP.
	
	change PTEMAPMEM constant to uvlong as it is used to calculate
	SEGMAXSIZE.

Hash:	06c8a5b3911239937e0c99634e25cfc7209df436
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Mon Mar 3 06:06:40 +0000 2014

	games(1), nintendo(1): re-organize nintendo emulators into separate man page; add HISTORY

Hash:	6c77d9bc16afa792d3d5864d9e6253babc3f2935
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Mon Mar 3 05:30:37 +0000 2014

	/lib/rsc: We've entered the feature freeze.

Hash:	ffbfbe270f7e2f23d1bc73c9e79410c055c4e7cc
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Mon Mar 3 05:26:35 +0000 2014

	fortunes: If you start your own successfull project, you also can develop your own set of reasons for doing any of a variety of operational things at any point in time.

Hash:	36bfb7d3d07941a397ccdb3874b2c16eb254d797
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Mon Mar 3 05:20:10 +0000 2014

	/lib/face/48x48x4/.dict: fix mistake

Hash:	c92edc1de593873cffb8e4e5ce773020cde65ef3
Author:	aiju <devnull@localhost>
Date:	Mon Mar 3 19:13:56 +0000 2014

	games/nes: fix buffer overrun

Hash:	f7ab9fb52a0d50db3e5de67e74f1654ad374ae59
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Mar 3 13:45:14 +0000 2014

	pcmconv: revert previous change, fix dither clipping
	
	previous change had forgot how dithering works... m(
	
	we *really* add a random signal when *reducing* the number
	of bits. just make sure we do not overflow like in
	mixin().

Hash:	7fc78023587e6cb238d5fa16f5acafb4078c6798
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Mar 3 08:00:59 +0000 2014

	pcmconv: fix dither clipping
	
	the check in dither() was inverted. we should only
	add noise when the output bit count is greater
	than input bit count (samples shifted up) to
	fill the lower zero bits produced by the shift.

Hash:	2750062701e8dd84b78d8619f164769be7e0a5aa
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Mar 2 20:08:48 +0000 2014

	cc: correct out-of-bounds references in funct.c (thanks charles forsyth)

Hash:	9405f4c95f229a173c6f430c12d96ac2c19e8626
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Mar 2 19:55:26 +0000 2014

	kernel: getting rid of duppage() (thanks charles)
	
	simplifying paging code by getting rid of duppage(). instead,
	fixfault() now always makes a copy of the shared/cached page
	and leaves the cache alone. newpage() uncaches pages as
	neccesary.
	
	thanks charles forsyth for the suggestion.
	
	from http://9fans.net/archive/2014/03/26:
	
	> It isn't needed at all. When a cached page is written, it's trying hard to
	> replace the page in the cache by a new copy,
	> to return the previously cached page. Instead, I copy the cached page and
	> return the copy, which is what it already
	> does in another instance. ...

Hash:	142858b176c3b3a256389e1c700b78ba89e85e69
Author:	aiju <devnull@localhost>
Date:	Sun Mar 2 11:24:07 +0000 2014

	games/nes: SUROM support, subtle NMI timing bug fixed

Hash:	88405371b1bcdc2e03eb7559ff2e993949c9b5a7
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Mar 1 18:36:45 +0000 2014

	merge

Hash:	2e6234da0fbd204134ab0f66964c32a4f71b4a78
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Mar 1 18:35:40 +0000 2014

	pc64: multiboot support

Hash:	111260104893facc7758defcbbba0d1f590e6a46
Author:	aiju <aiju@phicode.de>
Date:	Sat Mar 1 18:23:55 +0000 2014

	merge

Hash:	3d01ec2f25739fb1d01c8ea736de451b6615c3b5
Author:	aiju <devnull@localhost>
Date:	Sat Mar 1 18:23:14 +0000 2014

	games/nes: fix ppu off-by-one and sprite display bug

Hash:	d8035a86f77b7351ebdea9bad0ba77593b84ed76
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Fri Feb 28 05:27:32 +0000 2014

	bcm kernel: add *kernelpercent option for cmdline.txt

Hash:	fd112b949f8843146ba40bc7c95688acc97bd899
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Mar 1 04:50:20 +0000 2014

	pc64: enable pmmc driver

Hash:	bc137696bebeee44424c8500570de67773e43ed5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Feb 28 17:54:56 +0000 2014

	libsec: fix memory leaks in seq_decode() and octet_decode() of asn1 parser

Hash:	6354bd07282ba7c397c563a6039dae65611a6ecd
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Feb 28 01:08:59 +0000 2014

	libsec: skip missing thumbprint files; not an error

Hash:	dd076567a41ad6600b1f332f473567df01083f07
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Feb 28 00:23:11 +0000 2014

	libsec: improve thumbprint code
	
	1) handle errors when loading thumbprint file.
	initThumbprints() now returns nil and sets errstr
	on error. a syntax error in a thumbprint file
	should be reported instead of silently ignored!
	(have to check users)
	
	2) fix memory leak in initThumbprints(); we have to use
	freeThumbprints() instead of free to release crltab.
	
	3) use the actual head entries for thumbprint
	storage in the thumbprints array. most thumbprint
	files are rather sparse.
	
	4) remove private emalloc() function. we shouldnt
	just exit the calling process on allocation error,
	instead handle error properly. this is a library!

Hash:	ff5ac0c5cb11cf2770a44157107abff8536a0edc
Author:	aiju <devnull@localhost>
Date:	Thu Feb 27 18:52:02 +0000 2014

	games/nes: improved time synchronization
	games/gb: added some games/nes improvements

Hash:	c65a3809dade0640fe6247fecb9461515857aec2
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Wed Feb 26 22:22:41 +0000 2014

	add /lib/face/48x48x8/o/openbsd.1

Hash:	99f9a601781d6ff26d09fbedb47a0043fff08323
Author:	mischief <mischief@offblast.org>
Date:	Wed Feb 26 01:37:59 +0000 2014

	libsec: add aes_128_cbc and aes_256_cbc ciphers

Hash:	774ccb19e4a29850f675c339e4ba7f5a8dbb48d8
Author:	mischief <mischief@offblast.org>
Date:	Wed Feb 26 00:57:22 +0000 2014

	devtls: spelling

Hash:	de4db6745e3e33057192ec975f3d51d078479d3e
Author:	mischief <mischief@offblast.org>
Date:	Tue Feb 25 20:48:17 +0000 2014

	libsec: move static sendbuf into TlsConnection and give receive buffer a better name

Hash:	8c658722853537e45a90d2278f79458d2d29c9e2
Author:	glenda <glenda@turku>
Date:	Tue Feb 25 20:05:34 +0000 2014

	scribble(2): quashed false claims of quick-reference decadance.

Hash:	b4d13efc1e19d9ae0f78e2a018f8b994b036ac97
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Feb 25 19:14:08 +0000 2014

	csdial: avoid useless werrstr() call on success (thanks mischief)

Hash:	c4fec93ab9d544a72b189a602103ebed48a9829e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Feb 25 17:51:03 +0000 2014

	python: add buffer length check in sock_recvfrom_into()

Hash:	ec37e34f0735d04ec912fab2d0b95aa40c72f527
Author:	mischief <mischief@offblast.org>
Date:	Tue Feb 25 17:31:58 +0000 2014

	acid: fix errstr syscall data offset for truss library

Hash:	26af562313971137915d65e0ded2dc8c232f7182
Author:	mischief <mischief@offblast.org>
Date:	Mon Feb 24 09:10:40 +0000 2014

	mp(2): spelling

Hash:	28c3c2bea7ac2d7c1b7abee4ac9c2c0435994ba3
Author:	aiju <devnull@localhost>
Date:	Tue Feb 25 08:39:30 +0000 2014

	games/nes: mmc3 chr inversion fixed

Hash:	1df8b3d2c15ae0e8acd4d4f341385d774213d292
Author:	aiju <devnull@localhost>
Date:	Tue Feb 25 22:25:28 +0000 2014

	games/nes: it's too late to write code

Hash:	1a67cd2c4400bc5e0a6f79b2be0b1fc1b324ad64
Author:	aiju <devnull@localhost>
Date:	Tue Feb 25 22:18:26 +0000 2014

	games/nes: fixed reload flags

Hash:	d8489586ecaa1c80a93537f20dcf2a28757f4340
Author:	aiju <aiju@phicode.de>
Date:	Mon Feb 24 21:50:29 +0000 2014

	merge

Hash:	76b51dc816a4e6ad1d21b6b40b8ea32a57bd47a6
Author:	aiju <devnull@localhost>
Date:	Mon Feb 24 21:50:05 +0000 2014

	games/nes: added dmc, fixed envelope, added cnrom

Hash:	5e353e17c6d4410487bc33aaa07fdb3121962c16
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 24 21:45:38 +0000 2014

	acid: add some debugging aid function for counting kernel image cache page refs

Hash:	c29719ce841be56ed8486697433f6059011c63ee
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 24 21:43:21 +0000 2014

	merge

Hash:	521a34d33b85e75013656b3dbb333035ed1d8a41
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 24 21:42:22 +0000 2014

	kernel: keep cached pages continuous at the end of the page list on imagereclaim()
	
	imagereclaim() sabotaged itself by breaking the invariant
	that cached pages are kept at the end of the page list.
	
	once we made a hole of uncached pages, we would stop
	reclaiming cached pages before it as the loop breaks
	once it hits a uncached page. (we iterate backwards from
	the tail to the head of the pagelist until pages have been
	reclaimed or we hit a uncached page).
	
	the solution is to move pages to the head of the pagelist
	after removing them from the image cache.

Hash:	1d1fafc89248be211ec5d2176f4f5f9b6189bdb0
Author:	mischief <mischief@offblast.org>
Date:	Mon Feb 24 21:02:54 +0000 2014

	control(2): spelling

Hash:	60c3c3b3dbf4e1ae03c1a376babec80900c14ecb
Author:	aiju <devnull@localhost>
Date:	Mon Feb 24 18:50:02 +0000 2014

	games/nes: added uxrom (mapper 2)

Hash:	9486df09c2455ee3b22df8507db77e7d7276ad58
Author:	aiju <devnull@localhost>
Date:	Mon Feb 24 18:33:26 +0000 2014

	games/nes: best commit (fixed audio and timing)

Hash:	ad9047ab2cdbdbc5897d799fecacdda98f6cd707
Author:	aiju <devnull@localhost>
Date:	Sun Feb 23 20:46:16 +0000 2014

	games/nes: basic audio support, battery backup, bug fixes

Hash:	f82e3e8657a880cd0bbad9dd370da5069d8fdf04
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Feb 23 17:42:01 +0000 2014

	merge

Hash:	ef1ec09cf748391430b5ec7e230ce4563515a299
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Feb 23 17:40:43 +0000 2014

	pc64: fix mmu leak

Hash:	662fff51f01f1886d52ece8ae55d6d6d422d5a52
Author:	aiju <devnull@localhost>
Date:	Sun Feb 23 10:55:29 +0000 2014

	games/nes: added oflag

Hash:	ca7f016c7b21f7cf418201ba6ae955a9234e4304
Author:	aiju <devnull@localhost>
Date:	Sat Feb 22 19:10:54 +0000 2014

	games/nes: minor ppu improvements

Hash:	88fbe05ee9a178b925d44d02a6c9faf994f0a91f
Author:	aiju <devnull@localhost>
Date:	Sat Feb 22 18:50:31 +0000 2014

	games/nes: mapper 7 fix

Hash:	af8c91cf6d30628c17c7d7cb9733dee9e7488ab0
Author:	aiju <devnull@localhost>
Date:	Sat Feb 22 16:43:15 +0000 2014

	games/nes: mmc3 and bugfixes

Hash:	0201795805f22e3d8d0b347d06c39d934c8b6866
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Sat Feb 22 07:24:37 +0000 2014

	rc-httpd/handlers/serve-static: restore Content-length

Hash:	2bfcea9197d7b18219a7f2dea1a079ec91cf2cc5
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Sat Feb 22 02:06:57 +0000 2014

	games(1): english

Hash:	8593d20b8f019cf9be46a2395ea12408d629ac53
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Feb 22 01:46:46 +0000 2014

	games(1): add some of the new games, not all have full description tho

Hash:	f001c8c8f42c472506eb1d6d335b25fb978a133c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Feb 22 00:11:42 +0000 2014

	add games/nes to mkfile

Hash:	8dcaceb875e681f40563703e1ea6a21fd709f065
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Fri Feb 21 21:14:16 +0000 2014

	fortunes: https://github.com/jfloren/plan9/commit/445b546003d071f3cf3cd6a0133b92397e5c9024

Hash:	b9496190d3ad2d6f2271e277b9914a585911f4db
Author:	aiju <devnull@localhost>
Date:	Fri Feb 21 21:00:34 +0000 2014

	added florenate

Hash:	830a9b59c94cff0e733b20d7094bddf6c7cefc74
Author:	aiju <devnull@localhost>
Date:	Fri Feb 21 19:48:23 +0000 2014

	games/nes: added state saving & bug fixes

Hash:	0181117b5f56341e71f72f1cda37e815853eaacc
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Feb 21 04:32:20 +0000 2014

	fork filter procs with RFREND in various programs

Hash:	fef5c8e4caf7a673e81d733c11e6410f8e427623
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Feb 21 04:29:43 +0000 2014

	aux/listen: rfork with RFREND
	
	child processes handling the connection should be all
	independent of each another and not share rendezvous
	group. the rendezvous group sharing caused a bug in
	exportfs when we switched from using pid to memory
	address as rendezvous tag.

Hash:	40d71baf7f44b17fcf323ebed8b835d86f340e84
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Feb 21 04:23:21 +0000 2014

	exportfs: bring back the changes, bug was due to rendezvous group being shared by listen
	
	exportfs used pid of slave proc as rendezvous tag. when we
	changed it to use Proc* memory address, there where tag
	collisions because listen didnt fork the rendezvous group (bug!).
	
	for now, just do rfork(RFREND) in main just in case.
	
	will fix aux/listen in a follow up changeset.
	
	--
	cinap

Hash:	d7378c10d846ce21ef43271ae4daa8a5e5250d46
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Feb 21 00:03:31 +0000 2014

	merge

Hash:	1281b234e893b2306dbfef442144b75873f2365c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Feb 21 00:02:32 +0000 2014

	exportfs: reverting previous changes
	
	getting strange tag mismatches on some machines. needs
	to be debugged. until then, reverting the change.

Hash:	ce5f4ff03243c6a04568e7abc7108e5526e46687
Author:	aiju <aiju@phicode.de>
Date:	Thu Feb 20 21:14:41 +0000 2014

	merge

Hash:	29491679b891dd50b9921edd05093a71f17403aa
Author:	aiju <devnull@localhost>
Date:	Thu Feb 20 21:13:59 +0000 2014

	games/nes: cleanup and resize handling

Hash:	eeac553c36e1cb1d7786115d7202bfe732deb54e
Author:	aiju <devnull@localhost>
Date:	Thu Feb 20 22:22:14 +0000 2014

	games/nes: bug fixing

Hash:	a6d5f9ccae5c4bbb9bc15c179e78c264a4c5edf2
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Feb 20 17:32:47 +0000 2014

	fix blowfish endianess confusion (thanks erik)
	
	from /n/sources/patch/blowfish/readme:
	
	Blowfish is broken. The order of the bytes in the ciphertext
	is wrong. The problem is the conversion from the ciphertext
	plaintext block to the array of u32int used by the core funcions
	and vice versa.
	
	This code has been tested on big endian and little endian
	machines.
	
	A test program is also included, bftets.c. It uses the
	test vectors of blowfish available at
	https://www.schneier.com/code/vectors.txt

Hash:	9c40e15ba8ae000f73c23d89143d6c44b75220fd
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Feb 18 21:15:06 +0000 2014

	exportfs: fix flush races, proc sweeping

Hash:	152c9d525b58a2ed4ea4daac47438efd835202ce
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 17 18:50:02 +0000 2014

	aux/cpuid: hack for amd64

Hash:	2c5c78425516590e894c9c334182073fcc56a10b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 17 12:25:24 +0000 2014

	prof: properly save and restore RARG for amd64
	
	amd64 passes first argument in RARG (BP) register
	which has the be preserved duing _profin() and
	_profout() calls. to handle this we introduce
	_saveret() and _savearg(). _saveret() returns
	AX, _savearg() returns RARG (BP). for archs other
	and amd64, _saveret() and _savearg() are the
	same function, doing nothing.
	
	restoing works with dummy function:
	
	uintptr
	_restore(uintptr, uintptr ret)
	{
		return ret;
	}
	
	...
	
	ret = _saveret();
	arg = _savearg();
	...
	return _restore(arg, ret);
	
	as we pass arg as the first argument, RARG (BP) is
	restored.

Hash:	87fcb107ef333f5dce7618e0f4c73d69ebc75eb5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Feb 16 20:40:33 +0000 2014

	games/nes: add mapper 7 support

Hash:	cd27c0cca2d72e467c26c78097b059b8e5a74c87
Author:	aap <aap@papnet.eu>
Date:	Sun Feb 16 20:32:14 +0000 2014

	xd: changed -s option to switch to little-endian units

Hash:	1225ebec7181167fbefc5499300260e93c9b5191
Author:	aiju <devnull@localhost>
Date:	Sun Feb 16 19:51:11 +0000 2014

	added games/nes

Hash:	ae41f49f09de058a500a02f4a0fa2b463b8b44de
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Feb 16 18:40:50 +0000 2014

	mothra: remove unused local variables from pl_nextc()

Hash:	3df2b18398544184e78446a9e9e25d5be343cf1c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Feb 16 18:20:57 +0000 2014

	truss: use A instead of X as address format for data dump

Hash:	c44cbf31656fa7a596a4a230c04de36f3c7bb42c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Feb 16 18:08:49 +0000 2014

	truss: fix syscall address formats

Hash:	218e1b4b3ed517f1440065c6c01df7e2b8bcff1e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Feb 16 17:50:30 +0000 2014

	mothra: fix unicode rendering for plaintext
	
	we did the utf-8 to unicode conversion in pl_nextc(),
	but the plaintext handler uses pl_readc() which only
	translates newlines but otherwise returns bytes.
	
	move unicode conversion in pl_readc() fixes it.

Hash:	c54271a588654289596561104a945100adf917c4
Author:	Matthew Veety <mveety@gmail.com>
Date:	Sat Feb 15 22:18:58 +0000 2014

	documented usbwait in plan9.ini(8)

Hash:	e42981dfcfd7451bb8f122c366f024e877c3fab7
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Feb 15 18:57:13 +0000 2014

	factotum/authsrv: fix padding for mschap on amd64, use constants for structure sizes

Hash:	240ba73770ef98cfbbad9eddd6f445bf5cfec166
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Feb 15 15:58:35 +0000 2014

	pc64: fix mistake

Hash:	25189924dbde3852b68adb9ce97cd5ff101ee3fb
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Feb 15 15:43:55 +0000 2014

	pc64: simplify mmuwalk by factoring out mmu page table creation into separate function

Hash:	c6f6396faaf06122e2c242ca0006165fe0c59977
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Feb 15 05:19:25 +0000 2014

	merge

Hash:	ebeb501cff090f028c23dcfea7505b64ff6642fa
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Feb 15 05:17:38 +0000 2014

	pc64: support for vmware PCnet ethernet

Hash:	32604cd830a03c1237cf992b86e9b00499ca7b38
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Feb 15 05:17:05 +0000 2014

	pc64: move VMAP into its own PDP (for vmware)
	
	modifying the kernel pdp (CPU0PDP) hangs vmware. so
	we initialize the pdp with KZERO and KZERO+1GB map
	in l.s and never change it. (except when removing
	the zero double map which seems to work).
	
	VMAP has its own pdp now allowing to map 512GB of
	physical address space. this simplifies the code
	a bit and gives nice virtual addresses.

Hash:	1d64be19849086dc1152ef952b1ab32612e2e94c
Author:	Matthew Veety <mveety@gmail.com>
Date:	Sat Feb 15 03:05:25 +0000 2014

	added in a way to make net.rc wait for the network hardware to come up before running ip/ipconfig. This fixes the issue with the Raspberry Pi where ip/ipconfig tried running prior to /net/etherU3 exists

Hash:	de4aec9fbd6ef88f2e2b61a031d5e04cc2aacccb
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Feb 14 14:20:34 +0000 2014

	libc: remove malloc.acid and pool.acid

Hash:	14770ad1886ca7f86fc4f3f4841c599aa06fe22a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Feb 14 14:01:14 +0000 2014

	page: fix compiler warning

Hash:	82cec6f585257c2030cc3364e4aee13b1d1c312a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Feb 14 13:57:05 +0000 2014

	socksd: close inside udp server one we get a connection (udprelay)

Hash:	81ea3f24fa18e3bd313ff6f3b818908cecc98dcd
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Feb 14 13:21:07 +0000 2014

	cifsd: fix compiler warning

Hash:	fc786401185347576d53e1e5b411d92ada469721
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Feb 14 13:18:09 +0000 2014

	nusb/ether: fix pointer truncation

Hash:	dd4a487b0e1988ba9b61a836a84205a966e40f5a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Feb 14 13:14:17 +0000 2014

	webfs: fix compiler warning

Hash:	80deec0a7b49bd5d51eb1f6552cf5838bcf5d121
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Feb 14 13:12:02 +0000 2014

	ip/torrent: remove unneeded assignment

Hash:	38c35d619570d9873cb2a9ba016c1682edc07365
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Feb 14 13:02:33 +0000 2014

	acid: add semacquire/semrelease/tsemacquire syscalls, handle _seek hack for amd64 (thanks erik)

Hash:	3f9d92c1a83d6b0fdb49d3986ef5a4cd2a892a57
Author:	Matthew Veety <mveety@gmail.com>
Date:	Fri Feb 14 05:11:11 +0000 2014

	similar to my last commit, but combined the two waits for the usb devices. still configurable, but with usbwait. If usbwait is not defined then it defaults to the original 2 seconds.

Hash:	7d73312def268ec9f912161289a2bf622977196f
Author:	mischief <mischief@offblast.org>
Date:	Wed Feb 12 11:02:23 +0000 2014

	pc64: add ahci.h to PCHEADERS so it will be removed on mk clean

Hash:	6edd7255c7fcca8666c78005c567585a115e0d66
Author:	mischief <mischief@offblast.org>
Date:	Wed Feb 12 11:00:12 +0000 2014

	pc64: remove ethermii.h and copy it from pc instead

Hash:	6a12aef885d30830e7067ac621906449a11a401a
Author:	Matthew Veety <mveety@gmail.com>
Date:	Thu Feb 13 02:05:04 +0000 2014

	added pccpu64 for cpuservers. also enabled etherigbe in pc64 and pccpu64

Hash:	b7b68668cff380eb5414aeaa914be11acd87e30c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Feb 12 19:04:07 +0000 2014

	acid: fix acid/network, fix address formats from X to A

Hash:	cd170777496fbf57ed923f8640437464e286a1e1
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Feb 12 18:27:08 +0000 2014

	truss: support for amd64

Hash:	ad38f0eb1cce3ea298b4641af13a070e224f9ade
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Feb 12 17:53:03 +0000 2014

	pool(2): fix ulong -> uintptr

Hash:	872f83cebe6cc9234e9e672ad0408b9f59cf62bd
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 10 03:04:51 +0000 2014

	ramfs: remove mainmem pool limit when called with -u flag

Hash:	7f73792ef957c9592798f409eca2e7a4b6f0561f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 10 01:37:45 +0000 2014

	pc64: limit memory of per processor mmu freelist to 1MB

Hash:	e37ff43eb678d0bf1ba45e957b1f653d1daf3795
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 10 00:53:26 +0000 2014

	acid: remove objchar, prefering foobar.$objtype.acid
	
	acid already sets up objtype for us.

Hash:	c4679d743aa64ff95437a92d17f186eb6758168b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 10 22:12:52 +0000 2014

	pc64: return up in RUSER (BP) for devproc kregs file

Hash:	37de63aec3989dee1061c73ada21fd2e23ceb7e0
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 10 22:10:47 +0000 2014

	cc: emit right acid format for address
	
	we could use 'A' here but then it would require the new acid.

Hash:	de356dd855bb912e40a60592d6292d2066351ffd
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 10 22:07:37 +0000 2014

	acid: update acid libraries for amd64

Hash:	16acf605e21e55e8f0520cf54016bfec5291802e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Feb 9 21:43:09 +0000 2014

	acid: make 'a' and 'A' format to have the same size as mach->szaddr
	
	to make it easier to write portable acid code, we
	introduce 'A' format in the same meaning as in db(1):
	
	A    Print the value of dot in hexadecimal.  Dot is
	     unaffected.
	
	both 'a' (symbolic) and 'A' will both have 64 or 32 bit
	size depending on the mach, so pointer array indexing
	works the same.

Hash:	9bdf602ebbdcfcb4baaeb17499a1f1f6865ddc61
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Feb 9 01:23:33 +0000 2014

	pc64: pass Ureg* argument in BP to userspace note handler

Hash:	9d8f5a14662f6500c21ac4fa0afd083fc9e2467a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Feb 9 00:37:05 +0000 2014

	acid: fix memory corruption due to gc
	
	we cannot call gc() in execute() because it will gc
	anonyous intermediate results which happens when we
	construct a list and the elements are calculated by
	calling a function thru ocall() which calls execute().
	
	also, the _thiscmd symbol; which is used to keep
	a reference to a statement so it wont get garbage
	collected; does not work as yyparse() is recursive
	(include statements).
	
	we add execrec() function which *only* gets called from
	yyparse() when evaluating a statement. it will
	keep a stack on the _thiscmd symbol handling the yyparse()
	recursion.
	
	we also only call gc() in execrec() before calling
	execute(). so execute() will never gc() while evaluating
	a statement which prevents the intermediate results
	from getting collected.

Hash:	6b146c70c2863bf1e9d5c4a35cbd8426c5a161e7
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Feb 8 02:50:41 +0000 2014

	pc64: handle negative file offsets when accessing kernel memory with devproc
	
	file offset is 64 bit signed integer, negative offsets
	are invalid and rejected by the kernel. to still access
	kernel memory on amd64, we unconditionally clear the sign
	bit of the 64 bit offset in libmach and devproc sign
	extends the offset back to a 64 bit address.

Hash:	43212f64320c2e136eb3d4adb5d3e8c31c637386
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Feb 8 02:40:17 +0000 2014

	mtrr: fix mistake

Hash:	7af85b9e74ab055d55ad20ce8dd6d9caf002d525
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Feb 8 01:33:29 +0000 2014

	jpg: center image in screen
	
	when using the jpg(1) programs interactively, draw the
	image in the center of it. this avoids wasting space
	with always on borders on small windows and looks better
	when used in fullscreen.

Hash:	b3df8945bd2512349ae7662843d5bdcf15b3804d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Feb 8 00:01:26 +0000 2014

	reuse mtrr slots with default memory type

Hash:	9c99675c1c02320c7ad74ae525e2449254a0dc8c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Feb 7 23:29:06 +0000 2014

	aux/vga: fix format string error with 6c

Hash:	eaafcf2187fbfb8516fe2c017bba4c349693d367
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Feb 7 23:23:18 +0000 2014

	pc64: bump segment limit to 64GB

Hash:	2b4706b6624bfd0281fce6c384804bb8458dab09
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Feb 7 19:04:19 +0000 2014

	pc64: dont reuse mtrr slots that are above 4GB
	
	we used to override/reuse mtrr slots over 4GB as the
	kernel wasnt able to use that memory. pc64 can.

Hash:	fc7f6f8e99d9db307883448a49a1e3d6243d04cf
Author:	mischief <mischief@offblast.org>
Date:	Fri Feb 7 02:03:17 +0000 2014

	pc64: ensure user pc is never set to a non-canonical address through setregisters
	
	on intel processors, a general protection exception is fired if a non-canonical address is loaded into PC during SYSRET. this will cause the kernel to panic.
	
	see http://www.kb.cert.org/vuls/id/649219 and the intel software developer manual for more information.

Hash:	0fdb1578ef610846a231036d74b65716e75f6927
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Feb 7 22:35:27 +0000 2014

	pc64: fix devcons format strings for memory sizes

Hash:	88cc09a5800b80cf45e81531014ec8e8ba44386d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Feb 7 22:33:34 +0000 2014

	cwfs: limit memsize() to 1GB until pool can handle huge allocations

Hash:	c3917ec566559e0a3565b1d412147c951a6c4fc0
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Feb 7 22:02:56 +0000 2014

	pc64: fix poolsummary() string format

Hash:	e836796365fdcd389aaa0fd7deed34e4f21e7334
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Feb 6 21:47:05 +0000 2014

	pool: use uintptr for pool size
	
	note, arenas and blocks still use ulong for sizes. so
	we have to check for overflow when attempting to merge
	arenas.

Hash:	c065eadb535347661079b93ef4b77739ec40a064
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Feb 6 21:43:33 +0000 2014

	pc64: fix note handling

Hash:	bfbc5ab1970bbf9307e03a42e69b0d55eb92f2ef
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Feb 6 21:41:42 +0000 2014

	pc64: fix kmap()
	
	kmapindex has to be per process, not per mach, as the process
	can be switched to another processor while the mapping is
	established.
	
	to bootstrap the first process, we have to temporarily set up
	so the kmap MMU's can be attached to the process. previously
	we assumed that the first two pages for the initial process
	where below 2GB and could be accessed with KADDR() directly.
	with 16GB machine, all the 2GB above KZERO are dedicated to
	the kernel so the user pages returned by newpage() need to
	be mapped.

Hash:	f029ea1694b4f0f8ec0cc848b936b0122bd17347
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Feb 5 18:52:09 +0000 2014

	have to use NULL instead of nil for ape programs...

Hash:	868a262bb849dcdfbf5be6f15f2942421d5a2223
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Feb 5 18:48:36 +0000 2014

	pc64: dont 4 byte align stack pointer for amd64 in sysexec()

Hash:	c76243e7e59ffdbcc1a7785f2ca6237128569919
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Feb 5 18:25:24 +0000 2014

	fix wrong type for terminating nil argument for execl()
	
	we have to use (void*)0 instead of (int)0 otherwise the
	upper bits are uninitialized on amd64.

Hash:	492958f08e2e9573679973cdd8119b95a57f8889
Author:	mischief <mischief@offblast.org>
Date:	Tue Feb 4 08:16:36 +0000 2014

	libpanel: remove pointless pointer casts

Hash:	8c4a02a29b618a6779447316ec0a47ec1c8f3d33
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Feb 5 07:58:53 +0000 2014

	merge

Hash:	9f99edda55cf95697b109727f89eed6168160119
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Feb 5 07:43:31 +0000 2014

	mothra: better handling of malformed search regex

Hash:	ffcac11a5a1215a831d7a1421ce808a13d56bfc2
Author:	mischief <mischief@offblast.org>
Date:	Wed Feb 5 07:34:19 +0000 2014

	libpanel: fix pointer casts and format strings

Hash:	0b1c655160eab79a8066174c113f2025a83dc14c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Feb 5 07:25:01 +0000 2014

	mothra: dont panic on invalid regular expression in searchbox

Hash:	c6b4b7c0f0d3e0dda5e8bae69ec41a3098043902
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Tue Feb 4 04:55:20 +0000 2014

	/lib/face/48x48x4/.dict: fix typos

Hash:	1eef3731520109c4e17225a7c7de16e33c56e6c8
Author:	mischief <mischief@offblast.org>
Date:	Mon Feb 3 09:22:26 +0000 2014

	pc64: fix up pointer calculations and enable sdvirtio disk driver

Hash:	34f7e4ef9a9e9edafe94317f5e0ec05b6e6477bc
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Feb 4 01:08:26 +0000 2014

	pc64: remove cinaps cga screen interrupt debugger, was experiment...

Hash:	de0712c0b50df4339f6f79dd4e01aa2433c74e0c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Feb 4 01:06:11 +0000 2014

	pc64: dont dump user registers on exception, was experiment...

Hash:	b7be695d5c858054518ed7a2306611f60fa30564
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Feb 4 00:58:17 +0000 2014

	hjfs: fix wrong channel size for syncb (fixes amd64 crash)

Hash:	3f522c745a91dabfa577b4bf1045e58fa436066e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Feb 4 00:09:46 +0000 2014

	doom: port to amd64

Hash:	88505bff06822e2d6313de477874a7a816935ea7
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 3 21:55:45 +0000 2014

	realemu: cleanup opidiv
	
	no need for switch here, just calculate the values. also fixes
	6l warning about uninitialized min/max (compiler assumes none
	of the case statements could match).

Hash:	fefc7b526da85c55d3cad66bfe8b565ac40f78d1
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 3 21:39:07 +0000 2014

	libmach: change mach pgsize back from 4K to 2MB for amd64
	
	the Mach page size is used to calculate segment alignment. its
	not the real effective page size used by the kernel.
	
	this fixes acid.

Hash:	bfbb68a71290a31d373756dc5ca8da54094875bd
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 3 19:14:19 +0000 2014

	ipmux: fix 6c complaints

Hash:	94282847ec07472e4f50966fdc40695d38b87931
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 3 19:06:12 +0000 2014

	merge

Hash:	ccfb6168c802e563944b548869f5884c5e87706e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 3 19:04:43 +0000 2014

	kernel: dont double ptemap size in newseg()
	
	this doubling affects all segment types, not just bss.
	(tho text/data are usually small...)
	
	and theres no telling if the segment will actually
	grow in the future justifying the reduction of memmove
	overhead in ibrk().
	
	some ape programs are approaching the 16mb ssegmap size
	so that code might trigger.
	
	removing the smarts...

Hash:	6a55790197d8eed5b7e020a7b964ae260d0d205b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 3 05:24:31 +0000 2014

	pc/pc64: move common code to pc/devarch.c

Hash:	c3028fb924d4d112293a885733da60e2e9a730f4
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 3 04:29:53 +0000 2014

	pc64: implement shutdown and idlehands
	
	just copies from pc kernel. should refactor into common
	pc code.

Hash:	35d19fc6fbd7f33a36497516ac7b0bc7d516fcc0
Author:	mischief <mischief@offblast.org>
Date:	Sun Feb 2 15:41:56 +0000 2014

	merge

Hash:	d082e3a5ae2a9ceafd5db6f7108af0ba194b8d52
Author:	mischief <mischief@offblast.org>
Date:	Sun Feb 2 15:34:54 +0000 2014

	pc64: enable sdide driver

Hash:	ddd51650d8c9c0d0fb684417728a270ed73b4629
Author:	mischief <mischief@offblast.org>
Date:	Sun Feb 2 11:17:48 +0000 2014

	acid: fix memory leak in fundefs (from 9atom)

Hash:	b5d47d6debac215c652f5842cb1a719ca497d4e6
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 3 02:56:01 +0000 2014

	libdraw: fix typo: 0xfffff -> 0xffff

Hash:	5fd52f62418ffbfcdb31c2519ee071b0d7dc1063
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 3 02:53:18 +0000 2014

	libdraw: work arround devdraw truncating screenid as 16bit

Hash:	f556fd24378aa50136a8b52344a47881eb6a69eb
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Feb 3 02:52:27 +0000 2014

	devdraw: screenid is BGLONG, not BGSHORT

Hash:	bfee76e5d34e893f7af047e6cd4358f5f1fbf428
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Feb 2 17:01:13 +0000 2014

	pc64: track per process kmap page tables in separate MMU list.
	
	we have to keep kmap page tables in ther own list
	because user tables are subject to (virtual) tlb flushing.
	
	we never free kmap page tables except in mmurelease()
	where we just link the kmap mmu list in front of the user
	mmus and call mmufree() which will free all the mmu's
	of the process.

Hash:	b7b3406657ef87fef57c3b639296d5cd33a5c3ae
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Feb 2 15:03:59 +0000 2014

	malloctag: only store lower 32bit of malloc tag, fix getrealloctag
	
	as erik quanstro suggests, theres not much of a point in
	storing the full 64bit pc as one cannot get a code segment
	bigger than 4G and amd64 makes it hard to use a pc that
	isnt 64bit sign extension of 32bit.
	
	instead, we only store ulong (as originally), but sign
	extend back when returning in getmalloctag() and
	getrealloctag().
	
	getrealloctag() used to be broken. its now fixed.

Hash:	0cdb32cc18b953fd22e86ba6fc6e24787f254576
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Feb 2 14:11:19 +0000 2014

	kernel: fix bogus free in sysexec.
	
	we free the wrong pointer in the waserror() block.

Hash:	269788514c9dae931ed6ac537786e56cabe44296
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Feb 2 09:59:05 +0000 2014

	newuser: dont bark when we cannot bind $home/bin/$objtype after /bin, create $home/bin/amd64

Hash:	29eea45931f6ae094bb2be5c82d7ad6641dc1e65
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Feb 2 09:41:51 +0000 2014

	kernel: do not pass user address of fd[2] array to newfd2()
	
	access to user memory can pagefault and newfd2() holds
	fgrp spinlock while writing to it. make temporary copy
	on the stack in syspipe().

Hash:	0b95485db79d3033cacd42038f0cf575e430e066
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Feb 2 08:59:54 +0000 2014

	kernel: use uintptr when appropriate in syssegflush()

Hash:	02fef73b8f09679bcd230d002e748bd945541372
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Feb 2 08:39:58 +0000 2014

	pc64: dont dump registers for user process on pagefault error, was experiment

Hash:	2a4f7a1eb1473067353494a426e6f0ae17a45a08
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Feb 2 08:22:23 +0000 2014

	pc64: no need to flush tlb in kunmap(), was experiment

Hash:	4c97cb34ac516f46772b32c538d759f1463fe4fc
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Feb 2 07:41:13 +0000 2014

	add acid library for amd64

Hash:	db2e22aebe607fafc30c12776aa7efb1169277cd
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Feb 2 07:12:08 +0000 2014

	pc64: fix mmu structure leakage, implement global pool

Hash:	47f551bcea708c32e654ab68d1f15a17d0cdde46
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Feb 2 04:49:30 +0000 2014

	pc64: print only 8 hex chars dumpstack sp/pc
	
	kernel addresses are sign extended to 64 bit. upper bits
	are not really helpfull.

Hash:	a6fd3cc8e3db0a5c813ccbdc76f9d2259ef37941
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Feb 2 04:47:13 +0000 2014

	mallocalign: make sure alignptr offset is modulo align when -offset > align

Hash:	e289fd8ccdfb081f16f02a025e53421aab7f90b7
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Feb 2 04:10:58 +0000 2014

	pc64: fix vmap
	
	VMAP address calculation was all wrong resulting
	in vmaps get mapped into KZERO map.

Hash:	0850718033bb8c4a89628aa08659d1fc573d1491
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Feb 1 19:27:54 +0000 2014

	pc64: enable iahci support

Hash:	03d26f8087326966d827786c648e4e6d24c31d7a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Feb 1 19:26:36 +0000 2014

	cwfs: use pragma pack for on disk structures for amd64

Hash:	42f4cdc3fd3234999ed9dbb76b85b2de00e3dd22
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Feb 1 19:19:06 +0000 2014

	rootstub: create amd64 directories for acme

Hash:	4092bdbb2ebedbcba611aa1143f9526dbf6ca853
Author:	mischief <mischief@offblast.org>
Date:	Sat Feb 1 20:56:59 +0000 2014

	realemu: actually mark 0xE0000 writeable

Hash:	1fe36bf84947198199b0dcf895aedfd584521e84
Author:	mischief <mischief@offblast.org>
Date:	Sat Feb 1 20:27:07 +0000 2014

	realemu: implement IDIV, mark 0xE0000 writeable, fix DIV overfow trap

Hash:	08bb4afb528e91b46ae8eb13277ad51cf8d724ba
Author:	mischief <mischief@offblast.org>
Date:	Sat Feb 1 20:14:30 +0000 2014

	acid: use correct print flags and casts for shorts in fmt

Hash:	abb4bad701e25836ebff6d8c8797710eb2a5ac27
Author:	mischief <mischief@offblast.org>
Date:	Sat Feb 1 20:04:30 +0000 2014

	ip/torrent: print tracker errors/warnings in debug mode and allow setting peerid

Hash:	ed9e9f98e9cc502c72b27c68612e9e187ec11e10
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Feb 1 09:31:41 +0000 2014

	libc and ape support for amd64

Hash:	d4fb753c9c90e0ca745a1b3708ad3ec4ca523e71
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Feb 1 09:30:08 +0000 2014

	rename Ureg.ip to Ureg.pc

Hash:	cc242226726e198a8b958210a4f1dd605f5b570e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Feb 1 09:29:14 +0000 2014

	fixes for new setmalloctag() prototype

Hash:	800669540543c55065be6fb06a86e6be8c79b5fd
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Feb 1 09:28:33 +0000 2014

	gs: amd64 support

Hash:	2dbdfe8ac73be7468e6dacc03ecf64549ed48aba
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Feb 1 09:27:57 +0000 2014

	python: amd64 support

Hash:	56343cafcfb47a4ef3fff0d6a8e3220ecd93518b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Feb 1 09:25:10 +0000 2014

	add experimental pc64 kernel

Hash:	28ad4e661610353efec655fdf147a46e156bf46e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Feb 1 09:23:17 +0000 2014

	pc kernel: split mpstartap() and squidboy into separate file... stuff for amd64

Hash:	06bc19c28f3bd1528f669626eb9826226decabd9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Feb 1 09:20:43 +0000 2014

	kernel: usb fixes for amd64

Hash:	dcea714680fd6836380ea2b190e3b61b8323ab22
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Feb 1 09:17:53 +0000 2014

	kernel: fix pointer truncation in xspanalloc(), fix format prints

Hash:	7613608b23211a418cfe7404dbe2fcb3ee8b0cd7
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Feb 1 09:16:55 +0000 2014

	kernel: handle amd64 40 byte headers in exec()

Hash:	88476df5416ba346c060727d38b9bc35c5f70015
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Feb 1 09:14:41 +0000 2014

	vesa: explicitely use /386/include/ureg.h

Hash:	090fd6ec0cf1c2cb48d826058b3b8208f22128b5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Feb 1 08:55:34 +0000 2014

	libmach: pc64 uses 4K pages, IP -> PC

Hash:	9a5234031355acf4c6fec449f56136ad1300d71a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Feb 1 08:54:09 +0000 2014

	libmemdraw: apply erik quanstros fix for sign preserving in byteaddr()

Hash:	d77455ab2ddfbb74917f98a3344c47403b0461e8
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Feb 1 08:53:08 +0000 2014

	libdraw: use pid as initial screenid so one can have more than 25 windows.

Hash:	010af9ba12213ccaf92a1d863dc1c971185ff7fb
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Feb 1 08:52:06 +0000 2014

	6l: fix warning, setmalloctag declaration, missing header type cases

Hash:	bbe6fe51b3151cb87d26db2c28c043f29d473e56
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Wed Jan 22 06:20:40 +0000 2014

	/lib/face: add some new faces

Hash:	0efcfcc60ca6d1d99bdea89efc6c1ffcc5df3d3d
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Wed Jan 22 06:19:50 +0000 2014

	fortunes: undelete

Hash:	ca7c413ff10f811addaf7d69b2f3864a41023a8c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Jan 22 19:12:19 +0000 2014

	sdiahci: fix hardcoded 512 byte sector size

Hash:	520957e254c430b4f8c94495d3c29306fab9ea44
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Jan 21 21:12:25 +0000 2014

	kernel: fix ulong abuse in xalloc

Hash:	ebfb4fdf2937bd9fc939ac85fdfc416e7fa7776d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jan 20 02:17:55 +0000 2014

	kernel: convert putmmu() to uintptr for va and pa

Hash:	ad1eefb3556354b0fdf58faa3b4f5498d99a1f23
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jan 20 01:16:42 +0000 2014

	kernel: various cleanups

Hash:	cb0393181a80a9967c52ae73f07388d1f53666f7
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jan 19 23:54:36 +0000 2014

	malloc(2): update alloctag types

Hash:	6c2e983d328874ea41cb35bacb510bf2709a229f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jan 19 23:47:55 +0000 2014

	kernel: apply uintptr for ulong when a pointer is stored
	
	this change is in preparation for amd64. the systab calling
	convention was also changed to return uintptr (as segattach
	returns a pointer) and the arguments are now passed as
	va_list which handles amd64 arguments properly (all arguments
	are passed in 64bit quantities on the stack, tho the upper
	part will not be initialized when the element is smaller
	than 8 bytes).
	
	this is partial. xalloc needs to be converted in the future.

Hash:	b99ecee6cd8c7c9fce1ff2cfa56d5a6807a0fc7c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jan 19 23:09:53 +0000 2014

	malloc: change malloc and realloc tag types to uintptr

Hash:	43ae5531953f65860c5c6e72ac5218aa3a235bbf
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jan 19 23:05:19 +0000 2014

	ape: remove local copy of memccpy()

Hash:	8a72dc1c6b13edf36cc2bc349bb40688ffe0a6a2
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jan 19 02:32:50 +0000 2014

	kernel: fix declaration of getcallerpc()

Hash:	ba787cc587803e3dfe400755c4fa2fa04701dd53
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jan 19 02:29:52 +0000 2014

	kernel: replace BY2WD in scanline width calculation to sizeof(ulong) like libmemdraw

Hash:	02a2eb6676d3dbdaea5e5339b32bfa4c9d321175
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jan 17 20:09:17 +0000 2014

	libmach: fix wrong operand order of MOVLQSX instruction disassembly

Hash:	7e1b43a53a6089b2f01aef8a176abb922a2400d0
Author:	aap <aap@papnet.eu>
Date:	Fri Jan 17 18:15:24 +0000 2014

	Corrected some man pages.

Hash:	79e8f53e89d83805784bd2a8832cddc4bc0de608
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jan 13 23:22:13 +0000 2014

	devdraw: fix memory corruption reading draw ctl file
	
	when user does read of exactly 12*12 bytes on draw
	ctl file, the snprint() adds one more \0 byte writing
	beyond the user buffer and corrupting memory.
	
	fix this by not snprint()ing the final space and add
	it manually.

Hash:	265b392e0111e5927a205522d2e257aff495db01
Author:	mischief <mischief@offblast.org>
Date:	Tue Jan 14 02:06:58 +0000 2014

	merge

Hash:	05988448945646b95abd7cc1ceb41a0a7dbcc057
Author:	mischief <mischief@offblast.org>
Date:	Tue Jan 14 01:57:45 +0000 2014

	hpost: fix Content-Type parameter separator for multipart/form-data POSTs

Hash:	0c6a90484c1737ddeb7baf4de60e1d5e65f57529
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Sun Jan 12 18:00:02 +0000 2014

	add /lib/uriel; delete fortunes

Hash:	aeb49aca9efeb5c2158a48941e042e1b05ee2370
Author:	Matthew Veety <mveety@gmail.com>
Date:	Sun Jan 12 16:00:38 +0000 2014

	added a segment for segattach(2) that gives access to the raspberry pi's gpio header.

Hash:	a5525457bdde5ac519859b0a8f72eba6144a0230
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jan 12 11:08:10 +0000 2014

	etheryuk: fix lockups (thanks burnzez for testing)
	
	according to a comment in linux driver, reading Isrc2
	register caused interrupts to be disabled. we used
	to read Isrc2 in ifstat() and it was confirmed that
	reading ifstat locks up ethernet. removing the Isrc2
	read in ifstats, and also reenable interrupts after
	reading Isrc2 when the interrupt was not for us.
	(this is from the linux driver)
	
	in replenish(), set ring software write pointer (Sring.wp)
	*before* the hardware write index register. otherwise
	rx() could get status notification for completed
	receive but wont find the rx descriptor in the ring.
	
	handle uint wrap arround when calculating ring fill
	count and remaining count.

Hash:	5d9f0ed3264201bf367edd7cb02366ed0b483d9a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jan 11 15:07:35 +0000 2014

	netif: fix wrong qid in 3rd level stats/ifstats files (thanks burnzez)
	
	the stats and ifstats files in the 3rd level of a netif
	are not per connection, but for the interface.
	
	this made fstat fail for /net/ether0/N/*stats where N > 0
	as the NETID() bits in the qid didnt compare.

Hash:	6a83facfb3f64f579847166af0321370e4062f9d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jan 11 09:46:07 +0000 2014

	rio: properly handle initial wrap arround in wlook()

Hash:	7c503e6f49b140a99535c317092cc2f32d2a7140
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Jan 11 09:14:35 +0000 2014

	rio: implement "look" (thanks lf94)

Hash:	784e6ff8cd431e80800e0d7b0a4c5f3b385d8d89
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jan 10 14:12:28 +0000 2014

	kernel: fix fairshare formula in comment (thanks erik)

Hash:	fc88896fc1f7a1849e8f4e8c372b1e06ea836384
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jan 10 13:51:29 +0000 2014

	mixfs: make mixbuffer addition atomic
	
	serialize mixing with spinlock to make the addition
	on the mixbuffer samples atomic.

Hash:	f4550c4d6ae277a5ee96fac110fdd306b3e3ac40
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jan 10 00:20:24 +0000 2014

	merge

Hash:	aa8f8d866b54d5fd396d146e4f95b3c003d37602
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jan 10 00:19:14 +0000 2014

	libdraw: cleanup string() and stringwidth()
	
	getting rid of the goto at the end of the while
	loop by moving the if(subfontnae) case before
	the cachechars() call.

Hash:	a872d5241e19adb48126578f66103a334843c4e8
Author:	mischief <mischief@offblast.org>
Date:	Thu Jan 9 05:32:27 +0000 2014

	winwatch: this is not about sanity. rows might be negative

Hash:	8319457a10fd0bbd61866c56f5e5af4521d28fe8
Author:	mischief <mischief@offblast.org>
Date:	Thu Jan 9 04:52:40 +0000 2014

	winwatch: prevent divide by zero if the window height is too small

Hash:	ce2487c3ccbad19322a38783e5af0ea398fc4243
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Jan 7 01:57:39 +0000 2014

	mothra: remove version

Hash:	720967f9849b63881ee705ab597975db1e628b33
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Jan 7 01:24:16 +0000 2014

	libframe: fix _frcanfit() for zero width runes, simplify chopframe()

Hash:	ee4ddd77f70132904f3c9cedb38540b336c68f70
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Mon Jan 6 19:55:42 +0000 2014

	weather: trim garbage from output

Hash:	cae41c18ff33f0dc1179fda611fb46c21b5fc6e3
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jan 6 02:56:45 +0000 2014

	libframe: avoid _frcanfit() call in frdelete()
	
	no need to calculate number of runes to fit in
	box when box contains no runes.

Hash:	e3b49509662cc1da997db4113b743d477a9e1ac0
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Jan 6 02:49:14 +0000 2014

	libdraw: fix stringwidth problems
	
	cachechars() used to skip over characters on its own when
	loadchar() could not find the character or a PJW replacement.
	this resulted in wrong width calculation. now we just return
	and handle the case inside _string and _stringwidth.
	
	fix subfont leak in stringwidth()
	
	remove annoying prints in stringwidth()

Hash:	b7ab1354e3fdf32d2a587de00b4b324779b34b20
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jan 5 01:39:23 +0000 2014

	merge

Hash:	f912e018548a1977d849016dca29f9d64cae4f47
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Jan 5 01:37:42 +0000 2014

	rio: make scrollwheel handling consistent with sam
	
	scrollwheel now works proportional to y mouse position.
	special case is when shift is hold down. then scrollwheel
	will work like before and scroll one line up or down.

Hash:	473e97869fd5c0e2f7d4bb61a81c6a1cc7686622
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Sat Jan 4 18:13:38 +0000 2014

	fortunes: This is Go.

Hash:	536423eba6eab6fc8b47b49fb6e25bf38168ffe7
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jan 3 21:53:21 +0000 2014

	9fs: add atom and atomdump (fix the mount spec)

Hash:	e05d1008041c8160ab6fca9f3153007b05dfe305
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jan 3 21:25:55 +0000 2014

	9fs: add atom alias for atom.9atom.org

Hash:	6929f0a986a919aa1280ae8e79745d475f5b770c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jan 3 01:16:18 +0000 2014

	kernel: simplify procalarm()

Hash:	8ebe3f680e9f343a13bfcaaa2e17745b701ec0c8
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Jan 3 00:40:17 +0000 2014

	alarm: skip timed out alarms when inserting in procalarm() (thanks erik)
	
	from erik quanstros 9fans post:
	
	i think the list insertion code needs a single-read
	test that f->alarm != 0. to prevent the 0 from
	acting like a fencepost.  e.g. trying to insert -10 into
	list -40 -30 0 -20.
	
		if(alarms.head) {
			l = &alarms.head;
			for(f = *l; f; f = f->palarm) {
	>>			fw = f->alarm;
	>>			if(fw != 0 && (long)(fw - when) >= 0) {
					up->palarm = f;
					*l = up;
					goto done;
				}
				l = &f->palarm;
			}
			*l = up;
		}

Hash:	d1be5e163c98c99b3b610dc5f4715455d506ba22
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jan 2 10:07:06 +0000 2014

	ps2mouse: retry disable packet streaming command 0xf5
	
	disabling mouse packet streaming command 0xf5 can fail
	when a packet is currently transmitted.
	
	this can be seen when one moves the mouse while running:
	
	while(){echo accelerated >/dev/mousectl; sleep 0.5}

Hash:	e56affb840a369ccca365ce6f0c83a55b99224bc
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Jan 2 06:44:17 +0000 2014

	ps2mouse: disable packet streaming during reprogramming
	
	sometimes, ps2 mouse setup failed on thinkpads during boot. disabling
	packet streaming while we program the mouse seems to fix the issue.

Hash:	0e242236bada9266fb4d71912edad87c099ba96f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Jan 1 06:41:06 +0000 2014

	merge

Hash:	1a02a458839fd85ff58856a666918db1d111adec
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Jan 1 06:39:17 +0000 2014

	kernel: nil check, exited procs handling in postnote()
	
	make sure not to dereference Proc* nil pointer. this can potentially
	happen from devip which has code like:
	
		if(er->read4p)
			postnote(er->read4p, 1, "unbind", 0);
	
	the process it is about to kill can zero er->read4p at any time,
	so there is the possibility of the condition to be true and then
	er->read4p becoming nil.
	
	check if the process has already exited (p->pid == 0) in postnote()
	under p->debug qlock.

Hash:	18a50d04ac1587ad8119feffcc1fa9f7b9b90c6d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Jan 1 05:44:48 +0000 2014

	proc(3): the args file is writable, not read only (thanks qrstuv)

Hash:	9a98f28f1e7a4960fcc24e12317265250795d99b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Jan 1 04:16:41 +0000 2014

	kernel: remove error label in pgrpnote() arround postnote
	
	postnote does not raise error, so the error label is not
	neccesary.

Hash:	f481ac716d3fd3320ddf0672b395cf374a41a1dd
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Jan 1 04:14:38 +0000 2014

	kernel: fix alarm postnote race
	
	when alarmkproc is commited to send the alarm note to the process,
	the process might have exited already, or worse, being reused for
	another process. pexit() zeros p->alarm at the beginning, but the
	kalarmproc() might read p->alarm before pexit() zeroed it, decide
	to send the note, then get preempted and pexit() releases the proc.
	once kalarmproc() is resumed, the proc might be already something
	different and we send the note to the wrong thing.
	
	we now check p->alarm under the debug qlock. that way, pexit()
	cannot make progress while we test the condition.
	
	remove the error label arround postnote(). postnote does not raise
	error.

Hash:	0feb6e06af1e48c2b1a937c6a593fceeafd728d2
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Dec 31 11:23:55 +0000 2013

	devproc: fix noteid permission checks for none
	
	make sure noteid is valid (>0).
	
	prohibit changing note group of kernel processes. this is also
	checked for in pgrpnote().
	
	prevent "none" user from changing its note group to another "none"
	sessions. this would allow him to send notes other none processes
	other than its own.

Hash:	00ff4beaa76fb3dde4d1222408d1308f4077dde1
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Dec 31 06:29:55 +0000 2013

	kernel: check for error label stack underflow in nexterror()

Hash:	02d22e158d8deb898801e5221f84885cd99fbfed
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Tue Dec 31 05:52:52 +0000 2013

	mothra: mouse scrollwheel behave the same as in sam

Hash:	50bda3d5225190cd8e2b3c7ce7aa3c1ea1759e40
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Dec 31 03:41:51 +0000 2013

	kernel: halt idle processors on mp system by default (from sources)
	
	one can add:
	
	int idle_spin = 1;
	
	in the kernel configuration to enable the old behaviour. see the
	comment at idlehands().

Hash:	4c8cfe7284b13c8b445cf278c319cad716bdbbea
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Dec 29 06:50:58 +0000 2013

	kernel: remove unused debug cprint() function from port/cache.c
	
	the cache can be inspected more easily with acid kernel library.

Hash:	42074003ca31dea9589012fe3e235e4ddec5be1f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Dec 29 06:48:19 +0000 2013

	kernel: dont call pprint() while holding up->debug qlock
	
	pprint() might block or even (maliciously) call into
	devproc write which will corrupt the qlock chain on attempt
	to qlock up->debug again.

Hash:	afc2d547e18381ce2dd0f69f0e88860d49b7e54f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Dec 29 05:11:18 +0000 2013

	kernel: make sure user text, data and bss wont overlap the stack segment in sysexec()

Hash:	8cef1794d6a092e72482bcb4927fced3b7b75d2a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Dec 28 20:48:53 +0000 2013

	mothra: add regular expression text search (thanks mischief, sl)
	
	this works differently from mischiefs original patch. instead of
	overloading the address bar, we popup our own enter box. the
	function can be invoked from the menu or by hitting ^F.

Hash:	59d8c24f585f8460c3ca20e9d34ea0268ada993f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Dec 28 05:49:51 +0000 2013

	page: fix page bookmarks for epub files

Hash:	7143b286b7b57eed2b49ba143dcae90be3716b0e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Dec 28 04:14:10 +0000 2013

	ape: move strdup() from libbsd to libap (from sources)
	
	including <string.h> should be enougth to make strdup()
	available.

Hash:	4aa68d2f3a10b81fecc27550c9e1bb05b7b74887
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Fri Dec 27 21:42:36 +0000 2013

	cifs(4): replace with correct version

Hash:	066ef283907b39c4db3c06224665a70b46fc2738
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Fri Dec 27 21:32:37 +0000 2013

	cifs(4), cifsd(8): add HISTORY

Hash:	459f018d0d754aa69e9e7f625ceea55283537c8c
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Fri Dec 27 21:22:05 +0000 2013

	add HISTORY to various man pages

Hash:	7d9ae4883d7b2b5d8bb840ba8a23f0fd6e59663e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Dec 27 19:39:56 +0000 2013

	audio/mixfs: implement Tstat to obtain buffer size, better underrun handling

Hash:	9c4ca0a51c6fa9977fbd1ca3a63c8689469573bb
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Thu Dec 26 21:22:23 +0000 2013

	audio(1): add pcmconv to HISTORY

Hash:	5ff9c61b90da13fe5ce94a6dc01212b51871da4e
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Thu Dec 26 21:11:05 +0000 2013

	fortunes: That's a video card, Blake.

Hash:	88f45cef4fc56cde87de275dfc7a564244fbcb24
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Thu Dec 26 21:07:01 +0000 2013

	audio(3): fix spelling

Hash:	c45123d623775702b396ca4ffae40a26c4ecbcea
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Thu Dec 26 21:06:37 +0000 2013

	audio(1): add HISTORY, fix spelling

Hash:	b9bec46b989577209c88a8dc8ee8bb171f8c96e4
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Dec 26 20:04:25 +0000 2013

	add audio/mixfs to allow simultanious playback streams over a single /dev/audio

Hash:	cad92eedd9d2eca65216046e3ad735fd18c933e7
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Dec 25 19:09:00 +0000 2013

	json(2): fix out of order SOURCE heading

Hash:	bb4aba830bc467f578a42ac373a82c5d9bd1b610
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Dec 25 15:52:55 +0000 2013

	devmouse: exclude sroll-wheel buttons from differential button handling
	
	preventing wheel buttons 4 and 5 fron getting stuck
	with multiple input devices.

Hash:	3e8764aef1a7d8b9a107b272c3bf83cbf75a01da
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Dec 25 14:00:39 +0000 2013

	acid leak: remove arena pointer a < 0xff000000 check
	
	in the kernel, area can lie above 0xff000000

Hash:	3f9867c4ce56e7bd60d5518ee85e93cebfb63c0c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Dec 25 13:55:16 +0000 2013

	devdraw: fix drawdelname() string memory leak

Hash:	221129dc3006f398b2c0c34f4f42cf9a17ec89cb
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Dec 25 00:30:43 +0000 2013

	window: fix various problems, cleanup
	
	with window -m, properly remove the old wsys from /dev before
	binding new window to it, so the original window wont leak
	into the new namespace.
	
	do not pass -pid when $wsys does not refer to a local running rio.
	
	cleanup environment before running sub-process.
	
	set window label consistentently no matter if -m is used or not.

Hash:	1059da0066ca72d818b2f6d5803977e48bcd9a9e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Dec 23 14:38:52 +0000 2013

	page: scrollwheel, better backwards scrolling, fix blit bug when page was translated offscreen

Hash:	9e021d9230cadbb1dea88694494bf3f8bec9fe02
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Sun Dec 22 19:56:04 +0000 2013

	/sys/lib/plumb/basic: add commas to some rules for file names that will frequently contain commas

Hash:	66f86d03a511dd145e0be08619a09cdd712a89c0
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Dec 22 16:26:31 +0000 2013

	fshalt: rfork n to avoid limbo namespace when the command fails

Hash:	5fbc2ea9cebe4c4b1ab944a6d17efc73e0a8982c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Dec 21 17:06:24 +0000 2013

	merge

Hash:	5dae7fcc68a3cfca3f2bef5a07702659a0b0eb62
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Dec 21 17:04:50 +0000 2013

	add plumbing rules for page bookmarks and audio playback

Hash:	48d2f14f803354951c09e1ff04aeab4bed16bf38
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Dec 21 17:04:14 +0000 2013

	page: implement bookmarks (thanks trav_ for starting it)
	
	add new functions pageaddr() that returns a string describing
	the page to be loaded. it is in the form of:
	
	/path/to/file!pagename!subpage!....
	
	one can jump to such a page by calling trywalk(name, addr)
	where name and addr get concatinated with ! to form a page
	address and then the currently loaded pages are walked up
	to the nearest page which is then returned. (or nil when
	not found). the remaining address will be set in the global
	pagewalk variable.
	
	once pages get loaded (asynchronously), pagewalk1() gets
	called again on addpage() and continues the walking up to the
	last page.
	
	new program flag -j <addr> was added to jump to a page on
	startup.
	
	page address (without filename) can also be supplied in
	plumb message with the "addr" attribute.

Hash:	190653f0490801a26123186b2fb4e2ee6f02fab7
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Thu Dec 19 20:08:28 +0000 2013

	fortunes: What an amazing year for the Web.

Hash:	9b03130bb9b8e8d494021c531ce665e4daba2f75
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Thu Dec 19 19:59:50 +0000 2013

	json(2): fix spelling error

Hash:	803bc88a5f3f5835bc57fdeb8f2f96c9a8ce5ab3
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Dec 19 18:56:04 +0000 2013

	add medium to low quality json(2) manual page

Hash:	56300f72e8cd3d7c8dcf75173cb0234c22196c37
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Dec 19 17:12:16 +0000 2013

	rio: dont consider shell characters as part of the filename for auto completion
	
	rio looks backwards in the line for the beginning of a filename
	that needs to be completed with ^F. this change makes the
	characters: =, ^, ( and { stoppers, so filename completion
	will work in all these cases:
	
	foobar=/foo/ba^F; for(i in (fo^F ba^F)){/bin/baz^F
	
	this means completion will not work for prefixes having these
	special characters in them.
	
	thanks to burnzez for bringing it up.

Hash:	0866d65f8ea7d43329659cc22e38970541946ea3
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Tue Dec 17 14:40:12 +0000 2013

	acid leak: handle ALIGN_MAGIC padding of skip area for mallocalign()
	
	the alloc and realloc tag words do not start at the beginning of
	a block created by mallocalign(). instead, the block is padded
	with ALIGN_MAGIC.

Hash:	65f426c0bd4f2e4832364e2e54b440848c743b76
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Tue Dec 17 14:32:48 +0000 2013

	pool: update debug log format string for poolallocalign()

Hash:	6e2bea734bd0d0a6e4aef478d89451d88455c7d1
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Dec 17 11:48:17 +0000 2013

	devether: fix spelling mistype

Hash:	f3f89e03ed0b8e48769596241939adf929bd345e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Dec 16 20:47:06 +0000 2013

	ether82598, ether82563: remove packblock() avoidance hack

Hash:	ce5f9d8210ff630d24bfc5f392b96964c891673e
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Dec 16 20:39:22 +0000 2013

	etheryuk: fix problems with yukon2 ep+ rev0, deoptimize

Hash:	ea6fea596b67dea542e7a1994b10473228118400
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Dec 16 18:19:15 +0000 2013

	devether: remove qfull prints and fix loopback packet handling of etheroq()
	
	dont spam the console with qfull warnings. this makes things worse.
	
	handle loopback packets as stated in the comment. we call etheriq()
	with fromwire=1 for loopback packets so etheriq() can pass the packet
	on (without copying) or free it. dont inhibit interrupts while calling
	etheriq(). etheriq() can safely be called from process and interrupt
	context. it is unclear what this was supposed to fix and testing didnt
	seem to have any odd effects.

Hash:	6946118644bc1d18e99de13b4a93b2026e3560a4
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Dec 16 09:06:34 +0000 2013

	devssl: use parsecmd() to process control message to get rid of 128 byte stack buffer limit
	
	 (11:02:29 PM) me: why is buf in /sys/src/9/port/devssl.c:/^sslwrite only 128 bytes?
	 (11:02:58 PM) me: it makes it so you can't use a 128 bytes secret as negotiated by infauth in a secretin or secretout ctl message
	 (11:03:30 PM) me: which in turn means you can't use such a secret with pushssl(2)
	 (11:06:15 PM) me: inferno's sslwrite is limited to 32 bytes, but its ssl library writes to the secret files instead of to the ctl file
	 (11:08:50 PM) mischief: what should it be instead of 128 bytes
	 (11:08:58 PM) me: larger
	 (11:09:16 PM) mischief: how about 129 bytes?
	 (11:09:59 PM) me: also broken in 9front, by the way
	 (11:15:14 PM) me: i guess it should be replaced with parsecmd

Hash:	35484945e2f782fe312fcae4f0269b80c4184367
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Dec 15 06:49:53 +0000 2013

	exportfs: get rid of limits, cleanup
	
	get rid of the service buffer limit. keep service buffers
	on a global freelist protected by lock.
	
	dont fatal when we hit the process limit. instead, just
	abort the rpc with an error.
	
	handle rendezvous() interrupts.

Hash:	7d001bd2b29859744630f8743ce76ba873d66d88
Author:	Matthew Veety <mveety@gmail.com>
Date:	Fri Dec 13 07:24:15 +0000 2013

	god damn it forgot fucking fns.h from my last commit

Hash:	9c52f4d9d453e1fa4511478dcb09af03e4c37dfb
Author:	Matthew Veety <mveety@gmail.com>
Date:	Fri Dec 13 07:20:29 +0000 2013

	Added in /dev/cputemp for bcm kernel (Thanks Krystian!)

Hash:	91e9d7466fbd23618c113672f0b379d63cf16f29
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Dec 11 05:48:02 +0000 2013

	cifs(4): fix documentation for -d flag

Hash:	3c8db40def613d036715a092eafb6ef7be22928a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Dec 11 04:48:48 +0000 2013

	factotum: add ntlmv2 (mschap2) client auth for cifs

Hash:	71dbddef166f855e28dfae1989ddbd663d38176a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Dec 9 02:35:01 +0000 2013

	draw: fix drawing of replicated source image on memlayer with a clip rectangle
	
	when a replicated source image with a clipr with clipr.min > Pt(0, 0),
	drawclip() would properly translate the src->clipr on the dstr
	but then clamp the source rectangle back on src->r.
	
	while traversing down multiple layers, this would cause the translation to
	be applied multiple times to the dst rectangle giving the wrong image result.
	
	this change adds a new drawclipnorepl() function that avoids the clamping
	of source and mask rectangles to src->r and mask->r. this is then used in
	libmemlayer.
	
	the final memimagedraw() call will call drawclip() which will do the final
	claming.
	
	a testcase is provided:
	
	#include <u.h>
	#include <libc.h>
	#include <draw.h>
	
	Image *blue;
	Image *red;
	
	void
	main(int, char *argv[])
	{
		Image *i;
	
		if(initdraw(nil, nil, argv[0]) < 0)
			sysfatal("initdraw: %r");
		i = allocimage(display, screen->r, screen->chan, 1, DWhite);
	
		red = allocimage(display, Rect(0,0,1,1), screen->chan, 1, DRed);
		blue = allocimage(display, Rect(0,0,1,1), screen->chan, 1, DPaleblue);
		replclipr(red, 1, Rect(10, 10, 110, 110));
		replclipr(blue, 1, Rect(11, 11, 111, 111));
	
		/* draw on non-layer, works correctly */
		draw(i, i->r, red, nil, ZP);
		draw(i, i->r, blue, nil, ZP);
		draw(screen, screen->r, i, nil, i->r.min);
		flushimage(display, 1);
	
		/* draw on (screen) layer is too far to the right */
		draw(screen, screen->r, red, nil, ZP);
		draw(screen, screen->r, blue, nil, ZP);
		flushimage(display, 1);
	
		for(;;){
			sleep(1000);
		}
	}

Hash:	193e55b88cec346a4c3f301057aef692a859b642
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Dec 8 07:38:44 +0000 2013

	cifs: fix compiler warning

Hash:	007520e3fef2c12a2ee7844d1ac016668a804132
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Dec 8 07:34:31 +0000 2013

	handle NIL user domain, and Z(4) at end of nt blob for ntlmv2
	
	the nt blob ends with 4 zero bytes, this is not the same as
	the EOL av-pair terminator!
	
	this makes ntlmv2 work with windows xp with LmCompatibityLevel = 3

Hash:	c940e986302d16d6e09d61c908d45730b3873766
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Dec 8 01:22:12 +0000 2013

	experimental ntlmv2 server authenticaion support for cifsd
	
	extending factotums and the auth servers mschap implementation
	to handle variable length NT response for NTLMv2.
	
	fix some minor bugs.
	
	only tested with cifs so far.

Hash:	d7f90a909637fcf12f564fa65b53a1416bef1f6c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Dec 7 07:25:26 +0000 2013

	kernel: simplify pexit(), avoid making wait record for RFNOWAIT (parentless) procs
	
	replaced the p->pid != 0 check with up->parentpid != 0 so
	p->pid == up->parentpid is never true for p->pid == 0.
	
	avoid allocating the wait records when up->parentpid == 0.

Hash:	77611280935dfbd7b976fd9340bf8593bf4320f1
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Dec 7 06:17:32 +0000 2013

	devproc: make sure /proc/n/wait waits for the right process children
	
	theres a race when we wait for a process children and that
	process exits before we sleep().

Hash:	4fd55abb8e6dc11b257699cbd095fa5ef60e1ece
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Dec 7 04:38:31 +0000 2013

	kernel: fix pexit() Waitmsg memory leak.
	
	when a process got forked with RFNOWAIT, its p->parent will still
	point to the parent process, but its p->parentpid == 0.
	
	this causes the "parent still alive" check in pexit to get confused
	as it only checked p->pid == up->parentpid. this condition is *TRUE*
	in the case of RFNOWAIT when the parent process is actually dead
	(p->pid == 0) so we attached the wait structure to the dead parent
	leaking the memory.

Hash:	e2da074d284df467443612e7187855b7cf373097
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Dec 6 23:53:01 +0000 2013

	gif: remove warning when animated gif is rendered to bitmap

Hash:	66cc2fa96036398b10bc8def293bb5759bbbabe4
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Dec 6 23:51:19 +0000 2013

	mothra: remove debug code, dont create $home/lib/mothra/mothra.err file

Hash:	a989f89f3e15bae969c764114a256237c3538672
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Fri Dec 6 14:43:52 +0000 2013

	etheriwl.c: add did 4232 for intel wifi link 5100 (thanks, hmr)

Hash:	6e1c833585a78e534a0b4a7c990faba7d4dcdd45
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Dec 6 04:03:35 +0000 2013

	libthread: avoid calling thread waiting for fork/execed process to finish if we dont have to
	
	we do not need to wait for fork/execed program to finish when
	not collecting waitmsg. this reduces the number of rio
	processes hanging arround for each window shell just waiting
	for it to terminate and then dumping the waitmsg.

Hash:	f6887b0a3c0a18c59721ea5a006a1c31b3604591
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Dec 5 21:43:44 +0000 2013

	telnet: simplify previous change by moving the notkbd check into consctlcmd()

Hash:	5c000bbe6378de33b55080bcc8be1cfb907c2d22
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Dec 5 21:39:43 +0000 2013

	cpu: add -n flag for the remote site to allow "none" authentification method (inspired from sources cpu-noauth patch)

Hash:	919863dab3490b624fdb6197566cf9e3b5980c2a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Dec 5 21:05:57 +0000 2013

	telnet: disable changing raw mode when a pipe was being used (from sources telnet-notkbd patch)
	
	This patch corrects a minor problem with telnet when using
	the notkbd option (-n).

Hash:	ad3ba8838d82267cbafa5d293b86e2eef41fa9c5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Nov 28 22:47:49 +0000 2013

	ndb/dns: check bad name length in convM2DNS.c:^gname()

Hash:	b77eda8fc739976e6894186f9610f2c955a2fe01
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Thu Nov 28 22:06:03 +0000 2013

	u9fs: fix misuse of Fcall.afid in p9any authentication module. (from sources patch/u9fs-afid)
	
	U9fs(4) misuses Fcall.afid in its p9any authentication module.
	
	The afid field of Fcall structure is only valid with Tauth or Tattach.
	Tread, Twrite, Tclunk should use rx->fid instead.  It's been lucky so
	far to get the job done because rx->afid survives from previous
	Tauth/Tattach.  The issue pops up when several authentications happen
	concurrently.
	
	Test case:
		u9fs = 'host with u9fs on tcp!*!564'
		9fs $u9fs; for(i in 1 2 3 4 5 6 7 8){ 9fs $u9fs & }; wait
	Should:
		no errors
	Should not:
		mount failed: authentication failed

Hash:	da6a10c417f16c26978b8db8c4fa0f35ac89ad73
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Nov 26 21:31:23 +0000 2013

	ndb/dns: do dnresolve() loopcheck only on hosts that we havnt already tried
	
	we might get a unreachable nameserver ip from a parent
	nameserver. if the remaining set of nameservers does not
	loop, we should try to resolve them.
	
	so skip the loopcheck for nameservers already tried.

Hash:	82defc81526a80a2f03ae0333a9889cfd2404cb1
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Mon Nov 25 03:11:46 +0000 2013

	theo: Don't like it?  Then walk away.

Hash:	0ef4ecc7aadbc470e009cc7fa0b772e864139d89
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Nov 25 22:22:05 +0000 2013

	faces: use 9front icon for googlecode.com/plan9front

Hash:	707698ce10aa57a3b4ab31a77fec6809a5923d34
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Mon Nov 25 22:04:06 +0000 2013

	abaco: make validurl() accept internationalized domain names
	
	validurl() is just used to check if the string is a full
	absolute url with a protocol scheme. we do not have to
	match the host part *exactly*, only if there is *something*
	in the hostpart.

Hash:	1561f0c4ea7801fef9689387e19c77d300f98a2d
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Nov 24 20:28:48 +0000 2013

	webfs: preserve unicode hostname, only convert to ascii when sending over the wire
	
	we'd like to keep Url.host in unicode for factotum key
	lookup. only when we send the url in a request, we have
	to convert it to ascii.

Hash:	f2bd1de5bdba2449f01085984483702adb833fea
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Nov 24 10:56:33 +0000 2013

	webfs: support for internationalized domain name urls

Hash:	3720b5ab9c4cb485c64e83d8af740aea3680123b
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Nov 24 10:55:26 +0000 2013

	ndb/dns: add support for internationalized domain names

Hash:	94fd92cb6903b7b1319d8f87bf6cdfd86c43b125
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Nov 24 08:07:28 +0000 2013

	kbdfs: fix ctlr+alt+del with new escape pages

Hash:	214d37ce8350eb50bba3bed800359a485fbd9ccc
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Nov 23 21:08:19 +0000 2013

	faces: add 9front.org/unknown (thanks qrstuv)

Hash:	c2319f37b48318a8dbb08d78bd76c6fd5be101ff
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Nov 23 03:46:14 +0000 2013

	ndb/dns: ignore refused (5) error replies

Hash:	2f9ae0f8ac8610e13ced184847b57b87fe5db580
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Nov 23 00:05:33 +0000 2013

	removing (outdated) drawterm
	
	drawterm is much better maintained by russ cox,
	so removing this outdated copy.
	
	for a more recent version, go to:
	
	http://swtch.com/drawterm/

Hash:	ea5797c0731203c09ec5fb7172e77eab2750f1a9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Nov 22 23:50:15 +0000 2013

	kbdfs: add esc1+shift and esc1+ctrl pages (see sources kbmap-uk-weird patch)
	
	Add pages for esc1+shift and esc1+ctrl - some UK USB keyboards (Dell) and it seems some
	German ones: https://groups.google.com/forum/#!topic/comp.os.plan9/ycok6NTCWCg seem to
	generate an esc1 + code scancode combination for the pipe/backslash key. Seems like
	overkill to add two whole pages for just two keys, but there again RAM is cheap these days.
	
	Probably should take the changes across to omap/kbd.c (and by extension bcm/kbd.c)
	but the changes are trivial.

Hash:	98f47d5867cbbaa06f2c9080c301c9191e196205
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Nov 22 21:56:34 +0000 2013

	kernel: more kproc pexit() and sleep error handling

Hash:	55d31f2cab0101dfbdeb2857e2fce2629080cf02
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Nov 22 21:29:31 +0000 2013

	pc kernel: kproc error and exit
	
	catch the error() that can be thrown by sleep() and tsleep()
	in kprocs.
	
	add missing pexit() calls.
	
	always set the freemem argument to pexit() from kproc otherwise
	the process gets added to the broken list.

Hash:	df6b68092cf2806d7c517e15d2db57b0b19a9788
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Nov 22 21:28:20 +0000 2013

	kernel: kproc error and exit
	
	catch the error() that can be thrown by sleep() and tsleep()
	in kprocs.
	
	add missing pexit() calls.
	
	always set the freemem argument to pexit() from kproc otherwise
	the process gets added to the broken list.

Hash:	91c7e0b127ef494b151fae81d80885fd3d306dc5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Nov 22 18:19:37 +0000 2013

	acme: fix arrow key oddity (thanks mark van atten and erik)
	
	from 9atom/acmearrowfun patch:
	
		reported by mark van atten
	
			In Plan 9 acme, if you type
	
			{}
	
			then go back and type text between the brackets
	
			{Curiouser and curiouser!}
	
			the right arrow is blocked when you want to go over the closing
			bracket to continue typing to its right. (If you first go to the left,
			and then back to the right, it works.)
	
			Same for the other brackets: [ ], ( ), < >.
	
		noted that brackets are not necessary.  same behavior with any
		character.
	
		fix is to textcommit before moving.

Hash:	66fea232bca25bcf07d2f70c4ee45d2c82f6f5e7
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Wed Nov 20 23:40:51 +0000 2013

	rio -b: make lighttitlecol darker

Hash:	51137ada1afe040c34ce0b8ad06d0f228f7271d7
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Wed Nov 20 23:38:49 +0000 2013

	fortunes: That's the process.

Hash:	2cc152f9e1c7435ff0a5bcc7c4467249afe227e9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Nov 20 21:35:52 +0000 2013

	ndb/dns: filter dns answers avoiding cache poisoning
	
	only cache what we asked for or need to resolve the
	query. filter out everything else.

Hash:	9155b30f6d436d2197dcad2e75dac6de146f9499
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Nov 17 05:55:39 +0000 2013

	ndb/dns: another attempt...
	
	we have to fail the whole query that got no cached
	nameservers and nameservers are looping, not just omit
	the looping nameserver. issuequery() will refresh
	nameserver info for the domain when recursing up.

Hash:	c45386588ba849f2859833ab9c368b7bc6cc0a31
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sat Nov 16 03:42:09 +0000 2013

	ndb/dns: detect query loops
	
	never try to resolve a nameserver address when that nameserver
	is in the set of nameservers already being queried.
	
	this situation can happen when the Ta and Taaaa RR's expire, but
	the Tns records are still in the cache so there is no usable
	nameserver but they still refer to each another.

Hash:	5f87d8dcc814700f10f40c10a0225400e4828ef9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Fri Nov 15 01:00:47 +0000 2013

	ndb/dns: various changes
	
	stop absolute/relative dual use of RR.ttl. now RR.ttl is
	*always* the *relative* ttl value. we derive absolute
	timeout in RR.expire.
	
	remove unused lookuptime field in DN. replace refs and
	keep with mark field in DN. we do not care about the
	number of references. only *iff* it is referenced, so
	use a single bit for that (bit 0). for keep, we use
	bit 1.
	
	remove dolock parameter in dnagenever(), it is not
	needed. we always need to lock.
	
	mark local dns servers and domains as never to be aged.
	
	the keeper bit is *just* a cache optimization, preventing
	the domain and the domains it points to from being flushed.
	it should not be used as a write protect bit in rrattach()
	for preventing spoofing as it will prevent updates of say,
	cname domains.
	
	remove "removing spam ..." message. these are usualy just
	hints, so normal. still, remove the hint as we currently
	do no check if the nameserver has authority over the
	cname domain.
	
	remove "mydnsquery: trying to send to myself (%s); bzzzt"
	message. this can happen when myaddr() fails for other
	reasons. myaddr() will print error for us anyway.

Hash:	2ce68c5aa1bb1691fe05622052d25859e6d6294f
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Wed Nov 13 17:44:45 +0000 2013

	ndb/dns: case sensitive ndb attributes, Domlen consistency, dblookup() inplace lower case conversion, cleanups
	
	ndb keys are strictly case sensitive, so consitently
	use strcmp() when comparing attribute keys.
	
	dblookup() used to lower case convert its name argument
	inplace to match domain/sys name in ndb. better to do
	the convesion in its own buffer and only read from the
	name argument.
	
	always use cistrcmp() when comparing DN.name.
	
	the Domlen constant denotes the size of the buffer including
	the null terminator. consistently use it as such.
	
	have to hold dnlock in freearea() before reading list
	head pointer.

Hash:	e2d8b8170d49f31184658885810ba5525bea3a86
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Nov 12 21:36:46 +0000 2013

	/lib/roa: fix blank line at the end

Hash:	cfc705b8669c330eb3ad4b6e37693ebcb6110508
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Nov 12 20:43:38 +0000 2013

	kernel: handle memimageinit() error

Hash:	d56a6fadc5118e7fddba6294245a355ef2d3def9
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Nov 12 20:42:05 +0000 2013

	libmemdraw: change memimageinit() to return integer error (for kernel), minor cleanups

Hash:	def87d60167d13c92328b6f0f81800787eedf03a
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Tue Nov 12 19:00:15 +0000 2013

	devsd: fix scsi emulation for disks bigger than 4 billion sectors (from erik quanstros 9atom)
	
	for read capacity (10 (0x25) if we have more than
	4 billion sectors, we must not return nsectors % (1<<32),
	we must return 0xffffffff.

Hash:	983413de75dafe1794f131274bc18c5e30429e51
Author:	BurnZeZ <brz-9dev@intma.in>
Date:	Sun Nov 10 08:35:25 +0000 2013

	libjson: don't perform chartorune in getch() when char is null terminator, and remove empty string check added last commit

Hash:	f0483642be7ab5663daca6784f39e593d3e53ea2
Author:	BurnZeZ <brz-9dev@intma.in>
Date:	Mon Nov 11 01:11:46 +0000 2013

	libjson: check for empty string in jsonparse()

Hash:	aad22f753feae9ec435a7424c35274ebbf7e472d
Author:	BurnZeZ <brz-9dev@intma.in>
Date:	Mon Nov 11 00:40:01 +0000 2013

	sdide: add pci did for VIA VT6415 PATA IDE controller

Hash:	b0f7b9d80ec9b8304ac6059488ee2b0291e444aa
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Sun Nov 10 23:44:33 +0000 2013

	arch(3): english

Hash:	235e06c9881459dc6d38f8639e4d2208a7ec10b8
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Nov 10 20:26:11 +0000 2013

	arch(3), aml(2): document /dev/acpitbls file

Hash:	a76d0bf6c50f31c8349afa5d4f1149789cd4bed5
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Nov 10 18:35:33 +0000 2013

	ndb/common: add ipv6 addresses of root name servers

Hash:	eb060fbfb16f67887b390d76121837660977884c
Author:	cinap_lenrek <cinap_lenrek@felloff.net>
Date:	Sun Nov 10 17:58:00 +0000 2013

	aml(2): tabelize by function, move hardware linkage on separate page

Hash:	e14e6dfdbe1da92dfdcf19b3ea7f14767fd7773b
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Fri Nov 8 21:33:48 +0000 2013

	merge

Hash:	2bc9e8e5e3b3eab7063c718fc6711b0a1cd14dbe
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Fri Nov 8 21:31:26 +0000 2013

	kernel: make image cache not hold onto the channel, remove nocache flag
	
	the image cache should not hold onto the text file channel
	when not neccesary. now, the image keeps track of the number
	of page cache references in Image.pgref. if the number of
	page cache references and Image.ref are equal, this means
	all the references to this image are from the page cache.
	so no segments are using this image. in that case, we can
	close the channel, but keep the Image in the hash table.
	
	when attachimage() finds our image, it will check if Image.c
	is nil and reattach the channel to the image before it is
	used.
	
	the Image.nocache flag isnt needed anymore.

Hash:	8916f971fa5cba56e42cdcc8ff70ceef1ff52b97
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Fri Nov 8 20:19:32 +0000 2013

	/rc/bin/": fix typo

Hash:	18e515511f45c115acbed2dc40dd1895b2ea6890
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Fri Nov 8 16:42:15 +0000 2013

	acidleak: show free blocks as free (leak -b)

Hash:	f4ec9a67e8c9e8a7386feaee152253082891e294
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Thu Nov 7 19:02:34 +0000 2013

	fortunes: that's great

Hash:	82663f62bee0ba0da147711bc3e9c188a75267d0
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Thu Nov 7 19:01:42 +0000 2013

	/rc/bin/", /rc/bin/"": handle the venerable ; prompt

Hash:	b0a61bc09119ead66532a7af64c0a018969bb690
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Wed Nov 6 21:19:59 +0000 2013

	merge

Hash:	a60001871e67311f413affdca45039f1734b206a
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Wed Nov 6 21:18:36 +0000 2013

	mp3dec: fix volume for mp3dec
	
	the libmad samples need to be scaled properly. the
	previous assumption was that it is 32 bits, but it
	really is MAD_F_FRACTBITS + sign bit and rest used
	for overflow.
	
	thanks eekee!

Hash:	61269254d0d5cc8e8e425cfb47774ec830dec2a3
Author:	mischief <mischief@offblast.org>
Date:	Wed Nov 6 19:22:15 +0000 2013

	synchronize ape's vfprintf with libstdio
	
	in ape's vfprintf we don't check if the file we're writing is actually a string buffer, resulting in a return of -1, when we should actually return the number of bytes that would be written.

Hash:	7b36a7e1a9056bc8046d161c81aee008854daadf
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Tue Nov 5 07:01:43 +0000 2013

	merge

Hash:	118cf5e36a7f90d4a9dae015f029f35fe06fccf0
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Tue Nov 5 07:00:26 +0000 2013

	rio: eleminate temporary allocations before frinsert() and in namecomplete()
	
	frinsert() shouldnt modify the runes passed and the
	buffer isnt going to be modified my us during the call
	so removing the temporary copies.
	
	namecomplete() makes utf-8 copies of the rune strings so
	theres no need to copy the runes.

Hash:	fc8734dac158a7a05b365deef19bd998afa1ab9a
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Mon Nov 4 01:01:52 +0000 2013

	fortunes: AFTER READ THE PAGE YOU UNDRSTAND WHAT IM TALKING TO YOU !

Hash:	f637986cae866e967adce3dfc9f9581cfc7c656c
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Mon Nov 4 01:01:03 +0000 2013

	aml(2): english

Hash:	f73bf5f90dd854bbbba8f56a8288892170d8d763
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Sun Nov 3 23:09:28 +0000 2013

	aml(2): fix amldelay() decscription. it takes microseconds, not milliseconds.

Hash:	65829e635c213b5ea01bc413a01542a2ccaa1c7e
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Sun Nov 3 21:13:03 +0000 2013

	add aml(2) manual page

Hash:	c5a70cc23d7c4cda32875b46db0990609f229bdd
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Sun Nov 3 03:03:38 +0000 2013

	rio: do backspace \b processing inplace avoiding buffer allocation

Hash:	9619a621ac8b9be2b38790d21fc5f0c482cd83fa
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Sat Nov 2 23:34:35 +0000 2013

	rio: cleanup and error handling

Hash:	bcad0cd4e631ef321dca17ffa49c8ecdd30cb652
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Sat Nov 2 16:54:42 +0000 2013

	rio: huge simplification of flush handling
	
	xfidflush() now uses a simpler way to flush another xfid.
	
	when we can send to Xfid.c channel, we know that the
	xfid is completed. so all xfidflush() needs todo is to
	do an alt sending to both Xfid.c and Xfid.flushc.
	
	once the send to Xfid.c succeeds, we know the xfid is gone
	and we can respond to the flush request.
	
	theres no need to keep track of flush state anymore. so
	Xfid.active and Xfid.flushing can be removed.
	
	note, that it is ok to respond normally to a currently
	flushed request.

Hash:	837918ee5e391fc0429654135c4a828f96f6bc3d
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Fri Nov 1 20:28:03 +0000 2013

	rio: add sanity check in xfidallocthread()

Hash:	f37ee95fbcd5d837c4eff29e7feb5a999420dae2
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Fri Nov 1 20:21:24 +0000 2013

	rio: enforce flush reply ordering for all xfids
	
	flushing isnt optional for concurrently handled requests.
	we need to ensure that Rflush is replied *after* the
	origianl request.
	
	so we assign the flushtag for *every* xfid in xfidctl(),
	and filsysrespond() checks if the xfid was flushed
	*after* replying and wakes up the flushing xfid.

Hash:	413977c19bb65fb1b704d58ae9a59cdf64179c84
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Fri Nov 1 17:57:11 +0000 2013

	rio: properly handle follow up flushes (fixes unexpected reply tag)
	
	when multiple flushes are send, they need to be replied
	in order. we ensure this by having the flush xfid taking
	over the flushtag (synchronized with a new fs->csyncflush
	channel) so the next flush will flush the previous flush.

Hash:	f87baec1d0369764b761e8ca26a910e982123453
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Fri Nov 1 22:39:41 +0000 2013

	make auto negotiation work on 82562et (thanks mischief!)
	
	the diver used to skip auto negotiation when
	auto-negotiation enable (bit 12 in command register)
	was clear.
	
	setting the bit now, which makes auto negotiation work.
	
	we skip auto negotiation only when it was already enabled
	and status regiser indicates completion (bit 9).

Hash:	b41bf07867e4bc7613b1e876219c571171e389c6
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Thu Oct 31 14:51:15 +0000 2013

	fix format compiler warning

Hash:	7e2e5b7a6f17c0a705eca774d82335408308f130
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Thu Oct 31 14:50:25 +0000 2013

	kernel: add support for multiboot memory map

Hash:	1259fe5c38255786207588c4f708017c20b9e6ce
Author:	BurnZeZ <brz-9dev@intma.in>
Date:	Thu Oct 31 08:26:01 +0000 2013

	libplumb: search for plumber only at /mnt/plumb, and don't try to mount $plumbsrv if the search fails

Hash:	9a1e762dcc561a5e759803593f3af3d16bad3b6a
Author:	BurnZeZ <brz-9dev@intma.in>
Date:	Wed Oct 30 07:12:53 +0000 2013

	smtp: fix free on uninitialized pointer

Hash:	7211fd7ce71de2347f3a00f1229ee1ac74b006e9
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Wed Oct 30 20:24:44 +0000 2013

	fix devshr related panic caused by Mount.to being nil (thanks mischief!)
	
	the shr mount is linked into the Mhead with m->to initially nil. only
	after the the server has been attached is m->to set. just check for
	it in createdir().

Hash:	6d4e9f11b79148742198a8ec334d99053cb7cfce
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Tue Oct 29 23:38:12 +0000 2013

	init: dont rely on path containing dot

Hash:	191568e549da0981abac44e38b2b40d2bb245fc7
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Tue Oct 29 23:09:27 +0000 2013

	play: guess file type from file extension if mimetype fails

Hash:	b35df8dd22de95d51fb49b700b19935eb2c46e4a
Author:	mischief <mischief@offblast.org>
Date:	Mon Oct 28 09:13:35 +0000 2013

	vt: discard unhandle OSC escapes, and use nelem instead of sizeof for title buffer

Hash:	96c1e08f481b67ea0e8694931cd7e46d339f5fc5
Author:	BurnZeZ <brz-9dev@intma.in>
Date:	Mon Oct 28 07:17:53 +0000 2013

	libjson: fix missing buffer free, slight cleanup

Hash:	a8e8b650f3643c1a9f434fb2efb4708ff53539cd
Author:	BurnZeZ <brz-9dev@intma.in>
Date:	Tue Oct 29 03:21:07 +0000 2013

	libjson: dynamically allocate buffer

Hash:	82f4c1c0b4160672467e5eceea4c6f7a48c9481c
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Mon Oct 28 08:20:07 +0000 2013

	rsa2ssh: fix the megashit

Hash:	8c9e7ded1758daabd43d35ea3e141cef4d914604
Author:	mischief <mischief@offblast.org>
Date:	Mon Oct 28 01:50:14 +0000 2013

	auth/rsa2ssh: add SSH2 RSA output format (from plan9port)

Hash:	420ed37c576ea9767e8704a7b84728b945b38368
Author:	mischief <mischief@offblast.org>
Date:	Mon Oct 28 01:40:21 +0000 2013

	cmd/vt: fix xterm function keys

Hash:	4ea791806c32bf21cfc1d3debbaf418657f7ad06
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Mon Oct 28 00:24:03 +0000 2013

	libjson: fix mistake... (harmless)

Hash:	ffd3421cf0fbc4120923ea41f71fc6eb184e258d
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Mon Oct 28 00:19:01 +0000 2013

	libjson: fix for 21 bit runes, implement utf-16 surrogates

Hash:	abb8ce3878cd18cb37548ee1305b626bcfc09b80
Author:	BurnZeZ <brz-9dev@intma.in>
Date:	Sun Oct 27 23:29:02 +0000 2013

	libjson: fix mistake in unicode handler (thanks cinap)

Hash:	b1bc8b5c2b73a3b2cba83c12112644815e19c312
Author:	BurnZeZ <brz-9dev@intma.in>
Date:	Sun Oct 27 19:52:35 +0000 2013

	libjson: handle unicode escapes

Hash:	2dc7e311f43c41ecc412c237cbcb6293953c17e9
Author:	BurnZeZ <brz-9dev@intma.in>
Date:	Sun Oct 27 19:44:33 +0000 2013

	make libjson from /sys/src/cmd/btc/json.c

Hash:	632b7adffbd137d9cbe95431fa6919f875c47e5b
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Sun Oct 27 18:09:13 +0000 2013

	vt: remove defunct hp terminal emulation

Hash:	b831ec005baf286bb3418c51baf7e5814a940bfa
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Sun Oct 27 18:05:40 +0000 2013

	vt: utf-8 support

Hash:	ecab88b983e779cc7c5824069a993db788f87350
Author:	BurnZeZ <brz-9dev@intma.in>
Date:	Sat Oct 26 22:23:08 +0100 2013

	rc: make default path safer

Hash:	4a9f900726e530e55506974b8ec718125f78a61b
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Sat Oct 26 19:22:01 +0100 2013

	mkfiles: do not rely on path containing the . element
	
	when executing generated binaries and helper scripts,
	always execute them as ./name instead of relying that
	path contsins the dot.

Hash:	0d378e905e4df6266d9fc9243e7ed735e12d839b
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Sat Oct 26 19:17:56 +0100 2013

	inst: cleanup installer making it not rely on path containing .
	
	always explicitely execute installer modules with ./name instead
	of relying that the path contians the dot.

Hash:	744dbd6bb8532d6add6b00a16a794fd037caadbf
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Sat Oct 26 00:18:23 +0100 2013

	merge

Hash:	1ca07d817b69c1c0be82954668dd71f7fc3db886
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Sat Oct 26 00:11:18 +0100 2013

	ndb/common: update ip for d.root-servers.net

Hash:	946026dc9a0e5994a7237e43d6fee8fd44e8cf09
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Fri Oct 25 23:58:46 +0100 2013

	merge

Hash:	384adf4c89dac202ac4464086ef573ae01b976f3
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Fri Oct 25 23:56:51 +0100 2013

	ndb/common: dont use bell-labs dns servers for rfc1980 zones

Hash:	424e9d1636df205f33a5ba977fcb72a38f2beebd
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Fri Oct 25 19:46:35 +0100 2013

	fortunes: etymology: various

Hash:	8cdade591ef30137db38598a01393fe1e306ac40
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Fri Oct 25 18:51:46 +0100 2013

	kernel: dont spawn closeprocs from closechanq
	
	make closeproc() spawn more procs on demand insead of
	doing it from closechanq(). this avoids the palloc lock
	checks and simplifies the logic.

Hash:	c7c7e7ee2afcb21f5523d6b66e539befe2b93b01
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Fri Oct 25 01:42:35 +0100 2013

	kernel: disable freelist page caching for executables run from uncached mount
	
	the image cache has the property of keeping a channel
	for the executable binary arround which prevents the
	mountpoint from going away.
	
	this can easily be reproduced by running:
	
	@{rfork n; ramfs; cp /bin/echo /tmp; /tmp/echo}
	
	observe how ramfs stays arround until the image is
	reclaimed. the echo binary is also cached but is
	unreachable from any namespace.
	
	we now restrict the caching to mounts that use the client
	cache (-C flag) only. this should always be the case
	for /bin. places where this isnt the case might observe
	a performance regression.

Hash:	b66c4a6232489ede3bfe29b813d5fee0a66dc11f
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Fri Oct 25 00:54:09 +0100 2013

	kernel: keep one closeproc arround in case we are unable to fork a new one
	
	closechanq() is unable to fork a new closeproc when palloc
	is locked. so we spawn a closeproc early in chandevinit()
	and make sure theres always one process arround to handle
	the queue.

Hash:	3142af56d8e76ed73d9bc3591f910104a8b2a8b2
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Wed Oct 23 22:44:25 +0100 2013

	newuser: make lib/profile read drawterms /dev/secstore when available

Hash:	43eed8d82418192a4207e45e75a6b0d975d77d4e
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Tue Oct 22 17:55:00 +0100 2013

	factotum: update rsa for ssh2 (sync with sources)

Hash:	95c865a4974cd2e1429a0b19da9f8f0e45891fbe
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Sun Oct 20 21:38:35 +0100 2013

	acme: attempt to fix tag lines collapsing to zero height on window move (issue 189)
	
	we'r getting a rectangle taller than a single line from
	coladd() which causes textresize() to collapse the tag
	text to zero height.
	
	should probably fix coladd() instead.

Hash:	8ceb100fa4081cc441acc693190ce7da55fcb3af
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Fri Oct 18 17:41:27 +0100 2013

	nusb/ether: new driver interface with kernel inspired Block buffers
	
	introduce kernel inspured Block structure with
	read/write pointers to pass packets arround.
	
	the intend is to avoid copying when adding/removing
	frame headers and simplifying the drivers.
	
	the driver now calls etheriq() directly allowing it to
	queue multiple packets in one pass without having
	to keep state.
	
	transmit gets a buffer passed that has room for
	frame headers and trailers so no copying is needed.
	
	blocks are refcounted avoiding another copy when
	passed to only one receive queue (common case).
	
	receive queues are now limited to 100KB avoiding
	buffer bloat.
	
	Dq* a memory leak in destroyfid has been fixed.
	
	lots of minor cleanups.

Hash:	5bfaf253d3ea0f0d60eb12b45b0866a79c5ae66b
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Thu Oct 17 18:02:50 +0100 2013

	keyboard(6): new <compose>x sequence, 21 bit runes.

Hash:	46f5ac0cd4703653524a8da46285c632c30bd8aa
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Thu Oct 17 17:50:46 +0100 2013

	html2ms: fix compiler warning for debug code

Hash:	1015ae8ea86cc4cdcea7ab6048440b9e5f58da26
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Thu Oct 17 17:39:44 +0100 2013

	kbdfs: implement <compoxe>x to enter variable length unicode as suggested by erik quanstro
	
	from: http://9fans.net/archive/2013/04/327
	
	since <compose>x is not yet entrenched, i have a suggestion for ease of
	input.  suppose <compose>x were redefined so the syntax were
	"<compose>x[0-9a-f]+;".  in the case that 6 hex digits are entered, then
	the ";" is not necessary.
	
	not only would this allow for entering 21-bit runes, it would also allow for
	short sequences to be entered more easily.
	
	- erik

Hash:	c501fe69366175312b39f7eead949f9b27c03ef6
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Thu Oct 17 14:31:07 +0100 2013

	factotum: fix mschap password (utf-8 to utf-16) conversion
	
	using strlen() gives the number of bytes in the utf-8 string.
	could use utflen() instead, but decided to just go in a loop
	and get rid of the counters all together.
	
	UTF-16 surrogates are not handled.

Hash:	0b3ad2b562a91608a433e49baa4633dcb7aa32e9
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Thu Oct 17 11:53:01 +0100 2013

	libc: updated acid files for 21 bit rune change

Hash:	a5e964190697f7367e92628620baaee370c32f88
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Thu Oct 17 11:02:45 +0100 2013

	change Rune from ushort to uint for to 21 bit runes (thanks mischief!)
	
	big big change. requires rebuilding 8c first and then rebuild
	everything.

Hash:	e30f50283c60e21763aa28def66deab70ae12187
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Thu Oct 17 07:26:05 +0100 2013

	9p(2): correct usage for srvrelease()/srvacquire()
	
	the process is *NOT* allowed to exit after a srvrelease() as
	it still holds a reference (srv->rref) preventing the srv
	from beging freed/ended (listensrv) before srvacquire().

Hash:	52fc6d50d49b95e4598e2c9bb65e15e37035bf28
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Wed Oct 16 15:42:40 +0100 2013

	nusb/ether: fix wrong size check causing odd sized packets to be discarded (thanks mischief!)
	
	ethernet packets with sizes that where not multiples of 4 where
	discarded because the check uses the smsc frame size instead of
	the payload size. when a usb read returns just one packet, theres
	no next frame header and the calculated frame size is bigger than
	the usb read which caused the whole packet to be discarded as invalid.
	
	thanks to mischief for testing and debugging!

Hash:	965bb2d2480363bf02ad0c10f92b7a6b4962e38f
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Wed Oct 16 11:26:56 +0100 2013

	nusb/disk: handle blocking usb access with srv released
	
	usb is bound after /dev, so a hanging usb device will hang
	access to /dev. we avoid this by releasing the srv, which
	allows the fs to still handle reads and walks of the
	directories.
	
	ios are serialized by a qlock in the Umsc structure.

Hash:	1cd4579cdc9bbfc9001ed15af6bf01e331e07493
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Wed Oct 16 06:21:12 +0100 2013

	cwfs: fix putbuf(nil) in error case of cmd_check()

Hash:	d7ad36942d5baf99d21ee2e182f2139b043c0fff
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Wed Oct 16 03:40:18 +0100 2013

	merge

Hash:	87e187b09cac8096194024ae7fa8cc1923a78d34
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Wed Oct 16 03:34:58 +0100 2013

	fdisk: fix struct padding for amd64 (from erik quanstros fdisk-64-bit-table patch)
	
	small little patch to help fdisk work properly on 64-bit machines.
	sizeof(Table) is 4 bytes too big.

Hash:	ebdc47dad61a1dd0f9fde65532727ff5cbf384f2
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Tue Oct 15 20:47:56 +0100 2013

	usps: update for new usps website (thanks, mischief)

Hash:	0f994b1b09c1dddd2d48c479dd025e71a674fd31
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Sat Oct 12 02:18:44 +0100 2013

	aux/statusbar: emit final newline in textmode when finished
	
	bad:
	term% echo 1 1 | aux/statusbar -t x
	|###########################################################| 100% term%
	
	vs.
	
	good:
	term% echo 1 1 | aux/statusbar -t x
	|###########################################################| 100%
	term%

Hash:	ab7fe19ae264aa569f6298b73492d4b3e733e0b0
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Sat Oct 12 01:22:57 +0100 2013

	hget: handle http contentencoding (compression)

Hash:	0460e4be7d85168f52cf9f03a98448b6575fdc2b
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Fri Oct 11 09:17:17 +0100 2013

	cwfs: add checktag() call for cache bucket in dumpblock(), fix error strings

Hash:	5982c50fa4d29c7b2230d180959c679278c6a88f
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Fri Oct 11 05:01:55 +0100 2013

	cwfs: more checking for cfsdump(), cleanup Tsuper hack in cwrecur()
	
	add checktag and nil checks in cfsdump() making sure to notice
	when the roroot directory structures is corrupted.
	
	cwrecur() used tag == Tsuper to indicate that this is the first
	level recursive invocation. this is confusing as we really expect
	Tdir tag in that case for the root directory. instead, we now
	pass the correct tag (Tdir) and use cw->depth > 1 to see if we
	are past the root.
	
	the block tag was only checked when the block was not in
	the memory cache. check the tag always!

Hash:	7f57d5d9c58d9a471181f3f91e3c037b49cede9f
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Thu Oct 10 06:42:13 +0100 2013

	unzip/zipfs: handle optional data descriptor signature in trailer

Hash:	3b99a601546a722838cfdb65de9848b7a367b169
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Thu Oct 10 22:59:19 +0100 2013

	mothra: handle <input type=image>

Hash:	f72da96f2898465c88ff683a69e5b7a14a931737
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Tue Oct 8 19:58:55 +0100 2013

	exportfs: start filter in separate rendezvous group

Hash:	bc18faccde776934bb314549feb8e5ba91fda053
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Tue Oct 8 18:58:55 +0100 2013

	libpanel: fix memory corruption bug in plinitentry(), add pl_erealloc()

Hash:	1c1bef69aae8a6d6758a18abc14f45c674487ece
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Tue Oct 8 18:23:53 +0100 2013

	libc: remove doprint

Hash:	50e3c936fac64a1b4f0d89b909bceb4ed889f385
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Tue Oct 8 07:12:05 +0100 2013

	ip/torrent: check piece offset, vlong cast

Hash:	3c2b09c9dc9b3bb1b7177f7683002c86d38fcaa0
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Tue Oct 8 06:55:26 +0100 2013

	ip/torrent: more checking, backoff from piece on hash error

Hash:	8046234275b686380321ae6279cc9993456c29b4
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Mon Oct 7 05:49:34 +0100 2013

	kbdfs: implement keyboard mouse buttons with /dev/mousein

Hash:	8aeddcf5bb503282e837080146d2e5ad4a225015
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Mon Oct 7 05:37:40 +0100 2013

	vncs: create dummy /dev/mousein and /dev/mousectl files
	
	this should prevent accidential fiddeling with the kernels
	mouse driver.

Hash:	6c6bd66ed17d1c8eb70ad0966922a7f71c5b4a49
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Mon Oct 7 05:34:24 +0100 2013

	devmouse: differential handling of /dev/mousein buttons

Hash:	ad1111cb3e40371de141af7d5e72467b7d0afec7
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Mon Oct 7 22:18:37 +0100 2013

	exportfs: fix more filedescriptor leaks
	
	just closing the pipe isnt enough, we have to
	close all remaining file descriptors except sfd
	before executing sub exportfs.

Hash:	6197758ec15bbd4104f1f340cce07f59f5c7a4ad
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Sun Oct 6 03:42:46 +0100 2013

	exportfs: fix openmount() rfork flags and filedescriptor leak, silence of on initstr error
	
	fork child exportfs with new rendezvous group.
	fix missing close of pipe filedescriptors on error.
	fix missing close of other end of pipe in child.
	
	dont bark when we get eof on the first init string read.
	this condition can happen when unmount opens and
	immidiately closes a exported srv file.

Hash:	cb8eac54ed990ae351b4d670b83e17316809e0f0
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Sun Oct 6 00:49:15 +0100 2013

	5l: apply richard millers 5l-incfloat patch (from sources)
	
	Generate correct ARM vfp code for x++ where x is single precision float.
	Example test program (link with '5l -f'): void _main() { float x; x++;}

Hash:	3da35f028f4ff5ca619f9b00d549e1b534568223
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Sat Oct 5 21:55:10 +0100 2013

	rio: gone windows gone wrong (fix missing recv(x->flushc, nil) when gone but request flushing)

Hash:	6187e219da80ed8d75c717cd5f7c2f10326c5a81
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Fri Oct 4 20:11:56 +0100 2013

	mothra: avoid intermediate rc shell processes, use rfork(RFREND) to isolate rendezvous group

Hash:	0b42409cf44168a945cfa5080f71b61be618beb9
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Fri Oct 4 20:10:33 +0100 2013

	page: avoid intermediate rc shell processes with using exec, move newwindow() before forking namespace
	
	use exec to avoid intermediate rc processes.
	
	avoid capturing old namespace in the waiting process by doing the
	newwindow() call before it.

Hash:	d1602327475bad9da4795ddf9326507161b08b7a
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Fri Oct 4 15:08:19 +0100 2013

	mothra: run page in own note group, close unneeded filedescriptors after forking
	
	running page in own note group avoids killing it when we
	exit mothra.
	
	copypaste dupfds() function from page and use it to close
	unneeded file descriptors.

Hash:	8c1d4604db54021b774b17eb7440685b4638163b
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Fri Oct 4 15:03:41 +0100 2013

	page: close stdout, reopen stdout/stderr for external viewer and removed useless RFNAMEG flag
	
	we are not using stdout (fd=1) and it, so dup nullfd over it.
	this drops the old window reference when using with -w flag.
	
	the RFNAMEG flag isnt needed because we are calling newwindow()
	which forks the namespace for us.
	
	reopen stdin/stdout for the external viewer to the new window.

Hash:	0be917ff4d11268824d58598f85348436010f2bd
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Fri Oct 4 14:57:05 +0100 2013

	libdraw: make newwindow() unmount the old window
	
	newwindow() used to mount the new window directly on /dev, resulting
	in the old window and the new one being mounted over each other.
	
	we now try to unmount the old window from /dev first, mount new
	window to /mnt/wsys (replacing the old) and then bind /mnt/wsys
	before /dev.
	
	if theres no /mnt/wsys, just mount window directly before /dev.

Hash:	40cf5957e0b59a8490b05dc65f2c3b165949f544
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Fri Oct 4 12:52:22 +0100 2013

	add sdp(3) from sources

Hash:	9bcdfac3be4cf1e9669b00720089045a709fcc9c
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Fri Oct 4 01:27:53 +0100 2013

	merge

Hash:	5c4756974b7f0a61d267ae522605600ff4409507
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Fri Oct 4 01:26:40 +0100 2013

	page: dont tell rio our pid
	
	$wsys might be from a remote system so pid will not work.
	
	new rio errors out on mouse/cons instead.

Hash:	fe03ec0e21bf2491b7746e81053e91636eb1aa9c
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Fri Oct 4 01:17:53 +0100 2013

	rio: gone windows, window resize, rectonscreen, goodrect
	
	dont rely on postnote to shutdown client. instead, make reads on
	cons, kbd and mouse error. when we mount a window system over
	exportfs, the pid useless and even dangerous! pid should be
	only used by clients forked by rio itself.
	
	fix bug in resized(), goodrect() takes rect in screen coordinates!
	
	make rectonscreen() fix window size if the window doesnt fit
	on the screen.
	
	improve goodrect() to check for windows outside of the screen or
	bigger than screen without borders visible.

Hash:	7c28d33d4b827df6038424dfc57312a9ca58bc65
Author:	ppatience0 <ppatience0@gmail.com>
Date:	Thu Oct 3 22:15:11 +0100 2013

	io.h: change indentation from spaces to tabs

Hash:	9eab198d05b29be79433aa3cc3a762cff8012680
Author:	ppatience0 <ppatience0@gmail.com>
Date:	Thu Oct 3 22:13:08 +0100 2013

	ether83815: fix `auto neg timed out' error with sis 900 rev 635.
	the openbsd sis(4) driver does not actually go through the rest
	of softreset() with sis cards. also, rev 635 reads the mac address
	differently, so copy-paste code from openbsd to handle that.

Hash:	60e3d2782b30019769bd250c15329108fab1cc5a
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Thu Oct 3 16:31:55 +0100 2013

	merge

Hash:	7ad47f1083f6d62d1135fe49807b51380cc4d7cb
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Thu Oct 3 16:30:03 +0100 2013

	tarfs: make file name safe, canonical and free of . and .. (from sources)

Hash:	f163d0014a6ccd3417c45a05f831e73f2f9f6cf7
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Wed Oct 2 19:52:13 +0100 2013

	libmach: fix wrong formating for arm LDRH/STRH/LDRSB/LDRSH (MOVHU/MOVBU) instructions

Hash:	225cc4af5c5be518460b204aaba7beb9e013d6a7
Author:	ppatience0 <ppatience0@gmail.com>
Date:	Wed Oct 2 07:25:43 +0100 2013

	nusb/ether: add rtl8150 driver, remove unused includes

Hash:	805fe4660e71ebb2fc18b5da1fee50b02b9a8b4e
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Wed Oct 2 23:02:49 +0100 2013

	fortunes: I think we're done here.

Hash:	6c758d94bf239b94072d635f28b53a976a515fd6
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Wed Oct 2 01:25:50 +0100 2013

	vt: dont pollute the outer environment (thanks mischief!)

Hash:	e55d1051591fb92460f527ec72af5a02e4c5f9a3
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Wed Oct 2 01:01:43 +0100 2013

	bootrc: +x

Hash:	505bc9b491e7b36b0f18c72eea5b109e7285ad5e
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Wed Oct 2 00:36:05 +0100 2013

	lib9p/hjfs: use x != ~0 instead (type)~x conditionals to work arround arm compiler issue

Hash:	da2d0ee780c1542b2cbcb1f7dbd808c59356ae46
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Sun Sep 29 14:44:26 +0100 2013

	audiohda: allow manual pin routing, more verbose audiostat, initial mute of al widgets
	
	the automatic routing from jack to dac/adc sometimes gets us
	a path thats not audible. manually specifying a route path
	gets us arround these. the syntax is just a comma separated
	list of node ids in the "pin" and "inpin" audioctl commands
	instead of a single pin node id.
	
	to find alternative paths, audiostat now lists all the widgets;
	not just the pins; and ther input connections.
	
	initially mute all pins and amps of all function groups.
	connectpath() and disconnectpath() will mute and unmute
	the widgets as required later.

Hash:	82362507f758da7cd9e31eb4b5befbb76535a596
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Sat Sep 28 06:57:31 +0100 2013

	pkg/list: handle more directory listings

Hash:	c9bbe34bf6ee8278d30b60fd8fe54512f2077ac6
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Fri Sep 27 18:24:45 +0100 2013

	pc kernel: make syscall() return thru forkret() to handle exceptions
	
	forkret() labels the instructions that can raise exceptions
	so they can be handled in trap(). this can happen when
	segment descriptors get invalidated.

Hash:	64f44612f2020affd89b7a89be31fb28e8a7c405
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Thu Sep 26 17:22:09 +0100 2013

	fortunes: I gave up, back to 9front. -- Aram

Hash:	d9ca0842821af08ae9c318699b95bab492ab732d
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Thu Sep 26 14:16:12 +0100 2013

	tcs: eleminate ambigous html entity runes.

Hash:	81f726b2b4cb699d2fcf7fd1b4f383650bba4a22
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Thu Sep 26 22:34:06 +0100 2013

	audioac97: remove i/o bar magic, fix ac97mixreset busywait-forever timeout
	
	the standard is i/o bar 0 is the mixer and bar 1 is status/control.
	the magic with the bar sizes made it fail in qemu. so removing it
	for now as all devices seen so far comply to the standard.
	
	if we ever see a sis7012 where this might be swaped uncomment the i=0;
	
	the busywait timeout is too long in ac97mixreset() because rd/wr
	have a timeout on ther own. just remove the busy looping and do
	a one second delay after mixer reset. (tested with t23)

Hash:	7265a09524fdac42b776d01f474a9eb16805ee59
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Wed Sep 25 19:27:34 +0100 2013

	merge

Hash:	cdc2c30e99f2fb3d65dfbc8ef73efd433a3f1966
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Thu Sep 26 21:24:31 +0100 2013

	reverting semaphore lock changes from sources (r41ccd6d221da, rb28756e5ba29)
	
	semaphore locks have much higher overhead than initially presented
	in the "Semaphores in Plan9" paper. until the reason for it has been
	found out i will revert the changes.

Hash:	cafcffb1dce89b7e10ddd9149e4b0928ac2b9b38
Author:	jpathy <jpathy@mail.nanosouffle.net>
Date:	Tue Sep 24 23:50:35 +0100 2013

	fix null dereference crash in mothra

Hash:	62b3eea2715a9e67cdb0873faa0d802344bf7683
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Tue Sep 24 00:52:20 +0100 2013

	syssem*: eleminate redundant validaddr() checks
	
	validaddr looks up the segments for an address range
	and checks the flags and if the address range lies
	within bounds on the segments.
	
	as we'r going to lookup the segment in the syssem*
	syscalls anyway, we can do the checks ourselfs avoiding
	the double segment array lookups.
	
	the implication of this tho is that now a semaphore cannot
	span multiple segments. but this would be highly unusual
	given that segments are page aligned.

Hash:	365fd745d62e9fdc43b22a0a1916c595749eb575
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Mon Sep 23 20:12:41 +0100 2013

	9bootfat: only check for fat at block 0 on floppy drives (thanks aap)
	
	smart boot manager has a "FAT" signature in its mbr causing
	9bootfat to "detect" it as a fat filesystem and then fails
	to find plan9.ini.
	
	there shouldnt be a fat filesystem on harddrives at block 0, only
	on floppy drives. but some bioses use floppy drive numbers
	for usb harddrives so still check for a partition table.
	
	thanks aap for debugging this.

Hash:	b4cdfc6c5517390d6be05b2c01e56bacc9e85ea8
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Sun Sep 22 18:49:59 +0100 2013

	devproc: check for p->dot == nil, run closeproc with up->dot = up->slash
	
	p->dot can be nil when process exits (see pexit())
	
	set closeprocs dot to up->slash so it will show up
	right in devproc.

Hash:	99167104f9d37ebce135ec16b506b47b62cfb975
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Sun Sep 22 17:26:52 +0100 2013

	audiohda: vmware support (thanks dreadlorde)

Hash:	e4942b78fdeaa55b4d55cdeac6c0b68fc6a4441f
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Sun Sep 22 02:30:04 +0100 2013

	mkfs(8): also list -U option in table

Hash:	d3b8ded315ecdba5867ada489549a7c8f084bc75
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Sat Sep 21 20:21:18 +0100 2013

	rootstub: create directories for mips

Hash:	4fc4033611bb267a932781188b612b8762b4e4e7
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Sat Sep 21 19:06:53 +0100 2013

	merge

Hash:	f811708ffcb776be52a81637224c06b700177566
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Sat Sep 21 18:55:52 +0100 2013

	ape: change tas/sleep locks to cas/semacquire/semrelease locks (from sources)

Hash:	3d05e77ca1f743e5b4091c6bfe311460175ed9ae
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Sat Sep 21 18:53:27 +0100 2013

	libc: change tas/sleep locks to cas/semacquire/semrelease locks (from sources)
	
	spinlocks have been changed to use the new semacquire/semrelease
	syscalls in combination with atomic compare and swap operations.

Hash:	041e4852d258f05fe5f60964a76c99714905774e
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Sat Sep 21 21:17:40 +0100 2013

	tcs: add html5 rune entities

Hash:	0d41eadd032e50f7d08c0205e119641512864af9
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Fri Sep 20 16:46:25 +0100 2013

	hget(1): usage for webpaste

Hash:	65653a184021a7e6a26492251168e8ac2b906527
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Fri Sep 20 16:44:14 +0100 2013

	pushssl(2), pushtls(2): clarify filedescriptor closing

Hash:	4e015eb5c7ba7ae1cb7b2e26997a7ba0eb02b626
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Fri Sep 20 16:41:51 +0100 2013

	merge

Hash:	91ce0a07ca23fc68a1b60c77f2127481d37ad458
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Fri Sep 20 16:39:33 +0100 2013

	hpost: dont emit /bin/hpost but just hpost
	
	just emiting "hpost" makes it simpler to override it as a
	rc function.

Hash:	565a4d478e4631ca771e5d0f9e9120420f557b3c
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Fri Sep 20 16:32:42 +0100 2013

	rename /rc/bin/ok to /rc/bin/webpaste

Hash:	5e2478ccbb7927256f72cb749cf1a8d97dbbd4e9
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Fri Sep 20 15:02:10 +0100 2013

	acid: handle buffer overflow with ridiculous long symbol names (thanks mischief)
	
	go seems to accidently creates ridiculous long symbol names
	causing acid to crash.

Hash:	9c2fb9602ddf3238364ec39cbf3f665c98d10e91
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Fri Sep 20 14:00:49 +0100 2013

	merge

Hash:	539fe6990fecc38bd3b634be5857da3ee59bafee
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Fri Sep 20 13:58:43 +0100 2013

	5c: apply richard millers 5c-nan-cmp patch (from sources)
	
	On ARM, it turns out that comparisons with NaN can be made to do the
	right thing with no code penalty, by a more careful selection of
	condition code values in the subsequent conditional branch.  The
	meaning of the CC bits in the PSR is subtly different when they've
	been copied from the floating point status register.
	
	Suggested patch is 5c-nan-cmp (works on both vfp and emulated arm7500).

Hash:	8aeb7a926e72fc1e29bc6464b8f0660063a9f4af
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Fri Sep 20 08:09:40 +0100 2013

	rc-httpd(8): fix typo (thanks, _trav)

Hash:	171aafcc229b0b2d1fb058d09eb4170008f91eb6
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Wed Sep 18 08:53:20 +0100 2013

	faces: fix callerpc for realloctag in erealloc (thanks qrstuv)

Hash:	25e5507c5789f573b403a64ae680af7fd5b75691
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Wed Sep 18 20:25:18 +0100 2013

	pkg(1): fix for plan9.bell-labs.com; update repository list

Hash:	4d9ce0fb3cb85fe5d41826d29c2fdebbacfe56db
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Wed Sep 18 20:03:50 +0100 2013

	add /rc/bin/ok, tool for okturing.com pastebin

Hash:	8556b8dae158c631725184a9243c3493af15c8b6
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Wed Sep 18 00:54:22 +0100 2013

	libevent: drop queued mouse events
	
	the changeset r541ead66e8af:
	
	"libdraw: make ebread() return buffer immidiately if available"
	
	makes mouse sluggish when the program cant keep up as mouse
	events queue up. this more or less restores the original
	behaviour but only for mouse events.

Hash:	34cd9dc4c462ab01ce063a58a40f1317fcb13172
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Wed Sep 18 00:07:06 +0100 2013

	kernel: reset up->setargs on sysexec(), fix race with devproc
	
	up->setargs wasnt reset in sysexec(). also, up->args should only
	be exchanged/freed under up->debug qlock. otherwise double free
	could happen.

Hash:	8a7a6f778dec447480683186dcc43c7e406e7465
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Tue Sep 17 02:08:32 +0100 2013

	ether8169, etherdp83820, ethervt6102: fix snprint READSTR bugs (thanks pap)
	
	should probably use seprint() instead.

Hash:	ad993a2618e4265e4282bdb5faa583fffa6163e3
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Tue Sep 17 00:30:35 +0100 2013

	rio: translate window when scaling results in bad window rect on screen resize
	
	when the screen is resized, we scale the windows to
	match the new screen size. when the screen is too
	small tho, the scaled down window rect might result
	in a bad window rect. before, we kept the window
	in its original position and size making it possible
	to move a window out of the screen by resizing its
	outer rio.
	
	now, if we get a bad rectangle after scaling, we
	just tralslate position to the new scaled r.min
	point but preserve its orginal size. this keeps
	the window always accessible.

Hash:	2fd6c5e0f6e983346084039a12703546f8f70bb9
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Mon Sep 16 23:45:11 +0100 2013

	faces: fix minor image memory leak

Hash:	29f4de5f53947e74dc3d9f5549daf3b135d719fc
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Mon Sep 16 16:28:49 +0100 2013

	rio: fix Xfidwrite memory leak on flush

Hash:	15c7d856bc499da0ae76d3ce9b12b952cfbe7609
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Mon Sep 16 15:23:51 +0100 2013

	apm: fix wrong segment load, zero segment registers
	
	we loaded APMDSEG instead of APMDSEL into DS. (ouch!)
	
	its not really clear why we loaded DS (wong) in the
	first place as bios is supposed to do this. for the
	machines where this worked it could have no effect
	anyway because it was wrong so removing the DS load
	and just zero all segment registers.

Hash:	b5aab824886fa8f441291340bdd4e187c562ddd0
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Mon Sep 16 02:56:53 +0100 2013

	libauth: add sanity check for auth_proxy write size

Hash:	eee51d7720cea1a743545c4bab94bc04f93272fe
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Mon Sep 16 01:10:18 +0100 2013

	aux/statusbar, aux/statusmsg: dont fork in background for window, cleanup

Hash:	c24dd620f91a2ef84b88d2536a469e5358df1b8d
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Mon Sep 16 22:36:06 +0100 2013

	e820: handle duplicate and overlapping e820 entries, handle overflows
	
	new algorithm:
	
	sort entries by top address first. then for each entry we use:
	
	base = max(base, last)
	
	so we'll never map the same addresses twice.

Hash:	c3a8711d12c4b6c56767fe8ef07d96d6ef2978e9
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Sun Sep 15 15:22:21 +0100 2013

	kbdfs: set exit status

Hash:	f8cbd5d12fbbb6834d6c703b91b5f21485373873
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Sun Sep 15 15:21:43 +0100 2013

	nusb/serial: set exit status

Hash:	319bb17e1c1349ffb3c51c4b7654142050984772
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Sun Sep 15 15:04:32 +0100 2013

	vncs: fix cmdpid fork bug
	
	we cannot do:
	
	cmdpid = rfork(... RFMEM);
	
	because cmdpid is a global variable in the data segment
	and hence shared between parent and child process. use a
	temporary variable on the stack.

Hash:	e220636fd305f378a27cfa485d39e7588d6dc03c
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Sun Sep 15 14:14:12 +0100 2013

	vncv: fix missing free for window label

Hash:	474c2c8a2cfeac3058c6bed4504bb3c1715ef79a
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Sun Sep 15 13:45:57 +0100 2013

	upas/fs: fix potential filedescriptor leaks

Hash:	1d4fff69c6ecd348ae50ee16cb3f97183d6295ee
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Sun Sep 15 00:24:08 +0100 2013

	pmmc: add support for Ricoh 5U23 SD/MMC controller

Hash:	56836bfdbdca9fd6a5b608d249d178a22d3337d8
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Sat Sep 14 18:19:08 +0100 2013

	tls: fix various tlsClient()/tlsServer() related bugs
	
	- TLSconn structure on stack but not initialized (zeroed)
	- original filedescriptor double closed in error case
	- original filedescriptor leaked in success case
	- leaked TLSconn.sessionID and TLSconn.cert
	- clarify in pushtls(2) and pushssl(2)

Hash:	be5992955d4e417ca625b07af93a800464d4c11f
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Wed Sep 11 20:23:45 +0100 2013

	acme: use threadexitsall() to tear down mouse and keyboard procs on error

Hash:	6c5deb9b50cc57bbc3874b9eb2da53c89c015273
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Sun Sep 8 23:51:36 +0100 2013

	pci: fix compiler warning about unused variables

Hash:	8aff0e5be65f795b8982bef7a1ec327ed8f114bf
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Sun Sep 8 23:44:08 +0100 2013

	mp/pci: msi support for hypertransport platform

Hash:	058188117b75beb7eb2831b989ce9f2aed9926d0
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Sun Sep 8 19:59:09 +0100 2013

	dossrv(4): remove reference to a:, b:, c:, d: and 9fat:

Hash:	699ea8bd1fac8a39a3d058fde7f3a706662919de
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Sun Sep 8 19:34:58 +0100 2013

	cpu, ratrace, trace: remove unused #include <bio.h>

Hash:	9fd0b3bad12cd5fe2d2c2a5e4173b0077a05f7d3
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Sun Sep 8 18:52:44 +0100 2013

	md5sum, srv: remove unused #include <bio.h>

Hash:	9e695e5321c88d37b7fc69ec67bd264da3c46df8
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Sun Sep 8 18:30:27 +0100 2013

	merge

Hash:	eae48ac6063bac9a9336f90b13ed17a1949ccdb8
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Sun Sep 8 18:25:55 +0100 2013

	sha1sum: remove unused #include <bio.h> (thanks BurnZeZ)

Hash:	8c86eb0079b64dc18bc64ec5635177b38b15883c
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Sun Sep 8 03:48:28 +0100 2013

	fortunes: "Not here, not here the darkness, in this twittering world." -- T.S. Eliot

Hash:	b8c0243773a2cedf9b2215b320e4a446db8b4c21
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Sun Sep 8 01:33:25 +0100 2013

	archacpi: make pcibusno() work on non pci bridges (fixes pciaddr()), distribute irqs in setuplink(), remove debug prints

Hash:	0182cc9db88b4da0a15ad6ee407fa03a3f3ce5b1
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Sat Sep 7 19:07:00 +0100 2013

	acme: avoid useless tagline/window redraw if not needed
	
	window resize is only neccesary if tagline changed.

Hash:	ebf2c5cd6997eb7a200ff7d79734ff0dfd43a748
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Sat Sep 7 17:42:40 +0100 2013

	mk: handle rc blocks in shell quote
	
	this is so we cna handle:
	
	foo = `{echo `{echo bar}}
	
	thanks to erik and friedrich psiorz on 9fans for
	bringing the issue up.

Hash:	12596736e98355fb64702270554e7911dd0d520d
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Sat Sep 7 15:22:35 +0100 2013

	libaml: fix formating

Hash:	ad1edf75418797d444e419cb21af710e9546b6f2
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Sat Sep 7 15:14:08 +0100 2013

	libaml: fix uninitialized variable in getle(), make amleval() work with buildin methods

Hash:	1b32bd5f0f96a9ac3e4de470388f66c1957d8f14
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Sat Sep 7 13:50:17 +0100 2013

	libaml: use FP->env to access method arguments instead of FP->arg in evalosi()

Hash:	dba77caa35d5397aecb22392ea7427557c665d6f
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Sat Sep 7 13:41:08 +0100 2013

	archacpi: implement amldelay(), remove unused variable in setuplink()

Hash:	cf166c38502cdde9ca2ab5de3c4dad70b58328c2
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Sat Sep 7 13:40:24 +0100 2013

	libaml: amldelay(), _OSI(), fix bug in Load() (from plhk's acpi patch)
	
	export amldelay() for microsecond sleeps.
	
	implement _OSI() method.
	
	fix rwreg argument in evalload()

Hash:	81618e61df9a640f756d6f9194904d0c817b98b9
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Fri Sep 6 15:55:13 +0100 2013

	libc: set malloctag for runesmprint()

Hash:	1eb2c757e7ca64221b88e34c56e7e45aa10b3444
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Fri Sep 6 15:54:02 +0100 2013

	scram: remove amlalloc()/amlfree()
	
	these are now part of libaml but can still be overridden
	when needed.

Hash:	616eb1f9ba8e74bbdc2601257743ad832197cfb2
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Fri Sep 6 15:50:43 +0100 2013

	archacpi: experimental handling of interrupt link devices, io access

Hash:	9add5b765f713b78b77736214b17da9d90645a01
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Fri Sep 6 15:48:27 +0100 2013

	libaml: new io interface, add amlnew()/amltake()/amldrop(), late binding names, FindSetLeftBit/FindSetRightBit
	
	new io interface was added. user defines amlmapio() and amlunmapio() functions
	that will fill out Amlio structure with function pointers to read/write
	routines for a particular region.
	
	amlnew() function added allowing the creation of aml objects like buffers
	or packages. these can be passed to amleval() with b, p or * format.
	
	amltake()/amldrop() exclude an aml object from garbage collection.
	
	on load, names are not always resolvable until the whole table is loaded.
	for this, we create n objects that are just name strings. after load, we
	recursively traverse the namespace and resolve them (see fixnames()).
	
	the FindSetLeftBit and FindSetRightBit opcodes got implemened.

Hash:	95fac5e87304a50f7e93de94f0f682ec06565006
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Wed Sep 4 23:55:58 +0100 2013

	libhtml: fix potential linked list corruption
	
	the difficulty is freeing items while parsing because items might already
	be linked into various linked lists like in docinfo.images or form.fiels.
	so we link images, tables and formfields to the docinfo as the final step
	of getitems() pass using the new recursive function linkitems(). as only
	reachable items get linked theres no danger of dangeling pointers.

Hash:	cca9a1b52381fe2c839350226eceeb1cc987c27f
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Wed Sep 4 20:27:59 +0100 2013

	abaco: fix memory leaks

Hash:	32236b49573cbc081515883d4d371c4a160daeb9
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Wed Sep 4 20:27:15 +0100 2013

	libhtml: fix memory leaks

Hash:	425338fd1f31209429ca62f5d9f89ecd01eee86c
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Tue Sep 3 20:27:48 +0100 2013

	webfs: add exits(0) to main()

Hash:	c1562daee03b1f077befb970ae3380cf52b2c679
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Mon Sep 2 22:18:46 +0100 2013

	libhtml: fix double free of form action

Hash:	b14138c2ae17ac725bd48ab736414770aed6d656
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Sun Sep 1 20:18:11 +0100 2013

	9bootfat: always try plan9 partition even when not marked active, fix bug
	
	always look for 9fat in plan9 partition even tho the partition
	is *not* maked active. marking partitions active is not
	recommended anymore with grub so this makes life easier for
	some people. multiple plan9 partitions on a single drive
	is not supported.
	
	have to copy partition table as buf gets trashed when reading
	first block of fat partition. it worked only when the first
	fat partition found (the one marked active) was the right one,
	but conffat() can fail.

Hash:	243cb68011ac5335bb2f9fc146d0f6be2d283fa9
Author:	ppatience0 <ppatience0@gmail.com>
Date:	Sat Aug 31 18:39:51 +0100 2013

	jpg(1), jpg: add -y flag to usage
	
	png: colorspace will never be CYCbCr (this is no
	doubt from copy-pasting from jpg)
	
	tif: everyone else uses colorspace as a function
	argument, so we will too
	
	readtif, writetif: credit paul bourke

Hash:	f104cc9d79940e4f2c15ceaafa765a3cc94c817f
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Fri Aug 30 15:00:03 +0100 2013

	usbehci: portreset timing
	
	assert port reset for 50ms, not 10ms.

Hash:	f459320bb495060d0b85b975530e87ce6dc43c1d
Author:	mveety <mveety@gmail.com>
Date:	Thu Aug 29 04:05:52 +0100 2013

	removed unused variable resize in wind.c

Hash:	ba7c22f781dafd30d0b97179c941476639022285
Author:	mveety <mveety@gmail.com>
Date:	Thu Aug 29 04:01:23 +0100 2013

	Added the p9p acme patch the allows multiline tags (thanks rsc and lf94).

Hash:	12ecb3e568312f881bfcb22bef71d5a00cfab196
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Tue Aug 27 18:01:41 +0100 2013

	usbehci: fix portreset.
	
	Port Reset R/W. 1=Port is in Reset. 0=Port is not in Reset. Default = 0. When
	software writes a one to this bit (from a zero), the bus reset sequence as defined in the
	USB Specification Revision 2.0 is started. Software writes a zero to this bit to terminate
	the bus reset sequence. Software must keep this bit at a one long enough to ensure the
	reset sequence, as specified in the USB Specification Revision 2.0, completes. Note:
	when software writes this bit to a one, it must also write a zero to the Port Enable bit.
	Note that when software writes a zero to this bit there may be a delay before the bit
	status changes to a zero. The bit status will not read as a zero until after the reset
	has completed.

Hash:	d76eccaf88ee1e44211eeff52970221abf9f1acc
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Mon Aug 26 23:34:17 +0100 2013

	imap4d: apply djc's patch to fix search (from /n/sources/patch/imap4d-cistrcmp)
	
	Fix SEARCH command in imap4d by replacing the cistrstr typo with cistrcmp.

Hash:	43d3c87294b34d1a79d3789518eee75f2ead246b
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Tue Aug 27 22:57:17 +0100 2013

	devproc: properly handle exclusive refcount for /proc/trace

Hash:	84109a3159249369d1869fd887a7040b766e4540
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Tue Aug 27 22:27:46 +0100 2013

	devshr, devaudio: openmode()/devopen() error handling

Hash:	52a84514acca8c2afc7e33c6f3f7d95235cad75e
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Tue Aug 27 22:26:30 +0100 2013

	devmouse: fix openmode() handling
	
	openmode() can raise error with invalid mode passed, but we already
	incremented the exclusive mouse refcount at that point! call openmode()
	early to avoid this.

Hash:	244d2ee84b1367ee7eb60395f75a5cb9bc5616a6
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Tue Aug 27 22:23:29 +0100 2013

	devkbd: fix wrong refcount on open error
	
	only decrement refcount when file was successfully opend
	on clunk, fix refcount when devopen() errors.

Hash:	5e37e6361c8294da8bc311e626cad3fe781e3e67
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Sun Aug 25 17:50:14 +0100 2013

	etheriwl: recover from rfkill toggle or firmware crash
	
	spawn a kernel process to check the broken state of the controller.
	if the firmware crashed, or rfkill was toggled we will reset and
	reboot the firmware. also power down the card when rfkill is off.

Hash:	334054e0e7c80a8b6b817089214e5282174fc7c9
Author:	ppatience0 <ppatience0@gmail.com>
Date:	Sun Aug 25 00:18:15 +0100 2013

	nusb/ether: add aue driver for admtek pegasus usb ethernet adapter

Hash:	808480f76bedbbe4215da11de31f7403de668b2a
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Sun Aug 25 21:03:02 +0100 2013

	usbehci, usbuhci: paranoia
	
	double the td abort delay and make sure the tsleep() isnt
	shortened by a pending note. in that case, tsleep() would
	raise error(Eintr); immidiately and would not sleep the
	requested amount potentially cauing us to release active
	dma memory too early! so we wrap the tsleep() call in a
	while(waserror()) so we will at least wait the Abortdelay
	amount if error is raised.
	
	also, only try to idle the still active td's.
	
	do not copy data in epio() when there was an error, theres
	no reason to touch user buffer in that case.
	
	for uhci, we also check that theres not more data in the
	buffers than requested to avoid overflowing user buffer
	in epio(). this should not happen but we'r paranoid.
	
	for ehci, we also halt the queue head first in aborttds().
	mark the queue heads as Qfree after unlinking and remove
	some silly nil checks that are impossible.

Hash:	1556afae40c09034f2e1e53570c61593912c4fd4
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Fri Aug 23 20:48:52 +0100 2013

	2c(1), torrent(1), uhtml(1), kbd(3), cwfs(4), hgfs(4), cifsd(8), cryptsetup(8), hjfs(8), kbdfs(8), realemu(8), wpa(8): fix spelling, typos

Hash:	eca2dbed8b9872f8071b0e8ddc2d1da3f097f283
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Fri Aug 23 16:27:30 +0100 2013

	audio(1), hget(1), nusb(4), page(1): fix spelling, typos

Hash:	d2ac298a804f190c17557a0a8acf15f6b241ec30
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Fri Aug 23 16:15:52 +0100 2013

	webfs(4): read the whole man page before committing corrections

Hash:	e1dfd6defe689d4e2213361e1257183e1ea7ecc8
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Fri Aug 23 16:07:59 +0100 2013

	webfs(4): fix typo

Hash:	4ac8d862c19472a79722edf6033430825f45c659
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Thu Aug 22 22:58:51 +0100 2013

	webfs(4): correct typo

Hash:	89c964d0a441963261d185ae2bffca327093fe6e
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Thu Aug 22 17:15:29 +0100 2013

	fortunes: seems that so much is up on the net, it is hard to comprehend it all.

Hash:	e1121601050fa218628d547430e3a795c65ff19f
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Thu Aug 22 17:14:57 +0100 2013

	file(1): recognize AAC audio files, from sources

Hash:	e5095cca49507717a4d589cf25e42361695f8225
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Tue Aug 20 18:48:39 +0100 2013

	wifi: remove pool.h include

Hash:	9a3a722ddeb73c7816bbbfa62f0d4accefdcae2b
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Tue Aug 20 22:56:15 +0100 2013

	rc: flush environment variables (update /env) before fork
	
	on races... normal forks will all share the /env environment but
	not the in memory variables of rc. so when we would normally fork
	whoever does an exec (flush) first will override what the values of the
	/env variables are, *independent* of the variables that where
	actually modified *in* the process.
	
	when we flush *before* fork, then at least both processes start out
	with marked clean in memory variables and the processes will flush
	only the things they actually change.

Hash:	d8cd5d197de6756443c4a5aa109ff78656ebc200
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Tue Aug 20 22:48:18 +0100 2013

	rio: position keyboard window (-k) at the bottom of the screen

Hash:	a0bc81f0bee79302482f8539a1b3090ddca387a1
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Tue Aug 20 22:36:04 +0100 2013

	bitsy/keyboard: dont resize our own window
	
	the resizing fails if run with rio in rio. dont try
	to be too clever.

Hash:	dda7b2c49fe54d500769216f37b54d189b3b03a4
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Mon Aug 19 15:07:07 +0100 2013

	wpa: repeat rsne setup after deassociation (roamng between access points)
	
	the "auth" ctl command only sets the rsne of the current selected
	access point. so on deassociation, we wait for the connection to
	the potentially new access point and then setup new rsne before
	processing eapol messages.

Hash:	232dad19ad9b55895df872d5b1e7f8011b020e64
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Thu Aug 15 17:12:26 +0100 2013

	fortunes: GitHub is down...uh...now what?

Hash:	3c3a573562d3da453db59adf53baba81c4606b27
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Wed Aug 14 23:29:42 +0100 2013

	libsec: only send client cert when we have one (fix regression from r6e976b2004dd)

Hash:	c23a2f6a798cabd3a51274f2fbd214b7286720f3
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Wed Aug 14 17:49:45 +0100 2013

	libc: Prevent infinite recursion when modf is called with NaN or Inf argument. (apply richard millers / modf-nan patch from sources)

Hash:	508b53a29a74d2ded6b15ffc8be0a182b258869a
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Tue Aug 13 20:46:13 +0100 2013

	libdraw: fix leftover processes or programs failing to restore window labels when receiving interrupt note
	
	fix the default note handler for event programs. only handle non system
	notes or notes in the slave processes. for interrupt in the main process,
	just call exits() which will do the cleanup and restore window label
	properly.
	
	this makes completely overriding the note handler in gping and
	stats uneccesary.

Hash:	df9597ecde1687ac037101314b477c0f01d3b6a6
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Mon Aug 12 18:28:10 +0100 2013

	resample: fix XRGB32 color channel handling

Hash:	1b58ec9279f0740d505ea15074b497295573d135
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Mon Aug 12 02:43:42 +0100 2013

	esd: enlightenment sound daemon
	
	this program allows one to stream audio from linux/windows
	to plan9 /dev/audio. sometimes handy to augment vnc sessions
	with sound.

Hash:	d4f39b35bfbcedea83b3f3b4538697dbfcae70d0
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Sun Aug 11 23:40:09 +0100 2013

	games/doom: remove useless allocation of screen[0] buffer
	
	screens 0-3 are already initialized by V_Init().

Hash:	762093d2125c0f6efffd55697e6b580dd607ccf3
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Sun Aug 11 23:08:51 +0100 2013

	games/juggle, games/catclock: keep up with queued mouse events
	
	many queued mouse events delay eresize() because
	new ebread() takes from the queue first before attempting
	to read from the event pipe. this is a waste of memory, so
	just process (dequeue) all the events as long as there are
	any on each iteration.

Hash:	883ded7b49fc9775d5bca5cb03dcec6d006dc92d
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Mon Aug 12 22:31:53 +0100 2013

	catclock: protect black border with clip rectangle and dont print when window is too small

Hash:	09d3dbc74199e0c181e09f51c8f88e94c1c6adcb
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Sun Aug 11 17:32:42 +0100 2013

	ether6105m: increase timeouts for Soekris 5501s (from sources)

Hash:	5fce388abfaf774d31937a4bcef490c6ce0db994
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Sun Aug 11 17:23:22 +0100 2013

	create /sys/lib/ssl

Hash:	bf10f672ecc473547b44f98c5fda0754adf4b1b6
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Sun Aug 11 07:34:34 +0100 2013

	vt: fix off by one memory corruption
	
	account for the final 0 byte in host_buf.

Hash:	09d465a9761be085b697b4ec342f5022469eb29a
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Sun Aug 11 07:31:53 +0100 2013

	libdraw: make ebread() return buffer immidiately if available, cleanup
	
	this reduces number of syscalls and improves performance for vt

Hash:	62bd2ae8b910b56dd6cbc50c4d9573e2eac6f1ad
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Sun Aug 11 07:22:21 +0100 2013

	libdraw: fix ekbd() memory leak

Hash:	4e3a8e41fb8b46f46f19f0dcdc170bc704c907e2
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Sun Aug 11 01:19:02 +0100 2013

	tm2sec: assume local timezone when Tm.zone[0] == 0 (fixes dossrv, zipfs timestamps)
	
	from the manual:
	
	Tm2sec converts a broken-down time to seconds since the
	start of the epoch.  It ignores wday, and assumes the local
	time zone if zone is not GMT.
	
	so we can assume localtime if Tm.zone is not set to GMT.
	
	all code that wants no localtime conversion should set
	Tm.zone explicitely to GMT. (see previous commits)
	
	tm2sec() now does the reverse of localtime() when Tm.zone[0] == 0
	which seems to be what the calling code (dossrv, zipfs) assumes.
	this also makes sense because theres no simple way todo it
	outside of libc as theres otherwise no access to the timezone
	structure with the daylight saving periods.

Hash:	9fb29e09ea09ccdc4d99c72faf3b428daee83cc5
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Sun Aug 11 00:36:03 +0100 2013

	cifs: fix timezone for timestamps
	
	tm2sec() ignores tm.tzoff and will use the local timezone for
	conversion. to make it work right, we convert the dos timestamp
	as GMT and then correct timezone with the offset provided by the
	server.

Hash:	c7b56cfe584e231ae6117bd6741db0d75ebca4d4
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Sun Aug 11 22:21:13 +0100 2013

	auth(8) commands: fix uninitialized Tm.zone in getdate()

Hash:	f5363206986da1454af74af354d100c3f12d4e1e
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Sat Aug 10 15:40:36 +0100 2013

	TEQ with S bit = 0 would be pointless, so ARM uses this case to encode "miscellaneous"
	instructions like BKPT, BX and BLX.  Decoding these correctly allows db/acid to
	single step through BX and BLX on armv5t+, and to show a breakpoint instruction
	as 'BKPT $#0' instead of 'TEQ R0@>R0,R0'.

Hash:	fde528ace40c6ac9206da1b7db5e9f092b3a64a2
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Sat Aug 10 07:55:39 +0100 2013

	tcp113: fix null list in concatenation error

Hash:	bfe852b3a29799c8810c735acbeba907f02881f2
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Sat Aug 10 07:47:43 +0100 2013

	nusb/kb: *really* only send to mousein when mouse state actually changes (zero detlas, same buttons)

Hash:	2012ba4d03039597b4eb7ad2174949ab666105f1
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Sat Aug 10 07:37:13 +0100 2013

	revert previous commit... stupid idea

Hash:	f887f713207d40d1d3269b1e1bc29dc53697ab85
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Sat Aug 10 06:59:54 +0100 2013

	nusb/kb: only send to mousein when mouse state actually changes

Hash:	dfe6118e302d63d21251aa18fb1d12e15bcbe482
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Sat Aug 10 02:58:52 +0100 2013

	rio: fix unused variable warning in wscroll()

Hash:	66531b005f61368f6f8edcd7641b3894ff8d4c29
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Sat Aug 10 02:54:55 +0100 2013

	rio: shorten overlong window labels

Hash:	e71ff9dc18c0e4d0cd63f0c168e64205af4ccb5a
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Fri Aug 9 17:23:08 +0100 2013

	mothra: log post data with debug flag, increase max token length from 1K to 4K

Hash:	4c272d44c50c4ed947b93f66e2684747c72ddec4
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Fri Aug 9 16:25:57 +0100 2013

	merge

Hash:	0e8fecdad5806e8cd152059f3fded91d712ec550
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Fri Aug 9 16:24:48 +0100 2013

	mothra: fix nil pointer dereference

Hash:	e76523a2759c6bfdecdb35b1690b1937894d90f5
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Thu Aug 8 00:53:51 +0100 2013

	/lib/br: That's no way to treat a friend.

Hash:	7c25ff0c11aaa58da9a1083a282a5fbe1e870119
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Thu Aug 8 00:44:20 +0100 2013

	sam: avoid thread stack overflow with 32bit runes (from sources)

Hash:	a28bdd3e1f4f02626ddad3bede139e4c245e8fb0
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Thu Aug 8 00:07:01 +0100 2013

	cwfs: fix out of order replies
	
	using a shared reply queue and a pool of worker procs does
	result in replies to be send out of order under some conditions.
	the symptoms are mnt errors when interrupting requests (Rflush
	arriving before the original requests response).
	
	this change gives each connection its own reply queue and its
	own srvo process. so now a connection consists of one reply
	queue, a srvi process reading the connections file descriptor
	and a srvo process reading the reply queue and writng replies
	to the connections file descriptor.
	
	the srvi processes live as long as the connection is established.
	the srvo prcoesses live forever and are attached to the chan
	(which gets reused).
	
	to avoid excessive process creation, we limit the number of
	connections to 30. srvchan() returns nil when all 30 network
	channels are in use.

Hash:	28ff3a3cda61ea5e51aa26cdf625aa08103f491e
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Wed Aug 7 02:38:56 +0100 2013

	ups: fix typo

Hash:	cc542f2b2d8102b2e18662b8a7cae87c0a849506
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Wed Aug 7 02:36:11 +0100 2013

	ups: give me my computer

Hash:	3663ffeefacb34fc131b3ca8995783ce8dc1bd83
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Wed Aug 7 00:32:11 +0100 2013

	cwfs: use atomic compare and swap to avoid semacquire() syscalls in new queue implementation

Hash:	2c8f291db2f04b4f87c01fcd3344c8d2fb1f8e89
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Tue Aug 6 19:52:13 +0100 2013

	fortunes: God bless the people who employ you, they need the blessing.

Hash:	2f3f8d50c12ee5eff9d6672b38d7c0710cfea741
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Mon Aug 5 05:25:23 +0100 2013

	wikifmt: handle & as &amp; in anchor name, cleanup

Hash:	98c6d867fd1e874b756962575e2d9b30ca20ca1f
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Mon Aug 5 05:17:24 +0100 2013

	wikifmt: more complete title to name= anchor translation

Hash:	684cf70857e78a209a794c6a699e7022c7c5ab0c
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Mon Aug 5 03:21:34 +0100 2013

	rio: make sure flush replies are send only *after* the request got flushed or was replied
	
	due to the xfid handlers clearing flushtag too early, xfidflush might respond too early
	causing spurious replies send later by the handler. now, we clear the flushtag in
	filsysrespond *after* the reply was send. xfidflush will wait for us on the active
	qlock.

Hash:	1df707a0b2aaddb750fb707ae413dc67a19027a3
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Sun Aug 4 23:25:40 +0100 2013

	unsticky scrollbars
	
	scrollbars used to put the mouse on the scrollbar while scrolling. if latency
	is high, this often results to the cursor jumping back. instead, make button 2
	srolling work without needing the mouse to be inside the scrollbar and leave
	the mouse position alone.

Hash:	cdc0b89d816aab6322e04f715019a7f8da2f2b75
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Mon Aug 5 21:31:37 +0100 2013

	fix this megashit

Hash:	75e34ca08a98029f980ee402a13117a1b86aaac4
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Mon Aug 5 21:27:06 +0100 2013

	merge

Hash:	308bbffc33d1f3a96a9788adc5de35809d2548e3
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Mon Aug 5 21:25:52 +0100 2013

	cwfs: rollback last change
	
	the ref qlock is required to keep requests in order for flushes, sorry.

Hash:	755108a1446fe9571717f9b28b731137755248e5
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Mon Aug 5 21:07:50 +0100 2013

	cwfs: remove reflock
	
	queues allow multiple readers, reflock seems unneccesary.

Hash:	e3d959128398dd7b770d58f1ea8e97b2405e51d8
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Sun Aug 4 05:47:56 +0100 2013

	cwfs: faster queue implementation using semacquire()

Hash:	24349c52b4fc930d183cf4ec4d7f4b6275e7cb0d
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Sun Aug 4 05:45:58 +0100 2013

	rio: add ^B control sequence to move cursor to output point

Hash:	a269ced358a6c79708a41c42ae1978599fb5634a
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Sun Aug 4 00:52:46 +0100 2013

	apply richard millers arm debug fixes (from sources)
	
	From richard:
	
	A couple of patches applied yesterday should make debugging on ARM a
	bit more reliable.  Using db or acid on ARM, you may have noticed that
	a program being debugged would sometimes execute through a breakpoint
	without stopping, or run away while being single stepped.  It turns out,
	as often happens, that one symptom had two separate causes.  For details:
		/n/sources/patch/applied/5db-condcode/readme
		/n/sources/patch/applied/arm-bkpt-cond/readme
	
	To take advantage of the patches, rebuild libmach.a, then acid and db.
	On machines with a kw kernel (sheevaplug et al), you'll also want to
	rebuild /arm/9plug; otherwise breakpoints will stop working at all.
	The new 9plug will, however, still work with the old libmach; and
	the bcm and teg2 kernels are already compatible with the new libmach.

Hash:	7dee88ec33e281ae3771e95b6dfe35e9f6ce4fd4
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Sat Aug 3 23:52:39 +0100 2013

	dns: ignore spam addresses from cname answers

Hash:	631ac3d2e229835e15d5c5e9906d118c19f1c0c1
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Sat Aug 3 16:37:20 +0100 2013

	page: maintain a lru list and do unloading from oldest to newest

Hash:	79b16616d7a4dd7038dc3b3a5a72beb51efa7b03
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Sat Aug 3 04:45:40 +0100 2013

	libhtml: handle &apos; character reference
	
	the &apos; is not strickly html, but can appear in xhtml files.

Hash:	041eb4b30d035f3b1fd610dab5f291559355b2c8
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Sat Aug 3 03:11:24 +0100 2013

	page: use less aggressive read ahead and keep track of image memory allocation

Hash:	3904a8357d945b32daf2ea555f7d1fbd57a35e7f
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Fri Aug 2 16:52:51 +0100 2013

	do not limit kernelpercent IFF *imagemaxmb= is used on a cpu server
	
	the heuristics that limits kernel memory on a cpu server to
	a fixed amout (64MB + size for page tables) makes using devdraw
	impractical.
	
	if *imagemaxmb= is specified, we can assume that the draw device
	will be used so we want to get a reasonable amount (30% default)
	of kernel memory.

Hash:	1c379c1667ce6d18849691c65b0960e9984e78a0
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Fri Aug 2 02:47:27 +0100 2013

	inst: remove systype step. system will be terminal with a disk after installation.

Hash:	c3c228a108bf4220e5471700029b713242a87eb2
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Fri Aug 2 02:24:49 +0100 2013

	merge

Hash:	b0a470fa0d47cf46d47aec7229f97c6ef700dcb1
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Fri Aug 2 00:22:53 +0100 2013

	smtp: fix -t flag

Hash:	bbf7f29d26d8db919c240f4d4704d390bd1c436c
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Thu Aug 1 04:45:21 +0100 2013

	tcp993: we're not plan9.bell-labs.com

Hash:	833831ad98a27b1a1b7b5136224741392659d2ba
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Wed Jul 31 01:52:23 +0100 2013

	add /lib/br

Hash:	2353a35dc8bd948145f5cd3ac6e65ebb1995c323
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Tue Jul 30 21:51:40 +0100 2013

	ether82567: determine phy number by probing phy id registers
	
	link status not working on 82567 was due to wrong phy number
	used. instead of hardcoding the phy numbers, probe the phys
	by reading id1 and id2 registers (code stolen from ethermii).

Hash:	3b06ca8566fb90eaf4118144ea4750cea914ea9f
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Mon Jul 29 01:32:16 +0100 2013

	ether82563: make link status work for 82567
	
	on the 82567, reading any phy register just gives 0 back.
	however, the card works just fine and no action is required
	to (re-)start auto negotiation. so we add maclproc() which just
	reads the speed setting and link status from the mac status
	register instead of reading the phy registers.
	
	we'v probably seen this symptom on other cards (link: 0) like
	82566. we should test if we can make link status work on
	these cards as well by just using the maclproc().

Hash:	c23715d2686823cc6821b218eb9e12691d9506fd
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Sat Jul 27 11:39:34 +0100 2013

	ether82598, etherigbe: remove receive buffer pool optimization

Hash:	95b774541964aec1fcffa010ca6e50d37e5baa56
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Sat Jul 27 09:33:51 +0100 2013

	ether82563: fix mistake (missing buffer alignment)

Hash:	b116a9ad3367c9f77f03eecea483da4ca62b864c
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Sat Jul 27 08:25:36 +0100 2013

	ether82563: remove buffer pool optimizations
	
	rx pool exhaustion causes the system to deadlock when netbooted.
	queue management should (etheroq) already makes sure the systen
	can keep up with the data thowing away buffers.

Hash:	2009d55643b87d6d0618c2fcfce5c440147138eb
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Fri Jul 26 03:37:32 +0100 2013

	ether82563, etheriwl, pmmc: fix potential multiprocessor races with wakeup
	
	make sure that the wakeup enable conditions
	are seen by different processors before sleep
	is called.
	
	the problems havnt been observed so far.

Hash:	ac52599eef2ab79a64c30a8046a51b62501ca9ab
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Fri Jul 26 00:51:03 +0100 2013

	ether82563: avoid deadlock due to icansleep() trying to acquire Rbpool.Lock
	
	icansleep() violates the lock ordering due to the following cases:
	
	rbfree(): ilock(Rbpool.Lock) -> wakeup(): spli(), lock(Rbpool.Rendez)
	sleep(): splhi(), lock(Rbpool.Rendez) -> icansleep(): ilock(Rbpool.Lock)
	
	erik fixed this moving the wakeup() out of the ilock() in rbfree(),
	but i think it is an error to try acquiering a ilock in sleeps wait
	condition function in general.
	
	so this is what we do:
	
	in the icansleep() function, we check for the *real* event we care about;
	that is, if theres a buffer available in the Rbpool. this is to handle
	the case when rbfree() makes a buffer available *before* it sees us
	setting p->starve = 1.
	
	p->starve is now just used to gate rbfree() from calling wakeup() as
	an optimization.
	
	this might cause spurious wakeups but they are not a problem. missed
	wakeups is the thing we have to prevent.

Hash:	2759b81decc991f756044942459ecc8ba92b32fd
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Wed Jul 24 21:17:13 +0100 2013

	ether82563: work arround for 82579LM on Lenovo X230
	
	dont reset the the phy on reset as this causes the link
	to be stuck at 10mbps.

Hash:	9a5763624f6148ddfa5227970b6d22c032089f69
Author:	ppatience0 <ppatience0@gmail.com>
Date:	Sun Jul 21 23:13:27 +0100 2013

	etherrt2860: add rt3090 support and make style more consistent

Hash:	776056dcd095c48fa0006c4150b98ad77423c1e6
Author:	ppatience0 <ppatience0@gmail.com>
Date:	Sun Jul 21 15:56:11 +0100 2013

	readtif, writetif: remove multiplication in inner loops of predict functions

Hash:	176569ca4d97b271f6e3697bdc5b6e50fb5ff30b
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Sun Jul 21 13:41:51 +0100 2013

	apply erik quanstros tcp-bdp patch (from sources)
	
	this patch consists of two bits of work submitted as one
	patch.
	
	the first bit fixed a "pacing" problem, where a tcp connection
	rate-limited by the reading process would experience 10%
	of the expected throughput, and could even get into live
	lock.  it was noticed at the time of this initial work that
	the stack often sent tiny grams.  some good bits from nix'
	original tcp were merged in.  the test program
		/n/sources/contrib/quanstro/tcptest.c
	will verify that under most conditions, a reader-paced connection
	now gets the expected throughput.  expected arguments
	would be
		tcptest -s1 -n 5000 -l
	
	the second bit is a first step in preparing tcp to handle
	modest (1-2MB) bandwidth-delay products.  the strategy
	was to completely implement NewReno.  the testing network
	was a 7/35/70ms by 100Mbit wan emulator with 0/.05/.1% loss.
	here are the performance comparisons from the changes after
	the first round "old" to the submitted patch "new".  the
	smallest improvement was 80%, the largest was 11x.
	
	loss%	rtt	old	new
	0.10	7	4.40	7.85
	0.10	35	0.88	1.79
	0.10	70	0.47	0.84
	0.05	7	4.80	9.38
	0.05	35	1.00	2.02
	0.05	70	0.52	1.77
	0.01	7	5.33	11.87
	0.01	35	1.14	10.97
	0.01	70	0.54	4.75
	0.00	7	4.49	11.92
	0.00	35	1.04	11.35
	0.00	70	0.58	10.56
	
	since the diff is not very easy to read, i wrote a small
	paper detailing the changes
	
		http://www.quanstro.net/plan9/tcp/tcp.pdf
	
	- erik

Hash:	638a82236264f32f8988a3bf4b2933df409f5f55
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Sat Jul 20 23:55:56 +0100 2013

	abaco: use faster resize instead of resample for image scaling

Hash:	61c82d2bb83ae7c8d6bc47d0ea2b1bd5a117b4f0
Author:	ppatience0 <ppatience0@gmail.com>
Date:	Sat Jul 20 23:19:20 +0100 2013

	readtif: simplify rounding in other places

Hash:	171db68c3dfb64b7d4671f7ba68ff9e0b5e726df
Author:	ppatience0 <ppatience0@gmail.com>
Date:	Sat Jul 20 23:00:34 +0100 2013

	readtif, writetif: simplify rounding

Hash:	0fc3aa99a1679e3d853c5be9358a6a33a76d7694
Author:	ppatience0 <ppatience0@gmail.com>
Date:	Sat Jul 20 21:56:29 +0100 2013

	readtif: if getbit returns less than 0 during eol fill bits, return early

Hash:	92b14e72b006f7226f17cad25f92224a96b2e6da
Author:	ppatience0 <ppatience0@gmail.com>
Date:	Sat Jul 20 21:42:33 +0100 2013

	readtif, writetif: prevent buffer overflows in some corner cases

Hash:	105155880c05e0edb112b2b03597c6fab5830429
Author:	ppatience0 <ppatience0@gmail.com>
Date:	Sat Jul 20 17:11:52 +0100 2013

	tojpg, totif: change flags to better match those of the decoders

Hash:	360cabb85846e4d344d6f9aaf4082cf42683a91c
Author:	ppatience0 <ppatience0@gmail.com>
Date:	Fri Jul 19 07:16:43 +0100 2013

	readtif: fix many bugs
	
	totif: add tiff encoder

Hash:	24a5720bec7a90e94ab13d3c32b27f39585a1039
Author:	ppatience0 <ppatience0@gmail.com>
Date:	Fri Jul 19 06:07:15 +0100 2013

	writejpg: the call to Bflush() is unnecessary; free data before exiting in case of malloc error
	
	writeppm: do not print a space after the last pixel

Hash:	b0cd0020dfe482780d24faee59beb5c1bf8635d7
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Thu Jul 18 19:56:19 +0100 2013

	mothra: use pldraw() to put cmd box on screen for alt display
	
	the cmd box is not part of the alt display hirarchy. for command
	typing to show the box in alt display, we call pldraw() on it
	in eresized() to initialize its cmd->b image so it knows where to
	draw itself on typing.

Hash:	4755fce1dc286432a952fa5acb54c7fa880fe1b2
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Thu Jul 18 15:16:31 +0100 2013

	wpa: wait for bss to connect
	
	waiting at the auth command is too late because we want to
	read the brsne first to build the rsne used in the auth message.

Hash:	b6122a4c42b4f078f671a62c95a8147e34ffb38c
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Thu Jul 18 14:30:53 +0100 2013

	wifi: make "auth" command non-blocking, let aux/wpa do the waiting for bss scan to complete.

Hash:	24e8c78cb22952b5ba6dace99c5378cd7762b977
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Thu Jul 18 14:04:37 +0100 2013

	cwfs: add rtmp flag for check command to remove temporary files after recover

Hash:	8ef9f7bbeebb5849c2e777b6da856b63bf484778
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Thu Jul 18 10:18:31 +0100 2013

	mothra: restore usage fix, document -a option in manual

Hash:	26e93aa49cea698684f8a5152a87a1662fc28b00
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Thu Jul 18 10:03:39 +0100 2013

	mothra: add -a flag to start in alt-display mode

Hash:	07b4aeeacc74347b47baaa232e01967594e85bb0
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Thu Jul 18 01:25:57 +0100 2013

	mothra: fix usage

Hash:	a7a90b2f3c8ac762e92753970b5a2daa6746a68b
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Sun Jul 14 17:37:10 +0100 2013

	abaco: remove unused stuff, move pipeline() into util.c

Hash:	1bc8f697807a8c93bc0903cb6c9879a4b33ea1d3
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Sun Jul 14 17:31:07 +0100 2013

	abaco: simplify, pipeline html directly thru uhtml

Hash:	1f850cbab17f02eeccaf70332254188101ee8327
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Sun Jul 14 15:44:16 +0100 2013

	uhtml: honor default charset -c when not found in document

Hash:	1af732323852c6e6a06f7c3e84899d9055289c62
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Sun Jul 14 15:31:59 +0100 2013

	abaco: use uhtml to handle charset conversions

Hash:	0ca4c2ea45cc83057e969862d32c02a015da1dbc
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Sun Jul 14 00:56:51 +0100 2013

	pmmc: remove unsued initfreq vairables

Hash:	aa671181e86bc0560dbabf347a6480d39881f52b
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Sun Jul 14 00:33:07 +0100 2013

	add ricoh pci sdmmc host controller driver for X230
	
	the driver should work for standard sdhc
	(see http://www.sdcard.org/) controllers,
	but matches for the ricoh controller only
	as it was the only one i have for testing.

Hash:	deaa290f857425c0dacb0ac65312925490da8bbe
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Fri Jul 12 00:58:47 +0100 2013

	aml: preserve reference type when indexing into package to prevent implicit type conversion when storing to arg or local
	
	if LocalX or ArgX is a package, the store into
	a element should *not* type convert. so when taking
	the index reference, we have to carry over the type.

Hash:	7b08f4496bbb1f6ead932d650d6572e754a98ee7
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Thu Jul 11 23:32:59 +0100 2013

	pci: add Intel 82hm67 southbridge

Hash:	ff4d45d147d69bca49be0971d641ce2137538f96
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Fri Jul 12 22:16:49 +0100 2013

	rexec: redirect error (fd=2) to network for tcp17009
	
	the new listen doesnt redirect stderr for us, so do it
	in the service script.

Hash:	4c47ba6996843c6bf2e6f4b300ef405c1f23ac74
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Thu Jul 11 19:06:34 +0100 2013

	mothra: handle empty attributes (for base-tag and others...)
	
	empty href="" attribute in base-tag causes the page to break.
	while at it, handle empty attributes in other parts of the
	code as well. (mostly stuff like id, name shouldnt be empty)

Hash:	ee67552c4bbe674461e7db7b87ceef0a742aeac7
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Thu Jul 11 18:01:03 +0100 2013

	cc: fix include array overflow handling

Hash:	d0bde76422762967107003433de7ddf022083410
Author:	mveety <mveety@gmail.com>
Date:	Thu Jul 11 02:22:11 +0100 2013

	merge

Hash:	72cde47068ac541c5e054319c1b7c48efdc937db
Author:	mveety <mveety@gmail.com>
Date:	Thu Jul 11 02:16:15 +0100 2013

	fixed the bug that arisawa posted about on 9fans where file(1) would mistake 386 intermediates for HTML files.

Hash:	4102ba93d6a6ea8c60e61534a8147ca0d353784c
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Tue Jul 9 18:17:38 +0100 2013

	increase MaxEther to 64 avoiding "too many ether cards" panic

Hash:	2d101158e48e424a318b4027be2b3db72d057443
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Tue Jul 9 17:52:01 +0100 2013

	add erik quanstros yukon2 ethernet driver

Hash:	efe1c9087a1deaadc8c541d699ff5f3f47ac1e5c
Author:	Alexander Polakov <plhk@sdf.org>
Date:	Tue Jul 9 14:41:25 +0100 2013

	Add rt2860 to plan9.ini(8)

Hash:	6cf9d283ed93507492d34e59ae6541951a668432
Author:	Alexander Polakov <plhk@sdf.org>
Date:	Tue Jul 9 13:16:28 +0100 2013

	Add Ralink RT2860 wireless driver

Hash:	22cc50307ba856e69757ade333e50cdaca83a8c2
Author:	Alexander Polakov <plhk@sdf.org>
Date:	Tue Jul 9 13:12:04 +0100 2013

	wifi: make wifihdrlen() public
	
	 Required for upcoming RT2860 driver

Hash:	33c3a22cb04a7ab7417b1f1b77d68f254dfacc25
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Mon Jul 8 20:00:19 +0100 2013

	merge

Hash:	41c306dfdaa930e25f0315cf21e732731c9e856d
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Mon Jul 8 19:50:39 +0100 2013

	page: handle combination or -w and -R flags (thanks BurnZeZ)

Hash:	94fea3b1a634ef59cab1fa32430d9184d60a7614
Author:	ppatience0 <ppatience0@gmail.com>
Date:	Mon Jul 8 19:19:22 +0100 2013

	dc(1): typo

Hash:	bb11bb1c1f18660c29d5bc46e8de049fd03ff2a0
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Sun Jul 7 20:02:46 +0100 2013

	vesa: fix blank/unblank wakeups
	
	it could happen that we unblanked while vesaproc was
	currently blanking (when manually blanking using vgactl
	for example). the wakeup of the unblank is lost.

Hash:	e32940f7269306a108fbe3f2ee742a3a8e74133e
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Sun Jul 7 11:44:30 +0100 2013

	acpi: skip disabled LAPIC entries
	
	disabled LAPIC entries overwrote the bootstrap processor
	apic causing the machine panic with: "no bootstrap processor".
	(problem with lenovo X230)
	
	just ignore entries that are disabled or collide with
	entries already found. (should not happen)

Hash:	c333697c41b66e8157821fd174c114034b8c1733
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Sat Jul 6 14:19:15 +0100 2013

	pci: add intel panter point lpc south bridge

Hash:	b31d6f06659ba40d53a86c5bb7e72e985bf13ff9
Author:	cinap_lenrek <cinap_lenrek@gmx.de>
Date:	Sat Jul 6 12:44:25 +0100 2013

	audiohda: x230 pci magic

Hash:	72f95b8aaea10607c4311b431dcca7939649a011
Author:	stanley lieber <stanley.lieber@gmail.com>
Date:	Sat Jul 6 03:46:04 +0100 2013

	pkg(1): add jens staal's repository

Hash:	473d12c94fdfbbc0a520e5d72fd19cb487cf7bc1
Author:	ppatience0 <ppatience0@gmail.com>
Date:	Fri Jul 5 23:42:15 +0100 2013

	nusb: only read 18 bytes for device descriptor

Hash:	0e9a80d129306202e31e9ed253b75b9b06703a86
Author:	ethan <ethan@vx32vardo>
Date:	Fri Jul 5 21:51:35 +0100 2013

	merge

Hash:	6fd3e90d85b43e4d7d97d11d282946d11d22183a
Author:	ethan <ethan@vx32vardo>
Date:	Fri Jul 5 21:45:24 +0100 2013

	rc(1): $ifs cleanup

Hash:	252b0ff3c9b17628e641f2e9eb84468fb8975a6e
Author:	stanley lieber <stanl

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [9front] sysupdate: no common ancestors
  2021-07-25 20:42   ` Stuart Morrow
@ 2021-07-25 22:40     ` Anthony Martin
  0 siblings, 0 replies; 16+ messages in thread
From: Anthony Martin @ 2021-07-25 22:40 UTC (permalink / raw)
  To: 9front

Stuart Morrow <morrow.stuart@gmail.com> once said:
> git/log: load c38fcb5dc35986b8a93bf2107f800a890e2cea9b: '.git/objects/c3' does not exist

Interesting. It looks like that commit is not in any
pack index so it goes looking for a loose object and,
of course, doesn't find it.

How did get/fetch fail to write a correct pack and
index without printing an error? That's the real
question.

Can you upload the contents of .git/objects/pack to
somewhere public? It will be on the order of 100MB.

Cheers,
  Anthony

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [9front] Re: sysupdate: no common ancestors
  2021-07-25 20:12 [9front] sysupdate: no common ancestors Stuart Morrow
  2021-07-25 20:20 ` ori
@ 2021-07-26 15:58 ` Anthony Martin
  2021-07-26 17:34   ` Stuart Morrow
  1 sibling, 1 reply; 16+ messages in thread
From: Anthony Martin @ 2021-07-26 15:58 UTC (permalink / raw)
  To: 9front

Stuart Morrow <morrow.stuart@gmail.com> once said:
> % sysupdate
> git/query: resolve: no common ancestor
> git/query: resolve: no common ancestor
> ours: 403149d7de4dbe4cc4b1fd9cb3a164e51dbccc15
> theirs: 28f76455d39d990b47c6e46e18158f0a9ba09d25
> git/query: resolve: no common ancestor
> common:
> git/merge remotes/THEM/front

Note that git/fetch didn't print "fetching..." so
those newer refs and objects (from your logs) must
have been received in a previous fetch. What was
the state of your repository before this sysupdate?

Something dodgy is going on here.

Cheers,
  Anthony

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [9front] Re: sysupdate: no common ancestors
  2021-07-26 15:58 ` [9front] " Anthony Martin
@ 2021-07-26 17:34   ` Stuart Morrow
  2021-07-27  0:07     ` Anthony Martin
  0 siblings, 1 reply; 16+ messages in thread
From: Stuart Morrow @ 2021-07-26 17:34 UTC (permalink / raw)
  To: 9front, ality

> have been received in a previous fetch. What was
> the state of your repository before this sysupdate?

Before this was the error, the error was something about an invalid
ref. I don't know what caused that, or why it changed from one to the
other, although new commits happened in between, so probably that?

I don't know if this is the information you're looking for, or if,
perhaps, "the state of a respository" means something more precise in
the world of git and/or version control (like how "the state of a
process" is always one of Stopped, Running, Read, etc.)

Beyond that, the only info I can provide that might be useful is I ran
into a problem (whatever it was) on sysupdate, that was then fixed
with the s/idx/pack fix.

That and the files you asked for. I didn't send them as soon as I saw
the email because I wanted to try the patch in the other thread first
(didn't work).  There's technically a chance you can lose a Google
Drive account for posting links publicly, so I'll send it off-list,
and you can forward it to whoever else needs it, and I'll send this
email off-list too so that you get everything in the right order.

Thanks

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [9front] Re: sysupdate: no common ancestors
  2021-07-26 17:34   ` Stuart Morrow
@ 2021-07-27  0:07     ` Anthony Martin
  2021-07-27  1:04       ` ori
  0 siblings, 1 reply; 16+ messages in thread
From: Anthony Martin @ 2021-07-27  0:07 UTC (permalink / raw)
  To: 9front

An update:

Stuart sent me his pack and index files and,
fortunately, it looks like they're all valid
so far (I'm working backwards from the most
recent).

However, two commits (c38fcb5dc and 2c1727e55)
are completely missing from any pack. I wonder
why git/fetch never asked the remote for those
refs or why they were never sent.

Also, curiously, one commit (be36c092a) appears
in two packs.

I'm going to keep thinking about this but my
current notes are appended below.

Cheers,
  Anthony


# refs
28f76455d refs/remotes/THEM/front
403149d7d refs/heads/front

# d339bb1588d19ecf34b462566c85918b8d996aed.pack
28f76455d dial(2): dial returns an open data file, not a ctl one. also fixed little typo.

# 38f4e40da089c7ae59f6af92ee84344f2c754f4b.pack
1ec44ec77 libc: use usize for sbrk() increment
e4b5f170c libc: change usize to 64-bit for amd64 and arm64, make memory(2) functions use usize
8a8329ad9 bcm64: make the kernel use virtual timer counter register for cycles()
b7e67e9e3 kernel: page counts a ulong, not usize

# not in any pack file
c38fcb5dc arm64: use generic timer virtual counter for cycles()
2c1727e55 /sys/src/9/mkfile: add bcm64 (thanks stuart morrow)

# a132a801e36fd5ca40ae8c0ff52a5916e7656704.pack
403149d7d gzip, bzip2: add -n flag to suppress modification timestamp
28057f67a ssh: fix typo (thanks izaki)
669b3abd7 brk(2): .... we define lowest addres not used by the program above, so use that instead
7bd6679c8 brk(2): sbrk(0) returns end address, not the base
90ce513fb merge
187806ad2 screenlock: don't poll to top window (thanks Stuart Morrow)
07c32fb3d auth/rsa2jwk: add code to produce jwk rsa keys
acc504c31 git/fetch: fix overly eager 's/pack/idx/g' in refactor
be36c092a aux/cddb: Provide -e option to print commands to rip audio with tags.

# 004d80798d6fdf3b4571cc85fc3164b29686e82e.pack
be36c092a aux/cddb: Provide -e option to print commands to rip audio with tags.
220463427 git/fetch: ensure we clean packfiles on failure
fad1b3f7f kbdfs: allow to escape ctlr-alt-del with shift for vmx and vnc.

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [9front] Re: sysupdate: no common ancestors
  2021-07-27  0:07     ` Anthony Martin
@ 2021-07-27  1:04       ` ori
  2021-07-27  2:28         ` ori
  0 siblings, 1 reply; 16+ messages in thread
From: ori @ 2021-07-27  1:04 UTC (permalink / raw)
  To: 9front

Quoth Anthony Martin <ality@pbrane.org>:
> An update:
> 
> Stuart sent me his pack and index files and,
> fortunately, it looks like they're all valid
> so far (I'm working backwards from the most
> recent).
> 
> However, two commits (c38fcb5dc and 2c1727e55)
> are completely missing from any pack. I wonder
> why git/fetch never asked the remote for those
> refs or why they were never sent.
> 
> Also, curiously, one commit (be36c092a) appears
> in two packs.
> 
> I'm going to keep thinking about this but my
> current notes are appended below.
> 
> Cheers,
>   Anthony
> 

Hm. Is it possible that we had mistakenly
updated the refs, and then pruned commits
out of the request in subsequent updates?


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [9front] Re: sysupdate: no common ancestors
  2021-07-27  1:04       ` ori
@ 2021-07-27  2:28         ` ori
  2021-07-27 10:47           ` Stuart Morrow
  0 siblings, 1 reply; 16+ messages in thread
From: ori @ 2021-07-27  2:28 UTC (permalink / raw)
  To: 9front

Quoth ori@eigenstate.org:
> Quoth Anthony Martin <ality@pbrane.org>:
> > An update:
> > 
> > Stuart sent me his pack and index files and,
> > fortunately, it looks like they're all valid
> > so far (I'm working backwards from the most
> > recent).
> > 
> > However, two commits (c38fcb5dc and 2c1727e55)
> > are completely missing from any pack. I wonder
> > why git/fetch never asked the remote for those
> > refs or why they were never sent.
> > 
> > Also, curiously, one commit (be36c092a) appears
> > in two packs.
> > 
> > I'm going to keep thinking about this but my
> > current notes are appended below.
> > 
> > Cheers,
> >   Anthony
> > 
> 
> Hm. Is it possible that we had mistakenly
> updated the refs, and then pruned commits
> out of the request in subsequent updates?
> 

Actually: did you run into the issue mentined in
the mail with subject 'ISO 9front-8591: AVOID'?

Did you go through the instructions for fixing the
references mentioned there?

(It's safe to repeat them)


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [9front] Re: sysupdate: no common ancestors
  2021-07-27  2:28         ` ori
@ 2021-07-27 10:47           ` Stuart Morrow
  2021-07-27 10:53             ` Stuart Morrow
  0 siblings, 1 reply; 16+ messages in thread
From: Stuart Morrow @ 2021-07-27 10:47 UTC (permalink / raw)
  To: 9front

I applied that patch (yes, and did fetch.install, it's confirmed just
now by strings /bin/git/fetch) and reset the commit IDs.

I reset the commit IDs again and now sysupdate just says (straight
away, if that's a clue) up to date.

Of course this time my fetch is the one from "git/fetch: be more
robust" (confirmed by mtime).

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [9front] Re: sysupdate: no common ancestors
  2021-07-27 10:47           ` Stuart Morrow
@ 2021-07-27 10:53             ` Stuart Morrow
  2021-07-27 14:44               ` ori
  0 siblings, 1 reply; 16+ messages in thread
From: Stuart Morrow @ 2021-07-27 10:53 UTC (permalink / raw)
  To: 9front

Actually, what does this mean?:

> If you ran 'mk install, either restore git from the dump,
> or apply the patch from the end of the email and pull  [<-this]
> BEFORE you run sysupdate

Something to do with git/pull? I've never done that. All I've ever
done is compile and install the patch and then sysupdate.

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [9front] Re: sysupdate: no common ancestors
  2021-07-27 10:53             ` Stuart Morrow
@ 2021-07-27 14:44               ` ori
  2021-07-29 19:51                 ` Stuart Morrow
  0 siblings, 1 reply; 16+ messages in thread
From: ori @ 2021-07-27 14:44 UTC (permalink / raw)
  To: 9front

Quoth Stuart Morrow <morrow.stuart@gmail.com>:
> Actually, what does this mean?:
> 
> > If you ran 'mk install, either restore git from the dump,
> > or apply the patch from the end of the email and pull  [<-this]
> > BEFORE you run sysupdate
> 
> Something to do with git/pull? I've never done that. All I've ever
> done is compile and install the patch and then sysupdate.
> 

That's fine -- but if your repo was already in the hosed
state (and it looks like it might have been?), then you
also need to do the reset of the heads manually.


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [9front] Re: sysupdate: no common ancestors
  2021-07-27 14:44               ` ori
@ 2021-07-29 19:51                 ` Stuart Morrow
  2021-07-29 22:13                   ` ori
  0 siblings, 1 reply; 16+ messages in thread
From: Stuart Morrow @ 2021-07-29 19:51 UTC (permalink / raw)
  To: 9front

Okay, what the fuck.  I wanted to be able to sysupdate, so I deleted
plan9front (rm -r) and cloned from 9front.org.  Then:

% sysupdate
git/query: resolve: invalid ref remotes/THEM/front
git/query: resolve: invalid ref remotes/THEM/front
git/query: resolve: invalid ref remotes/THEM/front
ours: 84b77568cda98a21dd4f3403a94c56724fbd5b37
git/query: resolve: invalid ref remotes/THEM/front
theirs:
git/query: resolve: invalid ref remotes/THEM/front
common:
git/merge remotes/THEM/front

How can this be happening after a total reset?

I also rebooted into 9pc and tried again there (just sysupdate, not
clone); same result.

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [9front] Re: sysupdate: no common ancestors
  2021-07-29 19:51                 ` Stuart Morrow
@ 2021-07-29 22:13                   ` ori
  2021-07-31 19:59                     ` Stuart Morrow
  0 siblings, 1 reply; 16+ messages in thread
From: ori @ 2021-07-29 22:13 UTC (permalink / raw)
  To: 9front

Quoth Stuart Morrow <morrow.stuart@gmail.com>:
> Okay, what the fuck.  I wanted to be able to sysupdate, so I deleted
> plan9front (rm -r) and cloned from 9front.org.  Then:
> 
> % sysupdate
> git/query: resolve: invalid ref remotes/THEM/front
> git/query: resolve: invalid ref remotes/THEM/front
> git/query: resolve: invalid ref remotes/THEM/front
> ours: 84b77568cda98a21dd4f3403a94c56724fbd5b37
> git/query: resolve: invalid ref remotes/THEM/front
> theirs:
> git/query: resolve: invalid ref remotes/THEM/front
> common:
> git/merge remotes/THEM/front
> 
> How can this be happening after a total reset?
> 
> I also rebooted into 9pc and tried again there (just sysupdate, not
> clone); same result.
> 

I'm not going to be at the computer until Monday,
but if you pop into #cat-v on IRC and ping me, we
can debug this then, assuming nobody helps figure
it out sooner.


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [9front] Re: sysupdate: no common ancestors
  2021-07-29 22:13                   ` ori
@ 2021-07-31 19:59                     ` Stuart Morrow
  2021-08-01 23:34                       ` ori
  0 siblings, 1 reply; 16+ messages in thread
From: Stuart Morrow @ 2021-07-31 19:59 UTC (permalink / raw)
  To: 9front

Well now it works.

Yes, I'm aware I'm going to have to apply all the diffs that happened
between then and now.

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [9front] Re: sysupdate: no common ancestors
  2021-07-31 19:59                     ` Stuart Morrow
@ 2021-08-01 23:34                       ` ori
  0 siblings, 0 replies; 16+ messages in thread
From: ori @ 2021-08-01 23:34 UTC (permalink / raw)
  To: 9front

Quoth Stuart Morrow <morrow.stuart@gmail.com>:
> Well now it works.
> 
> Yes, I'm aware I'm going to have to apply all the diffs that happened
> between then and now.
> 

Glad it's working, but I'm not sure what you mean
by that -- git/pull should update your system.


^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2021-08-02  1:59 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-07-25 20:12 [9front] sysupdate: no common ancestors Stuart Morrow
2021-07-25 20:20 ` ori
2021-07-25 20:42   ` Stuart Morrow
2021-07-25 22:40     ` Anthony Martin
2021-07-26 15:58 ` [9front] " Anthony Martin
2021-07-26 17:34   ` Stuart Morrow
2021-07-27  0:07     ` Anthony Martin
2021-07-27  1:04       ` ori
2021-07-27  2:28         ` ori
2021-07-27 10:47           ` Stuart Morrow
2021-07-27 10:53             ` Stuart Morrow
2021-07-27 14:44               ` ori
2021-07-29 19:51                 ` Stuart Morrow
2021-07-29 22:13                   ` ori
2021-07-31 19:59                     ` Stuart Morrow
2021-08-01 23:34                       ` ori

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).