diff options
author | pjd <pjd@FreeBSD.org> | 2010-09-24 19:31:08 +0000 |
---|---|---|
committer | pjd <pjd@FreeBSD.org> | 2010-09-24 19:31:08 +0000 |
commit | 4f5572a9beffcf6acbefa1dc77fa8e4fc64a4c52 (patch) | |
tree | 5267ab8fa8e44fbf4a55bcf999c96474ab31566c /sys/sys/gpt.h | |
parent | 95c69781b531ab1ffc186c827de7807506a7e365 (diff) | |
download | FreeBSD-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.h | 3 |
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. */ }; |