]> git.lizzy.rs Git - plan9front.git/log
plan9front.git
4 years agoupas/fs: fix sending of "delete" plumb messages
Alex Musolino [Wed, 1 Apr 2020 12:19:19 +0000 (22:49 +1030)]
upas/fs: fix sending of "delete" plumb messages

Broken by changeset 2cc069392228.

4 years agoxen: fix rebootcode linkage
cinap_lenrek [Sun, 29 Mar 2020 20:47:42 +0000 (22:47 +0200)]
xen: fix rebootcode linkage

need to strip the a.out header, just like with the pc
kernel.

4 years agolib9p: fix re-use of root Qid when using createfile(); remove unused dirqidgen
BurnZeZ [Sun, 29 Mar 2020 17:39:30 +0000 (17:39 +0000)]
lib9p: fix re-use of root Qid when using createfile(); remove unused dirqidgen

4 years agopc64: enable uartpci (thanks taw9 for testing)
Sigrid [Sun, 29 Mar 2020 17:28:39 +0000 (19:28 +0200)]
pc64: enable uartpci (thanks taw9 for testing)

4 years agomerge
Ori Bernstein [Sun, 29 Mar 2020 03:33:47 +0000 (20:33 -0700)]
merge

4 years agowe prefer nil over 0, make the example show it.
Ori Bernstein [Sun, 29 Mar 2020 03:32:53 +0000 (20:32 -0700)]
we prefer nil over 0, make the example show it.

4 years agopc, pc64: ignore the 64-bit bar flag when reserving membar
cinap_lenrek [Sat, 28 Mar 2020 23:49:07 +0000 (00:49 +0100)]
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.

4 years agopc: fix mp boot regression due mistake in mkfile
cinap_lenrek [Sat, 28 Mar 2020 23:44:09 +0000 (00:44 +0100)]
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.

4 years agokbd: add "repeat" file to set typematic repeat rate/delay on PS/2 keyboards
Sigrid [Sat, 28 Mar 2020 14:37:48 +0000 (15:37 +0100)]
kbd: add "repeat" file to set typematic repeat rate/delay on PS/2 keyboards

4 years agogrep: fix handling of -b flag
Alex Musolino [Thu, 26 Mar 2020 07:54:39 +0000 (18:24 +1030)]
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.

4 years agoturn ptrdiff_t into a 64 bit type
Ori Bernstein [Tue, 24 Mar 2020 21:45:15 +0000 (14:45 -0700)]
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.

4 years agoadd intmax_t/uintmax_t as required by c99 7.18.1.5
Ori Bernstein [Tue, 24 Mar 2020 21:41:31 +0000 (14:41 -0700)]
add intmax_t/uintmax_t as required by c99 7.18.1.5

4 years agoevaluate #if expressions using vlong
Ori Bernstein [Mon, 23 Mar 2020 16:18:44 +0000 (09:18 -0700)]
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.

4 years agomerge
Ori Bernstein [Mon, 23 Mar 2020 00:34:22 +0000 (17:34 -0700)]
merge

4 years agoadd va_copy macro, conforming to c99 7.15.1.2
Ori Bernstein [Mon, 23 Mar 2020 00:31:39 +0000 (17:31 -0700)]
add va_copy macro, conforming to c99 7.15.1.2

4 years agoupdate colemak kbmap, simpler version with scroll working (thanks jeremy)
Sigrid [Sat, 21 Mar 2020 00:50:11 +0000 (01:50 +0100)]
update colemak kbmap, simpler version with scroll working (thanks jeremy)

4 years agoadd colemak kbmap (thanks Silas McCroskey)
Sigrid [Sat, 21 Mar 2020 00:40:03 +0000 (01:40 +0100)]
add colemak kbmap (thanks Silas McCroskey)

4 years agoadd swiss german kbmap (thanks mike)
Sigrid [Sat, 21 Mar 2020 00:07:40 +0000 (01:07 +0100)]
add swiss german kbmap (thanks mike)

4 years agobell labs is dead, man
Ori Bernstein [Fri, 20 Mar 2020 21:12:23 +0000 (14:12 -0700)]
bell labs is dead, man

remove the last reference from 9fs.

