qemu-devel
[Top][All Lists]
Advanced

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

Re: [PATCH v7 06/17] hw/sd/sdcard: Restrict Class 6 commands to SCSD car


From: Alistair Francis
Subject: Re: [PATCH v7 06/17] hw/sd/sdcard: Restrict Class 6 commands to SCSD cards
Date: Mon, 6 Jul 2020 09:27:36 -0700

On Tue, Jun 30, 2020 at 6:44 AM Philippe Mathieu-Daudé <f4bug@amsat.org> wrote:
>
> Only SCSD cards support Class 6 (Block Oriented Write Protection)
> commands.
>
>   "SD Specifications Part 1 Physical Layer Simplified Spec. v3.01"
>
>   4.3.14 Command Functional Difference in Card Capacity Types
>
>   * Write Protected Group
>
>   SDHC and SDXC do not support write-protected groups. Issuing
>   CMD28, CMD29 and CMD30 generates the ILLEGAL_COMMAND error.
>
> Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>

Reviewed-by: Alistair Francis <alistair.francis@wdc.com>

Alistair

> ---
>  hw/sd/sd.c | 5 +++++
>  1 file changed, 5 insertions(+)
>
> diff --git a/hw/sd/sd.c b/hw/sd/sd.c
> index 7e0d684aca..871c30a67f 100644
> --- a/hw/sd/sd.c
> +++ b/hw/sd/sd.c
> @@ -922,6 +922,11 @@ static sd_rsp_type_t sd_normal_command(SDState *sd, 
> SDRequest req)
>          sd->multi_blk_cnt = 0;
>      }
>
> +    if (sd_cmd_class[req.cmd] == 6 && FIELD_EX32(sd->ocr, OCR, 
> CARD_CAPACITY)) {
> +        /* Only Standard Capacity cards support class 6 commands */
> +        return sd_illegal;
> +    }
> +
>      switch (req.cmd) {
>      /* Basic commands (Class 0 and Class 1) */
>      case 0:    /* CMD0:   GO_IDLE_STATE */
> --
> 2.21.3
>
>



reply via email to

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