Hi Tom, > -----Original Message----- > From: Tom Rini [mailto:tr...@konsulko.com] > Sent: Tuesday, November 19, 2019 12:38 PM > To: Vladimir Olovyannikov <vladimir.olovyanni...@broadcom.com> > Cc: u-boot@lists.denx.de; Suji Velupiallai <suji.velupil...@broadcom.com>; > Heinrich Schuchardt <xypron.g...@gmx.de> > Subject: Re: [U-Boot] [PATCH v1 1/1] cmd: adding malloc, math, and strcmp > commands to u-boot > > On Mon, Nov 18, 2019 at 04:26:30PM -0800, Vladimir Olovyannikov wrote: > > > cmd: adding malloc, math, and strcmp u-boot commands. > > - malloc supports allocation of heap memory and free allocated memory > > via u-boot command line. > > Can you expand on how this is used in a script? I'm not sure I see that > exactly. I am upstreaming the new bcm platform. Here is an excerpt from the script which uses these: #define SD_UPDATE \ "sd_update="\ "if malloc tmp 2000; then "\ "else "\ "echo [sd_update] malloc 2000 bytes ** FAILED **;"\ "exit;"\ "fi;"\ "if fatload mmc ${sd_device_number} ${tmp} "\ "${sd_update_prefix}.sd-update; then "\ "else "\ "echo [sd_update] fatload ${sd_update_prefix}.sd-update "\ "** FAILED **;"\ "exit;"\ "fi;"\ "if source ${tmp}; then "\ "else "\ "echo [sd_update] Executing script ** FAILED **;"\ "exit;"\ "fi;"\ "if free tmp; then "\ "else " \ "echo [sd_update] free 2000 bytes ** FAILED **;"\ "exit;"\ "fi \0" ; "if math add filesize filesize 1FF; then "\ "else "\ "echo [mmc_flash_image_rsa] math add command ** FAILED **;"\ "exit;"\ "fi;"\ "if math div fileblocks filesize 200; then "\ "else "\ "echo [mmc_flash_image_rsa] math div command ** FAILED **;"\ "exit;"\ "fi;"\ > Also: > > +config CMD_MALLOC > > + bool "malloc" > > + default y > > + help > > + Supports allocation of heap memory and free allocated memory > commands. > > + These commands are used by u-boot scripts. > > + > > +config CMD_MATH > > + bool "math" > > + default y > > + help > > + Provides math commands such as add, sub, mul, div, shift, > > + convert decimal to hex functionalities to be available in the script. > > First, why do we need this, rather than using setexpr ? I agree, the platform needs to use setexpr as it contains all math operations. > > > + > > config CMD_SOURCE > > bool "source" > > default y > > @@ -1301,6 +1315,13 @@ config CMD_SETEXPR > > Also supports loading the value at a memory location into a variable. > > If CONFIG_REGEX is enabled, setexpr also supports a gsub function. > > > > +config CMD_STRCMP > > + bool "strcmp" > > + default y > > + help > > + Provides string compare command feature to u-boot scripts. > > Second, new commands must not default to y, but they should be enabled > on sandbox and new test.py tests added for them. Thanks! OK, thank you. Is there an example/doc on how to enable these on sandbox and to provide tests?
Vladimir > > -- > Tom _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot