diff options
Diffstat (limited to 'arch/sparc64/kernel/traps.c')
-rw-r--r-- | arch/sparc64/kernel/traps.c | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/arch/sparc64/kernel/traps.c b/arch/sparc64/kernel/traps.c index c9484ae5bb8f..5a157e92bfc7 100644 --- a/arch/sparc64/kernel/traps.c +++ b/arch/sparc64/kernel/traps.c | |||
@@ -1928,6 +1928,40 @@ void sun4v_nonresum_overflow(struct pt_regs *regs) | |||
1928 | atomic_inc(&sun4v_nonresum_oflow_cnt); | 1928 | atomic_inc(&sun4v_nonresum_oflow_cnt); |
1929 | } | 1929 | } |
1930 | 1930 | ||
1931 | unsigned long sun4v_err_itlb_vaddr; | ||
1932 | unsigned long sun4v_err_itlb_ctx; | ||
1933 | unsigned long sun4v_err_itlb_pte; | ||
1934 | unsigned long sun4v_err_itlb_error; | ||
1935 | |||
1936 | void sun4v_itlb_error_report(struct pt_regs *regs, int tl) | ||
1937 | { | ||
1938 | if (tl > 1) | ||
1939 | dump_tl1_traplog((struct tl1_traplog *)(regs + 1)); | ||
1940 | |||
1941 | printk("SUN4V-ITLB: Error at TPC[%lx], tl %d\n", regs->tpc, tl); | ||
1942 | printk("SUN4V-ITLB: vaddr[%lx] ctx[%lx] pte[%lx] error[%lx]\n", | ||
1943 | sun4v_err_itlb_vaddr, sun4v_err_itlb_ctx, | ||
1944 | sun4v_err_itlb_pte, sun4v_err_itlb_error); | ||
1945 | prom_halt(); | ||
1946 | } | ||
1947 | |||
1948 | unsigned long sun4v_err_dtlb_vaddr; | ||
1949 | unsigned long sun4v_err_dtlb_ctx; | ||
1950 | unsigned long sun4v_err_dtlb_pte; | ||
1951 | unsigned long sun4v_err_dtlb_error; | ||
1952 | |||
1953 | void sun4v_dtlb_error_report(struct pt_regs *regs, int tl) | ||
1954 | { | ||
1955 | if (tl > 1) | ||
1956 | dump_tl1_traplog((struct tl1_traplog *)(regs + 1)); | ||
1957 | |||
1958 | printk("SUN4V-DTLB: Error at TPC[%lx], tl %d\n", regs->tpc, tl); | ||
1959 | printk("SUN4V-DTLB: vaddr[%lx] ctx[%lx] pte[%lx] error[%lx]\n", | ||
1960 | sun4v_err_dtlb_vaddr, sun4v_err_dtlb_ctx, | ||
1961 | sun4v_err_dtlb_pte, sun4v_err_dtlb_error); | ||
1962 | prom_halt(); | ||
1963 | } | ||
1964 | |||
1931 | void do_fpe_common(struct pt_regs *regs) | 1965 | void do_fpe_common(struct pt_regs *regs) |
1932 | { | 1966 | { |
1933 | if (regs->tstate & TSTATE_PRIV) { | 1967 | if (regs->tstate & TSTATE_PRIV) { |