the workaround can then be added to the blacklist.
Signed-off-by: Matt Redfearn
Reviewed-by: Paul Burton
---
arch/mips/kernel/pm-cps.c | 9 ++---
1 file changed, 2 insertions(+), 7 deletions(-)
diff --git a/arch/mips/kernel/pm-cps.c b/arch/mips/kernel/pm-cps.c
index 5b31a9405ebc..2faa227a032e 100644
yield
to other VPs on the same core, so drop the MT ASE yield instruction.
3. To halt a MIPSr6 VP, the CPC VP_STOP register is used rather than the
MT ASE TCHalt CP0 register.
Signed-off-by: Matt Redfearn <matt.redfe...@imgtec.com>
Reviewed-by: Paul Burton <paul.bur...@imgtec.com>
yield
to other VPs on the same core, so drop the MT ASE yield instruction.
3. To halt a MIPSr6 VP, the CPC VP_STOP register is used rather than the
MT ASE TCHalt CP0 register.
Signed-off-by: Matt Redfearn
Reviewed-by: Paul Burton
---
arch/mips/include/asm/pm-cps.h | 6 --
arch/mips
All calls to mips_cpc_lock_other should be wrapped in
mips_cm_lock_other. This only matters if the system has CM3 and is using
cpu idle, since otherwise a) the CPC lock is sufficent for CM < 3 and b)
any systems with CM > 3 have not been able to use cpu idle until now.
Signed-off-by
This patch enables the MIPS CPS driver for MIPSr6 CPUs.
Signed-off-by: Matt Redfearn <matt.redfe...@imgtec.com>
Reviewed-by: Paul Burton <paul.bur...@imgtec.com>
---
drivers/cpuidle/Kconfig.mips | 2 +-
drivers/cpuidle/cpuidle-cps.c | 2 +-
2 files changed, 2 insertions(+),
coherence.
Signed-off-by: Matt Redfearn <matt.redfe...@imgtec.com>
Reviewed-by: Paul Burton <paul.bur...@imgtec.com>
---
arch/mips/include/asm/mips-cm.h | 1 +
arch/mips/kernel/pm-cps.c | 31 ++-
2 files changed, 19 insertions(+), 13 deletions(-)
diff
All calls to mips_cpc_lock_other should be wrapped in
mips_cm_lock_other. This only matters if the system has CM3 and is using
cpu idle, since otherwise a) the CPC lock is sufficent for CM < 3 and b)
any systems with CM > 3 have not been able to use cpu idle until now.
Signed-off-by
This patch enables the MIPS CPS driver for MIPSr6 CPUs.
Signed-off-by: Matt Redfearn
Reviewed-by: Paul Burton
---
drivers/cpuidle/Kconfig.mips | 2 +-
drivers/cpuidle/cpuidle-cps.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/cpuidle/Kconfig.mips b/drivers
coherence.
Signed-off-by: Matt Redfearn
Reviewed-by: Paul Burton
---
arch/mips/include/asm/mips-cm.h | 1 +
arch/mips/kernel/pm-cps.c | 31 ++-
2 files changed, 19 insertions(+), 13 deletions(-)
diff --git a/arch/mips/include/asm/mips-cm.h b/arch/mips/include
for MIPSr6 CPUs.
Applies atop v4.8-rc4
Matt Redfearn (10):
MIPS: CPC: Convert bare 'unsigned' to 'unsigned int'
MIPS: CPC: Avoid lock when MIPS CM >= 3 is present
MIPS: pm-cps: Change FSB workaround to CPU blacklist
MIPS: pm-cps: Remove I6400 sync types
MIPS: pm-cps: Add P6600 implementat
for MIPSr6 CPUs.
Applies atop v4.8-rc4
Matt Redfearn (10):
MIPS: CPC: Convert bare 'unsigned' to 'unsigned int'
MIPS: CPC: Avoid lock when MIPS CM >= 3 is present
MIPS: pm-cps: Change FSB workaround to CPU blacklist
MIPS: pm-cps: Remove I6400 sync types
MIPS: pm-cps: Add P6600 implementat
smp-mt.c.
Signed-off-by: Matt Redfearn <matt.redfe...@imgtec.com>
Reviewed-by: Paul Burton <paul.bur...@imgtec.com>
---
arch/mips/kernel/proc.c | 7 +++
arch/mips/kernel/smp-mt.c | 23 ---
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/arch
smp-mt.c.
Signed-off-by: Matt Redfearn
Reviewed-by: Paul Burton
---
arch/mips/kernel/proc.c | 7 +++
arch/mips/kernel/smp-mt.c | 23 ---
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/arch/mips/kernel/proc.c b/arch/mips/kernel/proc.c
index
Commit a2127e400edd ("libata: support AHCI on OCTEON platform") added a
driver for the OCTEON AHCI controller. Enable this driver in the OCTEON
defconfig.
Signed-off-by: Matt Redfearn <matt.redfe...@imgtec.com>
---
arch/mips/configs/cavium_octeon_defconfig | 2 ++
1 file chang
Commit a2127e400edd ("libata: support AHCI on OCTEON platform") added a
driver for the OCTEON AHCI controller. Enable this driver in the OCTEON
defconfig.
Signed-off-by: Matt Redfearn
---
arch/mips/configs/cavium_octeon_defconfig | 2 ++
1 file changed, 2 insertions(+)
diff --git a
The KConfig option HOTPLUG_CPU should appear in the "Kernel Type"
submenu. Relocate it to where SMP support is configured.
Signed-off-by: Matt Redfearn <matt.redfe...@imgtec.com>
---
arch/mips/Kconfig | 20 ++--
1 file changed, 10 insertions(+), 10 deletion
-off-by: Matt Redfearn <matt.redfe...@imgtec.com>
Reviewed-by: Paul Burton <paul.bur...@imgtec.com>
---
arch/mips/kernel/smp-cps.c | 32 +++-
1 file changed, 27 insertions(+), 5 deletions(-)
diff --git a/arch/mips/kernel/smp-cps.c b/arch/mips/kernel/smp
The KConfig option HOTPLUG_CPU should appear in the "Kernel Type"
submenu. Relocate it to where SMP support is configured.
Signed-off-by: Matt Redfearn
---
arch/mips/Kconfig | 20 ++--
1 file changed, 10 insertions(+), 10 deletions(-)
diff --git a/arch/mips/Kconfig b
-off-by: Matt Redfearn
Reviewed-by: Paul Burton
---
arch/mips/kernel/smp-cps.c | 32 +++-
1 file changed, 27 insertions(+), 5 deletions(-)
diff --git a/arch/mips/kernel/smp-cps.c b/arch/mips/kernel/smp-cps.c
index 006e99de170d..234e7e781a94 100644
--- a/arch/mips
other VPs within the core are stopped before
bringing the core out of reset so that only the desired VP starts.
Signed-off-by: Matt Redfearn <matt.redfe...@imgtec.com>
Reviewed-by: Paul Burton <paul.bur...@imgtec.com>
---
arch/mips/kernel/smp-cps.c | 9 +
1 file changed, 5 inse
to move the CPU hotplug config option into the
Kernel type menu within menuconfig.
Based atop 4.7-rc6
Matt Redfearn (3):
MIPS: smp-cps: Allow booting of CPU other than VP0 within a core
MIPS: smp-cps: Add support for CPU hotplug of MIPSr6 processors
MIPS: Move CPU Hotplug config option
other VPs within the core are stopped before
bringing the core out of reset so that only the desired VP starts.
Signed-off-by: Matt Redfearn
Reviewed-by: Paul Burton
---
arch/mips/kernel/smp-cps.c | 9 +
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/arch/mips/kernel/smp
to move the CPU hotplug config option into the
Kernel type menu within menuconfig.
Based atop 4.7-rc6
Matt Redfearn (3):
MIPS: smp-cps: Allow booting of CPU other than VP0 within a core
MIPS: smp-cps: Add support for CPU hotplug of MIPSr6 processors
MIPS: Move CPU Hotplug config option
ereferencing type-punned pointer
will break strict-aliasing rules [-Wstrict-aliasing]
rel_type(ELF_R_TYPE(rel->r_info)),
^~~~
Fix them by making Elf64_Mips_Rela a union
Signed-off-by: Harvey Hunt <harvey.h...@imgtec.com>
Cc: Matt Redfearn <matt.redfe...@imgtec.com>
Cc: l
ereferencing type-punned pointer
will break strict-aliasing rules [-Wstrict-aliasing]
rel_type(ELF_R_TYPE(rel->r_info)),
^~~~
Fix them by making Elf64_Mips_Rela a union
Signed-off-by: Harvey Hunt
Cc: Matt Redfearn
Cc: linux-m...@linux-mips.org
Cc: linux-kernel@vger.kernel.org
---
on.
Fixes: a168b8f1cde6588ff7a67699fa11e01bc77a5ddd
Signed-off-by: Matt Redfearn <matt.redfe...@imgtec.com>
Cc: <sta...@vger.kernel.org> # 4.x-
---
arch/mips/mm/uasm-mips.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/mips/mm/uasm-mips.c b/arch/mip
on.
Fixes: a168b8f1cde6588ff7a67699fa11e01bc77a5ddd
Signed-off-by: Matt Redfearn
Cc: # 4.x-
---
arch/mips/mm/uasm-mips.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/mips/mm/uasm-mips.c b/arch/mips/mm/uasm-mips.c
index b4a837893562..5abe51cad899 100644
--- a/arch/mi
Allow KASLR to be selected on Pistachio based systems. Tested on a
Creator Ci40.
Signed-off-by: Matt Redfearn <matt.redfe...@imgtec.com>
Reviewed-by: James Hogan <james.ho...@imgtec.com>
---
Changes in v2:
Add SYS_SUPPORTS_RELOCATABLE to Kconfig in alphabetical order
arch/
Allow KASLR to be selected on Pistachio based systems. Tested on a
Creator Ci40.
Signed-off-by: Matt Redfearn
Reviewed-by: James Hogan
---
Changes in v2:
Add SYS_SUPPORTS_RELOCATABLE to Kconfig in alphabetical order
arch/mips/Kconfig | 1 +
arch/mips/pistachio/init.c | 8
Allow KASLR to be selected on Pistachio based systems. Tested on a
Creator Ci40.
Signed-off-by: Matt Redfearn <matt.redfe...@imgtec.com>
---
arch/mips/Kconfig | 1 +
arch/mips/pistachio/init.c | 8 ++--
2 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/arc
Allow KASLR to be selected on Pistachio based systems. Tested on a
Creator Ci40.
Signed-off-by: Matt Redfearn
---
arch/mips/Kconfig | 1 +
arch/mips/pistachio/init.c | 8 ++--
2 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
Commit-ID: 59fa5860204ffc95128d60cba9f54f9740a42c7d
Gitweb: http://git.kernel.org/tip/59fa5860204ffc95128d60cba9f54f9740a42c7d
Author: Matt Redfearn <matt.redfe...@imgtec.com>
AuthorDate: Tue, 24 May 2016 11:42:30 +0100
Committer: Thomas Gleixner <t...@linutronix.de>
CommitD
Commit-ID: 59fa5860204ffc95128d60cba9f54f9740a42c7d
Gitweb: http://git.kernel.org/tip/59fa5860204ffc95128d60cba9f54f9740a42c7d
Author: Matt Redfearn
AuthorDate: Tue, 24 May 2016 11:42:30 +0100
Committer: Thomas Gleixner
CommitDate: Tue, 24 May 2016 15:40:14 +0200
genirq: Fix missing
i’:
kernel/irq/ipi.c:128:3: warning: ‘return’ with no value, in function returning
non-void [-Wreturn-type]
return;
^
Fixes: 7cec18a3906b ("genirq: Add error code reporting to
irq_{reserve,destroy}_ipi")
Signed-off-by: Matt Redfearn <matt.redfe...@imgtec.com>
---
kernel/irq/ip
i’:
kernel/irq/ipi.c:128:3: warning: ‘return’ with no value, in function returning
non-void [-Wreturn-type]
return;
^
Fixes: 7cec18a3906b ("genirq: Add error code reporting to
irq_{reserve,destroy}_ipi")
Signed-off-by: Matt Redfearn
---
kernel/irq/ipi.c | 2 +-
1 file changed, 1 inse
Hi Paul,
On 18/05/16 23:34, Paul Burton wrote:
On Wed, May 18, 2016 at 05:12:36PM +0100, Matt Redfearn wrote:
When starting secondary VPEs which support EVA and the SegCtl registers,
copy the memory segmentation configuration from the running VPE to ensure
that all VPEs in the core have
Hi Paul,
On 18/05/16 23:34, Paul Burton wrote:
On Wed, May 18, 2016 at 05:12:36PM +0100, Matt Redfearn wrote:
When starting secondary VPEs which support EVA and the SegCtl registers,
copy the memory segmentation configuration from the running VPE to ensure
that all VPEs in the core have
The SegCtl registers are standard for MIPSr3..MIPSr5. Add definitions of
these registers and use them rather than constants
Signed-off-by: Matt Redfearn <matt.redfe...@imgtec.com>
---
Changes in v2: None
arch/mips/include/asm/mach-malta/kernel-entry-init.h | 6 +++---
arch/mips/inclu
The SegCtl registers are standard for MIPSr3..MIPSr5. Add definitions of
these registers and use them rather than constants
Signed-off-by: Matt Redfearn
---
Changes in v2: None
arch/mips/include/asm/mach-malta/kernel-entry-init.h | 6 +++---
arch/mips/include/asm/mipsregs.h
the CM.
Signed-off-by: Matt Redfearn <matt.redfe...@imgtec.com>
---
Changes in v2:
- Skip check for config3 existing - we know it must to be doing
multithreading
- Use a unique lable name in the function
arch/mips/kernel/cps-vec.S | 15 +++
1 file changed, 15 insertions(+)
diff
the CM.
Signed-off-by: Matt Redfearn
---
Changes in v2:
- Skip check for config3 existing - we know it must to be doing
multithreading
- Use a unique lable name in the function
arch/mips/kernel/cps-vec.S | 15 +++
1 file changed, 15 insertions(+)
diff --git a/arch/mips/kernel/cps-vec.S
On 18/05/16 16:04, Paul Burton wrote:
On Wed, May 18, 2016 at 03:45:22PM +0100, Matt Redfearn wrote:
When starting secondary VPEs which support EVA and the SegCtl registers,
copy the memory segmentation configuration from the running VPE to ensure
that all VPEs in the core have a consitent
On 18/05/16 16:04, Paul Burton wrote:
On Wed, May 18, 2016 at 03:45:22PM +0100, Matt Redfearn wrote:
When starting secondary VPEs which support EVA and the SegCtl registers,
copy the memory segmentation configuration from the running VPE to ensure
that all VPEs in the core have a consitent
The SegCtl registers are standard for MIPSr3..MIPSr5. Add definitions of
these registers and use them rather than constants
Signed-off-by: Matt Redfearn <matt.redfe...@imgtec.com>
---
arch/mips/include/asm/mach-malta/kernel-entry-init.h | 6 +++---
arch/mips/include/asm/mips
The SegCtl registers are standard for MIPSr3..MIPSr5. Add definitions of
these registers and use them rather than constants
Signed-off-by: Matt Redfearn
---
arch/mips/include/asm/mach-malta/kernel-entry-init.h | 6 +++---
arch/mips/include/asm/mipsregs.h | 3 +++
2 files
the CM.
Signed-off-by: Matt Redfearn <matt.redfe...@imgtec.com>
---
arch/mips/kernel/cps-vec.S | 16
1 file changed, 16 insertions(+)
diff --git a/arch/mips/kernel/cps-vec.S b/arch/mips/kernel/cps-vec.S
index ac81edd44563..07b3274c8ae1 100644
--- a/arch/mips/kernel/cps-vec.S
the CM.
Signed-off-by: Matt Redfearn
---
arch/mips/kernel/cps-vec.S | 16
1 file changed, 16 insertions(+)
diff --git a/arch/mips/kernel/cps-vec.S b/arch/mips/kernel/cps-vec.S
index ac81edd44563..07b3274c8ae1 100644
--- a/arch/mips/kernel/cps-vec.S
+++ b/arch/mips/kernel/cps-vec.S
n EIC mode */
gic_cpu_pin = 0;
timer_cpu_pin = gic_cpu_pin;
Hi Paul
Reviewed-by: Matt Redfearn <matt.redfe...@imgtec.com>
Tested-by: Matt Redfearn <matt.redfe...@imgtec.com>
Thanks,
Matt
mode */
gic_cpu_pin = 0;
timer_cpu_pin = gic_cpu_pin;
Hi Paul
Reviewed-by: Matt Redfearn
Tested-by: Matt Redfearn
Thanks,
Matt
SF_IP7);
}
static void cps_smp_finish(void)
Hi Paul
Reviewed-by: Matt Redfearn <matt.redfe...@imgtec.com>
Tested-by: Matt Redfearn <matt.redfe...@imgtec.com>
Thanks,
Matt
cps_smp_finish(void)
Hi Paul
Reviewed-by: Matt Redfearn
Tested-by: Matt Redfearn
Thanks,
Matt
us(ST0_IM);
+
arch_init_irq();
}
Hi Paul
Reviewed-by: Matt Redfearn <matt.redfe...@imgtec.com>
Tested-by: Matt Redfearn <matt.redfe...@imgtec.com>
aul
Reviewed-by: Matt Redfearn
Tested-by: Matt Redfearn
Commit-ID: 7cec18a3906b52e855c9386650c0226bbe594a4c
Gitweb: http://git.kernel.org/tip/7cec18a3906b52e855c9386650c0226bbe594a4c
Author: Matt Redfearn <matt.redfe...@imgtec.com>
AuthorDate: Mon, 25 Apr 2016 08:14:24 +0100
Committer: Thomas Gleixner <t...@linutronix.de>
Commit
Commit-ID: 7cec18a3906b52e855c9386650c0226bbe594a4c
Gitweb: http://git.kernel.org/tip/7cec18a3906b52e855c9386650c0226bbe594a4c
Author: Matt Redfearn
AuthorDate: Mon, 25 Apr 2016 08:14:24 +0100
Committer: Thomas Gleixner
CommitDate: Mon, 2 May 2016 13:42:50 +0200
genirq: Add error code
Commit-ID: 01292cea0df86ed4a1eb6450d6eda375ef925716
Gitweb: http://git.kernel.org/tip/01292cea0df86ed4a1eb6450d6eda375ef925716
Author: Matt Redfearn <matt.redfe...@imgtec.com>
AuthorDate: Mon, 25 Apr 2016 08:14:23 +0100
Committer: Thomas Gleixner <t...@linutronix.de>
Commit
Commit-ID: 01292cea0df86ed4a1eb6450d6eda375ef925716
Gitweb: http://git.kernel.org/tip/01292cea0df86ed4a1eb6450d6eda375ef925716
Author: Matt Redfearn
AuthorDate: Mon, 25 Apr 2016 08:14:23 +0100
Committer: Thomas Gleixner
CommitDate: Mon, 2 May 2016 13:42:50 +0200
genirq: Make
in
4.6 and the number of existing call sites are low, changing the API now
has little impact on the code, while making it easier for these
functions to grow over time.
Signed-off-by: Matt Redfearn <matt.redfe...@imgtec.com>
---
Changes in v2:
- More descriptive commit message
include
can be re-used.
The original behaviour is restored by passing the complete mask that the
IPI was created with.
There are currently no users of this function that would break from the
API change.
Signed-off-by: Matt Redfearn <matt.redfe...@imgtec.com>
---
Changes in v2: None
include
in
4.6 and the number of existing call sites are low, changing the API now
has little impact on the code, while making it easier for these
functions to grow over time.
Signed-off-by: Matt Redfearn
---
Changes in v2:
- More descriptive commit message
include/linux/irqdomain.h | 5 ++---
kernel
can be re-used.
The original behaviour is restored by passing the complete mask that the
IPI was created with.
There are currently no users of this function that would break from the
API change.
Signed-off-by: Matt Redfearn
---
Changes in v2: None
include/linux/irqdomain.h | 2 +-
kernel/irq
On Fri, Apr 22, 2016 at 05:35:46PM +0200, Thomas Gleixner wrote:
> On Fri, 22 Apr 2016, Matt Redfearn wrote:
>
> > Make these functions return appropriate error codes when something goes
> > wrong.
>
> And the reason for this change is?
Hi Thomas,
Mainly for irq_dest
On Fri, Apr 22, 2016 at 05:35:46PM +0200, Thomas Gleixner wrote:
> On Fri, 22 Apr 2016, Matt Redfearn wrote:
>
> > Make these functions return appropriate error codes when something goes
> > wrong.
>
> And the reason for this change is?
Hi Thomas,
Mainly for irq_dest
Make these functions return appropriate error codes when something goes
wrong.
There are currently no users of this function that would break from the
API change.
Signed-off-by: Matt Redfearn <matt.redfe...@imgtec.com>
---
include/linux/irqdomain.h | 5 ++---
kernel/irq/ipi.c
can be re-used.
The original behaviour is restored by passing the complete mask that the
IPI was created with.
There are currently no users of this function that would break from the
API change.
Signed-off-by: Matt Redfearn <matt.redfe...@imgtec.com>
---
include/linux/irqdomain.h | 2 +-
Make these functions return appropriate error codes when something goes
wrong.
There are currently no users of this function that would break from the
API change.
Signed-off-by: Matt Redfearn
---
include/linux/irqdomain.h | 5 ++---
kernel/irq/ipi.c | 31
can be re-used.
The original behaviour is restored by passing the complete mask that the
IPI was created with.
There are currently no users of this function that would break from the
API change.
Signed-off-by: Matt Redfearn
---
include/linux/irqdomain.h | 2 +-
kernel/irq/ipi.c | 18
Commit-ID: 4589f450fb285ab85f7513b6649e51ec2a820653
Gitweb: http://git.kernel.org/tip/4589f450fb285ab85f7513b6649e51ec2a820653
Author: Matt Redfearn <matt.redfe...@imgtec.com>
AuthorDate: Thu, 21 Apr 2016 10:08:32 +0100
Committer: Thomas Gleixner <t...@linutronix.de>
CommitD
Commit-ID: 4589f450fb285ab85f7513b6649e51ec2a820653
Gitweb: http://git.kernel.org/tip/4589f450fb285ab85f7513b6649e51ec2a820653
Author: Matt Redfearn
AuthorDate: Thu, 21 Apr 2016 10:08:32 +0100
Committer: Thomas Gleixner
CommitDate: Thu, 21 Apr 2016 12:05:15 +0200
genirq: Dont allow
a new generic IPI reservation code to
irq core")
Signed-off-by: Matt Redfearn <matt.redfe...@imgtec.com>
---
kernel/irq/ipi.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/kernel/irq/ipi.c b/kernel/irq/ipi.c
index c37f34b00a11..14777af8e097 100644
--- a/kernel/irq/ipi.c
+++ b/
a new generic IPI reservation code to
irq core")
Signed-off-by: Matt Redfearn
---
kernel/irq/ipi.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/kernel/irq/ipi.c b/kernel/irq/ipi.c
index c37f34b00a11..14777af8e097 100644
--- a/kernel/irq/ipi.c
+++ b/kernel/irq/ipi.c
@@ -94,6 +94,7 @@ un
this information
during bootup using the same function as the panic notifer.
Notifier.
Fixed when merging.
Signed-off-by: Matt Redfearn <matt.redfe...@imgtec.com>
---
Changes in v2: None
arch/mips/kernel/setup.c | 9 +
1 file changed, 9 insertions(+)
diff --git a/arc
this information
during bootup using the same function as the panic notifer.
Notifier.
Fixed when merging.
Signed-off-by: Matt Redfearn
---
Changes in v2: None
arch/mips/kernel/setup.c | 9 +
1 file changed, 9 insertions(+)
diff --git a/arch/mips/kernel/setup.c b/arch/mips
Add option to KConfig to enable the kernel to relocate itself at
runtime.
Relocation is supported R2 and later of the MIPS architecture, 32bit
and 64bit. The platform is also required to provide support through
plat_get_fdt() added in a later patch.
Signed-off-by: Matt Redfearn <matt.re
Add option to KConfig to enable the kernel to relocate itself at
runtime.
Relocation is supported R2 and later of the MIPS architecture, 32bit
and 64bit. The platform is also required to provide support through
plat_get_fdt() added in a later patch.
Signed-off-by: Matt Redfearn
---
Changes
(4604K kernel code, 242K rwdata,
892K rodata, 1280K init, 183K bss, 8736K reserved, 0K cma-reserved)
The 16Mb offset is removed from the reserved region and added back to
the available region.
Signed-off-by: Matt Redfearn <matt.redfe...@imgtec.com>
---
Changes in v2: None
arch/mips/kernel/s
(4604K kernel code, 242K rwdata,
892K rodata, 1280K init, 183K bss, 8736K reserved, 0K cma-reserved)
The 16Mb offset is removed from the reserved region and added back to
the available region.
Signed-off-by: Matt Redfearn
---
Changes in v2: None
arch/mips/kernel/setup.c | 14 ++
1 file
then the entry point of the new kernel
is returned, otherwise fall back to starting the kernel in place.
Signed-off-by: Matt Redfearn <matt.redfe...@imgtec.com>
---
Changes in v2: None
arch/mips/kernel/Makefile | 2 +
arch/mips/kernel/relocate.c
then the entry point of the new kernel
is returned, otherwise fall back to starting the kernel in place.
Signed-off-by: Matt Redfearn
---
Changes in v2: None
arch/mips/kernel/Makefile | 2 +
arch/mips/kernel/relocate.c | 240
2 files changed, 242
If CONFIG_RELOCATABLE is enabled, call relocate_kernel.
This function will return the entry point of the relocated kernel if
copy/relocate is sucessful or the original entry point if not. The stack
pointer must then be pointed into the new image.
Signed-off-by: Matt Redfearn <matt.re
If CONFIG_RELOCATABLE is enabled, call relocate_kernel.
This function will return the entry point of the relocated kernel if
copy/relocate is sucessful or the original entry point if not. The stack
pointer must then be pointed into the new image.
Signed-off-by: Matt Redfearn
---
Changes in v2
files as is done when building a
64 bit kernel.
Signed-off-by: Matt Redfearn <matt.redfe...@imgtec.com>
---
Changes in v2:
- Added support for MIPSr6
arch/mips/boot/tools/Makefile | 8 +
arch/mips/boot/tools/relocs.c | 680 +
arch/mips/boot
files as is done when building a
64 bit kernel.
Signed-off-by: Matt Redfearn
---
Changes in v2:
- Added support for MIPSr6
arch/mips/boot/tools/Makefile | 8 +
arch/mips/boot/tools/relocs.c | 680 +
arch/mips/boot/tools/relocs.h | 45 +++
arch
Build the relocs tool as part of the kbuild
Signed-off-by: Matt Redfearn <matt.redfe...@imgtec.com>
---
Changes in v2: None
arch/mips/Makefile | 3 +++
1 file changed, 3 insertions(+)
diff --git a/arch/mips/Makefile b/arch/mips/Makefile
index e78d60dbdffd..fa25d60bc717 100644
--- a/arc
is reserved within the elf by filling it with
0's, and an invalid entry is left at the start of the space such that
kernel relocation will be aborted if the table is empty.
Signed-off-by: Matt Redfearn <matt.redfe...@imgtec.com>
---
Changes in v2: None
arch/mips/Kconfig
Build the relocs tool as part of the kbuild
Signed-off-by: Matt Redfearn
---
Changes in v2: None
arch/mips/Makefile | 3 +++
1 file changed, 3 insertions(+)
diff --git a/arch/mips/Makefile b/arch/mips/Makefile
index e78d60dbdffd..fa25d60bc717 100644
--- a/arch/mips/Makefile
+++ b/arch/mips
is reserved within the elf by filling it with
0's, and an invalid entry is left at the start of the space such that
kernel relocation will be aborted if the table is empty.
Signed-off-by: Matt Redfearn
---
Changes in v2: None
arch/mips/Kconfig | 16
arch/mips/kernel
When debugging a relocated kernel, the addresses of the relocated
symbols and the offset applied is essential information. If the kernel
is compiled with debugging information, then print this information
during bootup using the same function as the panic notifer.
Signed-off-by: Matt Redfearn
When debugging a relocated kernel, the addresses of the relocated
symbols and the offset applied is essential information. If the kernel
is compiled with debugging information, then print this information
during bootup using the same function as the panic notifer.
Signed-off-by: Matt Redfearn
-by: Matt Redfearn <matt.redfe...@imgtec.com>
---
Changes in v2:
- Accept the "nokaslr" command line option
- Add a kernel panic notifier to print the relocation information
- Accept entropy via the /chosen/kaslr-seed property in device tree
- Tested on MIPS Malta, Boston and SEAD3
-by: Matt Redfearn
---
Changes in v2:
- Accept the "nokaslr" command line option
- Add a kernel panic notifier to print the relocation information
- Accept entropy via the /chosen/kaslr-seed property in device tree
- Tested on MIPS Malta, Boston and SEAD3 platforms
arch/mi
remove
(mark as 0 length) the relocation sections added to vmlinux.
When vmlinux is passed to the boot makefile for conversion into a boot
image the now empty relocation sections will be removed and the
populated relocation table will be included in the binary image.
Signed-off-by: Matt Redfearn
remove
(mark as 0 length) the relocation sections added to vmlinux.
When vmlinux is passed to the boot makefile for conversion into a boot
image the now empty relocation sections will be removed and the
populated relocation table will be included in the binary image.
Signed-off-by: Matt Redfearn
a bunch of other stuff.
This patch adds plat_get_ftd() for IMG platforms.
Signed-off-by: Matt Redfearn <matt.redfe...@imgtec.com>
---
Changes in v2: None
arch/mips/include/asm/bootinfo.h | 18 ++
arch/mips/mti-malta/malta-setup.c | 7 ++-
arch/mips/mti-sead3/sead3-setup.
a bunch of other stuff.
This patch adds plat_get_ftd() for IMG platforms.
Signed-off-by: Matt Redfearn
---
Changes in v2: None
arch/mips/include/asm/bootinfo.h | 18 ++
arch/mips/mti-malta/malta-setup.c | 7 ++-
arch/mips/mti-sead3/sead3-setup.c | 5 +
3 files changed, 29
EAD3 platforms
Matt Redfearn (11):
MIPS: tools: Add relocs tool
MIPS: tools: Build relocs tool
MIPS: Reserve space for relocation table
MIPS: Generate relocation table when CONFIG_RELOCATABLE
MIPS: Kernel: Add relocate.c
MIPS: Call relocate_kernel if CONFIG_RELOCATABLE=y
MIPS: bootmem: Wh
EAD3 platforms
Matt Redfearn (11):
MIPS: tools: Add relocs tool
MIPS: tools: Build relocs tool
MIPS: Reserve space for relocation table
MIPS: Generate relocation table when CONFIG_RELOCATABLE
MIPS: Kernel: Add relocate.c
MIPS: Call relocate_kernel if CONFIG_RELOCATABLE=y
MIPS: bootmem: Wh
On 30/03/16 06:06, Kees Cook wrote:
On Tue, Mar 29, 2016 at 1:35 AM, Matt Redfearn <matt.redfe...@imgtec.com> wrote:
These patches imporve seccomp support on MIPS.
Firstly support is added for building the seccomp_bpf self test for
MIPS. The
initial results of these tests were:
32bit
On 30/03/16 06:06, Kees Cook wrote:
On Tue, Mar 29, 2016 at 1:35 AM, Matt Redfearn wrote:
These patches imporve seccomp support on MIPS.
Firstly support is added for building the seccomp_bpf self test for
MIPS. The
initial results of these tests were:
32bit kernel O32 userspace before: 48
the syscall return value when skipping,
since both would need to set the same register. Therefore modify that
test case to just detect the skipped test.
Tested on MIPS32r2 / MIPS64r2 with O32, N32 and N64 userlands.
Signed-off-by: Matt Redfearn <matt.redfe...@imgtec.com>
Acked-by: Kee
801 - 900 of 927 matches
Mail list logo