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.


Reply via email to