4 years agokbdfs: fix kbmapread() not accounting for reads smaller than the size of the line
BurnZeZ [Fri, 20 Mar 2020 18:08:34 +0000 (18:08 +0000)]
kbdfs: fix kbmapread() not accounting for reads smaller than the size of the line

4 years agoImprove the posix preprocessor.
Ori Bernstein [Wed, 18 Mar 2020 05:03:25 +0000 (22:03 -0700)]
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.

4 years agofix ccom idempotency
Ori Bernstein [Sun, 15 Mar 2020 22:08:04 +0000 (15:08 -0700)]
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

4 years agoimprove usage messages (thanks henesy)
Ori Bernstein [Tue, 10 Mar 2020 17:09:34 +0000 (10:09 -0700)]
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.

4 years agofix -T option for doctype
Ori Bernstein [Tue, 10 Mar 2020 16:35:06 +0000 (09:35 -0700)]
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.

4 years agofix heredoc crash
Ori Bernstein [Mon, 9 Mar 2020 21:24:02 +0000 (14:24 -0700)]
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.

4 years agofix alignment in ape malloc
Ori Bernstein [Mon, 9 Mar 2020 15:02:22 +0000 (08:02 -0700)]
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.

4 years agosam: ^ does not need current file
Sigrid [Mon, 9 Mar 2020 12:58:41 +0000 (13:58 +0100)]
sam: ^ does not need current file

4 years agosam(1): document $% and $%dot
Sigrid [Mon, 9 Mar 2020 12:22:10 +0000 (13:22 +0100)]
sam(1): document $% and $%dot

4 years agosam: add $%dot (thanks kvik)
Sigrid [Mon, 9 Mar 2020 12:21:50 +0000 (13:21 +0100)]
sam: add $%dot (thanks kvik)

4 years agoadd usage messages to auth/(enable disable status).
Ori Bernstein [Sun, 8 Mar 2020 23:31:30 +0000 (16:31 -0700)]
add usage messages to auth/(enable disable status).

print useful message when user invokes these commands incorrectly
(thanks henesy)

4 years agolib9p: implement automatic remove-on-close cleanup in postsharesrv(), remove postfd...
cinap_lenrek [Sun, 8 Mar 2020 21:00:23 +0000 (22:00 +0100)]
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.

4 years agomerge
cinap_lenrek [Sun, 8 Mar 2020 19:55:58 +0000 (20:55 +0100)]
merge

4 years agoboorc, nusbrc: fix wrong redirections after &
cinap_lenrek [Sun, 8 Mar 2020 19:53:30 +0000 (20:53 +0100)]
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.

4 years ago"": output previous action to stderr
Ori Bernstein [Sun, 8 Mar 2020 18:46:34 +0000 (11:46 -0700)]
"": 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.

4 years agodevshr: unmount service on #σc/share/mount removal
cinap_lenrek [Sun, 8 Mar 2020 17:23:07 +0000 (18:23 +0100)]
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.

4 years agonusb/usbd: cleanup processes on unmount
cinap_lenrek [Sun, 8 Mar 2020 15:06:37 +0000 (16:06 +0100)]
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.

4 years ago9p(2): document all the effective rfork flags for postmountsrv()
cinap_lenrek [Sun, 8 Mar 2020 14:29:32 +0000 (15:29 +0100)]
9p(2): document all the effective rfork flags for postmountsrv()

4 years ago9p(2): document the filedescriptor sharing behaviour of postmountsrv()
cinap_lenrek [Sun, 8 Mar 2020 13:49:34 +0000 (14:49 +0100)]
9p(2): document the filedescriptor sharing behaviour of postmountsrv()

4 years agodevproc: return process id when reading /proc/n/ctl file
cinap_lenrek [Sun, 8 Mar 2020 13:11:23 +0000 (14:11 +0100)]
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.

4 years agogames/playlistfs: open /proc/n/ctl OWRITE, not ORDWR
cinap_lenrek [Sun, 8 Mar 2020 12:13:25 +0000 (13:13 +0100)]
games/playlistfs: open /proc/n/ctl OWRITE, not ORDWR

4 years agolib9p: restore previous behaviour of fd group sharing
cinap_lenrek [Sun, 8 Mar 2020 04:52:23 +0000 (05:52 +0100)]
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.

