+// SPDX-License-Identifier: GPL-2.0+
/*
* Copyright (C) 2008 RuggedCom, Inc.
* Richard Retanubun <RichardRetanubun@RuggedCom.com>
- *
- * SPDX-License-Identifier: GPL-2.0+
*/
/*
DECLARE_GLOBAL_DATA_PTR;
-#ifdef HAVE_BLOCK_DEVICE
+#ifdef CONFIG_HAVE_BLOCK_DEVICE
/**
* efi_crc32() - EFI version of crc32 function
* @buf: buffer to calculate crc32 of
{
/* Setup the Protective MBR */
ALLOC_CACHE_ALIGN_BUFFER_PAD(legacy_mbr, p_mbr, 1, dev_desc->blksz);
- memset(p_mbr, 0, sizeof(*p_mbr));
-
if (p_mbr == NULL) {
printf("%s: calloc failed!\n", __func__);
return -1;
return -1;
}
+ /* Clear all data in MBR except of backed up boot code */
+ memset((char *)p_mbr + MSDOS_MBR_BOOT_CODE_SIZE, 0, sizeof(*p_mbr) -
+ MSDOS_MBR_BOOT_CODE_SIZE);
+
/* Append signature */
p_mbr->signature = MSDOS_MBR_SIGNATURE;
p_mbr->partition_record[0].sys_ind = EFI_PMBR_OSTYPE_EFI_GPT;