Daniel C. Sobral
70e1899762
Fix REFILL. It must throw RESTART instead of OUTOFTEXT so that
...
execution can take place at the point where it stopped after the
input buffer has been refilled.
Add ANS Forth CORE EXT and FILE word SOURCE-ID.
2000-06-12 16:46:28 +00:00
Daniel C. Sobral
d742bdfc76
The word environment? returns a flag indicating whether the variable
...
was found or not. Fix it's usage. Alas, it caused no problem before,
besides leaving garbage in the stack, because refill, used by [if]
[else] [then], was broken.
2000-06-12 16:45:01 +00:00
Daniel C. Sobral
23bab6002c
Make abort" functional in interpret mode. This behavior is undefined
...
by ANS Forth standard, but it's useful.
Also, define the constant true in a more strict way. C might garantee
2-complement math, but Forth doesn't.
2000-06-12 16:42:02 +00:00
Daniel C. Sobral
d2083bf417
Make comment reflect reality.
2000-06-12 16:40:00 +00:00
Daniel C. Sobral
e0d83caeed
Put some version checking.
2000-06-07 22:19:49 +00:00
Daniel C. Sobral
a6a1d6e852
Bump loader version due to FICL (duh!) and copyin, copyout, setenv&cia.
2000-06-07 22:14:09 +00:00
Daniel C. Sobral
5ae8a644f6
Bump loader version due to copyin, copyout, setenv&cia.
2000-06-07 22:12:21 +00:00
Daniel C. Sobral
c1312289dd
Modify boot-conf so it can take a kernel or directory name as
...
a parameter and dtrt.
Also, make boot-conf always unload first. There wasn't really any
point in not doing this, as the kernel _has_ to be loaded before
any other modules.
Tested by: dwhite
2000-06-07 22:10:05 +00:00
Daniel C. Sobral
f0b972df2f
Add setenv, getenv, setenv?, unsetenv, copyin and copyout to FICL.
2000-06-07 22:07:01 +00:00
Daniel C. Sobral
14a7c31a0c
Remove AGAIN definition, as FICL 2.04 provides it.
...
Add strlen, to help handling data generated by C code.
Add 2>r 2r>, because OO programming without them sucks.
2000-06-07 22:03:37 +00:00
Daniel C. Sobral
7015e7c9a1
Remove a bug that caused local variables declarations in the format
...
{ | internal -- } to be rejected.
2000-06-07 22:00:10 +00:00
Daniel C. Sobral
7632c12363
Place original builtins in a vocabulary called "builtins". This
...
is intended mainly for debuging purposes, but it can be used by
other words if done carefully.
2000-06-07 21:57:23 +00:00
Daniel C. Sobral
7302acac1c
Remove residual printf.
...
Prodded by: msmith
2000-06-07 03:33:12 +00:00
Doug Rabson
e347aadd85
Record the new PALcode revision in the pcs structure after changing to
...
run OSF/1 PALcode.
Obtained from: NetBSD
2000-06-03 08:24:37 +00:00
Daniel C. Sobral
11b96475f7
Apply a number of fixes for the Alpha platform.
2000-06-02 20:07:56 +00:00
Daniel C. Sobral
b8e8da45a9
Add something that was missing from the original 2.04 distribution.
2000-06-02 13:49:09 +00:00
Daniel C. Sobral
b270590aeb
Add "int" sized manipulation words.
2000-06-01 18:10:44 +00:00
Yoshihiro Takahashi
c787eb8a72
Sync with the following changes.
...
sys/boot/i386/btx/btx/Makefile 1.8
sys/boot/i386/btx/btx/btx.s 1.16 and 1.17
sys/boot/i386/btx/btxldr/btxldr.s 1.10
sys/boot/i386/loader/Makefile 1.45
2000-05-29 11:58:01 +00:00
Daniel C. Sobral
b6b204a98b
Strip spaces and comments more agressively.
2000-05-26 22:58:10 +00:00
Daniel C. Sobral
7795d19132
Bring in FICL 2.04. No bump of loader version is required by this
...
commit.
2000-05-26 21:35:08 +00:00
Jake Burkholder
e39756439c
Back out the previous change to the queue(3) interface.
...
It was not discussed and should probably not happen.
Requested by: msmith and others
2000-05-26 02:09:24 +00:00
John Baldwin
e1efa49a84
Convert the short stub of real-mode code into 16-bit assembly.
2000-05-24 02:20:34 +00:00
Jake Burkholder
740a1973a6
Change the way that the queue(3) structures are declared; don't assume that
...
the type argument to *_HEAD and *_ENTRY is a struct.
Suggested by: phk
Reviewed by: phk
Approved by: mdodd
2000-05-23 20:41:01 +00:00
John Baldwin
a1a611ed6b
Grrr, fix a silly 'movl' -> 'movw' typo in both pxeldr and cdldr. Also,
...
remove unnecessary cruft from the Makefiles for both.
2000-05-23 12:31:32 +00:00
John Baldwin
af54a4fe47
Clean up some more 16-bit code and get rid of more m4 macros.
2000-05-23 12:28:31 +00:00
John Baldwin
638bac9fc0
Clean up all of the 16-bit assembly code in the x86 bootstrap to work
...
with the new binutils. Now that we have a decent assembler, all the old
m4 macros are no longer needed. Instead, straight assembly can be used
since as(1) now understands 16-bit addressing, branches, etc. Also,
several bugs have been fixed in as(1), allowing boot0.s to be further
cleaned up.
2000-05-23 12:18:49 +00:00
Daniel C. Sobral
716f301734
Document abial's .#.
2000-05-23 11:47:23 +00:00
Tim Vanderhoek
b0d9eb06f9
Make this compile in case anyone ever wants to use the PC98 booter
...
on an IBM machine. This fix matches i386/boot2/boot.c.
PR: kern/7903
2000-05-21 05:27:56 +00:00
Daniel C. Sobral
aad477d890
One of loaders' bugs disappeared somewhere along the way.
2000-05-19 11:15:12 +00:00
Daniel C. Sobral
9ece4dbfe9
Move man page directives to common/Makefile.inc.
2000-05-19 08:52:16 +00:00
Daniel C. Sobral
536f89a623
This file got repo-copied to common/.
2000-05-19 08:44:48 +00:00
Daniel C. Sobral
a2aa3427cf
Move man page directives to common/Makefile.inc.
2000-05-19 08:41:45 +00:00
Daniel C. Sobral
27391e65fd
Remove INSTALL_FORTH stuff.
2000-05-19 08:40:37 +00:00
Daniel C. Sobral
6593d234e6
Move man page directives to common/Makefile.inc.
...
Remove INSTALL_FORTH stuff.
2000-05-19 08:40:11 +00:00
Daniel C. Sobral
d9f7c44adf
Make corrections to allow for Alpha.
2000-05-18 12:44:50 +00:00
Doug Rabson
8bbd2c1e46
Only probe network settings on the first open of the network device.
...
The alpha firmware takes a seriously long time to open the network device
the first time.
2000-05-13 15:40:46 +00:00
David E. O'Brien
7f562b6673
The loader was written so that if /kernel was missing /kernel.old would
...
be booted. Due to a bug, this wasn't happening.
There is still a lesser bug in that the loader decides which file to boot
after the 10sec count down. This means the bootfile listed in the count
down in is wrong in the case where the loader will boot /kernel.old.
2000-05-13 02:45:11 +00:00
Peter Wemm
24d29b9649
Install the bootforth config files for the Alpha too. loader.conf should
...
be functional now.
2000-05-12 23:22:09 +00:00
Peter Wemm
dafe1ac0a0
Reactivate the FICL hooks to make it be compiled in, but also initialize
...
FICL. bootforth is now live on the Alpha!
**BEWARE** - you *MUST* build and install a current libstand or you will
most likely get zfree() panics at loader startup.
We should now be able to set up the loader.conf stuff on the Alpha too.
2000-05-12 22:45:16 +00:00
Peter Wemm
4887dfcfd4
Stop libficl from using floating point registers - this was cauing
...
dictDelete() to fault early on the Alpha and was the original cause of
the Alpha ficl failures.
2000-05-12 21:51:20 +00:00
Peter Wemm
fa139a1ac3
Fix the Alpha loader the rest of the way. If FICL is present in
...
/boot/loader (even though it is 100% dormant in the Alpha version),
then the loader panics with a zfree error:Loading /boot/loader.test
*** keyboard not plugged in...
Console: SRM firmware console
panic: zfree(0x2003cb58,4096): wild pointer
versus the exact same code but without FICL linked in:
Loading /boot/loader
Console: SRM firmware console
VMS PAL rev: 0x1000600010114
OSF PAL rev: 0x1000600020116
Switch to OSF PAL code succeeded.
FreeBSD/alpha SRM disk boot, Revision 0.1
This is almost certainly an alpha infrastructure bug, not a FICL
problem. It's probably the same thing that made FICL fail for no
apparent reason on the Alpha.
2000-05-12 07:47:47 +00:00
Boris Popov
cf448cb2c9
long != int on Alphas.
2000-05-12 05:16:37 +00:00
Doug White
325bde0fb7
Remove metion of the 'magic options.' Apparently PXE doesn't require the
...
special options on 0.99c (it mumbles something about 'PXE server not found'
but works anyway), and it won't work at all with PXE 2.0.
2000-05-09 18:28:07 +00:00
Mike Smith
1fd777e1d5
Teach the alpha loader install process to make backup copies of the
...
boot programs when installing new versions.
2000-05-06 18:31:26 +00:00
John Baldwin
773065b3b8
Switch to using the .code16 as(1) directive and using 16-bit assembly
...
code instead of using 32-bit code and having to just "know" that it's
really 16-bit instructions when things run. This also allows the code
to use fewer macros and more actual assembly statements, which eases
maintenance. Unfortunately, due to as(1) brokenness, we still use m4
macros for all 16-bit addresses, and all short jumps (i.e., 8-bit
relative addresses in the jump instruction) must be wrapped in .code32
directives to avoid useless bloat by as(1). This also fixes a few
problems that were preventing boot0 from compiling with the latest
and greatest version of as(1).
2000-05-05 13:22:10 +00:00
Paul Saab
90c25bd74a
Remove the static heap. It is unknown why it was needed in the
...
beginning, but it no longer is required. This has been tested with
many different revisions of the PXE rom from Intel.
2000-05-05 07:24:03 +00:00
Daniel C. Sobral
ff7e939c43
Lay the groundwork for on-demand dictionary expansion.
2000-05-05 02:06:38 +00:00
Daniel C. Sobral
20689aa3d4
Correct a bug whereby allocations to the dictionary would not be allowed
...
unless four times the space requested was available.
2000-05-04 23:23:13 +00:00
Daniel C. Sobral
4eb5b7979d
Make documentation on recently added heap? command reflect reality.
2000-05-04 22:51:21 +00:00
Daniel C. Sobral
a1d54dfc62
Add "heap?" to loader's man page.
2000-05-04 21:26:26 +00:00