1. 06 5月, 2005 5 次提交
  2. 04 5月, 2005 1 次提交
    • A
      [PATCH] ISA DMA Kconfig fixes - part 1 · 5cae841b
      Al Viro 提交于
      A bunch of drivers use ISA DMA helpers or their equivalents for
      platforms that have ISA with different DMA controller (a lot of ARM
      boxen).  Currently there is no way to put such dependency in Kconfig -
      CONFIG_ISA is not it (e.g.  it is not set on platforms that have no ISA
      slots, but have on-board devices that pretend to be ISA ones).
      
      New symbol added - ISA_DMA_API.  Set when we have functional
      enable_dma()/set_dma_mode()/etc.  set of helpers.  Next patches in the
      series will add missing dependencies for drivers that need them.
      
      I'm very carefully staying the hell out of the recurring flamefest on
      what exactly CONFIG_ISA would mean in ideal world - added symbol has a
      well-defined meaning and for now I really want to treat it as completely
      independent from the mess around CONFIG_ISA.
      Signed-off-by: NAl Viro <viro@parcelfarce.linux.theplanet.co.uk>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      5cae841b
  3. 03 5月, 2005 1 次提交
    • B
      [PATCH] ppc64: fix gcc 4.0 vs CONFIG_ALTIVEC · 52292c9b
      Benjamin Herrenschmidt 提交于
      gcc-4.0 generates altivec code implicitly when -mcpu indicates an
      altivec capable CPU which is not suitable for the kernel.  However, we
      used to set -mcpu=970 when CONFIG_ALTIVEC was set because a gcc-3.x bug
      prevented from using -maltivec along with -mcpu=power4, thus prevented
      building the RAID6 altivec code.
      
      This patch fixes all of this by testing for the gcc version.  If 4.0 or
      later, just normally use -mcpu=power4 and let the RAID6 code add
      -maltivec to the few files it needs to be compiled with altivec support.
      For 3.x, we still use -mcpu=970 to work around the above problem, which
      is fine as 3.x will never implicitly generate altivec code.
      
      The Makefile hackery may not be the most lovely, I welcome anybody more
      skilled than me to improve it.
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      52292c9b
  4. 01 5月, 2005 13 次提交
  5. 29 4月, 2005 1 次提交
    • [AUDIT] Don't allow ptrace to fool auditing, log arch of audited syscalls. · 2fd6f58b
      提交于
      We were calling ptrace_notify() after auditing the syscall and arguments,
      but the debugger could have _changed_ them before the syscall was actually
      invoked. Reorder the calls to fix that.
      
      While we're touching ever call to audit_syscall_entry(), we also make it
      take an extra argument: the architecture of the syscall which was made,
      because some architectures allow more than one type of syscall.
      
      Also add an explicit success/failure flag to audit_syscall_exit(), for
      the benefit of architectures which return that in a condition register
      rather than only returning a single register.
      
      Change type of syscall return value to 'long' not 'int'.
      Signed-off-by: NDavid Woodhouse <dwmw2@infradead.org>
      2fd6f58b
  6. 28 4月, 2005 1 次提交
  7. 27 4月, 2005 1 次提交
  8. 26 4月, 2005 1 次提交
  9. 20 4月, 2005 2 次提交
    • H
      [PATCH] freepgt: hugetlb area is clean · 021740dc
      Hugh Dickins 提交于
      Once we're strict about clearing away page tables, hugetlb_prefault can assume
      there are no page tables left within its range.  Since the other arches
      continue if !pte_none here, let i386 do the same.
      Signed-off-by: NHugh Dickins <hugh@veritas.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      021740dc
    • 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
  10. 17 4月, 2005 10 次提交
    • P
      [PATCH] u32 vs. pm_message_t in ppc and radeon · b1c42851
      Pavel Machek 提交于
      This fixes pm_message_t vs.  u32 confusion in ppc and aty (I *hope* that's
      basically radeon code...).  I was not able to test most of these, but I'm
      not really changing anything, so it should be okay.
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      b1c42851
    • A
      [PATCH] ppc64: remove -fno-omit-frame-pointer · 89e09f5e
      Anton Blanchard 提交于
      During some code inspection using gcc 4.0 I noticed a stack frame was being
      created for a number of functions that didnt require it.  For example:
      
      c0000000000df944 <._spin_unlock>:
      c0000000000df944:       fb e1 ff f0     std     r31,-16(r1)
      c0000000000df948:       f8 21 ff c1     stdu    r1,-64(r1)
      c0000000000df94c:       7c 3f 0b 78     mr      r31,r1
      c0000000000df950:       7c 20 04 ac     lwsync
      c0000000000df954:       e8 21 00 00     ld      r1,0(r1)
      c0000000000df958:       38 00 00 00     li      r0,0
      c0000000000df95c:       90 03 00 00     stw     r0,0(r3)
      c0000000000df960:       eb e1 ff f0     ld      r31,-16(r1)
      c0000000000df964:       4e 80 00 20     blr
      
      It turns out we are adding -fno-omit-frame-pointer to ppc64 which is
      causing the above behaviour.  Removing that flag results in much better
      code:
      
      c0000000000d5b30 <._spin_unlock>:
      c0000000000d5b30:       7c 20 04 ac     lwsync
      c0000000000d5b34:       38 00 00 00     li      r0,0
      c0000000000d5b38:       90 03 00 00     stw     r0,0(r3)
      c0000000000d5b3c:       4e 80 00 20     blr
      
      We dont require a frame pointer to debug on ppc64, so remove it.
      Signed-off-by: NAnton Blanchard <anton@samba.org>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      89e09f5e
    • B
      [PATCH] ppc64: remove bogus f50 hack in prom.c · 50bfb2e0
      Benjamin Herrenschmidt 提交于
      The code that parses the OF device tree contains an old bogus hack which
      was killed a long time ago on ppc32, but survived in ppc64.  It was
      supposed to help with a problem on the f50 which is ...  a 32 bits machine
      :) Additionally, that hack is causing problems, so let's just get rid of
      it.
      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>
      50bfb2e0
    • B
      [PATCH] ppc64: Detect altivec via firmware on unknown CPUs · 187335a4
      Benjamin Herrenschmidt 提交于
      This patch adds detection of the Altivec capability of the CPU via the
      firmware in addition to the cpu table.  This allows newer CPUs that aren't
      in the table to still have working altivec support in the kernel.
      
      It also fixes a problem where if a CPU isn't recognized as having altivec
      features, and takes an altivec unavailable exception due to userland
      issuing altivec instructions, the kernel would happily enable it and
      context switch the registers ...  but not all of them (it would basically
      forget vrsave).  With this patch, the kernel will refuse to enable altivec
      when the feature isn't detected for the CPU (SIGILL).
      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>
      187335a4
    • 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
    • P
      [PATCH] ppc64: fix export of wrong symbol · fa89c509
      Paul Mackerras 提交于
      In arch/ppc64/kernel/ppc_ksyms.c, we are still exporting
      flush_icache_range, but that has been changed to be an inline in
      include/asm-ppc64/cacheflush.h which calls __flush_icache_range (defined in
      arch/ppc64/kernel/misc.S).
      
      This patch changes the export to __flush_icache_range, thus allowing
      modules to use the inline flush_icache_range.
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      fa89c509
    • B
      [PATCH] ppc64: Fix semantics of __ioremap · dfbacdc1
      Benjamin Herrenschmidt 提交于
      This patch fixes ppc64 __ioremap() so that it stops adding implicitely
      _PAGE_GUARDED when the cache is not writeback, and instead, let the callers
      provide the flag they want here.  This allows things like framebuffers to
      explicitely request a non-cacheable and non-guarded mapping which is more
      efficient for that type of memory without side effects.  The patch also
      fixes all current callers to add _PAGE_GUARDED except btext, which is fine
      without it.
      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>
      dfbacdc1
    • B
      [PATCH] ppc64: very basic desktop g5 sound support · 7bbd8277
      Benjamin Herrenschmidt 提交于
      This patch hacks the current PowerMac Alsa driver to add some basic support
      of analog sound output to some desktop G5s.  It has severe limitations
      though:
      
       - Only 44100Khz 16 bits
       - Only work on G5 models using a TAS3004 analog code, that is early
         single CPU desktops and all dual CPU desktops at this date, but none
         of the more recent ones like iMac G5.
       - It does analog only, no digital/SPDIF support at all, no native
         AC3 support
      
      Better support would require a complete rewrite of the driver (which I am
      working on, but don't hold your breath), to properly support the diversity
      of apple sound HW setup, including dual codecs, several i2s busses, all the
      new codecs used in the new machines, proper clock switching with digital,
      etc etc etc...
      
      This patch applies on top of the other PowerMac sound patches I posted in
      the past couple of days (new powerbook support and sleep fixes).  
      
      Note: This is a FAQ entry for PowerMac sound support with TI codecs: They
      have a feature called "DRC" which is automatically enabled for the internal
      speaker (at least when auto mute control is enabled) which will cause your
      sound to fade out to nothing after half a second of playback if you don't
      set a proper "DRC Range" in the mixer.  So if you have a problem like that,
      check alsamixer and raise your DRC Range to something reasonable.
      
      Note2: This patch will also add auto-mute of the speaker when line-out jack
      is used on some earlier desktop G4s (and on the G5) in addition to the
      headphone jack.  If that behaviour isn't what you want, just disable
      auto-muting and use the manual mute controls in alsamixer.
      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>
      7bbd8277
    • B
      [PATCH] ppc32: Fix AGP and sleep again · 0c541b44
      Benjamin Herrenschmidt 提交于
      My previous patch that added sleep support for uninorth-agp and some AGP
      "off" stuff in radeonfb and aty128fb is breaking some configs.  More
      specifically, it has problems with rage128 setups since the DRI code for
      these in X doesn't properly re-enable AGP on wakeup or console switch
      (unlike the radeon DRM).
      
      This patch fixes the problem for pmac once for all by using a different
      approach.  The AGP driver "registers" special suspend/resume callbacks with
      some arch code that the fbdev's can later on call to suspend and resume
      AGP, making sure it's resumed back in the same state it was when suspended.
       This is platform specific for now.  It would be too complicated to try to
      do a generic implementation of this at this point due to all sort of weird
      things going on with AGP on other architectures.  We'll re-work that whole
      problem cleanly once we finally merge fbdev's and DRI.
      
      In the meantime, please apply this patch which brings back some r128 based
      laptops into working condition as far as system sleep is concerned.
      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>
      0c541b44
    • 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