#include <linux/crc32.h>
#include <linux/math64.h>
#include <linux/slab.h>
-#include <linux/nls.h>
#include "check.h"
#include "efi.h"
* the partition tables happens after init too.
*/
static int force_gpt;
-static u64 force_gpt_sector;
static int __init
force_gpt_fn(char *str)
{
}
__setup("gpt", force_gpt_fn);
-static int __init force_gpt_sector_fn(char *str)
-{
- force_gpt_sector = simple_strtoull(str, NULL, 0);
- return 1;
-}
-__setup("gpt_sector=", force_gpt_sector_fn);
-
/**
* efi_crc32() - EFI version of crc32 function
if (!good_agpt && force_gpt)
good_agpt = is_gpt_valid(state, lastlba, &agpt, &aptes);
- if (!good_agpt && force_gpt && force_gpt_sector)
- good_agpt = is_gpt_valid(state, force_gpt_sector, &agpt, &aptes);
-
/* The obviously unsuccessful case */
if (!good_pgpt && !good_agpt)
goto fail;
u64 start = le64_to_cpu(ptes[i].starting_lba);
u64 size = le64_to_cpu(ptes[i].ending_lba) -
le64_to_cpu(ptes[i].starting_lba) + 1ULL;
- u8 name[sizeof(ptes->partition_name) / sizeof(efi_char16_t)];
- int len;
if (!is_pte_valid(&ptes[i], last_lba(state->bdev)))
continue;
- len = utf16s_to_utf8s(ptes[i].partition_name,
- sizeof(ptes[i].partition_name) /
- sizeof(efi_char16_t),
- UTF16_LITTLE_ENDIAN, name,
- sizeof(name));
-
- put_named_partition(state, i+1, start * ssz, size * ssz,
- name, len);
+ put_partition(state, i+1, start * ssz, size * ssz);
/* If this is a RAID volume, tell md */
if (!efi_guidcmp(ptes[i].partition_type_guid,