Age | Commit message (Collapse) | Author |
|
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>
|
|
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>
|
|
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>
|
|
Also adds the definition of the _sdata symbol to the ppc64 vmlinux.lds.S.
Signed-off-by: Paul Mackerras <paulus@samba.org>
|
|
Signed-off-by: Paul Mackerras <paulus@samba.org>
|
|
Signed-off-by: Paul Mackerras <paulus@samba.org>
|
|
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>
|
|
Signed-off-by: Paul Mackerras <paulus@samba.org>
|
|
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>
|
|
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>
|
|
This merges in the ppc64 bits into arch/powerpc/Kconfig.debug
Signed-off-by: Paul Mackerras <paulus@samba.org>
|
|
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>
|
|
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>
|
|
Signed-off-by: Paul Mackerras <paulus@samba.org>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
This is needed by arch/powerpc/mm/mem.c now.
Signed-off-by: Paul Mackerras <paulus@samba.org>
|
|
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>
|
|
Also compile btext.c with -fPIC; this was missed before.
Signed-off-by: Paul Mackerras <paulus@samba.org>
|
|
Signed-off-by: Paul Mackerras <paulus@samba.org>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
klock_info isn't used or referenced anywhere else in the kernel.
Signed-off-by: Paul Mackerras <paulus@samba.org>
|
|
... and remove the exports from ppc_ksyms.c.
Signed-off-by: Paul Mackerras <paulus@samba.org>
|
|
|
|
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>
|
|
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>
|
|
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
|
|
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>
|
|
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>
|
|
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
|
|
Update head_64.S from arch/ppc64
Remove arc/ppc/kernel/fpu.S
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
|
|
Update old kernel/Makefiles to cope
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
|
|
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
|
|
These files are only referenced from within
arch/powerpc/platforms/iseries, so move them there.
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
|
|
Signed-off-by: Paul Mackerras <paulus@samba.org>
|
|
My previous patch fixing invalidation of huge PTEs wasn't good enough, we
still had an issue if a PTE invalidation batch contained both small and
large pages. This patch fixes this by making sure the batch is flushed if
the page size fed to it changes.
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>
|
|
Mikey and I were testing kexec and hit a lockup. It turns out gcc 4.0
optimises the kexec_prepare_cpus loop so we avoid reloading paca.hw_cpu_id.
A gcc barrier() fixes the problem.
Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
|
|
This should resolve the issue seen in bugme bug #5105, where it is assumed
that dualcore x86_64 systems have synced TSCs. This is not the case, and
alternate timesources should be used instead.
For more details, see:
http://bugzilla.kernel.org/show_bug.cgi?id=5105
Andi's earlier concerns that the TSCs should be synced on dualcore systems
have been resolved by confirmation from AMD folks that they can be
unsynced.
Acked-by: Andi Kleen <ak@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
|
|
I did something stupid in my oprofile fix, here's the obvious fix:
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>
|
|
|
|
This merges ppc_ksyms.c, puts back the actual do_execve call in
sys_execve, makes init_MMU call find_end_of_memory rather than
ppc_md.find_end_of_memory (every platform has a device tree
with a /memory node now, right?) and fixes some problems with the
mpic initialization on newworld powermacs.
Signed-off-by: Paul Mackerras <paulus@samba.org>
|
|
Signed-off-by: Paul Mackerras <paulus@samba.org>
|
|
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>
|