Patchwork [U-Boot,v2,01/12] x86: Call hang() on unrecoverable exception

login
register
mail settings
Submitter Graeme Russ
Date Nov. 8, 2011, 12:33 p.m.
Message ID <1320755603-8695-2-git-send-email-graeme.russ@gmail.com>
Download mbox | patch
Permalink /patch/124338/
State Accepted
Delegated to: Graeme Russ
Headers show

Comments

Graeme Russ - Nov. 8, 2011, 12:33 p.m.
Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
---
Changes for v2:
 - Consolidated patch series

 arch/x86/cpu/interrupts.c |   20 ++++++++++----------
 1 files changed, 10 insertions(+), 10 deletions(-)

--
1.7.5.2.317.g391b14
Graeme Russ - Nov. 12, 2011, 10:05 a.m.
On 08/11/11 23:33, Graeme Russ wrote:
> Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
> ---
> Changes for v2:
>  - Consolidated patch series
> 
>  arch/x86/cpu/interrupts.c |   20 ++++++++++----------
>  1 files changed, 10 insertions(+), 10 deletions(-)

Applied to u-boot-x86

Thanks,

Graeme

Patch

diff --git a/arch/x86/cpu/interrupts.c b/arch/x86/cpu/interrupts.c
index c6e72ea..89f39d2 100644
--- a/arch/x86/cpu/interrupts.c
+++ b/arch/x86/cpu/interrupts.c
@@ -255,7 +255,7 @@  void irq_llsr(struct irq_regs *regs)
 	case 0x00:
 		printf("Divide Error (Division by zero)\n");
 		dump_regs(regs);
-		while(1);
+		hang();
 		break;
 	case 0x01:
 		printf("Debug Interrupt (Single step)\n");
@@ -272,32 +272,32 @@  void irq_llsr(struct irq_regs *regs)
 	case 0x04:
 		printf("Overflow\n");
 		dump_regs(regs);
-		while(1);
+		hang();
 		break;
 	case 0x05:
 		printf("BOUND Range Exceeded\n");
 		dump_regs(regs);
-		while(1);
+		hang();
 		break;
 	case 0x06:
 		printf("Invalid Opcode (UnDefined Opcode)\n");
 		dump_regs(regs);
-		while(1);
+		hang();
 		break;
 	case 0x07:
 		printf("Device Not Available (No Math Coprocessor)\n");
 		dump_regs(regs);
-		while(1);
+		hang();
 		break;
 	case 0x08:
 		printf("Double fault\n");
 		dump_regs(regs);
-		while(1);
+		hang();
 		break;
 	case 0x09:
 		printf("Co-processor segment overrun\n");
 		dump_regs(regs);
-		while(1);
+		hang();
 		break;
 	case 0x0a:
 		printf("Invalid TSS\n");
@@ -306,12 +306,12 @@  void irq_llsr(struct irq_regs *regs)
 	case 0x0b:
 		printf("Segment Not Present\n");
 		dump_regs(regs);
-		while(1);
+		hang();
 		break;
 	case 0x0c:
 		printf("Stack Segment Fault\n");
 		dump_regs(regs);
-		while(1);
+		hang();
 		break;
 	case 0x0d:
 		printf("General Protection\n");
@@ -320,7 +320,7 @@  void irq_llsr(struct irq_regs *regs)
 	case 0x0e:
 		printf("Page fault\n");
 		dump_regs(regs);
-		while(1);
+		hang();
 		break;
 	case 0x0f:
 		printf("Floating-Point Error (Math Fault)\n");