1. 16 4月, 2012 1 次提交
    • T
      sparc32: generic clockevent support · 62f08283
      Tkhai Kirill 提交于
      The kernel uses l14 timers as clockevents. l10 timer is used
      as clocksource if platform master_l10_counter isn't constantly
      zero. The clocksource is continuous, so it's possible to use
      high resolution timers. l10 timer is also used as clockevent
      on UP configurations.
      
      This realization is for sun4m, sun4d, sun4c, microsparc-IIep
      and LEON platforms. The appropriate LEON changes was made by
      Konrad Eisele.
      
      In case of sun4m's oneshot mode, profile irq is zeroed in
      smp4m_percpu_timer_interrupt(). It is maybe
      needless (double, triple etc overflow does nothing).
      
      sun4d is able to have oneshot mode too, but I haven't
      any way to test it. So code of its percpu timer handler
      is made as much equal to the current code as possible.
      
      The patch is tested on sun4m box in SMP mode by me,
      and tested by Konrad on leon in up mode (leon smp
      is broken atm - due to other reasons).
      Signed-off-by: NTkhai Kirill <tkhai@yandex.ru>
      Tested-by: Konrad Eisele <konrad@gaisler.com> [leon up]
      [sam: revised patch to provide generic support for leon]
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      62f08283
  2. 17 5月, 2011 1 次提交
    • D
      sparc32: implement SMP IPIs using the generic functions · d6d04819
      Daniel Hellstrom 提交于
      The current sparc32 SMP IPI generation is implemented the
      cross call function. The cross call function uses IRQ15 the
      NMI, this is has the effect that IPIs will interrupt IRQ
      critical areas and hang the system. Typically on/after
      spin_lock_irqsave calls can be aborted.
      
      The cross call functionality must still exist to flush
      cache/TLBS.
      
      This patch provides CPU models a custom way to implement
      generation of IPIs on the generic code's request. The
      typical approach is to generate an IRQ for each IPI case.
      
      After this patch each sparc32 SMP CPU model needs to
      implement IPIs in order to function properly.
      Signed-off-by: NDaniel Hellstrom <daniel@gaisler.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      d6d04819
  3. 28 7月, 2008 1 次提交
    • S
      sparc, sparc64: use arch/sparc/include · a439fe51
      Sam Ravnborg 提交于
      The majority of this patch was created by the following script:
      
      ***
      ASM=arch/sparc/include/asm
      mkdir -p $ASM
      git mv include/asm-sparc64/ftrace.h $ASM
      git rm include/asm-sparc64/*
      git mv include/asm-sparc/* $ASM
      sed -ie 's/asm-sparc64/asm/g' $ASM/*
      sed -ie 's/asm-sparc/asm/g' $ASM/*
      ***
      
      The rest was an update of the top-level Makefile to use sparc
      for header files when sparc64 is being build.
      And a small fixlet to pick up the correct unistd.h from
      sparc64 code.
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      a439fe51
  4. 18 7月, 2008 1 次提交
    • S
      sparc: join the remaining header files · f5e706ad
      Sam Ravnborg 提交于
      With this commit all sparc64 header files are moved to asm-sparc.
      The remaining files (71 files) were too different to be trivially
      merged so divide them up in a _32.h and a _64.h file which
      are both included from the file with no bit size.
      
      The following script were used:
      cd include
      FILES=`wc -l asm-sparc64/*h | grep -v '^     1' | cut -b 20-`
      
      for FILE in ${FILES}; do
        echo $FILE:
        BASE=`echo $FILE | cut -d '.' -f 1`
        FN32=${BASE}_32.h
        FN64=${BASE}_64.h
        GUARD=___ASM_SPARC_`echo $BASE | tr '-' '_' | tr [:lower:] [:upper:]`_H
        git mv asm-sparc/$FILE asm-sparc/$FN32
        git mv asm-sparc64/$FILE asm-sparc/$FN64
        echo git mv done
        printf "#ifndef %s\n" $GUARD                             >   asm-sparc/$FILE
        printf "#define %s\n" $GUARD                             >>  asm-sparc/$FILE
        printf "#if defined(__sparc__) && defined(__arch64__)\n" >>  asm-sparc/$FILE
        printf "#include <asm-sparc/%s>\n" $FN64                 >>  asm-sparc/$FILE
        printf "#else\n"                                         >>  asm-sparc/$FILE
        printf "#include <asm-sparc/%s>\n" $FN32                 >>  asm-sparc/$FILE
        printf "#endif\n"                                        >>  asm-sparc/$FILE
        printf "#endif\n"                                        >>  asm-sparc/$FILE
        git add asm-sparc/$FILE
        echo new file done
        printf "#include <asm-sparc/%s>\n" $FILE                 >  asm-sparc64/$FILE
        git add asm-sparc64/$FILE
        echo sparc64 file done
      done
      
      The guard contains three '_' to avoid conflict with existing guards.
      In additing the two Kbuild files are emptied to avoid breaking
      headers_* targets.
      We will reintroduce the exported header files when the necessary
      kbuild changes are merged.
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      f5e706ad
  5. 24 3月, 2006 1 次提交
    • B
      [SPARC]: Try to start getting SMP back into shape. · a54123e2
      Bob Breuer 提交于
      Todo items:
       - IRQ_INPROGRESS flag - use sparc64 irq buckets, or generic irq_desc?
       - sun4d
       - re-indent large chunks of sun4m_smp.c
       - some places assume sequential cpu numbering (i.e. 0,1 instead of 0,2)
      
      Last I checked (with 2.6.14), random programs segfault with dual
      HyperSPARC.  And with SuperSPARC II's, it seems stable but will
      eventually die from a write lock error (wrong lock owner or something).
      
      I haven't tried the HyperSPARC + highmem combination recently, so that
      may still be a problem.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      a54123e2
  6. 17 4月, 2005 1 次提交
    • L
      Linux-2.6.12-rc2 · 1da177e4
      Linus Torvalds 提交于
      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!
      1da177e4