Commit Graph

2291 Commits

Author SHA1 Message Date
Stephen Rothwell f255f0dd1b powerpc: pci_dn's should point to their device_node's
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
2005-10-12 10:57:45 +10:00
Paul Mackerras f696012330 ppc64: compile fix - define execve in misc.S
This used to be inline in include/asm-ppc64/unistd.h, but isn't
inline in the merged include/asm-powerpc/unistd.h, so we need a
definition here.

Signed-off-by: Paul Mackerras <paulus@samba.org>
2005-10-11 22:10:49 +10:00
Paul Mackerras 3abec857a0 ppc64: Use merged versions of init_task.c and process.c.
These two files are now built in arch/powerpc/kernel instead of
arch/ppc64/kernel.

Signed-off-by: Paul Mackerras <paulus@samba.org>
2005-10-11 22:09:48 +10:00
Paul Mackerras fd582ec88e ppc: Various minor compile fixes
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>
2005-10-11 22:08:12 +10:00
Paul Mackerras 35d81a4bfe ppc: Adapt to asm-powerpc/irq.h irq_canonicalize changes
Now instead of having a ppc_md function, we just have a variable
which says whether to do the i8259 irq canonicalization or not,
and set that variable on the platforms that need that.  It looks
to me that radstone_ppc7d was trying to use irq canonicalization
for something else in a broken kind of way - it will need to be
fixed properly.

Signed-off-by: Paul Mackerras <paulus@samba.org>
2005-10-11 22:03:09 +10:00
Paul Mackerras cc5aa206d2 powerpc: Remove debug messages from setup_64.c
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>
2005-10-11 17:35:20 +10:00
Paul Mackerras abc244dd85 powerpc: Remove xmon.h include from arch/powerpc/platforms/powermac/pic.c
... since it isn't needed.

Signed-off-by: Paul Mackerras <paulus@samba.org>
2005-10-11 10:00:07 +10:00
Paul Mackerras 8d66912c3d powerpc: Remove 83xx from arch/powerpc/platforms/Makefile for now
Since we don't have an 83xx directory or a 83xx/Makefile, having
83xx in causes make clean to fail.

Signed-off-by: Paul Mackerras <paulus@samba.org>
2005-10-11 09:59:53 +10:00
Paul Mackerras 20f629549b powerpc: Make building the boot image work for both 32-bit and 64-bit
At the moment we don't have a merged arch/powerpc/boot, so we build the
boot images in arch/ppc/boot and arch/ppc64/boot.  Unfortunately the
makefile targets are different in those two directories, so this makes
a change to accommodate both for the moment.

Signed-off-by: Paul Mackerras <paulus@samba.org>
2005-10-11 09:59:32 +10:00
Paul Mackerras 3c3f42d63a powerpc: Start merging 64-bit support into powermac files
Signed-off-by: Paul Mackerras <paulus@samba.org>
2005-10-10 22:58:41 +10:00
Paul Mackerras e574d238ab powerpc: Fix compilation for 32-bit configs
Signed-off-by: Paul Mackerras <paulus@samba.org>
2005-10-10 22:58:10 +10:00
Paul Mackerras c5200c90db powerpc: Fix off-by-one error in prom_init.c
This was preventing us from recognizing that we did actually
instantiate RTAS successfully on pSeries.

Signed-off-by: Paul Mackerras <paulus@samba.org>
2005-10-10 22:57:03 +10:00
Paul Mackerras 76f9f87fa5 powerpc: Get iseries to compile with ARCH=powerpc
This moves the Device_List member from struct device_node to
struct pci_dn, which cleans up the device_node and makes the code
a little simpler.

Signed-off-by: Paul Mackerras <paulus@samba.org>
2005-10-10 22:52:26 +10:00
Paul Mackerras 40ef8cbc6d powerpc: Get 64-bit configs to compile with ARCH=powerpc
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>
2005-10-10 22:50:37 +10:00
Paul Mackerras bc6f8a4b19 powerpc: move lparmap.c to arch/powerpc/kernel
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>
2005-10-10 22:45:07 +10:00
Paul Mackerras 5a408329ed powerpc: Fix bug caused by negation of 64-bit reloc_offset value
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>
2005-10-10 22:41:25 +10:00
Paul Mackerras 4a2885630b powerpc: Reduce the 32/64-bit diffs in vmlinux.lds.S
Also adds the definition of the _sdata symbol to the ppc64 vmlinux.lds.S.

