1. 08 4月, 2008 6 次提交
    • S
      siimage: fix kernel oops on PPC 44x · c976816b
      Sergei Shtylyov 提交于
      Fix kernel oops due to machine check occuring in init_chipset_siimage() on PPC
      44x platforms.  These 32-bit CPUs have 36-bit physical address and PCI I/O and
      memory spaces are mapped beyond 4 GB; arch/ppc/ code has a fixup in ioremap()
      that creates an illusion of the PCI I/O and memory resources being mapped below
      4 GB, while arch/powerpc/ code got rid of this fixup with PPC 44x having instead
      CONFIG_RESOURCES_64BIT=y -- this causes the resources to be truncated to 32-bit
      'unsigned long' type in this driver, and so non-existant memory being ioremap'ed
      and then accessed...
      
      Thanks to Valentine Barshak for providing an initial patch and explanations.
      Signed-off-by: NSergei Shtylyov <sshtylyov@ru.mvista.com>
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      c976816b
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86 · 950b0d28
      Linus Torvalds 提交于
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86:
        x86: fix 64-bit asm NOPS for CONFIG_GENERIC_CPU
        x86: fix call to set_cyc2ns_scale() from time_cpufreq_notifier()
        revert "x86: tsc prevent time going backwards"
      950b0d28
    • R
      virtio: remove overzealous BUG_ON. · 2557a933
      Rusty Russell 提交于
      The 'disable_cb' callback is designed as an optimization to tell the host
      we don't need callbacks now.  As it is not reliable, the debug check is
      overzealous: it can happen on two CPUs at the same time.  Document this.
      
      Even if it were reliable, the virtio_net driver doesn't disable
      callbacks on transmit so the START_USE/END_USE debugging reentrance
      protection can be easily tripped even on UP.
      
      Thanks to Balaji Rao for the bug report and testing.
      Signed-off-by: NRusty Russell <rusty@rustcorp.com.au>
      CC: Balaji Rao <balajirrao@gmail.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      2557a933
    • S
      x86: fix 64-bit asm NOPS for CONFIG_GENERIC_CPU · 871de939
      Suresh Siddha 提交于
      ASM_NOP's for 64-bit kernel with CONFIG_GENERIC_CPU is broken
      with the recent x86 nops merge. They were using GENERIC_NOPS
      which will truncate the upper 32bits of %rsi, because of the missing
      64bit rex prefix.
      
      For now, fall back ASM NOPS for generic cpu to K8 NOPS, similar
      to the code before the wrong x86 nop merge.
      
      This should resolve the crash seen by Ingo on a test-system:
      
      BUG: unable to handle kernel paging request at 00000000d80d8ee8
      IP: [<ffffffff802121af>] save_i387_ia32+0x61/0xd8
      PGD b8e0067 PUD 51490067 PMD 0
      Oops: 0000 [1] SMP
      CPU 2
      Modules linked in:
      Pid: 3871, comm: distcc Not tainted 2.6.25-rc7-sched-devel.git-x86-latest.git #359
      RIP: 0010:[<ffffffff802121af>]  [<ffffffff802121af>] save_i387_ia32+0x61/0xd8
      RSP: 0000:ffff81003abd3cb8  EFLAGS: 00010246
      RAX: ffff810082e93400 RBX: 00000000ffc37f84 RCX: ffff8100d80d8ee0
      RDX: 0000000000000000 RSI: 00000000d80d8ee0 RDI: ffff810082e93400
      RBP: 00000000ffc37fdc R08: 00000000ffc37f88 R09: 0000000000000008
      R10: ffff81003abd2000 R11: 0000000000000000 R12: ffff810082e93400
      R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000
      FS:  0000000000000000(0000) GS:ffff81011fb12dc0(0063) knlGS:00000000f7f1a6c0
      CS:  0010 DS: 002b ES: 002b CR0: 0000000080050033
      CR2: 00000000d80d8ee8 CR3: 0000000076922000 CR4: 00000000000006e0
      DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
      DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
      Process distcc (pid: 3871, threadinfo ffff81003abd2000, task ffff8100d80d8ee0)
      Stack:  ffff8100bb670380 ffffffff8026de50 0000000000000118 0000000000000002
       0000000000000002 ffff81003abd3e68 ffff81003abd3ed8 ffff81003abd3de8
       ffff81003abd3d18 ffffffff80229785 ffff8100d80d8ee0 ffff810001041280
      Call Trace:
       [<ffffffff8026de50>] ? __generic_file_aio_write_nolock+0x343/0x377
       [<ffffffff80229785>] ? update_curr+0x54/0x64
       [<ffffffff80227cd3>] ? ia32_setup_sigcontext+0x125/0x1d2
       [<ffffffff8022839f>] ? ia32_setup_frame+0x73/0x1a5
       [<ffffffff8020b2a5>] ? do_notify_resume+0x1aa/0x7db
       [<ffffffff8024ae8c>] ? getnstimeofday+0x31/0x85
       [<ffffffff80249858>] ? ktime_get_ts+0x17/0x48
       [<ffffffff80249933>] ? ktime_get+0xc/0x41
       [<ffffffff8024973e>] ? hrtimer_nanosleep+0x75/0xd5
       [<ffffffff80249261>] ? hrtimer_wakeup+0x0/0x21
       [<ffffffff8020bfbc>] ? int_signal+0x12/0x17
       [<ffffffff8030e6b3>] ? dummy_file_free_security+0x0/0x1
      
      Code: a6 08 05 00 00 f6 40 14 01 74 34 4c 89 e7 48 0f ae 07 48 8b 86 08 05 00 00 80 78 02 00 79 02 db e2 90 8d b4 26 00 00 00 00 89 f6 <48> 8b 46 08 83 60 14 fe 0f 20 c0 48 83 c8 08 0f 22 c0 eb 07 c6 
      Signed-off-by: NSuresh Siddha <suresh.b.siddha@intel.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      871de939
    • K
      x86: fix call to set_cyc2ns_scale() from time_cpufreq_notifier() · 4f41c94d
      Karsten Wiese 提交于
      In time_cpufreq_notifier() the cpu id to act upon is held in freq->cpu. Use it
      instead of smp_processor_id() in the call to set_cyc2ns_scale().
      This makes the preempt_*able() unnecessary and lets set_cyc2ns_scale() update
      the intended cpu's cyc2ns.
      
      Related mail/thread: http://lkml.org/lkml/2007/12/7/130Signed-off-by: NKarsten Wiese <fzu@wemgehoertderstaat.de>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      4f41c94d
    • I
      revert "x86: tsc prevent time going backwards" · 5b13d863
      Ingo Molnar 提交于
      revert:
      
      | commit 47001d60
      | Author: Thomas Gleixner <tglx@linutronix.de>
      | Date:   Tue Apr 1 19:45:18 2008 +0200
      |
      |     x86: tsc prevent time going backwards
      
      it has been identified to cause suspend regression - and the
      commit fixes a longstanding bug that existed before 2.6.25 was
      opened - so it can wait some more until the effects are better
      understood.
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      5b13d863
  2. 07 4月, 2008 14 次提交
  3. 06 4月, 2008 1 次提交
  4. 05 4月, 2008 19 次提交