diff options
author | David S. Miller <davem@sunset.davemloft.net> | 2006-02-18 20:06:28 -0500 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2006-03-20 04:13:40 -0500 |
commit | 04d74758eb7dce6dfb7d2101315827c267ffefc4 (patch) | |
tree | 18a90d84f5503eefc9af52ecd3bb1a09ae3fe6d0 /arch/sparc64/kernel | |
parent | 24c523ecc667dfeb28ef969cfabc531709bfffb8 (diff) |
[SPARC64]: Use KERN_EMERG in dump_tl1_traplog() and sun4v TLB errors.
We're about to seriously die in these cases so it is important
that the messages make it to the console.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/sparc64/kernel')
-rw-r--r-- | arch/sparc64/kernel/traps.c | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/arch/sparc64/kernel/traps.c b/arch/sparc64/kernel/traps.c index 5a157e92bfc7..6d45867ee166 100644 --- a/arch/sparc64/kernel/traps.c +++ b/arch/sparc64/kernel/traps.c | |||
@@ -75,12 +75,12 @@ static void dump_tl1_traplog(struct tl1_traplog *p) | |||
75 | { | 75 | { |
76 | int i, limit; | 76 | int i, limit; |
77 | 77 | ||
78 | printk("TRAPLOG: Error at trap level 0x%lx, dumping track stack.\n", | 78 | printk(KERN_EMERG "TRAPLOG: Error at trap level 0x%lx, " |
79 | p->tl); | 79 | "dumping track stack.\n", p->tl); |
80 | 80 | ||
81 | limit = (tlb_type == hypervisor) ? 2 : 4; | 81 | limit = (tlb_type == hypervisor) ? 2 : 4; |
82 | for (i = 0; i < 4; i++) { | 82 | for (i = 0; i < 4; i++) { |
83 | printk(KERN_CRIT | 83 | printk(KERN_EMERG |
84 | "TRAPLOG: Trap level %d TSTATE[%016lx] TPC[%016lx] " | 84 | "TRAPLOG: Trap level %d TSTATE[%016lx] TPC[%016lx] " |
85 | "TNPC[%016lx] TT[%lx]\n", | 85 | "TNPC[%016lx] TT[%lx]\n", |
86 | i + 1, | 86 | i + 1, |
@@ -1938,10 +1938,13 @@ void sun4v_itlb_error_report(struct pt_regs *regs, int tl) | |||
1938 | if (tl > 1) | 1938 | if (tl > 1) |
1939 | dump_tl1_traplog((struct tl1_traplog *)(regs + 1)); | 1939 | dump_tl1_traplog((struct tl1_traplog *)(regs + 1)); |
1940 | 1940 | ||
1941 | printk("SUN4V-ITLB: Error at TPC[%lx], tl %d\n", regs->tpc, tl); | 1941 | printk(KERN_EMERG "SUN4V-ITLB: Error at TPC[%lx], tl %d\n", |
1942 | printk("SUN4V-ITLB: vaddr[%lx] ctx[%lx] pte[%lx] error[%lx]\n", | 1942 | regs->tpc, tl); |
1943 | printk(KERN_EMERG "SUN4V-ITLB: vaddr[%lx] ctx[%lx] " | ||
1944 | "pte[%lx] error[%lx]\n", | ||
1943 | sun4v_err_itlb_vaddr, sun4v_err_itlb_ctx, | 1945 | sun4v_err_itlb_vaddr, sun4v_err_itlb_ctx, |
1944 | sun4v_err_itlb_pte, sun4v_err_itlb_error); | 1946 | sun4v_err_itlb_pte, sun4v_err_itlb_error); |
1947 | |||
1945 | prom_halt(); | 1948 | prom_halt(); |
1946 | } | 1949 | } |
1947 | 1950 | ||
@@ -1955,10 +1958,13 @@ void sun4v_dtlb_error_report(struct pt_regs *regs, int tl) | |||
1955 | if (tl > 1) | 1958 | if (tl > 1) |
1956 | dump_tl1_traplog((struct tl1_traplog *)(regs + 1)); | 1959 | dump_tl1_traplog((struct tl1_traplog *)(regs + 1)); |
1957 | 1960 | ||
1958 | printk("SUN4V-DTLB: Error at TPC[%lx], tl %d\n", regs->tpc, tl); | 1961 | printk(KERN_EMERG "SUN4V-DTLB: Error at TPC[%lx], tl %d\n", |
1959 | printk("SUN4V-DTLB: vaddr[%lx] ctx[%lx] pte[%lx] error[%lx]\n", | 1962 | regs->tpc, tl); |
1963 | printk(KERN_EMERG "SUN4V-DTLB: vaddr[%lx] ctx[%lx] " | ||
1964 | "pte[%lx] error[%lx]\n", | ||
1960 | sun4v_err_dtlb_vaddr, sun4v_err_dtlb_ctx, | 1965 | sun4v_err_dtlb_vaddr, sun4v_err_dtlb_ctx, |
1961 | sun4v_err_dtlb_pte, sun4v_err_dtlb_error); | 1966 | sun4v_err_dtlb_pte, sun4v_err_dtlb_error); |
1967 | |||
1962 | prom_halt(); | 1968 | prom_halt(); |
1963 | } | 1969 | } |
1964 | 1970 | ||