Signed-off-by: Paul Mackerras <paulus@samba.org>
2005-10-10 22:38:46 +10:00
Paul Mackerras 8641778049 powerpc: Reduce the 32/64-bit differences in traps.c
Signed-off-by: Paul Mackerras <paulus@samba.org>
2005-10-10 22:37:57 +10:00
Paul Mackerras b42b661745 powerpc: Make prom_init.c suitable for both 32-bit and 64-bit
Signed-off-by: Paul Mackerras <paulus@samba.org>
2005-10-10 22:37:16 +10:00
Paul Mackerras 9994a33865 powerpc: Introduce entry_{32,64}.S, misc_{32,64}.S, systbl.S
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>
2005-10-10 22:36:14 +10:00
Paul Mackerras 06d67d5474 powerpc: make process.c suitable for both 32-bit and 64-bit
Signed-off-by: Paul Mackerras <paulus@samba.org>
2005-10-10 22:29:05 +10:00
Paul Mackerras daec962e27 powerpc: Use arch/powerpc/mm and arch/powerpc/lib for 64-bit
This also puts a copy of indirect_pci.c in arch/powerpc/sysdev
so that we don't need to build in arch/ppc/syslib.

Signed-off-by: Paul Mackerras <paulus@samba.org>
2005-10-10 22:25:26 +10:00
Paul Mackerras b3b8dc6c07 powerpc: Use reg.h instead of processor.h when we just want reg names
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>
2005-10-10 22:20:10 +10:00
Paul Mackerras ff64208df7 powerpc: Merge Kconfig.debug
This merges in the ppc64 bits into arch/powerpc/Kconfig.debug

Signed-off-by: Paul Mackerras <paulus@samba.org>
2005-10-10 22:15:52 +10:00
Paul Mackerras f6d57916db powerpc: rename powermac files to remove pmac_ prefix
Since the files are now in arch/powerpc/platforms/powermac, the
pmac_ prefix that they had is redundant.

Signed-off-by: Paul Mackerras <paulus@samba.org>
2005-10-10 22:13:53 +10:00
Paul Mackerras c17e3325ba ppc64: Use SPRN_ prefix for special purpose register names
Now that we are using the merged reg.h we have to use the SPRN_xxx
names rather than the xxx names.

Signed-off-by: Paul Mackerras <paulus@samba.org>
2005-10-10 22:07:35 +10:00
Paul Mackerras 69a80d3f69 powerpc: move pSeries files to arch/powerpc/platforms/pseries
Signed-off-by: Paul Mackerras <paulus@samba.org>
2005-10-10 22:03:41 +10:00
Paul Mackerras ab1f9dac6e powerpc: Merge arch/ppc64/mm to arch/powerpc/mm
This moves the remaining files in arch/ppc64/mm to arch/powerpc/mm,
and arranges that we use them when compiling with ARCH=ppc64.

Signed-off-by: Paul Mackerras <paulus@samba.org>
2005-10-10 21:58:35 +10:00
Paul Mackerras 70d64ceaa1 powerpc: Rename files to have consistent _32/_64 suffixes
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>
2005-10-10 21:52:43 +10:00
Paul Mackerras a432403a89 ppc64: Use the merged lmb routines
The only real change here is that lmb_enforce_memory_limit now takes
the memory_limit as a parameter instead of as a global variable.

Signed-off-by: Paul Mackerras <paulus@samba.org>
2005-10-10 20:49:07 +10:00
Paul Mackerras b60fc8bbd2 powerpc: Make some #includes explicit.
In preparation for merging processor.h, this adds some explicit
but won't be after the merge.

Signed-off-by: Paul Mackerras <paulus@samba.org>
2005-10-10 14:14:55 +10:00
Paul Mackerras b5bbeb2373 powerpc: Use SPRN_xxx rather than xxx for SPR numbers
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>
2005-10-10 14:01:07 +10:00
Paul Mackerras 05f62a5c04 powerpc: Fix idle.c compile warning
This fixes a compile warning when using arch/ppc/kernel/idle.c
in a merged (ARCH=powerpc) kernel.

Signed-off-by: Paul Mackerras <paulus@samba.org>
2005-10-06 13:29:24 +10:00
Paul Mackerras c16ff7e448 powerpc: Define a _sdata symbol
This is needed by arch/powerpc/mm/mem.c now.

