summaryrefslogtreecommitdiffstats
path: root/sys/boot/alpha/boot1
diff options
context:
space:
mode:
authordfr <dfr@FreeBSD.org>1999-11-03 20:18:12 +0000
committerdfr <dfr@FreeBSD.org>1999-11-03 20:18:12 +0000
commit3e244562225967053d66637f4004a3f162300e94 (patch)
tree39d4b33bf6e9caa79f0bb66c5ba4720a34d3f585 /sys/boot/alpha/boot1
parentc30c23e035b7865d98b3d3203a42334a05cc0a58 (diff)
downloadFreeBSD-src-3e244562225967053d66637f4004a3f162300e94.zip
FreeBSD-src-3e244562225967053d66637f4004a3f162300e94.tar.gz
* Don't wait forever for the boot2 filename if the PCC wraps.
* If the user presses return, load boot2 immediately.
Diffstat (limited to 'sys/boot/alpha/boot1')
-rw-r--r--sys/boot/alpha/boot1/boot1.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/sys/boot/alpha/boot1/boot1.c b/sys/boot/alpha/boot1/boot1.c
index afae04a..b4dc995 100644
--- a/sys/boot/alpha/boot1/boot1.c
+++ b/sys/boot/alpha/boot1/boot1.c
@@ -163,7 +163,7 @@ devclose()
}
static void
-getfilename(char *filename)
+getfilename(char *filename, const char *defname)
{
int c;
char *p = filename;
@@ -183,6 +183,8 @@ getfilename(char *filename)
}
putchar('\n');
*p = '\0';
+ if (!*filename)
+ strcpy(filename, defname);
return;
}
@@ -235,9 +237,10 @@ main()
start = rpcc();
freq = ((struct rpb *)HWRPB_ADDR)->rpb_cc_freq;
- while (rpcc() < start + freq) {
+ while (((rpcc() - start) & 0xffffffff) < freq) {
+ twiddle();
if (ischar()) {
- getfilename(filename);
+ getfilename(filename, name);
name = filename;
break;
}
OpenPOWER on IntegriCloud