Alan Cox [Fri, 22 May 2015 10:34:09 +0000 (11:34 +0100)]
filesystem: add /dev/tty node
Alan Cox [Fri, 22 May 2015 10:27:49 +0000 (11:27 +0100)]
devio: handle error reporting in the right place
Then we can fix the error reporting on device opens in open()
Alan Cox [Thu, 21 May 2015 23:02:15 +0000 (00:02 +0100)]
devtty: update for close semantics
Alan Cox [Thu, 21 May 2015 22:58:49 +0000 (23:58 +0100)]
tty: handle close better
Alan Cox [Thu, 21 May 2015 22:48:17 +0000 (23:48 +0100)]
devmdv: fix open/close handling
Alan Cox [Thu, 21 May 2015 22:44:38 +0000 (23:44 +0100)]
inode: correct close behaviour for devices (note: impacts some drivers!)
We should call _close for each close matching the final close of an open.
This is a slight change in semantics but it's what we actually need to sort
must things out.
Yes it breaks some devices..diddums 8)
Alan Cox [Thu, 21 May 2015 22:38:44 +0000 (23:38 +0100)]
utils/Makefile: Assorted changes
- Fix dependency rules a bit
- Support building some stuff with --no-stdio
- Minor fixes
- Build uname
Alan Cox [Thu, 21 May 2015 22:38:33 +0000 (23:38 +0100)]
whoami: remove stdio
Alan Cox [Thu, 21 May 2015 22:38:18 +0000 (23:38 +0100)]
which: fix buffer length checking
Alan Cox [Thu, 21 May 2015 22:38:02 +0000 (23:38 +0100)]
uud/uue: fix buffer length checking
Alan Cox [Thu, 21 May 2015 22:37:50 +0000 (23:37 +0100)]
tee: remove stdio
Alan Cox [Thu, 21 May 2015 22:37:45 +0000 (23:37 +0100)]
sum: remove stdio
Alan Cox [Thu, 21 May 2015 22:37:32 +0000 (23:37 +0100)]
rmdir: remove stdio
Alan Cox [Thu, 21 May 2015 22:37:22 +0000 (23:37 +0100)]
rm: fix error reporting
Alan Cox [Thu, 21 May 2015 22:37:12 +0000 (23:37 +0100)]
pwd: remove stdio
Alan Cox [Thu, 21 May 2015 22:36:55 +0000 (23:36 +0100)]
prtroot: "fuzix" not "uzi"
Alan Cox [Thu, 21 May 2015 22:36:41 +0000 (23:36 +0100)]
printenv: remove stdio
Alan Cox [Thu, 21 May 2015 22:36:34 +0000 (23:36 +0100)]
pagesize: remove stdio
Alan Cox [Thu, 21 May 2015 22:36:22 +0000 (23:36 +0100)]
mv: note removal of stdio
Alan Cox [Thu, 21 May 2015 22:36:10 +0000 (23:36 +0100)]
mknod: remove stdio
Alan Cox [Thu, 21 May 2015 22:35:32 +0000 (23:35 +0100)]
mkfifo: fix error code on exit
Alan Cox [Thu, 21 May 2015 22:35:17 +0000 (23:35 +0100)]
mkdir: remove stdio, better errors
Alan Cox [Thu, 21 May 2015 22:34:59 +0000 (23:34 +0100)]
ls: fix buffer length checks
Alan Cox [Thu, 21 May 2015 22:34:47 +0000 (23:34 +0100)]
ln: note removal of stdio
Alan Cox [Thu, 21 May 2015 22:34:31 +0000 (23:34 +0100)]
ll: buffer length checks
Alan Cox [Thu, 21 May 2015 22:34:17 +0000 (23:34 +0100)]
init: enable process groups
Alan Cox [Thu, 21 May 2015 22:34:03 +0000 (23:34 +0100)]
kill: remove stdio
Alan Cox [Thu, 21 May 2015 22:33:39 +0000 (23:33 +0100)]
date: remove stdio
Alan Cox [Thu, 21 May 2015 22:33:28 +0000 (23:33 +0100)]
cut: fix buffer length checks
Alan Cox [Thu, 21 May 2015 22:33:18 +0000 (23:33 +0100)]
cp: note stdio removal
Alan Cox [Thu, 21 May 2015 22:33:01 +0000 (23:33 +0100)]
chown.c: remove stdio
Alan Cox [Thu, 21 May 2015 22:32:50 +0000 (23:32 +0100)]
chmod.c: remove stdio
Alan Cox [Thu, 21 May 2015 22:32:40 +0000 (23:32 +0100)]
chgrp: remove stdio
Alan Cox [Thu, 21 May 2015 22:10:45 +0000 (23:10 +0100)]
ssh: fix dumb bugs introduced in semi-mechanical translation from stdio
Alan Cox [Thu, 21 May 2015 22:09:44 +0000 (23:09 +0100)]
fcc: add --nostdio, correct -pedantic to --pedantic
Alan Cox [Thu, 21 May 2015 22:09:29 +0000 (23:09 +0100)]
liberror: new format file
Alan Cox [Thu, 21 May 2015 22:09:07 +0000 (23:09 +0100)]
Makefile: add a "nostdio" crt0
Alan Cox [Thu, 21 May 2015 22:08:47 +0000 (23:08 +0100)]
opendir: standard says O_CLOEXEC
Alan Cox [Thu, 21 May 2015 22:08:29 +0000 (23:08 +0100)]
getent: switch to non malloc using version
Saves a ton of space
Alan Cox [Thu, 21 May 2015 22:08:14 +0000 (23:08 +0100)]
initgroups: remove duplicated config file
Alan Cox [Thu, 21 May 2015 22:07:52 +0000 (23:07 +0100)]
error: fixed up low space version
Alan Cox [Thu, 21 May 2015 22:05:57 +0000 (23:05 +0100)]
execv: pedantic corrections to prototypes
Alan Cox [Thu, 21 May 2015 22:04:56 +0000 (23:04 +0100)]
libc: add a tool to make the new liberror.txt
Alan Cox [Thu, 21 May 2015 22:03:52 +0000 (23:03 +0100)]
util: remove escaped file
Alan Cox [Thu, 21 May 2015 22:03:05 +0000 (23:03 +0100)]
tty: implement system 5 style process groups
This completes (I think) the sketched out implementation in the code.
Alan Cox [Thu, 21 May 2015 21:56:51 +0000 (22:56 +0100)]
trs80,devtty: make clearer
Alan Cox [Thu, 21 May 2015 21:56:35 +0000 (22:56 +0100)]
pcw8256,devfd: Fix typo
Alan Cox [Thu, 21 May 2015 21:56:01 +0000 (22:56 +0100)]
trs80: update README
Alan Cox [Thu, 21 May 2015 08:33:30 +0000 (09:33 +0100)]
swap: introduce swapping onto IDE, add the needed ZX128 bits
The concept is:
swap_map(x) turns x into an address that will hold the data to be
written out.
swap_page holds the "page" which is a cookie passed from the bank
manager to the swapper and on to the drivers.
map_for_swap takes the cookie and puts the page in the required space
map_kernel_{restore} then goes back to kernel mappings
The bank manager is responsible for not queuing a single I/O that spans two
"pages"
This then allows for swapping support, including banked memory from bank16k and
the like to use a generic shared driver without platform specifics leaking into
the driver layer code.
Alan Cox [Wed, 20 May 2015 22:37:18 +0000 (23:37 +0100)]
xitoa: use our own int helper
For stdio and perror using apps it costs us a small amount of memory. For stdio
using apps in general it's free, and for non stdio apps using itoa and not
sucking in the 32bit maths helpers its a big saving.
Alan Cox [Wed, 20 May 2015 22:36:56 +0000 (23:36 +0100)]
strerror: should live in string.h according to the standards
Alan Cox [Wed, 20 May 2015 22:36:31 +0000 (23:36 +0100)]
ssh: take it down from 12K to 9K
Alan Cox [Wed, 20 May 2015 22:30:47 +0000 (23:30 +0100)]
rm: downsize, fix buffers
Alan Cox [Wed, 20 May 2015 22:30:23 +0000 (23:30 +0100)]
mv: Fix buffer checking, remove stdio, downsize
Alan Cox [Wed, 20 May 2015 22:29:54 +0000 (23:29 +0100)]
ln: fix buffer checks, remove stdio, shrink
Lots more memory saved
Alan Cox [Wed, 20 May 2015 22:29:26 +0000 (23:29 +0100)]
cp: strip stdio usage, fix memory leak, size down
Saves about 2K
Alan Cox [Wed, 20 May 2015 21:32:23 +0000 (22:32 +0100)]
head: replace the Minix head with a custom one
This takes it down from over 9500 bytes to a bit of 3500
Alan Cox [Wed, 20 May 2015 21:04:34 +0000 (22:04 +0100)]
Applications/util: generate a list of sizes
Alan Cox [Wed, 20 May 2015 21:04:00 +0000 (22:04 +0100)]
ucp-mini-script: trim further - we want this to fit a 180-200K disc
Alan Cox [Wed, 20 May 2015 21:03:21 +0000 (22:03 +0100)]
pcw8256: sort out the floppy driver
Reading at least now works with these fixes and bodges. Lots more debug to
do.
Alan Cox [Wed, 20 May 2015 21:02:52 +0000 (22:02 +0100)]
lowlevel-z80-banked: delete duplicate globl here too
Alan Cox [Wed, 20 May 2015 21:02:17 +0000 (22:02 +0100)]
lowlevel-z80: remove dead symbol
Alan Cox [Wed, 20 May 2015 13:11:41 +0000 (14:11 +0100)]
libc: remove 3 clause BSD code and replace from dLibs 1.20
Alan Cox [Wed, 20 May 2015 13:10:37 +0000 (14:10 +0100)]
error.c: better strerror for size
Remove all the funky parsing and use a binary error list for strerror. That
saves us about 500 bytes in many applications.
Alan Cox [Tue, 19 May 2015 22:51:14 +0000 (23:51 +0100)]
pcw8256: build fix
Alan Cox [Tue, 19 May 2015 22:25:03 +0000 (23:25 +0100)]
syscalls.h: add uadmin defines
Alan Cox [Tue, 19 May 2015 22:19:38 +0000 (23:19 +0100)]
ucp-script: add reboot
Alan Cox [Tue, 19 May 2015 22:18:59 +0000 (23:18 +0100)]
reboot; add command
Alan Cox [Tue, 19 May 2015 22:18:34 +0000 (23:18 +0100)]
syscall_other: correct uadmin permission check
Alan Cox [Tue, 19 May 2015 22:18:06 +0000 (23:18 +0100)]
cpu-68000: provide a way to spot 32bit pointers
SDCC can't hack # if sizeof()
Alan Cox [Tue, 19 May 2015 21:27:43 +0000 (22:27 +0100)]
PORTING; update some of the out of date bits
Alan Cox [Tue, 19 May 2015 21:20:42 +0000 (22:20 +0100)]
process: update comments on reviewed FIXME
Alan Cox [Tue, 19 May 2015 21:18:27 +0000 (22:18 +0100)]
tty: note some items to review
Alan Cox [Tue, 19 May 2015 17:54:09 +0000 (18:54 +0100)]
mtx: fix function key switcher
Alan Cox [Tue, 19 May 2015 17:53:52 +0000 (18:53 +0100)]
kernel:clarify syscall fields
Alan Cox [Tue, 19 May 2015 17:28:58 +0000 (18:28 +0100)]
kernel.h: kill dead field
Alan Cox [Mon, 18 May 2015 22:18:03 +0000 (23:18 +0100)]
sgrpsig: correct sign
This was inherited from code that used negatives to indicate process groups
but is called by methods that pass the pgrp.
Alan Cox [Mon, 18 May 2015 22:12:13 +0000 (23:12 +0100)]
proc: allow kill to accept all 32 signals
Alan Cox [Mon, 18 May 2015 22:11:50 +0000 (23:11 +0100)]
process: don't wake zombies, it ends badly even if you have a shotgun
Tormod Volden [Sun, 17 May 2015 23:19:17 +0000 (01:19 +0200)]
dragon-nx32: Implement swapping in of processes
Also fix up swap parameters in config.h
Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
Tormod Volden [Sun, 17 May 2015 16:38:34 +0000 (18:38 +0200)]
lowlevel-6809: Do not clobber CC on syscall SWI exit
In particular the interrupt masks were overwritten and in some
cases interrupts were disabled after returning from a syscall.
Rewrite the SWI interface to only report error through D and X.
Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
Alan Cox [Sun, 17 May 2015 22:35:00 +0000 (23:35 +0100)]
6809test: get it building again just for some size measurements
Alan Cox [Sun, 17 May 2015 22:11:05 +0000 (23:11 +0100)]
bank16: fix another swap issue
Alan Cox [Sun, 17 May 2015 22:03:36 +0000 (23:03 +0100)]
trs80: fix typo
Alan Cox [Sun, 17 May 2015 16:44:48 +0000 (17:44 +0100)]
README: update
Tormod Volden [Sun, 17 May 2015 08:55:24 +0000 (10:55 +0200)]
dragon-nx32: Swap out over DriveWire
However, swapping in again still needs some work...
Note that config.h sets DriveWire disk 1 for swap,
change at will.
Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
Tormod Volden [Sun, 17 May 2015 08:55:22 +0000 (10:55 +0200)]
dragon: Set up SAM vector for kernel too
Otherwise SAM_SAVE will read a bogus value when on the kernel
page and SAM_RESTORE will fail to return to it.
Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
Alan Cox [Sun, 17 May 2015 15:23:52 +0000 (16:23 +0100)]
libc: use the SDCC setjmp not one we inherited from somewhere
The SDCC one saves the bits SDCC needs and so actually works with SDCC. It's
also way smaller, cleaner and only uses legal instructions
Alan Cox [Sun, 17 May 2015 15:21:51 +0000 (16:21 +0100)]
sh: alignment
V7 happens to word pack binaries so that the low bit of the first address
beyond the end of the program is clear. We don't. This causes sh to get
a bit upset 50% of the time you fiddle with it. Instead check the sbrk
value when we start up and sbrk ourselves a byte if needed.
The sh allocator providing it is started on an even address will stay even.
Alan Cox [Sat, 16 May 2015 20:39:04 +0000 (21:39 +0100)]
sh: correct end and use sbrk() rather than v7 linkages
With this change the v7 Bourne shell now runs, even on 32K userspace boxes.
Later she added quite a few things (see
http://heirloom.cvs.sourceforge.net/heirloom/heirloom-sh/) however most of
those are memory expensive.
Probably we should add the use of '#' as a comment character as this is
nowdays considered normal.
Of the other features - an external test suits our memory size better,
while the later builtins aren't that useful and again have size issues. Only
unset cannot be external and might be useful.
Of the late features it might be nice to get 8bit clean
-
Alan Cox [Sat, 16 May 2015 19:10:23 +0000 (20:10 +0100)]
setbrk: but don't wipe shrinks of the stack!
Alan Cox [Sat, 16 May 2015 19:09:04 +0000 (20:09 +0100)]
setbrk: possible paranoia for the moment
ensure our new sbrk space is clean
Alan Cox [Sat, 16 May 2015 19:08:03 +0000 (20:08 +0100)]
sh: sdcc miscompiles (foo = bar)->x = 1 so avoid
It's a strange syntax anyway !
With this applied internal commands sort of work but executing external
commands fails and "set" likewise shows there is some kind of variable space
corruption problem to pin down first
Alan Cox [Sat, 16 May 2015 15:46:18 +0000 (16:46 +0100)]
getfsys: propogate EFAULT errors
Alan Cox [Sat, 16 May 2015 15:46:00 +0000 (16:46 +0100)]
stat: propogate EFAULT errors
Alan Cox [Sat, 16 May 2015 15:45:31 +0000 (16:45 +0100)]
trs80: don't leave PROFIL experimental bits on
Alan Cox [Sat, 16 May 2015 15:44:26 +0000 (16:44 +0100)]
df: fix multiple bugs
- sizeof(number) is not number but 1 or 2
- check strtok return rather than trying to play with NULL
Not clear with is the root cause of the trs80 df crash but at least it works
now
Alan Cox [Sat, 16 May 2015 11:01:04 +0000 (12:01 +0100)]
read/write: A zero byte read or write is a no-op not an error
Tormod Volden [Fri, 15 May 2015 19:47:36 +0000 (21:47 +0200)]
dragon-nx32: Update status in README
Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
Alan Cox [Sat, 16 May 2015 00:32:22 +0000 (01:32 +0100)]
TODO: R/O mounts was dealt with differently