Commit graph

10858 commits

Author SHA1 Message Date
rodri
1442891a3e samterm: avoid division-by-zero when $tabstop is zero or empty
this happens in libframe:

	/sys/src/libframe/frutil.c:80: 	x -= (x-f->r.min.x)%f->maxtab;

but there's no way to control when the user changes the
maxtab value, so it's samterm's responsibility to
sanitize it.
2024-07-16 11:29:49 +00:00
Ori Bernstein
51c899ca01 bio(2): fix formatting 2024-07-14 19:49:00 +00:00
Ori Bernstein
ee51c91f6f gefs: copy mode down on create, don't truncate walks with no DMEXEC
we were copying the owner and group of the parent dir into the fid
on create, but we forgot the mode; fix that, so that we don't check
perms against the wrong dir.
2024-07-13 15:55:37 +00:00
mkf
23e7a57172 rx: add ssh 2024-07-04 20:26:20 +00:00
sl
79822e96dc /sys/src/9/pc/audiohda.c: add vid/did for Intel Tiger Lake 2024-07-07 21:42:30 +00:00
Ori Bernstein
f628dc850d gefs: temporarily disable log compression
There are some bugs with fixes in progress, but
let's not take any risks while those fixes are
in flight.
2024-07-02 02:55:55 +00:00
Ori Bernstein
ed73544be6 gefs: remove useless cachedel
copy paste error
2024-06-27 05:17:05 +00:00
Ori Bernstein
2350b08401 gefs: remove trace noise
this pushes useful entries out of the ring.
2024-06-23 15:33:09 +00:00
qwx
a71a76745b etheriwl: add support for 3168 2024-06-25 19:08:54 +00:00
Sigrid Solveig Haflínudóttir
9b5d186746 it kbmap: more mapping fixes (thank shura)
The Italian keyboard layout is ISO, and unlike the ANSI layout,
it has an extra key between Shift and Z, and the key above Enter,
which becomes vertical, is moved to the bottom left of it.

 - the key between Shift and Z is mapped to `<`, and shift+`<` is mapped to `>`
 - the old `>` (at the bottom left of Enter) is mapped to `ù`
 - shift+`ù` is mapped to `§`
 - the old shift+`"` is mapped to `°`
 - altgr+`'` is mapped to backtick
 - altgr+`ì` is mapped to `~`
 - altgr+`e` is mapped to `€`
 - shiftaltgr+`[` is mapped to `{`
 - shiftaltgr+`]` is mapped to `}`
2024-06-25 15:52:36 +00:00
Emery Hemingway
2760eef549 kbmap: add Workman layout 2024-01-22 11:13:14 +00:00
Sigrid Solveig Haflínudóttir
c05ee321f8 it kbmap: fix > and < (thanks NeuraL) 2024-06-25 13:23:06 +00:00
mia soweli
f43c301827 9/pc: Remove unused lm78 driver
This seems to have been around but not compiled since the third edition.
Remove it and the accompanying SMBus machinery that is only used
for this driver.
2024-06-24 20:22:31 +00:00
Ori Bernstein
6b5d2ac468 gefs: weaken overzealous assert
When modifying a sparse file, it's possible to get
clobbers and clears to item s that don't exist; in
this case, we try to apply to an empty kvp, and
assert -- we should just not apply.
2024-06-23 14:26:44 +00:00
Ori Bernstein
107a7ba971 git: allow longer authors in commits
there are git repos where the author line is longer than
128 chars; bump our limit up.
2024-06-19 17:42:52 +00:00
Sigrid Solveig Haflínudóttir
c9a153088d sam(1): ^ does not take any range 2024-06-17 22:03:20 +00:00
cinap_lenrek
68b4a8e6ef cc: logical operations (& | ^) operate on integers only (thanks sigrid)
void
main(void)
{
	uchar a[3];
	float f = a[2] | a[1] | (a[0]/1.2);
	USED(f);
}

the code above used to generate impossible
code in the linker like:

main: doasm: notfound from=34 to=35 (872)	ORL	X0,X1
main: doasm: notfound from=34 to=35 (872)	ORL	X0,X1
main: doasm: notfound from=34 to=35 (872)	ORL	X0,X1

