FUZIX.git
9 years agofilesys: turn i_ref into a #define
Alan Cox [Fri, 22 May 2015 14:38:19 +0000 (15:38 +0100)]
filesys: turn i_ref into a #define

This saves us 67 bytes!

9 years agosyscall_fs2: kill redundant itmp
Alan Cox [Fri, 22 May 2015 14:29:19 +0000 (15:29 +0100)]
syscall_fs2: kill redundant itmp

9 years agoenv: add missing app
Alan Cox [Fri, 22 May 2015 13:24:09 +0000 (14:24 +0100)]
env: add missing app

9 years agoREADME.md: devtty done
Alan Cox [Fri, 22 May 2015 10:37:16 +0000 (11:37 +0100)]
README.md: devtty done

9 years agomtx: note bug to fix
Alan Cox [Fri, 22 May 2015 10:36:45 +0000 (11:36 +0100)]
mtx: note bug to fix

9 years agotty: Implement /dev/tty and fix some open() bugs
Alan Cox [Fri, 22 May 2015 10:35:54 +0000 (11:35 +0100)]
tty: Implement /dev/tty and fix some open() bugs

Some rough edges to fix
Fix various existing crashes on open() - explains the df bug I think
Return correct error codes from device open fails

9 years agoinode: add a helper for opening devices
Alan Cox [Fri, 22 May 2015 10:34:42 +0000 (11:34 +0100)]
inode: add a helper for opening devices

We keep the inode stuff clear of devices (might be very size costly otherwise)
but do the fixups here. Not perfect... may need to size a few options and
see what the payoffs are

9 years agovt: this will go away in a moment
Alan Cox [Fri, 22 May 2015 10:34:25 +0000 (11:34 +0100)]
vt: this will go away in a moment

9 years agofilesystem: add /dev/tty node
Alan Cox [Fri, 22 May 2015 10:34:09 +0000 (11:34 +0100)]
filesystem: add /dev/tty node

9 years agodevio: handle error reporting in the right place
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()

9 years agodevtty: update for close semantics
Alan Cox [Thu, 21 May 2015 23:02:15 +0000 (00:02 +0100)]
devtty: update for close semantics

9 years agotty: handle close better
Alan Cox [Thu, 21 May 2015 22:58:49 +0000 (23:58 +0100)]
tty: handle close better

9 years agodevmdv: fix open/close handling
Alan Cox [Thu, 21 May 2015 22:48:17 +0000 (23:48 +0100)]
devmdv: fix open/close handling

9 years agoinode: correct close behaviour for devices (note: impacts some drivers!)
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)

9 years agoutils/Makefile: Assorted changes
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

9 years agowhoami: remove stdio
Alan Cox [Thu, 21 May 2015 22:38:33 +0000 (23:38 +0100)]
whoami: remove stdio

9 years agowhich: fix buffer length checking
Alan Cox [Thu, 21 May 2015 22:38:18 +0000 (23:38 +0100)]
which: fix buffer length checking

9 years agouud/uue: fix buffer length checking
Alan Cox [Thu, 21 May 2015 22:38:02 +0000 (23:38 +0100)]
uud/uue: fix buffer length checking

9 years agotee: remove stdio
Alan Cox [Thu, 21 May 2015 22:37:50 +0000 (23:37 +0100)]
tee: remove stdio

9 years agosum: remove stdio
Alan Cox [Thu, 21 May 2015 22:37:45 +0000 (23:37 +0100)]
sum: remove stdio

9 years agormdir: remove stdio
Alan Cox [Thu, 21 May 2015 22:37:32 +0000 (23:37 +0100)]
rmdir: remove stdio

9 years agorm: fix error reporting
Alan Cox [Thu, 21 May 2015 22:37:22 +0000 (23:37 +0100)]
rm: fix error reporting

9 years agopwd: remove stdio
Alan Cox [Thu, 21 May 2015 22:37:12 +0000 (23:37 +0100)]
pwd: remove stdio

9 years agoprtroot: "fuzix" not "uzi"
Alan Cox [Thu, 21 May 2015 22:36:55 +0000 (23:36 +0100)]
prtroot: "fuzix" not "uzi"

9 years agoprintenv: remove stdio
Alan Cox [Thu, 21 May 2015 22:36:41 +0000 (23:36 +0100)]
printenv: remove stdio

9 years agopagesize: remove stdio
Alan Cox [Thu, 21 May 2015 22:36:34 +0000 (23:36 +0100)]
pagesize: remove stdio

9 years agomv: note removal of stdio
Alan Cox [Thu, 21 May 2015 22:36:22 +0000 (23:36 +0100)]
mv: note removal of stdio

9 years agomknod: remove stdio
Alan Cox [Thu, 21 May 2015 22:36:10 +0000 (23:36 +0100)]
mknod: remove stdio

9 years agomkfifo: fix error code on exit
Alan Cox [Thu, 21 May 2015 22:35:32 +0000 (23:35 +0100)]
mkfifo: fix error code on exit

9 years agomkdir: remove stdio, better errors
Alan Cox [Thu, 21 May 2015 22:35:17 +0000 (23:35 +0100)]
mkdir: remove stdio, better errors

9 years agols: fix buffer length checks
Alan Cox [Thu, 21 May 2015 22:34:59 +0000 (23:34 +0100)]
ls: fix buffer length checks

9 years agoln: note removal of stdio
Alan Cox [Thu, 21 May 2015 22:34:47 +0000 (23:34 +0100)]
ln: note removal of stdio

9 years agoll: buffer length checks
Alan Cox [Thu, 21 May 2015 22:34:31 +0000 (23:34 +0100)]
ll: buffer length checks

9 years agoinit: enable process groups
Alan Cox [Thu, 21 May 2015 22:34:17 +0000 (23:34 +0100)]
init: enable process groups

9 years agokill: remove stdio
Alan Cox [Thu, 21 May 2015 22:34:03 +0000 (23:34 +0100)]
kill: remove stdio

9 years agodate: remove stdio
Alan Cox [Thu, 21 May 2015 22:33:39 +0000 (23:33 +0100)]
date: remove stdio

9 years agocut: fix buffer length checks
Alan Cox [Thu, 21 May 2015 22:33:28 +0000 (23:33 +0100)]
cut: fix buffer length checks

9 years agocp: note stdio removal
Alan Cox [Thu, 21 May 2015 22:33:18 +0000 (23:33 +0100)]
cp: note stdio removal

9 years agochown.c: remove stdio
Alan Cox [Thu, 21 May 2015 22:33:01 +0000 (23:33 +0100)]
chown.c: remove stdio

9 years agochmod.c: remove stdio
Alan Cox [Thu, 21 May 2015 22:32:50 +0000 (23:32 +0100)]
chmod.c: remove stdio

9 years agochgrp: remove stdio
Alan Cox [Thu, 21 May 2015 22:32:40 +0000 (23:32 +0100)]
chgrp: remove stdio

9 years agossh: fix dumb bugs introduced in semi-mechanical translation from 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

9 years agofcc: add --nostdio, correct -pedantic to --pedantic
Alan Cox [Thu, 21 May 2015 22:09:44 +0000 (23:09 +0100)]
fcc: add --nostdio, correct -pedantic to --pedantic

9 years agoliberror: new format file
Alan Cox [Thu, 21 May 2015 22:09:29 +0000 (23:09 +0100)]
liberror: new format file

9 years agoMakefile: add a "nostdio" crt0
Alan Cox [Thu, 21 May 2015 22:09:07 +0000 (23:09 +0100)]
Makefile: add a "nostdio" crt0

9 years agoopendir: standard says O_CLOEXEC
Alan Cox [Thu, 21 May 2015 22:08:47 +0000 (23:08 +0100)]
opendir: standard says O_CLOEXEC

9 years agogetent: switch to non malloc using version
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

9 years agoinitgroups: remove duplicated config file
Alan Cox [Thu, 21 May 2015 22:08:14 +0000 (23:08 +0100)]
initgroups: remove duplicated config file

9 years agoerror: fixed up low space version
Alan Cox [Thu, 21 May 2015 22:07:52 +0000 (23:07 +0100)]
error: fixed up low space version

9 years agoexecv: pedantic corrections to prototypes
Alan Cox [Thu, 21 May 2015 22:05:57 +0000 (23:05 +0100)]
execv: pedantic corrections to prototypes

9 years agolibc: add a tool to make the new liberror.txt
Alan Cox [Thu, 21 May 2015 22:04:56 +0000 (23:04 +0100)]
libc: add a tool to make the new liberror.txt

9 years agoutil: remove escaped file
Alan Cox [Thu, 21 May 2015 22:03:52 +0000 (23:03 +0100)]
util: remove escaped file

9 years agotty: implement system 5 style process groups
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.

9 years agotrs80,devtty: make clearer
Alan Cox [Thu, 21 May 2015 21:56:51 +0000 (22:56 +0100)]
trs80,devtty: make clearer

9 years agopcw8256,devfd: Fix typo
Alan Cox [Thu, 21 May 2015 21:56:35 +0000 (22:56 +0100)]
pcw8256,devfd: Fix typo

9 years agotrs80: update README
Alan Cox [Thu, 21 May 2015 21:56:01 +0000 (22:56 +0100)]
trs80: update README

9 years agoswap: introduce swapping onto IDE, add the needed ZX128 bits
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.

9 years agoxitoa: use our own int helper
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.

9 years agostrerror: should live in string.h according to the standards
Alan Cox [Wed, 20 May 2015 22:36:56 +0000 (23:36 +0100)]
strerror: should live in string.h according to the standards

9 years agossh: take it down from 12K to 9K
Alan Cox [Wed, 20 May 2015 22:36:31 +0000 (23:36 +0100)]
ssh: take it down from 12K to 9K

9 years agorm: downsize, fix buffers
Alan Cox [Wed, 20 May 2015 22:30:47 +0000 (23:30 +0100)]
rm: downsize, fix buffers

