Commit 765342526246c97600e5344c0949824d94bb51c3 made some small
changes to IPI, message_pass in smp_ops was initialized to NULL
for other platforms but not for 85xx which causes us to always
use the mpic for IPI's. This patch makes doorbells work again.
Signed-off-by: Matthew McCli
Fix typo in comments introduced by:
commit 6dece0eb69b2a28e18d104bc5d707f1cb673f5e0
Author: Scott Wood
Date: Mon Jul 25 11:29:33 2011 +
powerpc/32: Pass device tree address as u64 to machine_init
Signed-off-by: Matthew McClintock
cc: Scott Wood
---
arch/powerpc/kernel
This is listed as a requirement after issuing a core reset to
properly clear pending interrupts
Signed-off-by: Matthew McClintock
---
arch/powerpc/sysdev/mpic.c |7 +++
1 files changed, 7 insertions(+), 0 deletions(-)
diff --git a/arch/powerpc/sysdev/mpic.c b/arch/powerpc/sysdev/mpic.c
This is not strictly required, because this iterates over logical
cpus and they are not (currently) discontigous. But, it's cleaner
code and more obvious what is going on
Signed-off-by: Matthew McClintock
---
arch/powerpc/platforms/85xx/smp.c |2 +-
1 files changed, 1 insertions(
Currently, we assume the first CPU to come up is the boot cpu. Instead
we can use the boot_cpu_phys from the device tree.
Signed-off-by: Matthew McClintock
---
arch/powerpc/kernel/asm-offsets.c|4
arch/powerpc/kernel/head_fsl_booke.S |9 ++---
2 files changed, 6 insertions
not around to store this info
This patch also has the effect of having the logical cpu number
of the boot cpu be updated correctly independently of the ordering
of the cpu nodes in the device tree.
Signed-off-by: Matthew McClintock
---
Could also just change boot_cpuid every to
This is listed as a requirement for Freescale CoreNet based devices (e.g
p4080ds with MPIC v4.x) after issuing a core reset to properly clear pending
interrupts.
Signed-off-by: Matthew McClintock
---
v2: Updated commit message
arch/powerpc/sysdev/mpic.c |7 +++
1 files changed, 7
This is listed as a requirement for Freescale CoreNet based devices (e.g
p4080ds with MPIC v4.x) after issuing a core reset to properly clear pending
interrupts.
Signed-off-by: Matthew McClintock
---
v2: Updated commit message
v3: Added detail in code comment as well
arch/powerpc/sysdev
This is listed as a requirement for Freescale CoreNet based devices (e.g
p4080ds with MPIC v4.x) after issuing a core reset to properly clear pending
interrupts.
Signed-off-by: Matthew McClintock
---
v2: Updated commit message
v3: Added detail in code comment as well
v4: Check for MPIC_FSL
not around to store this info
This patch also has the effect of having the logical cpu number
of the boot cpu be updated correctly independently of the ordering
of the cpu nodes in the device tree.
Signed-off-by: Matthew McClintock
---
v2: Fix compile issue for peries
Remove '-1' ini
This fixes this build issue:
arch/powerpc/mm/hugetlbpage.c: In function 'reserve_hugetlb_gpages':
arch/powerpc/mm/hugetlbpage.c:312:2: error: implicit declaration of function
'parse_args'
make[1]: *** [arch/powerpc/mm/hugetlbpage.o] Error 1
Signed-off-by: Matthew McClint
)
NOTE: recipe linux-qoriq-sdk-3.0.34-r5: task do_compile: Failed
Signed-off-by: Matthew McClintock
---
arch/powerpc/boot/Makefile |1 +
1 file changed, 1 insertion(+)
diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile
index b7d8333..6a15c96 100644
--- a/arch/powerpc/boot
--silentoldconfig Kconfig
DTC arch/powerpc/boot/p4080ds.dtb
/bin/sh: /local/home/mattsm/git/linux/scripts/dtc/dtc: No such file or directory
make[1]: *** [arch/powerpc/boot/p4080ds.dtb] Error 1
make: *** [p4080ds.dtb] Error 2
Signed-off-by: Matthew McClintock
---
arch/powerpc/Makefile |2 +-
1 file
#x27;s16' but argument is of type
'int (*)(char *, char *)'
arch/powerpc/mm/hugetlbpage.c:313: error: too few arguments to function
'parse_args'
Signed-off-by: Matthew McClintock
---
arch/powerpc/mm/hugetlbpage.c |1 +
1 files changed, 1 insertions(+), 0 deletion
Commit 5336377d6225959624146629ce3fc88ee8ecda3d removed
the need for err, remove the variable
Signed-off-by: Matthew McClintock
---
arch/powerpc/kernel/module.c |1 -
1 files changed, 0 insertions(+), 1 deletions(-)
diff --git a/arch/powerpc/kernel/module.c b/arch/powerpc/kernel/module.c
Currently, the build can (very rarely) fail to build because libfdt.h has
not been created or is in the process of being copied.
Signed-off-by: Matthew McClintock
---
I think this fixes this build error. Please comment as it's really hard to
reproduce this build error. I've seen thi
the common code
path
Signed-off-by: Matthew McClintock
---
arch/powerpc/kernel/fsl_booke_entry_mapping.S |4 +---
1 files changed, 1 insertions(+), 3 deletions(-)
diff --git a/arch/powerpc/kernel/fsl_booke_entry_mapping.S
b/arch/powerpc/kernel/fsl_booke_entry_mapping.S
index beb4d78
We need the ability to reset cores for use with kexec/kdump for
SMP systems. Calling this function with the specific core you want
to reset will cause the CPU to spin in reset.
Signed-off-by: Matthew McClintock
---
arch/powerpc/sysdev/mpic.c | 18 ++
arch/powerpc/sysdev/mpic.h
Adds support for kexec on 85xx machines for the BookE platform.
Including support for SMP machines
Based off work from Maxim Uvarov
Signed-off-by: Matthew McClintock
---
To test/use you will need to fetch kexec from GIT and apply the following
patch for kexec to work properply with uImages
Enable building crash dump kernel as well as expose the flat
device tree for kexec to update to boot the crash kernel
---
arch/powerpc/Kconfig |2 +-
arch/powerpc/kernel/prom.c |2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/K
Fix sizes of variables so correct values are exported via /proc.
Cast variable in comparison to avoid compiler error.
Signed-off-by: Matthew McClintock
---
arch/powerpc/kernel/crash_dump.c|4 ++--
arch/powerpc/kernel/machine_kexec.c |4 +++-
2 files changed, 5 insertions(+), 3
On Thu, 2010-07-08 at 04:07 -0500, Milton Miller wrote:
> On Wed, 07 Jul 2010 around 10:51:20 -0000 Matthew McClintock wrote:
> >
> > Fix sizes of variables so correct values are exported via /proc.
> > Cast variable in comparison to avoid compiler error.
> >
On Fri, 2010-07-09 at 15:18 -0500, Milton Miller wrote:
> > I don't disagree but this can break kexec if phys_addr_t != unsigned
> > long. Also, doesn't the crash kernel have to live below 2GB so
> unsigned
> > long is always fine?
>
>
> Its could only break kexec for the case of phys_addr_t != u
Fix sizes of variables so correct values are exported via /proc.
Cast variable in comparison to avoid compiler error.
Signed-off-by: Matthew McClintock
---
arch/powerpc/kernel/crash_dump.c|4 ++--
arch/powerpc/kernel/machine_kexec.c | 10 +-
2 files changed, 7 insertions(+), 7
To build a proper flat device tree for kexec we need to know which
memreserve region was used for the device tree for the currently
running kernel, so we can remove it and replace it with the new
memreserve for the kexec'ed kernel
Signed-off-by: Matthew McClintock
---
arch/powerpc/kernel/p
To build a proper flat device tree for kexec we need to know which
memreserve region was used for the device tree for the currently
running kernel, so we can remove it and replace it with the new
memreserve for the kexec'ed kernel
Signed-off-by: Matthew McClintock
---
Removed unneeded cast
To build a proper flat device tree for kexec we need to know which
memreserve region was used for the device tree for the currently
running kernel, so we can remove it and replace it with the new
memreserve for the kexec'ed kernel
Signed-off-by: Matthew McClintock
---
V3: Remove unneeded
To build a proper flat device tree for kexec we need to know which
memreserve region was used for the device tree for the currently
running kernel, so we can remove it and replace it with the new
memreserve for the kexec'ed kernel
Signed-off-by: Matthew McClintock
---
V4: Fixed misspellin
On Wed, 2010-07-14 at 17:35 +0200, Segher Boessenkool wrote:
> > V4: Fixed misspelling
>
> Any particular reason you fixed only one of the two
> mispelings I pointed out? (device tree is two words,
> not one).
Ahh, my fault.
>
> > + prop = of_find_property(node, "linux,devicetree-start", NUL
On Wed, 2010-07-14 at 17:46 +0200, Segher Boessenkool wrote:
> > What about just one node called "flat-device-tree"?
>
> But *what* flat device tree? It cannot be "the" flat device tree,
> or it would be useless information, since we are already reading it!
I thought about it all day and did no
On Thu, 2010-07-15 at 00:21 -0600, Grant Likely wrote:
> On Wed, Jul 14, 2010 at 9:18 AM, Matthew McClintock
> wrote:
> > To build a proper flat device tree for kexec we need to know which
> > memreserve region was used for the device tree for the currently
> > running ker
On Thu, 2010-07-15 at 10:22 -0600, Grant Likely wrote:
> > Thanks for taking a look. My first thought was to just blow away all
> the
> > memreserve regions and start over. But, there are reserve regions
> for
> > other things that I might not want to blow away. For example, on
> mpc85xx
> > SMP sy
On Thu, 2010-07-15 at 10:57 -0600, Grant Likely wrote:
> On Thu, Jul 15, 2010 at 10:39 AM, Matthew McClintock
> wrote:
> > On Thu, 2010-07-15 at 10:22 -0600, Grant Likely wrote:
> >> > Thanks for taking a look. My first thought was to just blow away all
> >>
On Thu, 2010-07-15 at 12:37 -0600, Grant Likely wrote:
> On Thu, Jul 15, 2010 at 12:03 PM, Matthew McClintock
> wrote:
> > On Thu, 2010-07-15 at 10:57 -0600, Grant Likely wrote:
> >> On Thu, Jul 15, 2010 at 10:39 AM, Matthew McClintock
> >> wrote:
> >&
On Jul 17, 2010, at 11:41 AM, Segher Boessenkool wrote:
> Yes. Where would we get a list of memreserve sections?
I would say the list of reserves that are not under the control of
Linux should be explicitly described in the device tree proper. For
instance, if you have a
On Jul 18, 2010, at 6:41 PM, Benjamin Herrenschmidt wrote:
> On Thu, 2010-07-15 at 00:21 -0600, Grant Likely wrote:
>> On Wed, Jul 14, 2010 at 9:18 AM, Matthew McClintock
>> wrote:
>>> To build a proper flat device tree for kexec we need to know which
>>> m
On Jul 18, 2010, at 7:09 PM, Benjamin Herrenschmidt wrote:
> On Thu, 2010-07-15 at 10:22 -0600, Grant Likely wrote:
>> What is your starting point? Where does the device tree (and
>> memreserve list) come from
>> that you're passing to kexec? My first impression is that if you have
>> to scrub
address
Set the kernel entry address in the relocatable purgatory code
so we jump to the correct start address if not the default. Useful
for relocatable kernels
Signed-off-by: Matthew McClintock
---
kexec/arch/ppc/kexec-elf-ppc.c | 26 ++
kexec/arch/ppc/kexec-ppc.c
address.
Only allocate 1 MiB extra for bss space after kernel as it appears
to be more than adequate.
Signed-off-by: Matthew McClintock
---
kexec/arch/ppc/kexec-uImage-ppc.c | 32 ++--
1 files changed, 22 insertions(+), 10 deletions(-)
diff --git a/kexec/arch/ppc/kexec
Signed-off-by: Matthew McClintock
---
doc/mpc85xx.txt | 190 +++
1 files changed, 190 insertions(+), 0 deletions(-)
create mode 100644 doc/mpc85xx.txt
diff --git a/doc/mpc85xx.txt b/doc/mpc85xx.txt
new file mode 100644
index 000..af96841
borrowed from the u-boot routines which do similiar things
Also, now if no flat device tree is passed to kexec it will attempt
to rebuild one from the /proc/device-tree file system to use for
the kexec'ed kernel for both uImage and elf formats
Signed-off-by: Matthew McClintock
---
kexec/arc
region otherwise the
kdump kernel will not be able to access it. The --ramdisk option
should always work.
Signed-off-by: Matthew McClintock
---
kexec/arch/ppc/Makefile |1 +
kexec/arch/ppc/include/arch/options.h |3 +
kexec/arch/ppc/kexec-elf-ppc.c| 44
Booting with uImage-ppc was broken by previous work, this
patch should restore it to working order
Signed-off-by: Matthew McClintock
---
kexec/arch/ppc/kexec-ppc.c | 68 ++-
kexec/arch/ppc/kexec-uImage-ppc.c |5 +--
purgatory/arch/ppc/purgatory
On some actitectures the physical memory can be 64 bits, therefore
the code that reads proc entries needs to take into account it could
read either a 32 bit or 64bit value for the physical addresses.
Signed-off-by: Matthew McClintock
---
kexec/arch/ppc/kexec-elf-ppc.c |1 -
kexec/arch/ppc
paths both
work correctly - this was exposed by the above fix
Disable modifying the PAGE_OFFSET and PHYSICAL_START when we build
a crash kernel w/ relocation enabled. We don't need to change these
values as a default action.
Matthew McClintock (2):
powerpc/85xx: kexec for SMP 85xx BookE sy
Adds support for kexec on 85xx machines for the BookE platform.
Including support for SMP machines
Based off work from Maxim Uvarov
Signed-off-by: Matthew McClintock
---
arch/powerpc/Kconfig | 10 +++---
arch/powerpc/platforms/85xx/smp.c | 63
Fix sizes of variables so correct values are exported via /proc.
Cast variable in comparison to avoid compiler error.
Signed-off-by: Matthew McClintock
---
arch/powerpc/kernel/crash_dump.c|4 ++--
arch/powerpc/kernel/machine_kexec.c | 10 +-
2 files changed, 7 insertions(+), 7
On Jul 26, 2010, at 9:55 PM, Simon Horman wrote:
> [Cced linuxppc-dev]
>
> On Tue, Jul 20, 2010 at 11:42:57PM -0500, Matthew McClintock wrote:
>> This patch series adds full support for booting with a flat device tree
>> with either uImage or elf file formats. Kexec and K
On Jul 29, 2010, at 3:33 AM, Simon Horman wrote:
> On Tue, Jul 20, 2010 at 03:14:58PM -0500, Matthew McClintock wrote:
>> This fixes --reuseinitrd and --ramdisk option for ppc32 on
>> uImage-ppc and Elf. It works for normal kexec as well as for
>> kdump.
>>
>>
Signed-off-by: Matthew McClintock
---
kexec/arch/ppc/fixup_dtb.c |2 +-
kexec/arch/ppc/kexec-ppc.c |2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/kexec/arch/ppc/fixup_dtb.c b/kexec/arch/ppc/fixup_dtb.c
index 26c23a3..09f9ac1 100644
--- a/kexec/arch/ppc/fixup_dtb.c
This patch series fixes a few issues I have discovered with my previous
patch series. Nothing new has been added.
v2: Missed signoff, removed initializing variable twice
Matthew McClintock (3):
Ramdisk address was not copied correctly on kexec'ed kernel
Prevent multiple reservations fo
We always remove the old entry, and add it back if it is needed
on for the kexec'ed kernel
Signed-off-by: Matthew McClintock
---
kexec/arch/ppc/fixup_dtb.c | 20 ++--
1 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/kexec/arch/ppc/fixup_dtb.c b/kexec/arc
Currently, we can add a lot of reservations over a small range, this
does a simple check to verify the previous entry is not the same
as the current one and skips it if so
Signed-off-by: Matthew McClintock
---
kexec/arch/ppc/fixup_dtb.c | 28 +---
1 files changed, 17
The first global-utilities node might not contain the rstcr
property, so we should search all the nodes
Signed-off-by: Matthew McClintock
---
arch/powerpc/sysdev/fsl_soc.c | 20 +++-
1 files changed, 11 insertions(+), 9 deletions(-)
diff --git a/arch/powerpc/sysdev/fsl_soc.c
(all cpus)
-> r4 = address of this chunk (master only)
As such, we need to set r3 to the current core, r4 happens to be
unused by purgatory at the moment but we go ahead and set it
here as well
Signed-off-by: Matthew McClintock
---
arch/powerpc/kernel/misc_32.S |3 +++
1 files chang
On Aug 28, 2010, at 5:34 PM, Timur Tabi wrote:
>> wrote:
>
>> +
>> + for_each_node_by_name(np, "global-utilities") {
>> + if ((of_get_property(np, "fsl,has-rstcr", NULL))) {
>> + rstcr = of_iomap(np, 0) + 0xb0;
>> + if (!rstcr)
>>
The first global-utilities node might not contain the rstcr
property, so we should search all the nodes
Signed-off-by: Matthew McClintock
---
-Changed KERN_EMERG to KERN_ERR
-Break if we do not find rstcr mapped
-Restore of_put_node that was dropped
arch/powerpc/sysdev/fsl_soc.c | 20
smp_processor_id() and related functions will return the default
initialization value of the struct or 0.
Signed-off-by: Matthew McClintock
---
arch/powerpc/kernel/head_fsl_booke.S | 10 --
arch/powerpc/kernel/setup_32.c |2 +-
2 files changed, 9 insertions(+), 3 deletions(-)
diff --git
arch/powerpc/mm/mmu_context_nohash.c assumes the boot cpu
will always have smp_processor_id() == 0. This patch fixes
that assumption
Signed-off-by: Matthew McClintock
---
arch/powerpc/mm/mmu_context_nohash.c |6 --
1 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/arch
All,
I'm trying to determine how kexec'ing works on 64 bit powerpc. When allocating
a region for the kexec'ed kernel is it ever the same as the currently running
kernel or do you always boot the kexec'ed kernel from a different memory
region? I understand that a crash kernel will be in a differ
In lieu of having multiple similiar lines, we can just have one
generic cpu-as line for CONFIG_ALTIVEC
---
Was hoping to get comments about this change and if anyone sees any potential
problems?
arch/powerpc/Makefile |3 +--
1 files changed, 1 insertions(+), 2 deletions(-)
diff --git a/arch
We no longer need to call this explicitly as a generic version is
called by default
Signed-off-by: Matthew McClintock
---
arch/powerpc/platforms/85xx/smp.c |2 --
1 files changed, 0 insertions(+), 2 deletions(-)
diff --git a/arch/powerpc/platforms/85xx/smp.c
b/arch/powerpc/platforms/85xx
Right now just the kexec crash pathway turns turns off the
interrupts. Pull that out and make a generic version for
use elsewhere
Signed-off-by: Matthew McClintock
---
arch/powerpc/include/asm/kexec.h |1 +
arch/powerpc/kernel/crash.c| 13 +
arch/powerpc
When we do an mpic_reset_core we need to make sure the dcache
is flushed
Signed-off-by: Matthew McClintock
---
arch/powerpc/platforms/85xx/smp.c | 50 +
1 files changed, 50 insertions(+), 0 deletions(-)
diff --git a/arch/powerpc/platforms/85xx/smp.c
b
Make kexec_down_cpus atmoic since it will be incremented by all
cores as they are coming down
Remove duplicate calls to mpc85xx_smp_kexec_down, now it's called
by the crash and normal kexec pathway only once
Increase the timeout to wait for other cores to shutdown
Signed-off-by: Ma
65 matches
Mail list logo