linux-2.6
19 years ago[PATCH] possible use-after-free of bio
Jens Axboe [Sat, 16 Apr 2005 22:25:40 +0000 (15:25 -0700)] 
[PATCH] possible use-after-free of bio

There is a possibility that a bio will be accessed after it has been freed
on SCSI.  It happens if you submit a bio with BIO_SYNC marked and the
auto-unplugging kicks the request_fn, SCSI re-enables interrupts in-between
so if the request completes between the add_request() in __make_request()
and the bio_sync() call, we could be looking at a dead bio.  It's a slim
race, but it has been triggered in the Real World.

So assign bio_sync() to a local variable instead.

Signed-off-by: Jens Axboe <axboe@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] uml: fix compilation for __CHOOSE_MODE addition
Paolo 'Blaisorblade' Giarrusso [Sat, 16 Apr 2005 22:25:39 +0000 (15:25 -0700)] 
[PATCH] uml: fix compilation for __CHOOSE_MODE addition

I had added the __CHOOSE_MODE syntax to fix some warnings with newer GCC's
in the uml-fix-cond-expr-as-lvalues-warning patch.

Here is the update from the version I sent to make it work also when only
one mode (TT or SKAS) is enabled.

Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] swsusp: SMP fix
Alexander Nyberg [Sat, 16 Apr 2005 22:25:39 +0000 (15:25 -0700)] 
[PATCH] swsusp: SMP fix

Fix some smp_processor_id-in-preemptible warnings

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] fix few remaining u32 vs. pm_message_t problems
Pavel Machek [Sat, 16 Apr 2005 22:25:38 +0000 (15:25 -0700)] 
[PATCH] fix few remaining u32 vs. pm_message_t problems

This fixes remaining u32 vs.  pm_message_t confusions in -rc2-mm3.  [There
are usb changes, too; they went to Greg on his request.]

Signed-off-by: Pavel Machek <pavel@suse.cz>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] fix u32 vs. pm_message_t in rest of the tree
Pavel Machek [Sat, 16 Apr 2005 22:25:37 +0000 (15:25 -0700)] 
[PATCH] fix u32 vs. pm_message_t in rest of the tree

This fixes u32 vs.  pm_message_t confusion in remaining places.  Fortunately
there's few of them.

Signed-off-by: Pavel Machek <pavel@suse.cz>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] fix u32 vs. pm_message_t in driver/video
Pavel Machek [Sat, 16 Apr 2005 22:25:36 +0000 (15:25 -0700)] 
[PATCH] fix u32 vs. pm_message_t in driver/video

This fixes u32 vs.  pm_message_t confusion in drivers/video.  Should change no
code.

Signed-off-by: Pavel Machek <pavel@suse.cz>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] fix u32 vs. pm_message_t in drivers/
Pavel Machek [Sat, 16 Apr 2005 22:25:35 +0000 (15:25 -0700)] 
[PATCH] fix u32 vs. pm_message_t in drivers/

-rc2-mm1 still contains few places where u32 and pm_message_t.  This fixes
drivers/serial [should change no code].

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] power/video.txt: update documentation with more systems
Pavel Machek [Sat, 16 Apr 2005 22:25:34 +0000 (15:25 -0700)] 
[PATCH] power/video.txt: update documentation with more systems

This updates video.txt documentation with information about few more
systems.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] u32 vs. pm_message_t in ppc and radeon
Pavel Machek [Sat, 16 Apr 2005 22:25:34 +0000 (15:25 -0700)] 
[PATCH] u32 vs. pm_message_t in ppc and radeon

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: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] fix u32 vs. pm_message_t in PCI, PCIE
Pavel Machek [Sat, 16 Apr 2005 22:25:33 +0000 (15:25 -0700)] 
[PATCH] fix u32 vs. pm_message_t in PCI, PCIE

This fixes drivers/pci (mostly pcie stuff).

Signed-off-by: Pavel Machek <pavel@suse.cz>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] fix u32 vs. pm_message_t in drivers/macintosh
Pavel Machek [Sat, 16 Apr 2005 22:25:32 +0000 (15:25 -0700)] 
[PATCH] fix u32 vs. pm_message_t in drivers/macintosh

I thought I'm done with fixing u32 vs.  pm_message_t ...  unfortunately that
turned out not to be the case as Russel King pointed out.  Here are fixes for
drivers/macintosh.

Signed-off-by: Pavel Machek <pavel@suse.cz>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Fix u32 vs. pm_message_t in x86-64
Pavel Machek [Sat, 16 Apr 2005 22:25:31 +0000 (15:25 -0700)] 
[PATCH] Fix u32 vs. pm_message_t in x86-64

I thought I'm done with fixing u32 vs.  pm_message_t ...  unfortunately that
turned out not to be the case...  Here are fixes x86-64.

Signed-off-by: Pavel Machek <pavel@suse.cz>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] fix pm_message_t vs. u32 in alsa
Pavel Machek [Sat, 16 Apr 2005 22:25:30 +0000 (15:25 -0700)] 
[PATCH] fix pm_message_t vs. u32 in alsa

I thought I'm done with fixing u32 vs.  pm_message_t ...  unfortunately that
turned out not to be the case as Russel King pointed out.  This fixes last few
bits in alsa.

Signed-off-by: Pavel Machek <pavel@suse.cz>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] fix u32 vs. pm_message_t in drivers/mmc,mtd,scsi
Pavel Machek [Sat, 16 Apr 2005 22:25:29 +0000 (15:25 -0700)] 
[PATCH] fix u32 vs. pm_message_t in drivers/mmc,mtd,scsi

This fixes u32 vs.  pm_message_t in drivers/mmc, drivers/mtd and
drivers/scsi.

Signed-off-by: Pavel Machek <pavel@suse.cz>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] fix u32 vs. pm_message_t in drivers/message
Pavel Machek [Sat, 16 Apr 2005 22:25:28 +0000 (15:25 -0700)] 
[PATCH] fix u32 vs. pm_message_t in drivers/message

