[U-Boot] [PATCH] cmd: reset: add parameters to specify reboot_mode
Simon Goldschmidt
simon.k.r.goldschmidt at gmail.com
Fri Aug 2 05:53:40 UTC 2019
On Fri, Aug 2, 2019 at 12:45 AM Simon Glass <sjg at chromium.org> wrote:
>
> Hi Simon,
>
> On Mon, 29 Jul 2019 at 04:47, Simon Goldschmidt
> <simon.k.r.goldschmidt at gmail.com> wrote:
> >
> > Simon,
> >
> > On Wed, Jul 10, 2019 at 8:50 PM Simon Goldschmidt
> > <simon.k.r.goldschmidt at gmail.com> wrote:
> > >
> > > Simon,
> > >
> > > I know I've slept for a while before retriggering this, but...
> > >
> > > Am 04.05.2019 um 20:23 schrieb Simon Goldschmidt:
> > > > Am 03.05.2019 um 23:10 schrieb Simon Glass:
> > > >> Hi Simon,
> > > >>
> > > >> On Fri, 3 May 2019 at 14:43, Marek Vasut <marex at denx.de> wrote:
> > > >>>
> > > >>> On 5/3/19 10:40 PM, Simon Goldschmidt wrote:
> > > >>>>
> > > >>>>
> > > >>>> On 03.05.19 22:37, Marek Vasut wrote:
> > > >>>>> On 5/3/19 10:33 PM, Simon Goldschmidt wrote:
> > > >>>>>>
> > > >>>>>>
> > > >>>>>> On 03.05.19 22:27, Marek Vasut wrote:
> > > >>>>>>> On 5/3/19 10:25 PM, Simon Goldschmidt wrote:
> > > >>>>>>>> This patch adds parameter support for the 'reset' command to specify
> > > >>>>>>>> the reboot mode (cold vs. warm).
> > > >>>>>>>>
> > > >>>>>>>> Checking these parameters is implemented in the DM implementation.
> > > >>>>>>>>
> > > >>>>>>>> Signed-off-by: Simon Goldschmidt <simon.k.r.goldschmidt at gmail.com>
> > > >>>>>>>> ---
> > > >>>>>>>>
> > > >>>>>>>> cmd/boot.c | 4 ++--
> > > >>>>>>>> drivers/sysreset/sysreset-uclass.c | 17 ++++++++++++++++-
> > > >>>>>>>> 2 files changed, 18 insertions(+), 3 deletions(-)
> > > >>>>>>>>
> > > >>>>>>>> diff --git a/cmd/boot.c b/cmd/boot.c
> > > >>>>>>>> index 9150fce80b..c3f33a9ca3 100644
> > > >>>>>>>> --- a/cmd/boot.c
> > > >>>>>>>> +++ b/cmd/boot.c
> > > >>>>>>>> @@ -56,9 +56,9 @@ U_BOOT_CMD(
> > > >>>>>>>> #endif
> > > >>>>>>>> U_BOOT_CMD(
> > > >>>>>>>> - reset, 1, 0, do_reset,
> > > >>>>>>>> + reset, 2, 0, do_reset,
> > > >>>>>>>> "Perform RESET of the CPU",
> > > >>>>>>>> - ""
> > > >>>>>>>> + "[<cold|warm>] - type of reboot"
> > > >>>>>>>> );
> > > >>>>>>>> #ifdef CONFIG_CMD_POWEROFF
> > > >>>>>>>> diff --git a/drivers/sysreset/sysreset-uclass.c
> > > >>>>>>>> b/drivers/sysreset/sysreset-uclass.c
> > > >>>>>>>> index ad831c703a..fbda3f44f2 100644
> > > >>>>>>>> --- a/drivers/sysreset/sysreset-uclass.c
> > > >>>>>>>> +++ b/drivers/sysreset/sysreset-uclass.c
> > > >>>>>>>> @@ -111,9 +111,24 @@ void reset_cpu(ulong addr)
> > > >>>>>>>> int do_reset(cmd_tbl_t *cmdtp, int flag, int argc, char * const
> > > >>>>>>>> argv[])
> > > >>>>>>>> {
> > > >>>>>>>> + enum sysreset_t reboot_mode = SYSRESET_COLD;
> > > >>>>>>>> +
> > > >>>>>>>> + if (argc > 1 && argv[1]) {
> > > >>>>>>>> + switch (*argv[1]) {
> > > >>>>>>>> + case 'w':
> > > >>>>>>>> + reboot_mode = SYSRESET_WARM;
> > > >>>>>>>> + printf("warm ");
> > > >>>>>>>> + break;
> > > >>>>>>>> + case 'c':
> > > >>>>>>>> + reboot_mode = SYSRESET_COLD;
> > > >>>>>>>> + printf("cold ");
> > > >>>>>>>> + break;
> > > >>
> > > >> Please can we have a pytest for this command?
> > > >
> > > > There's 'test_sandbox_exit.py' that seems to test that the "reset"
> > > > command exits sandbox process. How would I test differing between "warm"
> > > > and "cold" exit?
> > >
> > > If this request for a test is what remains, can you please elaborate on
> > > what I should write to get this accepted?
> >
> > Sorry, but I can't implement a test without you telling me what kind
> > of test you mean.
> >
> > I'll be sending v2 (that removes the extra printf's from above) without
> > such a test and hope it can still be accepted.
>
> Well we have test_unknown_cmd.py for example, and test_pinmux.py,
> which you could use as examples, just to check that the command works
> and provides the right output.
The tests are run in sandbox, right? And my understanding was that the reset
command makes sandbox exit. That's why I asked this question: I just don'tests
know if/how I can write a test when the command under test exits sandbox.
Regards,
Simon
More information about the U-Boot
mailing list