1201b66b7SHaojian Zhuang /* 2201b66b7SHaojian Zhuang * Copyright (c) 2016, ARM Limited and Contributors. All rights reserved. 3201b66b7SHaojian Zhuang * 482cb2c1aSdp-arm * SPDX-License-Identifier: BSD-3-Clause 5201b66b7SHaojian Zhuang */ 6201b66b7SHaojian Zhuang 7*c3cf06f1SAntonio Nino Diaz #ifndef MBR_H 8*c3cf06f1SAntonio Nino Diaz #define MBR_H 9201b66b7SHaojian Zhuang 10201b66b7SHaojian Zhuang #define MBR_OFFSET 0 11201b66b7SHaojian Zhuang 12201b66b7SHaojian Zhuang #define MBR_PRIMARY_ENTRY_OFFSET 0x1be 13201b66b7SHaojian Zhuang #define MBR_PRIMARY_ENTRY_SIZE 0x10 14201b66b7SHaojian Zhuang #define MBR_PRIMARY_ENTRY_NUMBER 4 15201b66b7SHaojian Zhuang #define MBR_CHS_ADDRESS_LEN 3 16201b66b7SHaojian Zhuang 17201b66b7SHaojian Zhuang #define MBR_SIGNATURE_FIRST 0x55 18201b66b7SHaojian Zhuang #define MBR_SIGNATURE_SECOND 0xAA 19201b66b7SHaojian Zhuang 20201b66b7SHaojian Zhuang typedef struct mbr_entry { 21201b66b7SHaojian Zhuang unsigned char status; 22201b66b7SHaojian Zhuang unsigned char first_sector[MBR_CHS_ADDRESS_LEN]; 23201b66b7SHaojian Zhuang unsigned char type; 24201b66b7SHaojian Zhuang unsigned char last_sector[MBR_CHS_ADDRESS_LEN]; 25201b66b7SHaojian Zhuang unsigned int first_lba; 26201b66b7SHaojian Zhuang unsigned int sector_nums; 27201b66b7SHaojian Zhuang } mbr_entry_t; 28201b66b7SHaojian Zhuang 29*c3cf06f1SAntonio Nino Diaz #endif /* MBR_H */ 30