[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAOJsxLFtpBnvtA3F=7NDJunqXRs4AL1=oe7HR6GECgGfr9TqDA@mail.gmail.com>
Date: Mon, 3 Sep 2012 08:50:01 +0300
From: Pekka Enberg <penberg@...nel.org>
To: Yinghai Lu <yinghai@...nel.org>
Cc: Thomas Gleixner <tglx@...utronix.de>, Ingo Molnar <mingo@...e.hu>,
"H. Peter Anvin" <hpa@...or.com>, Jacob Shin <jacob.shin@....com>,
Tejun Heo <tj@...nel.org>, linux-kernel@...r.kernel.org
Subject: Re: [PATCH -v2 13/13] x86, 64bit: Map first 1M ram early before memblock_x86_fill()
On Sun, Sep 2, 2012 at 10:46 AM, Yinghai Lu <yinghai@...nel.org> wrote:
> This one intend to fix bugs:
> when efi booting have too many memmap entries, will need to double memblock
> memory array or reserved array.
Okay, why do we need to do that?
> +RESERVE_BRK(early_pgt_alloc, 65536);
What is this needed for?
> +void __init early_init_mem_mapping(void)
> +{
> + unsigned long tables;
> + phys_addr_t base;
> + unsigned long start = 0, end = ISA_END_ADDRESS;
> +
> + probe_page_size_mask();
> +
> + if (max_pfn_mapped)
> + return;
I find this confusing - what is this protecting for? Why is
'max_pfn_mapped' set when someone calls early_init_mem_mappings()?
Side note: we have multiple "pfn_mapped" globals and it's not at all
obvious to me what the semantics for them are. Maybe adding a comment
or two in arch/x86/include/asm/page_types.h would help.
> +
> + tables = calculate_table_space_size(start, end);
> + base = __pa(extend_brk(tables, PAGE_SIZE));
> +
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists