From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:50111) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W3uFM-0000gU-EF for qemu-devel@nongnu.org; Thu, 16 Jan 2014 16:13:13 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1W3uFD-00068B-Q5 for qemu-devel@nongnu.org; Thu, 16 Jan 2014 16:13:04 -0500 Received: from smtp4-g21.free.fr ([2a01:e0c:1:1599::13]:48677) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W3uFD-00066c-0x for qemu-devel@nongnu.org; Thu, 16 Jan 2014 16:12:55 -0500 Message-ID: <52D84B43.7030902@reactos.org> Date: Thu, 16 Jan 2014 22:12:35 +0100 From: =?ISO-8859-1?Q?Herv=E9_Poussineau?= MIME-Version: 1.0 References: <1389874718-6785-1-git-send-email-mmishael@redhat.com> <1389874718-6785-2-git-send-email-mmishael@redhat.com> In-Reply-To: <1389874718-6785-2-git-send-email-mmishael@redhat.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH] Docs: Introduce multiport serial support in qemupciserial.inf. List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Miki Mishael Cc: "Michael S. Tsirkin" , qemu-devel@nongnu.org, Yan Vugenfirer , Michael Roth , Adam Litke , Ronen Hod , Gerd Hoffmann , Anthony Liguori , Paolo Bonzini , Dmitry Fleytman Hi, Miki Mishael a =E9crit : > Support for pci-serial-2x and pci-serial-4x > added to inf file. > Standard Windows driver mf.sys used to > split single function > device into per-port nodes. > > Signed-off-by: Miki Mishael > Signed-off-by: Dmitry Fleytman > --- > docs/qemupciserial.inf | 227 ++++++++++++++++++++++++++++++-----------= -------- > 1 file changed, 140 insertions(+), 87 deletions(-) > > diff --git a/docs/qemupciserial.inf b/docs/qemupciserial.inf > index 3474310..d3aadb0 100644 > --- a/docs/qemupciserial.inf > +++ b/docs/qemupciserial.inf > @@ -11,99 +11,152 @@ > ; (Com+Lpt)" from the list. Click "Have a disk". Select this file. > ; Procedure may vary a bit depending on the windows version. > =20 > -; FIXME: This file covers the single port version only. > +; This file covers all options: pci-serial, pci-serial-2x, pci-serial-= 4x > +; for both 32 and 64 bit platforms. > =20 > [Version] > -Signature=3D"$CHICAGO$" > -Class=3DPorts > -ClassGuid=3D{4D36E978-E325-11CE-BFC1-08002BE10318} > +Signature=3D"$Windows NT$" > +Class=3DMultiFunction > +ClassGUID=3D{4d36e971-e325-11ce-bfc1-08002be10318} > Provider=3D%QEMU% > -DriverVer=3D09/24/2012,1.3.0 > - > -[SourceDisksNames] > -3426=3Dwindows cd > - > -[SourceDisksFiles] > -serial.sys =3D 3426 > -serenum.sys =3D 3426 > - > -[DestinationDirs] > -DefaultDestDir =3D 11 ;LDID_SYS > -ComPort.NT.Copy =3D 12 ;DIRID_DRIVERS > -SerialEnumerator.NT.Copy=3D12 ;DIRID_DRIVERS > - > -; Drivers > -;---------------------------------------------------------- > +DriverVer=3D12/29/2013,1.3.0 > +[ControlFlags] > +ExcludeFromSelect=3D* > [Manufacturer] > -%QEMU%=3DQEMU,NTx86 > +%QEMU%=3DQEMU,NTx86,NTAMD64 > =20 OK, you want to enable driver on Windows 32 bit and Windows 64 bit, and=20 Windows 2003 SP1+ requires NTAMD64 to be specified. > =20 > [QEMU.NTx86] > -%QEMU-PCI_SERIAL.DeviceDesc% =3D ComPort, "PCI\VEN_1b36&DEV_0002&CC_07= 00" > - > -; COM sections > -;---------------------------------------------------------- > -[ComPort.AddReg] > -HKR,,PortSubClass,1,01 > - > -[ComPort.NT] > -AddReg=3DComPort.AddReg, ComPort.NT.AddReg > -LogConfig=3Dcaa > -SyssetupPnPFlags =3D 1 > - > -[ComPort.NT.HW] > -AddReg=3DComPort.NT.HW.AddReg > - > -[ComPort.NT.AddReg] > -HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider" > - > -[ComPort.NT.HW.AddReg] > -HKR,,"UpperFilters",0x00010000,"serenum" > - > -;-------------- Service installation > -; Port Driver (function driver for this device) > -[ComPort.NT.Services] > -AddService =3D Serial, 0x00000002, Serial_Service_Inst, Serial_EventLo= g_Inst > -AddService =3D Serenum,,Serenum_Service_Inst > - > -; -------------- Serial Port Driver install sections > -[Serial_Service_Inst] > -DisplayName =3D %Serial.SVCDESC% > -ServiceType =3D 1 ; SERVICE_KERNEL_DRIVER > -StartType =3D 1 ; SERVICE_SYSTEM_START (this driver= may do detection) > -ErrorControl =3D 0 ; SERVICE_ERROR_IGNORE > -ServiceBinary =3D %12%\serial.sys > -LoadOrderGroup =3D Extended base > - > -; -------------- Serenum Driver install section > -[Serenum_Service_Inst] > -DisplayName =3D %Serenum.SVCDESC% > -ServiceType =3D 1 ; SERVICE_KERNEL_DRIVER > -StartType =3D 3 ; SERVICE_DEMAND_START > -ErrorControl =3D 1 ; SERVICE_ERROR_NORMAL > -ServiceBinary =3D %12%\serenum.sys > -LoadOrderGroup =3D PNP Filter > - > -[Serial_EventLog_Inst] > -AddReg =3D Serial_EventLog_AddReg > - > -[Serial_EventLog_AddReg] > -HKR,,EventMessageFile,0x00020000,"%%SystemRoot%%\System32\IoLogMsg.dll= ;%%SystemRoot%%\System32\drivers\serial.sys" > -HKR,,TypesSupported,0x00010001,7 > - > -; The following sections are COM port resource configs. > -; Section name format means: > -; Char 1 =3D c (COM port) > -; Char 2 =3D I/O config: 1 (3f8), 2 (2f8), 3 (3e8), 4 (2e8), a (any) > -; Char 3 =3D IRQ config: #, a (any) > - > -[caa] ; Any base, any IRQ > -ConfigPriority=3DHARDRECONFIG > -IOConfig=3D8@100-ffff%fff8(3ff::) > -IRQConfig=3DS:3,4,5,7,9,10,11,12,14,15 > +%QEMU-PCI_SERIAL_1_PORT%=3DComPort_inst1, PCI\VEN_1B36&DEV_0002 > +%QEMU-PCI_SERIAL_2_PORT%=3DComPort_inst2, PCI\VEN_1B36&DEV_0003 > +%QEMU-PCI_SERIAL_4_PORT%=3DComPort_inst4, PCI\VEN_1B36&DEV_0004 > =20 Here is your Windows 32 bit section. > + > +[ComPort_inst1] > +Include=3Dmf.inf > +Needs=3DMFINSTALL.mf > + > +[ComPort_inst2] > +Include=3Dmf.inf > +Needs=3DMFINSTALL.mf > + > +[ComPort_inst4] > +Include=3Dmf.inf > +Needs=3DMFINSTALL.mf > + > +[ComPort_inst1.HW] > +AddReg=3DComPort_inst1.NTAMD64.RegHW > + > +[ComPort_inst2.HW] > +AddReg=3DComPort_inst2.NTAMD64.RegHW > + > +[ComPort_inst4.HW] > +AddReg=3DComPort_inst4.NTAMD64.RegHW > =20 And you are calling in your 32-bit sections the 64-bit counterpart. > + > +[ComPort_inst1.Services] > +Include=3Dmf.inf > +Needs=3DMFINSTALL.mf.Services > + > +[ComPort_inst2.Services] > +Include=3Dmf.inf > +Needs=3DMFINSTALL.mf.Services > + > +[ComPort_inst4.Services] > +Include=3Dmf.inf > +Needs=3DMFINSTALL.mf.Services > + > +[ComPort_inst1.RegHW] > +HKR,Child0000,HardwareID,,*PNP0501 > +HKR,Child0000,VaryingResourceMap,1,00, 00,00,00,00, 08,00,00,00 > +HKR,Child0000,ResourceMap,1,02 > + > +[ComPort_inst2.RegHW] > +HKR,Child0000,HardwareID,,*PNP0501 > +HKR,Child0000,VaryingResourceMap,1,00, 00,00,00,00, 08,00,00,00 > +HKR,Child0000,ResourceMap,1,02 > +HKR,Child0001,HardwareID,,*PNP0501 > +HKR,Child0001,VaryingResourceMap,1,00, 08,00,00,00, 08,00,00,00 > +HKR,Child0001,ResourceMap,1,02 > + > +[ComPort_inst4.RegHW] > +HKR,Child0000,HardwareID,,*PNP0501 > +HKR,Child0000,VaryingResourceMap,1,00, 00,00,00,00, 08,00,00,00 > +HKR,Child0000,ResourceMap,1,02 > +HKR,Child0001,HardwareID,,*PNP0501 > +HKR,Child0001,VaryingResourceMap,1,00, 08,00,00,00, 08,00,00,00 > +HKR,Child0001,ResourceMap,1,02 > +HKR,Child0002,HardwareID,,*PNP0501 > +HKR,Child0002,VaryingResourceMap,1,00, 10,00,00,00, 08,00,00,00 > +HKR,Child0002,ResourceMap,1,02 > +HKR,Child0003,HardwareID,,*PNP0501 > +HKR,Child0003,VaryingResourceMap,1,00, 18,00,00,00, 08,00,00,00 > +HKR,Child0003,ResourceMap,1,02 > + > +[QEMU.NTAMD64] > +%QEMU-PCI_SERIAL_1_PORT%=3DComPort_inst1, PCI\VEN_1B36&DEV_0002 > +%QEMU-PCI_SERIAL_2_PORT%=3DComPort_inst2, PCI\VEN_1B36&DEV_0003 > +%QEMU-PCI_SERIAL_4_PORT%=3DComPort_inst4, PCI\VEN_1B36&DEV_0004 > =20 Here is your device list for Windows 64-bit (as required by Windows 2003=20 SP1+) > + > +[ComPort_inst1.NTAMD64] > +Include=3Dmf.inf > +Needs=3DMFINSTALL.mf > + > +[ComPort_inst2.NTAMD64] > +Include=3Dmf.inf > +Needs=3DMFINSTALL.mf > + > +[ComPort_inst4.NTAMD64] > +Include=3Dmf.inf > +Needs=3DMFINSTALL.mf > + > +[ComPort_inst1.NTAMD64.HW] > +AddReg=3DComPort_inst1.NTAMD64.RegHW > + > +[ComPort_inst2.NTAMD64.HW] > +AddReg=3DComPort_inst2.NTAMD64.RegHW > + > +[ComPort_inst4.NTAMD64.HW] > +AddReg=3DComPort_inst4.NTAMD64.RegHW > + > +[ComPort_inst1.NTAMD64.Services] > +Include=3Dmf.inf > +Needs=3DMFINSTALL.mf.Services > + > +[ComPort_inst2.NTAMD64.Services] > +Include=3Dmf.inf > +Needs=3DMFINSTALL.mf.Services > + > +[ComPort_inst4.NTAMD64.Services] > +Include=3Dmf.inf > +Needs=3DMFINSTALL.mf.Services > + > +[ComPort_inst1.NTAMD64.RegHW] > +HKR,Child0000,HardwareID,,*PNP0501 > +HKR,Child0000,VaryingResourceMap,1,00, 00,00,00,00, 08,00,00,00 > +HKR,Child0000,ResourceMap,1,02 > + > +[ComPort_inst2.NTAMD64.RegHW] > +HKR,Child0000,HardwareID,,*PNP0501 > +HKR,Child0000,VaryingResourceMap,1,00, 00,00,00,00, 08,00,00,00 > +HKR,Child0000,ResourceMap,1,02 > +HKR,Child0001,HardwareID,,*PNP0501 > +HKR,Child0001,VaryingResourceMap,1,00, 08,00,00,00, 08,00,00,00 > +HKR,Child0001,ResourceMap,1,02 > + > +[ComPort_inst4.NTAMD64.RegHW] > +HKR,Child0000,HardwareID,,*PNP0501 > +HKR,Child0000,VaryingResourceMap,1,00, 00,00,00,00, 08,00,00,00 > +HKR,Child0000,ResourceMap,1,02 > +HKR,Child0001,HardwareID,,*PNP0501 > +HKR,Child0001,VaryingResourceMap,1,00, 08,00,00,00, 08,00,00,00 > +HKR,Child0001,ResourceMap,1,02 > +HKR,Child0002,HardwareID,,*PNP0501 > +HKR,Child0002,VaryingResourceMap,1,00, 10,00,00,00, 08,00,00,00 > +HKR,Child0002,ResourceMap,1,02 > +HKR,Child0003,HardwareID,,*PNP0501 > +HKR,Child0003,VaryingResourceMap,1,00, 18,00,00,00, 08,00,00,00 > +HKR,Child0003,ResourceMap,1,02 > =20 All those sections are the same as the non-NTAMD64 parts. You should be=20 able to remove them, and Windows will use the other one without=20 decoration instead. MSDN says: "Include other device-specific sections that are required to=20 install the device, but do not include an *.ntamd64* platform extension=20 on names of these sections" > =20 > [Strings] > QEMU=3D"QEMU" > -QEMU-PCI_SERIAL.DeviceDesc=3D"QEMU Serial PCI Card" > - > -Serial.SVCDESC =3D "Serial port driver" > -Serenum.SVCDESC =3D "Serenum Filter Driver" > +QEMU-PCI_SERIAL_1_PORT=3D"1x QEMU PCI Serial Card" > +QEMU-PCI_SERIAL_2_PORT=3D"2x QEMU PCI Serial Card" > +QEMU-PCI_SERIAL_4_PORT=3D"4x QEMU PCI Serial Card" > =20 Regards, Herv=E9