with the change, the compiler correctly rejects it:

incompatible types: "UINT" and "DOUBLE" for op "OR"

i assume the BNUMBER in the type matrix must have been
a oversight.
2024-06-17 20:31:01 +00:00
Sigrid Solveig Haflínudóttir
12ad6dffeb sam: make X/.../b work 2024-06-16 15:58:07 +00:00
mia soweli
3d6deb3f69 9/port: make sure MSI-X is off before enabling and disabling MSI 2024-06-16 14:22:58 +00:00
cinap_lenrek
82f44b3ffc ip/ipconfig: properly handle ipv6 address deprecations
do not add default route when address is
deprecated (preflt == 0).

delete previous default route on router change.

implement rfc4862 section 5.5.3 processing rules
in regard to remaining valid lifetime.
2024-06-15 17:20:45 +00:00
Jacob Moody
71d676a12f man: also attempt to interpret argument as path 2024-06-11 02:26:47 +00:00
Romano
0dc37f9794 dhcpd(8): typos 2024-06-10 04:42:52 +00:00
Ori Bernstein
16369de87d gefs: correctly set duid/dgid on Tcreate
we were updating the dir that the fid pointed
to, but not updating the parent uid/gid.
2024-06-09 14:40:40 +00:00
cinap_lenrek
f3ee064802 ip/ipconfig: ask devip to delete expired ipv6 prefixes (thanks arne)
In addition to removing expired default routes,
ask devip to clean out expired addresses as well.

In the future, devip might do something more
sophisticated than just checking the valid life time
like also considering if the address is still begin
used by active connections.
2024-06-09 13:02:06 +00:00
Ori Bernstein
c91e9322f1 gefs: only start epochs for console procs that need them
we shouldn't need to defer reclamation for procs that
don't actually interact with the tree directly, especially
since if they send on a channel they can stall for a while.
2024-06-08 16:21:16 +00:00
Ori Bernstein
5e6f3db0d7 gefs: fix deadlock between epochclean and truncwait
epochclean should not hold the mutation lock, which
should allow procs within an epoch to make progress
and end their epoch.
2024-06-08 16:02:11 +00:00
Arne Meyer
0db5d2bdd6 nusb/ether: fix typo in previous commit 2024-06-07 21:30:15 +00:00
Arne Meyer
43166ed050 nusb/ether: Don't pass ethernet fcs to the network stack for smsc and lan78xx 2024-06-05 09:22:31 +00:00
Ori Bernstein
f9b061c9bd gefs: bring back write cancellation for free blocks. 2024-06-07 14:50:05 +00:00
Ori Bernstein
f91852c653 gefs: improve flow of blocks/frees
This change covers three improvements:
- inline the limbo entry into the objects
  being freed, meaning we don't need to
  allocate, and thus can't fail to free
  an object when we're out of memory
- Preallocate Bfree objects, for the same
  reason above.
2024-06-07 14:41:15 +00:00
qwx
dd4b1abbe6 gs: ignore more autogenerated headers
the build process could be cleaned up a lot more.  the default.*.h headers are
basically only used in cross-compilation, but every usable arch has its default
header already, so all the mkfile effectively does is copy it to $objtype.h.  it
would perhaps make more sense to just run mk on any new arch and copy to a new
default.$objtype.h and get rid of a lot of this stuff.  but then it's not really
worth messing with this further, so leaving it as is.
2024-06-06 23:05:42 +00:00
qwx
aad45634c8 gs: don't track autogenerated header (thanks James) 2024-06-06 10:35:37 +00:00
Ori Bernstein
8c046fe451 gefs: revert cacheflag()
it seems likely that it was causing writeback
bugs, revert until further testing, and likely
move to a different approach.
2024-06-04 17:49:49 +00:00
Sigrid Solveig Haflínudóttir
005bd2b7e1 sam: M: don't require a current file to operate (thanks umbraticus) 2024-06-04 14:27:41 +00:00
Ori Bernstein
8759403bdb gefs: fix file truncation performance (thanks cinap)
We were inserting very oversized deletion messages when
removing a file, instead of inserting the right size
message. This also batches the insertions, reducing the
number of upserts.
2024-06-02 19:52:12 +00:00
Ori Bernstein
5c0670bfae gefs: remove vestigial bucket lock
it was doing nothing
2024-06-02 18:53:43 +00:00
umbraticus
828c577e03 sam: introduce a new command M for adding commands to mouse b2 menu 2024-06-01 22:55:26 +00:00
Jacob Moody
4e4bd869e9 9[cl]: correct previous changes
37e65b331b
Was to adjust the compiler to better match the ISA w.r.t.
subtraction, but was overzelous and rewrote all additions instead of
just those with constants.

