Re: A set of "standard" virtual devices?

2007-04-04 Thread H. Peter Anvin
Arnd Bergmann wrote: That being said, on platforms which are PCI-centric, such as x86, this of course makes it a lot easier to produce virtual devices which work across hypervisors, since the device model, of *any* operating system is set up to handle them. Yes, as I said there are two

Re: A set of "standard" virtual devices?

2007-04-04 Thread Arnd Bergmann
On Wednesday 04 April 2007, H. Peter Anvin wrote: > Configuration space access is platform-dependent.  It's only defined to > work in a specific way on x86 platforms. > > "Interrupt swizzling" is really totally independent of PCI.  ALL PCI > really provides is up to four interrupts per device

Re: A set of standard virtual devices?

2007-04-04 Thread Arnd Bergmann
On Wednesday 04 April 2007, H. Peter Anvin wrote: Configuration space access is platform-dependent.  It's only defined to work in a specific way on x86 platforms. Interrupt swizzling is really totally independent of PCI.  ALL PCI really provides is up to four interrupts per device (not

Re: A set of standard virtual devices?

2007-04-04 Thread H. Peter Anvin
Arnd Bergmann wrote: That being said, on platforms which are PCI-centric, such as x86, this of course makes it a lot easier to produce virtual devices which work across hypervisors, since the device model, of *any* operating system is set up to handle them. Yes, as I said there are two

Re: A set of "standard" virtual devices?

2007-04-03 Thread H. Peter Anvin
Arnd Bergmann wrote: On Wednesday 04 April 2007, H. Peter Anvin wrote: Note that at least for PIO-based devices, there is nothing that says you can't implement PCI over another transport, if you wish. It's really just a very simple RPC protocol. The PIO aspect of PCI is simple, yes, except

Re: A set of "standard" virtual devices?

2007-04-03 Thread Arnd Bergmann
On Wednesday 04 April 2007, H. Peter Anvin wrote: > Note that at least for PIO-based devices, there is nothing that says you > can't implement PCI over another transport, if you wish.  It's really > just a very simple RPC protocol. The PIO aspect of PCI is simple, yes, except on architectures

Re: A set of "standard" virtual devices?

2007-04-03 Thread H. Peter Anvin
Arnd Bergmann wrote: One interesting aspect of the PS3 hypervisor is that some of the low-speed interfaces are implemented as a virtual UART, meaning something that only has read and write operations and uses an interrupt for flow control. The implementation in drivers/ps3/vuart.c is probably

Re: A set of "standard" virtual devices?

2007-04-03 Thread Arnd Bergmann
On Tuesday 03 April 2007, Jeremy Fitzhardinge wrote: > That said, something like USB is probably the best bet for this kind of > low-performance device.  I think.  Not that I really know anything about > USB. USB has the disadvantage that it is more complex than PCI and requires significantly

Re: A set of "standard" virtual devices?

2007-04-03 Thread H. Peter Anvin
Jeremy Fitzhardinge wrote: So, what you're saying is: 1. assuming there's going to be a vast number of miscellaneous devices 2. it would be best if there were one per device rather than one per hypervisor per device 3. so we'd have one linux device driver But this implies that

Re: A set of "standard" virtual devices?

2007-04-03 Thread Jeremy Fitzhardinge
H. Peter Anvin wrote: > However, there are other things; console is some, or my original > example, which was random number generation. For those, the benefit > of unification is proportionally greater, simply because the win of > anything hypervisor-specific is much smaller. So, what you're

Re: A set of "standard" virtual devices?

2007-04-03 Thread Arnd Bergmann
On Tuesday 03 April 2007, Jeremy Fitzhardinge wrote: > > Doing a SCSI driver has been tried before, with ibmvscsi. Not good. > >   > > OK, interesting.  People had proposed using SCSI as the interface, but I > wasn't aware of any results from doing that.  How is it not good? > SCSI is really

Re: A set of "standard" virtual devices?

2007-04-03 Thread H. Peter Anvin
Jeremy Fitzhardinge wrote: Yes, and that's the core of the Xen netfront. But is there really much code which can be shared between different hypervisors? When you get down to it, all the real code is hypervisor-specific stuff for setting up ringbuffers and dealing with interrupts. Like all

Re: A set of "standard" virtual devices?

2007-04-03 Thread Jeremy Fitzhardinge
Arnd Bergmann wrote: > We already have device drivers for physical devices that can be attached > to different buses. The EHCI USB is an example of a driver that can > be for instance PCI, OF or an on-chip device. Moreover, you can have an > abstracted device behind it that does not need to know

Re: A set of "standard" virtual devices?

2007-04-03 Thread Arnd Bergmann
On Tuesday 03 April 2007, Jeremy Fitzhardinge wrote: > Arnd Bergmann wrote: > > I think we need to separate two problems here: > > > > 1. Probing: > > That's really what triggered the discussion, PCI probing is well-understood > > and implemented on _most_ platforms, so there is some value in

Re: A set of "standard" virtual devices?

2007-04-03 Thread Jeremy Fitzhardinge
Arnd Bergmann wrote: > I think we need to separate two problems here: > > 1. Probing: > That's really what triggered the discussion, PCI probing is well-understood > and implemented on _most_ platforms, so there is some value in reusing it. > When you talk about 'very simple probing', I'm not sure

Re: A set of "standard" virtual devices?

2007-04-03 Thread Arnd Bergmann
On Tuesday 03 April 2007, Cornelia Huck wrote: > On s390, it would be more than strangeness. There's no implementation > of PCI at all, someone would have to cook it up - and it wouldn't have > any use beyond those special devices. Since there isn't any bus type > that is available on *all*

Re: A set of "standard" virtual devices?

2007-04-03 Thread Cornelia Huck
On Tue, 3 Apr 2007 16:03:14 +0200, Arnd Bergmann <[EMAIL PROTECTED]> wrote: > > > struct virt_dev { > > > struct device dev; > > > struct virt_driver *driver; > > > struct virt_bus *bus; > > > struct pci_device_id id; > > > int irq; > > > }; > > > > And that's where I have problems :)

Re: A set of "standard" virtual devices?

2007-04-03 Thread Adrian Bunk
On Tue, Apr 03, 2007 at 11:26:52AM +0200, Andi Kleen wrote: > > > > On s390, it would be more than strangeness. There's no implementation > > of PCI at all, someone would have to cook it up - and it wouldn't have > > any use beyond those special devices. Since there isn't any bus type > > that is

Re: A set of "standard" virtual devices?

2007-04-03 Thread Arnd Bergmann
On Tuesday 03 April 2007, Cornelia Huck wrote: > On Tue, 3 Apr 2007 14:15:37 +0200, Arnd Bergmann <[EMAIL PROTECTED]> wrote: > > That's OK for a virtualized architecture where the base architecture > already supports PCI. But a traditional s390 OS would be as unhappy > with a PCI device as with a

Re: A set of "standard" virtual devices?

2007-04-03 Thread Cornelia Huck
On Tue, 3 Apr 2007 14:15:37 +0200, Arnd Bergmann <[EMAIL PROTECTED]> wrote: > Right, but an interesting point is the question what to do when running > another operating system as a guest under Linux, e.g. with kvm. > > Ideally, you'd want to use the same interface to announce the presence > of

Re: A set of "standard" virtual devices?

2007-04-03 Thread Arnd Bergmann
On Tuesday 03 April 2007, Cornelia Huck wrote: > > > > I think that's true outside of s390, but a standardized virtual device > > interface should be able to work there as well. Interestingly, the > > s390 channel I/O also uses two 16 bit numbers to identify a device > > (type and model), just

Re: A set of "standard" virtual devices?