9 years agomv: Fix buffer checking, remove stdio, downsize
Alan Cox [Wed, 20 May 2015 22:30:23 +0000 (23:30 +0100)]
mv: Fix buffer checking, remove stdio, downsize

9 years agoln: fix buffer checks, remove stdio, shrink
Alan Cox [Wed, 20 May 2015 22:29:54 +0000 (23:29 +0100)]
ln: fix buffer checks, remove stdio, shrink

Lots more memory saved

9 years agocp: strip stdio usage, fix memory leak, size down
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

9 years agohead: replace the Minix head with a custom one
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

9 years agoApplications/util: generate a list of sizes
Alan Cox [Wed, 20 May 2015 21:04:34 +0000 (22:04 +0100)]
Applications/util: generate a list of sizes

9 years agoucp-mini-script: trim further - we want this to fit a 180-200K disc
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

9 years agopcw8256: sort out the floppy driver
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.

9 years agolowlevel-z80-banked: delete duplicate globl here too
Alan Cox [Wed, 20 May 2015 21:02:52 +0000 (22:02 +0100)]
lowlevel-z80-banked: delete duplicate globl here too

9 years agolowlevel-z80: remove dead symbol
Alan Cox [Wed, 20 May 2015 21:02:17 +0000 (22:02 +0100)]
lowlevel-z80: remove dead symbol

9 years agolibc: remove 3 clause BSD code and replace from dLibs 1.20
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

9 years agoerror.c: better strerror for size
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.

9 years agopcw8256: build fix
Alan Cox [Tue, 19 May 2015 22:51:14 +0000 (23:51 +0100)]
pcw8256: build fix

9 years agosyscalls.h: add uadmin defines
Alan Cox [Tue, 19 May 2015 22:25:03 +0000 (23:25 +0100)]
syscalls.h: add uadmin defines

9 years agoucp-script: add reboot
Alan Cox [Tue, 19 May 2015 22:19:38 +0000 (23:19 +0100)]
ucp-script: add reboot

9 years agoreboot; add command
Alan Cox [Tue, 19 May 2015 22:18:59 +0000 (23:18 +0100)]
reboot; add command

9 years agosyscall_other: correct uadmin permission check
Alan Cox [Tue, 19 May 2015 22:18:34 +0000 (23:18 +0100)]
syscall_other: correct uadmin permission check

9 years agocpu-68000: provide a way to spot 32bit pointers
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()

9 years agoPORTING; update some of the out of date bits
Alan Cox [Tue, 19 May 2015 21:27:43 +0000 (22:27 +0100)]
PORTING; update some of the out of date bits

9 years agoprocess: update comments on reviewed FIXME
Alan Cox [Tue, 19 May 2015 21:20:42 +0000 (22:20 +0100)]
process: update comments on reviewed FIXME

9 years agotty: note some items to review
Alan Cox [Tue, 19 May 2015 21:18:27 +0000 (22:18 +0100)]
tty: note some items to review

9 years agomtx: fix function key switcher
Alan Cox [Tue, 19 May 2015 17:54:09 +0000 (18:54 +0100)]
mtx: fix function key switcher

9 years agokernel:clarify syscall fields
Alan Cox [Tue, 19 May 2015 17:53:52 +0000 (18:53 +0100)]
kernel:clarify syscall fields

9 years agokernel.h: kill dead field
Alan Cox [Tue, 19 May 2015 17:28:58 +0000 (18:28 +0100)]
kernel.h: kill dead field

9 years agosgrpsig: correct sign
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.

9 years agoproc: allow kill to accept all 32 signals
Alan Cox [Mon, 18 May 2015 22:12:13 +0000 (23:12 +0100)]
proc: allow kill to accept all 32 signals

9 years agoprocess: don't wake zombies, it ends badly even if you have a shotgun
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

9 years agodragon-nx32: Implement swapping in of processes
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>
9 years agolowlevel-6809: Do not clobber CC on syscall SWI exit
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>
9 years ago6809test: get it building again just for some size measurements
Alan Cox [Sun, 17 May 2015 22:35:00 +0000 (23:35 +0100)]
6809test: get it building again just for some size measurements

9 years agobank16: fix another swap issue
Alan Cox [Sun, 17 May 2015 22:11:05 +0000 (23:11 +0100)]
bank16: fix another swap issue

9 years agotrs80: fix typo
Alan Cox [Sun, 17 May 2015 22:03:36 +0000 (23:03 +0100)]
trs80: fix typo

9 years agoREADME: update
Alan Cox [Sun, 17 May 2015 16:44:48 +0000 (17:44 +0100)]
README: update

9 years agodragon-nx32: Swap out over DriveWire
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>
9 years agodragon: Set up SAM vector for kernel too
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>
9 years agolibc: use the SDCC setjmp not one we inherited from somewhere
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

9 years agosh: alignment
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.

9 years agosh: correct end and use sbrk() rather than v7 linkages
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

-

9 years agosetbrk: but don't wipe shrinks of the stack!
Alan Cox [Sat, 16 May 2015 19:10:23 +0000 (20:10 +0100)]
setbrk: but don't wipe shrinks of the stack!

9 years agosetbrk: possible paranoia for the moment
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