Commit graph

10919 commits

Author SHA1 Message Date
cinap_lenrek
11cd33bcec kernel: make fixedpri work.
Fix and document the "fixedpri" control.
2024-07-21 13:00:48 +00:00
cinap_lenrek
706b44c15d kernel: fix wrong updatecpu() context regression
In the sched() function, the call to reprioritize()
must be done before we set up, as reprioritize()
calls updatecpu(), which determines if the process
was running or not based on p == up. So move
the call to runproc() itself.
2024-07-21 12:44:23 +00:00
Ori Bernstein
b0d33c09ff gefs: more/stricter asserts and checks 2024-07-19 20:37:11 +00:00
Ori Bernstein
108f94b25a gefs: set super dir in Qadm correctly
gefs: ream uplink for root dir in adm correctly
2024-07-19 20:13:46 +00:00
Ori Bernstein
6a049aafed history: add support for gefs dumps 2024-07-18 16:49:31 +00:00
Ori Bernstein
1ca26f9924 gefs: work around 8c bug
8c doesn't like assigning struct literals with vlongs
into array indexes, so work around it for now.
2024-07-18 16:25:46 +00:00
Ori Bernstein
0956f48633 git/commit: filter to changed files for git/save
while rehashing the same files over and over will work
just fine, it can be slow with a large number of large
files; this makes 'git/comit .' perform much better in
repos with a large number of large binary blobs.
2024-07-18 13:13:42 +00:00
Ori Bernstein
338e78a024 gefs: dump dirs are dirs too
even if they're down in the dumps
2024-07-17 21:48:15 +00:00
Ori Bernstein
48edf79c69 gefs: modifying a directory should update qid.vers 2024-07-17 15:07:11 +00:00
Ori Bernstein
201fe8de4b gefs: change log compression heuristic
compress when the log doubles in size, rather than
using a fixed size heuristic; this means that we
don't start compressing frequently as the log gets
big and the file system gets fragmented.
2024-07-08 03:29:40 +00:00
Ori Bernstein
a19d90dc8c gefs: fix allocation log compression
We could overwrite the log tail when compressing the
allocation log; this would be bad. Stop doing that.
2024-07-08 03:23:40 +00:00
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