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