~grimmware/9front

Lol this would have never built properly on another system because I forgot to add this (sigrid's) file!
Merging upstream
imx8: qos magic to avoid interference between pcie and lcdif

when writing to the nvme ssd, the screen can glitch out.

found this in linux lcdif driver (mxcfb) that appears to
resolve the issue.

the QoSc registers are all completely undocumented tho :-(
imx8: less stupid pci interrupt handler
imx8: pcie and nvme support
sdnvme: add dmaflush() instructions, move to port/
git/log: fix log count

saved wrong version when rebasing, oops.
git/compat: expand to cover go bootstrap

go bootstrap uses more of git than we supported, so
stub in enough that we can bootstrap go.
git/log: support -n option to restrict log counts

this is useful for scripting, and convenient for
interactive use.
patch: handle stripped/empty lines mid-hunk
Some programs will strip trailing spaces from hunks;
in this case we want to treat the line as though it
came with a leading space.

This fixes applying some patches, such as

	[PATCH] Permissions for child boards in /srv
6dbfe8c3 — akw@oneirism.org a month ago
nusb/ptp: increase payload

A silly little patch, but some ptp devices (like the camera I own) use USB3 endpoints and subsequently require the data size of the payload to be 1024(-12 for metadata). This is reflected in libgphoto2's current ptp driver.
spf: limit recursion depth to prevent ddos (thanks tijay, iashiq5)

An attacker may use an infinite number of SPF referrals in his/her SPF
setting and can send an email to your mail server which would make
your SMTP server make a lot of DNS queries.  By exploiting this
vulnerability, an attacker can block your SMTP queue, flood the
associated recursive resolver, or any DNS authoritative server.

According to RFC recommendations
(https://datatracker.ietf.org/doc/html/rfc7208#section-4.6), a few DNS
lookup limits exist that an SMTP server needs to maintain while
resolving an SPF record.  That is, SPF implementations MUST limit the
total number of query-causing terms to 10 and the number of void
lookups to 2 to avoid unreasonable load on the DNS.

from:

Taejoong “Tijay” Chung (tijay@vt.edu)
Ishtiaq Ashiq (iashiq5@vt.edu)
skelfs: dont mount if not asked to
aux/9pcon: add assert flag
kernel: revert /srv/clone
awk: correct incoherent cell in assignment (thanks smj, mpinjr)

In run.c::assign(), assigning to $0 from $F, a field,
where F >= 2, produces an incoherent cell.

The assignment occurs in two steps, first the string value
and then the float. When the string value is assigned to $0,
setsval invalidates the fields. If FS hasn't changed, after
getfval rebuilds the fields, NF = 1 and F >= 2, therefore $F
is definitely uninitialized. The result is a float val of
0.0, producing a boolean false in the pattern expression.

Coercing a string comparison gives the expected result
because the incoherent cell has the correct string
value, which is not empty and evaluates to true.
awk: initialize records fully in recinit()

when using records in BEGIN, we would read
from the field table before we read into it;
this ensures that the fields are an empty
string before we start touching their contents.
kernel: correct error handling in /srv/clone read

readstr can error, we need to catch the error and unlock.
kernel: add /srv/clone to get seperate /srv bulletin boards.
Next