summaryrefslogtreecommitdiffstats
path: root/include/asm-powerpc
Commit message (Collapse)AuthorAgeFilesLines
* powerpc: Fix time code for 601 processorsPaul Mackerras2005-10-231-1/+13
| | | | | | | | | | The 601 doesn't have the timebase register; instead it has an RTCL register that counts nanoseconds and wraps at 1000000000, and an RTCU register that counts seconds. This makes the necessary changes for the merged time code to use the RTCL/U registers when the kernel is running on a 601. Signed-off-by: Paul Mackerras <paulus@samba.org>
* Merge changes from linux-2.6 by handPaul Mackerras2005-10-222-1/+2
|\
| * [PATCH] ppc32: Fix timekeepingBenjamin Herrenschmidt2005-10-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Interestingly enough, ppc32 had broken timekeeping for ages... It worked, but probably drifted a bit more than could be explained by the actual bad precision of the timebase calibration. We discovered that recently when somebody figured out that the common code was using CLOCK_TICK_RATE to correct the timekeeing, and ppc32 had a completely bogus value for it. This patch turns it into something saner. Probably not as good as doing something based on the actual timebase frequency precision but I'll leave that sort of math to others. This at least makes it better for the common HZ values. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | powerpc: Merge in 64-bit powermac support.Paul Mackerras2005-10-221-4/+2
| | | | | | | | | | | | | | | | | | | | This brings in a lot of changes from arch/ppc64/kernel/pmac_*.c to arch/powerpc/platforms/powermac/*.c and makes various minor tweaks elsewhere. On the powermac we now initialize ppc_md by copying the whole pmac_md structure into it, which required some changes in the ordering of initializations of individual fields of it. Signed-off-by: Paul Mackerras <paulus@samba.org>
* | powerpc: Make set_rtc_time() return error code from lower-level functionPaul Mackerras2005-10-221-4/+2
| | | | | | | | | | | | | | | | Previously it ignored the return value from ppc_md.set_rtc_time, but in fact the functions that that can point to do return a useful error code, so return it from set_rtc_time(). Signed-off-by: Paul Mackerras <paulus@samba.org>
* | ppc64/powerpc: Fix time initialization on SMP systemsPaul Mackerras2005-10-221-3/+5
| | | | | | | | | | | | | | | | | | | | | | 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>
* | [PATCH] powerpc: Merge thread_info.hDavid Gibson2005-10-211-0/+135
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-201-1/+1
| | | | | | | | | | | | | | | | | | | | 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/ppc/ppc64: Various compile fixes.Paul Mackerras2005-10-201-0/+2
| | | | | | | | | | | | | | | | | | | | This declares powersave_nap in system.h and makes it an int everywhere, fixes typos for the maple platform, fixes a couple of places where I missed removing the last two arguments from a message_pass function, and makes ppc64 consistent with ppc32 in the type of the pci_bridge.cfg_data field. Signed-off-by: Paul Mackerras <paulus@samba.org>
* | powerpc: Merge various powermac-related header files.Paul Mackerras2005-10-2010-0/+1662
| | | | | | | | | | | | | | | | | | Except for smu.h, which moved from asm-ppc64 to asm-powerpc, all of these moved from asm-ppc to asm-powerpc. In each case the asm-ppc64 version (if there was one) was just a single line including the asm-ppc version. Signed-off-by: Paul Mackerras <paulus@samba.org>
* | powerpc: Move smp_mpic_message_pass into mpic.cPaul Mackerras2005-10-201-0/+3
| | | | | | | | | | | | | | 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-201-5/+2
| | | | | | | | | | | | | | ... for consistency with ppc32; also add in ppc32's show_percpuinfo function. Signed-off-by: Paul Mackerras <paulus@samba.org>
* | [PATCH] powerpc: Merge types.hBecky Bruce2005-10-201-0/+104
| | | | | | | | | | | | | | | | | | | | | | | | | | This patch merges types.h into include/asm-powerpc. The only real change is the removal of the include of linux/config.h from the 32-bit version - it doesn't appear to be necessary. This patch has been built on several different 32 and 64-bit platforms, and booted on mpc8540_ads. Signed-off-by: Becky Bruce <becky.bruce@freescale.com> Signed-off-by: Kumar Gala <kumar.gala@freescale.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
* | [PATCH] powerpc: Merge ppc64 pmc.[ch] with ppc32 perfmon.[ch]David Gibson2005-10-201-0/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: Merge time.c and asm/time.h.Paul Mackerras2005-10-203-0/+294
| | | | | | | | | | | | | | | | | | | | 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: Merge machdep.hPaul Mackerras2005-10-192-1/+290
| | | | | | | | | | | | | | | | | | | | | | | | 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>
* | powerpc: fix 32bit LOADADDR macroStephen Rothwell2005-10-171-1/+1
| | | | | | | | | | | | I forgot a semicolon. Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
* | powerpc: move iSeries/iSeries_pci.h to platforms/iseriesStephen Rothwell2005-10-142-0/+2
| | | | | | | | | | | | | | | | 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: create 32 bit LOADADDR macroStephen Rothwell2005-10-131-0/+4
| | | | | | | | | | | | and use it in misc_32.S Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
* | powerpc: consolidate cputable.cStephen Rothwell2005-10-131-3/+0
| | | | | | | | | | | | 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-121-1/+1
| | | | | | | | | | | | | | | | 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>
* | ppc: Various minor compile fixesPaul Mackerras2005-10-111-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | 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: Merged asm/xmon.hPaul Mackerras2005-10-111-0/+12
| | | | | | | | | | | | Xmon itself isn't merged yet, though. Signed-off-by: Paul Mackerras <paulus@samba.org>
* | powerpc: Merged asm/i8259.hPaul Mackerras2005-10-111-0/+11
| | | | | | | | Signed-off-by: Paul Mackerras <paulus@samba.org>
* | powerpc: Merged asm/backlight.hPaul Mackerras2005-10-111-0/+31
| | | | | | | | Signed-off-by: Paul Mackerras <paulus@samba.org>
* | powerpc: Merge asm/unistd.hPaul Mackerras2005-10-101-0/+510
| | | | | | | | Signed-off-by: Paul Mackerras <paulus@samba.org>
* | powerpc: Merge asm/irq.hPaul Mackerras2005-10-101-0/+500
| | | | | | | | Signed-off-by: Paul Mackerras <paulus@samba.org>
* | powerpc: Get 64-bit configs to compile with ARCH=powerpcPaul Mackerras2005-10-105-27/+75
| | | | | | | | | | | | | | | | 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: make process.c suitable for both 32-bit and 64-bitPaul Mackerras2005-10-101-4/+2
| | | | | | | | Signed-off-by: Paul Mackerras <paulus@samba.org>
* | powerpc: Merged processor.h.Paul Mackerras2005-10-102-60/+501
| | | | | | | | | | | | | | | | | | This adds register definitions from the ppc64 processor.h to reg.h, and makes a single merged processor.h. I moved __is_processor from the ppc64 system.h to the merged reg.h along with the PVR register constants. Signed-off-by: Paul Mackerras <paulus@samba.org>
* | powerpc: Merge of_device.c and of_device.hPaul Mackerras2005-10-061-0/+64
| | | | | | | | Signed-off-by: Paul Mackerras <paulus@samba.org>
* | powerpc: Merge in the ppc64 version of the prom code.Paul Mackerras2005-10-067-0/+690
| | | | | | | | | | | | | | | | | | | | | | | | | | This brings in the ppc64 version of prom_init.c, prom.c and btext.c and makes them work for ppc32. This also brings in the new calling convention, where the first entry to the kernel (with r5 != 0) goes to the prom_init code, which then restarts from the beginning (with r5 == 0) after it has done its stuff. For now this also brings in the ppc32 version of setup.c. It also merges lmb.h. Signed-off-by: Paul Mackerras <paulus@samba.org>
* | powerpc: Define 32/64 bit asm macros and use them in fpu.SPaul Mackerras2005-10-061-5/+23
| | | | | | | | | | | | | | | | These macros help in writing assembly code that works for both ppc32 and ppc64. With this we now have a common fpu.S. This takes out load_up_fpu from head_64.S. Signed-off-by: Paul Mackerras <paulus@samba.org>
* | powerpc: make iSeries buildStephen Rothwell2005-10-011-1/+3
| | | | | | | | | | | | | | | | Merge vmlinux.lds.S. Also remove arch/powerpc/kernel/vmlinux.lds which is a generated file. Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
* | Merge Stephen Rothwell's patchesPaul Mackerras2005-09-281-0/+54
|\ \
| * | powerpc: Move iSeries_pci.c to powerpc/platform/iseriesStephen Rothwell2005-09-281-0/+54
| | | | | | | | | | | | | | | | | | | | | | | | and rename it to pci.c. This also required moving arch/ppc64/kernel/pci.h into include/asm-powerpc (called ppc-pci.h. Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
* | | [PATCH] ppc32: make cur_cpu_spec a single pointer instead of an arrayKumar Gala2005-09-282-19/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changed ppc32 so that cur_cpu_spec is just a single pointer for all CPUs. Additionally, made call_setup_cpu check to see if the cpu_setup pointer is NULL or not before calling the function. This lets remove the dummy cpu_setup calls that just return. Signed-off-by: Kumar Gala <kumar.gala@freescale.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
* | | [PATCH] powerpc: merged asm/cputable.hKumar Gala2005-09-281-0/+442
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Merged cputable.h between ppc32 and ppc64. In doing this removed support for the BEGIN_FTR_SECTION/END_FTR_SECTION macros in C code since they dont compile correctly. C code should use cpu_has_feature(). This is based on Arnd Bergmann's initial patch. Signed-off-by: Kumar Gala <kumar.gala@freescale.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
* | | [PATCH] powerpc: merge byteorder.hBecky Bruce2005-09-281-0/+89
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | powerpc: Merge byteorder.h Essentially adopts the 64-bit version of this file. The 32-bit version had been using unsigned ints for arguments/return values that were actually only 16 bits - the new file uses __u16 for these items as in the 64-bit version of the header. The order of some of the asm constraints in the 64-bit version was slightly different than the 32-bit version, but they produce identical code. Signed-off-by: Becky Bruce <becky.bruce@freescale.com> Signed-off-by: Kumar Gala <kumar.gala@freescale.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
* | powerpc: clean up after powermac build mergeStephen Rothwell2005-09-275-13/+17
| | | | | | | | | | | | | | | | | | | | | | | | Complete moving arch/ppc64/kernel/mpic.h, include/asm-ppc/reg.h, include/asm-ppc64/kdebug.h and include/asm-ppc64/kprobes.h Add arch/powerpc/platforms/Makefile and use it from arch/powerpc/Makefile Introduce OLDARCH temporarily so we can point back to the originating architecture Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
* | powerpc: Merge enough to start building in arch/powerpc.Paul Mackerras2005-09-265-0/+1184
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This creates the directory structure under arch/powerpc and a bunch of Kconfig files. It does a first-cut merge of arch/powerpc/mm, arch/powerpc/lib and arch/powerpc/platforms/powermac. This is enough to build a 32-bit powermac kernel with ARCH=powerpc. For now we are getting some unmerged files from arch/ppc/kernel and arch/ppc/syslib, or arch/ppc64/kernel. This makes some minor changes to files in those directories and files outside arch/powerpc. The boot directory is still not merged. That's going to be interesting. Signed-off-by: Paul Mackerras <paulus@samba.org>
* | [PATCH] powerpc: merge semaphore.hBecky Bruce2005-09-251-0/+98
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | powerpc: Merge semaphore.h Adopted the ppc64 version of semaphore.h. The 32-bit version used smp_wmb(), but recent updates to atomic.h mean this is no longer required. The 64-bit version made use of unlikely(), which has been retained in the combined version. This patch requires the recent atomic.h patch. Signed-off-by: Becky Bruce <becky.bruce@freescale.com> Signed-off-by: Kumar Gala <kumar.gala@freescale.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
* | [PATCH] powerpc: Merge asm-ppc*/rwsem.hJon Loeliger2005-09-251-0/+163
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Merge asm-ppc*/rwsem.h into include/asm-powerpc. Removed smp_*mb() memory barriers from the ppc32 code as they are now burried in the atomic_*() functions as suggested by Paul, implemented by Arnd, and pushed out by Becky. I am not the droid you are looking for. This patch depends on Becky's atomic.h merge patch. Signed-off-by: Jon Loeliger <jdl@freescale.com> Signed-off-by: Kumar Gala <kumar.gala@freescale.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
* | [PATCH] powerpc: merge atomic.h, memory.hBecky Bruce2005-09-253-0/+263
| | | | | | | | | | | | | | | | | | | | | | | | | | | | powerpc: Merge atomic.h and memory.h into powerpc Merged atomic.h into include/powerpc. Moved asm-style HMT_ defines from memory.h into ppc_asm.h, where there were already HMT_defines; moved c-style HMT_ defines to processor.h. Renamed memory.h to synch.h to better reflect its contents. Signed-off-by: Kumar Gala <kumar.gala@freescale.com> Signed-off-by: Becky Bruce <becky.bruce@freescale.com> Signed-off-by: Jon Loeliger <linuxppc@jdl.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
* | [PATCH] powerpc: Merge asm-ppc*/seccomp.h, drop TIF_32BIT checkJon Loeliger2005-09-251-0/+16
| | | | | | | | | | | | | | | | Merge asm-ppc*/seccomp.h. Drop TIF_32BIT check. Signed-off-by: Jon Loeliger <jdl@freescale.com> Signed-off-by: Kumar Gala <kumar.gala@freescale.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
* | [PATCH] powerpc: merged hw_irq.hKumar Gala2005-09-221-0/+115
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Merged hw_irq.h between ppc32 & ppc64. Added support to use the Book-E wrtee[i] instructions that allow modifying MSR[EE] atomically. Additionally, added get_irq_desc() macros to ppc32 to allow mask_irq(), unmask_irq(), and ack_irq() to be common between ppc32 & ppc64. Note: because 64-bit Book-E implementations only have a 32-bit MSR the macro's for Book-E need to come before the PPC64 macro's to ensure the right thing happends for 64-bit Book-E processors. Signed-off-by: Kumar Gala <kumar.gala@freescale.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
* | [PATCH] powerpc: Fix compiling of ppc32Kumar Gala2005-09-221-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The merging of auxvec.h into asm-powerpc introduced the AT_SYSINFO_EHDR into the ppc32 build that is used for VDSO. However, we dont have VDSO support in the ppc32 tree at this time. Introducing this define causes a number of other things to get built with the assumption of VDSO, thus causing the compile errors for ppc32. Until we have VDSO on ppc32 we will leave AT_SYSINFO_EHDR a ppc64 only define. Signed-off-by: Kumar K. Gala <kumar.gala@freescale.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
* | [PATCH] powerpc: Merge asm-ppc*/dma.hJon Loeliger2005-09-221-0/+390
| | | | | | | | | | | | | | | | This merges the asm-ppc*/dma.h files. Signed-off-by: Jon Loeliger <jdl@freescale.com> Signed-off-by: Kumar Gala <kumar.gala@freescale.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
* | [PATCH] powerpc: merge include/asm-ppc*/statfs.h into ↵Kumar Gala2005-09-211-0/+60
| | | | | | | | | | | | | | include/asm-powerpc/statfs.h Signed-off-by: Kumar Gala <kumar.gala@freescale.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
* | [PATCH] powerpc: merge include/asm-ppc*/spinlock_types.h into ↵Kumar Gala2005-09-211-0/+20
| | | | | | | | | | | | | | include/asm-powerpc/spinlock_types.h Signed-off-by: Kumar Gala <kumar.gala@freescale.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
OpenPOWER on IntegriCloud