From: "Hervé Poussineau" <hpoussin@reactos.org>
To: Miki Mishael <mmishael@redhat.com>
Cc: "Michael S. Tsirkin" <mst@redhat.com>,
qemu-devel@nongnu.org, Yan Vugenfirer <yvugenfi@redhat.com>,
Michael Roth <mdroth@linux.vnet.ibm.com>,
Adam Litke <aglitke@linux.vnet.ibm.com>,
Ronen Hod <rhod@redhat.com>, Gerd Hoffmann <kraxel@redhat.com>,
Anthony Liguori <aliguori@amazon.com>,
Paolo Bonzini <pbonzini@redhat.com>,
Dmitry Fleytman <dfleytma@redhat.com>
Subject: Re: [Qemu-devel] [PATCH] Docs: Introduce multiport serial support in qemupciserial.inf.
Date: Thu, 16 Jan 2014 22:12:35 +0100 [thread overview]
Message-ID: <52D84B43.7030902@reactos.org> (raw)
In-Reply-To: <1389874718-6785-2-git-send-email-mmishael@redhat.com>
Hi,
Miki Mishael a écrit :
> 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 <mmishael@redhat.com>
> Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
> ---
> 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.
>
> -; 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.
>
> [Version]
> -Signature="$CHICAGO$"
> -Class=Ports
> -ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318}
> +Signature="$Windows NT$"
> +Class=MultiFunction
> +ClassGUID={4d36e971-e325-11ce-bfc1-08002be10318}
> Provider=%QEMU%
> -DriverVer=09/24/2012,1.3.0
> -
> -[SourceDisksNames]
> -3426=windows cd
> -
> -[SourceDisksFiles]
> -serial.sys = 3426
> -serenum.sys = 3426
> -
> -[DestinationDirs]
> -DefaultDestDir = 11 ;LDID_SYS
> -ComPort.NT.Copy = 12 ;DIRID_DRIVERS
> -SerialEnumerator.NT.Copy=12 ;DIRID_DRIVERS
> -
> -; Drivers
> -;----------------------------------------------------------
> +DriverVer=12/29/2013,1.3.0
> +[ControlFlags]
> +ExcludeFromSelect=*
> [Manufacturer]
> -%QEMU%=QEMU,NTx86
> +%QEMU%=QEMU,NTx86,NTAMD64
>
OK, you want to enable driver on Windows 32 bit and Windows 64 bit, and
Windows 2003 SP1+ requires NTAMD64 to be specified.
>
> [QEMU.NTx86]
> -%QEMU-PCI_SERIAL.DeviceDesc% = ComPort, "PCI\VEN_1b36&DEV_0002&CC_0700"
> -
> -; COM sections
> -;----------------------------------------------------------
> -[ComPort.AddReg]
> -HKR,,PortSubClass,1,01
> -
> -[ComPort.NT]
> -AddReg=ComPort.AddReg, ComPort.NT.AddReg
> -LogConfig=caa
> -SyssetupPnPFlags = 1
> -
> -[ComPort.NT.HW]
> -AddReg=ComPort.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 = Serial, 0x00000002, Serial_Service_Inst, Serial_EventLog_Inst
> -AddService = Serenum,,Serenum_Service_Inst
> -
> -; -------------- Serial Port Driver install sections
> -[Serial_Service_Inst]
> -DisplayName = %Serial.SVCDESC%
> -ServiceType = 1 ; SERVICE_KERNEL_DRIVER
> -StartType = 1 ; SERVICE_SYSTEM_START (this driver may do detection)
> -ErrorControl = 0 ; SERVICE_ERROR_IGNORE
> -ServiceBinary = %12%\serial.sys
> -LoadOrderGroup = Extended base
> -
> -; -------------- Serenum Driver install section
> -[Serenum_Service_Inst]
> -DisplayName = %Serenum.SVCDESC%
> -ServiceType = 1 ; SERVICE_KERNEL_DRIVER
> -StartType = 3 ; SERVICE_DEMAND_START
> -ErrorControl = 1 ; SERVICE_ERROR_NORMAL
> -ServiceBinary = %12%\serenum.sys
> -LoadOrderGroup = PNP Filter
> -
> -[Serial_EventLog_Inst]
> -AddReg = 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 = c (COM port)
> -; Char 2 = I/O config: 1 (3f8), 2 (2f8), 3 (3e8), 4 (2e8), a (any)
> -; Char 3 = IRQ config: #, a (any)
> -
> -[caa] ; Any base, any IRQ
> -ConfigPriority=HARDRECONFIG
> -IOConfig=8@100-ffff%fff8(3ff::)
> -IRQConfig=S:3,4,5,7,9,10,11,12,14,15
> +%QEMU-PCI_SERIAL_1_PORT%=ComPort_inst1, PCI\VEN_1B36&DEV_0002
> +%QEMU-PCI_SERIAL_2_PORT%=ComPort_inst2, PCI\VEN_1B36&DEV_0003
> +%QEMU-PCI_SERIAL_4_PORT%=ComPort_inst4, PCI\VEN_1B36&DEV_0004
>
Here is your Windows 32 bit section.
> +
> +[ComPort_inst1]
> +Include=mf.inf
> +Needs=MFINSTALL.mf
> +
> +[ComPort_inst2]
> +Include=mf.inf
> +Needs=MFINSTALL.mf
> +
> +[ComPort_inst4]
> +Include=mf.inf
> +Needs=MFINSTALL.mf
> +
> +[ComPort_inst1.HW]
> +AddReg=ComPort_inst1.NTAMD64.RegHW
> +
> +[ComPort_inst2.HW]
> +AddReg=ComPort_inst2.NTAMD64.RegHW
> +
> +[ComPort_inst4.HW]
> +AddReg=ComPort_inst4.NTAMD64.RegHW
>
And you are calling in your 32-bit sections the 64-bit counterpart.
> +
> +[ComPort_inst1.Services]
> +Include=mf.inf
> +Needs=MFINSTALL.mf.Services
> +
> +[ComPort_inst2.Services]
> +Include=mf.inf
> +Needs=MFINSTALL.mf.Services
> +
> +[ComPort_inst4.Services]
> +Include=mf.inf
> +Needs=MFINSTALL.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%=ComPort_inst1, PCI\VEN_1B36&DEV_0002
> +%QEMU-PCI_SERIAL_2_PORT%=ComPort_inst2, PCI\VEN_1B36&DEV_0003
> +%QEMU-PCI_SERIAL_4_PORT%=ComPort_inst4, PCI\VEN_1B36&DEV_0004
>
Here is your device list for Windows 64-bit (as required by Windows 2003
SP1+)
> +
> +[ComPort_inst1.NTAMD64]
> +Include=mf.inf
> +Needs=MFINSTALL.mf
> +
> +[ComPort_inst2.NTAMD64]
> +Include=mf.inf
> +Needs=MFINSTALL.mf
> +
> +[ComPort_inst4.NTAMD64]
> +Include=mf.inf
> +Needs=MFINSTALL.mf
> +
> +[ComPort_inst1.NTAMD64.HW]
> +AddReg=ComPort_inst1.NTAMD64.RegHW
> +
> +[ComPort_inst2.NTAMD64.HW]
> +AddReg=ComPort_inst2.NTAMD64.RegHW
> +
> +[ComPort_inst4.NTAMD64.HW]
> +AddReg=ComPort_inst4.NTAMD64.RegHW
> +
> +[ComPort_inst1.NTAMD64.Services]
> +Include=mf.inf
> +Needs=MFINSTALL.mf.Services
> +
> +[ComPort_inst2.NTAMD64.Services]
> +Include=mf.inf
> +Needs=MFINSTALL.mf.Services
> +
> +[ComPort_inst4.NTAMD64.Services]
> +Include=mf.inf
> +Needs=MFINSTALL.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
>
All those sections are the same as the non-NTAMD64 parts. You should be
able to remove them, and Windows will use the other one without
decoration instead.
MSDN says: "Include other device-specific sections that are required to
install the device, but do not include an *.ntamd64* platform extension
on names of these sections"
>
> [Strings]
> QEMU="QEMU"
> -QEMU-PCI_SERIAL.DeviceDesc="QEMU Serial PCI Card"
> -
> -Serial.SVCDESC = "Serial port driver"
> -Serenum.SVCDESC = "Serenum Filter Driver"
> +QEMU-PCI_SERIAL_1_PORT="1x QEMU PCI Serial Card"
> +QEMU-PCI_SERIAL_2_PORT="2x QEMU PCI Serial Card"
> +QEMU-PCI_SERIAL_4_PORT="4x QEMU PCI Serial Card"
>
Regards,
Hervé
next prev parent reply other threads:[~2014-01-16 21:13 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-01-16 12:18 [Qemu-devel] [PATCH V2 00/01] Docs: Introduce multiport serial support in qemupciserial.inf Miki Mishael
2014-01-16 12:18 ` [Qemu-devel] [PATCH] " Miki Mishael
2014-01-16 14:44 ` Gerd Hoffmann
2014-01-16 21:12 ` Hervé Poussineau [this message]
-- strict thread matches above, loose matches on Subject: below --
2014-01-05 15:04 Miki Mishael
2014-01-07 14:45 ` Paolo Bonzini
2014-01-08 15:07 ` Yan Vugenfirer
2014-01-08 16:11 ` Paolo Bonzini
2014-01-08 16:38 ` Michael S. Tsirkin
2014-01-13 10:13 ` Gerd Hoffmann
2014-01-13 14:48 ` Michael S. Tsirkin
2014-01-13 14:56 ` Paolo Bonzini
2014-01-13 15:03 ` Michael S. Tsirkin
2014-01-13 15:04 ` Paolo Bonzini
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=52D84B43.7030902@reactos.org \
--to=hpoussin@reactos.org \
--cc=aglitke@linux.vnet.ibm.com \
--cc=aliguori@amazon.com \
--cc=dfleytma@redhat.com \
--cc=kraxel@redhat.com \
--cc=mdroth@linux.vnet.ibm.com \
--cc=mmishael@redhat.com \
--cc=mst@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=rhod@redhat.com \
--cc=yvugenfi@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).