diff options
author | YASUOKA Masahiko <yasuoka@cvs.openbsd.org> | 2015-09-02 01:52:27 +0000 |
---|---|---|
committer | YASUOKA Masahiko <yasuoka@cvs.openbsd.org> | 2015-09-02 01:52:27 +0000 |
commit | 3a5c5695579399f3e89c4670dbdd139540a20752 (patch) | |
tree | 94e92b1413e81b36c4393124f483312489316269 /sys/arch/amd64/stand/efi/include/efipart.h | |
parent | 98bddd3337aaeb8aeaaf01bdac4e2a4e2610d590 (diff) |
Initial commit of uefi boot loader of OpenBSD.
ok deraadt yuo
Diffstat (limited to 'sys/arch/amd64/stand/efi/include/efipart.h')
-rw-r--r-- | sys/arch/amd64/stand/efi/include/efipart.h | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/sys/arch/amd64/stand/efi/include/efipart.h b/sys/arch/amd64/stand/efi/include/efipart.h new file mode 100644 index 00000000000..9f25ff62610 --- /dev/null +++ b/sys/arch/amd64/stand/efi/include/efipart.h @@ -0,0 +1,69 @@ +/* $FreeBSD: head/sys/boot/efi/include/efipart.h 163898 2006-11-02 02:42:48Z marcel $ */ +#ifndef _EFI_PART_H +#define _EFI_PART_H + +/*++ + +Copyright (c) 1999 - 2002 Intel Corporation. All rights reserved +This software and associated documentation (if any) is furnished +under a license and may only be used or copied in accordance +with the terms of the license. Except as permitted by such +license, no part of this software or documentation may be +reproduced, stored in a retrieval system, or transmitted in any +form or by any means without the express written consent of +Intel Corporation. + +Module Name: + + efipart.h + +Abstract: + Info about disk partitions and Master Boot Records + + + + +Revision History + +--*/ + +// +// +// + +#define EFI_PARTITION 0xef +#define MBR_SIZE 512 + +#pragma pack(1) + +typedef struct { + UINT8 BootIndicator; + UINT8 StartHead; + UINT8 StartSector; + UINT8 StartTrack; + UINT8 OSIndicator; + UINT8 EndHead; + UINT8 EndSector; + UINT8 EndTrack; + UINT8 StartingLBA[4]; + UINT8 SizeInLBA[4]; +} MBR_PARTITION_RECORD; + +#define EXTRACT_UINT32(D) (UINT32)(D[0] | (D[1] << 8) | (D[2] << 16) | (D[3] << 24)) + +#define MBR_SIGNATURE 0xaa55 +#define MIN_MBR_DEVICE_SIZE 0x80000 +#define MBR_ERRATA_PAD 0x40000 // 128 MB + +#define MAX_MBR_PARTITIONS 4 +typedef struct { + UINT8 BootStrapCode[440]; + UINT8 UniqueMbrSignature[4]; + UINT8 Unknown[2]; + MBR_PARTITION_RECORD Partition[MAX_MBR_PARTITIONS]; + UINT16 Signature; +} MASTER_BOOT_RECORD; +#pragma pack() + + +#endif |