IDE Pull request
-----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEE+ber27ys35W+dsvQfe+BBqr8OQ4FAl+YMbcACgkQfe+BBqr8 OQ5drg//aYgqbOhJ5GPKkz/0PDGZXXnUO9ytU7agkMjJBjfYAWSmZ3pQkQvRdRTD KZJiF+noCvsRJFhAHTbujTTvbsVp7RnC1pMMO34EAgmZZYisXxgotw4hjxw+UXQx nXCrTNOElUZjGrdcs1nksUfGX9CIi+QW9JxyiDg9jxUrvqPkPdxm2WFSRL6wtgHQ +OsD1HLQ2PnkAlsEkp+1EPio/SZ25fIVLamg7ujrdufNYT4bJJEOOQZX9B4ifAOf GjRiAF0GjiLRWXu/YUgbz5tnfQUrTTsmhWkEsnM+t6FFSk4nQEQ/8T3fi7Kw26VB JZGzKlMqLkpFOZ2akLNqZ/bjSnhjEVQyeSqG0b6EM1y8HO7V5F4GUvA1hnJeD50s 5MPbtZqqN8ZkkQBaX251MxtKBccdZzdt+ePuxb0/LhgKwqqKVlTegro5mJ3YDLkY EoMQe/KOLA8WiKcmPkJ9NO0yycalm5dQWGxamx0ZskUksnCGSaLnyrhB5z/BMrQw +EcGzLo2WbJYa6pHfZer0sXy5MNWLwWo10KMzQsvlb/vFtcyET8oeAWQmnzX69go QsAalo2tKVRNdztpkrvPWaz1opo4rxca+5KKAyGE37HOa3FCqyGHGuIRCkzRthZF 4/eqgSFjfyJuh/HkUIUcW9pBBjza8dgfyOjt9Z1+edOlG4CG+ck= =9TNX -----END PGP SIGNATURE----- Merge remote-tracking branch 'remotes/jsnow-gitlab/tags/ide-pull-request' into staging IDE Pull request # gpg: Signature made Tue 27 Oct 2020 14:41:59 GMT # gpg: using RSA key F9B7ABDBBCACDF95BE76CBD07DEF8106AAFC390E # gpg: Good signature from "John Snow (John Huston) <jsnow@redhat.com>" [full] # Primary key fingerprint: FAEB 9711 A12C F475 812F 18F2 88A9 064D 1835 61EB # Subkey fingerprint: F9B7 ABDB BCAC DF95 BE76 CBD0 7DEF 8106 AAFC 390E * remotes/jsnow-gitlab/tags/ide-pull-request: ide: clear SRST after SRST finishes ide: perform SRST as early as possible ide: run diagnostic after SRST Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
commit
d03e884e4e
@ -2254,10 +2254,8 @@ static void ide_perform_srst(IDEState *s)
|
||||
/* Cancel PIO callback, reset registers/signature, etc */
|
||||
ide_reset(s);
|
||||
|
||||
if (s->drive_kind == IDE_CD) {
|
||||
/* ATAPI drives do not set READY or SEEK */
|
||||
s->status = 0x00;
|
||||
}
|
||||
/* perform diagnostic */
|
||||
cmd_exec_dev_diagnostic(s, WIN_DIAGNOSE);
|
||||
}
|
||||
|
||||
static void ide_bus_perform_srst(void *opaque)
|
||||
@ -2270,6 +2268,8 @@ static void ide_bus_perform_srst(void *opaque)
|
||||
s = &bus->ifs[i];
|
||||
ide_perform_srst(s);
|
||||
}
|
||||
|
||||
bus->cmd &= ~IDE_CTRL_RESET;
|
||||
}
|
||||
|
||||
void ide_ctrl_write(void *opaque, uint32_t addr, uint32_t val)
|
||||
@ -2282,9 +2282,7 @@ void ide_ctrl_write(void *opaque, uint32_t addr, uint32_t val)
|
||||
|
||||
/* Device0 and Device1 each have their own control register,
|
||||
* but QEMU models it as just one register in the controller. */
|
||||
if ((bus->cmd & IDE_CTRL_RESET) &&
|
||||
!(val & IDE_CTRL_RESET)) {
|
||||
/* SRST triggers on falling edge */
|
||||
if (!(bus->cmd & IDE_CTRL_RESET) && (val & IDE_CTRL_RESET)) {
|
||||
for (i = 0; i < 2; i++) {
|
||||
s = &bus->ifs[i];
|
||||
s->status |= BUSY_STAT;
|
||||
|
Loading…
Reference in New Issue
Block a user