This fixes u32 vs. pm_message_t in drivers/message.

Signed-off-by: Pavel Machek <pavel@suse.cz>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] fix u32 vs. pm_message_t in drivers/media
Pavel Machek [Sat, 16 Apr 2005 22:25:27 +0000 (15:25 -0700)] 
[PATCH] fix u32 vs. pm_message_t in drivers/media

Here are fixes for drivers/media.

Signed-off-by: Pavel Machek <pavel@suse.cz>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] fix u32 vs. pm_message_t in pcmcia
Pavel Machek [Sat, 16 Apr 2005 22:25:26 +0000 (15:25 -0700)] 
[PATCH] fix u32 vs. pm_message_t in pcmcia

This fixes u32 vs. pm_message_t in pcmcia.

Signed-off-by: Pavel Machek <pavel@suse.cz>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] u32 vs. pm_message_t fixes for drivers/net
Pavel Machek [Sat, 16 Apr 2005 22:25:25 +0000 (15:25 -0700)] 
[PATCH] u32 vs. pm_message_t fixes for drivers/net

This fixes remaining u32s in drivers/ net.

Signed-off-by: Pavel Machek <pavel@suse.cz>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Fix u32 vs. pm_message_t in drivers/char
Pavel Machek [Sat, 16 Apr 2005 22:25:24 +0000 (15:25 -0700)] 
[PATCH] Fix u32 vs. pm_message_t in drivers/char

Here are fixes for drivers/char.

Signed-off-by: Pavel Machek <pavel@suse.cz>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] pm_message_t: more fixes in common and i386
Pavel Machek [Sat, 16 Apr 2005 22:25:24 +0000 (15:25 -0700)] 
[PATCH] pm_message_t: more fixes in common and i386

I thought I'm done with fixing u32 vs.  pm_message_t ...  unfortunately
that turned out not to be the case as Russel King pointed out.  Here are
fixes for Documentation and common code (mainly system devices).

Signed-off-by: Pavel Machek <pavel@suse.cz>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] h8300 header update
Yoshinori Sato [Sat, 16 Apr 2005 22:25:21 +0000 (15:25 -0700)] 
[PATCH] h8300 header update

- page.h: fix build error
- unistd.h: _syscall macro cleanup.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] x86, x86_64: dual core proc-cpuinfo and sibling-map fix
Siddha, Suresh B [Sat, 16 Apr 2005 22:25:20 +0000 (15:25 -0700)] 
[PATCH] x86, x86_64: dual core proc-cpuinfo and sibling-map fix

- broken sibling_map setup in x86_64

- grouping all the core and HT related cpuinfo fields.
  We are reasonably sure that adding new cpuinfo fields after "siblings" field,
  will not cause any app failure. Thats because today's /proc/cpuinfo
  format is completely different on x86, x86_64 and we haven't heard of any
  x86 app breakage because of this issue. Grouping these fields will
  result in more or less common format on all architectures (ia64, x86 and
  x86_64) and will cause less confusion.

Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] x86_64: Switch SMP bootup over to new CPU hotplug state machine
Andi Kleen [Sat, 16 Apr 2005 22:25:19 +0000 (15:25 -0700)] 
[PATCH] x86_64: Switch SMP bootup over to new CPU hotplug state machine

This will allow hotplug CPU in the future and in general cleans up a lot of
crufty code.  It also should plug some races that the old hackish way
introduces.  Remove one old race workaround in NMI watchdog setup that is not
needed anymore.

I removed the old total sum of bogomips reporting code.  The brag value of
BogoMips has been greatly devalued in the last years on the open market.

Real CPU hotplug will need some more work, but the infrastructure for it is
there now.

One drawback: the new TSC sync algorithm is less accurate than before.  The
old way of zeroing TSCs is too intrusive to do later.  Instead the TSC of the
BP is duplicated now, which is less accurate.

akpm:

