diff options
author | Jason Lowe-Power <jason@lowepower.com> | 2017-04-24 08:55:24 -0500 |
---|---|---|
committer | Jason Lowe-Power <jason@lowepower.com> | 2017-05-01 14:14:15 +0000 |
commit | a517b4a6fba2674cb2a5b5b50a187473aedd4362 (patch) | |
tree | 190bb969ed7b200e7b3bccab3ce0708ae2031cf0 /src/dev | |
parent | 334b1e5a4815e4747a93c6bd509d729032c29821 (diff) | |
download | gem5-a517b4a6fba2674cb2a5b5b50a187473aedd4362.tar.xz |
dev: Add ATA command used in recent Linux kernels
Add a case for the ATA command ATAPI_IDENTIFY_DEVICE.
This avoids the panic: Unsupported ATA command when booting a recent Linux
kernel. This was tested on 4.8.13.
Change-Id: Ib297a2c02da0730d8698c59801254dd0f5ee9f7f
Signed-off-by: Jason Lowe-Power <jason@lowepower.com>
Reviewed-on: https://gem5-review.googlesource.com/2863
Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com>
Reviewed-by: Gabe Black <gabeblack@google.com>
Diffstat (limited to 'src/dev')
-rw-r--r-- | src/dev/storage/ide_disk.cc | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/dev/storage/ide_disk.cc b/src/dev/storage/ide_disk.cc index e4b4e625a..de0986e45 100644 --- a/src/dev/storage/ide_disk.cc +++ b/src/dev/storage/ide_disk.cc @@ -657,6 +657,7 @@ IdeDisk::startCommand() // Supported PIO data-in commands case WDCC_IDENTIFY: + case ATAPI_IDENTIFY_DEVICE: cmdBytes = cmdBytesLeft = sizeof(struct ataparams); devState = Prepare_Data_In; action = ACT_DATA_READY; @@ -852,7 +853,8 @@ IdeDisk::updateState(DevAction_t action) status |= STATUS_DRQ_BIT; // copy the data into the data buffer - if (cmdReg.command == WDCC_IDENTIFY) { + if (cmdReg.command == WDCC_IDENTIFY || + cmdReg.command == ATAPI_IDENTIFY_DEVICE) { // Reset the drqBytes for this block drqBytesLeft = sizeof(struct ataparams); |