1 /*
2  * Copyright (c) 2016, ARM Limited and Contributors. All rights reserved.
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  */
6 
7 #ifndef MBR_H
8 #define MBR_H
9 
10 #define MBR_OFFSET			0
11 
12 #define MBR_PRIMARY_ENTRY_OFFSET	0x1be
13 #define MBR_PRIMARY_ENTRY_SIZE		0x10
14 #define MBR_PRIMARY_ENTRY_NUMBER	4
15 #define MBR_CHS_ADDRESS_LEN		3
16 
17 #define MBR_SIGNATURE_FIRST		0x55
18 #define MBR_SIGNATURE_SECOND		0xAA
19 
20 typedef struct mbr_entry {
21 	unsigned char		status;
22 	unsigned char		first_sector[MBR_CHS_ADDRESS_LEN];
23 	unsigned char		type;
24 	unsigned char		last_sector[MBR_CHS_ADDRESS_LEN];
25 	unsigned int		first_lba;
26 	unsigned int		sector_nums;
27 } mbr_entry_t;
28 
29 #endif /* MBR_H */
30