summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreqLinus Torvalds2008-02-0711-67/+97
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq: [CPUFREQ] Add missing printk levels to e_powersaver [CPUFREQ] Fix sparse warning in powernow-k8 [CPUFREQ] Support Model D parts and newer in e_powersaver [CPUFREQ] Powernow-k8: Update to support the latest Turion processors [CPUFREQ] fix configuration help message [CPUFREQ] powernow-k8 print pstate instead of fid/did for family 10h [CPUFREQ] Eliminate cpufreq_userspace scaling_setspeed deadlock [CPUFREQ] gx-suspmod.c: use boot_cpu_data instead of current_cpu_data [CPUFREQ] fix incorrect comment on show_available_freqs() in freq_table.c [CPUFREQ] drivers/cpufreq: Add missing "space" [CPUFREQ] arch/x86: Add missing "space" [CPUFREQ] Remove pointless Kconfig dependancy
| * [CPUFREQ] Add missing printk levels to e_powersaverDave Jones2008-02-061-12/+12
| | | | | | | | Signed-off-by: Dave Jones <davej@redhat.com>
| * [CPUFREQ] Fix sparse warning in powernow-k8Dave Jones2008-02-061-1/+3
| | | | | | | | | | | | | | arch/x86/kernel/cpu/cpufreq/powernow-k8.c:1238:9: warning: symbol '__ptr' shadows an earlier one arch/x86/kernel/cpu/cpufreq/powernow-k8.c:1238:9: originally declared here Signed-off-by: Dave Jones <davej@redhat.com>
| * [CPUFREQ] Support Model D parts and newer in e_powersaverJesse Ahrens2008-02-061-5/+32
| | | | | | | | | | | | | | | | Patch by VIA that updates e_powersaver.c to work with our model D parts and newer. From: Jesse Ahrens <jahrens@centtech.com> Signed-off-by: Dave Jones <davej@redhat.com>
| * [CPUFREQ] Powernow-k8: Update to support the latest Turion processorsMark Langsdorf2008-02-061-1/+1
| | | | | | | | | | | | | | | | The latest series of Turion X2 processors have a new XFAM model. Add support for them to powernow-k8.h. Signed-off-by: Mark Langsdorf <mark.langsdorf@amd.com> Signed-off-by: Dave Jones <davej@redhat.com>
| * [CPUFREQ] fix configuration help messageStefano Brivio2008-02-061-3/+0
| | | | | | | | | | | | | | | | cpufreq support can't be built as a module. Fix the related configuration help message. Signed-off-by: Stefano Brivio <stefano.brivio@polimi.it> Signed-off-by: Dave Jones <davej@redhat.com>
| * [CPUFREQ] powernow-k8 print pstate instead of fid/did for family 10hYinghai Lu2008-02-061-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | powernow-k8: Found 1 Quad-Core AMD Opteron(tm) Processor 8354 processors (4 cpu cores) (version 2.20.00) powernow-k8: 0 : fid 0x0 did 0x0 (2200 MHz) powernow-k8: 1 : fid 0x0 did 0x0 (2000 MHz) powernow-k8: 2 : fid 0x0 did 0x0 (1700 MHz) powernow-k8: 3 : fid 0x0 did 0x0 (1400 MHz) powernow-k8: 4 : fid 0x0 did 0x0 (1100 MHz) actually index for CPU_HW_PSTATE is pstate instead of fid/vid So print it out as pstate. powernow-k8: Found 1 Quad-Core AMD Opteron(tm) Processor 8354 processors (4 cpu cores) (version 2.20.00) powernow-k8: 0 : pstate 0 (2200 MHz) powernow-k8: 1 : pstate 1 (2000 MHz) powernow-k8: 2 : pstate 2 (1700 MHz) powernow-k8: 3 : pstate 3 (1400 MHz) powernow-k8: 4 : pstate 4 (1100 MHz) Signed-off-by: Yinghai Lu <yinghai.lu@sun.com> Cc: "Langsdorf, Mark" <mark.langsdorf@amd.com> Cc: "Herrmann3, Andreas" <Andreas.Herrmann3@amd.com> Signed-off-by: Dave Jones <davej@redhat.com>
| * [CPUFREQ] Eliminate cpufreq_userspace scaling_setspeed deadlockVenki Pallipadi2008-02-063-33/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Eliminate cpufreq_userspace scaling_setspeed deadlock. Luming Yu recently uncovered yet another cpufreq related deadlock. One thread that continuously switches the governors and the other thread that repeatedly cats the contents of cpufreq directory causes both these threads to go into a deadlock. Detailed examination of the deadlock showed the exact flow before the deadlock as: Thread 1 Thread 2 ________ ________ cats files under /sys/devices/.../cpufreq/ Set governor to userspace Adds a new sysfs entry for scaling_setspeed cats files under /sys/devices/.../cpufreq/ Set governor to performance Holds cpufreq_rw_sem in write mode Sends a STOP notify to userspace governor cat /sys/devices/.../cpufreq/scaling_setspeed Gets a handle on the above sysfs entry with sysfs_get_active Blocks while trying to get cpufreq_rw_sem in read mode Remove a sysfs entry for scaling_setspeed Blocks on sysfs_deactivate while waiting for earlier get_active (on other thread) to drain At this point both threads go into deadlock and any other thread that tries to do anything with sysfs cpufreq will also block. There seems to be no easy way to avoid this deadlock as long as cpufreq_userspace adds/removes the sysfs entry under same kobject as cpufreq. Below patch moves scaling_setspeed to cpufreq.c, keeping it always and calling back the governor on read/write. This is the cleanest fix I could think of, even though adding two callbacks in governor structure just for this seems unnecessary. Note that the change makes scaling_setspeed under /sys/.../cpufreq permanent and returns <unsupported> when governor is not userspace. Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com> Signed-off-by: Dave Jones <davej@redhat.com>
| * [CPUFREQ] gx-suspmod.c: use boot_cpu_data instead of current_cpu_dataDave Young2008-02-061-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | In preemptible kernel will report BUG: using smp_processor_id() in preemptible, so use boot_cpu_data instead of current_cpu_data. discussion in : http://lkml.org/lkml/2007/7/25/32 Signed-off-by: Dave Young <hidave.darkstar@gmail.com> CC: <stable@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Dave Jones <davej@redhat.com>
| * [CPUFREQ] fix incorrect comment on show_available_freqs() in freq_table.cFenghua Yu2008-02-061-1/+1
| | | | | | | | | | | | | | | | | | In freq_table.c, show_available_freqs()'s comment is oberviously wrong. Change the comment to a new one to avoid confusion. Signed-off-by: Fenghua Yu <fenghua.yu@intel.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Dave Jones <davej@redhat.com>
| * [CPUFREQ] drivers/cpufreq: Add missing "space"Joe Perches2008-02-061-3/+3
| | | | | | | | | | Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: Dave Jones <davej@redhat.com>
| * [CPUFREQ] arch/x86: Add missing "space"Joe Perches2008-02-061-1/+1
| | | | | | | | | | Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: Dave Jones <davej@redhat.com>
| * [CPUFREQ] Remove pointless Kconfig dependancyDave Jones2008-02-061-2/+2
| | | | | | | | | | | | X86_ELAN already depends on X86_32 Signed-off-by: Dave Jones <davej@redhat.com>
* | Merge branch 'for-2.6.25' of ↵Linus Torvalds2008-02-07102-969/+4173
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc * 'for-2.6.25' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: (69 commits) [POWERPC] Add SPE registers to core dumps [POWERPC] Use regset code for compat PTRACE_*REGS* calls [POWERPC] Use generic compat_sys_ptrace [POWERPC] Use generic compat_ptrace_request [POWERPC] Use generic ptrace peekdata/pokedata [POWERPC] Use regset code for PTRACE_*REGS* requests [POWERPC] Switch to generic compat_binfmt_elf code [POWERPC] Switch to using user_regset-based core dumps [POWERPC] Add user_regset compat support [POWERPC] Add user_regset_view definitions [POWERPC] Use user_regset accessors for GPRs [POWERPC] ptrace accessors for special regs MSR and TRAP [POWERPC] Use user_regset accessors for SPE regs [POWERPC] Use user_regset accessors for altivec regs [POWERPC] Use user_regset accessors for FP regs [POWERPC] mpc52xx: fix compile error introduce when rebasing patch [POWERPC] 4xx: PCIe indirect DCR spinlock fix. [POWERPC] Add missing native dcr dcr_ind_lock spinlock [POWERPC] 4xx: Fix offset value on Warp board [POWERPC] 4xx: Add 440EPx Sequoia ehci dts entry ...
| * | [POWERPC] Add SPE registers to core dumpsRoland McGrath2008-02-072-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes the SPE register data appear in ELF core dumps, using the new n_type value NT_PPC_SPE (0x101). This new note type is not used by any consumers of core files yet, but support can be added. I don't even have any hardware with SPE capabilities, so I've never seen such a note. But this demonstrates how simple it is to export register information in core dumps when the user_regset style is used for the low-level code. Signed-off-by: Roland McGrath <roland@redhat.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * | [POWERPC] Use regset code for compat PTRACE_*REGS* callsRoland McGrath2008-02-071-71/+25
| | | | | | | | | | | | | | | | | | | | | | | | This cleans up the 32-bit ptrace syscall support to use user_regset calls to get at the register data for PTRACE_*REGS* calls. Signed-off-by: Roland McGrath <roland@redhat.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * | [POWERPC] Use generic compat_sys_ptraceRoland McGrath2008-02-072-28/+7
| | | | | | | | | | | | | | | | | | | | | | | | This replaces powerpc's compat_sys_ptrace with a compat_arch_ptrace and enables the new generic definition of compat_sys_ptrace instead. Signed-off-by: Roland McGrath <roland@redhat.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * | [POWERPC] Use generic compat_ptrace_requestRoland McGrath2008-02-071-32/+2
| | | | | | | | | | | | | | | | | | | | | | | | This removes some duplicated code by calling the new generic compat_ptrace_request from powerpc's compat_sys_ptrace. Signed-off-by: Roland McGrath <roland@redhat.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * | [POWERPC] Use generic ptrace peekdata/pokedataRoland McGrath2008-02-071-12/+0
| | | | | | | | | | | | | | | | | | | | | Now that ptrace_request handles these, we can drop some more boilerplate. Signed-off-by: Roland McGrath <roland@redhat.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * | [POWERPC] Use regset code for PTRACE_*REGS* requestsRoland McGrath2008-02-071-175/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This replaces all the code for powerpc PTRACE_*REGS* requests with simple calls to copy_regset_from_user and copy_regset_to_user. All the ptrace formats are either the whole corresponding user_regset format (core dump format) or a leading subset of it, so we can get rid of all the remaining embedded knowledge of both those layouts and of the internal data structures they correspond to. Only the user_regset accessors need to implement that. Signed-off-by: Roland McGrath <roland@redhat.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * | [POWERPC] Switch to generic compat_binfmt_elf codeRoland McGrath2008-02-074-70/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This switches the CONFIG_PPC64 support for 32-bit ELF to use the generic fs/compat_binfmt_elf.c implementation instead of our own binfmt_elf32.c. Since so much is the same between 32/64, there is only one macro we have to define to make the generic support work out of the box. Signed-off-by: Roland McGrath <roland@redhat.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * | [POWERPC] Switch to using user_regset-based core dumpsRoland McGrath2008-02-071-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This switches powerpc to using the user_regset-based code for ELF core dumps. The core dumps come out exactly the same either way, except that the NT_PPC_VMX note is now omitted for any thread that never touched its Altivec registers (thread_struct.vr_used). Signed-off-by: Roland McGrath <roland@redhat.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * | [POWERPC] Add user_regset compat supportRoland McGrath2008-02-071-0/+162
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This extends task_user_regset_view CONFIG_PPC64 with support for the 32-bit view of register state, compatible with what a CONFIG_PPC32 kernel provides. This will enable generic machine-independent code to access user-mode threads' registers for debugging and dumping. Signed-off-by: Roland McGrath <roland@redhat.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * | [POWERPC] Add user_regset_view definitionsRoland McGrath2008-02-072-0/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This provides the task_user_regset_view entry point and support for all the native-mode (64 on CONFIG_PPC64, 32 on CONFIG_PPC32) thread register state. This will enable generic machine-independent code to access user-mode threads' registers for debugging and dumping. Signed-off-by: Roland McGrath <roland@redhat.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * | [POWERPC] Use user_regset accessors for GPRsRoland McGrath2008-02-071-0/+91
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This implements user_regset-style accessors for the powerpc general registers. In the future these functions will be the only place that needs to understand the user_regset layout (core dump format) and how it maps to the internal representation of user thread state. Signed-off-by: Roland McGrath <roland@redhat.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * | [POWERPC] ptrace accessors for special regs MSR and TRAPRoland McGrath2008-02-071-15/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This isolates the ptrace code for the special-case registers msr and trap from the ptrace-layout dispatch code. This should inline away completely. It cleanly separates the low-level machine magic that has to be done for deep reasons, from the superficial details of the ptrace interface. Signed-off-by: Roland McGrath <roland@redhat.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * | [POWERPC] Use user_regset accessors for SPE regsRoland McGrath2008-02-071-33/+57
| | | | | | | | | | | | | | | | | | | | | | | | This implements user_regset-style accessors for the powerpc SPE data, and rewrites the existing ptrace code in terms of those calls. Signed-off-by: Roland McGrath <roland@redhat.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * | [POWERPC] Use user_regset accessors for altivec regsRoland McGrath2008-02-071-34/+78
| | | | | | | | | | | | | | | | | | | | | | | | This implements user_regset-style accessors for the powerpc Altivec data, and rewrites the existing ptrace code in terms of those calls. Signed-off-by: Roland McGrath <roland@redhat.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * | [POWERPC] Use user_regset accessors for FP regsRoland McGrath2008-02-071-6/+31
| | | | | | | | | | | | | | | | | | | | | | | | This implements user_regset-style accessors for the powerpc FPU data, and rewrites the existing ptrace code in terms of those calls. Signed-off-by: Roland McGrath <roland@redhat.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * | Merge branch 'for-2.6.25' of ↵Paul Mackerras2008-02-0720-64/+2102
| |\ \ | | | | | | | | | | | | master.kernel.org:/pub/scm/linux/kernel/git/jwboyer/powerpc-4xx
| | * \ Merge branch 'virtex-for-2.6.25' of ↵Josh Boyer2008-02-0614-43/+2031
| | |\ \ | | | | | | | | | | | | | | | git://git.secretlab.ca/git/linux-2.6-virtex into for-2.6.25
| | | * | [POWERPC] Xilinx: hwicap: update booting-without-of.txtStephen Neuendorffer2008-02-061-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The ICAP device in Xilinx FPGAs differs slightly between different FPGAs. The driver needs an additional attribute in the device tree to distinguish this. Signed-off-by: Stephen Neuendorffer <stephen.neuendorffer@xilinx.com> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
| | | * | [POWERPC] Xilinx: hwicap driverStephen Neuendorffer2008-02-069-0/+1995
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This includes code for new fifo-based xps_hwicap in addition to the older opb_hwicap, which has a significantly different interface. The common code between the two drivers is largely shared. Significant differences exists between this driver and what is supported in the EDK drivers. In particular, most of the architecture-specific code for reconfiguring individual FPGA resources has been removed. This functionality is likely better provided in a user-space support library. In addition, read and write access is supported. In addition, although the xps_hwicap cores support interrupt-driver mode, this driver only supports polled operation, in order to make the code simpler, and since the interrupt processing overhead is likely to slow down the throughput under Linux. Signed-off-by: Stephen Neuendorffer <stephen.neuendorffer@xilinx.com> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
| | | * | [POWERPC] Eliminate broken OF console initialization.Grant Likely2008-02-061-31/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Probing of the console at console_initcall time is broken. It tries to call memory allocation routines which aren't initialized yet. Problem solved by removing the early probe entirely. The console init is called again anyway after the uartlite device is initialized and the memory allocation routines can be called safely. Signed-off-by: Grant Likely <grant.likely@secretlab.ca> Acked-by: Peter Korsgaard <jacmet@sunsite.dk>
| | | * | [POWERPC] Xilinx: Update compatible to use values generated by BSP generator.Stephen Neuendorffer2008-02-064-11/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Mainly, this involves two changes: 1) xilinx->xlnx (recognized standard is to use the stock ticker) 2) In order to have the device tree focus on describing what the hardware is as exactly as possible, the compatible strings contain the full IP name and IP version. Signed-off-by: Stephen Neuendorffer <stephen.neuendorffer@xilinx.com> Acked-by: Peter Korsgaard <jacmet@sunsite.dk> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
| | | * | [POWERPC] Fix incorrectly tagged __devinitdata structuresGrant Likely2008-02-063-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix compile errors in the xilinxfb, xsysace and uartlite drivers used by the Xilinx Virtex platform Signed-off-by: Grant Likely <grant.likely@secretlab.ca> Acked-by: Peter Korsgaard <jacmet@sunsite.dk>
| | * | | [POWERPC] 4xx: PCIe indirect DCR spinlock fix.Valentine Barshak2008-02-061-18/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since we have mfdcri() and mtdcri() as macros, we can't use constructions, such as "mtdcri(base, reg, mfdcri(base, reg) | val)". In this case the mfdcri() stuff is not evaluated first. It's evaluated inside the mtdcri() macro and we have the dcr_ind_lock spinlock acquired twice. To avoid this error, I've added __mfdcri()/__mtdcri() inline functions that take the lock after register name fix-up. Signed-off-by: Valentine Barshak <vbarshak@ru.mvista.com> Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
| | * | | [POWERPC] Add missing native dcr dcr_ind_lock spinlockValentine Barshak2008-02-061-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The include/asm-powerpc/dcr-native.h declares extern spinlock_t dcr_ind_lock; but it's actually isn't defined. This patch adds a missing dcr_ind_lock. Signed-off-by: Valentine Barshak <vbarshak@ru.mvista.com> Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
| | * | | [POWERPC] 4xx: Fix offset value on Warp boardSean MacLennan2008-02-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | While merging, I found a small bug that I forgot to send. I add an offset to a value twice. Signed-off-by: Sean MacLennan <smaclennan@pikatech.com> Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
| | * | | [POWERPC] 4xx: Add 440EPx Sequoia ehci dts entryValentine Barshak2008-02-061-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds USB EHCI entry to PowerPC 440EPx Sequoia DTS. Signed-off-by: Valentine Barshak <vbarshak@ru.mvista.com> Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
| | * | | [POWERPC] 4xx: Add USB ehci-ppc-of dts bindings.Valentine Barshak2008-02-061-0/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds EHCI OF bindings to documentation. Signed-off-by: Valentine Barshak <vbarshak@ru.mvista.com> Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
| | * | | [POWERPC] 4xx: Fix Walnut buildJosh Boyer2008-02-062-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The addition of of_rtc for the Walnut board was only half complete. Select OF_RTC in the Kconfig and include the appropriate header to make it compile. Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
| * | | | [POWERPC] mpc52xx: fix compile error introduce when rebasing patchGrant Likely2008-02-061-25/+14
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When rebasing one of the mpc5200 psc UART patches I made a mistake and damaged the patch. This patch fixes the compile failure introduced in commit 25ae3a0739c69425a911925b43213895a9802b98 Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
| * | | [POWERPC] Update default irq servers when boot cpu is removedNathan Fontenot2008-02-071-32/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The xics code does update the default server information when the boot cpu is removed. This patch recognizes when the boot cpu is being removed and updates the appropriate information based on the new 'boot cpu'. Failure to update this information can causes us to leave irqs pinned to cpus that are being removed, especially when removing the boot cpu. The cpu is removed from the kernel, but cpu dlpar remove operations fail since we cannot return the cpu to the hypervisor. Signed-off-by: Nathan Fonteno <nfont@austin.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * | | [POWERPC] Remove redundant of_get_cpu_node routineNathan Fontenot2008-02-071-26/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It appears that xics.c has its own of_get_cpu_node(). Remove this and use the common one from prom.c. Signed-off-by: Nathan Fontenot <nfont@austin.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * | | [POWERPC] Split xics_teardown_cpu()Nathan Fontenot2008-02-074-7/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This splits off the kexec path bits of the xics_teardown_cpu() routine into its own xics_kexec_teardown_cpu() routine. With the previous combined routine the CPPR for a cpu that is being removed may have its CPPR reset in the plpar_eoi() call (which explicitly sets the CPPR to a non-zero value). Splitting of the kexec bits of the code prevents this from happening in the cpu remove path. Once again, this does not cause the cpu remove from the kernel to fail, but it does cause cpu dlpar operations to not be able to return the cpu to the hypervisor. Signed-off-by: Nathan Fontenot <nfont@austin.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * | | [POWERPC] Update irq descriptor affinityNathan Fontenot2008-02-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The affinity mask in the virq descriptor needs to be set before we reset the affinity for the virq. Without doing this the call to get the new irq server fails and we end up leaving the virq pinned to the cpu we are removing. This does not fail the cpu remove from the kernel, but it does prevent cpu dlpar remove operations from returning the cpu to the hypervisor. Signed-off-by: Nathan Fontenot <nfont@austin.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * | | [POWERPC] bootwrapper: Build multiple cuImagesGrant Likely2008-02-075-74/+103
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, the kernel uses CONFIG_DEVICE_TREE to wrap a kernel image with a fdt blob which means for any given configuration only one dts file can be selected and so support for only one board can be built This moves the selection of the default .dts file out of the kernel config and into the bootwrapper makefile. The makefile chooses which images to build based on the kernel config and the dts source file name is taken directly from the image name. For example "cuImage.ebony" will use "ebony.dts" as the device tree source file. In addition, this patch allows a specific image to be requested from the command line by adding "cuImage.%" and "treeImage.%" targets to the list of valid built targets in arch/powerpc/Makefile. This allows the default dts selection to be overridden. Another advantage to this change is it allows a single defconfig to be supplied for all boards using the same chip family and only differing in the device tree. Important note: This patch adds two new zImage targets; zImage.dtb.% and zImage.dtb.initrd.% for zImages with embedded dtb files. Currently there are 5 platforms which require this: ps3, ep405, mpc885ads, ep88xc, adder875-redboot and ep8248e. This patch *changes the zImage filenames* for those platforms. ie. 'zImage.ps3' is now 'zImage.dtb.ps3'. This new zImage.dtb targets were added so that the .dts file could be part of the dependancies list for building them. Signed-off-by: Grant Likely <grant.likely@secretlab.ca> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * | | [POWERPC] Fake NUMA emulation for PowerPCBalbir Singh2008-02-071-3/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Here's a dumb simple implementation of fake NUMA nodes for PowerPC. Fake NUMA nodes can be specified using the following command line option numa=fake=<node range> node range is of the format <range1>,<range2>,...<rangeN> Each of the rangeX parameters is passed using memparse(). I find the patch useful for fake NUMA emulation on my simple PowerPC machine. I've tested it on a numa box with the following arguments numa=fake=512M numa=fake=512M,768M numa=fake=256M,512M mem=512M numa=fake=1G mem=768M numa=fake= without any numa= argument The other side-effect introduced by this patch is that; in the case where we don't have NUMA information, we now set a node online after adding each LMB. This node could very well be node 0, but in the case that we enable fake NUMA nodes, when we cross node boundaries, we need to set the new node online. Signed-off-by: Balbir Singh <balbir@linux.vnet.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * | | [POWERPC] Fix compilation for CONFIG_DEBUGGER=n and CONFIG_KEXEC=yOlof Johansson2008-02-072-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Looks like "[POWERPC] kdump shutdown hook support" broke builds when CONFIG_DEBUGGER=n and CONFIG_KEXEC=y, such as in g5_defconfig: arch/powerpc/kernel/crash.c: In function 'default_machine_crash_shutdown': arch/powerpc/kernel/crash.c:388: error: '__debugger_fault_handler' undeclared (first use in this function) arch/powerpc/kernel/crash.c:388: error: (Each undeclared identifier is reported only once arch/powerpc/kernel/crash.c:388: error: for each function it appears in.) Move the debugger hooks to under CONFIG_DEBUGGER || CONFIG_KEXEC, since that's when the crash code is enabled. (I should have caught this with my build-script pre-merge, my bad. :( ) Signed-off-by: Olof Johansson <olof@lixom.net> Signed-off-by: Paul Mackerras <paulus@samba.org>
OpenPOWER on IntegriCloud