31 Jan, 2009

1 commit

  • If a context switch occurred between the watch exception and reading the
    watch registers, it would be possible for the new process to corrupt their
    state. Enabling interrupts only after the watch registers are read avoids
    this race.

    Signed-off-by: David Daney
    Signed-off-by: Ralf Baechle

    David Daney
     

11 Jan, 2009

1 commit


11 Oct, 2008

1 commit


04 Oct, 2008

1 commit

  • Rework of SMTC support to make it work with the new clock event system,
    allowing "tickless" operation, and to make it compatible with the use of
    the "wait_irqoff" idle loop. The new clocking scheme means that the
    previously optional IPI instant replay mechanism is now required, and has
    been made more robust.

    Signed-off-by: Kevin D. Kissell
    Signed-off-by: Ralf Baechle

    Kevin D. Kissell
     

21 Sep, 2008

1 commit


29 Jan, 2008

1 commit

  • This complements the generic R4000/R4400 errata workaround code and adds
    bits for the daddiu problem. In most places it just modifies handwritten
    assembly code so that the assembler is allowed to use a temporary register
    as daddiu may now be treated as a macro that expands to a sequence of li
    and daddu. It is the AT register or, where AT is unavailable or used
    explicitly for another purpose, an explicitly-named register is selected,
    using the .set at= feature added recently to gas. This feature is
    only used if CONFIG_CPU_DADDI_WORKAROUNDS has been set, so if the
    workaround remains disabled, the required version of binutils stays
    unchanged.

    Similarly, daddiu instructions put in branch delay slots in noreorder
    fragments are now taken out of them and the assembler is allowed to
    reorder them itself as possible (which it does making the whole idea of
    scheduling them into delay slots manually questionable).

    Also in the very few places where such a simple conversion was not
    possible, a handcoded longer sequence is implemented.

    Other than that there are changes to code responsible for building the
    TLB fault and page clear/copy handlers to avoid daddiu as appropriate.
    These are only effective if the erratum is verified to be present at the
    run time.

    Finally there is a trivial update to __delay(), because it uses daddiu in
    a branch delay slot.

    Signed-off-by: Maciej W. Rozycki
    Signed-off-by: Ralf Baechle

    Maciej W. Rozycki
     

16 Nov, 2007

1 commit


13 Jul, 2007

1 commit

  • To support multiple TC microthreads acting as "CPUs" within a VPE,
    VPE-wide interrupt mask bits must be specially manipulated during
    interrupt handling. To support legacy drivers and interrupt controller
    management code, SMTC has a "backstop" to track and if necessary restore
    the interrupt mask. This has some performance impact on interrupt service
    overhead. Disable it only if you know what you are doing.

    Signed-off-by: Ralf Baechle

    Kevin D. Kissell
     

30 Mar, 2007

1 commit

  • Between the mtc0 or di instruction that disables interrupts and the
    following hazard barrier a processor may still take interrupts. If an
    interrupt is taken after interrupts are disabled but before the state
    is updated it will appear to restore_all that it is incorrectly returning
    with interrupts disabled.

    Signed-off-by: Chris Dearman
    Signed-off-by: Ralf Baechle

    Chris Dearman
     

20 Mar, 2007

2 commits


30 Nov, 2006

1 commit


10 Oct, 2006

1 commit

  • Make sure that RA on top of interrupt stack is an address of ret_from_irq,
    so that dump_stack etc. can trace info interrupted context.

    Also this patch fixes except_vec_vi_handler and __smtc_ipi_vector which
    seems broken.

    Signed-off-by: Atsushi Nemoto
    Signed-off-by: Ralf Baechle

    Atsushi Nemoto
     

08 Oct, 2006

1 commit


02 Oct, 2006

1 commit

  • Fix build error due to stacktrace API change. Now save_stack_trace()
    tries to save all kernel context, including interrupts and exception.
    Also some asm code are changed a bit so that we can detect the end of
    current context easily.

    Signed-off-by: Atsushi Nemoto
    Signed-off-by: Ralf Baechle

    Atsushi Nemoto
     

14 Jul, 2006

2 commits


01 Jul, 2006

1 commit


30 Jun, 2006

1 commit


19 Apr, 2006

2 commits


07 Feb, 2006

1 commit


30 Oct, 2005

4 commits


05 Sep, 2005

3 commits

  • This patch has fixed the following warnings.

    arch/mips/kernel/genex.S:250:5: warning: "CONFIG_64BIT" is not defined
    arch/mips/math-emu/cp1emu.c:1128:5: warning: "__mips64" is not defined
    arch/mips/math-emu/cp1emu.c:1206:5: warning: "__mips64" is not defined
    arch/mips/math-emu/cp1emu.c:1270:5: warning: "__mips64" is not defined
    arch/mips/math-emu/cp1emu.c:323:5: warning: "__mips64" is not defined
    arch/mips/math-emu/cp1emu.c:808:5: warning: "__mips64" is not defined
    arch/mips/math-emu/cp1emu.c:953:5: warning: "__mips64" is not defined
    arch/mips/mm/tlbex.c:519:5: warning: "CONFIG_64BIT" is not defined
    include/asm/reg.h:73:5: warning: "CONFIG_64BIT" is not defined

    Signed-off-by: Yoichi Yuasa
    Cc: Ralf Baechle
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Yoichi Yuasa
     
  • Signed-off-by: Ralf Baechle
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ralf Baechle
     
  • Start cleaning 32-bit vs. 64-bit configuration.

    Signed-off-by: Ralf Baechle
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ralf Baechle
     

17 Apr, 2005

1 commit

  • Initial git repository build. I'm not bothering with the full history,
    even though we have it. We can create a separate "historical" git
    archive of that later if we want to, and in the meantime it's about
    3.2GB when imported into git - space that would just make the early
    git days unnecessarily complicated, when we don't have a lot of good
    infrastructure for it.

    Let it rip!

    Linus Torvalds