Commit 5a61b7a2 authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'riscv-for-linus-5.14-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux

Pull RISC-V fixes from Palmer Dabbelt:

 - device tree updates for the Microsemi Polarfire development kit that
   fix some mismatches between the u-boot and Linux enternet entries

 - ensure that the F register state is correctly reflected in core dumps

* tag 'riscv-for-linus-5.14-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux:
  riscv: dts: microchip: Add ethernet0 to the aliases node
  riscv: dts: microchip: Use 'local-mac-address' for emac1
  riscv: Ensure the value of FP registers in the core dump file is up to date
parents 1a6436f3 417166dd
...@@ -14,6 +14,10 @@ / { ...@@ -14,6 +14,10 @@ / {
model = "Microchip PolarFire-SoC Icicle Kit"; model = "Microchip PolarFire-SoC Icicle Kit";
compatible = "microchip,mpfs-icicle-kit"; compatible = "microchip,mpfs-icicle-kit";
aliases {
ethernet0 = &emac1;
};
chosen { chosen {
stdout-path = &serial0; stdout-path = &serial0;
}; };
......
...@@ -317,7 +317,7 @@ emac1: ethernet@20112000 { ...@@ -317,7 +317,7 @@ emac1: ethernet@20112000 {
reg = <0x0 0x20112000 0x0 0x2000>; reg = <0x0 0x20112000 0x0 0x2000>;
interrupt-parent = <&plic>; interrupt-parent = <&plic>;
interrupts = <70 71 72 73>; interrupts = <70 71 72 73>;
mac-address = [00 00 00 00 00 00]; local-mac-address = [00 00 00 00 00 00];
clocks = <&clkcfg 5>, <&clkcfg 2>; clocks = <&clkcfg 5>, <&clkcfg 2>;
status = "disabled"; status = "disabled";
clock-names = "pclk", "hclk"; clock-names = "pclk", "hclk";
......
...@@ -10,6 +10,7 @@ ...@@ -10,6 +10,7 @@
#include <asm/ptrace.h> #include <asm/ptrace.h>
#include <asm/syscall.h> #include <asm/syscall.h>
#include <asm/thread_info.h> #include <asm/thread_info.h>
#include <asm/switch_to.h>
#include <linux/audit.h> #include <linux/audit.h>
#include <linux/ptrace.h> #include <linux/ptrace.h>
#include <linux/elf.h> #include <linux/elf.h>
...@@ -56,6 +57,9 @@ static int riscv_fpr_get(struct task_struct *target, ...@@ -56,6 +57,9 @@ static int riscv_fpr_get(struct task_struct *target,
{ {
struct __riscv_d_ext_state *fstate = &target->thread.fstate; struct __riscv_d_ext_state *fstate = &target->thread.fstate;
if (target == current)
fstate_save(current, task_pt_regs(current));
membuf_write(&to, fstate, offsetof(struct __riscv_d_ext_state, fcsr)); membuf_write(&to, fstate, offsetof(struct __riscv_d_ext_state, fcsr));
membuf_store(&to, fstate->fcsr); membuf_store(&to, fstate->fcsr);
return membuf_zero(&to, 4); // explicitly pad return membuf_zero(&to, 4); // explicitly pad
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment