Author: wmb Date: 2009-11-25 22:16:45 +0100 (Wed, 25 Nov 2009) New Revision: 1507
Modified: cpu/x86/kernel.bth Log: Added a build option to the x86 Forth kernel to omit file support, useful for a small special-purpose kernel.
Modified: cpu/x86/kernel.bth =================================================================== --- cpu/x86/kernel.bth 2009-11-25 20:56:15 UTC (rev 1506) +++ cpu/x86/kernel.bth 2009-11-25 21:16:45 UTC (rev 1507) @@ -15,11 +15,17 @@ \ [then] \ [then]
+\ create omit-files + +[ifdef] omit-files +create dic-file-name ," kernelnofiles.dic" +[else] [ifdef] big-endian-t create dic-file-name ," kernelbe.dic" [else] create dic-file-name ," kernel.dic" [then] +[then]
: \Tags [compile] \ ; immediate : \NotTags ; immediate @@ -92,15 +98,34 @@ \ fload ${BP}/forth/kernel/dmuldiv.fth
fload ${BP}/forth/lib/bitops.fth +[ifdef] omit-files +defer set-relocation-bit +defer clear-relocation-bits +' noop is set-relocation-bit +' 2drop is clear-relocation-bits +[else] fload ${BP}/cpu/x86/kernrel.fth +[then]
fload ${BP}/forth/lib/struct.fth
fload ${BP}/forth/kernel/kernel.fth
+[ifdef] omit-files +fload ${BP}/forth/lib/dumballo.fth +false value flat? +: uart-init-io ( -- ) + install-uart-io +; +' uart-init-io is init-io +' noop is init-environment +: stand-init ; + +[else] fload ${BP}/forth/kernel/sysio.fth fload ${BP}/forth/lib/dumballo.fth fload ${BP}/cpu/x86/syscall.fth +[then]
fload ${BP}/forth/kernel/nswapmap.fth
@@ -113,16 +138,26 @@
meta-tag-file @ fclose meta-tag-file off
+[ifdef] omit-files +: crcgen drop ; +: patchboot ; +fload ${BP}/cpu/x86/pc/saveabs.fth +[else] fload ${BP}/cpu/x86/saveexp.fth fload ${BP}/cpu/x86/savemeta.fth +[then]
warning on \ Turn ON the warning messages
hex
+[ifdef] omit-files +dic-file-name count h# ffff.0000 save-abs-rom cr +[else] \Tags close-tag-file \NotTags .( --- Saving ) dic-file-name ". .( ---) dic-file-name count $save-meta cr +[then]
\ LICENSE_BEGIN \ Copyright (c) 2006 FirmWorks
openfirmware@openfirmware.info