Prev: readahead: thrashing safe context readahead
Next: [tip:x86/mrst] x86, numaq: Make CONFIG_X86_NUMAQ depend on CONFIG_PCI
From: Haiyang Zhang on 25 Feb 2010 18:50 > -----Original Message----- > From: Greg KH [mailto:greg(a)kroah.com] > Sent: Thursday, February 25, 2010 6:07 PM > If so, what is the vendor and product id of this device? The Vendor:Device Id is: 1414:5353 00:08.0 VGA compatible controller [0300]: Microsoft Corporation Device [1414:5353] This hasn't been changed since the first release of HyperV. I will ask around about the future stability of the VGA card (and the DMI). Thanks, - Haiyang -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: Greg KH on 25 Feb 2010 19:30 On Thu, Feb 25, 2010 at 11:40:52PM +0000, Haiyang Zhang wrote: > > -----Original Message----- > > From: Greg KH [mailto:greg(a)kroah.com] > > Sent: Thursday, February 25, 2010 6:07 PM > > If so, what is the vendor and product id of this device? > > The Vendor:Device Id is: 1414:5353 > 00:08.0 VGA compatible controller [0300]: Microsoft Corporation Device [1414:5353] > > This hasn't been changed since the first release of HyperV. I will ask > around about the future stability of the VGA card (and the DMI). Thanks for the device id. I'll make up a patch for testing now, as we should be able to just trigger on this pci device id, and do the dmi test to be "safe" as well. Any future changes can easily be added to the tables. thanks, greg k-h -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: Greg KH on 25 Feb 2010 19:50 On Thu, Feb 25, 2010 at 11:40:52PM +0000, Haiyang Zhang wrote: > > -----Original Message----- > > From: Greg KH [mailto:greg(a)kroah.com] > > Sent: Thursday, February 25, 2010 6:07 PM > > If so, what is the vendor and product id of this device? > > The Vendor:Device Id is: 1414:5353 > 00:08.0 VGA compatible controller [0300]: Microsoft Corporation Device [1414:5353] > > This hasn't been changed since the first release of HyperV. I will ask > around about the future stability of the VGA card (and the DMI). Ok, below are 2 patches that I will queue up in my tree. Can you test them to verify that they work properly? thanks, greg k-h From: Greg Kroah-Hartman <gregkh(a)suse.de> Subject: Staging: hv: add a pci device table This allows the HV core to be properly found and autoloaded by the system tools. It uses the Microsoft virtual VGA device to trigger this. Cc: Haiyang Zhang <haiyangz(a)microsoft.com> Cc: Hank Janssen <hjanssen(a)microsoft.com> Signed-off-by: Greg Kroah-Hartman <gregkh(a)suse.de> --- drivers/staging/hv/vmbus_drv.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) --- a/drivers/staging/hv/vmbus_drv.c +++ b/drivers/staging/hv/vmbus_drv.c @@ -24,6 +24,7 @@ #include <linux/irq.h> #include <linux/interrupt.h> #include <linux/sysctl.h> +#include <linux/pci.h> #include "VersionInfo.h" #include "osd.h" #include "logging.h" @@ -974,6 +975,22 @@ static void __exit vmbus_exit(void) return; } +/* + * We use a PCI table to determine if we should autoload this driver This is + * needed by distro tools to determine if the hyperv drivers should be + * installed and/or configured. We don't do anything else with the table, but + * it needs to be present. + * + * We might consider triggering off of DMI table info as well, as that does + * decribe the virtual machine being run on, but not all configuration tools + * seem to be able to handle DMI device ids properly. + */ +const static struct pci_device_id microsoft_hv_pci_table[] = { + { PCI_DEVICE(0x1414, 0x5353) }, /* VGA compatible controller */ + { 0 } +}; +MODULE_DEVICE_TABLE(pci, microsoft_hv_pci_table); + MODULE_LICENSE("GPL"); MODULE_VERSION(HV_DRV_VERSION); module_param(vmbus_irq, int, S_IRUGO); From: Greg Kroah-Hartman <gregkh(a)suse.de> Subject: Staging: hv: match on DMI values to know if we should run. The HV core mucks around with specific irqs and other low-level stuff and takes forever to determine that it really shouldn't be running on a machine. So instead, trigger off of the DMI system information and error out much sooner. This also allows the module loading tools to recognize that this code should be loaded on this type of system. Cc: Haiyang Zhang <haiyangz(a)microsoft.com> Cc: Hank Janssen <hjanssen(a)microsoft.com> Signed-off-by: Greg Kroah-Hartman <gregkh(a)suse.de> --- drivers/staging/hv/vmbus_drv.c | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) --- a/drivers/staging/hv/vmbus_drv.c +++ b/drivers/staging/hv/vmbus_drv.c @@ -25,6 +25,7 @@ #include <linux/interrupt.h> #include <linux/sysctl.h> #include <linux/pci.h> +#include <linux/dmi.h> #include "VersionInfo.h" #include "osd.h" #include "logging.h" @@ -948,6 +949,19 @@ static irqreturn_t vmbus_isr(int irq, vo } } +static struct dmi_system_id __initdata microsoft_hv_dmi_table[] = { + { + .ident = "Hyper-V", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "MicrosoftCorporation"), + DMI_MATCH(DMI_PRODUCT_NAME, "VirtualMachine"), + DMI_MATCH(DMI_BOARD_NAME, "VirtualMachine"), + }, + }, + { }, +}; +MODULE_DEVICE_TABLE(dmi, microsoft_hv_dmi_table); + static int __init vmbus_init(void) { int ret = 0; @@ -959,6 +973,9 @@ static int __init vmbus_init(void) vmbus_loglevel, HIWORD(vmbus_loglevel), LOWORD(vmbus_loglevel)); /* Todo: it is used for loglevel, to be ported to new kernel. */ + if (!dmi_check_system(microsoft_hv_dmi_table)) + return -ENODEV; + ret = vmbus_bus_init(VmbusInitialize); DPRINT_EXIT(VMBUS_DRV); @@ -980,10 +997,6 @@ static void __exit vmbus_exit(void) * needed by distro tools to determine if the hyperv drivers should be * installed and/or configured. We don't do anything else with the table, but * it needs to be present. - * - * We might consider triggering off of DMI table info as well, as that does - * decribe the virtual machine being run on, but not all configuration tools - * seem to be able to handle DMI device ids properly. */ const static struct pci_device_id microsoft_hv_pci_table[] = { { PCI_DEVICE(0x1414, 0x5353) }, /* VGA compatible controller */ -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: Hank Janssen on 25 Feb 2010 21:20 >Ok, below are 2 patches that I will queue up in my tree. > >Can you test them to verify that they work properly? Will do. We will let you know as soon as we test it. Thanks! Hank. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: Greg KH on 25 Feb 2010 22:00 On Fri, Feb 26, 2010 at 02:14:55AM +0000, Hank Janssen wrote: > > > >Ok, below are 2 patches that I will queue up in my tree. > > > >Can you test them to verify that they work properly? > > Will do. We will let you know as soon as we test it. In looking at the second patch again, I think you will need to put some spaces in the DMI strings to get it to match up properly. Look at what the files in: /sys/class/dmi/id/ look like exactly to get it to line up. The module id stuff strips spaces out, so I can't get the real value there. thanks, greg k-h -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
First
|
Prev
|
Next
|
Last
Pages: 1 2 3 Prev: readahead: thrashing safe context readahead Next: [tip:x86/mrst] x86, numaq: Make CONFIG_X86_NUMAQ depend on CONFIG_PCI |