- sync_tsc_bp_init seems to have the sense of `init' inverted.

- SPIN_LOCK_UNLOCKED is deprecated - use DEFINE_SPINLOCK.

Cc: <rusty@rustcorp.com.au>
Cc: <mingo@elte.hu>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] x86_64: Rename the extended cpuid level field
Andi Kleen [Sat, 16 Apr 2005 22:25:18 +0000 (15:25 -0700)] 
[PATCH] x86_64: Rename the extended cpuid level field

It was confusingly named.

Signed-off-by: Andi Kleen <ak@suse.de>
DESC
x86_64: Switch SMP bootup over to new CPU hotplug state machine
EDESC
From: "Andi Kleen" <ak@suse.de>

This will allow hotplug CPU in the future and in general cleans up a lot of
crufty code.  It also should plug some races that the old hackish way
introduces.  Remove one old race workaround in NMI watchdog setup that is not
needed anymore.

I removed the old total sum of bogomips reporting code.  The brag value of
BogoMips has been greatly devalued in the last years on the open market.

Real CPU hotplug will need some more work, but the infrastructure for it is
there now.

One drawback: the new TSC sync algorithm is less accurate than before.  The
old way of zeroing TSCs is too intrusive to do later.  Instead the TSC of the
BP is duplicated now, which is less accurate.

Cc: <rusty@rustcorp.com.au>
Cc: <mingo@elte.hu>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] x86_64: Add acpi_skip_timer_override option
Andi Kleen [Sat, 16 Apr 2005 22:25:17 +0000 (15:25 -0700)] 
[PATCH] x86_64: Add acpi_skip_timer_override option

Add acpi_skip_timer_override option.  It was missing previously.

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] x86_64: Rewrite exception stack backtracing
Andi Kleen [Sat, 16 Apr 2005 22:25:17 +0000 (15:25 -0700)] 
[PATCH] x86_64: Rewrite exception stack backtracing

Exceptions and hardware interrupts can, to a certain degree, nest, so when
attempting to follow the sequence of stacks used in order to dump their
contents this has to be accounted for.  Also, IST stacks have their tops
stored in the TSS, so there's no need to add the stack size to get to their
ends.

Minor changes from AK.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] x86_64: Final support for AMD dual core
Andi Kleen [Sat, 16 Apr 2005 22:25:16 +0000 (15:25 -0700)] 
[PATCH] x86_64: Final support for AMD dual core

Clean up the code greatly.  Now uses the infrastructure from the Intel dual
core patch Should fix a final bug noticed by Tyan of not detecting the nodes
correctly in some corner cases.

Patch for x86-64 and i386

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] x86_64: add support for Intel dual-core detection and displaying
Andi Kleen [Sat, 16 Apr 2005 22:25:15 +0000 (15:25 -0700)] 
[PATCH] x86_64: add support for Intel dual-core detection and displaying

Appended patch adds the support for Intel dual-core detection and displaying
the core related information in /proc/cpuinfo.

It adds two new fields "core id" and "cpu cores" to x86 /proc/cpuinfo and the
"core id" field for x86_64("cpu cores" field is already present in x86_64).

Number of processor cores in a die is detected using cpuid(4) and this is
documented in IA-32 Intel Architecture Software Developer's Manual (vol 2a)
(http://developer.intel.com/design/pentium4/manuals/index_new.htm#sdm_vol2a)

This patch also adds cpu_core_map similar to cpu_sibling_map.

Slightly hacked by AK.

Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] x86_64: Remove duplicated syscall entry.
Andi Kleen [Sat, 16 Apr 2005 22:25:14 +0000 (15:25 -0700)] 
[PATCH] x86_64: Remove duplicated syscall entry.

Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] x86_64: Keep only a single debug notifier chain
Andi Kleen [Sat, 16 Apr 2005 22:25:13 +0000 (15:25 -0700)] 
[PATCH] x86_64: Keep only a single debug notifier chain

Calling a notifier three times in the debug handler does not make much sense,
because a debugger can figure out the various conditions by itself.  Remove
the additional calls to DIE_DEBUG and DIE_DEBUGSTEP completely.

This matches what i386 does now.

This also makes sure interrupts are always still disabled when calling a
debugger, which prevents:

BUG: using smp_processor_id() in preemptible [00000001] code: tpopf/1470
caller is post_kprobe_handler+0x9/0x70

Call Trace:<ffffffff8024f10f>{smp_processor_id+191} <ffffffff80120e69>{post_kpro
be_handler+9}
<ffffffff80120f7a>{kprobe_exceptions_notify+58}
<ffffffff80144fc0>{notifier_call_chain+32} <ffffffff80110daf>{do_debug+335}
<ffffffff8010f513>{debug+127}  <EOE>

on preemptible debug kernels with kprobes when single stepping in user space.

This was probably a bug even on non preempt kernels, this function was
supposed to be running with interrupts off according to a comment there.

Note to third part debugger maintainers: please double check your debugger can
still single step.

Cc: <prasanna@in.ibm.com>
Cc: <jbeulich@novell.com>
Cc: <kaos@sgi.com>
Cc: <jim.houston@ccur.com>
Cc: <jfv@bluesong.net>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] x86_64: Use the e820 hole to map the IOMMU/AGP aperture
Andi Kleen [Sat, 16 Apr 2005 22:25:13 +0000 (15:25 -0700)] 
[PATCH] x86_64: Use the e820 hole to map the IOMMU/AGP aperture

This might save memory on some Opteron systems without AGP bridge.

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] x86_64: Port over e820 gap detection from i386
Andi Kleen [Sat, 16 Apr 2005 22:25:12 +0000 (15:25 -0700)] 
[PATCH] x86_64: Port over e820 gap detection from i386

Look for gaps in the e820 memory map to put PCI resources in.

This hopefully fixes problems with the PCI code assigning 32bit BARs MMIO
resources which are >32bit.

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] x86_64-always-use-cpuid-80000008-to-figure-out-mtrr fix
Siddha, Suresh B [Sat, 16 Apr 2005 22:25:11 +0000 (15:25 -0700)] 
[PATCH] x86_64-always-use-cpuid-80000008-to-figure-out-mtrr fix

We need to use the size_and_mask in set_mtrr_var_ranges(which is called
while programming MTRR's for AP's

Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] x86_64: Always use CPUID 80000008 to figure out MTRR address space size
Andi Kleen [Sat, 16 Apr 2005 22:25:10 +0000 (15:25 -0700)] 
[PATCH] x86_64: Always use CPUID 80000008 to figure out MTRR address space size

It doesn't make sense to only do this only for AMD K8.

This would support future CPUs with extended address spaces properly.

For i386 and x86-64

Cc: <davej@redhat.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] x86_64: Remove excessive stack allocation in MCE code with large NR_CPUS
Andi Kleen [Sat, 16 Apr 2005 22:25:10 +0000 (15:25 -0700)] 
[PATCH] x86_64: Remove excessive stack allocation in MCE code with large NR_CPUS

Remove excessive stack allocation in MCE code with large NR_CPUS

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] x86_64: Use the extended RIP MSR for machine check reporting if available.
Andi Kleen [Sat, 16 Apr 2005 22:25:09 +0000 (15:25 -0700)] 
[PATCH] x86_64: Use the extended RIP MSR for machine check reporting if available.

They are rumoured to be much more reliable than the RIP in the stack frame on
P4s.

This is a borderline case because the code is very simple.  Please note there
are no plans to add support for all the MCE register MSRs.

Cc: <venkatesh.pallipadi@intel.com>
Cc: <racing.guo@intel.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] x86_64: Correct wrong comment in local.h
Andi Kleen [Sat, 16 Apr 2005 22:25:08 +0000 (15:25 -0700)] 
[PATCH] x86_64: Correct wrong comment in local.h

local_t is actually a win over atomic_t because it does not need lock
prefixes.

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] x86_64: Don't assume future AMD CPUs have K8 compatible performance counters
Andi Kleen [Sat, 16 Apr 2005 22:25:07 +0000 (15:25 -0700)] 
[PATCH] x86_64: Don't assume future AMD CPUs have K8 compatible performance counters

The NMI watchdog code did this incorrectly

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] x86_64: Make kernel math errors a die() now
Andi Kleen [Sat, 16 Apr 2005 22:25:06 +0000 (15:25 -0700)] 
[PATCH] x86_64: Make kernel math errors a die() now

There were no reports about the previous warning for FPU exceptions in the
kernel, so make it a die() now.

Also improve the error messages slightly.

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] x86_64: Support constantly ticking TSCs
Andi Kleen [Sat, 16 Apr 2005 22:25:05 +0000 (15:25 -0700)] 
[PATCH] x86_64: Support constantly ticking TSCs

On Intel Noconas the TSC ticks with a constant frequency.  Don't scale the
factor used by udelay when cpufreq changes the frequency.

This generalizes an earlier patch by Intel for this.

Cc: <venkatesh.pallipadi@intel.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] x86_64: Remove unused macro in preempt support
Andi Kleen [Sat, 16 Apr 2005 22:25:05 +0000 (15:25 -0700)] 
[PATCH] x86_64: Remove unused macro in preempt support

Remove unused macro in preempt support

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] x86_64: Fix a small missing schedule race
Andi Kleen [Sat, 16 Apr 2005 22:25:04 +0000 (15:25 -0700)] 
[PATCH] x86_64: Fix a small missing schedule race

Could lead to a lost reschedule event when the process already rescheduled on
exception exit, and needs it again while still being in the kernel.  Unlikely
case though.

Also remove one redundant cli in another entry.S path.

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] x86_64: Regularize exception stack handling
Andi Kleen [Sat, 16 Apr 2005 22:25:03 +0000 (15:25 -0700)] 
[PATCH] x86_64: Regularize exception stack handling

This fixes various issues in the return path for "paranoid"
handlers (= running on a private exception stack that act like NMIs).

Generalize previous hack to switch back to process stack for
scheduling/signal handling purposes.

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] x86_64: Call do_notify_resume unconditionally in entry.S
Andi Kleen [Sat, 16 Apr 2005 22:25:02 +0000 (15:25 -0700)] 
[PATCH] x86_64: Call do_notify_resume unconditionally in entry.S

This removes some unnecessary code in the assembly files.

Matches i386 behaviour.

In addition don't clear the work check mask after work has been done.
This fixes some theoretical signal/other event losses.

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] x86_64: Minor microoptimization in syscall entry slow path
Andi Kleen [Sat, 16 Apr 2005 22:25:01 +0000 (15:25 -0700)] 
[PATCH] x86_64: Minor microoptimization in syscall entry slow path

Minor microoptimization in syscall entry slow path

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] x86_64: Fix interaction of single stepping with debuggers
Andi Kleen [Sat, 16 Apr 2005 22:25:00 +0000 (15:25 -0700)] 
[PATCH] x86_64: Fix interaction of single stepping with debuggers

Ported from i386/Linus

Fix another TF corner case.  Need to do the special TF handling for all
signals to make debuggers happy

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] x86_64: Dump stack and prevent recursion on early fault
Andi Kleen [Sat, 16 Apr 2005 22:25:00 +0000 (15:25 -0700)] 
[PATCH] x86_64: Dump stack and prevent recursion on early fault

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] x86_64: Use a common function to find code segment bases
Andi Kleen [Sat, 16 Apr 2005 22:24:59 +0000 (15:24 -0700)] 
[PATCH] x86_64: Use a common function to find code segment bases

To avoid some code duplication.

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] x86_64: Handle programs that set TF in user space using popf while single...
Andi Kleen [Sat, 16 Apr 2005 22:24:58 +0000 (15:24 -0700)] 
[PATCH] x86_64: Handle programs that set TF in user space using popf while single stepping

Ported from i386/Linus

Still won't handle other TF changing instructions like IRET or LAHF.

Prefix handling must be double checked...

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] x86_64: Some fixes for single step handling
Andi Kleen [Sat, 16 Apr 2005 22:24:57 +0000 (15:24 -0700)] 
[PATCH] x86_64: Some fixes for single step handling

Ported from i386/Linus

Be more careful with TF handling to fix some copy protection codes in Wine

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] x86_64: clean up ptrace single-stepping
Andi Kleen [Sat, 16 Apr 2005 22:24:56 +0000 (15:24 -0700)] 
[PATCH] x86_64: clean up ptrace single-stepping

Ported from i386 (originally from Linus)

clean up ptrace single-stepping, make PT_DTRACE exact.

  (This makes the naming of "DTRACE" purely historical, since
  on x86 it now means "single step in progress").

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] x86_64: Make IRDA devices are not really ISA devices not depend on CONFIG_ISA
Andi Kleen [Sat, 16 Apr 2005 22:24:56 +0000 (15:24 -0700)] 
[PATCH] x86_64: Make IRDA devices are not really ISA devices not depend on CONFIG_ISA

This allows to use them on x86-64

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] x86_64: Use a VMA for the 32bit vsyscall
Andi Kleen [Sat, 16 Apr 2005 22:24:55 +0000 (15:24 -0700)] 
[PATCH] x86_64: Use a VMA for the 32bit vsyscall

Use a real VMA to map the 32bit vsyscall page

This interacts better with Hugh's upcomming VMA walk optimization
Also removes some ugly special cases.

Code roughly modelled after the ppc64 vdso version from Ben Herrenschmidt.

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] x86_64 show_stack(): call touch_nmi_watchdog
akpm@osdl.org [Sat, 16 Apr 2005 22:24:54 +0000 (15:24 -0700)] 
[PATCH] x86_64 show_stack(): call touch_nmi_watchdog

I had strange NMI watchdog timeouts running sysrq-T across 9600-baud serial.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] x86_64 genapic update
Jason Davis [Sat, 16 Apr 2005 22:24:53 +0000 (15:24 -0700)] 
[PATCH] x86_64 genapic update

x86_64 genapic mechanism should be aware of machines that use physical APIC
mode regardless of how many clusters/processors are detected.

ACPI 3.0 FADT makes this determination very simple by providing a feature
flag "force_apic_physical_destination_mode" to state whether the machine
unconditionally uses physical APIC mode.

Unisys' next generation x86_64 ES7000 will need to utilize this FADT
feature flag in order to boot the x86_64 kernel in the correct APIC mode.
This patch has been tested on both x86_64 commodity and ES7000 boxes.

Signed-off-by: Jason Davis <jason.davis@unisys.com>
Acked-by: Andi Kleen <ak@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] x86_64: disable interrupts during SMP bogomips checking
Andi Kleen [Sat, 16 Apr 2005 22:24:52 +0000 (15:24 -0700)] 
[PATCH] x86_64: disable interrupts during SMP bogomips checking

Port over a i386 kludge from rusty to x86-64

I don't think it is a full solution, but the upcomming smp bootup rewrite
will solve it.

This fixes BUGs at bootup on bigger x86-64 systems.

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] x86-64: Fix BUG()
Andi Kleen [Sat, 16 Apr 2005 22:24:51 +0000 (15:24 -0700)] 
[PATCH] x86-64: Fix BUG()

Use the correct file name in BUG()

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] x86-64/i386: Revert cpuinfo siblings behaviour back to 2.6.10
Andi Kleen [Sat, 16 Apr 2005 22:24:51 +0000 (15:24 -0700)] 
[PATCH] x86-64/i386: Revert cpuinfo siblings behaviour back to 2.6.10

Only display physical id/siblings when there are siblings or dual core.

In 2.6.11 I accidentially broke it and it was always displaying these
fields But for compatibility to all these /proc parsers around it is better
to do it in the old way again.

Noticed by Suresh Siddha

Cc: <Suresh.b.siddha@intel.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] x86-64: i386 vDSO: add PT_NOTE segment
Roland McGrath [Sat, 16 Apr 2005 22:24:50 +0000 (15:24 -0700)] 
[PATCH] x86-64: i386 vDSO: add PT_NOTE segment

Use the i386 PT_NOTE segment in x86_64 as well.

Signed-off-by: Roland McGrath <roland@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] i386 vDSO: add PT_NOTE segment
Roland McGrath [Sat, 16 Apr 2005 22:24:48 +0000 (15:24 -0700)] 
[PATCH] i386 vDSO: add PT_NOTE segment

This patch adds an ELF note to the vDSO giving the LINUX_VERSION_CODE
value.  Having this in the vDSO lets the dynamic linker avoid the `uname'
syscall it now always does at startup to ascertain the kernel ABI
available.