2007-04-03 Thread Cornelia Huck
On Tue, 3 Apr 2007 11:26:52 +0200, Andi Kleen <[EMAIL PROTECTED]> wrote: > > > > On s390, it would be more than strangeness. There's no implementation > > of PCI at all, someone would have to cook it up - and it wouldn't have > > any use beyond those special devices. Since there isn't any bus

Re: A set of "standard" virtual devices?

2007-04-03 Thread Cornelia Huck
On Tue, 3 Apr 2007 11:41:49 +0200, Arnd Bergmann <[EMAIL PROTECTED]> wrote: > On Tuesday 03 April 2007, H. Peter Anvin wrote: > > However, one probably wants to think about what the heck one actually > > means with "virtualization" in the absence of a lot of this stuff.  PCI > > is probably the

Re: A set of "standard" virtual devices?

2007-04-03 Thread Arnd Bergmann
On Tuesday 03 April 2007, H. Peter Anvin wrote: > However, one probably wants to think about what the heck one actually > means with "virtualization" in the absence of a lot of this stuff.  PCI > is probably the closest thing we have to a lowest common denominator for > device detection. I

Re: A set of "standard" virtual devices?

2007-04-03 Thread Andi Kleen
> > On s390, it would be more than strangeness. There's no implementation > of PCI at all, someone would have to cook it up - and it wouldn't have > any use beyond those special devices. Since there isn't any bus type > that is available on *all* architectures, a generic "virtual" bus with > very

Re: A set of "standard" virtual devices?

2007-04-03 Thread Cornelia Huck
On Tue, 3 Apr 2007 10:30:36 +0200, Andi Kleen <[EMAIL PROTECTED]> wrote: > On Tuesday 03 April 2007 10:29:06 Christian Borntraeger wrote: > > On Monday 02 April 2007 23:12, Andi Kleen wrote: > > > > > > > How would that work in the case where virtualized guests don't have a > > > > visible PCI

Re: A set of "standard" virtual devices?

2007-04-03 Thread Andi Kleen
On Tuesday 03 April 2007 10:29:06 Christian Borntraeger wrote: > On Monday 02 April 2007 23:12, Andi Kleen wrote: > > > > > How would that work in the case where virtualized guests don't have a > > > visible PCI bus, and the virtual environment doesn't pretend to emulate > > > a PCI bus? > > > >

Re: A set of "standard" virtual devices?

2007-04-03 Thread Christian Borntraeger
On Monday 02 April 2007 23:12, Andi Kleen wrote: > > > How would that work in the case where virtualized guests don't have a > > visible PCI bus, and the virtual environment doesn't pretend to emulate > > a PCI bus? > > If they emulated one with the appropiate device > then distribution driver

Re: A set of standard virtual devices?

2007-04-03 Thread Christian Borntraeger
On Monday 02 April 2007 23:12, Andi Kleen wrote: How would that work in the case where virtualized guests don't have a visible PCI bus, and the virtual environment doesn't pretend to emulate a PCI bus? If they emulated one with the appropiate device then distribution driver auto

Re: A set of standard virtual devices?

2007-04-03 Thread Andi Kleen
On Tuesday 03 April 2007 10:29:06 Christian Borntraeger wrote: On Monday 02 April 2007 23:12, Andi Kleen wrote: How would that work in the case where virtualized guests don't have a visible PCI bus, and the virtual environment doesn't pretend to emulate a PCI bus? If they

Re: A set of standard virtual devices?

2007-04-03 Thread Cornelia Huck
On Tue, 3 Apr 2007 10:30:36 +0200, Andi Kleen [EMAIL PROTECTED] wrote: On Tuesday 03 April 2007 10:29:06 Christian Borntraeger wrote: On Monday 02 April 2007 23:12, Andi Kleen wrote: How would that work in the case where virtualized guests don't have a visible PCI bus, and the

Re: A set of standard virtual devices?

