1. 26 Mar, 2009 2 commits
  2. 01 Aug, 2008 1 commit
  3. 14 Jul, 2008 2 commits
  4. 17 Apr, 2008 1 commit
  5. 05 Mar, 2008 1 commit
  6. 05 Feb, 2008 1 commit
  7. 26 Jan, 2008 4 commits
  8. 25 Jan, 2008 4 commits
    • Greg Kroah-Hartman's avatar
      firmware: change firmware_kset to firmware_kobj · f62ed9e3
      Greg Kroah-Hartman authored
      
      
      There is no firmware "subsystem" it's just a directory in /sys that
      other portions of the kernel want to hook into.  So make it a kobject
      not a kset to help alivate anyone who tries to do some odd kset-like
      things with this.
      
      Cc: Kay Sievers <kay.sievers@vrfy.org>
      Cc: Cornelia Huck <cornelia.huck@de.ibm.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      f62ed9e3
    • Greg Kroah-Hartman's avatar
      kset: convert s390 ipl.c to use kset_create · d91885be
      Greg Kroah-Hartman authored
      
      
      Dynamically create the kset instead of declaring it statically.
      This makes the kobject attributes now work properly that I broke in the
      previous patch.
      
      Cc: Kay Sievers <kay.sievers@vrfy.org>
      Cc: Michael Holzheu <holzheu@de.ibm.com>
      Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
      Cc: Volker Sameske <sameske@de.ibm.com>
      Cc: Cornelia Huck <cornelia.huck@de.ibm.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      d91885be
    • Greg Kroah-Hartman's avatar
      kobject: convert s390 ipl.c to kobj_attr interface · 9b949165
      Greg Kroah-Hartman authored
      
      
      This makes the code a bit simpler and and gets us one step closer to
      deleting the deprecated subsys_attr code.
      
      NOTE, this needs the next patch in the series in order to work properly.
      This will build, but the sysfs files will not properly operate.
      
      Thanks to Cornelia for the build fix on this patch.
      
      Cc: Kay Sievers <kay.sievers@vrfy.org>
      Cc: Michael Holzheu <holzheu@de.ibm.com>
      Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
      Cc: Volker Sameske <sameske@de.ibm.com>
      Cc: Cornelia Huck <cornelia.huck@de.ibm.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      9b949165
    • Greg Kroah-Hartman's avatar
      kobject: remove struct kobj_type from struct kset · 3514faca
      Greg Kroah-Hartman authored
      
      
      We don't need a "default" ktype for a kset.  We should set this
      explicitly every time for each kset.  This change is needed so that we
      can make ksets dynamic, and cleans up one of the odd, undocumented
      assumption that the kset/kobject/ktype model has.
      
      This patch is based on a lot of help from Kay Sievers.
      
      Nasty bug in the block code was found by Dave Young
      <hidave.darkstar@gmail.com>
      
      Cc: Kay Sievers <kay.sievers@vrfy.org>
      Cc: Dave Young <hidave.darkstar@gmail.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      3514faca
  9. 22 Oct, 2007 1 commit
  10. 12 Oct, 2007 1 commit
  11. 15 Jul, 2007 1 commit
  12. 11 Jul, 2007 1 commit
    • Tejun Heo's avatar
      sysfs: kill unnecessary attribute->owner · 7b595756
      Tejun Heo authored
      sysfs is now completely out of driver/module lifetime game.  After
      deletion, a sysfs node doesn't access anything outside sysfs proper,
      so there's no reason to hold onto the attribute owners.  Note that
      often the wrong modules were accounted for as owners leading to
      accessing removed modules.
      
      This patch kills now unnecessary attribute->owner.  Note that with
      this change, userland holding a sysfs node does not prevent the
      backing module from being unloaded.
      
      For more info regarding lifetime rule cleanup, please read the
      following message.
      
        http://article.gmane.org/gmane.linux.kernel/510293
      
      
      
      (tweaked by Greg to not delete the field just yet, to make it easier to
      merge things properly.)
      Signed-off-by: default avatarTejun Heo <htejun@gmail.com>
      Cc: Cornelia Huck <cornelia.huck@de.ibm.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      7b595756
  13. 10 Jul, 2007 1 commit
  14. 10 May, 2007 1 commit
  15. 03 May, 2007 1 commit
  16. 27 Apr, 2007 2 commits
  17. 19 Mar, 2007 1 commit
  18. 05 Mar, 2007 1 commit
  19. 21 Feb, 2007 3 commits
  20. 05 Feb, 2007 3 commits
    • Heiko Carstens's avatar
      [S390] Convert memory detection into C code. · ab14de6c
      Heiko Carstens authored
      
      
      Hopefully this will make it more maintainable and less error prone.
      Code makes use of search_exception_tables(). Since it calls this
      function before the kernel exeception table is sorted, there is an
      early call to sort_main_extable().
      
      This way it's easy to use the already present infrastructure of fixup
      sections. Also this would allows to easily convert the rest of
      head[31|64].S into C code.
      Signed-off-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
      Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
      ab14de6c
    • Hongjie Yang's avatar
      [S390] boot from NSS support · fe355b7f
      Hongjie Yang authored
      
      
      Add support to boot from a named saved segment (NSS).
      Signed-off-by: default avatarHongjie Yang <hongjie@us.ibm.com>
      Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
      fe355b7f
    • Gerald Schaefer's avatar
      [S390] noexec protection · c1821c2e
      Gerald Schaefer authored
      
      
      This provides a noexec protection on s390 hardware. Our hardware does
      not have any bits left in the pte for a hw noexec bit, so this is a
      different approach using shadow page tables and a special addressing
      mode that allows separate address spaces for code and data.
      
      As a special feature of our "secondary-space" addressing mode, separate
      page tables can be specified for the translation of data addresses
      (storage operands) and instruction addresses. The shadow page table is
      used for the instruction addresses and the standard page table for the
      data addresses.
      The shadow page table is linked to the standard page table by a pointer
      in page->lru.next of the struct page corresponding to the page that
      contains the standard page table (since page->private is not really
      private with the pte_lock and the page table pages are not in the LRU
      list).
      Depending on the software bits of a pte, it is either inserted into
      both page tables or just into the standard (data) page table. Pages of
      a vma that does not have the VM_EXEC bit set get mapped only in the
      data address space. Any try to execute code on such a page will cause a
      page translation exception. The standard reaction to this is a SIGSEGV
      with two exceptions: the two system call opcodes 0x0a77 (sys_sigreturn)
      and 0x0aad (sys_rt_sigreturn) are allowed. They are stored by the
      kernel to the signal stack frame. Unfortunately, the signal return
      mechanism cannot be modified to use an SA_RESTORER because the
      exception unwinding code depends on the system call opcode stored
      behind the signal stack frame.
      
      This feature requires that user space is executed in secondary-space
      mode and the kernel in home-space mode, which means that the addressing
      modes need to be switched and that the noexec protection only works
      for user space.
      After switching the addressing modes, we cannot use the mvcp/mvcs
      instructions anymore to copy between kernel and user space. A new
      mvcos instruction has been added to the z9 EC/BC hardware which allows
      to copy between arbitrary address spaces, but on older hardware the
      page tables need to be walked manually.
      Signed-off-by: default avatarGerald Schaefer <geraldsc@de.ibm.com>
      Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
      c1821c2e
  21. 15 Dec, 2006 3 commits
  22. 04 Dec, 2006 4 commits
    • Heiko Carstens's avatar
      [S390] cpu shutdown rework · c6b5b847
      Heiko Carstens authored
      
      
      Let one master cpu kill all other cpus instead of sending an external
      interrupt to all other cpus so they can kill themselves.
      Simplifies reipl/shutdown functions a lot.
      Signed-off-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
      Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
      c6b5b847
    • Heiko Carstens's avatar
      [S390] cpcmd <-> __cpcmd calling issues · 740b5706
      Heiko Carstens authored
      
      
      In case of reipl cpcmd gets called when all other cpus are not running
      anymore. To prevent deadlocks change __cpcmd so that it doesn't take
      any locks and call cpcmd or __cpcmd, whatever is correct in the current
      context.
      Signed-off-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
      Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
      740b5706
    • Heiko Carstens's avatar
      [S390] Reset infrastructure for re-IPL. · 15e9b586
      Heiko Carstens authored
      
      
      In case of re-IPL and diag308 doesn't work we have to reset all devices
      manually and wait synchronously that each reset finished.
      This patch adds the necessary infrastucture and the first exploiter of it.
      
      Subsystems that need to add a function that needs to be called at re-IPL
      may register/unregister this function via
      
      struct reset_call {
      	struct reset_call *next;
      	void (*fn)(void);
      };
      
      void register_reset_call(struct reset_call *reset);
      void unregister_reset_call(struct reset_call *reset);
      
      When the registered function get called the context is:
      
      - all cpus beside the current one are stopped
      - all machine checks and interrupts are disabled
      - prefixing is disabled
      - a default machine check handler is available for use
      
      The registered functions may not take any locks are sleep.
      
      For the common I/O layer part of this patch:
      
      Introduce a reset_call css_reset that does the following:
      - clear all subchannels
      - perform a rchp on all channel paths and wait for the resulting
        machine checks
      This replaces the calls to clear_all_subchannels() and
      cio_reset_channel_paths() for kexec and ccw reipl. reipl_ccw_dev() now
      uses reipl_find_schid() to determine the subchannel id for a given
      device id.
      Also remove cio_reset_channel_paths() and friends since they are not
      needed anymore.
      Signed-off-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
      Signed-off-by: default avatarCornelia Huck <cornelia.huck@de.ibm.com>
      Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
      15e9b586
    • Michael Holzheu's avatar
      [S390] Use diag instead of ccw reipl. · 5986b0e8
      Michael Holzheu authored
      
      
      Since the diag 308 reipl method is superior to the ccw method, we should
      use it whenever it is possible. We can do that, if the user has not
      specified a new reipl ccw device and the system has been ipled from
      a ccw device.
      Signed-off-by: default avatarMichael Holzheu <holzheu@de.ibm.com>
      Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
      5986b0e8