13 Apr, 2007

1 commit


04 Dec, 2006

1 commit

  • "extern inline" generates a warning with -Wmissing-prototypes and I'm
    currently working on getting the kernel cleaned up for adding this to
    the CFLAGS since it will help us to avoid a nasty class of runtime
    errors.

    If there are places that really need a forced inline, __always_inline
    would be the correct solution.

    Signed-off-by: Adrian Bunk
    Signed-off-by: Paul Mackerras

    Adrian Bunk
     

03 May, 2006

1 commit

  • We have a case where __get_user and __put_user can validly be used
    on kernel addresses in interrupt context - namely, the alignment
    exception handler, as our get/put_unaligned just do a single access
    and rely on the alignment exception handler to fix things up in the
    rare cases where the cpu can't handle it in hardware. Thus we can
    get alignment exceptions in the network stack at interrupt level.
    The alignment exception handler does a __get_user to read the
    instruction and blows up in might_sleep().

    Since a __get_user on a kernel address won't actually ever sleep,
    this makes the might_sleep conditional on the address being less
    than PAGE_OFFSET.

    Signed-off-by: Paul Mackerras

    Paul Mackerras
     

10 Nov, 2005

1 commit

  • This patch consolidates macros used to generate assembly for
    compatibility across different CPUs or configs. A new header,
    asm-powerpc/asm-compat.h contains the main compatibility macros. It
    uses some preprocessor magic to make the macros suitable both for use
    in .S files, and in inline asm in .c files. Headers (bitops.h,
    uaccess.h, atomic.h, bug.h) which had their own such compatibility
    macros are changed to use asm-compat.h.

    ppc_asm.h is now for use in .S files *only*, and a #error enforces
    that. As such, we're a lot more careless about namespace pollution
    here than in asm-compat.h.

    While we're at it, this patch adds a call to the PPC405_ERR77 macro in
    futex.h which should have had it already, but didn't.

    Built and booted on pSeries, Maple and iSeries (ARCH=powerpc). Built
    for 32-bit powermac (ARCH=powerpc) and Walnut (ARCH=ppc).

    Signed-off-by: David Gibson
    Signed-off-by: Paul Mackerras

    David Gibson
     

01 Nov, 2005

3 commits