aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kernel
Commit message (Collapse)AuthorAge
* ppc64/powerpc: Fix time initialization on SMP systemsPaul Mackerras2005-10-22
| | | | | | | | | | | This moves smp_space_timers from arch/ppc64/kernel/smp.c to arch/powerpc/kernel/time.c and makes it initialize last_jiffy[] instead of paca[].next_jiffy_update_tb, since last_jiffy[] is now what the time code uses. It also declares smp_space_timers in include/asm-powerpc/time.h and gets rid of an ifdef in div128_by_32. Signed-off-by: Paul Mackerras <paulus@samba.org>
* ppc64: Fix delivery of RT signals to 32-bit processes.Paul Mackerras2005-10-22
| | | | | | | | An error in merging led to 32-bit processes getting the wrong link register value on entry to RT signal handlers, and the wrong stack chain as well. This fixes it. Signed-off-by: Paul Mackerras <paulus@samba.org>
* powerpc: Move agp_special_page export to where it is definedPaul Mackerras2005-10-22
| | | | | | ... instead of exporting it in arch/*/kernel/ppc_ksyms.c. Signed-off-by: Paul Mackerras <paulus@samba.org>
* [PATCH] powerpc: Fix mmap returning 64 bit addressesMichael Ellerman2005-10-21
| | | | | | | | | | | | | | The merge of syscalls.c & sys_ppc32.c (30286ef6e044bc3d9019c3d8b900572e3fa05e65) broke mmap, if the mmap returned a 64 bit address. do_mmap2 was taking the return value from do_mmap_pgoff (an unsigned long), and storing it in an int, before returning it to sys_mmap as an unsigned long. So we were losing the high bits of the address. You would have thought the compiler could catch this for us ... Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
* [PATCH] powerpc: Don't blow away load_addr in start_threadMichael Ellerman2005-10-21
| | | | | | | | | | The patch to make process.c work for 32-bit and 64-bit (06d67d54741a5bfefa31945ef195dfa748c29025) broke some 64-bit binaries. We were blowing away load_addr in gpr[2], so we weren't properly relocating the entry point. Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
* [PATCH] powerpc: Merge thread_info.hDavid Gibson2005-10-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Merge ppc32 and ppc64 versions of thread_info.h. They were pretty similar already, the chief changes are: - Instead of inline asm to implement current_thread_info(), which needs to be different for ppc32 and ppc64, we use C with an asm("r1") register variable. gcc turns it into the same asm as we used to have for both platforms. - We replace ppc32's 'local_flags' with the ppc64 'syscall_noerror' field. The noerror flag was in fact the only thing in the local_flags field anyway, so the ppc64 approach is simpler, and means we only need a load-immediate/store instead of load/mask/store when clearing the flag. - In readiness for 64k pages, when THREAD_SIZE will be less than a page, ppc64 used kmalloc() rather than get_free_pages() to allocate the kernel stack. With this patch we do the same for ppc32, since there's no strong reason not to. - For ppc64, we no longer export THREAD_SHIFT and THREAD_SIZE via asm-offsets, thread_info.h can now be safely included in asm, as on ppc32. Built and booted on G4 Powerbook (ARCH=ppc and ARCH=powerpc) and Power5 (ARCH=ppc64 and ARCH=powerpc). Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
* powerpc: Fix some bugs in the new merged time codePaul Mackerras2005-10-20
| | | | | | | | | | I had the sense of the test for when to use the old 601-style RTC registers inverted. pmac_calibrate_decr and via_calibrate_decr weren't setting ppc_tb_freq, on which all the further calculations depended. Lastly, update_gtod was losing the top 32 bits of the new tb_to_xs value. Signed-off-by: Paul Mackerras <paulus@samba.org>
* powerpc: Move some calculations from xxx_calibrate_decr to time_initPaul Mackerras2005-10-20
| | | | | | | | | | Previously the individual xxx_calibrate_decr functions would each print the timebase and cpu frequency and calculate several values such as tb_to_us and tb_to_xs. This moves those printks and calculations into time_init just after the call to the platform's calibrate_decr function. Signed-off-by: Paul Mackerras <paulus@samba.org>
* ppc64: Move init_boot_text call and conswitchp init into setup_archPaul Mackerras2005-10-20
| | | | | | | This way they get done in one place for all platforms, and it is more consistent with what ppc32 does. Signed-off-by: Paul Mackerras <paulus@samba.org>
* powerpc: Fix places where ppc_md.show_[per]cpuinfo was treated as intPaul Mackerras2005-10-20
| | | | | | | I missed a few places where ppc code was still assuming that the ppc_md.show_[per]cpuinfo functions returned int. Signed-off-by: Paul Mackerras <paulus@samba.org>
* ppc64: Change ppc_md.get_cpuinfo to ppc_md.show_cpuinfoPaul Mackerras2005-10-20
| | | | | | | ... for consistency with ppc32; also add in ppc32's show_percpuinfo function. Signed-off-by: Paul Mackerras <paulus@samba.org>
* [PATCH] powerpc: Merge ppc64 pmc.[ch] with ppc32 perfmon.[ch]David Gibson2005-10-20
| | | | | | | | | | | | | | This patches the ppc32 and ppc64 versions of the headers and .c files with helper functions for manipulating the performance counting hardware. As a side effect, it removes use of the term "perfmon" from ppc32, thus avoiding confusion with the unrelated performance counter interface from HP Labs also called "perfmon". Built, but not booted, for g5, pSeries, iSeries, and 32-bit Powermac with both ARCH=powerpc and ARCH=ppc{,64} as appropriate. Signed-off-by: David Gibson <dwg@au1.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
* powerpc: Fix a branch-too-far link error for 32-bit targetsPaul Mackerras2005-10-19
| | | | Signed-off-by: Paul Mackerras <paulus@samba.org>
* powerpc: Merge time.c and asm/time.h.Paul Mackerras2005-10-19
| | | | | | | | | | We now use the merged time.c for both 32-bit and 64-bit compilation with ARCH=powerpc, and for ARCH=ppc64, but not for ARCH=ppc32. This removes setup_default_decr (folds its function into time_init) and moves wakeup_decrementer into time.c. This also makes an asm-powerpc/rtc.h. Signed-off-by: Paul Mackerras <paulus@samba.org>
* powerpc: Move ptrace32.c from arch/ppc64 to arch/powerpcPaul Mackerras2005-10-19
| | | | | | | Also corrected my email address in ptrace.c and updated the comments at the top of ptrace32.c. Signed-off-by: Paul Mackerras <paulus@samba.org>
* powerpc: Eliminate a compile warning in signal_32.cPaul Mackerras2005-10-19
| | | | | | The second argument of get_sigset_t needed to have the const keyword. Signed-off-by: Paul Mackerras <paulus@samba.org>
* Merge rsync://oak/kernels/iseries/work/Paul Mackerras2005-10-18
|\
| * powerpc: change sys32_ to compat_sys_Stephen Rothwell2005-10-18
| | | | | | | | | | | | | | | | | | This allows us to get rid of one type of entry in systbl.S. In passing we remove the duplicate compat_sys_getdents and compat_sys_utimes for which there are generic versions. Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
* | powerpc: Fix various compile errors with ARCH=ppc, ppc64 and powerpcPaul Mackerras2005-10-18
|/ | | | | | | | This makes ppc use the syscalls.c from arch/powerpc/kernel, exports copy_and_flush from head_32.S for use by prom_init.c (ARCH=powerpc), and consolidates the sys_fadvise64_64 implementations for 32-bit. Signed-off-by: Paul Mackerras <paulus@samba.org>
* powerpc: merge ppc signal.c and ppc64 signal32.cStephen Rothwell2005-10-17
| | | | Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
* [PATCH] powerpc: Another maple merge tree fixDavid Gibson2005-10-17
| | | | | | | | | With ARCH=powerpc, a spurious ifdef in prom_init prevented the seconday hold loop being correctly copied down on Maple. With this patch, Maple boots with ARCH=powerpc Signed-off-by: David Gibson <dwg@au1.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
* [PATCH] powerpc: Fix use of LOADBASE in merge treeDavid Gibson2005-10-17
| | | | | | | | | | The merge-tree version of LOADBASE actually loads the whole given address from the toc for ppc64. The matching OFF macro adjust for this, using an offset of 0 for ppc64, but we weren't using that in power4_idle. Signed-off-by: David Gibson <dwg@au1.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
* [PATCH] powerpc: replace use of _GLOBAL with .globlKumar Gala2005-10-17
| | | | | | | | The _GLOBAL() macro is for text symbols only. Changed to using .globl for .data symbols. Signed-off-by: Kumar K. Gala <kumar.gala@freescale.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
* powerpc: Clear the BSS at the start of early_init with ARCH=ppcPaul Mackerras2005-10-17
| | | | Signed-off-by: Paul Mackerras <paulus@samba.org>
* powerpc: Merge syscalls.c and sys_ppc32.c.Paul Mackerras2005-10-17
| | | | Signed-off-by: Paul Mackerras <paulus@samba.org>
* powerpc: Initialize btext subsystem later, after prom_initPaul Mackerras2005-10-17
| | | | | | | | | | | | We were initializing the btext stuff from prom_init(), thus breaking the rule that all communication between prom_init() and the rest of the kernel has to be via the flattened device tree. This removes the btext initialization calls from prom_init() and initializes it instead after the device tree is unflattened. It would be nice to do it earlier, but that needs some more infrastructure to find the properties we need in the flattened device tree. Signed-off-by: Paul Mackerras <paulus@samba.org>
* ppc32: use L1_CACHE_SHIFT/L1_CACHE_BYTESStephen Rothwell2005-10-16
| | | | | | instead of L1_CACHE_LINE_SIZE and LG_L1_CACHE_LINE_SIZE Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
* powerpc: merge ptrace.cStephen Rothwell2005-10-13
| | | | Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
* ppc64: use powerpc of_device.cStephen Rothwell2005-10-13
| | | | Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
* ppc64: merge binfmt_elf32.cStephen Rothwell2005-10-12
| | | | | | and use start_thread for both 32 and 64 bit bineries. Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
* powerpc: make 64 bit binaries workStephen Rothwell2005-10-12
| | | | Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
* powerpc: create 32 bit LOADADDR macroStephen Rothwell2005-10-12
| | | | | | and use it in misc_32.S Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
* powerpc: consolidate cputable.cStephen Rothwell2005-10-12
| | | | | | Also simplify arch/ppc64/kernel/Makefile Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
* powerpc: Move default hash table size calculation to hash_utils_64.cPaul Mackerras2005-10-12
| | | | | | | | | We weren't computing the size of the hash table correctly on iSeries because the relevant code in prom.c was #ifdef CONFIG_PPC_PSERIES. This moves the code to hash_utils_64.c, makes it unconditional, and cleans it up a bit. Signed-off-by: Paul Mackerras <paulus@samba.org>
* ppc64: Use merged versions of init_task.c and process.c.Paul Mackerras2005-10-11
| | | | | | | These two files are now built in arch/powerpc/kernel instead of arch/ppc64/kernel. Signed-off-by: Paul Mackerras <paulus@samba.org>
* ppc: Various minor compile fixesPaul Mackerras2005-10-11
| | | | | | | | | | | | This fixes up a variety of minor problems in compiling with ARCH=ppc arising from using the merged versions of various header files. A lot of the changes are just adding #include <asm/machdep.h> to files that use ppc_md or smp_ops_t. This also arranges for us to use semaphore.c, vecemu.c, vector.S and fpu.S from arch/powerpc/kernel when compiling with ARCH=ppc. Signed-off-by: Paul Mackerras <paulus@samba.org>
* powerpc: Remove debug messages from setup_64.cPaul Mackerras2005-10-11
| | | | | | | A bunch of printks were left in arch/powerpc/kernel/setup_64.c from when I was chasing a bug. This removes them. Signed-off-by: Paul Mackerras <paulus@samba.org>
* powerpc: Fix compilation for 32-bit configsPaul Mackerras2005-10-10
| | | | Signed-off-by: Paul Mackerras <paulus@samba.org>
* powerpc: Fix off-by-one error in prom_init.cPaul Mackerras2005-10-10
| | | | | | | This was preventing us from recognizing that we did actually instantiate RTAS successfully on pSeries. Signed-off-by: Paul Mackerras <paulus@samba.org>
* powerpc: Get 64-bit configs to compile with ARCH=powerpcPaul Mackerras2005-10-10
| | | | | | | | This is a bunch of mostly small fixes that are needed to get ARCH=powerpc to compile for 64-bit. This adds setup_64.c from arch/ppc64/kernel/setup.c and locks.c from arch/ppc64/lib/locks.c. Signed-off-by: Paul Mackerras <paulus@samba.org>
* powerpc: move lparmap.c to arch/powerpc/kernelPaul Mackerras2005-10-10
| | | | | | | Since lparmap.s gets included in arch/powerpc/kernel/head_64.S, this avoids depending on a file in another directory. Signed-off-by: Paul Mackerras <paulus@samba.org>
* powerpc: Fix bug caused by negation of 64-bit reloc_offset valuePaul Mackerras2005-10-10
| | | | | | | | Although both ppc32 and ppc64 have a reloc_offset function, the ppc64 one produced the opposite sign to the ppc32 one. This standardizes on the ppc32 sign and fixes the merged 64-bit code to account for that. Signed-off-by: Paul Mackerras <paulus@samba.org>
* powerpc: Reduce the 32/64-bit diffs in vmlinux.lds.SPaul Mackerras2005-10-10
| | | | | | Also adds the definition of the _sdata symbol to the ppc64 vmlinux.lds.S. Signed-off-by: Paul Mackerras <paulus@samba.org>
* powerpc: Reduce the 32/64-bit differences in traps.cPaul Mackerras2005-10-10
| | | | Signed-off-by: Paul Mackerras <paulus@samba.org>
* powerpc: Make prom_init.c suitable for both 32-bit and 64-bitPaul Mackerras2005-10-10
| | | | Signed-off-by: Paul Mackerras <paulus@samba.org>
* powerpc: Introduce entry_{32,64}.S, misc_{32,64}.S, systbl.SPaul Mackerras2005-10-10
| | | | | | | | | The system call table has been consolidated into systbl.S. We have separate 32-bit and 64-bit versions of entry.S and misc.S since the code is mostly sufficiently different to be not worth merging. There are some common bits that will be extracted in future. Signed-off-by: Paul Mackerras <paulus@samba.org>
* powerpc: make process.c suitable for both 32-bit and 64-bitPaul Mackerras2005-10-10
| | | | Signed-off-by: Paul Mackerras <paulus@samba.org>
* powerpc: Use reg.h instead of processor.h when we just want reg namesPaul Mackerras2005-10-10
| | | | | | | Now that the register names and bit definitions are all in reg.h, use that instead of processor.h in assembly code in a few places. Signed-off-by: Paul Mackerras <paulus@samba.org>
* powerpc: Rename files to have consistent _32/_64 suffixesPaul Mackerras2005-10-10
| | | | | | | | This doesn't change any code, just renames things so we consistently have foo_32.c and foo_64.c where we have separate 32- and 64-bit versions. Signed-off-by: Paul Mackerras <paulus@samba.org>
* powerpc: Use SPRN_xxx rather than xxx for SPR numbersPaul Mackerras2005-10-10
| | | | | | | | | | This changes symbols like HID0, SPRG3, SRR0, SRR1 etc. that refer to special purpose registers to SPRN_HID0, SPRN_SPRG3, etc. Using the SPRN_ symbols clutters the namespace less, and the forthcoming merge of asm/processor.h and asm/reg.h is going to remove the non-SPRN_ versions. Signed-off-by: Paul Mackerras <paulus@samba.org>