Signed-off-by: Paul Mackerras <paulus@samba.org>
2005-10-06 13:28:31 +10:00
Paul Mackerras 8dad3f9257 powerpc: Merge traps.c a bit more
This reduces the differences between ppc32 and ppc64 in
arch/powerpc/kernel/traps.c a bit further.

Signed-off-by: Paul Mackerras <paulus@samba.org>
2005-10-06 13:27:05 +10:00
Paul Mackerras b3491269f5 powerpc: Use the merged of_device.c with ARCH=powerpc
Also compile btext.c with -fPIC; this was missed before.

Signed-off-by: Paul Mackerras <paulus@samba.org>
2005-10-06 13:24:50 +10:00
Paul Mackerras 2e686bc3bf powerpc: Merge of_device.c and of_device.h
Signed-off-by: Paul Mackerras <paulus@samba.org>
2005-10-06 13:22:17 +10:00
Paul Mackerras 187a00679a powerpc: Remove 64-bit cpu support from ppc32.
These days there is no good reason to run a ppc32 kernel on a 64-bit
cpu, rather than a ppc64 kernel, so remove the config option and a
bunch of code (and ifdefs) from head.S.

Signed-off-by: Paul Mackerras <paulus@samba.org>
2005-10-06 12:49:05 +10:00
Paul Mackerras 7c8c6b9776 powerpc: Merge lmb.c and make MM initialization use it.
This also creates merged versions of do_init_bootmem, paging_init
and mem_init and moves them to arch/powerpc/mm/mem.c.  It gets rid
of the mem_pieces stuff.

I made memory_limit a parameter to lmb_enforce_memory_limit rather
than a global referenced by that function.  This will require some
small changes to ppc64 if we want to continue building ARCH=ppc64
using the merged lmb.c.

Signed-off-by: Paul Mackerras <paulus@samba.org>
2005-10-06 12:23:33 +10:00
Paul Mackerras 9b6b563c0d powerpc: Merge in the ppc64 version of the prom code.
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>
2005-10-06 12:06:20 +10:00
Paul Mackerras b85a046af3 powerpc: Define 32/64 bit asm macros and use them in fpu.S
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>
2005-10-06 10:59:19 +10:00
Paul Mackerras 6ce52e6438 ppc32: remove obsolete klock_info definition
klock_info isn't used or referenced anywhere else in the kernel.

Signed-off-by: Paul Mackerras <paulus@samba.org>
2005-10-04 14:30:07 +10:00
Paul Mackerras dd8cad6be2 ppc32: export a few more things where they are defined
... and remove the exports from ppc_ksyms.c.

Signed-off-by: Paul Mackerras <paulus@samba.org>
2005-10-04 14:28:29 +10:00
Paul Mackerras 292dcc86dd Merge rsync://ozlabs.org/sfr-git/for-paulus/ 2005-10-02 11:12:43 +10:00
Stephen Rothwell eeb2d21806 powerpc: make iSeries boot
Now that we use the device tree, it helps to build it in.
It helps to links the kernel at the correct address.

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
2005-10-01 18:52:26 +10:00
Stephen Rothwell cabb558714 powerpc: make iSeries build
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>
2005-10-01 18:52:10 +10:00
Stephen Rothwell bd142b70a6 ppc64: simplify the build a little
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
2005-10-01 18:51:12 +10:00
Stephen Rothwell dc1c1ca3dc powerpc: merge idle_power4.S and trapc.s
Use idle_power4.S from ppc64 as we are not going to support
32 bit power4 in the merged tree.

Merge ppc64 traps.c into powerpc traps.c:
	use ppc64 versions of exception routine names
		(as they don't have StudlyCaps)
	make all the versions if die() have the same
		prototype

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
2005-10-01 18:43:42 +10:00
Paul Mackerras c0c0d996d0 powerpc: Get merged kernel to compile and run on 32-bit SMP powermac.
This updates the powermac SMP code to use the mpic driver instead of
the openpic driver and fixes the SMP-dependent context switch code.
We had a subtle bug where we were using interrupt numbers 256-259 for
IPIs, but ppc32 had NR_IRQS = 256.  Moved the IPIs down to use interrupt
numbers 252-255 instead.

Signed-off-by: Paul Mackerras <paulus@samba.org>
2005-10-01 13:49:08 +10:00
Stephen Rothwell d96024c688 powerpc: Move lparmap.c to powerpc/platforms
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
2005-09-30 18:04:10 +10:00