1. 22 6月, 2005 4 次提交
  2. 09 6月, 2005 1 次提交
    • P
      [PATCH] ppc64: Fix PER_LINUX32 behaviour · ce10d979
      Paul Mackerras 提交于
      This patch fixes some bugs in the ppc64 PER_LINUX32 implementation,
      noted by Juergen Kreileder:
      
      * uname(2) doesn't respect PER_LINUX32, it returns 'ppc64' instead of 'ppc'
      * Child processes of a PER_LINUX32 process don't inherit PER_LINUX32
      
      Along the way I took the opportunity to move things around so that
      sys_ppc32.c only has 32-bit syscall emulation functions and to remove
      the obsolete "fakeppc" command line option.
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      ce10d979
  3. 08 6月, 2005 1 次提交
    • K
      [PATCH] AGP fix for Xen VMM · 07eee78e
      Keir Fraser 提交于
      When Linux is running on the Xen virtual machine monitor, physical
      addresses are virtualised and cannot be directly referenced by the AGP
      GART.  This patch fixes the GART driver for Xen by adding a layer of
      abstraction between physical addresses and 'GART addresses'.
      
      Architecture-specific functions are also defined for allocating and freeing
      the GATT.  Xen requires this to ensure that table really is contiguous from
      the point of view of the GART.
      
      These extra interface functions are defined as 'no-ops' for all existing
      architectures that use the GART driver.
      Signed-off-by: NKeir Fraser <keir@xensource.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NDave Jones <davej@redhat.com>
      07eee78e
  4. 03 6月, 2005 2 次提交
  5. 01 6月, 2005 1 次提交
    • B
      [PATCH] ppc32/ppc64: cleanup /proc/device-tree · 5f64f739
      Benjamin Herrenschmidt 提交于
      This cleans up the /proc/device-tree representation of the Open Firmware
      device-tree on ppc and ppc64.  It does the following things:
      
       - Workaround an issue in some Apple device-trees where a property may
         exist with the same name as a child node of the parent.  We now
         simply "drop" the property instead of creating duplicate entries in
         /proc with random result...
      
       - Do not try to chop off the "@0" at the end of a node name whose unit
         address is 0.  This is not useful, inconsistent, and the code was
         buggy and didn't always work anyway.
      
       - Do not create symlinks for the short name and unit address parts of a
         node.  These were never really used, bloated the memory footprint of
         the device-tree with useless struct proc_dir_entry and their matching
         dentry and inode cache bloat.
      
      This results in smaller code, smaller memory footprint, and a more
      accurate view of the tree presented to userland.
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      5f64f739
  6. 26 5月, 2005 1 次提交
  7. 06 5月, 2005 2 次提交
  8. 04 5月, 2005 1 次提交
    • A
      [PATCH] asm/signal.h unification · b1ecb4c3
      Al Viro 提交于
      New file - asm-generic/signal.h.  Contains declarations of
      __sighandler_t, __sigrestore_t, SIG_DFL, SIG_IGN, SIG_ERR and default
      definitions of SIG_BLOCK, SIG_UNBLOCK and SIG_SETMASK.
      
      asm-*/signal.h switched to including it.  The only exception is
      asm-parisc/signal.h that wants its own declaration of __sighandler_t;
      that one is left as-is.
      
      asm-ppc64/signal.h required one more thing - unlike everybody else it
      used __sigrestorer_t instead of usual __sigrestore_t.  PPC64 switched to
      common spelling.
      Signed-off-by: NAl Viro <viro@parcelfarce.linux.theplanet.co.uk>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      b1ecb4c3
  9. 01 5月, 2005 6 次提交
  10. 20 4月, 2005 3 次提交
    • H
      [PATCH] freepgt: arch FIRST_USER_ADDRESS 0 · d455a369
      Hugh Dickins 提交于
      Replace misleading definition of FIRST_USER_PGD_NR 0 by definition of
      FIRST_USER_ADDRESS 0 in all the MMU architectures beyond arm and arm26.
      Signed-off-by: NHugh Dickins <hugh@veritas.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      d455a369
    • H
      [PATCH] freepgt: hugetlb_free_pgd_range · 3bf5ee95
      Hugh Dickins 提交于
      ia64 and ppc64 had hugetlb_free_pgtables functions which were no longer being
      called, and it wasn't obvious what to do about them.
      
      The ppc64 case turns out to be easy: the associated tables are noted elsewhere
      and freed later, safe to either skip its hugetlb areas or go through the
      motions of freeing nothing.  Since ia64 does need a special case, restore to
      ppc64 the special case of skipping them.
      
      The ia64 hugetlb case has been broken since pgd_addr_end went in, though it
      probably appeared to work okay if you just had one such area; in fact it's
      been broken much longer if you consider a long munmap spanning from another
      region into the hugetlb region.
      
      In the ia64 hugetlb region, more virtual address bits are available than in
      the other regions, yet the page tables are structured the same way: the page
      at the bottom is larger.  Here we need to scale down each addr before passing
      it to the standard free_pgd_range.  Was about to write a hugely_scaled_down
      macro, but found htlbpage_to_page already exists for just this purpose.  Fixed
      off-by-one in ia64 is_hugepage_only_range.
      
      Uninline free_pgd_range to make it available to ia64.  Make sure the
      vma-gathering loop in free_pgtables cannot join a hugepage_only_range to any
      other (safe to join huges?  probably but don't bother).
      Signed-off-by: NHugh Dickins <hugh@veritas.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      3bf5ee95
    • H
      [PATCH] freepgt: remove MM_VM_SIZE(mm) · ee39b37b
      Hugh Dickins 提交于
      There's only one usage of MM_VM_SIZE(mm) left, and it's a troublesome macro
      because mm doesn't contain the (32-bit emulation?) info needed.  But it too is
      only needed because we ignore the end from the vma list.
      
      We could make flush_pgtables return that end, or unmap_vmas.  Choose the
      latter, since it's a natural fit with unmap_mapping_range_vma needing to know
      its restart addr.  This does make more than minimal change, but if unmap_vmas
      had returned the end before, this is how we'd have done it, rather than
      storing the break_addr in zap_details.
      
      unmap_vmas used to return count of vmas scanned, but that's just debug which
      hasn't been useful in a while; and if we want the map_count 0 on exit check
      back, it can easily come from the final remove_vm_struct loop.
      Signed-off-by: NHugh Dickins <hugh@veritas.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      ee39b37b
  11. 17 4月, 2005 3 次提交
    • O
      [PATCH] ppc64: no prefetch for NULL pointers · e63f8f43
      Olof Johansson 提交于
      For prefetches of NULL (as when walking a short linked list), PPC64 will in
      some cases take a performance hit.  The hardware needs to do the TLB walk,
      and said walk will always miss, which means (up to) two L2 misses as
      penalty.  This seems to hurt overall performance, so for NULL pointers skip
      the prefetch alltogether.
      Signed-off-by: NOlof Johansson <olof@austin.ibm.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      e63f8f43
    • B
      [PATCH] ppc64: Improve mapping of vDSO · 547ee84c
      Benjamin Herrenschmidt 提交于
      This patch reworks the way the ppc64 is mapped in user memory by the kernel
      to make it more robust against possible collisions with executable
      segments.  Instead of just whacking a VMA at 1Mb, I now use
      get_unmapped_area() with a hint, and I moved the mapping of the vDSO to
      after the mapping of the various ELF segments and of the interpreter, so
      that conflicts get caught properly (it still has to be before
      create_elf_tables since the later will fill the AT_SYSINFO_EHDR with the
      proper address).
      
      While I was at it, I also changed the 32 and 64 bits vDSO's to link at
      their "natural" address of 1Mb instead of 0.  This is the address where
      they are normally mapped in absence of conflict.  By doing so, it should be
      possible to properly prelink one it's been verified to work on glibc.
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      547ee84c
    • 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