Alan Cox [Sat, 4 Nov 2017 11:47:32 +0000 (11:47 +0000)]
netd: final warnings and silly typecase fix
Alan Cox [Sat, 4 Nov 2017 11:44:06 +0000 (11:44 +0000)]
netd: first attempt at decoding loopback correctly for non ARP protocols
Alan Cox [Sat, 4 Nov 2017 11:44:00 +0000 (11:44 +0000)]
slip: fix build bug
Alan Cox [Sat, 4 Nov 2017 01:43:29 +0000 (01:43 +0000)]
edL: Add a cleaned up port of the MWC ed
It's a bit bigger than the utils ed but seems to work rather better. Not
sure which ed will be best - next experiment may be the v7 one 8)
Alan Cox [Fri, 3 Nov 2017 23:43:34 +0000 (23:43 +0000)]
netd: first cut at a slip driver
Alan Cox [Fri, 3 Nov 2017 23:42:13 +0000 (23:42 +0000)]
netd: Fix unterminated comment
Alan Cox [Fri, 3 Nov 2017 23:41:52 +0000 (23:41 +0000)]
netd: remove duplicate declarations and add the arp flag
Alan Cox [Fri, 3 Nov 2017 23:41:39 +0000 (23:41 +0000)]
fsck: note a performance fix
Alan Cox [Fri, 3 Nov 2017 23:40:57 +0000 (23:40 +0000)]
netd: clean up for other compilers and add the ability to turn off arp
It's not yet enough to run without arp because of our loopback code
Alan Cox [Fri, 3 Nov 2017 23:40:28 +0000 (23:40 +0000)]
netd: note clock_arch check to do
Alan Cox [Fri, 3 Nov 2017 23:40:02 +0000 (23:40 +0000)]
netd: gcc can struct assign but not all of its friends can
Alan Cox [Fri, 3 Nov 2017 23:39:39 +0000 (23:39 +0000)]
netd: add flag so a driver declares if it needs arp
We'll be needing that shortly
Alan Cox [Fri, 3 Nov 2017 23:37:42 +0000 (23:37 +0000)]
process: when debugging it's nice to know why something exited
Alan Cox [Fri, 3 Nov 2017 23:37:30 +0000 (23:37 +0000)]
z80pack: turn on MMU feature
Alan Cox [Fri, 3 Nov 2017 23:36:59 +0000 (23:36 +0000)]
z80pack: add an extreme example of the mmu hooks
Alan Cox [Fri, 3 Nov 2017 23:36:35 +0000 (23:36 +0000)]
lowlevel-z80: add hooking points for Z80 systems with memory protect bits
Alan Cox [Fri, 3 Nov 2017 23:36:01 +0000 (23:36 +0000)]
z80pack: we added a tty
Alan Cox [Fri, 3 Nov 2017 23:35:20 +0000 (23:35 +0000)]
z80pack: drop stuff we don't need
Alan Cox [Fri, 3 Nov 2017 23:34:54 +0000 (23:34 +0000)]
ibmpc: note older 80x86 errata
Alan Cox [Fri, 3 Nov 2017 23:32:48 +0000 (23:32 +0000)]
z80pack: add the outgoing port as another tty
Alan Cox [Fri, 3 Nov 2017 23:31:58 +0000 (23:31 +0000)]
z80: fix the banked code FIXME about syscalls.
Note the call is also safe as the entry point is not banked
Alan Cox [Fri, 3 Nov 2017 23:31:37 +0000 (23:31 +0000)]
z80pack: Fix the printer driver
Alan Cox [Fri, 3 Nov 2017 12:23:32 +0000 (12:23 +0000)]
du: switch version
Use the tidied up MWC one. It's nicer, smaller and calculates stuff like
indirect block cost.
Alan Cox [Thu, 2 Nov 2017 18:18:09 +0000 (18:18 +0000)]
as: bracket or square...
Z80 and 6502 use () to indicate a layer of indirection, so the assembler uses
[] for expressions
6809 uses [] for indirect, so we need to use () for expressions
Alan Cox [Thu, 2 Nov 2017 18:17:11 +0000 (18:17 +0000)]
as: incomplete 6809 code
Doesn't build yet but I figure we might as well make all of our platforms
able to use the same object file format, linker, library tools for self hosting
work.
Alan Cox [Tue, 31 Oct 2017 21:40:35 +0000 (21:40 +0000)]
as: Fix more bugs, add < and > for lo/hi relocations
Still plenty of bugs I am sure.
Alan Cox [Tue, 31 Oct 2017 20:48:32 +0000 (20:48 +0000)]
as further work
- Initial core support for word addressed machines
- Sketch out a compilable DG Nova PoC for this
- PC relative addressing
Alan Cox [Tue, 31 Oct 2017 20:47:03 +0000 (20:47 +0000)]
ld: first cut at big endian logic, pcrel, overflow suppression and high8
Alan Cox [Tue, 31 Oct 2017 13:44:28 +0000 (13:44 +0000)]
obj: add proper PCREL definitions for relocation entries
We can generate them but not yet link them
Alan Cox [Tue, 31 Oct 2017 12:28:05 +0000 (12:28 +0000)]
as4: add relative byte output
Alan Cox [Tue, 31 Oct 2017 12:27:45 +0000 (12:27 +0000)]
asz80: improve handling of segment type clashes
Alan Cox [Tue, 31 Oct 2017 12:26:54 +0000 (12:26 +0000)]
ld: teach new tags, and make it reject them also tidy segment constraints
Alan Cox [Tue, 31 Oct 2017 12:26:34 +0000 (12:26 +0000)]
obj: update with endian and word tags and some oddments
Alan Cox [Mon, 30 Oct 2017 23:44:05 +0000 (23:44 +0000)]
as: lots of stuff here
- Rework types for cpu / flags
- Add 6502 types
- Teach ld that there can be a ZP segment
- Restructure the assembler to put arch specific code in less files
- Fix various minor bugs (segment checking etc)
- Fix a bug where a_sym was not reliably set to NULL for constants
- Add initial test 6502 support to prove can re-target easily
Alan Cox [Mon, 30 Oct 2017 17:42:47 +0000 (17:42 +0000)]
asz80: Z180 initial support, fix range checking, correct IX disp non abs
In particular
out (300),a errors
ld (ix+300),a errors
ld (ix+FOO),a generates a relocation entry for FOO
That means you can
FOO .equ 21
ld (ix+FOO),a
or even define FOO as an external
Alan Cox [Mon, 30 Oct 2017 17:42:25 +0000 (17:42 +0000)]
ld: don't break if the symbol unused bytes are nn zero
Alan Cox [Mon, 30 Oct 2017 17:40:58 +0000 (17:40 +0000)]
ld: add the hash function
Alan Cox [Mon, 30 Oct 2017 17:40:38 +0000 (17:40 +0000)]
obj: make Z80 an 8080 variant as this makes more sense
Alan Cox [Sun, 29 Oct 2017 18:28:23 +0000 (18:28 +0000)]
SmallC: Fix initialization of static/global pointers
It's trivial to add the code generation for this and it's an annoying lack in
the compiler.
Alan Cox [Sun, 29 Oct 2017 18:07:14 +0000 (18:07 +0000)]
smallc: tidy up a bit, align Z80 with assembler and fix bogus pop bc bug
Alan Cox [Sun, 29 Oct 2017 17:36:50 +0000 (17:36 +0000)]
ld: tidy up pass
Alan Cox [Sun, 29 Oct 2017 17:31:18 +0000 (17:31 +0000)]
ld: furthr polishing
At this point it appears to be functioal
Alan Cox [Sun, 29 Oct 2017 16:37:08 +0000 (16:37 +0000)]
Merge branch 'master' of https://github.com/EtchedPixels/FUZIX
Alan Cox [Sun, 29 Oct 2017 16:36:27 +0000 (16:36 +0000)]
ld: Save current status
Libraries work
Still doing some final debug on symbol resolutions
Unbreak handling of internal symbols
Alan Cox [Sun, 29 Oct 2017 16:35:51 +0000 (16:35 +0000)]
obj.h: add 'ANY' segment definition
Alan Cox [Sun, 29 Oct 2017 16:35:38 +0000 (16:35 +0000)]
nm: understand the fact a U symbol may be segment constrained
Alan Cox [Sun, 29 Oct 2017 16:34:19 +0000 (16:34 +0000)]
as: fix handling of unknown symbols in subtraction
Propogate segment requirements to object module for linker to fault
Alan Cox [Sun, 29 Oct 2017 16:33:43 +0000 (16:33 +0000)]
as: fix blkb/defs
We make it twice the size and get very confused as a result
EtchedPixels [Sun, 29 Oct 2017 13:41:52 +0000 (13:41 +0000)]
Merge pull request #540 from beretta42/mem
bank16k: report correct memory used
Brett Gordon [Sun, 29 Oct 2017 08:24:56 +0000 (04:24 -0400)]
bank16k: report correct memory used
pfptr goes down as memory is allocated. return it's compliement instead.
Alan Cox [Sat, 28 Oct 2017 23:17:34 +0000 (00:17 +0100)]
ld: closer but not yet entirely correct
Alan Cox [Sat, 28 Oct 2017 22:25:13 +0000 (23:25 +0100)]
ld: further updates
At this point we can do some minimal linking and write out correctly looking
objects.
Alan Cox [Sat, 28 Oct 2017 22:24:59 +0000 (23:24 +0100)]
asz80: fixes to output format logic
Alan Cox [Sat, 28 Oct 2017 22:24:46 +0000 (23:24 +0100)]
obj: format tweaking
Alan Cox [Sat, 28 Oct 2017 18:13:10 +0000 (19:13 +0100)]
README: updates
- We now have a useful gcc 8086, in fact at many things it rocks.
- SDCC is ever improving
Alan Cox [Sat, 28 Oct 2017 18:03:42 +0000 (19:03 +0100)]
ld: Fix some stuff by inspection and fold in basic logic for library modules
Alan Cox [Sat, 28 Oct 2017 17:41:50 +0000 (18:41 +0100)]
ld: first parts of a linker
Far from complete!
Alan Cox [Sat, 28 Oct 2017 17:41:19 +0000 (18:41 +0100)]
z80as: change object file format to fixed sized symbol records
This makes life a lot easier for the other tools
Alan Cox [Sat, 28 Oct 2017 16:30:41 +0000 (17:30 +0100)]
asz80: always write the debug symbol base
It avoids special cases and means the linker can size the table itself.
Alan Cox [Sat, 28 Oct 2017 15:57:35 +0000 (16:57 +0100)]
asz80: finish conversion
This now behaves rather more like we need. It lacks includes and some other
nice to have bits but is also small enough to run on a Z80 box sanely. Trimming
out stdio and soem other slack could be done if needed but is a fair bit of
work.
Also add an nm mostly at this point to check the output is valid.
Now all we need is to tweak the smallc output syntax to match, and a linker...
Alan Cox [Fri, 27 Oct 2017 21:50:14 +0000 (22:50 +0100)]
asz80: write symbols out
Also fix the .export handling and some oddments related to it.
We now should be writing out correct relocations and symbol tables. The one
thing we have yet to do is to properly number the external symbols so that
we can output them in that order and tie it nicely to the relocations so that
ld doesn't have to work overtime.
Alan Cox [Thu, 26 Oct 2017 20:04:17 +0000 (21:04 +0100)]
asz80: some quick changes over tea
We now write out parts of something resembling a relocatable object file. We
don't yet write out the symbols nor do we write out the longer relocations
for symbol references rather than segment offsets.
Alan Cox [Thu, 26 Oct 2017 20:02:49 +0000 (21:02 +0100)]
Merge branch 'master' of https://github.com/EtchedPixels/FUZIX
EtchedPixels [Thu, 26 Oct 2017 20:02:36 +0000 (21:02 +0100)]
Merge pull request #536 from beretta42/make2
fsck: fix some more bugs
EtchedPixels [Thu, 26 Oct 2017 20:01:12 +0000 (21:01 +0100)]
Merge pull request #537 from beretta42/up
Tidy 'make'
EtchedPixels [Thu, 26 Oct 2017 20:00:43 +0000 (21:00 +0100)]
Merge pull request #538 from beretta42/halt
util: link 'halt' to 'reboot' on fs
Brett Gordon [Thu, 26 Oct 2017 18:17:00 +0000 (14:17 -0400)]
util: link 'halt' to 'reboot' on fs
Brett Gordon [Thu, 26 Oct 2017 17:33:27 +0000 (13:33 -0400)]
fsck: fix another wrap bug, and continuing is not an error.
Brett Gordon [Thu, 26 Oct 2017 17:06:35 +0000 (13:06 -0400)]
standalone fsck: fix always returns 1; parenths to fix wrapping issue
Brett Gordon [Thu, 26 Oct 2017 16:23:53 +0000 (12:23 -0400)]
MWC: add 'make' to filesystem maker script
Brett Gordon [Thu, 26 Oct 2017 16:03:41 +0000 (12:03 -0400)]
make: fix compiler complaint
Alan Cox [Thu, 26 Oct 2017 15:21:23 +0000 (16:21 +0100)]
fsck: minor fixes
Alan Cox [Wed, 25 Oct 2017 19:50:59 +0000 (20:50 +0100)]
Makefile: hook in z80 assembler
Alan Cox [Wed, 25 Oct 2017 19:04:57 +0000 (20:04 +0100)]
make: make
Add the older MwC make as it fits a small machine nicely
Alan Cox [Wed, 25 Oct 2017 19:02:51 +0000 (20:02 +0100)]
as: Z80 assembler from Coherent
This one doesn't do relocations or external symbol resolution so will need a
bit of tweaking to generate object files not binaries. It is however very
tidy and extremely small.
Alan Cox [Wed, 25 Oct 2017 14:57:17 +0000 (15:57 +0100)]
cron: add cron
Alan Cox [Tue, 24 Oct 2017 23:38:02 +0000 (00:38 +0100)]
start: tiny optimization
Alan Cox [Tue, 24 Oct 2017 23:37:31 +0000 (00:37 +0100)]
fsck: Fix the wrap bug on standalone fsck
Alan Cox [Tue, 24 Oct 2017 23:37:21 +0000 (00:37 +0100)]
tty: Fix ^D echo bug
Alan Cox [Tue, 24 Oct 2017 23:36:46 +0000 (00:36 +0100)]
fsck: fix wrap on full sized fs
Noticed by Brett
Alan Cox [Tue, 24 Oct 2017 23:36:16 +0000 (00:36 +0100)]
games add hangman and quiz
Alan Cox [Tue, 24 Oct 2017 23:03:23 +0000 (00:03 +0100)]
v7yacc: Add the V7 yacc as a cross building tool
Alan Cox [Tue, 24 Oct 2017 18:26:46 +0000 (19:26 +0100)]
bogomips: because ...
Z80 4MHz 0.2 bogomips
FPGA Z80 128MHz 10.55 bogomips - beats an Intel 386 ;)
Alan Cox [Tue, 24 Oct 2017 18:26:23 +0000 (19:26 +0100)]
clock: fix scaling error
Alan Cox [Mon, 23 Oct 2017 14:50:01 +0000 (15:50 +0100)]
free: add a Linux like "free" command to see swap and memory usage
Alan Cox [Mon, 23 Oct 2017 14:49:45 +0000 (15:49 +0100)]
init: bug fixes and fussier about leaving files open
EtchedPixels [Mon, 23 Oct 2017 14:26:34 +0000 (15:26 +0100)]
Merge pull request #533 from beretta42/fix
kernel: syscall_16: put header in userspace too.
Brett Gordon [Mon, 23 Oct 2017 14:05:29 +0000 (10:05 -0400)]
kernel: syscall_16: put header in userspace too.
Alan Cox [Mon, 23 Oct 2017 00:02:14 +0000 (01:02 +0100)]
mount/umount: Fixups for the other cases I missed
With this I seem to get the right behaviour
Alan Cox [Sun, 22 Oct 2017 22:31:26 +0000 (23:31 +0100)]
mount: add support for fsck
- Dirty/clean status handling
- Write back superblocks when we go clean but not if we are clean (or bad)
- Add full checks so remount ro works for all cases
This allows you to fsck -a `prtroot` in /etc/rc to recover the system if
needed. Before rebooting you need to remount filesystems r/o or unmount them.
This last bit wants wiring into reboot so it does a runlevel change to init
unless -f is used. We can then umount everything nicely (by adding umount -a)
and remount the rootfs r/o as well as doing a killall etc when we shutdown.
Alan Cox [Sun, 22 Oct 2017 22:31:13 +0000 (23:31 +0100)]
syscall_exec16: fix crash with small binaries, reduce code footprint
Alan Cox [Sun, 22 Oct 2017 22:30:44 +0000 (23:30 +0100)]
Standalone: move to the new fsck behaviour
Alan Cox [Sun, 22 Oct 2017 22:28:31 +0000 (23:28 +0100)]
fsck: get the fsck tool working
This (with the needed kernel changes) seems to give us the correct behaviour
including handling recovering the live root file system.
If you boot with 'r' as an option or a dirty rootfs you'll now get a r/o
mount and you can fsck /dev/whatever to check it. If it's bad you'll then
get to fix it and it'll reboot.
Alan Cox [Sun, 22 Oct 2017 21:06:44 +0000 (22:06 +0100)]
reboot: add user side support for reboot -f
Alan Cox [Sun, 22 Oct 2017 18:55:26 +0000 (19:55 +0100)]
kernel: we don't use the void *'s back from the blkbuf ops so lose them
Alan Cox [Sun, 22 Oct 2017 18:55:07 +0000 (19:55 +0100)]
ExternalBuffers: document how the model works
Alan Cox [Sun, 22 Oct 2017 18:45:33 +0000 (19:45 +0100)]
test: fix silly error when copying fixes over
Alan Cox [Sun, 22 Oct 2017 18:44:13 +0000 (19:44 +0100)]
fuzix-util: add remount to package list
Alan Cox [Sun, 22 Oct 2017 18:40:23 +0000 (19:40 +0100)]
umount/remount: tidy up umount and add a remount
Alan Cox [Sun, 22 Oct 2017 18:33:46 +0000 (19:33 +0100)]
umount: fix includes
This worked by luck before. Now add the correct include file