Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7597cdc0 authored by Ingo Molnar's avatar Ingo Molnar
Browse files

Merge tag 'efi-urgent' of...

Merge tag 'efi-urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/mfleming/efi

 into efi/urgent

Pull EFI fixes from Matt Fleming:

 * Fix a boot hang on large memory machines (multiple terabyte) caused
   by type conversion errors in the x86 PAT code (Matt Fleming)

Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
parents d2ffb010 12976670
Loading
Loading
Loading
Loading
+11 −10
Original line number Diff line number Diff line
@@ -917,11 +917,11 @@ static void populate_pte(struct cpa_data *cpa,
	}
}

static int populate_pmd(struct cpa_data *cpa,
static long populate_pmd(struct cpa_data *cpa,
			 unsigned long start, unsigned long end,
			 unsigned num_pages, pud_t *pud, pgprot_t pgprot)
{
	unsigned int cur_pages = 0;
	long cur_pages = 0;
	pmd_t *pmd;
	pgprot_t pmd_pgprot;

@@ -991,12 +991,12 @@ static int populate_pmd(struct cpa_data *cpa,
	return num_pages;
}

static int populate_pud(struct cpa_data *cpa, unsigned long start, pgd_t *pgd,
static long populate_pud(struct cpa_data *cpa, unsigned long start, pgd_t *pgd,
			 pgprot_t pgprot)
{
	pud_t *pud;
	unsigned long end;
	int cur_pages = 0;
	long cur_pages = 0;
	pgprot_t pud_pgprot;

	end = start + (cpa->numpages << PAGE_SHIFT);
@@ -1052,7 +1052,7 @@ static int populate_pud(struct cpa_data *cpa, unsigned long start, pgd_t *pgd,

	/* Map trailing leftover */
	if (start < end) {
		int tmp;
		long tmp;

		pud = pud_offset(pgd, start);
		if (pud_none(*pud))
@@ -1078,7 +1078,7 @@ static int populate_pgd(struct cpa_data *cpa, unsigned long addr)
	pgprot_t pgprot = __pgprot(_KERNPG_TABLE);
	pud_t *pud = NULL;	/* shut up gcc */
	pgd_t *pgd_entry;
	int ret;
	long ret;

	pgd_entry = cpa->pgd + pgd_index(addr);

@@ -1327,7 +1327,8 @@ static int cpa_process_alias(struct cpa_data *cpa)

static int __change_page_attr_set_clr(struct cpa_data *cpa, int checkalias)
{
	int ret, numpages = cpa->numpages;
	unsigned long numpages = cpa->numpages;
	int ret;

	while (numpages) {
		/*
+1 −1
Original line number Diff line number Diff line
@@ -245,7 +245,7 @@ int __init efi_setup_page_tables(unsigned long pa_memmap, unsigned num_pages)
	 * text and allocate a new stack because we can't rely on the
	 * stack pointer being < 4GB.
	 */
	if (!IS_ENABLED(CONFIG_EFI_MIXED))
	if (!IS_ENABLED(CONFIG_EFI_MIXED) || efi_is_native())
		return 0;

	/*