summaryrefslogtreecommitdiff
path: root/sys/arch
diff options
context:
space:
mode:
Diffstat (limited to 'sys/arch')
-rw-r--r--sys/arch/amd64/amd64/machdep.c8
-rw-r--r--sys/arch/amd64/include/biosvar.h7
-rw-r--r--sys/arch/amd64/stand/boot/conf.c4
-rw-r--r--sys/arch/amd64/stand/libsa/exec_i386.c6
-rw-r--r--sys/arch/i386/i386/bios.c9
-rw-r--r--sys/arch/i386/include/biosvar.h7
-rw-r--r--sys/arch/i386/stand/boot/conf.c4
-rw-r--r--sys/arch/i386/stand/libsa/exec_i386.c6
8 files changed, 41 insertions, 10 deletions
diff --git a/sys/arch/amd64/amd64/machdep.c b/sys/arch/amd64/amd64/machdep.c
index 3e4c0ab6a4c..3765a5263d2 100644
--- a/sys/arch/amd64/amd64/machdep.c
+++ b/sys/arch/amd64/amd64/machdep.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: machdep.c,v 1.140 2011/04/18 21:44:55 guenther Exp $ */
+/* $OpenBSD: machdep.c,v 1.141 2011/04/26 17:33:17 jsing Exp $ */
/* $NetBSD: machdep.c,v 1.3 2003/05/07 22:58:18 fvdl Exp $ */
/*-
@@ -1704,6 +1704,7 @@ getbootinfo(char *bootinfo, int bootinfo_size)
{
bootarg32_t *q;
bios_ddb_t *bios_ddb;
+ bios_rootduid_t *bios_rootduid;
#undef BOOTINFO_DEBUG
#ifdef BOOTINFO_DEBUG
@@ -1790,6 +1791,11 @@ getbootinfo(char *bootinfo, int bootinfo_size)
#endif
break;
+ case BOOTARG_ROOTDUID:
+ bios_rootduid = (bios_rootduid_t *)q->ba_arg;
+ bcopy(bios_rootduid, rootduid, sizeof(rootduid));
+ break;
+
default:
#ifdef BOOTINFO_DEBUG
printf(" unsupported arg (%d) %p", q->ba_type,
diff --git a/sys/arch/amd64/include/biosvar.h b/sys/arch/amd64/include/biosvar.h
index 583e5544148..9e1895471f0 100644
--- a/sys/arch/amd64/include/biosvar.h
+++ b/sys/arch/amd64/include/biosvar.h
@@ -1,5 +1,5 @@
/* XXX - DSR */
-/* $OpenBSD: biosvar.h,v 1.13 2011/03/23 16:54:34 pirofti Exp $ */
+/* $OpenBSD: biosvar.h,v 1.14 2011/04/26 17:33:17 jsing Exp $ */
/*
* Copyright (c) 1997-1999 Michael Shalayeff
@@ -208,6 +208,11 @@ typedef struct _bios_ddb {
int db_console;
} __packed bios_ddb_t;
+#define BOOTARG_ROOTDUID 9
+typedef struct _bios_rootduid {
+ u_char duid[8];
+} __packed bios_rootduid_t;
+
#if defined(_KERNEL) || defined (_STANDALONE)
#ifdef _LOCORE
diff --git a/sys/arch/amd64/stand/boot/conf.c b/sys/arch/amd64/stand/boot/conf.c
index 5cc5394bc47..4d9d717752b 100644
--- a/sys/arch/amd64/stand/boot/conf.c
+++ b/sys/arch/amd64/stand/boot/conf.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: conf.c,v 1.19 2011/03/08 17:24:31 krw Exp $ */
+/* $OpenBSD: conf.c,v 1.20 2011/04/26 17:33:17 jsing Exp $ */
/*
* Copyright (c) 1996 Michael Shalayeff
@@ -42,7 +42,7 @@
#include <biosdev.h>
#include <dev/cons.h>
-const char version[] = "3.16";
+const char version[] = "3.17";
int debug = 1;
diff --git a/sys/arch/amd64/stand/libsa/exec_i386.c b/sys/arch/amd64/stand/libsa/exec_i386.c
index c72a0d0a737..e5c09d4c59c 100644
--- a/sys/arch/amd64/stand/libsa/exec_i386.c
+++ b/sys/arch/amd64/stand/libsa/exec_i386.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: exec_i386.c,v 1.6 2009/04/30 01:16:56 dlg Exp $ */
+/* $OpenBSD: exec_i386.c,v 1.7 2011/04/26 17:33:17 jsing Exp $ */
/*
* Copyright (c) 1997-1998 Michael Shalayeff
@@ -56,6 +56,7 @@ run_loadfile(u_long *marks, int howto)
extern int com_speed; /* from bioscons.c */
bios_ddb_t ddb;
extern int db_console;
+ bios_rootduid_t rootduid;
if (sa_cleanup != NULL)
(*sa_cleanup)();
@@ -72,6 +73,9 @@ run_loadfile(u_long *marks, int howto)
addbootarg(BOOTARG_DDB, sizeof(ddb), &ddb);
}
+ bcopy(bootdev_dip->disklabel.d_uid, &rootduid.duid, sizeof(rootduid));
+ addbootarg(BOOTARG_ROOTDUID, sizeof(rootduid), &rootduid);
+
/* Pass memory map to the kernel */
mem_pass();
diff --git a/sys/arch/i386/i386/bios.c b/sys/arch/i386/i386/bios.c
index ff2c92a7291..cc54dfd2fef 100644
--- a/sys/arch/i386/i386/bios.c
+++ b/sys/arch/i386/i386/bios.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: bios.c,v 1.89 2011/04/07 15:30:15 miod Exp $ */
+/* $OpenBSD: bios.c,v 1.90 2011/04/26 17:33:17 jsing Exp $ */
/*
* Copyright (c) 1997-2001 Michael Shalayeff
@@ -455,6 +455,7 @@ bios_getopt()
{
bootarg_t *q;
bios_ddb_t *bios_ddb;
+ bios_rootduid_t *bios_rootduid;
#ifdef BIOS_DEBUG
printf("bootargv:");
@@ -538,6 +539,12 @@ bios_getopt()
#ifdef DDB
db_console = bios_ddb->db_console;
#endif
+ break;
+
+ case BOOTARG_ROOTDUID:
+ bios_rootduid = (bios_rootduid_t *)q->ba_arg;
+ bcopy(bios_rootduid, rootduid, sizeof(rootduid));
+ break;
default:
#ifdef BIOS_DEBUG
diff --git a/sys/arch/i386/include/biosvar.h b/sys/arch/i386/include/biosvar.h
index 4e8be582aec..b70de861afc 100644
--- a/sys/arch/i386/include/biosvar.h
+++ b/sys/arch/i386/include/biosvar.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: biosvar.h,v 1.55 2011/03/23 16:54:35 pirofti Exp $ */
+/* $OpenBSD: biosvar.h,v 1.56 2011/04/26 17:33:17 jsing Exp $ */
/*
* Copyright (c) 1997-1999 Michael Shalayeff
@@ -210,6 +210,11 @@ typedef struct _bios_ddb {
int db_console;
} __packed bios_ddb_t;
+#define BOOTARG_ROOTDUID 9
+typedef struct _bios_rootduid {
+ u_char duid[8];
+} __packed bios_rootduid_t;
+
#if defined(_KERNEL) || defined (_STANDALONE)
#ifdef _LOCORE
diff --git a/sys/arch/i386/stand/boot/conf.c b/sys/arch/i386/stand/boot/conf.c
index 8c564ea0213..f1f3be3125f 100644
--- a/sys/arch/i386/stand/boot/conf.c
+++ b/sys/arch/i386/stand/boot/conf.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: conf.c,v 1.45 2011/03/08 17:24:31 krw Exp $ */
+/* $OpenBSD: conf.c,v 1.46 2011/04/26 17:33:17 jsing Exp $ */
/*
* Copyright (c) 1996 Michael Shalayeff
@@ -43,7 +43,7 @@
#include <dev/cons.h>
#include "debug.h"
-const char version[] = "3.16";
+const char version[] = "3.17";
int debug = 1;
diff --git a/sys/arch/i386/stand/libsa/exec_i386.c b/sys/arch/i386/stand/libsa/exec_i386.c
index bd9821d910f..80af47dfbc1 100644
--- a/sys/arch/i386/stand/libsa/exec_i386.c
+++ b/sys/arch/i386/stand/libsa/exec_i386.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: exec_i386.c,v 1.33 2009/04/30 13:47:16 dlg Exp $ */
+/* $OpenBSD: exec_i386.c,v 1.34 2011/04/26 17:33:17 jsing Exp $ */
/*
* Copyright (c) 1997-1998 Michael Shalayeff
@@ -54,6 +54,7 @@ run_loadfile(u_long *marks, int howto)
extern int com_speed; /* from bioscons.c */
bios_ddb_t ddb;
extern int db_console;
+ bios_rootduid_t rootduid;
if (sa_cleanup != NULL)
(*sa_cleanup)();
@@ -70,6 +71,9 @@ run_loadfile(u_long *marks, int howto)
addbootarg(BOOTARG_DDB, sizeof(ddb), &ddb);
}
+ bcopy(bootdev_dip->disklabel.d_uid, &rootduid.duid, sizeof(rootduid));
+ addbootarg(BOOTARG_ROOTDUID, sizeof(rootduid), &rootduid);
+
/* Pass memory map to the kernel */
mem_pass();