5390130426
Intended to restrict compiler generated immediate operations to only
those of which can be encodable by the ISA.  However the check for
signed constants was incorrect and resulted in constants that do not
properly encode.

0c6fd079ce
Attempted to classify address literals to save on instruction
encoding, but this is actually not possible.  We have to walk the
program first to derive some of the constants (INITDAT depends on
etext) so we can not classify them here.  Instead we should just limit
address literals to 32 bits (with sign extension) as a worst case.  It
would be possible in the future to do a pass over to program later and
find address literals that only need one instruction instead of two
but this works for now.
2024-06-01 17:53:20 +00:00
cinap_lenrek
01e7d784df sdaoe: remove unfinished atapi code (thanks arne) 2024-06-01 16:14:25 +00:00
cinap_lenrek
40cb72e7f8 2c: fix indirect calls
The peeophole optimizer was removing MOVL R0, A0
instructions before BSR (A0) because copyu()
decided all registers are being written (because
function calls clobber the registers).

For indirect calls, the register operand must
be correctly reported as being used (and then
clobbered).
2024-05-31 21:04:41 +00:00
cinap_lenrek
865a0f43f1 hjfs: check mount spec (aname) in Tauth
Filesystems should ensure that the mount
spec (aname) is valid before handing out
an auth fid.

This avoids pointless authenticaiton
protocols being run just for the
mount later to fail.

This happens with our current /lib/namespace
file for the opportunistic line:

mount /srv/boot /n/other other
2024-05-31 20:50:41 +00:00
rodri
9bbbc13ce2 libgeometry: simplify rframes
i got rid of redundant code, and added routines
to get the xform matrix out of an rframe, so it
can be stored and used separately or as part of
a composition of xforms.

also replaced the big example in the man page for
more concise, useful ones.
2024-05-30 21:11:33 +00:00
Alex Musolino
33572bd895 sshnet: update usage text to match man page 2024-05-30 12:46:36 +00:00
Alex Musolino
31b7b7a75b sshnet(4): merge usage lines 2024-05-30 12:46:01 +00:00
Ori Bernstein
eddf77b8f9 gefs: revert the last commit; we added a deadlock 2024-05-29 23:53:41 +00:00
Ori Bernstein
dd82b07a86 gefs: correctly serialize updates to mounts
we don't need a lock free list, we just need an
rwlock; this isn't a high contention data structure.
2024-05-29 19:34:14 +00:00
Ori Bernstein
79323e05d1 gefs: make dent cache per-mount
with a global dent cache, directory entries from different
trees can be cached. This almost works, but QID state can
change as the files get modified -- ownership, permissions,
and similar can get changed.

A global mount cache means that changes to a qid may leak
across mount boundaries. Don't do that.
2024-05-29 17:12:21 +00:00
Ori Bernstein
04d0d77e4b gefs: improve 'print fid' on cons 2024-05-28 14:45:01 +00:00
cinap_lenrek
68a98ec9d1 devip: don't send and ignore MLD messages for invalid multicast groups
RFC2710 states that MLD messages should never
be sent for scope 0 and 1 mcast addresses
as well as FF02::1.
2024-05-28 18:16:44 +00:00
cinap_lenrek
dc85e6d01a ipconfig(8): fix /net/null vs /dev/null (thanks humm) 2024-05-28 17:25:52 +00:00