4 years agosshnet: fix fork race conditions
cinap_lenrek [Sun, 8 Mar 2020 03:54:37 +0000 (04:54 +0100)]
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.

4 years agoaux/realemu: fix exit code
cinap_lenrek [Sun, 8 Mar 2020 02:34:55 +0000 (03:34 +0100)]
aux/realemu: fix exit code

4 years agoaux/realemu: run cpuproc in same fd group as fileserver
cinap_lenrek [Sun, 8 Mar 2020 02:25:35 +0000 (03:25 +0100)]
aux/realemu: run cpuproc in same fd group as fileserver

4 years agoaux/timesync: open /proc/n/ctl with OWRITE, not ORDWR
cinap_lenrek [Sun, 8 Mar 2020 02:12:00 +0000 (03:12 +0100)]
aux/timesync: open /proc/n/ctl with OWRITE, not ORDWR

4 years agodevproc: don't allow /proc/$pid/ctl to be opens for reading
cinap_lenrek [Sat, 7 Mar 2020 22:58:47 +0000 (23:58 +0100)]
devproc: don't allow /proc/$pid/ctl to be opens for reading

4 years agonusb/usbd: fix /env/usbbusy bug
cinap_lenrek [Sat, 7 Mar 2020 21:26:49 +0000 (22:26 +0100)]
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.

4 years agorio: fix goodrect() bug (thanks mike)
cinap_lenrek [Sat, 7 Mar 2020 19:41:46 +0000 (20:41 +0100)]
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!

4 years agodossrv, 9660srv, hjfs: stop *READING* standard *OUTPUT* with -s flag
cinap_lenrek [Sat, 7 Mar 2020 19:27:20 +0000 (20:27 +0100)]
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.

4 years agolib9p: get rid of Srv.nopipe and Srv.leavefdsopen hacks
cinap_lenrek [Sat, 7 Mar 2020 19:19:14 +0000 (20:19 +0100)]
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.

4 years agoacme: split win into winfs and rc script, get rid of lib9p leavefdsopen hack
cinap_lenrek [Sat, 7 Mar 2020 19:06:55 +0000 (20:06 +0100)]
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.

4 years agolib9p: fix typo
cinap_lenrek [Sat, 7 Mar 2020 14:20:07 +0000 (15:20 +0100)]
lib9p: fix typo

4 years agolib9p: zero out per connection state in Srv template for listensrv()
cinap_lenrek [Sat, 7 Mar 2020 14:01:29 +0000 (15:01 +0100)]
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.

4 years agodossrv: output iotrack error message to stderr
cinap_lenrek [Sat, 7 Mar 2020 13:23:34 +0000 (14:23 +0100)]
dossrv: output iotrack error message to stderr

4 years agoramfs: don't use Srv.nopipe
cinap_lenrek [Sat, 7 Mar 2020 12:35:46 +0000 (13:35 +0100)]
ramfs: don't use Srv.nopipe

4 years agoaux/acpi, aux/apm: remove nopipe -i flag
cinap_lenrek [Sat, 7 Mar 2020 12:23:34 +0000 (13:23 +0100)]
aux/acpi, aux/apm: remove nopipe -i flag

4 years agohgignore: ignore section 9 manpage indices, ignore init, kernels and bootloader binaries
cinap_lenrek [Sat, 7 Mar 2020 11:28:49 +0000 (12:28 +0100)]
hgignore: ignore section 9 manpage indices, ignore init, kernels and bootloader binaries

4 years agodevproc: fix syscalltrace read for ratrace
cinap_lenrek [Thu, 5 Mar 2020 19:46:01 +0000 (20:46 +0100)]
devproc: fix syscalltrace read for ratrace

4 years agohgfs: fix loadrevinfo() for empty log bug
cinap_lenrek [Sun, 1 Mar 2020 22:23:01 +0000 (23:23 +0100)]
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.

4 years agolibsec: move AES XTS function prototypes to AES definition section in the header...
cinap_lenrek [Sun, 1 Mar 2020 15:02:56 +0000 (16:02 +0100)]
libsec: move AES XTS function prototypes to AES definition section in the header file

