[U-Boot] [PATCH] itest: Add bitwise and operator

Eric Nelson eric.nelson at boundarydevices.com
Fri May 3 21:22:33 CEST 2013


Hi Wolfgang,

On 05/03/2013 12:08 PM, Wolfgang Denk wrote:
> Dear Eric Nelson,
>
> In message <1367606863-14846-1-git-send-email-eric.nelson at boundarydevices.com> you wrote:
>> Signed-off-by: Eric Nelson <eric.nelson at boundarydevices.com>
>> ---
>>   common/cmd_itest.c        |    4 ++++
>>   doc/README.commands.itest |   10 +++++++++-
>>   2 files changed, 13 insertions(+), 1 deletion(-)
>>
>> diff --git a/common/cmd_itest.c b/common/cmd_itest.c
>> index 2c8e5d0..0629b09 100644
>> --- a/common/cmd_itest.c
>> +++ b/common/cmd_itest.c
>> @@ -38,6 +38,7 @@
>>   #define GT	3
>>   #define LE	4
>>   #define GE	5
>> +#define AND	6
>
> It does not make much sense to me to add AND, when you not also add
> OR (and eventually XOR).
>

I only needed to test a bit.

> Also, now the help message is no longer correct - it says:
>
> 189 U_BOOT_CMD(
> 190         itest, 4, 0, do_itest,
> 191         "return true/false on integer compare",
> 192         "[.b, .w, .l, .s] [*]value1 <op> [*]value2"
> 193 );
>
> but we no longer compare...
>
> Hm, re-reading this I think this is the wrong approach.  This stuff
> does not belong into the "itest" command which really is for
> comparing, and NOT for operations on the arguments.
>
> If you need operations, then please use "setexpr" - which already has
> all of this, and more.
>

As always, thanks for the guidance.

I hadn't noticed that setexpr supported indirection.

In case this helps someone else, I was looking for
a way to detect Android "recovery" mode, which is
flagged by bit seven in the SRC_GPR10 register
(address 0x020d8044).

And setexpr can be used like so:

	U-Boot > md.l 0x020d8044
	020d8044: 00000080                               ....
	U-Boot > setexpr rval *0x020D8044 \& 0x80
	U-Boot > print rval
	rval=80
	U-Boot > setexpr rval *0x020D8044 \& 0x40
	U-Boot > print rval
	rval=0

Regards,


Eric


More information about the U-Boot mailing list