From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:38993) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZvrlX-0007ZG-UP for qemu-devel@nongnu.org; Mon, 09 Nov 2015 14:06:11 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZvrlW-00058O-ST for qemu-devel@nongnu.org; Mon, 09 Nov 2015 14:06:07 -0500 From: John Snow Date: Mon, 9 Nov 2015 14:05:57 -0500 Message-Id: <1447095959-10046-1-git-send-email-jsnow@redhat.com> Subject: [Qemu-devel] [PATCH 0/2] atapi: fix NetBSD boot regression List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-block@nongnu.org Cc: John Snow , mark.cave-ayland@ilande.co.uk, armbru@redhat.com, qemu-devel@nongnu.org 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(-) -- 2.4.3