Commit graph

10554 commits

Author SHA1 Message Date
phil9
025a2d172e vdiff: exit if diff is empty
currently vdiff will display an empty window if there is no diff.
	Print a message and exit early instead.
2024-05-09 17:18:45 +00:00
rodri
039015ad71 vdiff: fix scrolling and mouse button handling.
vertical scrolling now works in a line-wise manner,
just like in rio(1), sam(1) and friends. horizontal
scrolling showed problems with some line widths
where they got cut before showing the last
characters.

finally, pressing LMB or RMB and swiping while going
through any of the blocks caused a storm of plumbs
and visibility toggling (when over the expander line).
this doesn't happen anymore.
2024-05-09 11:49:09 +00:00
Jacob Moody
92d5d58784 flambe: pass correct name to initdraw() 2024-05-08 23:24:55 +00:00
Jacob Moody
88faa807aa flambe: flame graphs for prof(1) data 2024-05-08 18:01:08 +00:00
Jacob Moody
c8544c91d9 prof: increase precision of measurements
Currently we use millisecond ticks for time spent in each function.
This is not good enough for modern machines where fast functions could
be completed in a handful of nanoseconds.  Instead let us just use the
raw ticks and store the cyclecfreq in the output prof data.  This
requires that we enlargen the time section in the data to 8 bytes,
which broke the assumptions for struct allignment and required a
slight refactor of the code used to read it in prof(1).  Since this is
a breaking change, we've devised a small format to communicate the
version for future revision of this format and this patch includes a
modification to file(1) for recognizing this format.  Additionally
some minor improvements were made across the board.
2024-05-08 17:20:22 +00:00
phil9
0fcab2a6e8 vcrop: fix image panning 2024-05-07 10:43:36 +00:00
phil9
d11ca3b545 vcrop - graphical image cropping tool
vcrop is a graphical version of crop(1).
2024-05-06 16:24:25 +00:00
Jacob Moody
bd1305a0b9 libc: compress directly recursive functions while profiling
When a function calls itself, the execution slot of its child is now
just added to its own time.  This makes conceptual sense and also
reduces a big cause of depth inflation.
2024-05-05 01:57:22 +00:00
Jacob Moody
15d1425b27 libc: increase default allocation for profiling
Current profiling size was 128k, and causes more frustration than it
is worth as demand paging makes this cheap.  Assuming 64 bytes at
worst per Plink this will use ~16M of virtual address space on 64bit
systems.
2024-05-05 01:34:22 +00:00
Jacob Moody
f3216125de limbach: remove unused 9c subdirectory 2024-05-04 19:45:01 +00:00
cinap_lenrek
7aceac32e8 eqn: fix silly mkfile
prevy.tab.h not used at all, dependency between
y.tab.c and y.tab.h is just *WRONG*.
2024-05-04 19:38:39 +00:00
Jacob Moody
2b202ec918 libmach: clean up power64 tests 2024-05-04 17:45:36 +00:00
Jacob Moody
0ab44a0062 9c: copy warning from other compilers regarding pointer -> int truncation 2024-04-29 21:31:05 +00:00
Jacob Moody
bac935c71f 9a: mkfile was pointing to wrong header 2024-04-29 21:30:27 +00:00
Jacob Moody
418f36d7eb libc/libap: update power64 entrypoints to new _callmain standard 2024-04-07 01:27:08 +00:00
Jacob Moody
37e65b331b 9c/9l: do not have the linker rewrite OSUB to negative OADD
POWER does not provided subtract immediate functions and
instead rely on negative addition. It was such that the linker
was the one who would go through and rewrite these to be negative
but it really should be done in the compiler while we still have
the width information.
2024-04-07 00:13:41 +00:00
Jacob Moody
0c6fd079ce 9l: do consize check for SB relative as well 2024-04-07 00:01:30 +00:00
Jacob Moody
5390130426 9c: avoid generating immediates that make the linker use REGTMP 2024-04-06 22:13:54 +00:00
Jacob Moody
8483799d4a 9c/9l/libmach: handle 64 bit constants
* Add a handful of 64 bit classifications to 9l, along with instruction generation for each.
* 9c should avoid generating immediate instructions for 64 constants.
* libmach should know about 9l's generation to present a better disassembly.
* libmach now properly displays MOVD for moves between registers on 64 bit.
2024-04-01 05:20:20 +00:00
Jacob Moody
7f8bd35954 9l: add -H6 for elf targeting kexec 2024-03-27 15:54:10 +00:00
Jacob Moody
5fe33fb808 /sys/src: power64 target 2024-03-30 18:58:36 +00:00
Jacob Moody
0ec381a846 libmach: power64 vector mov and cleanup 2023-11-07 14:45:29 +00:00
Jacob Moody
39c021fbc1 /sys/lib/acid: add power64 2023-11-04 20:52:35 +00:00
Jacob Moody
4cdad07b98 9c: mind which CMP is used when handling constants 2023-11-04 20:51:19 +00:00
Jacob Moody
fe53c0930e libmach: power64 catch up 2023-11-03 15:34:48 +00:00
Jacob Moody
7b63c05b21 9c: allow switches on 64bit values 2023-10-01 23:18:23 +00:00
Jacob Moody
ceba67bc06 9l: fix ELF generation 2023-10-01 21:08:38 +00:00
Jacob Moody
29ce934c91 9a, 9c, 9l: import from 9legacy 2024-04-01 20:46:41 +00:00
Jacob Moody
7628681f83 libmach: remove unused 6c subdirectory
This was leftover from before 6c was
in /sys/src/cmd, as the mkfile adds this
to the include path. Now that we have 6c,
this subdirectory is never used.
2024-05-04 17:13:41 +00:00
cinap_lenrek
0273db0792 ip/torrent: support compact peers6 list 2024-05-04 14:49:03 +00:00
cinap_lenrek
3ba68527b3 ip/torrent: fix wrong interval check 2024-05-04 14:48:27 +00:00
cinap_lenrek
217d2f751c ip/torrent: fix webseed
Commit 9f755671fb broke
webseeding with the last block.

