| 
				
			 | 
			
			
				
				@@ -44,7 +44,6 @@ struct hwbp { 
			 | 
		
		
	
		
			
			| 
				44
			 | 
			
				44
			 | 
			
			
				
				  
			 | 
		
		
	
		
			
			| 
				45
			 | 
			
				45
			 | 
			
			
				
				 static struct hwbp hwbps [ 4 ]; 
			 | 
		
		
	
		
			
			| 
				46
			 | 
			
				46
			 | 
			
			
				
				 static gdbreg_t dr7 = DR7_CLEAR; 
			 | 
		
		
	
		
			
			| 
				47
			 | 
			
				
			 | 
			
			
				
				-static gdbreg_t dr6; 
			 | 
		
		
	
		
			
			| 
				48
			 | 
			
				47
			 | 
			
			
				
				  
			 | 
		
		
	
		
			
			| 
				49
			 | 
			
				48
			 | 
			
			
				
				 static struct hwbp *gdbmach_find_hwbp ( int type, unsigned long addr, size_t len ) { 
			 | 
		
		
	
		
			
			| 
				50
			 | 
			
				49
			 | 
			
			
				
				 	struct hwbp *available = NULL; 
			 | 
		
		
	
	
		
			
			| 
				
			 | 
			
			
				
				@@ -131,14 +130,14 @@ int gdbmach_set_breakpoint ( int type, unsigned long addr, size_t len, int enabl 
			 | 
		
		
	
		
			
			| 
				131
			 | 
			
				130
			 | 
			
			
				
				 } 
			 | 
		
		
	
		
			
			| 
				132
			 | 
			
				131
			 | 
			
			
				
				  
			 | 
		
		
	
		
			
			| 
				133
			 | 
			
				132
			 | 
			
			
				
				 static void gdbmach_disable_hwbps ( void ) { 
			 | 
		
		
	
		
			
			| 
				134
			 | 
			
				
			 | 
			
			
				
				-	/* Store and clear breakpoint status register */ 
			 | 
		
		
	
		
			
			| 
				135
			 | 
			
				
			 | 
			
			
				
				-	__asm__ __volatile__ ( "movl %%dr6, %0\n" "movl %1, %%dr6\n" : "=r" ( dr6 ) : "r" ( DR6_CLEAR ) ); 
			 | 
		
		
	
		
			
			| 
				136
			 | 
			
				
			 | 
			
			
				
				- 
			 | 
		
		
	
		
			
			| 
				137
			 | 
			
				133
			 | 
			
			
				
				 	/* Store and clear hardware breakpoints */ 
			 | 
		
		
	
		
			
			| 
				138
			 | 
			
				134
			 | 
			
			
				
				 	__asm__ __volatile__ ( "movl %0, %%dr7\n" : : "r" ( DR7_CLEAR ) ); 
			 | 
		
		
	
		
			
			| 
				139
			 | 
			
				135
			 | 
			
			
				
				 } 
			 | 
		
		
	
		
			
			| 
				140
			 | 
			
				136
			 | 
			
			
				
				  
			 | 
		
		
	
		
			
			| 
				141
			 | 
			
				137
			 | 
			
			
				
				 static void gdbmach_enable_hwbps ( void ) { 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				138
			 | 
			
			
				
				+	/* Clear breakpoint status register */ 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				139
			 | 
			
			
				
				+	__asm__ __volatile__ ( "movl %0, %%dr6\n" : : "r" ( DR6_CLEAR ) ); 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				140
			 | 
			
			
				
				+ 
			 | 
		
		
	
		
			
			| 
				142
			 | 
			
				141
			 | 
			
			
				
				 	/* Restore hardware breakpoints */ 
			 | 
		
		
	
		
			
			| 
				143
			 | 
			
				142
			 | 
			
			
				
				 	__asm__ __volatile__ ( "movl %0, %%dr7\n" : : "r" ( dr7 ) ); 
			 | 
		
		
	
		
			
			| 
				144
			 | 
			
				143
			 | 
			
			
				
				 } 
			 |