Signed-off-by: Roland McGrath <roland@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] i386: Use loaddebug macro consistently
Roland McGrath [Sat, 16 Apr 2005 22:24:46 +0000 (15:24 -0700)] 
[PATCH] i386: Use loaddebug macro consistently

This moves the macro loaddebug from asm-i386/suspend.h to
asm-i386/processor.h, which is the place that makes sense for it to be
defined, removes the extra copy of the same macro in
arch/i386/kernel/process.c, and makes arch/i386/kernel/signal.c use the
macro in place of its expansion.

This is a purely cosmetic cleanup for the normal i386 kernel.  However, it
is handy for Xen to be able to just redefine the loaddebug macro once
instead of also changing the signal.c code.

Signed-off-by: Roland McGrath <roland@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] i2c-i801: I2C patch for Intel ESB2
Jason Gaston [Sat, 16 Apr 2005 22:24:45 +0000 (15:24 -0700)] 
[PATCH] i2c-i801: I2C patch for Intel ESB2

This patch adds the Intel ESB2 DID's to the i2c-i801.c and Kconfig files for
I2C support.

Signed-off-by:  Jason Gaston <Jason.d.gaston@intel.com>
Cc: Greg KH <greg@kroah.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ahci: AHCI mode SATA patch for Intel ESB2
Jason Gaston [Sat, 16 Apr 2005 22:24:45 +0000 (15:24 -0700)] 
[PATCH] ahci: AHCI mode SATA patch for Intel ESB2

