1. 27 4月, 2007 2 次提交
  2. 06 3月, 2007 1 次提交
    • G
      [S390] Fixed handling of access register mode faults. · 482b05dd
      Gerald Schaefer 提交于
      Replaced check_user_space() + __check_access_register with the new
      check_space(). The old functions made wrong assumptions about kernel
      and user space when the kernel and user address spaces are switched
      (kernel in home space, user in primary/secondary space).
      Secondly the user process can switch to the accress register mode if
      it is running in primary or secondary mode. In addition it can load
      an arbitrary value to the access registers. If any other value than
      0 for primary space or 1 for secondary space is loaded and memory
      is accessed using the base register related to the access register,
      the program should be terminated with a SIGSEGV. To achieve that the
      DUALD pointer in the DUCT and the PSALD pointer in the PASTE need
      to point to an array of 8 invalid access-list entries to get a
      ALEN-translation exception if an invalid alet is used.
      Signed-off-by: NGerald Schaefer <geraldsc@de.ibm.com>
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      482b05dd
  3. 21 2月, 2007 1 次提交
  4. 15 2月, 2007 3 次提交
  5. 12 2月, 2007 2 次提交
  6. 06 2月, 2007 6 次提交
  7. 12 1月, 2007 1 次提交
  8. 09 12月, 2006 1 次提交
  9. 08 12月, 2006 3 次提交
    • H
      [S390] Poison init section before freeing it. · 028d9b3c
      Heiko Carstens 提交于
      The data patterns should allow us to easily tell if somebody accesses
      initdata/code after it was freed. Same code as on various other
      architectures.
      Signed-off-by: NHeiko Carstens <heiko.carstens@de.ibm.com>
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      028d9b3c
    • 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
  10. 04 12月, 2006 4 次提交
  11. 06 11月, 2006 1 次提交
    • H
      [S390] revert add_active_range() usage patch. · bcc8bcb1
      Heiko Carstens 提交于
      Commit 7676bef9 breaks DCSS support on
      s390. DCSS needs initialized struct pages to work. With the usage of
      add_active_range() only the struct pages for physically present pages
      are initialized.
      This could be fixed if the DCSS driver would initiliaze the struct pages
      itself, but this doesn't work too. This is because the mem_map array
      does not include holes after the last present memory area and therefore
      there is nothing that could be initialized.
      To fix this and to avoid some dirty hacks revert this patch for now.
      Will be added later when we move to a virtual mem_map.
      
      Cc: Carsten Otte <cotte@de.ibm.com>
      Cc: Adrian Bunk <bunk@stusta.de>
      Signed-off-by: NHeiko Carstens <heiko.carstens@de.ibm.com>
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      bcc8bcb1
  12. 06 10月, 2006 1 次提交
  13. 05 10月, 2006 2 次提交
  14. 30 9月, 2006 1 次提交
  15. 28 9月, 2006 2 次提交
  16. 26 9月, 2006 2 次提交
  17. 20 9月, 2006 3 次提交
  18. 16 8月, 2006 1 次提交
  19. 12 7月, 2006 1 次提交
  20. 02 7月, 2006 1 次提交
  21. 01 7月, 2006 1 次提交