2007-04-03 Thread Andi Kleen
On s390, it would be more than strangeness. There's no implementation of PCI at all, someone would have to cook it up - and it wouldn't have any use beyond those special devices. Since there isn't any bus type that is available on *all* architectures, a generic virtual bus with very simple

Re: A set of standard virtual devices?

2007-04-03 Thread Arnd Bergmann
On Tuesday 03 April 2007, H. Peter Anvin wrote: However, one probably wants to think about what the heck one actually means with virtualization in the absence of a lot of this stuff.  PCI is probably the closest thing we have to a lowest common denominator for device detection. I think

Re: A set of standard virtual devices?

2007-04-03 Thread Cornelia Huck
On Tue, 3 Apr 2007 11:41:49 +0200, Arnd Bergmann [EMAIL PROTECTED] wrote: On Tuesday 03 April 2007, H. Peter Anvin wrote: However, one probably wants to think about what the heck one actually means with virtualization in the absence of a lot of this stuff.  PCI is probably the closest

Re: A set of standard virtual devices?

2007-04-03 Thread Cornelia Huck
On Tue, 3 Apr 2007 11:26:52 +0200, Andi Kleen [EMAIL PROTECTED] wrote: On s390, it would be more than strangeness. There's no implementation of PCI at all, someone would have to cook it up - and it wouldn't have any use beyond those special devices. Since there isn't any bus type that

Re: A set of standard virtual devices?

2007-04-03 Thread Arnd Bergmann
On Tuesday 03 April 2007, Cornelia Huck wrote: I think that's true outside of s390, but a standardized virtual device interface should be able to work there as well. Interestingly, the s390 channel I/O also uses two 16 bit numbers to identify a device (type and model), just like PCI or

Re: A set of standard virtual devices?

2007-04-03 Thread Cornelia Huck
On Tue, 3 Apr 2007 14:15:37 +0200, Arnd Bergmann [EMAIL PROTECTED] wrote: Right, but an interesting point is the question what to do when running another operating system as a guest under Linux, e.g. with kvm. Ideally, you'd want to use the same interface to announce the presence of the

Re: A set of standard virtual devices?

2007-04-03 Thread Arnd Bergmann
On Tuesday 03 April 2007, Cornelia Huck wrote: On Tue, 3 Apr 2007 14:15:37 +0200, Arnd Bergmann [EMAIL PROTECTED] wrote: That's OK for a virtualized architecture where the base architecture already supports PCI. But a traditional s390 OS would be as unhappy with a PCI device as with a device

Re: A set of standard virtual devices?

2007-04-03 Thread Adrian Bunk
On Tue, Apr 03, 2007 at 11:26:52AM +0200, Andi Kleen wrote: On s390, it would be more than strangeness. There's no implementation of PCI at all, someone would have to cook it up - and it wouldn't have any use beyond those special devices. Since there isn't any bus type that is available

Re: A set of standard virtual devices?

2007-04-03 Thread Cornelia Huck
On Tue, 3 Apr 2007 16:03:14 +0200, Arnd Bergmann [EMAIL PROTECTED] wrote: struct virt_dev { struct device dev; struct virt_driver *driver; struct virt_bus *bus; struct pci_device_id id; int irq; }; And that's where I have problems :) The notion of irq is far

Re: A set of standard virtual devices?

2007-04-03 Thread Arnd Bergmann
On Tuesday 03 April 2007, Cornelia Huck wrote: On s390, it would be more than strangeness. There's no implementation of PCI at all, someone would have to cook it up - and it wouldn't have any use beyond those special devices. Since there isn't any bus type that is available on *all*

Re: A set of standard virtual devices?

2007-04-03 Thread Jeremy Fitzhardinge
Arnd Bergmann wrote: I think we need to separate two problems here: 1. Probing: That's really what triggered the discussion, PCI probing is well-understood and implemented on _most_ platforms, so there is some value in reusing it. When you talk about 'very simple probing', I'm not sure what

