1. 01 11月, 2006 1 次提交
    • R
      [IA64] MCA recovery: Montecito support · 264b0f99
      Russ Anderson 提交于
      The information in MCA records is filled in slightly differently on
      Montecito than on Madison/McKinley.  Usually, the cache check and bus
      check target identifiers have the same address.   On Montecito the
      cache check and bus check target identifiers can be different if 
      a corrected error (ie SBE or unconsumed poison data) was encountered and
      then an uncorrected error (ie DBE) was consumed.  In that case, the 
      cache check target identifier is the physical address of the DBE (that
      caused the MCA to surface) while the bus check target identifier is the 
      physical address of the SBE.  This patch correctly finds the target
      identifier that triggered the MCA.
      
      If there are multiple valid cache target identifiers in the same
      error record then use the one with the lowest cache level.
      
      Signed-off-by: Russ Anderson (rja@sgi.com)
      Signed-off-by: NTony Luck <tony.luck@intel.com>
      264b0f99
  2. 27 9月, 2006 1 次提交
    • H
      [IA64] printing support for MCA/INIT · 43ed3baf
      Hidetoshi Seto 提交于
      Printing message to console from MCA/INIT handler is useful,
      however doing oops_in_progress = 1 in them exactly makes
      something in kernel wrong. Especially it sounds ugly if
      system goes wrong after returning from recoverable MCA.
      
      This patch adds ia64_mca_printk() function that collects
      messages into temporary-not-so-large message buffer during
      in MCA/INIT environment and print them out later, after
      returning to normal context or when handlers determine to
      down the system.
      
      Also this print function is exported for use in extensional
      MCA handler. It would be useful to describe detail about
      recovery.
      
      NOTE:
      I don't think it is sane thing if temporary message buffer
      is enlarged enough to hold whole stack dumps from INIT, so
      buffering is disabled during stack dump from INIT-monarch
      (= default_monarch_init_process). please fix it in future.
      Signed-off-by: NHidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>
      Acked-by: NRuss Anderson <rja@sgi.com>
      Signed-off-by: NTony Luck <tony.luck@intel.com>
      43ed3baf
  3. 01 7月, 2006 1 次提交
  4. 28 4月, 2006 1 次提交
  5. 25 3月, 2006 1 次提交
    • R
      [IA64] MCA recovery: kernel context recovery table · d2a28ad9
      Russ Anderson 提交于
      Memory errors encountered by user applications may surface
      when the CPU is running in kernel context.  The current code
      will not attempt recovery if the MCA surfaces in kernel
      context (privilage mode 0).  This patch adds a check for cases
      where the user initiated the load that surfaces in kernel
      interrupt code.
      
      An example is a user process lauching a load from memory
      and the data in memory had bad ECC.  Before the bad data
      gets to the CPU register, and interrupt comes in.  The
      code jumps to the IVT interrupt entry point and begins
      execution in kernel context.  The process of saving the
      user registers (SAVE_REST) causes the bad data to be loaded
      into a CPU register, triggering the MCA.  The MCA surfaces in
      kernel context, even though the load was initiated from
      user context.
      
      As suggested by David and Tony, this patch uses an exception
      table like approach, puting the tagged recovery addresses in
      a searchable table.  One difference from the exception table
      is that MCAs do not surface in precise places (such as with
      a TLB miss), so instead of tagging specific instructions,
      address ranges are registers.  A single macro is used to do
      the tagging, with the input parameter being the label
      of the starting address and the macro being the ending
      address.  This limits clutter in the code.
      
      This patch only tags one spot, the interrupt ivt entry.
      Testing showed that spot to be a "heavy hitter" with
      MCAs surfacing while saving user registers.  Other spots
      can be added as needed by adding a single macro.
      
      Signed-off-by: Russ Anderson (rja@sgi.com)
      Signed-off-by: NTony Luck <tony.luck@intel.com>
      d2a28ad9
  6. 08 3月, 2006 2 次提交
  7. 10 2月, 2006 1 次提交
  8. 09 11月, 2005 3 次提交
  9. 23 9月, 2005 1 次提交
  10. 17 9月, 2005 1 次提交
  11. 12 9月, 2005 1 次提交
    • K
      [PATCH] MCA/INIT: use per cpu stacks · 7f613c7d
      Keith Owens 提交于
      The bulk of the change.  Use per cpu MCA/INIT stacks.  Change the SAL
      to OS state (sos) to be per process.  Do all the assembler work on the
      MCA/INIT stacks, leaving the original stack alone.  Pass per cpu state
      data to the C handlers for MCA and INIT, which also means changing the
      mca_drv interfaces slightly.  Lots of verification on whether the
      original stack is usable before converting it to a sleeping process.
      Signed-off-by: NKeith Owens <kaos@sgi.com>
      Signed-off-by: NTony Luck <tony.luck@intel.com>
      7f613c7d
  12. 04 5月, 2005 1 次提交
    • R
      [IA64] MCA recovery improvements · b1b901c2
      Russ Anderson 提交于
      Jack Steiner uncovered some opportunities for improvement in
      the MCA recovery code.
      
        1) Set bsp to save registers on the kernel stack.
        2) Disable interrupts while in the MCA recovery code.
        3) Change the way the user process is killed, to avoid 
           a panic in schedule.
      
      Testing shows that these changes make the recovery code much 
      more reliable with the 2.6.12 kernel.
      Signed-off-by: NRuss Anderson <rja@sgi.com>
      Signed-off-by: NTony Luck <tony.luck@intel.com>
      b1b901c2
  13. 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