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