[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
>
>
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: [PATCH v7 06/17] hw/sd/sdcard: Restrict Class 6 commands to SCSD cards,
Alistair Francis <=