lkml.org 
[lkml]   [2008]   [Jan]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 1 of 8] x86: page.h: unify constants
Andi Kleen wrote:
>> +
>> +#define LARGE_PAGE_SIZE (_AC(1,UL) << PMD_SHIFT)
>> +#define LARGE_PAGE_MASK (~(LARGE_PAGE_SIZE-1))
>> +
>> +#define HPAGE_SHIFT PMD_SHIFT
>> +#define HPAGE_SIZE (_AC(1,UL) << HPAGE_SHIFT)
>> +#define HPAGE_MASK (~(HPAGE_SIZE - 1))
>> +#define HUGETLB_PAGE_ORDER (HPAGE_SHIFT - PAGE_SHIFT)
>>
>
> This will actually stop being the same soon with GB pages which
> are only supported on 64bit.
>

I was wondering about that. Will you always use GB pages, or will there
be two classes of huge pages, or will it be a runtime/compiletime config?

>> +
>> +#ifdef CONFIG_X86_64
>> +#define THREAD_ORDER 1
>> +#define THREAD_SIZE (PAGE_SIZE << THREAD_ORDER)
>> +#define CURRENT_MASK (~(THREAD_SIZE-1))
>> +
>> +#define EXCEPTION_STACK_ORDER 0
>> +#define EXCEPTION_STKSZ (PAGE_SIZE << EXCEPTION_STACK_ORDER)
>> +
>> +#define DEBUG_STACK_ORDER (EXCEPTION_STACK_ORDER + 1)
>> +#define DEBUG_STKSZ (PAGE_SIZE << DEBUG_STACK_ORDER)
>> +
>> +#define IRQSTACK_ORDER 2
>> +#define IRQSTACKSIZE (PAGE_SIZE << IRQSTACK_ORDER)
>>
>
> This all seems hardly 64bit specific (except for THREAD_ORDER
> but you can probably handle that in Kconfig or just get rid
> of it for 32bit)
>

They're only used by 64-bit at the moment, aren't they? Or are you
suggesting 32-bit could use them too? There's no corresponding
definitions on the 32-bit side at the moment.

>> +#define __PHYSICAL_START CONFIG_PHYSICAL_START
>>
>
> Also not 64bit specific
>

It's use is 64-bit specific though, isn't it?

>> +#ifdef CONFIG_X86_PAE
>> +#define __PHYSICAL_MASK_SHIFT 36
>>
>
> I originally added the PHYSICAL_MASK stuff to deal with masking off NX,
> but I must admit it wasn't the best idea I ever had. It would be probably
> better to just get rid of it and always mask off the high reserved flags bit
> explicitely. If you make that 0 then there should be no special
> case for PAE.
>

Hm, OK. I thought different 64-bit implementations might have different
sized physical address spaces or something.


J


\
 
 \ /
  Last update: 2008-01-07 23:19    [W:0.169 / U:0.164 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site