summaryrefslogtreecommitdiff
path: root/sys/lib
diff options
context:
space:
mode:
authordrochner <drochner@NetBSD.org>1999-02-12 10:56:18 +0000
committerdrochner <drochner@NetBSD.org>1999-02-12 10:56:18 +0000
commitccc6fbda81c4f53faec43b8d9769848e68df9acf (patch)
tree002c3346a42eb5bc43930139a505bd25a682fa57 /sys/lib
parent836a31546303af0e7ab74ff2631a2bfe2426a00d (diff)
Add some #ifdef SUPPORT_LINUX code which specifies a BOOTP tag to pass
a command line for that kernel. Minor sizeof() sanity.
Diffstat (limited to 'sys/lib')
-rw-r--r--sys/lib/libsa/bootp.c16
1 files changed, 14 insertions, 2 deletions
diff --git a/sys/lib/libsa/bootp.c b/sys/lib/libsa/bootp.c
index df3f0128bd4..03b791bc095 100644
--- a/sys/lib/libsa/bootp.c
+++ b/sys/lib/libsa/bootp.c
@@ -1,4 +1,4 @@
-/* $NetBSD: bootp.c,v 1.15 1998/04/24 18:50:23 drochner Exp $ */
+/* $NetBSD: bootp.c,v 1.16 1999/02/12 10:56:18 drochner Exp $ */
/*
* Copyright (c) 1992 Regents of the University of California.
@@ -55,6 +55,12 @@
#include "bootp.h"
struct in_addr servip;
+#ifdef SUPPORT_LINUX
+char linuxcmdline[256];
+#ifndef TAG_LINUX_CMDLINE
+#define TAG_LINUX_CMDLINE 123
+#endif
+#endif
static n_long nmask, smask;
@@ -353,7 +359,7 @@ vend_rfc1048(cp, len)
}
if (tag == TAG_SWAPSERVER) {
/* let it override bp_siaddr */
- bcopy(cp, &rootip.s_addr, sizeof(swapip.s_addr));
+ bcopy(cp, &rootip.s_addr, sizeof(rootip.s_addr));
}
if (tag == TAG_ROOTPATH) {
strncpy(rootpath, (char *)cp, sizeof(rootpath));
@@ -374,6 +380,12 @@ vend_rfc1048(cp, len)
sizeof(dhcp_serverip.s_addr));
}
#endif
+#ifdef SUPPORT_LINUX
+ if (tag == TAG_LINUX_CMDLINE) {
+ strncpy(linuxcmdline, (char *)cp, sizeof(linuxcmdline));
+ linuxcmdline[size] = '\0';
+ }
+#endif
cp += size;
}
return (0);