Patch allowing GDB to ignore misaligned data faults

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



When using gdb on the kernel, I've found it helpful to allow
misaligned exceptions to be emulated instead of being
intercepted by gdb.  The following patch does this.  But is
there a better way?  Perhaps a config.in option?

Or is this a case of treating the symptom?  Maybe there are
far too many altogether.  The network stack seems to
be littered with them--is skbuf alignment bad or something?

Ouch, I just looked and after a couple of days there have
been a lot!  This machine is running with nfs root, so every
time you breathe there's a lot of network I/O.

What kind of "unaligned accesses" counts are others seeing?

/ # cat /proc/cpuinfo
cpu                     : MIPS
cpu model               : RC32300 V0.0
system type             : IDT 79S334
BogoMIPS                : 149.91
byteorder               : little endian
unaligned accesses      : 329630
wait instruction        : no
microsecond timers      : no
extra interrupt vector  : yes
hardware watchpoint     : yes
VCED exceptions         : not available
VCEI exceptions         : not available

/ # uptime
   2:07pm  up 1 day, 21:07, load average: 0.00, 0.00, 0.00

Quinn





diff -bpBuN -r -X - linux-sgi-cvs/arch/mips/kernel/gdb-stub.c linux+4/arch/mips/kernel/gdb-stub.c
--- linux-sgi-cvs/arch/mips/kernel/gdb-stub.c	Sun Dec  3 21:04:09 2000
+++ linux+4/arch/mips/kernel/gdb-stub.c	Mon Feb 26 14:56:05 2001
@@ -399,8 +399,11 @@ void set_debug_traps(void)
 	unsigned char c;
 
 	save_and_cli(flags);
-	for (ht = hard_trap_info; ht->tt && ht->signo; ht++)
+	for (ht = hard_trap_info; ht->tt && ht->signo; ht++) {
+		/* let the emulator handle adel and ades */
+		if (ht->tt == 4 || ht->tt == 5) continue;
 		set_except_vector(ht->tt, trap_low);
+	}
   
 	/*
 	 * In case GDB is started before us, ack any packets

[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux