diff options
Diffstat (limited to 'results/scraper/launchpad-without-comments/1896342')
| -rw-r--r-- | results/scraper/launchpad-without-comments/1896342 | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/results/scraper/launchpad-without-comments/1896342 b/results/scraper/launchpad-without-comments/1896342 new file mode 100644 index 00000000..8fac5387 --- /dev/null +++ b/results/scraper/launchpad-without-comments/1896342 @@ -0,0 +1,23 @@ +IDE ATA IDENTIFY WORD 106 + +The code at line 202 in hw/ide/core.c + (https://git.qemu.org/?p=qemu.git;a=blob;f=hw/ide/core.c;#l201) +hard codes bit 13 set. However, get_physical_block_exp() can and may return 0, which is a valid response. If get_physical_block_exp() does return zero, bit 13 should not be set. + +ATAPI8 states (Section 7.17.7.73): + "Bit 13 of word 106 shall be set to one to indicate that the device has more than one logical sector per physical sector" + +and gives the examples: + Bits (3:0): 0 = 2^0 = 1 logical sector per physical sector + Bits (3:0): 1 = 2^1 = 2 logical sector per physical sector + Bits (3:0): 2 = 2^2 = 4 logical sector per physical sector + Bits (3:0): 3 = 2^3 = 8 logical sector per physical sector + +Therefore, if bit 13 is set, bits 3:0 must be greater than zero. + +If get_physical_block_exp() returns zero then there is a 1:1 ratio and bit 13 must be 0. + +Just my opinion. + +Thanks, +Ben \ No newline at end of file |