07 Dec, 2007

1 commit


01 Nov, 2007

1 commit

  • The 44x family has an interesting "feature" which is a virtually
    tagged instruction cache (yuck !). So far, we haven't dealt with
    it properly, which means we've been mostly lucky or people didn't
    report the problems, unless people have been running custom patches
    in their distro...

    This is an attempt at fixing it properly. I chose to do it by
    setting a global flag whenever we change a PTE that was previously
    marked executable, and flush the entire instruction cache upon
    return to user space when that happens.

    This is a bit heavy handed, but it's hard to do more fine grained
    flushes as the icbi instruction, on those processor, for some very
    strange reasons (since the cache is virtually mapped) still requires
    a valid TLB entry for reading in the target address space, which
    isn't something I want to deal with.

    Signed-off-by: Benjamin Herrenschmidt
    Signed-off-by: Josh Boyer

    Benjamin Herrenschmidt
     

18 Jul, 2007

1 commit


17 Jul, 2007

2 commits

  • * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: (209 commits)
    [POWERPC] Create add_rtc() function to enable the RTC CMOS driver
    [POWERPC] Add H_ILLAN_ATTRIBUTES hcall number
    [POWERPC] xilinxfb: Parameterize xilinxfb platform device registration
    [POWERPC] Oprofile support for Power 5++
    [POWERPC] Enable arbitary speed tty ioctls and split input/output speed
    [POWERPC] Make drivers/char/hvc_console.c:khvcd() static
    [POWERPC] Remove dead code for preventing pread() and pwrite() calls
    [POWERPC] Remove unnecessary #undef printk from prom.c
    [POWERPC] Fix typo in Ebony default DTS
    [POWERPC] Check for NULL ppc_md.init_IRQ() before calling
    [POWERPC] Remove extra return statement
    [POWERPC] pasemi: Don't auto-select CONFIG_EMBEDDED
    [POWERPC] pasemi: Rename platform
    [POWERPC] arch/powerpc/kernel/sysfs.c: Move NUMA exports
    [POWERPC] Add __read_mostly support for powerpc
    [POWERPC] Modify sched_clock() to make CONFIG_PRINTK_TIME more sane
    [POWERPC] Create a dummy zImage if no valid platform has been selected
    [POWERPC] PS3: Bootwrapper support.
    [POWERPC] powermac i2c: Use mutex
    [POWERPC] Schedule removal of arch/ppc
    ...

    Fixed up conflicts manually in:

    Documentation/feature-removal-schedule.txt
    arch/powerpc/kernel/pci_32.c
    arch/powerpc/kernel/pci_64.c
    include/asm-powerpc/pci.h

    and asked the powerpc people to double-check the result..

    Linus Torvalds
     
  • Kill pte_rdprotect(), pte_exprotect(), pte_mkread(), pte_mkexec(), pte_read(),
    pte_exec(), and pte_user() except where arch-specific code is making use of
    them.

    Signed-off-by: Jan Beulich
    Cc: Andi Kleen
    Cc: Christoph Hellwig
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jan Beulich
     

11 Jul, 2007

1 commit


17 Jun, 2007

1 commit

  • Some changes done a while ago to avoid pounding on ptep_set_access_flags and
    update_mmu_cache in some race situations break sun4c which requires
    update_mmu_cache() to always be called on minor faults.

    This patch reworks ptep_set_access_flags() semantics, implementations and
    callers so that it's now responsible for returning whether an update is
    necessary or not (basically whether the PTE actually changed). This allow
    fixing the sparc implementation to always return 1 on sun4c.

    [akpm@linux-foundation.org: fixes, cleanups]
    Signed-off-by: Benjamin Herrenschmidt
    Cc: Hugh Dickins
    Cc: David Miller
    Cc: Mark Fortescue
    Acked-by: William Lee Irwin III
    Cc: "Luck, Tony"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Benjamin Herrenschmidt
     

14 Jun, 2007

3 commits


17 May, 2007

1 commit

  • There are no actual implementations of fixup_bigphys_addr() in
    arch/powerpc, and with a 64-bit aware ioremap() and so forth, it
    should no longer be necessary. This patch removes the last dregs of
    fixup_bigphys_addr() from arch/powerpc.

    In fact, the only reason this hasn't caused link errors already is
    that nobody must have tried using one of the small number of drivers
    using io_remap_pfn_range() on one of the small number of platforms
    which are 32-bit but define CONFIG_PHYS_64BIT. Nonetheless this fixes
    a bug, and should go into 2.6.22.

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

    David Gibson
     

08 May, 2007

1 commit

  • For 32-bit systems, powerpc still relies on the 4level-fixup.h hack,
    to pretend that the generic pagetable handling stuff is 3-levels
    rather than 4. This patch removes this, instead using the newer
    pgtable-nopmd.h to handle the elision of both the pud and pmd
    pagetable levels (ppc32 pagetables are actually 2 levels).

    This removes a little extraneous code, and makes it more easily
    compared to the 64-bit pagetable code.

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

    David Gibson
     

07 May, 2007

1 commit

  • 32-bit powerpc uses a PTE_FMT macro to handle printk() formatting of
    PTE entries (which can vary in type and size). Apparently there was a
    good reason for it once, but with current compilers it's simpler just
    to workaround the variation with a cast in the printk() itself
    (there's only one use).

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

    David Gibson
     

02 May, 2007

1 commit

  • Currently, all 32-bit powerpc platforms use asm-ppc/pgtable.h and
    asm-ppc/pgalloc.h, even when otherwise compiled with ARCH=powerpc.
    Those asm-ppc files are a fairly nasty tangle of #ifdefs including a
    bunch of things which shouldn't be necessary any more in arch/powerpc.

    Cleaning up that mess is going to take a while, but this patch is a
    first step. It separates the asm-powerpc/pg{alloc,table}.h into 64
    bit and 32 bit versions in asm-powerpc, which the basic .h files in
    asm-powerpc select based on config. We make a few tiny tweaks to the
    innards of the files along the way, making the outermost ifdefs
    (double-inclusion protection and __KERNEL__) a little cleaner, and
    #including asm-generic/pgtable.h from the top-level
    asm-powerpc/pgtable.h (since both the old 32-bit and 64-bit versions
    ended with such an #include).

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

    David Gibson