mirror of
				https://xff.cz/git/u-boot/
				synced 2025-10-31 18:35:42 +01:00 
			
		
		
		
	The Examples section should be on the second heading level. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Simon Glass <sjg@chromium.org>
		
			
				
	
	
		
			116 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
			
		
		
	
	
			116 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
| .. SPDX-License-Identifier: GPL-2.0+
 | |
| 
 | |
| .. index::
 | |
|    single: itest (command)
 | |
| 
 | |
| itest command
 | |
| =============
 | |
| 
 | |
| Synopsis
 | |
| --------
 | |
| 
 | |
| ::
 | |
| 
 | |
|     itest[.b | .w | .l | .q | .s] [*]<value1> <op> [*]<value2>
 | |
| 
 | |
| Description
 | |
| -----------
 | |
| 
 | |
| The itest command is used to compare two values. The return value $? is set
 | |
| accordingly.
 | |
| 
 | |
| By default it is assumed that the values are 4 byte integers. By appending a
 | |
| postfix (.b, .w, .l, .q, .s) the size can be specified:
 | |
| 
 | |
| ======= ======================================================
 | |
| postfix meaning
 | |
| ======= ======================================================
 | |
| .b      1 byte integer
 | |
| .w      2 byte integer
 | |
| .l      4 byte integer
 | |
| .q      8 byte integer (only available if CONFIG_PHYS_64BIT=y)
 | |
| .s      string
 | |
| ======= ======================================================
 | |
| 
 | |
| value1, value2
 | |
|     values to compare. Numeric values are hexadecimal. If '*' is prefixed a
 | |
|     hexadecimal address is passed, which points to the value to be compared.
 | |
| 
 | |
| op
 | |
|     operator, see table
 | |
| 
 | |
|     ======== ======================
 | |
|     operator meaning
 | |
|     ======== ======================
 | |
|     -lt      less than
 | |
|     <        less than
 | |
|     -le      less or equal
 | |
|     <=       less or equal
 | |
|     -eq      equal
 | |
|     ==       equal
 | |
|     -ne      not equal
 | |
|     !=       not equal
 | |
|     <>       not equal
 | |
|     -ge      greater or equal
 | |
|     >=       greater or equal
 | |
|     -gt      greater than
 | |
|     >        greater than
 | |
|     ======== ======================
 | |
| 
 | |
| Examples
 | |
| --------
 | |
| 
 | |
| The itest command sets the result variable $? to true (0) or false (1):
 | |
| 
 | |
| ::
 | |
| 
 | |
|     => itest 3 < 4; echo $?
 | |
|     0
 | |
|     => itest 3 == 4; echo $?
 | |
|     1
 | |
| 
 | |
| This value can be used in the :doc:`if <if>` command:
 | |
| 
 | |
| ::
 | |
| 
 | |
|     => if itest 0x3002 < 0x4001; then echo true; else echo false; fi
 | |
|     true
 | |
| 
 | |
| Numbers will be truncated according to the postfix before comparing:
 | |
| 
 | |
| ::
 | |
| 
 | |
|     => if itest.b 0x3002 < 0x4001; then echo true; else echo false; fi
 | |
|     false
 | |
| 
 | |
| Postfix .s causes a string compare. The string '0xa1234' is alphabetically
 | |
| smaller than '0xb'.
 | |
| 
 | |
| ::
 | |
| 
 | |
|     => if itest.s 0xa1234 < 0xb; then echo true; else echo false; fi
 | |
|     true
 | |
| 
 | |
| A value prefixed by '*' is a pointer to the value in memory.
 | |
| 
 | |
| ::
 | |
| 
 | |
|     => mm 0x4000
 | |
|     00004000: 00000004 ?
 | |
|     00004004: 00000003 ? =>
 | |
|     => if itest *0x4000 == 4; then echo true; else echo false; fi
 | |
|     true
 | |
|     => if itest *0x4004 == 3; then echo true; else echo false; fi
 | |
|     true
 | |
| 
 | |
| Configuration
 | |
| -------------
 | |
| 
 | |
| The command is only available if CONFIG_CMD_ITEST=y.
 | |
| 
 | |
| Return value
 | |
| ------------
 | |
| 
 | |
| The return value $? is 0 (true) if the condition is true and 1 (false)
 | |
| otherwise.
 |