This patch adds the Intel ESB2 DID's to the ahci.c file for AHCI mode SATA
support.

Signed-off-by: Jason Gaston <Jason.d.gaston@intel.com>
Cc: <linux-scsi@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ata_piix: IDE mode SATA patch for Intel ESB2
Jason Gaston [Sat, 16 Apr 2005 22:24:44 +0000 (15:24 -0700)] 
[PATCH] ata_piix: IDE mode SATA patch for Intel ESB2

This patch adds the Intel ESB2 DID's to the ata_piix.c and quirks.c file for
IDE mode SATA support.

Signed-off-by: Jason Gaston <Jason.d.gaston@intel.com>
Cc: Jeff Garzik <jgarzik@pobox.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] intel8x0: AC'97 audio patch for Intel ESB2
Jason Gaston [Sat, 16 Apr 2005 22:24:43 +0000 (15:24 -0700)] 
[PATCH] intel8x0: AC'97 audio patch for Intel ESB2

This patch adds the Intel ESB2 DID's to the intel8x0.c file for AC'97 audio
support.

Signed-off-by:  Jason Gaston <Jason.d.gaston@intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] piix: IDE PATA patch for Intel ESB2
Jason Gaston [Sat, 16 Apr 2005 22:24:42 +0000 (15:24 -0700)] 
[PATCH] piix: IDE PATA patch for Intel ESB2

This patch adds the Intel ESB2 DID's to the piix.c file for IDE PATA support.

