From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1JHiBA-00058r-4m for qemu-devel@nongnu.org; Wed, 23 Jan 2008 11:10:20 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1JHiB7-00055t-I9 for qemu-devel@nongnu.org; Wed, 23 Jan 2008 11:10:18 -0500 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1JHiB7-00055X-C9 for qemu-devel@nongnu.org; Wed, 23 Jan 2008 11:10:17 -0500 Received: from ecfrec.frec.bull.fr ([129.183.4.8]) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1JHiB7-0005Zf-2B for qemu-devel@nongnu.org; Wed, 23 Jan 2008 11:10:17 -0500 Received: from localhost (localhost [127.0.0.1]) by ecfrec.frec.bull.fr (Postfix) with ESMTP id 4075819D9B3 for ; Wed, 23 Jan 2008 17:09:54 +0100 (CET) Received: from ecfrec.frec.bull.fr ([127.0.0.1]) by localhost (ecfrec.frec.bull.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 12887-02 for ; Wed, 23 Jan 2008 17:09:50 +0100 (CET) Received: from ecn002.frec.bull.fr (ecn002.frec.bull.fr [129.183.4.6]) by ecfrec.frec.bull.fr (Postfix) with ESMTP id BCB8419D9B9 for ; Wed, 23 Jan 2008 17:09:24 +0100 (CET) In-Reply-To: <1201104774984@bull.net> Date: Wed, 23 Jan 2008 17:12:54 +0100 Message-Id: <12011047743807@bull.net> Mime-Version: 1.0 From: Laurent Vivier Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="iso-8859-1" Subject: [Qemu-devel] [PATCH 4/5] DVD movie support Reply-To: Laurent Vivier , qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: qemu-devel@nongnu.org This patch allows to read a protected/encrypted movie from a DVD. (With a Movie Player having the key to decode it, tested with powerDVD) Laurent --- hw/scsi-generic.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) Index: qemu/hw/scsi-generic.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- qemu.orig/hw/scsi-generic.c 2008-01-23 14:03:01.000000000 +0100 +++ qemu/hw/scsi-generic.c 2008-01-23 14:03:02.000000000 +0100 @@ -46,9 +46,12 @@ do { fprintf(stderr, "scsi-generic: " fm #include #include "block-sg.h" =20 +#define BLANK 0xa1 +#define SEND_KEY 0xa3 +#define REPORT_KEY 0xa4 #define LOAD_UNLOAD 0xa6 +#define READ_DVD_STRUCTURE 0xad #define SET_CD_SPEED 0xbb -#define BLANK 0xa1 =20 #define SCSI_CMD_BUF_SIZE 16 #define SCSI_SENSE_BUF_SIZE 32 @@ -398,6 +401,12 @@ static int scsi_length(uint8_t *cmd, int case READ_12: *len *=3D blocksize; break; + case READ_DVD_STRUCTURE: + case SEND_KEY: + case REPORT_KEY: + *len &=3D 0xffff; + break; + } return 0; } @@ -435,6 +444,7 @@ static int is_write(int command) case MEDIUM_SCAN: case SEND_VOLUME_TAG: case WRITE_LONG_2: + case SEND_KEY: return 1; } return 0;