Re: A set of standard virtual devices?

2007-04-03 Thread Arnd Bergmann
On Tuesday 03 April 2007, Jeremy Fitzhardinge wrote: Arnd Bergmann wrote: I think we need to separate two problems here: 1. Probing: That's really what triggered the discussion, PCI probing is well-understood and implemented on _most_ platforms, so there is some value in reusing it.

Re: A set of standard virtual devices?

2007-04-03 Thread Jeremy Fitzhardinge
Arnd Bergmann wrote: We already have device drivers for physical devices that can be attached to different buses. The EHCI USB is an example of a driver that can be for instance PCI, OF or an on-chip device. Moreover, you can have an abstracted device behind it that does not need to know

Re: A set of standard virtual devices?

2007-04-03 Thread H. Peter Anvin
Jeremy Fitzhardinge wrote: Yes, and that's the core of the Xen netfront. But is there really much code which can be shared between different hypervisors? When you get down to it, all the real code is hypervisor-specific stuff for setting up ringbuffers and dealing with interrupts. Like all

Re: A set of standard virtual devices?

2007-04-03 Thread Arnd Bergmann
On Tuesday 03 April 2007, Jeremy Fitzhardinge wrote: Doing a SCSI driver has been tried before, with ibmvscsi. Not good.   OK, interesting.  People had proposed using SCSI as the interface, but I wasn't aware of any results from doing that.  How is it not good? SCSI is really

Re: A set of standard virtual devices?

2007-04-03 Thread Jeremy Fitzhardinge
H. Peter Anvin wrote: However, there are other things; console is some, or my original example, which was random number generation. For those, the benefit of unification is proportionally greater, simply because the win of anything hypervisor-specific is much smaller. So, what you're saying

Re: A set of standard virtual devices?

2007-04-03 Thread H. Peter Anvin
Jeremy Fitzhardinge wrote: So, what you're saying is: 1. assuming there's going to be a vast number of miscellaneous devices 2. it would be best if there were one per device rather than one per hypervisor per device 3. so we'd have one linux device driver But this implies that

Re: A set of standard virtual devices?

2007-04-03 Thread Arnd Bergmann
On Tuesday 03 April 2007, Jeremy Fitzhardinge wrote: That said, something like USB is probably the best bet for this kind of low-performance device.  I think.  Not that I really know anything about USB. USB has the disadvantage that it is more complex than PCI and requires significantly more

Re: A set of standard virtual devices?

2007-04-03 Thread H. Peter Anvin
Arnd Bergmann wrote: One interesting aspect of the PS3 hypervisor is that some of the low-speed interfaces are implemented as a virtual UART, meaning something that only has read and write operations and uses an interrupt for flow control. The implementation in drivers/ps3/vuart.c is probably

Re: A set of standard virtual devices?

2007-04-03 Thread Arnd Bergmann
On Wednesday 04 April 2007, H. Peter Anvin wrote: Note that at least for PIO-based devices, there is nothing that says you can't implement PCI over another transport, if you wish.  It's really just a very simple RPC protocol. The PIO aspect of PCI is simple, yes, except on architectures that

Re: A set of standard virtual devices?

2007-04-03 Thread H. Peter Anvin
Arnd Bergmann wrote: On Wednesday 04 April 2007, H. Peter Anvin wrote: Note that at least for PIO-based devices, there is nothing that says you can't implement PCI over another transport, if you wish. It's really just a very simple RPC protocol. The PIO aspect of PCI is simple, yes, except

Re: A set of "standard" virtual devices?

2007-04-02 Thread H. Peter Anvin
Jeff Garzik wrote: Sure, but let's look beyond device detection. For instance, it does not necessarily follow that emulating PCI DMA is the best way to go for communication with a virtual device, once detected. This is true, of course. However, there are going to be a set of virtual

Re: A set of "standard" virtual devices?