Signed-off-by: Jason Gaston <Jason.d.gaston@intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] irq and pci_ids: patch for Intel ESB2
Jason Gaston [Sat, 16 Apr 2005 22:24:41 +0000 (15:24 -0700)] 
[PATCH] irq and pci_ids: patch for Intel ESB2

This patch adds the Intel ESB2 DID's to the irq.c and pci_ids.h files.

Signed-off-by: Jason Gaston <Jason.d.gaston@intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] mips: remove #include <linux/audit.h> two times
Yoichi Yuasa [Sat, 16 Apr 2005 22:24:41 +0000 (15:24 -0700)] 
[PATCH] mips: remove #include <linux/audit.h> two times

This patch removes #include <linux/audit.h>.  Because it includes it two
times.

Signed-off-by: Yoichi Yuasa <yuasa@hh.iij4u.or.jp>
Cc: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] mips: update VR41xx CPU-PCI bridge support
Yoichi Yuasa [Sat, 16 Apr 2005 22:24:40 +0000 (15:24 -0700)] 
[PATCH] mips: update VR41xx CPU-PCI bridge support

This patch updates NEC VR4100 series CPU-PCI bridge support.

Signed-off-by: Yoichi Yuasa <yuasa@hh.iij4u.or.jp>
Cc: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] mips: remove obsolete VR41xx RTC function from vr41xx.h
Yoichi Yuasa [Sat, 16 Apr 2005 22:24:39 +0000 (15:24 -0700)] 
[PATCH] mips: remove obsolete VR41xx RTC function from vr41xx.h

This patch had removed obsolete VR41xx RTC function from vr41xx.h .  I
forgot to put this change in "update VR41xx RTC support".

Signed-off-by: Yoichi Yuasa <yuasa@hh.iij4u.or.jp>
Cc: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc64: no prefetch for NULL pointers
Olof Johansson [Sat, 16 Apr 2005 22:24:38 +0000 (15:24 -0700)] 
[PATCH] ppc64: no prefetch for NULL pointers

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: Olof Johansson <olof@austin.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc64: remove -fno-omit-frame-pointer
Anton Blanchard [Sat, 16 Apr 2005 22:24:37 +0000 (15:24 -0700)] 
[PATCH] ppc64: remove -fno-omit-frame-pointer

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: Anton Blanchard <anton@samba.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc64: remove bogus f50 hack in prom.c
Benjamin Herrenschmidt [Sat, 16 Apr 2005 22:24:37 +0000 (15:24 -0700)] 
[PATCH] ppc64: remove bogus f50 hack in prom.c

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: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc64: Detect altivec via firmware on unknown CPUs
Benjamin Herrenschmidt [Sat, 16 Apr 2005 22:24:36 +0000 (15:24 -0700)] 
[PATCH] ppc64: Detect altivec via firmware on unknown CPUs

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: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc64: Improve mapping of vDSO
Benjamin Herrenschmidt [Sat, 16 Apr 2005 22:24:35 +0000 (15:24 -0700)] 
[PATCH] ppc64: Improve mapping of vDSO

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: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc64: fix export of wrong symbol
Paul Mackerras [Sat, 16 Apr 2005 22:24:34 +0000 (15:24 -0700)] 
[PATCH] ppc64: fix export of wrong symbol

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: Paul Mackerras <paulus@samba.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc64: Fix semantics of __ioremap
Benjamin Herrenschmidt [Sat, 16 Apr 2005 22:24:33 +0000 (15:24 -0700)] 
[PATCH] ppc64: Fix semantics of __ioremap

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: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc64: very basic desktop g5 sound support
Benjamin Herrenschmidt [Sat, 16 Apr 2005 22:24:32 +0000 (15:24 -0700)] 
[PATCH] ppc64: very basic desktop g5 sound support

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: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] pmac: Improve sleep code of tumbler driver
Benjamin Herrenschmidt [Sat, 16 Apr 2005 22:24:32 +0000 (15:24 -0700)] 
[PATCH] pmac: Improve sleep code of tumbler driver

This patch improves the behaviour of the "tumbler/snapper" driver used on
newer PowerMacs during sleep.  It properly set the HW mutes to shut down
amplifiers and does an analog shutdown of the codec.  That might improve
power consumption during sleep on a number of machines.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] pmac: sound support for latest laptops
Benjamin Herrenschmidt [Sat, 16 Apr 2005 22:24:31 +0000 (15:24 -0700)] 
[PATCH] pmac: sound support for latest laptops

This patch hacks the current Alsa snd-powermac driver to add support for
recent machine models with the tas3004 chip, that is basically new laptop
models.  The Mac Mini is _NOT_ yet supported by this patch (soon soon ...).
 The G5s (iMac or Desktop) will need the rewritten sound driver on which
I'm working on (I _might_ get a hack for analog only on some G5s on the
current driver, but no promise).

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc32: MV643XX ethernet is an option for Pegasos
Benjamin Herrenschmidt [Sat, 16 Apr 2005 22:24:30 +0000 (15:24 -0700)] 
[PATCH] ppc32: MV643XX ethernet is an option for Pegasos

This patch allows Kconfig to build the MV643xx ethernet driver on Pegasos
(CONFIG_PPC_MULTIPLATFORM) and adds what I think is a missing fix from
Dale's batch, that is remove SA_INTERRUPT and add SA_SHIRQ in there as the
interrupt is shared if I understand things correctly.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Fabio Massimo Di Nitto <fabbione@ubuntu.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc32: fix compilation error in arch/ppc/syslib/open_pic_defs.h
Benoit Boissinot [Sat, 16 Apr 2005 22:24:29 +0000 (15:24 -0700)] 
[PATCH] ppc32: fix compilation error in arch/ppc/syslib/open_pic_defs.h

make defconfig give the following error on ppc (gcc-4):

arch/ppc/syslib/open_pic.c:36: error: static declaration of ‘OpenPIC’ follows non-static declaration
arch/ppc/syslib/open_pic_defs.h:175: error: previous declaration of ‘OpenPIC’ was here

Signed-Off-By: Benoit Boissinot <benoit.boissinot@ens-lyon.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc32: fix compilation error in include/asm/prom.h
Benoit Boissinot [Sat, 16 Apr 2005 22:24:28 +0000 (15:24 -0700)] 
[PATCH] ppc32: fix compilation error in include/asm/prom.h

make defconfig give the following error on ppc (gcc-4):

arch/ppc/syslib/prom_init.c:120: error: static declaration of ‘prom_display_paths’ follows non-static declaration
include/asm/prom.h:17: error: previous declaration of ‘prom_display_paths’ was here
arch/ppc/syslib/prom_init.c:122: error: static declaration of ‘prom_num_displays’ follows non-static declaration
include/asm/prom.h:18: error: previous declaration of ‘prom_num_displays’ was here

Signed-Off-By: Benoit Boissinot <benoit.boissinot@ens-lyon.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc32: fix compilation error in arch/ppc/kernel/time.c
Benoit Boissinot [Sat, 16 Apr 2005 22:24:28 +0000 (15:24 -0700)] 
[PATCH] ppc32: fix compilation error in arch/ppc/kernel/time.c

make defconfig give the following error on ppc (gcc-4):

arch/ppc/kernel/time.c:92: error: static declaration of ‘time_offset’
follows non-static declaration
include/linux/timex.h:236: error: previous declaration of ‘time_offset’
was here

The following patch solves it (time_offset is declared in timer.c).

Signed-Off-By: Benoit Boissinot <benoit.boissinot@ens-lyon.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc32: fix compilation error in include/asm-m68k/setup.h
Benoit Boissinot [Sat, 16 Apr 2005 22:24:27 +0000 (15:24 -0700)] 
[PATCH] ppc32: fix compilation error in include/asm-m68k/setup.h

make defconfig give the following error on ppc (gcc-4):

include/asm-m68k/setup.h:365: error: array type has incomplete element
type

Signed-Off-By: Benoit Boissinot <benoit.boissinot@ens-lyon.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc32: Make the Powerstack II Pro4000 boot again
Leigh Brown [Sat, 16 Apr 2005 22:24:26 +0000 (15:24 -0700)] 
[PATCH] ppc32: Make the Powerstack II Pro4000 boot again

This patch restores the original behaviour of prep_pcibios_fixup() to only
call prep_pib_init() on machines with an openpic.  This allows the
Powerstack II Pro4000 to boot again.

Signed-off-by: Leigh Brown <leigh@solinno.co.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc32: Fix building 32bit kernel for 64bit machines
Tom Rini [Sat, 16 Apr 2005 22:24:25 +0000 (15:24 -0700)] 
[PATCH] ppc32: Fix building 32bit kernel for 64bit machines

When building a ppc32 MULTIPLATFORM kernel for a 64bit pmac, we try and
build certain files or use certain functions that make no sense in that
context.  This catches the last of these.

Signed-off-by: Tom Rini <trini@kernel.crashing.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc32: Fix a problem with NTP on !(chrp||gemini)
Giovambattista Pulcini [Sat, 16 Apr 2005 22:24:24 +0000 (15:24 -0700)] 
[PATCH] ppc32: Fix a problem with NTP on !(chrp||gemini)

The following problem was found by Giovambattista Pulcini
<gpulcini@swintel.it>, who also provided a partial patch, and this has been
verified by our time guru Gabriel Paubert <paubert@iram.es>.

The problem is that in do_settimeofday() we always set time_state to
TIME_ERROR and except on two platforms, never re-set it.  This meant that
ntp_gettime() and ntp_adjtime() always returned TIME_ERROR, incorrectly.
Based on Gabriel's analysis, time_state is used for leap-second processing,
and ppc shouldn't be mucking with it.

Signed-off-by: Tom Rini <trini@kernel.crashing.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc32: Fix mpc8xx watchdog
Tom Rini [Sat, 16 Apr 2005 22:24:23 +0000 (15:24 -0700)] 
[PATCH] ppc32: Fix mpc8xx watchdog

The CONFIG_8xx_WDT option got broken in the generic hardirq update as ppc32
had its own different request_irq that worked when other arches used
setup_irq.  This is the trivial fix for the problem.

From: Carsten Juttner <carjay@gmx.net>
Signed-off-by: Tom Rini <trini@kernel.crashing.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc32: Support 36-bit physical addressing on e500
Kumar Gala [Sat, 16 Apr 2005 22:24:22 +0000 (15:24 -0700)] 
[PATCH] ppc32: Support 36-bit physical addressing on e500

To add support for 36-bit physical addressing on e500 the following changes
have been made.  The changes are generalized to support any physical address
size larger than 32-bits:

* Allow FSL Book-E parts to use a 64-bit PTE, it is 44-bits of pfn, 20-bits
  of flags.

* Introduced new CPU feature (CPU_FTR_BIG_PHYS) to allow runtime handling of
  updating hardware register (SPRN_MAS7) which holds the upper 32-bits of
  physical address that will be written into the TLB.  This is useful since
  not all e500 cores support 36-bit physical addressing.

* Currently have a pass through implementation of fixup_bigphys_addr

* Moved _PAGE_DIRTY in the 64-bit PTE case to free room for three additional
  storage attributes that may exist in future FSL Book-E cores and updated
  fault handler to copy these bits into the hardware TLBs.

Signed-off-by: Kumar Gala <kumar.gala@freescale.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc32: Allow adjust of pfn offset in pte
Kumar Gala [Sat, 16 Apr 2005 22:24:21 +0000 (15:24 -0700)] 
[PATCH] ppc32: Allow adjust of pfn offset in pte

