On 09/11/15 19:05, John Snow wrote: > Marc noticed that a recent ATAPI permissions fix broke NetBSD 7.0's > installer ISO. > > The problem is that it's meaningless to check for !(cmd->flags & nondata) > if the command isn't supported, since all unsupported commands have > _no_ flags. Effectively, all commands default to "Transfer Data" in our > model until we classify them otherwise. > > This leads to a problem where we reject a zero byte BCL PIO command that > transfers no data, simply because we have no properties for the command > at all. > > Getting an ATA rejection for this command greatly confuses NetBSD. > > Correct behavior is to reject the command at the SCSI layer for being > unsupported. > > ________________________________________________________________________________ > > For convenience, this branch is available at: > https://github.com/jnsnow/qemu.git branch atapi-bclimit-netbsd > https://github.com/jnsnow/qemu/tree/atapi-bclimit-netbsd > > This version is tagged atapi-bclimit-netbsd-v1: > https://github.com/jnsnow/qemu/releases/tag/atapi-bclimit-netbsd-v1 > > John Snow (2): > atapi: add byte_count_limit helper > atapi: Prioritize unknown cmd error over BCL error > > hw/ide/atapi.c | 38 +++++++++++++++++++++++--------------- > 1 file changed, 23 insertions(+), 15 deletions(-)
I've tested this against my OpenBIOS ISO images here and it fixes the problem without introducing any further regressions, so: Tested-by: Mark Cave-Ayland <mark.cave-ayl...@ilande.co.uk> Many thanks, Mark.