summaryrefslogtreecommitdiffstats
path: root/sys/sys/gpt.h
diff options
context:
space:
mode:
authorpjd <pjd@FreeBSD.org>2010-09-24 19:31:08 +0000
committerpjd <pjd@FreeBSD.org>2010-09-24 19:31:08 +0000
commit4f5572a9beffcf6acbefa1dc77fa8e4fc64a4c52 (patch)
tree5267ab8fa8e44fbf4a55bcf999c96474ab31566c /sys/sys/gpt.h
parent95c69781b531ab1ffc186c827de7807506a7e365 (diff)
downloadFreeBSD-src-4f5572a9beffcf6acbefa1dc77fa8e4fc64a4c52.zip
FreeBSD-src-4f5572a9beffcf6acbefa1dc77fa8e4fc64a4c52.tar.gz
Add three GPT attributes:
GPT_ENT_ATTR_BOOTME - this is bootable partition GPT_ENT_ATTR_BOOTONCE - try to boot only once from this partition GPT_ENT_ATTR_BOOTFAILED - set this flag if we cannot boot from partition containing GPT_ENT_ATTR_BOOTONCE flag; note that if we cannot boot from partition that contains only GPT_ENT_ATTR_BOOTME flag, the GPT_ENT_ATTR_BOOTFAILED flag won't be set According to wikipedia Microsoft TechNet says that attributes are divided into two halves: the lower 4 bytes representing partition independent attributes, and the upper 4 bytes are partition type dependent. Microsoft is already using bits 60 (read-only), 62 (hidden) and 63 (do not automount) and I'd like to not collide with those, so we are using bit 59 (bootme), 58 (bootonce) and 57 (bootfailed). Reviewed by: arch (Message-ID: <20100917234542.GE1902@garage.freebsd.pl>) MFC after: 2 weeks
Diffstat (limited to 'sys/sys/gpt.h')
-rw-r--r--sys/sys/gpt.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/sys/gpt.h b/sys/sys/gpt.h
index a3e39f2..aa0a582 100644
--- a/sys/sys/gpt.h
+++ b/sys/sys/gpt.h
@@ -65,6 +65,9 @@ struct gpt_ent {
uint64_t ent_lba_end;
uint64_t ent_attr;
#define GPT_ENT_ATTR_PLATFORM (1ULL << 0)
+#define GPT_ENT_ATTR_BOOTME (1ULL << 59)
+#define GPT_ENT_ATTR_BOOTONCE (1ULL << 58)
+#define GPT_ENT_ATTR_BOOTFAILED (1ULL << 57)
uint16_t ent_name[36]; /* UTF-16. */
};
OpenPOWER on IntegriCloud