summaryrefslogtreecommitdiffstats
path: root/arch/powerpc
Commit message (Collapse)AuthorAgeFilesLines
* [PATCH] powerpc: Merge thread_info.hDavid Gibson2005-10-214-18/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-202-4/+3
| | | | | | | | | | 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-201-15/+12
| | | | | | | | | | 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-202-4/+8
| | | | | | | 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>
* ppc: rename pci_assign_all_busses to pci_assign_all_busesPaul Mackerras2005-10-201-3/+3
| | | | | | ... for consistency with ppc64 and to make merging easier. Signed-off-by: Paul Mackerras <paulus@samba.org>
* powerpc: Fix places where ppc_md.show_[per]cpuinfo was treated as intPaul Mackerras2005-10-203-58/+26
| | | | | | | 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>
* powerpc: Move smp_mpic_message_pass into mpic.cPaul Mackerras2005-10-201-0/+21
| | | | | | | Having it here rather than in arch/ppc64/kernel/smp.c means that we can use it on 32-bit SMP systems easily with ARCH=powerpc. Signed-off-by: Paul Mackerras <paulus@samba.org>
* ppc64: Change ppc_md.get_cpuinfo to ppc_md.show_cpuinfoPaul Mackerras2005-10-202-4/+4
| | | | | | | ... 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-205-8/+115
| | | | | | | | | | | | | | 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>
* [PATCH] powerpc: Some more fixes to allow building for a Book-E processorKumar Gala2005-10-201-3/+2
| | | | | | | | Some minor fixes that are needed if we are building for a book-e processor. Signed-off-by: Kumar K. Gala <kumar.gala@freescale.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
* powerpc: Fix a corner case in __div64_32Paul Mackerras2005-10-201-1/+2
| | | | | | | | The code was incorrectly doing a division by 0 in the case where the denominator was 0x100000000 and the divisor was 0xffffffff. Thanks to Fred Liu of Motorola for pointing this out. Signed-off-by: Paul Mackerras <paulus@samba.org>
* powerpc: Fix a branch-too-far link error for 32-bit targetsPaul Mackerras2005-10-201-1/+2
| | | | Signed-off-by: Paul Mackerras <paulus@samba.org>
* powerpc: Merge time.c and asm/time.h.Paul Mackerras2005-10-207-31/+1025
| | | | | | | | | | 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>
* ppc64: Minor compilation fixesPaul Mackerras2005-10-201-1/+1
| | | | | | | | This defines CONFIG_PPC_STD_MMU for ppc64, changes an instance of sys32_ to compat_sys_ in the ppc64 syscall table, and removes a reference to a non-existent arch/powerpc/xmon/Makefile. Signed-off-by: Paul Mackerras <paulus@samba.org>
* powerpc: Move ptrace32.c from arch/ppc64 to arch/powerpcPaul Mackerras2005-10-203-2/+452
| | | | | | | 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-191-2/+3
| | | | | | The second argument of get_sigset_t needed to have the const keyword. Signed-off-by: Paul Mackerras <paulus@samba.org>
* powerpc: Merge machdep.hPaul Mackerras2005-10-197-29/+42
| | | | | | | | | | | | A few things change for consistency between ppc32 and ppc64: idle functions return void; *_get_boot_time functions return unsigned long (i.e. time_t) rather than filling in a struct rtc_time (since that's useful to the callers and easier for pmac to generate); *_get_rtc_time and *_set_rtc_time functions take a struct rtc_time; irq_canonicalize is gone; nvram_sync returns void. Signed-off-by: Paul Mackerras <paulus@samba.org>
* ppc: Minor smp changes for consistency with ppc64Paul Mackerras2005-10-192-5/+4
| | | | | | | | | This makes platform code use the smp_ops variable directly instead of ppc_md.smp_ops, removes the two unused `data' and `wait' arguments from the *_message_pass() functions, and removes the call to the never-implemented smp_ops->space_timers() function. Signed-off-by: Paul Mackerras <paulus@samba.org>
* Merge rsync://oak/kernels/iseries/work/Paul Mackerras2005-10-184-242/+128
|\
| * powerpc: change sys32_ to compat_sys_Stephen Rothwell2005-10-184-242/+128
| | | | | | | | | | | | | | | | | | 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-186-15/+14
|/ | | | | | | | 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-182-1/+1270
| | | | Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
* [PATCH] powerpc: Another maple merge tree fixDavid Gibson2005-10-171-3/+1
| | | | | | | | | 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-171-2/+2
| | | | | | | | | | 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-173-18/+33
| | | | | | | | 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: Make CONFIG_PROC_DEVICETREE independent of CONFIG_PPC_OFPaul Mackerras2005-10-171-3/+3
| | | | | | ... since all platforms will have a device tree. Signed-off-by: Paul Mackerras <paulus@samba.org>
* powerpc: Clear the BSS at the start of early_init with ARCH=ppcPaul Mackerras2005-10-171-0/+4
| | | | Signed-off-by: Paul Mackerras <paulus@samba.org>
* powerpc: Merge syscalls.c and sys_ppc32.c.Paul Mackerras2005-10-174-6/+1484
| | | | Signed-off-by: Paul Mackerras <paulus@samba.org>
* powerpc: Initialize btext subsystem later, after prom_initPaul Mackerras2005-10-174-106/+4
| | | | | | | | | | | | 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-174-44/+44
| | | | | | instead of L1_CACHE_LINE_SIZE and LG_L1_CACHE_LINE_SIZE Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
* powerpc: move iSeries/HvCallPci.h to platforms/iseries/call_pci.hStephen Rothwell2005-10-144-3/+293
| | | | Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
* powerpc: move iSeries/HvCallHpt.h to platforms/iseries/call_hpt.hStephen Rothwell2005-10-143-2/+104
| | | | Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
* powerpc: eliminate DsaAddr from pci_dnStephen Rothwell2005-10-144-16/+23
| | | | Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
* powerpc: remove ISERIES_[SUB]BUS macrosStephen Rothwell2005-10-143-17/+10
| | | | | | This allows us to simplify a couple of things. Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
* powerpc: move iSeries/iSeries_pci.h to platforms/iseriesStephen Rothwell2005-10-145-12/+77
| | | | | | | | The only real user of this file outside platforms/iseries was drivers/net/iseries_veth.c but all it wanted was ISERIES_HV_ADDR() so we move that to abs_addr.h (and lowercase it). Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
* powerpc: fix uname -mStephen Rothwell2005-10-131-0/+2
| | | | | | | It will now give ppc64 on 64bit platforms and ppc on 32bit platforms. Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
* powerpc: merge ptrace.cStephen Rothwell2005-10-132-1/+614
| | | | Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
* ppc64: use powerpc of_device.cStephen Rothwell2005-10-131-1/+2
| | | | Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
* ppc64: merge binfmt_elf32.cStephen Rothwell2005-10-133-1/+81
| | | | | | 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-131-5/+1
| | | | Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
* powerpc: create 32 bit LOADADDR macroStephen Rothwell2005-10-131-4/+2
| | | | | | and use it in misc_32.S Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
* powerpc: consolidate cputable.cStephen Rothwell2005-10-132-1/+998
| | | | | | Also simplify arch/ppc64/kernel/Makefile Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
* powerpc: Bring in some changes made to arch/ppc and include/asm-ppc64Paul Mackerras2005-10-123-1/+12
| | | | | | | | Recent commits upstream have changed files which are currently duplicated in arch/powerpc and include/asm-powerpc. This updates them with the corresponding changes. Signed-off-by: Paul Mackerras <paulus@samba.org>
* powerpc: Move default hash table size calculation to hash_utils_64.cPaul Mackerras2005-10-122-21/+22
| | | | | | | | | 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>
* Merge from Linus' treePaul Mackerras2005-10-121-2/+2
|
* powerpc: make iSeries boot againStephen Rothwell2005-10-124-6/+8
| | | | | | | | | | | | | | | | On ARCH=ppc64 we were getting htab_hash_mask recalculated to the correct value for our particular machine by accident. In the merge tree, that code was commented out, so htab_hash_mask was being corrupted. We now set ppc64_pft_size instead which gets htab_has_mask calculated correctly for us later. We should put an ibm,pft-size property in the device tree at some point. Also set -mno-minimal-toc in some makefiles. Allow iSeries to configure PROC_DEVICETREE. Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
* powerpc: pci_dn's should point to their device_node'sStephen Rothwell2005-10-121-0/+1
| | | | Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
* ppc64: Use merged versions of init_task.c and process.c.Paul Mackerras2005-10-111-1/+1
| | | | | | | 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-114-2/+13
| | | | | | | | | | | | 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-111-16/+0
| | | | | | | 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>
OpenPOWER on IntegriCloud