4 years agolibsec: remove hash pickle functions, document ripemd160, cleanup sechash(2) manpage
cinap_lenrek [Sun, 1 Mar 2020 14:07:44 +0000 (15:07 +0100)]
libsec: remove hash pickle functions, document ripemd160, cleanup sechash(2) manpage

4 years agokernel: simplify exec()
cinap_lenrek [Sat, 29 Feb 2020 20:06:45 +0000 (21:06 +0100)]
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.

4 years agodevproc: make sure writewatchpt() doesnt overflow the watchpoint array
cinap_lenrek [Fri, 28 Feb 2020 15:48:42 +0000 (16:48 +0100)]
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.

4 years agokernel: make sure we wont run into the tos when copying exec() arguments
cinap_lenrek [Fri, 28 Feb 2020 15:45:20 +0000 (16:45 +0100)]
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.

4 years agodevproc: cleanup procwrite size checks
cinap_lenrek [Fri, 28 Feb 2020 15:41:09 +0000 (16:41 +0100)]
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.

4 years agofix special case for null pointer constants in cond expressions
Ori Bernstein [Thu, 27 Feb 2020 20:09:10 +0000 (15:09 -0500)]
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.

4 years agowalk arguments to g
Ori Bernstein [Thu, 27 Feb 2020 05:45:00 +0000 (21:45 -0800)]
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.

4 years agoinclude section 9 in manpage plumb rules.
Ori Bernstein [Thu, 27 Feb 2020 04:52:20 +0000 (20:52 -0800)]
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.

4 years agoape/cc: stop spamming arguments that are only needed once
BurnZeZ [Sun, 23 Feb 2020 20:33:27 +0000 (20:33 +0000)]
ape/cc: stop spamming arguments that are only needed once

4 years agodevcons: fix permissions for reboot and sysstat
cinap_lenrek [Sun, 23 Feb 2020 19:42:00 +0000 (20:42 +0100)]
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)

4 years agokernel: avoid selecting the boot process in killbig()
cinap_lenrek [Sun, 23 Feb 2020 17:58:06 +0000 (18:58 +0100)]
kernel: avoid selecting the boot process in killbig()

4 years agokernel: fix multiple devproc bugs and pid reuse issues
cinap_lenrek [Sun, 23 Feb 2020 17:00:21 +0000 (18:00 +0100)]
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.

4 years agodevswap: dont assume Proc* structures returned from proctab() are continuous
cinap_lenrek [Sun, 23 Feb 2020 13:08:33 +0000 (14:08 +0100)]
devswap: dont assume Proc* structures returned from proctab() are continuous

4 years agosdiahci, sdodin: avoid calling kproc() while holding ilock()
cinap_lenrek [Sun, 23 Feb 2020 13:05:01 +0000 (14:05 +0100)]
sdiahci, sdodin: avoid calling kproc() while holding ilock()

4 years ago/sys/lib/kbmap: update 0xf860 to Kshift value, fix fake shifts on esc1
Sigrid [Sat, 22 Feb 2020 23:57:05 +0000 (00:57 +0100)]
/sys/lib/kbmap: update 0xf860 to Kshift value, fix fake shifts on esc1

4 years agosed: allow whitespace after ! negation (thanks k0ga)
cinap_lenrek [Wed, 19 Feb 2020 18:26:43 +0000 (19:26 +0100)]
sed: allow whitespace after ! negation (thanks k0ga)

4 years agoacme(1): fix scrolling when swiping text at the top or bottom of a frame
spew [Thu, 13 Feb 2020 21:09:25 +0000 (16:09 -0500)]
acme(1): fix scrolling when swiping text at the top or bottom of a frame

4 years agoremove C99_SPRINTF_EXTENSION define.
Ori Bernstein [Tue, 11 Feb 2020 03:26:39 +0000 (19:26 -0800)]
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.

4 years agobcm: change ARGB32 to XRGB32 for framebuffer to avoid slow drawing
Roberto E. Vargas Caballero [Sun, 9 Feb 2020 20:39:17 +0000 (21:39 +0100)]
bcm: change ARGB32 to XRGB32 for framebuffer to avoid slow drawing

4 years agoupas/fs plumb modify messages for self-changed flags
Ori Bernstein [Wed, 5 Feb 2020 22:11:15 +0000 (14:11 -0800)]
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)

