linux-libc-headers: include/asm-arm26/page.h, include/asm-ia64/pag...

Paweł Sikora pluto w ds14.agh.edu.pl
Nie, 29 Sie 2004, 20:55:48 CEST


On Sunday 29 of August 2004 19:47, Mariusz Mazur wrote:
> On niedziela 29 sierpień 2004 19:29, Jakub Bogusz wrote:
> > Zawsze skompiluje, bo to się odnosi tylko do przypadku (architektur),
> > gdzie PAGE_SIZE nie jest znane na etapie kompilacji. getpagesize() to
> > funkcja libc.
>
> Się zdecydujcie i niech któryś coś commitnie, bo chciał bym to wydać :)

żeby Ci ułatwić ;-) życie, to najlepiej będzie jak zdefinujesz
PAGE_SHIFT(n) jako funkcję zwracająca logarytm o podstawie 2 z n.
na platformie ix86 możesz ten problem sprowadzić do banalnej
funkcji rozwijanej w kodzie ;-)

__attribute__((always_inline,const,regparm(1)))
unsigned page_shift(const unsigned x)
{
    register unsigned result;
    asm volatile(
        "bsr    %%eax, %%eax    \n\t"
        : "=a" (result)
        : "a" (x)
        );
    return result;
}

dobra, koniec żartów :-)

-- 
/* Copyright (C) 2003, SCO, Inc. This is valuable Intellectual Property. */

                           #define say(x) lie(x)




Więcej informacji o liście dyskusyjnej pld-devel-pl