2007-04-02 Thread Jeff Garzik
H. Peter Anvin wrote: However, one probably wants to think about what the heck one actually means with "virtualization" in the absence of a lot of this stuff. PCI is probably the closest thing we have to a lowest common denominator for device detection. Sure, but let's look beyond device

Re: A set of "standard" virtual devices?

2007-04-02 Thread H. Peter Anvin
Jeremy Fitzhardinge wrote: Andi Kleen wrote: The implementation wouldn't need to use PCI at all. There wouldn't even need to be PCI like registers internally. Just a pci device with an ID somewhere in sysfs. PCI with unique IDs is just a convenient and well established key into the driver

Re: A set of "standard" virtual devices?

2007-04-02 Thread Jeremy Fitzhardinge
Anthony Liguori wrote: > The actual PCI bus could paravirtualized. It's just a question of > whether one reinvents a device discovery mechanism (like XenBus) or > whether one piggy backs on existing mechanisms. > > Furthermore, in the future, I strongly suspect that HVM will become > much more

Re: A set of "standard" virtual devices?

2007-04-02 Thread Anthony Liguori
Jeremy Fitzhardinge wrote: Andi Kleen wrote: The implementation wouldn't need to use PCI at all. There wouldn't even need to be PCI like registers internally. Just a pci device with an ID somewhere in sysfs. PCI with unique IDs is just a convenient and well established key into the driver

Re: A set of "standard" virtual devices?

2007-04-02 Thread Roland Dreier
> > > Obviously, anyone who adheres to the published interface can > > > use one of these VID:DIDs -- as far as I'm concerned, even > > > hardware vendors; we'll use the SID to distinguish between > > > implementations. > > I think for this to work, some attempt at a conformance testing > >

Re: A set of "standard" virtual devices?

2007-04-02 Thread Jeremy Fitzhardinge
Andi Kleen wrote: > The implementation wouldn't need to use PCI at all. There wouldn't > even need to be PCI like registers internally. Just a pci device > with an ID somewhere in sysfs. PCI with unique IDs > is just a convenient and well established key into the driver module > collection. Once

Re: A set of "standard" virtual devices?

2007-04-02 Thread Andi Kleen
On Monday 02 April 2007 23:33:01 Jeff Garzik wrote: > Andi Kleen wrote: > >> How would that work in the case where virtualized guests don't have a > >> visible PCI bus, and the virtual environment doesn't pretend to emulate > >> a PCI bus? > > > > If they emulated one with the appropiate device

Re: A set of "standard" virtual devices?

2007-04-02 Thread Andi Kleen
> How would that work in the case where virtualized guests don't have a > visible PCI bus, and the virtual environment doesn't pretend to emulate > a PCI bus? If they emulated one with the appropiate device then distribution driver auto probing would just work transparently for them. -Andi -

Re: A set of "standard" virtual devices?

2007-04-02 Thread Jeremy Fitzhardinge
H. Peter Anvin wrote: > On the subject of virtualization; there are a number of devices which > keep being invented and reinvented by just about every virtualization > vendor for no really good reason. > > I personally recently pointed out that a proper virtualization > solution should handle

Re: A set of "standard" virtual devices?

2007-04-02 Thread H. Peter Anvin
Roland Dreier wrote: > Obviously, anyone who adheres to the published interface can use one > of these VID:DIDs -- as far as I'm concerned, even hardware vendors; > we'll use the SID to distinguish between implementations. I think for this to work, some attempt at a conformance testing

Re: A set of "standard" virtual devices?

2007-04-02 Thread Roland Dreier
> I would therefore like to propose that the Linux Foundation register a > PCI ID for use by LANANA ($3000/year), and we set up a LANANA registry > for these device IDs, together with a description of the device > interface each of them expect. Similarly, a Subsystem ID registry can > be

Re: A set of standard virtual devices?

