|  | @@ -257,6 +257,8 @@ extern void dbg_autocolourise ( unsigned long id );
 | 
		
	
		
			
			| 257 | 257 |  extern void dbg_decolourise ( void );
 | 
		
	
		
			
			| 258 | 258 |  extern void dbg_hex_dump_da ( unsigned long dispaddr,
 | 
		
	
		
			
			| 259 | 259 |  			      const void *data, unsigned long len );
 | 
		
	
		
			
			|  | 260 | +extern void dbg_pause ( void );
 | 
		
	
		
			
			|  | 261 | +extern void dbg_more ( void );
 | 
		
	
		
			
			| 260 | 262 |  
 | 
		
	
		
			
			| 261 | 263 |  #if DEBUG_SYMBOL
 | 
		
	
		
			
			| 262 | 264 |  #define DBGLVL_MAX DEBUG_SYMBOL
 | 
		
	
	
		
			
			|  | @@ -332,6 +334,28 @@ int __debug_disable;
 | 
		
	
		
			
			| 332 | 334 |  		DBG_HDA_IF ( level, _data, _data, len );	\
 | 
		
	
		
			
			| 333 | 335 |  	} while ( 0 )
 | 
		
	
		
			
			| 334 | 336 |  
 | 
		
	
		
			
			|  | 337 | +/**
 | 
		
	
		
			
			|  | 338 | + * Prompt for key press if we are at a certain debug level
 | 
		
	
		
			
			|  | 339 | + *
 | 
		
	
		
			
			|  | 340 | + * @v level		Debug level
 | 
		
	
		
			
			|  | 341 | + */
 | 
		
	
		
			
			|  | 342 | +#define DBG_PAUSE_IF( level ) do {				\
 | 
		
	
		
			
			|  | 343 | +		if ( DBG_ ## level ) {				\
 | 
		
	
		
			
			|  | 344 | +			dbg_pause();				\
 | 
		
	
		
			
			|  | 345 | +		}						\
 | 
		
	
		
			
			|  | 346 | +	} while ( 0 )
 | 
		
	
		
			
			|  | 347 | +
 | 
		
	
		
			
			|  | 348 | +/**
 | 
		
	
		
			
			|  | 349 | + * Prompt for more output data if we are at a certain debug level
 | 
		
	
		
			
			|  | 350 | + *
 | 
		
	
		
			
			|  | 351 | + * @v level		Debug level
 | 
		
	
		
			
			|  | 352 | + */
 | 
		
	
		
			
			|  | 353 | +#define DBG_MORE_IF( level ) do {				\
 | 
		
	
		
			
			|  | 354 | +		if ( DBG_ ## level ) {				\
 | 
		
	
		
			
			|  | 355 | +			dbg_more();				\
 | 
		
	
		
			
			|  | 356 | +		}						\
 | 
		
	
		
			
			|  | 357 | +	} while ( 0 )
 | 
		
	
		
			
			|  | 358 | +
 | 
		
	
		
			
			| 335 | 359 |  /**
 | 
		
	
		
			
			| 336 | 360 |   * Select colour for debug messages if we are at a certain debug level
 | 
		
	
		
			
			| 337 | 361 |   *
 | 
		
	
	
		
			
			|  | @@ -380,41 +404,69 @@ int __debug_disable;
 | 
		
	
		
			
			| 380 | 404 |  		DBG_DC_IF ( level );				\
 | 
		
	
		
			
			| 381 | 405 |  	} while ( 0 )
 | 
		
	
		
			
			| 382 | 406 |  
 | 
		
	
		
			
			|  | 407 | +#define DBGC_PAUSE_IF( level, id ) do {				\
 | 
		
	
		
			
			|  | 408 | +		DBG_AC_IF ( level, id );			\
 | 
		
	
		
			
			|  | 409 | +		DBG_PAUSE_IF ( level );				\
 | 
		
	
		
			
			|  | 410 | +		DBG_DC_IF ( level );				\
 | 
		
	
		
			
			|  | 411 | +	} while ( 0 )
 | 
		
	
		
			
			|  | 412 | +
 | 
		
	
		
			
			|  | 413 | +#define DBGC_MORE_IF( level, id ) do {				\
 | 
		
	
		
			
			|  | 414 | +		DBG_AC_IF ( level, id );			\
 | 
		
	
		
			
			|  | 415 | +		DBG_MORE_IF ( level );				\
 | 
		
	
		
			
			|  | 416 | +		DBG_DC_IF ( level );				\
 | 
		
	
		
			
			|  | 417 | +	} while ( 0 )
 | 
		
	
		
			
			|  | 418 | +
 | 
		
	
		
			
			| 383 | 419 |  /* Versions of the DBGxxx_IF() macros that imply DBGxxx_IF( LOG, ... )*/
 | 
		
	
		
			
			| 384 | 420 |  
 | 
		
	
		
			
			| 385 |  | -#define DBG( ... )		DBG_IF		( LOG, __VA_ARGS__ )
 | 
		
	
		
			
			| 386 |  | -#define DBG_HDA( ... )		DBG_HDA_IF	( LOG, __VA_ARGS__ )
 | 
		
	
		
			
			| 387 |  | -#define DBG_HD( ... )		DBG_HD_IF	( LOG, __VA_ARGS__ )
 | 
		
	
		
			
			| 388 |  | -#define DBGC( ... )		DBGC_IF		( LOG, __VA_ARGS__ )
 | 
		
	
		
			
			| 389 |  | -#define DBGC_HDA( ... )		DBGC_HDA_IF	( LOG, __VA_ARGS__ )
 | 
		
	
		
			
			| 390 |  | -#define DBGC_HD( ... )		DBGC_HD_IF	( LOG, __VA_ARGS__ )
 | 
		
	
		
			
			|  | 421 | +#define DBG( ... )		DBG_IF		( LOG, ##__VA_ARGS__ )
 | 
		
	
		
			
			|  | 422 | +#define DBG_HDA( ... )		DBG_HDA_IF	( LOG, ##__VA_ARGS__ )
 | 
		
	
		
			
			|  | 423 | +#define DBG_HD( ... )		DBG_HD_IF	( LOG, ##__VA_ARGS__ )
 | 
		
	
		
			
			|  | 424 | +#define DBG_PAUSE( ... )	DBG_PAUSE_IF	( LOG, ##__VA_ARGS__ )
 | 
		
	
		
			
			|  | 425 | +#define DBG_MORE( ... )		DBG_MORE_IF	( LOG, ##__VA_ARGS__ )
 | 
		
	
		
			
			|  | 426 | +#define DBGC( ... )		DBGC_IF		( LOG, ##__VA_ARGS__ )
 | 
		
	
		
			
			|  | 427 | +#define DBGC_HDA( ... )		DBGC_HDA_IF	( LOG, ##__VA_ARGS__ )
 | 
		
	
		
			
			|  | 428 | +#define DBGC_HD( ... )		DBGC_HD_IF	( LOG, ##__VA_ARGS__ )
 | 
		
	
		
			
			|  | 429 | +#define DBGC_PAUSE( ... )	DBGC_PAUSE_IF	( LOG, ##__VA_ARGS__ )
 | 
		
	
		
			
			|  | 430 | +#define DBGC_MORE( ... )	DBGC_MORE_IF	( LOG, ##__VA_ARGS__ )
 | 
		
	
		
			
			| 391 | 431 |  
 | 
		
	
		
			
			| 392 | 432 |  /* Versions of the DBGxxx_IF() macros that imply DBGxxx_IF( EXTRA, ... )*/
 | 
		
	
		
			
			| 393 | 433 |  
 | 
		
	
		
			
			| 394 |  | -#define DBG2( ... )		DBG_IF		( EXTRA, __VA_ARGS__ )
 | 
		
	
		
			
			| 395 |  | -#define DBG2_HDA( ... )		DBG_HDA_IF	( EXTRA, __VA_ARGS__ )
 | 
		
	
		
			
			| 396 |  | -#define DBG2_HD( ... )		DBG_HD_IF	( EXTRA, __VA_ARGS__ )
 | 
		
	
		
			
			| 397 |  | -#define DBGC2( ... )		DBGC_IF		( EXTRA, __VA_ARGS__ )
 | 
		
	
		
			
			| 398 |  | -#define DBGC2_HDA( ... )	DBGC_HDA_IF	( EXTRA, __VA_ARGS__ )
 | 
		
	
		
			
			| 399 |  | -#define DBGC2_HD( ... )		DBGC_HD_IF	( EXTRA, __VA_ARGS__ )
 | 
		
	
		
			
			|  | 434 | +#define DBG2( ... )		DBG_IF		( EXTRA, ##__VA_ARGS__ )
 | 
		
	
		
			
			|  | 435 | +#define DBG2_HDA( ... )		DBG_HDA_IF	( EXTRA, ##__VA_ARGS__ )
 | 
		
	
		
			
			|  | 436 | +#define DBG2_HD( ... )		DBG_HD_IF	( EXTRA, ##__VA_ARGS__ )
 | 
		
	
		
			
			|  | 437 | +#define DBG2_PAUSE( ... )	DBG_PAUSE_IF	( EXTRA, ##__VA_ARGS__ )
 | 
		
	
		
			
			|  | 438 | +#define DBG2_MORE( ... )	DBG_MORE_IF	( EXTRA, ##__VA_ARGS__ )
 | 
		
	
		
			
			|  | 439 | +#define DBGC2( ... )		DBGC_IF		( EXTRA, ##__VA_ARGS__ )
 | 
		
	
		
			
			|  | 440 | +#define DBGC2_HDA( ... )	DBGC_HDA_IF	( EXTRA, ##__VA_ARGS__ )
 | 
		
	
		
			
			|  | 441 | +#define DBGC2_HD( ... )		DBGC_HD_IF	( EXTRA, ##__VA_ARGS__ )
 | 
		
	
		
			
			|  | 442 | +#define DBGC2_PAUSE( ... )	DBGC_PAUSE_IF	( EXTRA, ##__VA_ARGS__ )
 | 
		
	
		
			
			|  | 443 | +#define DBGC2_MORE( ... )	DBGC_MORE_IF	( EXTRA, ##__VA_ARGS__ )
 | 
		
	
		
			
			| 400 | 444 |  
 | 
		
	
		
			
			| 401 | 445 |  /* Versions of the DBGxxx_IF() macros that imply DBGxxx_IF( PROFILE, ... )*/
 | 
		
	
		
			
			| 402 | 446 |  
 | 
		
	
		
			
			| 403 |  | -#define DBGP( ... )		DBG_IF		( PROFILE, __VA_ARGS__ )
 | 
		
	
		
			
			| 404 |  | -#define DBGP_HDA( ... )		DBG_HDA_IF	( PROFILE, __VA_ARGS__ )
 | 
		
	
		
			
			| 405 |  | -#define DBGP_HD( ... )		DBG_HD_IF	( PROFILE, __VA_ARGS__ )
 | 
		
	
		
			
			| 406 |  | -#define DBGCP( ... )		DBGC_IF		( PROFILE, __VA_ARGS__ )
 | 
		
	
		
			
			| 407 |  | -#define DBGCP_HDA( ... )	DBGC_HDA_IF	( PROFILE, __VA_ARGS__ )
 | 
		
	
		
			
			| 408 |  | -#define DBGCP_HD( ... )		DBGC_HD_IF	( PROFILE, __VA_ARGS__ )
 | 
		
	
		
			
			|  | 447 | +#define DBGP( ... )		DBG_IF		( PROFILE, ##__VA_ARGS__ )
 | 
		
	
		
			
			|  | 448 | +#define DBGP_HDA( ... )		DBG_HDA_IF	( PROFILE, ##__VA_ARGS__ )
 | 
		
	
		
			
			|  | 449 | +#define DBGP_HD( ... )		DBG_HD_IF	( PROFILE, ##__VA_ARGS__ )
 | 
		
	
		
			
			|  | 450 | +#define DBGP_PAUSE( ... )	DBG_PAUSE_IF	( PROFILE, ##__VA_ARGS__ )
 | 
		
	
		
			
			|  | 451 | +#define DBGP_MORE( ... )	DBG_MORE_IF	( PROFILE, ##__VA_ARGS__ )
 | 
		
	
		
			
			|  | 452 | +#define DBGCP( ... )		DBGC_IF		( PROFILE, ##__VA_ARGS__ )
 | 
		
	
		
			
			|  | 453 | +#define DBGCP_HDA( ... )	DBGC_HDA_IF	( PROFILE, ##__VA_ARGS__ )
 | 
		
	
		
			
			|  | 454 | +#define DBGCP_HD( ... )		DBGC_HD_IF	( PROFILE, ##__VA_ARGS__ )
 | 
		
	
		
			
			|  | 455 | +#define DBGCP_PAUSE( ... )	DBGC_PAUSE_IF	( PROFILE, ##__VA_ARGS__ )
 | 
		
	
		
			
			|  | 456 | +#define DBGCP_MORE( ... )	DBGC_MORE_IF	( PROFILE, ##__VA_ARGS__ )
 | 
		
	
		
			
			| 409 | 457 |  
 | 
		
	
		
			
			| 410 | 458 |  /* Versions of the DBGxxx_IF() macros that imply DBGxxx_IF( IO, ... )*/
 | 
		
	
		
			
			| 411 | 459 |  
 | 
		
	
		
			
			| 412 |  | -#define DBGIO( ... )		DBG_IF		( IO, __VA_ARGS__ )
 | 
		
	
		
			
			| 413 |  | -#define DBGIO_HDA( ... )	DBG_HDA_IF	( IO, __VA_ARGS__ )
 | 
		
	
		
			
			| 414 |  | -#define DBGIO_HD( ... )		DBG_HD_IF	( IO, __VA_ARGS__ )
 | 
		
	
		
			
			| 415 |  | -#define DBGCIO( ... )		DBGC_IF		( IO, __VA_ARGS__ )
 | 
		
	
		
			
			| 416 |  | -#define DBGCIO_HDA( ... )	DBGC_HDA_IF	( IO, __VA_ARGS__ )
 | 
		
	
		
			
			| 417 |  | -#define DBGCIO_HD( ... )	DBGC_HD_IF	( IO, __VA_ARGS__ )
 | 
		
	
		
			
			|  | 460 | +#define DBGIO( ... )		DBG_IF		( IO, ##__VA_ARGS__ )
 | 
		
	
		
			
			|  | 461 | +#define DBGIO_HDA( ... )	DBG_HDA_IF	( IO, ##__VA_ARGS__ )
 | 
		
	
		
			
			|  | 462 | +#define DBGIO_HD( ... )		DBG_HD_IF	( IO, ##__VA_ARGS__ )
 | 
		
	
		
			
			|  | 463 | +#define DBGIO_PAUSE( ... )	DBG_PAUSE_IF	( IO, ##__VA_ARGS__ )
 | 
		
	
		
			
			|  | 464 | +#define DBGIO_MORE( ... )	DBG_MORE_IF	( IO, ##__VA_ARGS__ )
 | 
		
	
		
			
			|  | 465 | +#define DBGCIO( ... )		DBGC_IF		( IO, ##__VA_ARGS__ )
 | 
		
	
		
			
			|  | 466 | +#define DBGCIO_HDA( ... )	DBGC_HDA_IF	( IO, ##__VA_ARGS__ )
 | 
		
	
		
			
			|  | 467 | +#define DBGCIO_HD( ... )	DBGC_HD_IF	( IO, ##__VA_ARGS__ )
 | 
		
	
		
			
			|  | 468 | +#define DBGCIO_PAUSE( ... )	DBGC_PAUSE_IF	( IO, ##__VA_ARGS__ )
 | 
		
	
		
			
			|  | 469 | +#define DBGCIO_MORE( ... )	DBGC_MORE_IF	( IO, ##__VA_ARGS__ )
 | 
		
	
		
			
			| 418 | 470 |  
 | 
		
	
		
			
			| 419 | 471 |  
 | 
		
	
		
			
			| 420 | 472 |  #if DEBUG_SYMBOL == 0
 |