- Feb 14, 2010
-
-
Grant Likely authored
Neither request_OF_resource or release_OF_resource are defined anywhere. Remove the declarations. Signed-off-by:
Grant Likely <grant.likely@secretlab.ca> Acked-by:
Benjamin Herrenschmidt <benh@kernel.crashing.org> Acked-by:
Michal Simek <monstr@monstr.eu>
-
Grant Likely authored
Rather than defining of_chosen in each arch, it can be defined for all in driver/of/base.c Signed-off-by:
Grant Likely <grant.likely@secretlab.ca> Acked-by:
Benjamin Herrenschmidt <benh@kernel.crashing.org> Acked-by:
Michal Simek <monstr@monstr.eu>
-
Grant Likely authored
Neither the powerpc nor the microblaze code use devtree_lock anymore. Remove the extern reference. Signed-off-by:
Grant Likely <grant.likely@secretlab.ca> Acked-by:
Benjamin Herrenschmidt <benh@kernel.crashing.org> Acked-by:
Michal Simek <monstr@monstr.eu>
-
Grant Likely authored
Most architectures don't need to change these. Put them into common code to eliminate some duplication Signed-off-by:
Grant Likely <grant.likely@secretlab.ca> Acked-by:
Benjamin Herrenschmidt <benh@kernel.crashing.org> Acked-by:
Michal Simek <monstr@monstr.eu>
-
Jeremy Kerr authored
We don't always have lmb available, so make arches provide an early_init_dt_alloc_memory_arch() to handle the allocation of memory in the fdt code. When we don't have lmb.h included, we need asm/page.h for __va. Signed-off-by:
Jeremy Kerr <jeremy.kerr@canonical.com> Signed-off-by:
Grant Likely <grant.likely@secretlab.ca> Acked-by:
Benjamin Herrenschmidt <benh@kernel.crashing.org> Acked-by:
Michal Simek <monstr@monstr.eu>
-
- Feb 09, 2010
-
-
Jeremy Kerr authored
The boot_param_header has big-endian fields, so change the types to __be32, and perform endian conversion when we access them. Signed-off-by:
Jeremy Kerr <jeremy.kerr@canonical.com> Signed-off-by:
Grant Likely <grant.likely@secretlab.ca>
-
Jeremy Kerr authored
At present, the fdt code sets the kernel-wide initrd_start and initrd_end variables when parsing /chosen. On ARM, we only set these once the bootmem has been reserved. This change adds an arch hook to setup the initrd from the device tree: void early_init_dt_setup_initrd_arch(unsigned long start, unsigned long end); The arch-specific code can then setup the initrd however it likes. Compiled on powerpc, with CONFIG_BLK_DEV_INITRD=y and =n. Signed-off-by:
Jeremy Kerr <jeremy.kerr@canonical.com> Signed-off-by:
Grant Likely <grant.likely@secretlab.ca>
-
Grant Likely authored
Merge common code between PowerPC and Microblaze architectures. Signed-off-by:
Grant Likely <grant.likely@secretlab.ca> Acked-by:
Michal Simek <monstr@monstr.eu>
-
Grant Likely authored
machine is compatible is an OF-specific call. It should have the of_ prefix to protect the global namespace. Signed-off-by:
Grant Likely <grant.likely@secretlab.ca> Acked-by:
Michal Simek <monstr@monstr.eu>
-
Jeremy Kerr authored
Merge common function between powerpc, sparc and microblaze. Code is identical for powerpc and microblaze, but adds a lock (and release) of the devtree_lock on sparc. Signed-off-by:
Jeremy Kerr <jeremy.kerr@canonical.com> Signed-off-by:
Grant Likely <grant.likely@secretlab.ca>
-
Grant Likely authored
Merge common code between PowerPC and Microblaze Signed-off-by:
Grant Likely <grant.likely@secretlab.ca> Tested-by:
Wolfram Sang <w.sang@pengutronix.de> Acked-by:
Benjamin Herrenschmidt <benh@kernel.crashing.org>
-
- Jan 28, 2010
-
-
Grant Likely authored
In struct device_node, the phandle is named 'linux_phandle' for PowerPC and MicroBlaze, and 'node' for SPARC. There is no good reason for the difference, it is just an artifact of the code diverging over a couple of years. This patch renames both to simply .phandle. Note: the .node also existed in PowerPC/MicroBlaze, but the only user seems to be arch/powerpc/platforms/powermac/pfunc_core.c. It doesn't look like the assignment between .linux_phandle and .node is significantly different enough to warrant the separate code paths unless ibm,phandle properties actually appear in Apple device trees. I think it is safe to eliminate the old .node property and use phandle everywhere. Signed-off-by:
Grant Likely <grant.likely@secretlab.ca> Acked-by:
David S. Miller <davem@davemloft.net> Tested-by:
Wolfram Sang <w.sang@pengutronix.de> Acked-by:
Benjamin Herrenschmidt <benh@kernel.crashing.org>
-
Grant Likely authored
Merge common code between PowerPC and MicroBlaze Signed-off-by:
Grant Likely <grant.likely@secretlab.ca> Tested-by:
Wolfram Sang <w.sang@pengutronix.de> Acked-by:
Benjamin Herrenschmidt <benh@kernel.crashing.org>
-
Grant Likely authored
Merge common code between PowerPC and Microblaze Signed-off-by:
Grant Likely <grant.likely@secretlab.ca> Tested-by:
Wolfram Sang <w.sang@pengutronix.de> Acked-by:
Benjamin Herrenschmidt <benh@kernel.crashing.org>
-
- Jan 15, 2010
-
-
Nathan Fontenot authored
Move the defintion and lock helper routines for the cpu hotplug driver lock from pseries to powerpc code to avoid build breaks for platforms other than pseries that use cpu hotplug. Signed-off-by:
Nathan Fontenot <nfont@austin.ibm.com> Acked-by:
Michael Ellerman <michael@ellerman.id.au> Signed-off-by:
Benjamin Herrenschmidt <benh@kernel.crashing.org>
-
Nathan Fontenot authored
It looks like the previous patch sent out to move RTAS and other items from /proc/ppc64 to /proc/powerpc missed a few files needed for RAS and DLPAR functionality. Original Patch here: http://lists.ozlabs.org/pipermail/linuxppc-dev/2009-September/076096.html This patch updates the remaining files to be created under /proc/powerpc. Signed-off-by:
Nathan Fontenot <nfont@austin.ibm.com> Signed-off-by:
Benjamin Herrenschmidt <benh@kernel.crashing.org>
-
Joakim Tjernlund authored
The newly added fixup for buggy dcbX insn's has a bug that always trigger a kernel TLB walk so a user space dcbX insn will cause a Kernel Machine Check if it hits DTLB error. Signed-off-by:
Joakim Tjernlund <Joakim.Tjernlund@transmode.se> Signed-off-by:
Benjamin Herrenschmidt <benh@kernel.crashing.org>
-
Stefan Roese authored
We noticed that recent kernels didn't boot on our 1GHz Canyonlands 460EX boards anymore. As it seems, patch 8d165db1 [powerpc: Improve decrementer accuracy] introduced this problem. The routine div_sc() overflows with shift = 32 resulting in this incorrect setup: time_init: decrementer frequency = 1000.000012 MHz time_init: processor frequency = 1000.000012 MHz clocksource: timebase mult[400000] shift[22] registered clockevent: decrementer mult[33] shift[32] cpu[0] This patch now introduces a local div_dc64() version of this function so that this overflow doesn't happen anymore. Signed-off-by:
Stefan Roese <sr@denx.de> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Detlev Zundel <dzu@denx.de> Signed-off-by:
Benjamin Herrenschmidt <benh@kernel.crashing.org>
-
Michael Ellerman authored
get_viotape_info() declares a vio_waitevent on the stack, which contains a completion, but never initialises the completion. I have no idea how this ever worked, and on recent kernels it causes an oops in handle_tape_event() when we access the non-initialised completion. Signed-off-by:
Michael Ellerman <michael@ellerman.id.au> Acked-by:
Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by:
Benjamin Herrenschmidt <benh@kernel.crashing.org>
-
Jiri Slaby authored
Make sure compiler won't do weird things with limits. E.g. fetching them twice may return 2 different values after writable limits are implemented. I.e. either use rlimit helpers added in 3e10e716 or ACCESS_ONCE if not applicable. Signed-off-by:
Jiri Slaby <jslaby@suse.cz> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Paul Mackerras <paulus@samba.org> Cc: linuxppc-dev@ozlabs.org Signed-off-by:
Benjamin Herrenschmidt <benh@kernel.crashing.org>
-
Anton Blanchard authored
pcibus_to_node can return -1 if we cannot determine which node a pci bus is on. If passed -1, cpumask_of_node will negatively index the lookup array and pull in random data: # cat /sys/devices/pci0000:00/0000:00:01.0/local_cpus 00000000,00000003,00000000,00000000 # cat /sys/devices/pci0000:00/0000:00:01.0/local_cpulist 64-65 Change cpumask_of_node to check for -1 and return cpu_all_mask in this case: # cat /sys/devices/pci0000:00/0000:00:01.0/local_cpus ffffffff,ffffffff,ffffffff,ffffffff # cat /sys/devices/pci0000:00/0000:00:01.0/local_cpulist 0-127 Signed-off-by:
Anton Blanchard <anton@samba.org> Signed-off-by:
Benjamin Herrenschmidt <benh@kernel.crashing.org>
-
FUJITA Tomonori authored
cc1: warnings being treated as errors arch/powerpc/platforms/pseries/dlpar.c: In function 'dlpar_attach_node': arch/powerpc/platforms/pseries/dlpar.c:239: error: unused variable 'ent' arch/powerpc/platforms/pseries/dlpar.c: In function 'dlpar_detach_node': arch/powerpc/platforms/pseries/dlpar.c:271: error: unused variable 'prop' arch/powerpc/platforms/pseries/dlpar.c:270: error: unused variable 'parent' make[3]: *** [arch/powerpc/platforms/pseries/dlpar.o] Error 1 Signed-off-by:
FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> Signed-off-by:
Benjamin Herrenschmidt <benh@kernel.crashing.org>
-
Anton Blanchard authored
Commit 57b150cc (irq: only update affinity if ->set_affinity() is sucessfull) broke xics irq affinity. We need to use the cpumask passed in, instead of accessing ->affinity directly. Signed-off-by:
Anton Blanchard <anton@samba.org> Signed-off-by:
Benjamin Herrenschmidt <benh@kernel.crashing.org>
-
Anton Vorontsov authored
It seems there is a thinko in the TLB invalidation code that makes the tlbie in the loop executed just once. The intended check was probably 'gt', not 'lt'. Signed-off-by:
Anton Vorontsov <avorontsov@ru.mvista.com> Signed-off-by:
Benjamin Herrenschmidt <benh@kernel.crashing.org>
-
Joakim Tjernlund authored
Various kernel asm modifies SRR0/SRR1 just before executing a rfi. If such code crosses a page boundary you risk a TLB miss which will clobber SRR0/SRR1. Avoid this by always pinning kernel instruction TLB space. Signed-off-by:
Joakim Tjernlund <Joakim.Tjernlund@transmode.se> Signed-off-by:
Benjamin Herrenschmidt <benh@kernel.crashing.org>
-
- Jan 14, 2010
-
-
Benjamin Herrenschmidt authored
Commit ac4c2a3b broke the build of all powerpc boot wrappers. It attempts to add an include of autoconf.h but used the wrong path for it. It also adds -D__KERNEL__ to our boot wrapper, both things that we pretty much didn't do on purpose so far. We want our boot wrapper to remain independent enough of the kernel for various reasons, one of them being that you can "wrap" an existing kernel at distro install time which allows to ship one kernel image and a set of boot wrappers for different platforms, the wrappers don't have to be built out of the same kernel build tree. It's also incorrect to do what the patch does in our boot environment since we may not have a proper alignment exception handler which means we may not be able to fixup the few cases where an unaligned access will need SW emulation (depends on the core variant, could be when crossing page or segment boundaries for example). This patch fixes it by putting the old code back in and using the new "fancy" variant only when CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS is set, which happens not to be set on powerpc since we don't include autoconf.h. It also reverts the changes to our boot wrapper Makefile. This means that x86 should, afaik, keep the optimisations since its boot wrapper does include autoconf.h and define __KERNEL__ (though I doubt they make that much different outside of slow embedded processors). Signed-off-by:
Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by:
Linus Torvalds <torvalds@linux-foundation.org>
-
- Jan 11, 2010
-
-
Joakim Tjernlund authored
JFFS2 uses lesser compression ratio and inflate always ends up in "copy direct from output" case. This patch tries to optimize the direct copy procedure. Uses get_unaligned() but only in one place. The copy loop just above this one can also use this optimization, but I havn't done so as I have not tested if it is a win there too. On my MPC8321 this is about 17% faster on my JFFS2 root FS than the original. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by:
Joakim Tjernlund <Joakim.Tjernlund@transmode.se> Cc: Roel Kluin <roel.kluin@gmail.com> Cc: Richard Purdie <rpurdie@rpsys.net> Cc: David Woodhouse <dwmw2@infradead.org> Signed-off-by:
Andrew Morton <akpm@linux-foundation.org> Signed-off-by:
Linus Torvalds <torvalds@linux-foundation.org>
-
- Jan 06, 2010
-
-
Kumar Gala authored
Signed-off-by:
Kumar Gala <galak@kernel.crashing.org>
-
- Dec 30, 2009
-
-
Peter Tyser authored
mkuboot.sh provides a basic wrapper for the 'mkimage' utility. Using mkuboot.sh provides clearer error reporting and allows a toolchain to use its own 'mkimage' executable specified by ${CROSS_COMPILE}mkimage. Additionally, this brings PowerPC in line with other architectures which already call mkimage via mkuboot.sh. Signed-off-by:
Peter Tyser <ptyser@xes-inc.com> Signed-off-by:
Grant Likely <grant.likely@secretlab.ca>
-
Grant Likely authored
Signed-off-by:
Grant Likely <grant.likely@secretlab.ca>
-
- Dec 27, 2009
-
-
Alexander Graf authored
We were shifting the Ks/Kp/N bits one bit too far on mtsrin. It took me some time to figure that out, so I also put in some debugging and a comment explaining the conversion. This fixes current OpenBIOS boot on PPC64 KVM. Signed-off-by:
Alexander Graf <agraf@suse.de> Signed-off-by:
Avi Kivity <avi@redhat.com>
-
- Dec 21, 2009
-
-
Albert Herranz authored
Fix the following build failures: arch/powerpc/platforms/embedded6xx/flipper-pic.c: In function 'flipper_pic_map': arch/powerpc/platforms/embedded6xx/flipper-pic.c:105: error: implicit declaration of function 'get_irq_desc' arch/powerpc/platforms/embedded6xx/hlwd-pic.c: In function 'hlwd_pic_map': arch/powerpc/platforms/embedded6xx/hlwd-pic.c:98: error: implicit declaration of function 'get_irq_desc' These failures are caused by the changes introduced in commit "powerpc: Remove get_irq_desc()". The reason these drivers were not updated is that they weren't merged yet. Signed-off-by:
Albert Herranz <albert_herranz@yahoo.es> Signed-off-by:
Benjamin Herrenschmidt <benh@kernel.crashing.org>
-
Albert Herranz authored
Fix the following build failures: arch/powerpc/platforms/embedded6xx/hlwd-pic.c: In function 'hlwd_pic_irq_cascade': arch/powerpc/platforms/embedded6xx/hlwd-pic.c:135: error: passing argument 1 of 'spin_lock' from incompatible pointer type arch/powerpc/platforms/embedded6xx/hlwd-pic.c:137: error: passing argument 1 of 'spin_unlock' from incompatible pointer type arch/powerpc/platforms/embedded6xx/hlwd-pic.c:145: error: passing argument 1 of 'spin_lock' from incompatible pointer type arch/powerpc/platforms/embedded6xx/hlwd-pic.c:149: error: passing argument 1 of 'spin_unlock' from incompatible pointer type These failures are caused by the changes introduced in commit "genirq: Convert irq_desc.lock to raw_spinlock". The reason this driver was not updated is that it wasn't merged yet. Signed-off-by:
Albert Herranz <albert_herranz@yahoo.es> Signed-off-by:
Benjamin Herrenschmidt <benh@kernel.crashing.org>
-
- Dec 18, 2009
-
-
Albert Herranz authored
The retry logic in ug_putc() is broken. If the TX fifo is not ready and the counter runs out it will have a value of -1 and no transfer should be attempted. Also, a counter with a value of 0 means that the TX fifo got ready in the last try and the transfer should be attempted. Reported-by:
"Juha Leppanen" <juha_motorsportcom@luukku.com> Signed-off-by:
"Juha Leppanen" <juha_motorsportcom@luukku.com> Signed-off-by:
Albert Herranz <albert_herranz@yahoo.es> Signed-off-by:
Benjamin Herrenschmidt <benh@kernel.crashing.org>
-
Li Yang authored
Since commit 57b150cc, desc->affinity of an irq is changed after calling desc->chip->set_affinity. Therefore we need to fix the irq_choose_cpu() not to depend on the desc->affinity for new mask. Signed-off-by:
Jiajun Wu <b06378@freescale.com> Signed-off-by:
Li Yang <leoli@freescale.com> Signed-off-by:
Benjamin Herrenschmidt <benh@kernel.crashing.org>
-
David Gibson authored
Commit d28513bc ("Fix bug in pagetable cache cleanup with CONFIG_PPC_SUBPAGE_PROT"), itself a fix for breakage caused by an earlier clean up patch of mine, contains a stupid bug. I changed the parameters of the subpage_protection() function, but failed to update one of the callers. This patch fixes it, and replaces a void * with a typed pointer so that the compiler will warn on such an error in future. Signed-off-by:
David Gibson <dwg@au1.ibm.com> Signed-off-by:
Benjamin Herrenschmidt <benh@kernel.crashing.org>
-
Yong Zhang authored
The _ONSTACK variant should be used for on-stack completion, otherwise it will break lockdep. Signed-off-by:
Yong Zhang <yong.zhang0@gmail.com> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Paul Mackerras <paulus@samba.org> Cc: linuxppc-dev@ozlabs.org Signed-off-by:
Benjamin Herrenschmidt <benh@kernel.crashing.org>
-
Benjamin Herrenschmidt authored
On machines using the Apple U4 bridge (AKA IBM CPC945) PCIe interface such as the latest generation G5 machines x16 slot or the x16 slot of the PowerStation, MSIs are currently broken (and will oops when enabling). This fixes the oops and implements proper support for those. Instead of using the PCIe <-> HT bridge conversion, on such slots we need to use a bunch of magic registers in the bridge as the MSI target, encoding the interrupt number in the low bits of the address itself Signed-off-by:
Benjamin Herrenschmidt <benh@kernel.crashing.org>
-
Neil Campbell authored
This patch fixes the handling of VSX alignment faults in little-endian mode (the current code assumes the processor is in big-endian mode). The patch also makes the handlers clear the top 8 bytes of the register when handling an 8 byte VSX load. This is based on 2.6.32. Signed-off-by:
Neil Campbell <neilc@linux.vnet.ibm.com> Cc: <stable@kernel.org> Acked-by:
Michael Neuling <mikey@neuling.org> Signed-off-by:
Benjamin Herrenschmidt <benh@kernel.crashing.org>
-
Li Yang authored
The function name of cpumask_clear_cpu was not correct. Fortunately nobody uses that code with hotplug yet :-) Reported-by:
Jin Qing <b24347@freescale.com> Signed-off-by:
Li Yang <leoli@freescale.com> Signed-off-by:
Benjamin Herrenschmidt <benh@kernel.crashing.org>
-