Alan Cox [Sat, 30 May 2015 14:22:18 +0000 (15:22 +0100)]
zeta: update to new IRQ scheme
Alan Cox [Sat, 30 May 2015 13:55:48 +0000 (14:55 +0100)]
socz80: align with new IRQ code
Alan Cox [Sat, 30 May 2015 13:55:16 +0000 (14:55 +0100)]
px4plus: initial mods for new IRQ code
This platform uses the banked build so at the moment this can't be built
or tested
Alan Cox [Sat, 30 May 2015 13:54:18 +0000 (14:54 +0100)]
z80pack: resync to IRQ changes
Alan Cox [Sat, 30 May 2015 13:02:28 +0000 (14:02 +0100)]
Merge branch 'master' of https://github.com/EtchedPixels/FUZIX
Alan Cox [Sat, 30 May 2015 12:50:28 +0000 (13:50 +0100)]
pcw8256: sync with the irq changes
Alan Cox [Sat, 30 May 2015 12:44:19 +0000 (13:44 +0100)]
nc100: fix tty handling on close
Alan Cox [Sat, 30 May 2015 12:43:44 +0000 (13:43 +0100)]
nc100: update to use new style IRQ handling
Alan Cox [Sat, 30 May 2015 12:38:33 +0000 (13:38 +0100)]
mtx: remove dead 'kernel_flag'
Alan Cox [Sat, 30 May 2015 12:38:20 +0000 (13:38 +0100)]
mtx: fix tty compile with close() changes
Alan Cox [Sat, 30 May 2015 12:31:22 +0000 (13:31 +0100)]
micropack: update to the new flags
Alan Cox [Sat, 30 May 2015 12:23:28 +0000 (13:23 +0100)]
sdltrs: Commit emulator patches
These are needed to run Fuzix reliably
Alan Cox [Sat, 30 May 2015 12:09:34 +0000 (13:09 +0100)]
lowlevel-z80: put back the basics for the zero pointer trap
EtchedPixels [Sat, 30 May 2015 11:52:32 +0000 (12:52 +0100)]
Merge pull request #196 from davidgiven/cc65fixes
Some cc65 fixes
David Given [Sat, 30 May 2015 10:26:46 +0000 (12:26 +0200)]
Fix const correctness (needed by gcc).
--HG--
extra : source :
6667b8989e26c545f8813b2d4ed6d7e8ec69ebb9
Brett Gordon [Fri, 29 May 2015 15:36:21 +0000 (11:36 -0400)]
FUZIX: ssh.c: environment assignment bugfix + prettier prompting
here's a patch to ssh.c that:
1. Sets the prompt to include a space
2. Prints a newline in the output of the built-in "pwd"
3. Fixes environment variable assignment
As to no. 3: The original code used "putenv()", which, on a new
variable, inserts the tmp char * in to the env[] array. "ssh"
proceeded to reuse this string for more input, thereby screwing up the
environment. I changed it to "setenv()" which makes a new copy of the
string, then inserts it into env[].
This way at least us poor "ssh" users can set PATH until the real "sh"
and "init" are working better for the 6809.
--
Brett M. Gordon,
beretta42@gmail.com
Alan Cox [Sat, 30 May 2015 02:03:49 +0000 (03:03 +0100)]
process: rewrite the interrupt handling logic to be sane
We get rid of the whole UZI inherited irq stack madness as it leaves us
with a bunch of hard/unfixable problems.
Instead
- We only need one interrupt stack (although several if the banking is easier
still works just fine)
- We don't task switch on the IRQ stack, instead if we are going to be
pre-empting we pull a stunt with push/reti to complete the IRQ to
the devices and then task switch on the syscall stack and do
signal processing
This fixes all the pre-emption related crashes and mess with map saving. We
never have to bail from an IRQ because we are already in it. Various other
bits become cleaner.
In the process also rewrite (hopefully correctly this time) the Z80 signal
return paths.
This will probably break everything except Z80 platform devices using the
bankfixed helpers.
Note: The new IRQ code breaks sdltrs. I'll upload some patches for that
when I get a bit of time. Elements of the IRQ emulation and also reti
emulation are buggy in sdltrs it seems.
FIXME:
- At least one additional di to work around bits of the trs80 bugs
can go away
Alan Cox [Sat, 30 May 2015 02:02:53 +0000 (03:02 +0100)]
start: we are effectively in syscall when we create init
Alan Cox [Sat, 30 May 2015 02:02:42 +0000 (03:02 +0100)]
vt: fix backup over start of line
Alan Cox [Fri, 29 May 2015 14:49:22 +0000 (15:49 +0100)]
process: work on pre-emption - give it its own debug form
Also scribble over the p_page pointers of the dead process on exit so
we can catch that case
Alan Cox [Fri, 29 May 2015 14:48:42 +0000 (15:48 +0100)]
utils: add a "while(1)" app for testing pre-emption bugs
Alan Cox [Fri, 29 May 2015 14:47:58 +0000 (15:47 +0100)]
tools/mostcalled: find most called Z80 fns, so we can do RST hacks
Alan Cox [Fri, 29 May 2015 14:47:39 +0000 (15:47 +0100)]
ucp-script: improvements for new init
Alan Cox [Fri, 29 May 2015 14:47:18 +0000 (15:47 +0100)]
fsck: allow path:offset
Alan Cox [Fri, 29 May 2015 14:46:59 +0000 (15:46 +0100)]
syscall_proc: fix yield bug
Tormod Volden [Thu, 28 May 2015 21:04:51 +0000 (23:04 +0200)]
Add uptime to Makefile.6809 and disk image
Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
Alan Cox [Thu, 28 May 2015 22:22:19 +0000 (23:22 +0100)]
dragon-nx32: go with black on green for now
Black on white is also possible but not apparently anything sane like white
on black. Black on white looks too much like a spectrum, black on green
keeps the classic Dragon feel while giving us sensible fonts.
Alan Cox [Thu, 28 May 2015 22:11:37 +0000 (23:11 +0100)]
dragon-nx32: add missing define
Alan Cox [Thu, 28 May 2015 22:10:28 +0000 (23:10 +0100)]
dragon-nx32: report graphics
For the moment just do the trivial stuff, report we have a mappable 256x192
mono framebuffer. As it's in the low space the framebuffer is "mappable" by
any process.
Alan Cox [Thu, 28 May 2015 22:09:19 +0000 (23:09 +0100)]
dragon-nx32: lp driver
Supports both the "real" printer port and also the drivewire virtual
printing.
Alan Cox [Thu, 28 May 2015 22:08:48 +0000 (23:08 +0100)]
graphics: correct duplicate definition
Alan Cox [Thu, 28 May 2015 22:08:28 +0000 (23:08 +0100)]
dragon-nx-32: 6847 mangle routine is now unused
David Given [Thu, 28 May 2015 22:07:16 +0000 (00:07 +0200)]
Staticified a bunch of files; these now build with cc65. Also add some
workarounds for cc65's non-standard const correctness rules.
--HG--
extra : source :
145dd340fc2610495ab25196560246ce3eaceefa
David Given [Sat, 30 May 2015 10:39:45 +0000 (12:39 +0200)]
More cc65 const correctness workarounds.
--HG--
extra : source :
e60e2c93b05a69e69c92f9f76914f9311d8e89d1
Alan Cox [Thu, 28 May 2015 00:11:09 +0000 (01:11 +0100)]
dragon-nx-32: 256x192 bitmapped mode
We might want to use 40 char or 64 char but possibly not on composite video 8)
Must figure out how to set the border black.
Alan Cox [Wed, 27 May 2015 21:56:32 +0000 (22:56 +0100)]
dragon-nx-32: commit initial bits of video development work
Not yet tested
Alan Cox [Wed, 27 May 2015 21:55:57 +0000 (22:55 +0100)]
init: typedef fix gcc caught
Still some const confusions to fix up but they are warnings
Alan Cox [Tue, 26 May 2015 23:06:58 +0000 (00:06 +0100)]
opendir/readdir/closedir: partial rewrite, fix errors, block cache
We now pull a sector at a time and hand it out an entry at a time. This makes
life a lot quicker. In addition we now use one allocation not two and the
code correctly handles the corner case of the directory being fd 0
Alan Cox [Tue, 26 May 2015 23:06:40 +0000 (00:06 +0100)]
tty; fix a race
Alan Cox [Mon, 25 May 2015 22:45:57 +0000 (23:45 +0100)]
init: massive rewrite to support SYS5 inittab
Need to add telinit support to it yet.
May also make sense to extend the built in getty to understand some
basic modem setting and perhaps integrate cron as an internal.
You will now need an inittab, somethng like
id:3:initdefault:
si::sysinit:/bin/sh
is:s:respawn:/bin/sh
rc::bootwait:/etc/rc
01:3:respawn:getty /dev/tty1
02:3:respawn:getty /dev/tty2
03:3:off:getty /dev/tty3
Other things to look at that fall from this are init arguments on the boot
line
Alan Cox [Sun, 24 May 2015 22:30:52 +0000 (23:30 +0100)]
getpass: now we have a /dev/tty use it and also correct some behaviour
With this sorted su and passwd now work exactly as expected
Alan Cox [Sun, 24 May 2015 21:56:34 +0000 (22:56 +0100)]
ps: Use "asleep" not "sleeping" so it fits
This will do for now until it gets rewritten to provide the expected sys5
layout
Alan Cox [Sun, 24 May 2015 21:48:31 +0000 (22:48 +0100)]
TODO: update
Alan Cox [Sun, 24 May 2015 21:46:29 +0000 (22:46 +0100)]
uptime: use the libc API for load averages
Alan Cox [Sun, 24 May 2015 21:46:04 +0000 (22:46 +0100)]
libc: add the getloadavg() interface from 2BSD
Alan Cox [Sun, 24 May 2015 21:45:11 +0000 (22:45 +0100)]
process: enable uptime support
Brett Gordon [Sun, 24 May 2015 15:23:28 +0000 (11:23 -0400)]
fuzix ssh bugfix
I've improved "ssh" for now until "sh" is working for the 6809
platforms.
This patch for "ssh" fixed two things:
* cd to user's home directory on login invocation
* a cd without arguments works
Tormod Volden [Sat, 23 May 2015 18:07:30 +0000 (20:07 +0200)]
6809: Implement setjmp/longjmp
Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
Tormod Volden [Sat, 23 May 2015 10:58:42 +0000 (12:58 +0200)]
Don't signal dead processes in doexit()
ssig() checks for this later but better check it here
before doing anything else.
Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
Alan Cox [Sat, 23 May 2015 13:00:38 +0000 (14:00 +0100)]
uptime: tidy up types
Alan Cox [Sat, 23 May 2015 12:53:57 +0000 (13:53 +0100)]
syscall_proc: fix the CLOCK_MONOTONIC timer
Alan Cox [Sat, 23 May 2015 12:53:29 +0000 (13:53 +0100)]
uptime: add an initial version of uptime
Now the load average code can be debugged..
Alan Cox [Sat, 23 May 2015 11:16:46 +0000 (12:16 +0100)]
pagesize: Fix broken output
_itoa(32768U) broke horribly. Use _uitoa() and fix the sign bug in uitoa.
Tormod Volden [Sat, 23 May 2015 07:35:39 +0000 (09:35 +0200)]
Fix const warning in memcpy and strcspn
Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
Alan Cox [Fri, 22 May 2015 23:36:58 +0000 (00:36 +0100)]
process: forks should inherit parents name
This fixes the cases where forks show up oddly in ps with a blank name
Alan Cox [Fri, 22 May 2015 23:12:49 +0000 (00:12 +0100)]
clock_gettime: don't leak internal function symbols
Alan Cox [Fri, 22 May 2015 23:12:25 +0000 (00:12 +0100)]
trs80: still trying to fix tty switch
Alan Cox [Fri, 22 May 2015 23:11:46 +0000 (00:11 +0100)]
utsname: fix reporting strings
They were not getting packed as we wanted due to being const
Alan Cox [Fri, 22 May 2015 23:11:32 +0000 (00:11 +0100)]
utsname: small fixes
Alan Cox [Fri, 22 May 2015 22:24:27 +0000 (23:24 +0100)]
util: swap the old ucp etc 'sd' 32MB shifts for a simple bias
We don't use the SocZ80 UZI 32MB block scheme, so repurpose it for general
use
Alan Cox [Fri, 22 May 2015 22:09:37 +0000 (23:09 +0100)]
zx128: fix keyboard polling
The NMOS di/irq_restore bug is now fixed so we can go back to polling here
Alan Cox [Fri, 22 May 2015 21:29:07 +0000 (22:29 +0100)]
includes: resync proc.h
Tormod Volden [Fri, 22 May 2015 20:20:19 +0000 (22:20 +0200)]
Remove unneeded NUL keyboard input check on various platforms
Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
Tormod Volden [Fri, 22 May 2015 20:20:18 +0000 (22:20 +0200)]
dragon-nx32: Cruft removal and some cosmetics in tricks.s
We don't need to preserve Y because it is properly stacked.
Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
Tormod Volden [Fri, 22 May 2015 20:20:17 +0000 (22:20 +0200)]
utils: Add size report to Makefile.6809
Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
Tormod Volden [Fri, 22 May 2015 20:20:16 +0000 (22:20 +0200)]
Fix memmove breakage
Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
Alan Cox [Fri, 22 May 2015 21:21:24 +0000 (22:21 +0100)]
trs80: Add support for two consoles (shift-F1 and shift-F2)
Useful for debugging work and testing interactions.
The TRS80 cannot as far as I understand move the physical video base, so
we exchange the memory banks and do some additional pointer flipping and
the like to get it to work.
Cursor handling is still not quite right and needs debugging.
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!
Alan Cox [Fri, 22 May 2015 14:29:19 +0000 (15:29 +0100)]
syscall_fs2: kill redundant itmp
Alan Cox [Fri, 22 May 2015 13:24:09 +0000 (14:24 +0100)]
env: add missing app
Alan Cox [Fri, 22 May 2015 10:37:16 +0000 (11:37 +0100)]
README.md: devtty done
Alan Cox [Fri, 22 May 2015 10:36:45 +0000 (11:36 +0100)]
mtx: note bug to fix
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
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
Alan Cox [Fri, 22 May 2015 10:34:25 +0000 (11:34 +0100)]
vt: this will go away in a moment
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