summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--serverboot/translate_root.c124
-rw-r--r--serverboot/translate_root.h41
2 files changed, 0 insertions, 165 deletions
diff --git a/serverboot/translate_root.c b/serverboot/translate_root.c
deleted file mode 100644
index b544d5c8..00000000
--- a/serverboot/translate_root.c
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
- * Copyright (c) 1995 The University of Utah and
- * the Computer Systems Laboratory at the University of Utah (CSL).
- * All rights reserved.
- *
- * Permission to use, copy, modify and distribute this software is hereby
- * granted provided that (1) source code retains these copyright, permission,
- * and disclaimer notices, and (2) redistributions including binaries
- * reproduce the notices in supporting documentation, and (3) all advertising
- * materials mentioning features or use of this software display the following
- * acknowledgement: ``This product includes software developed by the
- * Computer Systems Laboratory at the University of Utah.''
- *
- * THE UNIVERSITY OF UTAH AND CSL ALLOW FREE USE OF THIS SOFTWARE IN ITS "AS
- * IS" CONDITION. THE UNIVERSITY OF UTAH AND CSL DISCLAIM ANY LIABILITY OF
- * ANY KIND FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
- *
- * CSL requests users of this software to return to csl-dist@cs.utah.edu any
- * improvements that they make and grant CSL redistribution rights.
- *
- * Author: Stephen Clawson, University of Utah CSL
- */
-
-
-#include "translate_root.h"
-
-unsigned int atoh(ap)
- char *ap;
-{
- register char *p;
- register unsigned int n;
- register int digit,lcase;
-
- p = ap;
- n = 0;
- while(*p == ' ')
- p++;
- while ((digit = (*p >= '0' && *p <= '9')) ||
- (lcase = (*p >= 'a' && *p <= 'f')) ||
- (*p >= 'A' && *p <= 'F')) {
- n *= 16;
- if (digit) n += *p++ - '0';
- else if (lcase) n += 10 + (*p++ - 'a');
- else n += 10 + (*p++ - 'A');
- }
- return(n);
-}
-
-/*
- * Translate the root device from whatever strange encoding we might
- * be given. Currently that includes BSD's slightly different name
- * for IDE devices, and Linux's device number encoding (since that's
- * what LILO passes us, for whatever reason).
- */
-char *
-translate_root(root_string)
- char *root_string;
-{
- int linuxdev = atoh(root_string);
-
- /* LILO passes us a string representing the linux device number of
- * our root device. Since this is _not_ what we want, we'll make
- * a stab at converting it.
- *
- * Linux major numbers we care about:
- *
- * 2 = fd
- * 3 = hd[ab] (IDE channel 1)
- * 8 = sd
- * 22 = hd[cd] (IDE channel 2)
- *
- */
- if (linuxdev) {
- if (LINUX_MAJOR(linuxdev) == 2) {
- root_string[0] = 'f';
- root_string[1] = 'd';
- root_string[2] = LINUX_FD_DEVICE_NR(linuxdev) + '0';
- root_string[3] = '\0';
- } else {
- int shift;
-
- switch (LINUX_MAJOR(linuxdev)) {
- case 3:
- case 22:
- shift = 6;
- root_string[0] = 'h';
- break;
- case 8:
- shift = 4;
- root_string[0] = 's';
- break;
- default:
- printf("Unknown linux device"
- "(major = %d, minor = %d) passed as "
- "root argument!\n"
- "using hd0a as default.\n",
- LINUX_MAJOR(linuxdev),
- LINUX_MINOR(linuxdev));
- shift = 1;
- root_string[0] = 'h';
- linuxdev = 1;
- }
-
- root_string[1] = 'd';
- root_string[2] = LINUX_DEVICE_NR(linuxdev, shift)+'0';
- root_string[3] = LINUX_PARTN(linuxdev, shift)+'a' - 1;
- root_string[4] = '\0';
- }
- } else
- /* This could be handled much simpler in the BSD boot
- * adapter code, but baford insists that the boot
- * adapter code shouldn't be tainted by Mach's notion
- * of the `correct' device naming. Thus, we get wdxx
- * instead of hdxx if booted from the BSD bootblocks,
- * and this is the lame hack that tries to convert it.
- */
- if (root_string[0] == 'w' && root_string[1] == 'd')
- root_string[0] = 'h';
-
- return root_string;
-}
-
-
-
diff --git a/serverboot/translate_root.h b/serverboot/translate_root.h
deleted file mode 100644
index e5bab70a..00000000
--- a/serverboot/translate_root.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 1995 The University of Utah and
- * the Computer Systems Laboratory at the University of Utah (CSL).
- * All rights reserved.
- *
- * Permission to use, copy, modify and distribute this software is hereby
- * granted provided that (1) source code retains these copyright, permission,
- * and disclaimer notices, and (2) redistributions including binaries
- * reproduce the notices in supporting documentation, and (3) all advertising
- * materials mentioning features or use of this software display the following
- * acknowledgement: ``This product includes software developed by the
- * Computer Systems Laboratory at the University of Utah.''
- *
- * THE UNIVERSITY OF UTAH AND CSL ALLOW FREE USE OF THIS SOFTWARE IN ITS "AS
- * IS" CONDITION. THE UNIVERSITY OF UTAH AND CSL DISCLAIM ANY LIABILITY OF
- * ANY KIND FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
- *
- * CSL requests users of this software to return to csl-dist@cs.utah.edu any
- * improvements that they make and grant CSL redistribution rights.
- *
- * Author: Stephen Clawson, University of Utah CSL
- */
-
-#ifndef _TRANSLATE_ROOT_H_
-#define _TRANSLATE_ROOT_H_
-
-#define DEFAULT_ROOT "hd0a"
-
-extern char *translate_root(char *);
-
-#define LINUX_MAJOR(a) (int)((unsigned short)(a) >> 8)
-#define LINUX_MINOR(a) (int)((unsigned short)(a) & 0xFF)
-
-#define LINUX_PARTN(device, shift) \
- (LINUX_MINOR(device) & ((1 << (shift)) - 1))
-#define LINUX_DEVICE_NR(device, shift) \
- (LINUX_MINOR(device) >> (shift))
-#define LINUX_FD_DEVICE_NR(device) \
- ( ((device) & 3) | (((device) & 0x80 ) >> 5 ))
-
-#endif /* _TRANSLATE_ROOT_H_ */