The haveiece() call at the end was because the inner
is not calling havepiece() on the last block as it
does not take the piece length into account.

Now, instead, fix the inner loop, making the code
more setright foward so we call havepiece() on the
last block.
2024-04-28 16:37:29 +00:00
Jacob Moody
86e3e0791c inst: remove net install support 2024-04-28 00:20:45 +00:00
Sigrid Solveig Haflínudóttir
9ebd6f860e ext4srv: reduce the number of options, align more with existing filesystems
Also provide saner defaults (block size 4k instead of 1k).
Cache write back is always enabled now as well.
2024-04-27 16:26:55 +00:00
Ori Bernstein
ce86e64ee0 libc: correct dst transition times
The transition time in the timezone info file is,
confusingly, in local time and not UTC, so we need
to translate it before we do the comparison.

While we're here, revert the Australian timezone
change that made the offsets UTC, and add some test
to make sure we get this right.
2024-04-27 02:19:11 +00:00
cinap_lenrek
498f4f15b5 usbtree(8): document usbtree 2024-04-24 20:31:45 +00:00
cinap_lenrek
b7da224d10 nusb(4): document usbhubctl command format for PPPS 2024-04-24 20:09:57 +00:00
cinap_lenrek
03a52c7cf7 tcp: remove "MaxSegment" MIB stat, add InLimbo stat
This global "Mss" MIB element does not really exists,
and it makes no sense as the MSS is negotiated
per connection.

Put the InLimbo in the statistics table.
2024-04-24 09:06:22 +00:00
Jacob Moody
0320813091 /sys/lib/dist/ndb/common: remove old random auth domains 2024-04-23 00:55:07 +00:00
cinap_lenrek
0298949dd2 tcp: fix limbo entry leaks from hell
In limbo() function, once tpriv->nlimbo
reaches Maxlimbo, we'd try to re-use
Limbo entries from the head of the hash
chain. However, theres a special case
where our current chain contains only
a single entry. Then Limbo **l; points
to its next pointer, and writing:
*l = lp; would just yield in the entry
being linked to itself, leaking it.

The for(;;) loop in limborexmit() was wrong,
as the "continue" case would not advance
the lp pointer at all, (such as when
tpriv->nlimbo reaches > 100), we'd stop
cleaning out entries.

Handle Fsnewcall() returning nil case,
have to free Limbo *lp as we just removed
it from the hash table.

Add tpriv->nlimbo as "InLimbo" at the
end of /net/tcp/stats.
2024-04-22 18:44:53 +00:00
cinap_lenrek
b43c416083 pc: fix link order, libc.a *after* libsec.a (for rand()) 2024-04-22 07:19:58 +00:00
Jacob Moody
4745cae5bc g: search .S files
Useful for searching unix-y assembly files
2024-04-21 18:51:39 +00:00
Jacob Moody
567b1b912a rio: fix memory leak with closed kbdtap (thanks aap) 2024-04-21 18:40:08 +00:00
Jacob Moody
ff30a7743b stats: use a high water mark for maximum on graphs 2024-04-21 18:21:54 +00:00
Jacob Moody
46b4b99997 /sys/lib/dist/ndb: update root servers and add script to keep them updated
Also remove dnsdump as that feature is dead now.
2024-04-21 18:20:30 +00:00
cinap_lenrek
a70280308a rudp: better newgen() function, avoiding the lock 2024-04-21 13:16:22 +00:00
cinap_lenrek
a54fcac016 devsdp: fix randomization of dial and acceptid
We where allocating the dialid and acceptid using:

rand()<<16 + rand()

this gives a biased values as rand() retuns a 15-bit
number. Instead, use two calls to nrand() to get
the full 32-bit unsigned range.
2024-04-21 13:10:39 +00:00
cinap_lenrek
314faec394 rudp: fix start generation randomization and cleanup
the start generation was allocated by calling rand(),
which gives a value between 0 and 2^15.

Instead, make a newgen() function that returns a new
generation id in the full 32-bit range, but also
avoids 0 and Hangupgen special values.

Cleanup and make all helper functions static.
2024-04-21 13:08:19 +00:00
cinap_lenrek
e4509d40cc snoopy: teach gre about ethernet and ip6 payloads (thanks arne meyer)
teach snoopy about ethernet and ip6 encapsulated in GRE.
2024-04-20 12:01:37 +00:00
cinap_lenrek
a288db973c keyboard(6): use >> instead of > for caps example (thanks moody)
Using > causes the kbmap file to get truncated,
which resets to the default keymap and *THEN*
applies the new change. Which is probably not
what was intended.
2024-04-19 16:17:41 +00:00