Allow the pfn to be offset by more than just PAGE_SHIFT in the pte.  Today,
PAGE_SHIFT tends to allow us to have 12-bits of flags in the pte.  In the
future if we have a larger pte we can allocate more bits for flags by
offsetting the pfn even further.

Signed-off-by: Kumar Gala <kumar.gala@freescale.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc32: make usage of CONFIG_PTE_64BIT & CONFIG_PHYS_64BIT consistent
Kumar Gala [Sat, 16 Apr 2005 22:24:21 +0000 (15:24 -0700)] 
[PATCH] ppc32: make usage of CONFIG_PTE_64BIT & CONFIG_PHYS_64BIT consistent

CONFIG_PTE_64BIT & CONFIG_PHYS_64BIT are not currently consistently used in
the code base.  Fixed up the usage such that CONFIG_PTE_64BIT is used when we
have a 64-bit PTE regardless of physical address width.  CONFIG_PHYS_64BIT is
used if the physical address width is larger than 32-bits, regardless of PTE
size.

These changes required a few sub-arch specific ifdef's to be fixed and the
introduction of a physical address format string.

Signed-off-by: Kumar Gala <kumar.gala@freescale.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc32: Fix pte_update for 64-bit PTEs
Kumar Gala [Sat, 16 Apr 2005 22:24:20 +0000 (15:24 -0700)] 
[PATCH] ppc32: Fix pte_update for 64-bit PTEs

While the existing pte_update code handled atomically modifying a 64-bit PTE,
it did not return all 64-bits of the PTE before it was modified.  This causes
problems in some places that expect the full PTE to be returned, like
ptep_get_and_clear().

Created a new pte_update function that is conditional on CONFIG_PTE_64BIT.  It
atomically reads the low PTE word which all PTE flags are required to be in
and returns a premodified full 64-bit PTE.

Since we now have an explicit 64-bit PTE version of pte_update we can also
remove the hack that existed to get the low PTE word regardless of size.

Signed-off-by: Kumar Gala <kumar.gala@freescale.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc32: Fix AGP and sleep again
Benjamin Herrenschmidt [Sat, 16 Apr 2005 22:24:19 +0000 (15:24 -0700)] 
[PATCH] ppc32: Fix AGP and sleep again

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: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc32: Fix cpufreq problems
Benjamin Herrenschmidt [Sat, 16 Apr 2005 22:24:18 +0000 (15:24 -0700)] 
[PATCH] ppc32: Fix cpufreq problems

This patch updates the PowerMac cpufreq driver.  It depends on the addition
of the suspend() method (my previous patch) and on the new flag I defined
to silence some warnings that are normal for us.

It fixes various issues related to cpufreq on pmac, including some crashes
on some models when sleeping the machine while in low speed, proper voltage
control on some newer machines, and adds voltage control on 750FX based G3
laptops.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc32: fix single-stepping of emulated instructions
Paul Mackerras [Sat, 16 Apr 2005 22:24:17 +0000 (15:24 -0700)] 
[PATCH] ppc32: fix single-stepping of emulated instructions

On ppc, we emulate instructions that cause alignment exceptions.  If we are
single-stepping an instruction and it causes an alignment exception, we
will currently do the next instruction as well before taking the
single-step exception.  This patch fixes that, so we take the single-step
exception after emulating the instruction.

Signed-off-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc32: oops on kernel altivec assist exceptions
Paul Mackerras [Sat, 16 Apr 2005 22:24:17 +0000 (15:24 -0700)] 
[PATCH] ppc32: oops on kernel altivec assist exceptions

If we should happen to get an altivec assist exception while executing in
the kernel, we will currently try to handle it and fail, and end up oopsing
with (apparently) a segfault.  (An altivec assist exception occurs for
floating-point altivec instructions with denormalized inputs or outputs if
the altivec unit is in java mode.)

This patch checks explicitly if we are in user mode and prints a useful
message if not.

Signed-off-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc32: improve timebase sync for SMP
Paul Mackerras [Sat, 16 Apr 2005 22:24:16 +0000 (15:24 -0700)] 
[PATCH] ppc32: improve timebase sync for SMP

Currently the procedure in the ppc32 kernel that synchronizes the timebase
registers across an SMP powermac system does so by setting both timebases
to zero.  That is OK at boot but causes problems if done later.  So that we
can do hotplug CPU on these machines, this patch changes the code so it
reads the timebase from one CPU and transfers the value to the other CPU.
(Hotplug CPU is needed for sleep (aka suspend to RAM) to work.)

Signed-off-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc32: ppc4xx_pic - add acknowledge when enabling level-sensitive IRQ
Eugene Surovegin [Sat, 16 Apr 2005 22:24:15 +0000 (15:24 -0700)] 
[PATCH] ppc32: ppc4xx_pic - add acknowledge when enabling level-sensitive IRQ

This patch adds interrupt acknowledge to the PPC4xx PIC enable_irq
implementation for level-sensitive IRQ sources.  This helps in cases when
enable/disable_irq is used in interrupt handlers for hardware, which
requires IRQ acknowledge to be issued from non-interrupt context (e.g.
when actual ACK in device needs an I2C transaction).  For such strange
hardware, interrupt handler disables IRQ and defers actual ACK to some
other context.  When this happens, IRQ is enabled again.  For
level-sensitive sources we get spurious triggering right after IRQ is
enabled.  This patch fixes this.

Suggested by Tolunay Orkun <listmember@orkun.us>.

Signed-off-by: Eugene Surovegin <ebs@ebshome.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc32: fix bogosity in process-freezing code
Paul Mackerras [Sat, 16 Apr 2005 22:24:14 +0000 (15:24 -0700)] 
[PATCH] ppc32: fix bogosity in process-freezing code

The code that went into arch/ppc/kernel/signal.c recently to handle process
freezing seems to contain a dubious assumption: that a process that calls
do_signal when PF_FREEZE is set will have entered the kernel because of a
system call.  This patch removes that assumption.

Signed-off-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>