Revision bc24a225 hw/sd.c
b/hw/sd.c | ||
---|---|---|
301 | 301 |
memset(sd->sd_status, 0, 64); |
302 | 302 |
} |
303 | 303 |
|
304 |
static int sd_req_crc_validate(struct sd_request_s *req)
|
|
304 |
static int sd_req_crc_validate(SDRequest *req)
|
|
305 | 305 |
{ |
306 | 306 |
uint8_t buffer[5]; |
307 | 307 |
buffer[0] = 0x40 | req->cmd; |
... | ... | |
580 | 580 |
} |
581 | 581 |
|
582 | 582 |
static sd_rsp_type_t sd_normal_command(SDState *sd, |
583 |
struct sd_request_s req)
|
|
583 |
SDRequest req)
|
|
584 | 584 |
{ |
585 | 585 |
uint32_t rca = 0x0000; |
586 | 586 |
|
... | ... | |
1119 | 1119 |
} |
1120 | 1120 |
|
1121 | 1121 |
static sd_rsp_type_t sd_app_command(SDState *sd, |
1122 |
struct sd_request_s req) {
|
|
1122 |
SDRequest req) {
|
|
1123 | 1123 |
uint32_t rca; |
1124 | 1124 |
|
1125 | 1125 |
if (sd_cmd_type[req.cmd] == sd_ac || sd_cmd_type[req.cmd] == sd_adtc) |
... | ... | |
1228 | 1228 |
return sd_r0; |
1229 | 1229 |
} |
1230 | 1230 |
|
1231 |
int sd_do_command(SDState *sd, struct sd_request_s *req,
|
|
1231 |
int sd_do_command(SDState *sd, SDRequest *req,
|
|
1232 | 1232 |
uint8_t *response) { |
1233 | 1233 |
uint32_t last_status = sd->card_status; |
1234 | 1234 |
sd_rsp_type_t rtype; |
Also available in: Unified diff