aboutsummaryrefslogtreecommitdiffstats
path: root/arch
Commit message (Collapse)AuthorAgeFilesLines
* powerpc: Make single-stepping emulation (mostly) usable on 32-bitPaul Mackerras2005-10-281-0/+17
| | | | | | | The sc instruction emulation can't be done the same way on 32-bit as 64-bit yet, but this should work OK. Signed-off-by: Paul Mackerras <paulus@samba.org>
* powerpc: Rename asm offset TRAP to _TRAP for 32-bitPaul Mackerras2005-10-285-27/+26
| | | | | | ... for consistency with 64-bit. Signed-off-by: Paul Mackerras <paulus@samba.org>
* [PATCH] powerpc: Move xics.[ch] into platforms/pseriesDavid Gibson2005-10-286-16/+50
| | | | | | | | | | | This patch moves the XICS interrupt controller code into the platforms/pseries directory, since it only appears on pSeries machines. If it ever appears on some other machine we can move it to sysdev, although xics.c itself will need a bunch of changes in that case to remove pSeries specific assumptions. Signed-off-by: David Gibson <dwg@au1.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
* Merge git://oak/home/sfr/kernels/iseries/work/Paul Mackerras2005-10-2818-3064/+21
|\
| * ppc64: use mem_64.S from powerpc/libStephen Rothwell2005-10-282-108/+1
| | | | | | | | | | | | and remove the same bits from ppc64/lib/string.S. Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
| * ppc64: use usercopy_64.c from powerpc/libStephen Rothwell2005-10-283-44/+2
| | | | | | | | | | | | since it is identical to usercopy.c from ppc64/lib. Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
| * ppc64: user strcase.c from powerpc/libStephen Rothwell2005-10-283-34/+4
| | | | | | | | | | | | since it is identical to strcase.c from ppc64/lib. Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
| * ppc64: use sstep.c from powerpc/libStephen Rothwell2005-10-283-144/+2
| | | | | | | | | | | | since it is identical to sstep.c from ppc64/lib. Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
| * ppc64: use memcpy_64.S from powerpc/libStephen Rothwell2005-10-283-176/+4
| | | | | | | | | | | | since it is identical to mempcy.S from ppc64/lib. Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
| * ppc64: use lockc.c from powerpc/libStephen Rothwell2005-10-283-103/+3
| | | | | | | | | | | | since it is effectively the same as locks.c from ppc64/lib. Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
| * ppc64: use copyuser_64.S from powerpc/libStephen Rothwell2005-10-283-579/+3
| | | | | | | | | | | | since it is identical to copyuser.S from ppc64/lib. Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
| * ppc64: use copypage_64.S from powerpc/libStephen Rothwell2005-10-283-124/+3
| | | | | | | | | | | | since it is identical to copypage.S from ppc64/lib. Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
| * ppc64: use e2a.c from powerpc/libStephen Rothwell2005-10-283-114/+1
| | | | | | | | | | | | since it is identical to e2a.c from ppc64/lib Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
| * ppc64: use checksum_64.S from powerpcStephen Rothwell2005-10-284-231/+6
| | | | | | | | | | | | as it is identical to checksum.S from ppc64. Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
| * ppc64: use the merged syscall tableStephen Rothwell2005-10-286-1426/+12
| | | | | | | | | | | | | | This allows us to also use entry_64.S from the merged tree and reverts the setup_64.c part of fda262b8978d0089758ef9444508434c74113a61. Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
* | Merge in v2.6.14 by handPaul Mackerras2005-10-283-2/+4
|\ \
| * \ Merge master.kernel.org:/home/rmk/linux-2.6-armLinus Torvalds2005-10-261-0/+2
| |\ \
| | * | [ARM] fix sharp zaurus c-3000 compile failure without CONFIG_FB_PXAPavel Machek2005-10-241-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes compile problem when CONFIG_FB_PXA is not set. LD .tmp_vmlinux1 arch/arm/mach-pxa/built-in.o(.text+0x1d74): In function `spitz_get_hsync_len': : undefined reference to `pxafb_get_hsync_time' make: *** [.tmp_vmlinux1] Error 1 3.46user 0.46system 5.10 (0m5.106s) elapsed 77.01%CPU Signed-off-by: Pavel Machek <pavel@suse.cz> Signed-off-by: Richard Purdie <rpurdie@rpsys.net> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * | | [PATCH] ppc64: Fix wrong register mapping in mpic driverBenjamin Herrenschmidt2005-10-261-2/+2
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The mpic interrupt controller driver (used on G5 and early pSeries among others) has a bug where it doesn't get the right virtual address for the timer registers. It causes the driver to poke at the MMIO space of whatever has been mapped just next to it (ouch !) when initializing and causes boot failures on some IBM 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>
| * | [PATCH] uml: fix compile failure for TT modeMiklos Szeredi2005-10-242-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Without this patch, uml compile fails with: LD .tmp_vmlinux1 arch/um/kernel/built-in.o: In function `config_gdb_cb': arch/um/kernel/tt/gdb.c:129: undefined reference to `TASK_EXTERN_PID' Tested on i386, but fix needed on x86_64 too AFAICS. Signed-off-by: Miklos Szeredi <miklos@szeredi.hu> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | | ppc64: Use the correct prototypes for i8259 functionsPaul Mackerras2005-10-282-21/+3
| | | | | | | | | | | | | | | | | | | | | We still had an old copy of i8259.h lying around; this gets rid of it and corrects the callers of i8259_init and i8259_irq. Signed-off-by: Paul Mackerras <paulus@samba.org>
* | | [PATCH] powerpc: Remove dregs of bootinfo.hDavid Gibson2005-10-281-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since I sent the patch to purge bootinfo.h from ARCH=powerpc and ARCH=ppc64, setup-common.c has come into existence, and another #include of bootinfo.h slipped in. This patch removes it. It also removes include/asm-ppc64/bootinfo.h, which somehow survived the previous patch which was supposed to remove it. Signed-off-by: Paul Mackerras <paulus@samba.org>
* | | [PATCH] powerpc: only build idle_6xx for 6xxKumar Gala2005-10-281-1/+2
| |/ |/| | | | | | | | | | | For the current time idle_6xx only applies to 6xx ppc32 CPUs Signed-off-by: Kumar K. Gala <kumar.gala@freescale.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
* | ppc64: Include arch/powerpc/kernel/setup-common.oPaul Mackerras2005-10-281-1/+2
| | | | | | | | | | | | | | ... which is needed now that ARCH=ppc64 is using the merged setup_64.c. Signed-off-by: Paul Mackerras <paulus@samba.org>
* | powerpc: Move U3 IOMMU driver to arch/powerpc/sysdevPaul Mackerras2005-10-283-2/+1
| | | | | | | | Signed-off-by: Paul Mackerras <paulus@samba.org>
* | powerpc: Fix new-world powermac detectionPaul Mackerras2005-10-271-1/+3
| | | | | | | | | | | | | | My G5 was being reported as an OldWorld in /proc/cpuinfo, which is obviously not right... :) Signed-off-by: Paul Mackerras <paulus@samba.org>
* | powerpc: Introduce toreal/fromreal assembly macrosPaul Mackerras2005-10-271-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | On 32-bit platforms, these convert from kernel virtual addresses to real (physical addresses), like tophys/tovirt but they use the same register for the source and destination. On 64-bit platforms, they do nothing because the hardware ignores the top two bits of the address in real mode. These new macros are used in fpu.S now. Signed-off-by: Paul Mackerras <paulus@samba.org>
* | powerpc: 32-bit CHRP SMP fixesPaul Mackerras2005-10-273-12/+44
| | | | | | | | | | | | Untested, but "should" work... at least this way it compiles. Signed-off-by: Paul Mackerras <paulus@samba.org>
* | powerpc: remove duplicate screen_info from setup_32.cPaul Mackerras2005-10-271-15/+0
| | | | | | | | Signed-off-by: Paul Mackerras <paulus@samba.org>
* | [PATCH] powerpc: Moved dcr support to arch/powerpcKumar Gala2005-10-273-2/+2
| | | | | | | | | | Signed-off-by: Kumar K. Gala <kumar.gala@freescale.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
* | [PATCH] powerpc: Fix warning related to do_dabrKumar Gala2005-10-271-0/+2
| | | | | | | | | | | | | | do_dabr() is not relevant on 40x or Book-E processors so dont build it Signed-off-by: Kumar K. Gala <kumar.gala@freescale.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
* | [PATCH] powerpc: Purge bootinfo.hDavid Gibson2005-10-277-11/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With ARCH=powerpc we assume the presence of a device tree, so we don't require any support for the old bi_recs method of passing boot parameters. Likewise, we've never needed it for ppc64, but we still had an include/asm-ppc64/bootinfo.h from which nothing was used. This patch removes that file, and all references to it in arch/ppc64 and arch/powerpc. A related, unused variable 'boot_mem_size' is also removed from setup_32.c. The bootinfo stuff remains in ARCH=ppc for the time being. Built and booted on Power5 (ARCH=ppc64 and ARCH=powerpc), built for 32-bit powermac (ARCH=powerpc and ARCH=ppc). Signed-off-by: David Gibson <dwg@au1.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
* | [PATCH] powerpc: Fix handling of fpscr on 64-bitDavid Gibson2005-10-2718-198/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The recent merge of fpu.S broken the handling of fpscr for ARCH=powerpc and CONFIG_PPC64=y. FP registers could be corrupted, leading to strange random application crashes. The confusion arises, because the thread_struct has (and requires) a 64-bit area to save the fpscr, because we use load/store double instructions to get it in to/out of the FPU. However, only the low 32-bits are actually used, so we want to treat it as a 32-bit quantity when manipulating its bits to avoid extra load/stores on 32-bit. This patch replaces the current definition with a structure of two 32-bit quantities (pad and val), to clarify things as much as is possible. The 'val' field is used when manipulating bits, the structure itself is used when obtaining the address for loading/unloading the value from the FPU. While we're at it, consolidate the 4 (!) almost identical versions of cvt_fd() and cvt_df() (arch/ppc/kernel/misc.S, arch/ppc64/kernel/misc.S, arch/powerpc/kernel/misc_32.S, arch/powerpc/kernel/misc_64.S) into a single version in fpu.S. The new version takes a pointer to thread_struct and applies the correct offset itself, rather than a pointer to the fpscr field itself, again to avoid confusion as to which is the correct field to use. Finally, this patch makes ARCH=ppc64 also use the consolidated fpu.S code, which it previously did not. Built for G5 (ARCH=ppc64 and ARCH=powerpc), 32-bit powermac (ARCH=ppc and ARCH=powerpc) and Walnut (ARCH=ppc, CONFIG_MATH_EMULATION=y). Booted on G5 (ARCH=powerpc) and things which previously fell over no longer do. Signed-off-by: David Gibson <dwg@au1.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
* | [PATCH] ppc64: remove arch/ppc64/kernel/setup.cPaul Mackerras2005-10-274-1315/+17
| | | | | | | | | | | | | | | | and use setup_64.c from the merged tree instead. The only difference between them was the code to set up the syscall maps. Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
* | powerpc: Remove common stuff from setup_64.cPaul Mackerras2005-10-271-270/+0
| | | | | | | | | | | | | | This should have been in commit 03501dab035ab7da5e1373f5e130cfd6346d3f21 but got missed by accident. Signed-off-by: Paul Mackerras <paulus@samba.org>
* | powerpc: 32-bit powermac needs the mpc106 codePaul Mackerras2005-10-261-0/+1
| | | | | | | | Signed-off-by: Paul Mackerras <paulus@samba.org>
* | powerpc: Fix incorrect timer register addresses in mpic.cPaul Mackerras2005-10-261-3/+2
| | | | | | | | | | | | | | | | We were computing the wrong address for the MPIC timer registers, so when we went to initialize them we would have been hitting some unrelated ioremap... oops. Signed-off-by: Paul Mackerras <paulus@samba.org>
* | powerpc32: Limit memory to lowmem if !CONFIG_HIGHMEM.Paul Mackerras2005-10-261-0/+3
| | | | | | | | | | | | | | This trims off the extra unusable memory from the lmb structure, so we don't try to use it. Signed-off-by: Paul Mackerras <paulus@samba.org>
* | powerpc: Fixes to get the Longtrail CHRP a bit furtherPaul Mackerras2005-10-263-15/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Talk about buggy firmware... the OF on the Longtrail returns 0 from the claim client service rather than -1 when the claim fails. It also has no device_type on the /memory node and blows up if the output buffer for package-to-path is too big. This also fixes a bug with calling alloc_up with align == 0, where we did _ALIGN_UP(alloc_bottom, 0) which will end up as 0. Lastly, we now check the return value (in r3) from calling the prom, and return -1 from call_prom if we get a negative value back. That is supposed to indicate that the requested client service doesn't exist. Signed-off-by: Paul Mackerras <paulus@samba.org>
* | powerpc: Merge 32-bit CHRP support.Paul Mackerras2005-10-2612-37/+1256
| | | | | | | | | | | | | | SMP still needs more work but UP gets as far as starting userspace at least. This uses the 64-bit-style code for spinning up the cpus. Signed-off-by: Paul Mackerras <paulus@samba.org>
* | powerpc: Don't limit pmac_get_rtc_time to return only positive valuesPaul Mackerras2005-10-261-4/+0
| | | | | | | | | | | | | | | | If the machine's clock is set to a bogus value, this check resulted in userland waiting effectively forever for the RTC value to change, so remove the check. Signed-off-by: Paul Mackerras <paulus@samba.org>
* | powerpc: Fix interrupt-tree parsingPaul Mackerras2005-10-261-14/+26
| | | | | | | | | | | | | | | | | | | | The interrupt-tree parsing code wasn't offsetting interrupt numbers by 16 on 32-bit platforms with an i8259 interrupt controller, and it was confused about the encoding of interrupt sense and level (which is different for i8259 and openpic interrupt controllers, just to make things interesting). Signed-off-by: Paul Mackerras <paulus@samba.org>
* | powerpc: Pull out MPC106 (grackle) initialization code into its own filePaul Mackerras2005-10-264-44/+71
| | | | | | | | | | | | | | | | This is so that the 32-bit CHRP code can use it. The MPC106 initialization code is now in arch/powerpc/sysdev/grackle.c and is controlled by CONFIG_PPC_MPC106. Signed-off-by: Paul Mackerras <paulus@samba.org>
* | powerpc: Pull common bits of setup_{32,64}.c into setup-common.cPaul Mackerras2005-10-264-248/+417
| | | | | | | | | | | | | | | | | | This creates a new arch/powerpc/kernel/setup-common.c with various bits that setup_32.c and setup_64.c had in common - functions like machine_shutdown/restart/power_off, show_cpuinfo, set_preferred_console etc. Signed-off-by: Paul Mackerras <paulus@samba.org>
* | powerpc: Merge rtas.c into arch/powerpc/kernelPaul Mackerras2005-10-2613-199/+256
| | | | | | | | | | | | | | | | | | | | | | | | | | This splits arch/ppc64/kernel/rtas.c into arch/powerpc/kernel/rtas.c, which contains generic RTAS functions useful on any CHRP platform, and arch/powerpc/platforms/pseries/rtas-fw.[ch], which contain some pSeries-specific firmware flashing bits. The parts of rtas.c that are to do with pSeries-specific error logging are protected by a new CONFIG_RTAS_ERROR_LOGGING symbol. The inclusion of rtas.o is controlled by the CONFIG_PPC_RTAS symbol, and the relevant platforms select that. Signed-off-by: Paul Mackerras <paulus@samba.org>
* | powerpc: Merge i8259.c into arch/powerpc/sysdevPaul Mackerras2005-10-2618-270/+97
| | | | | | | | | | | | | | | | | | | | | | | | This changes the parameters for i8259_init so that it takes two parameters: a physical address for generating an interrupt acknowledge cycle, and an interrupt number offset. i8259_init now sets the irq_desc[] for its interrupts; all the callers were doing this, and that code is gone now. This also defines a CONFIG_PPC_I8259 symbol to select i8259.o for inclusion, and makes the platforms that need it select that symbol. Signed-off-by: Paul Mackerras <paulus@samba.org>
* | ppc: Use the indirect_pci.c from arch/powerpc/sysdevPaul Mackerras2005-10-267-156/+58
| | | | | | | | | | | | | | | | This defines a CONFIG_INDIRECT_PCI symbol to control whether it gets used or not, and fixes the Kconfig to select that symbol for platforms that need it. Signed-off-by: Paul Mackerras <paulus@samba.org>
* | [PATCH] powerpc: Move ras.c into arch/powerpc/platforms/pseriesMichael Ellerman2005-10-263-8/+7
| | | | | | | | | | | | | | | | ras.o is only built for CONFIG_PPC_PSERIES, so move it into arch/powerpc/platforms/pseries. Update Makefiles to suit. Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
* | [PATCH] powerpc: Some minor cleanups to setup_32.cKumar Gala2005-10-262-40/+8
| | | | | | | | | | | | | | | | | | | | * Removed of_show_percpuinfo and just report CPU frequency in generic show_cpuinfo code. * Killed OCP and PPC_SYS related code which doesn't belong in the merge tree Signed-off-by: Kumar K. Gala <kumar.gala@freescale.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
* | [PATCH] powerpc: Add support for Book-E timer config to generic_calibrate_decrKumar Gala2005-10-261-0/+11
| | | | | | | | | | | | | | | | We need to initialize some control SPRS for timers on Book-E before we start taking decrementer interrupts. Signed-off-by: Kumar K. Gala <kumar.gala@freescale.com> Signed-off-by: Paul Mackerras <paulus@samba.org>