qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v6 5/6] fdc_test: update media_change test


From: Kevin Wolf
Subject: Re: [Qemu-devel] [PATCH v6 5/6] fdc_test: update media_change test
Date: Mon, 25 Jun 2012 11:50:59 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:12.0) Gecko/20120430 Thunderbird/12.0.1

Am 22.06.2012 12:33, schrieb Pavel Hrdina:
> After rewrite DSKCHG bit handling the test has to be updated. Now
> is needed to seek to different track to clear DSKCHG bit.
> 
> Signed-off-by: Pavel Hrdina <address@hidden>
> ---
>  tests/fdc-test.c |   29 +++++++++++++++++++++--------
>  1 files changed, 21 insertions(+), 8 deletions(-)
> 
> diff --git a/tests/fdc-test.c b/tests/fdc-test.c
> index 610e2f1..5280eff 100644
> --- a/tests/fdc-test.c
> +++ b/tests/fdc-test.c
> @@ -156,19 +156,20 @@ static uint8_t send_read_command(void)
>      return ret;
>  }
>  
> -static void send_step_pulse(void)
> +static void send_step_pulse(bool chg_cyl)
>  {
>      int drive = 0;
>      int head = 0;
> -    static int cyl = 0;
> +    int cyl = 0;
> +
> +    if (chg_cyl)
> +        cyl = (cyl + 1) % 4;

Why do you remove the static? Previously, the function would cycle
through cylinders 1-4. Now it's always 0 if !chg_cyl and 1 if chg_cyl. I
think you need to fix this.

I also don't quite understand why you move the increment to here instead
of leaving it as the bottom. It doesn't look wrong, but pointless.

>  
>      floppy_send(CMD_SEEK);
>      floppy_send(head << 2 | drive);
>      g_assert(!get_irq(FLOPPY_IRQ));
>      floppy_send(cyl);
>      ack_irq();
> -
> -    cyl = (cyl + 1) % 4;
>  }
>  
>  static uint8_t cmos_read(uint8_t reg)
> @@ -195,8 +196,7 @@ static void test_no_media_on_start(void)
>      assert_bit_set(dir, DSKCHG);
>      dir = inb(FLOPPY_BASE + reg_dir);
>      assert_bit_set(dir, DSKCHG);
> -    send_step_pulse();
> -    send_step_pulse();
> +    send_step_pulse(1);

This is a bool parameter, so you should pass true/false instead of 0/1.

Other than that, the test case additions look good and I'll accept it as
sufficient for the DSKCHG handling change. It would be great, though, to
add some more cases that test the implicit seeks during commands like
READ (ideally one for each command that can seek).

Kevin



reply via email to

[Prev in Thread] Current Thread [Next in Thread]