Date: Wed, 10 Apr 2002 19:32:44 -0700 From: Jonathan Mini <mini@haikugeek.com> To: Daniel O'Connor <doconnor@gsoft.com.au> Cc: Andrzej Bialecki <abial@webgiro.com>, cvs-committers@FreeBSD.ORG, cvs-all@FreeBSD.ORG Subject: Re: Feature removal without replacement (was: cvs commit: src/sys/alpha/alpha machdep.c src/sys/conf NOTES) Message-ID: <20020410193244.B34704@stylus.haikugeek.com> In-Reply-To: <1018489755.20755.13.camel@chowder.gsoft.com.au>; from doconnor@gsoft.com.au on Thu, Apr 11, 2002 at 11:19:12AM %2B0930 References: <4868.1018415500@critter.freebsd.dk> <3CB4A9CC.B5D46293@webgiro.com> <1018489755.20755.13.camel@chowder.gsoft.com.au>
next in thread | previous in thread | raw e-mail | index | archive | help
Daniel O'Connor [doconnor@gsoft.com.au] wrote : > > Is there a way to write code that uses this stuff without having to > reboot continuously? (I'm not talking vmware either) $ cvs -R co -P src/sys/boot/ficl $ cd src/sys/boot/ficl $ make testmain $ ./testmain > You can access the basic Forth engine from userland but it's difficult > to do any loader specific stuff since none of the words are defined > (last time I checked) Most of the functionality is there as is. The words missing in the testmain case are: #ifndef TESTMAIN #ifdef __i386__ dictAppendWord(dp, "outb", ficlOutb, FW_DEFAULT); dictAppendWord(dp, "inb", ficlInb, FW_DEFAULT); #endif dictAppendWord(dp, "setenv", ficlSetenv, FW_DEFAULT); dictAppendWord(dp, "setenv?", ficlSetenvq, FW_DEFAULT); dictAppendWord(dp, "getenv", ficlGetenv, FW_DEFAULT); dictAppendWord(dp, "unsetenv", ficlUnsetenv, FW_DEFAULT); dictAppendWord(dp, "copyin", ficlCopyin, FW_DEFAULT); dictAppendWord(dp, "copyout", ficlCopyout, FW_DEFAULT); dictAppendWord(dp, "findfile", ficlFindfile, FW_DEFAULT); #ifdef HAVE_PNP dictAppendWord(dp, "pnpdevices",ficlPnpdevices, FW_DEFAULT); dictAppendWord(dp, "pnphandlers",ficlPnphandlers, FW_DEFAULT); #endif dictAppendWord(dp, "ccall", ficlCcall, FW_DEFAULT); #endif These need to be implemented with appropriate stubs in the userland version. I am working on some patches to make the testmain stuff a more like the loader (i.e. have a similar file tree and stuff). I'd like to set it up so that you can run an emulated environment close enough to the loader's that the boot scripts we have now will still function (e.g. simulate loading a kernel, simulate booting, etc). I'm doing this so that its much easier to develop and debug complex loader scripts. This was mainly for my sanity for doing the "userconfig.4th" stuff. However, I am not too excited about the prospect of doing "complex loader scripts" -- forth is not my cup of tea. If someone else would like to do the "userconfig.4th" stuff, please do. =) -- Jonathan Mini mini@haikugeek.com <baka^ni> desolation... despair... plastic forks... To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020410193244.B34704>