2007-04-02 Thread Roland Dreier
I would therefore like to propose that the Linux Foundation register a PCI ID for use by LANANA ($3000/year), and we set up a LANANA registry for these device IDs, together with a description of the device interface each of them expect. Similarly, a Subsystem ID registry can be used

Re: A set of standard virtual devices?

2007-04-02 Thread H. Peter Anvin
Roland Dreier wrote: Obviously, anyone who adheres to the published interface can use one of these VID:DIDs -- as far as I'm concerned, even hardware vendors; we'll use the SID to distinguish between implementations. I think for this to work, some attempt at a conformance testing program

Re: A set of standard virtual devices?

2007-04-02 Thread Jeremy Fitzhardinge
H. Peter Anvin wrote: On the subject of virtualization; there are a number of devices which keep being invented and reinvented by just about every virtualization vendor for no really good reason. I personally recently pointed out that a proper virtualization solution should handle entropy

Re: A set of standard virtual devices?

2007-04-02 Thread Andi Kleen
How would that work in the case where virtualized guests don't have a visible PCI bus, and the virtual environment doesn't pretend to emulate a PCI bus? If they emulated one with the appropiate device then distribution driver auto probing would just work transparently for them. -Andi - To

Re: A set of standard virtual devices?

2007-04-02 Thread Andi Kleen
On Monday 02 April 2007 23:33:01 Jeff Garzik wrote: Andi Kleen wrote: How would that work in the case where virtualized guests don't have a visible PCI bus, and the virtual environment doesn't pretend to emulate a PCI bus? If they emulated one with the appropiate device then

Re: A set of standard virtual devices?

2007-04-02 Thread Jeremy Fitzhardinge
Andi Kleen wrote: The implementation wouldn't need to use PCI at all. There wouldn't even need to be PCI like registers internally. Just a pci device with an ID somewhere in sysfs. PCI with unique IDs is just a convenient and well established key into the driver module collection. Once you

Re: A set of standard virtual devices?

2007-04-02 Thread Roland Dreier
Obviously, anyone who adheres to the published interface can use one of these VID:DIDs -- as far as I'm concerned, even hardware vendors; we'll use the SID to distinguish between implementations. I think for this to work, some attempt at a conformance testing program is

Re: A set of standard virtual devices?

2007-04-02 Thread Anthony Liguori
Jeremy Fitzhardinge wrote: Andi Kleen wrote: The implementation wouldn't need to use PCI at all. There wouldn't even need to be PCI like registers internally. Just a pci device with an ID somewhere in sysfs. PCI with unique IDs is just a convenient and well established key into the driver

Re: A set of standard virtual devices?

2007-04-02 Thread Jeremy Fitzhardinge
Anthony Liguori wrote: The actual PCI bus could paravirtualized. It's just a question of whether one reinvents a device discovery mechanism (like XenBus) or whether one piggy backs on existing mechanisms. Furthermore, in the future, I strongly suspect that HVM will become much more

Re: A set of standard virtual devices?

2007-04-02 Thread H. Peter Anvin
Jeremy Fitzhardinge wrote: Andi Kleen wrote: The implementation wouldn't need to use PCI at all. There wouldn't even need to be PCI like registers internally. Just a pci device with an ID somewhere in sysfs. PCI with unique IDs is just a convenient and well established key into the driver

Re: A set of standard virtual devices?

2007-04-02 Thread Jeff Garzik
H. Peter Anvin wrote: However, one probably wants to think about what the heck one actually means with virtualization in the absence of a lot of this stuff. PCI is probably the closest thing we have to a lowest common denominator for device detection. Sure, but let's look beyond device

Re: A set of standard virtual devices?

2007-04-02 Thread H. Peter Anvin
Jeff Garzik wrote: Sure, but let's look beyond device detection. For instance, it does not necessarily follow that emulating PCI DMA is the best way to go for communication with a virtual device, once detected. This is true, of course. However, there are going to be a set of virtual