diff options
author | Joel Sing <jsing@cvs.openbsd.org> | 2012-01-11 15:58:28 +0000 |
---|---|---|
committer | Joel Sing <jsing@cvs.openbsd.org> | 2012-01-11 15:58:28 +0000 |
commit | 6197367c137a215724dd315746c755ba177ff4a4 (patch) | |
tree | 868e766ddb397dead0edabb136ecb56b6ee6494c /sys/arch/amd64 | |
parent | 1ac26851e24ca3e562863b7739118f287b80b8d1 (diff) |
Pass the DUID of the boot disk via bootduid instead of rootduid, since it
is the DUID that we booted from, which is not always going to be the same
as the DUID that we mount root on.
Diffstat (limited to 'sys/arch/amd64')
-rw-r--r-- | sys/arch/amd64/amd64/machdep.c | 10 | ||||
-rw-r--r-- | sys/arch/amd64/include/biosvar.h | 8 | ||||
-rw-r--r-- | sys/arch/amd64/stand/libsa/exec_i386.c | 8 |
3 files changed, 13 insertions, 13 deletions
diff --git a/sys/arch/amd64/amd64/machdep.c b/sys/arch/amd64/amd64/machdep.c index 37ec8ac952b..22a1081e57f 100644 --- a/sys/arch/amd64/amd64/machdep.c +++ b/sys/arch/amd64/amd64/machdep.c @@ -1,4 +1,4 @@ -/* $OpenBSD: machdep.c,v 1.149 2011/07/10 18:11:49 deraadt Exp $ */ +/* $OpenBSD: machdep.c,v 1.150 2012/01/11 15:58:27 jsing Exp $ */ /* $NetBSD: machdep.c,v 1.3 2003/05/07 22:58:18 fvdl Exp $ */ /*- @@ -1748,7 +1748,7 @@ getbootinfo(char *bootinfo, int bootinfo_size) { bootarg32_t *q; bios_ddb_t *bios_ddb; - bios_rootduid_t *bios_rootduid; + bios_bootduid_t *bios_bootduid; #undef BOOTINFO_DEBUG #ifdef BOOTINFO_DEBUG @@ -1835,9 +1835,9 @@ 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)); + case BOOTARG_BOOTDUID: + bios_bootduid = (bios_bootduid_t *)q->ba_arg; + bcopy(bios_bootduid, bootduid, sizeof(bootduid)); break; default: diff --git a/sys/arch/amd64/include/biosvar.h b/sys/arch/amd64/include/biosvar.h index 9e1895471f0..abdb416b45e 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.14 2011/04/26 17:33:17 jsing Exp $ */ +/* $OpenBSD: biosvar.h,v 1.15 2012/01/11 15:58:27 jsing Exp $ */ /* * Copyright (c) 1997-1999 Michael Shalayeff @@ -208,10 +208,10 @@ typedef struct _bios_ddb { int db_console; } __packed bios_ddb_t; -#define BOOTARG_ROOTDUID 9 -typedef struct _bios_rootduid { +#define BOOTARG_BOOTDUID 9 +typedef struct _bios_bootduid { u_char duid[8]; -} __packed bios_rootduid_t; +} __packed bios_bootduid_t; #if defined(_KERNEL) || defined (_STANDALONE) diff --git a/sys/arch/amd64/stand/libsa/exec_i386.c b/sys/arch/amd64/stand/libsa/exec_i386.c index e5c09d4c59c..fce78a12636 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.7 2011/04/26 17:33:17 jsing Exp $ */ +/* $OpenBSD: exec_i386.c,v 1.8 2012/01/11 15:58:27 jsing Exp $ */ /* * Copyright (c) 1997-1998 Michael Shalayeff @@ -56,7 +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; + bios_bootduid_t bootduid; if (sa_cleanup != NULL) (*sa_cleanup)(); @@ -73,8 +73,8 @@ 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); + bcopy(bootdev_dip->disklabel.d_uid, &bootduid.duid, sizeof(bootduid)); + addbootarg(BOOTARG_BOOTDUID, sizeof(bootduid), &bootduid); /* Pass memory map to the kernel */ mem_pass(); |