[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <49A8E235.6010900@goop.org>
Date: Fri, 27 Feb 2009 23:05:25 -0800
From: Jeremy Fitzhardinge <jeremy@...p.org>
To: Yinghai Lu <yinghai@...nel.org>
CC: "H. Peter Anvin" <hpa@...or.com>,
the arch/x86 maintainers <x86@...nel.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Jeremy Fitzhardinge <jeremy.fitzhardinge@...rix.com>
Subject: J
Yinghai Lu wrote:
> On Fri, Feb 27, 2009 at 5:51 PM, Jeremy Fitzhardinge <jeremy@...p.org> wrote:
>
>> From: Jeremy Fitzhardinge <jeremy.fitzhardinge@...rix.com>
>>
>> Rather than having special purpose init_pg_table_start/end variables
>> to delimit the kernel pagetable built by head_32.S, just use the brk
>> mechanism to extend the bss for the new pagetable.
>>
>> This patch removes init_pg_table_start/end and pg0, defines __brk_base
>> (which is page-aligned and immediately follows _end), initializes
>> the brk region to start there, and uses it for the 32-bit pagetable.
>>
> ...
>
>
>> diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
>> index c246dc4..ed02176 100644
>> --- a/arch/x86/kernel/setup.c
>> +++ b/arch/x86/kernel/setup.c
>> @@ -113,8 +113,10 @@
>> #endif
>>
>> unsigned int boot_cpu_id __read_mostly;
>> -__initdata unsigned long _brk_start = (unsigned long)&_end;
>> -__initdata unsigned long _brk_end = (unsigned long)&_end;
>> +
>> +extern char __brk_base[];
>> +__initdata unsigned long _brk_start = (unsigned long)__brk_base;
>> +__initdata unsigned long _brk_end = (unsigned long)&__brk_base;
>>
>
> ?
>
What are you asking? __brk_base is _end rounded up to a page boundary,
so head_32.S can use it directly for pagetable allocation. Are you
flagging the '&' typo? Something else?
J
--
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