1. 05 2月, 2008 2 次提交
  2. 26 1月, 2008 6 次提交
  3. 04 12月, 2007 1 次提交
  4. 20 11月, 2007 2 次提交
    • H
      [S390] Fix irq tracing and lockdep_sys_exit calls. · 411788ea
      Heiko Carstens 提交于
      Current support for TRACE_IRQFLAGS and lockdep_sys_exit is broken.
      IRQ flag tracing is broken for program checks. Even worse is that
      the newly introduced calls to lockdep_sys_exit are in the critical
      section code which is not supposed to call any C functions. In
      addition the checks if locks are still held are also done when
      returning to kernel code which is broken as well.
      Fix all this by disabling interrupts and machine checks at the
      exit paths and then do the appropriate checks and calls.
      Signed-off-by: NHeiko Carstens <heiko.carstens@de.ibm.com>
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      411788ea
    • C
      [S390] magic sysrq: check for in_atomic before doing an console_unblank · 7aa8dac7
      Christian Borntraeger 提交于
      When doing an magic sysrq reboot on s390 the following bug message
      appears:
      
      SysRq : Resetting
      BUG: sleeping function called from invalid context at include/asm/semaphore.h:61
      
      in_atomic():1, irqs_disabled():0
      07000000004002a8 000000000fe6bc48 0000000000000002 0000000000000000
             000000000fe6bce8 000000000fe6bc60 000000000fe6bc60 000000000012a79a
             0000000000000000 07000000004002a8 0000000000000006 0000000000000000
             0000000000000000 000000000fe6bc48 000000000000000d 000000000fe6bcb8
             00000000004000c8 0000000000103234 000000000fe6bc48 000000000fe6bc90
      Call Trace:
      (¬<00000000001031b2>| show_trace+0x12e/0x148)
       ¬<000000000011ffca>| __might_sleep+0x10a/0x118
       ¬<0000000000129fba>| acquire_console_sem+0x92/0xf4
       ¬<000000000012a2ca>| console_unblank+0xc2/0xc8
       ¬<0000000000107bb4>| machine_restart+0x54/0x6c
       ¬<000000000028e806>| sysrq_handle_reboot+0x26/0x30
       ¬<000000000028e52a>| __handle_sysrq+0xa6/0x180
       ¬<0000000000140134>| run_workqueue+0xcc/0x18c
       ¬<000000000014029a>| worker_thread+0xa6/0x108
       ¬<00000000001458e4>| kthread+0x64/0x9c
       ¬<0000000000106f0e>| kernel_thread_starter+0x6/0xc
       ¬<0000000000106f08>| kernel_thread_starter+0x0/0xc
      
      The only reason for doing a console_unblank on s390 is to flush the
      log buffer. We have to check for in_atomic before doing a
      console_unblank as the console is otherwise filled with an unrelated
      bug message.
      Signed-off-by: NChristian Borntraeger <borntraeger@de.ibm.com>
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      7aa8dac7
  5. 19 6月, 2007 1 次提交
  6. 31 5月, 2007 1 次提交
  7. 05 5月, 2007 2 次提交
  8. 27 4月, 2007 1 次提交
  9. 21 2月, 2007 3 次提交
  10. 13 2月, 2007 1 次提交
  11. 06 2月, 2007 7 次提交
  12. 09 1月, 2007 1 次提交
  13. 08 12月, 2006 2 次提交
    • H
      [S390] Use add_active_range() and free_area_init_nodes(). · 39b742f9
      Heiko Carstens 提交于
      Size zones and holes in an architecture independent manner for s390.
      Signed-off-by: NHeiko Carstens <heiko.carstens@de.ibm.com>
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      39b742f9
    • H
      [S390] Virtual memmap for s390. · f4eb07c1
      Heiko Carstens 提交于
      Virtual memmap support for s390. Inspired by the ia64 implementation.
      
      Unlike ia64 we need a mechanism which allows us to dynamically attach
      shared memory regions.
      These memory regions are accessed via the dcss device driver. dcss
      implements the 'direct_access' operation, which requires struct pages
      for every single shared page.
      Therefore this implementation provides an interface to attach/detach
      shared memory:
      
      int add_shared_memory(unsigned long start, unsigned long size);
      int remove_shared_memory(unsigned long start, unsigned long size);
      
      The purpose of the add_shared_memory function is to add the given
      memory range to the 1:1 mapping and to make sure that the
      corresponding range in the vmemmap is backed with physical pages.
      It also initialises the new struct pages.
      
      remove_shared_memory in turn only invalidates the page table
      entries in the 1:1 mapping. The page tables and the memory used for
      struct pages in the vmemmap are currently not freed. They will be
      reused when the next segment will be attached.
      Given that the maximum size of a shared memory region is 2GB and
      in addition all regions must reside below 2GB this is not too much of
      a restriction, but there is room for improvement.
      Signed-off-by: NHeiko Carstens <heiko.carstens@de.ibm.com>
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      f4eb07c1
  14. 04 12月, 2006 3 次提交
  15. 06 11月, 2006 2 次提交
  16. 05 10月, 2006 1 次提交
  17. 28 9月, 2006 1 次提交
    • M
      [S390] Inline assembly cleanup. · 94c12cc7
      Martin Schwidefsky 提交于
      Major cleanup of all s390 inline assemblies. They now have a common
      coding style. Quite a few have been shortened, mainly by using register
      asm variables. Use of the EX_TABLE macro helps  as well. The atomic ops,
      bit ops and locking inlines new use the Q-constraint if a newer gcc
      is used.  That results in slightly better code.
      
      Thanks to Christian Borntraeger for proof reading the changes.
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      94c12cc7
  18. 20 9月, 2006 3 次提交