4 years agoimage(6): fix typo
rgl [Tue, 4 Feb 2020 20:32:33 +0000 (21:32 +0100)]
image(6): fix typo

4 years agokernel: cleanup makefile for $CONF.$O target
cinap_lenrek [Sun, 2 Feb 2020 19:46:58 +0000 (20:46 +0100)]
kernel: cleanup makefile for $CONF.$O target

4 years agomerge
cinap_lenrek [Sun, 2 Feb 2020 19:33:40 +0000 (20:33 +0100)]
merge

4 years agolisten(1): implement one-shot mode flag for listen1 (thanks kivik)
cinap_lenrek [Sun, 2 Feb 2020 19:31:48 +0000 (20:31 +0100)]
listen(1): implement one-shot mode flag for listen1 (thanks kivik)

4 years agofix double free in acme.
Ori Bernstein [Fri, 31 Jan 2020 17:25:39 +0000 (09:25 -0800)]
fix double free in acme.

in acmerrorproc():
sendp(s);
free(s);

in waitthread():
recv(&err)
free(err)

We only want waitthread to free.

4 years agodocument common emulator keys
rgl [Wed, 29 Jan 2020 18:27:07 +0000 (19:27 +0100)]
document common emulator keys

4 years agowalk: add D and T fmt characters (fileserver device/type)
BurnZeZ [Tue, 28 Jan 2020 01:27:41 +0000 (01:27 +0000)]
walk: add D and T fmt characters (fileserver device/type)

4 years agowalk(1): formatting/corrections
BurnZeZ [Tue, 28 Jan 2020 00:53:58 +0000 (00:53 +0000)]
walk(1): formatting/corrections

4 years agowalk: remove superfluous newline
BurnZeZ [Tue, 28 Jan 2020 00:44:44 +0000 (00:44 +0000)]
walk: remove superfluous newline

4 years agokernel: restore old behaviour that kprocs have ther noteid == pid
cinap_lenrek [Mon, 27 Jan 2020 01:17:14 +0000 (02:17 +0100)]
kernel: restore old behaviour that kprocs have ther noteid == pid

4 years agokernel: fix mistake from previous commit (noteid not being inherited by default)
cinap_lenrek [Mon, 27 Jan 2020 00:51:35 +0000 (01:51 +0100)]
kernel: fix mistake from previous commit (noteid not being inherited by default)

4 years agokernel: implement portable userinit() and simplify process creation
cinap_lenrek [Sun, 26 Jan 2020 18:01:36 +0000 (19:01 +0100)]
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.

4 years agoppc: remove old duplicate of devtls.c
cinap_lenrek [Sat, 25 Jan 2020 17:37:28 +0000 (18:37 +0100)]
ppc: remove old duplicate of devtls.c

4 years agoadd v8e
aiju [Wed, 22 Jan 2020 13:09:09 +0000 (13:09 +0000)]
add v8e

4 years agopage(1): fix troff manual example
Alex Musolino [Mon, 20 Jan 2020 04:29:04 +0000 (14:59 +1030)]
page(1): fix troff manual example

4 years agomerge
cinap_lenrek [Sun, 19 Jan 2020 18:21:10 +0000 (19:21 +0100)]
merge

4 years agoApply http://www.9paste.net/qrstuv/patch/acme-movetodelmesg/
Roberto E. Vargas Caballero [Sun, 19 Jan 2020 18:18:12 +0000 (19:18 +0100)]
Apply http://www.9paste.net/qrstuv/patch/acme-movetodelmesg/

4 years agomerge
cinap_lenrek [Sun, 19 Jan 2020 17:45:04 +0000 (18:45 +0100)]
merge

4 years agoacme: fix off by one in colclose(), make dellist() code consistent
cinap_lenrek [Sun, 19 Jan 2020 17:43:51 +0000 (18:43 +0100)]
acme: fix off by one in colclose(), make dellist() code consistent

4 years agoacme: Restore call to movetodel() in colclose
Roberto E. Vargas Caballero [Sun, 19 Jan 2020 17:36:50 +0000 (18:36 +0100)]
acme: Restore call to movetodel() in colclose