On Fri, Jun 19, 2009 at 01:07:19PM +0930, Rusty Russell wrote:
>
> You didn't comment on my patch which tried to fix NETDEV_TX_BUSY tho?
I think fixing it would only encourage more drivers to use and
abuse TX_BUSY. The fundamental problem with TX_BUSY is that
you're doing the check before transmi
On Thu, 18 Jun 2009 05:04:22 pm Herbert Xu wrote:
> On Thu, Jun 18, 2009 at 04:47:50PM +0930, Rusty Russell wrote:
> > Summary: we still have about 54 in-tree drivers which actually use
> > NETDEV_TX_BUSY for normal paths. Can I fix it now?
>
> You can fix it but I don't quite understand your resu
On Thu, Jun 18, 2009 at 05:32:11PM +0100, Paul Brook wrote:
> On Thursday 18 June 2009, Michael S. Tsirkin wrote:
> > Make it possible to resize PCI regions. This will be used by virtio
> > with MSI-X, where the region size depends on whether MSI-X is enabled,
> > and can change across load/save.
On Thursday 18 June 2009, Michael S. Tsirkin wrote:
> Make it possible to resize PCI regions. This will be used by virtio
> with MSI-X, where the region size depends on whether MSI-X is enabled,
> and can change across load/save.
I thought we'd agreed we shouldn't be doing this.
i.e. if the user
This enables actual support for MSI-X in virtio PCI.
First user will be virtio-net.
Signed-off-by: Michael S. Tsirkin
---
hw/virtio-pci.c | 152 --
rules.mak |2 +-
2 files changed, 113 insertions(+), 41 deletions(-)
diff --git a/hw
Extend virtio to support many interrupt vectors, and rearrange code in
preparation for multi-vector support (mostly move reset out to bindings,
because we will have to reset the vectors in transport-specific code).
Actual bindings in pci, and use in net, to follow.
Load and save are not connected t
Request up to 3 vectors in virtio-net. Actual bindings might supply
less.
Signed-off-by: Michael S. Tsirkin
---
hw/virtio-net.c |1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/hw/virtio-net.c b/hw/virtio-net.c
index d584287..c8dabbe 100644
--- a/hw/virtio-net.c
+++ b/hw/
Add pci_get/set_byte to keep *_word and *_long access functions company.
They are unused for now.
Signed-off-by: Michael S. Tsirkin
---
hw/pci.h | 12
1 files changed, 12 insertions(+), 0 deletions(-)
diff --git a/hw/pci.h b/hw/pci.h
index 67e4b4d..303179d 100644
--- a/hw/pci.h
+
Make it possible to resize PCI regions. This will be used by virtio
with MSI-X, where the region size depends on whether MSI-X is enabled,
and can change across load/save.
Signed-off-by: Michael S. Tsirkin
---
hw/pci.c | 53 +++--
hw/pci.h |
Implement bindings for virtio save/load. Use them in virtio pci.
Signed-off-by: Michael S. Tsirkin
---
hw/virtio-pci.c | 50 +-
hw/virtio.c | 33 -
hw/virtio.h |4
3 files changed, 69 insertions(
Implement MSI support in APIC. Note that MSI and MMIO APIC registers
are at the same memory location, but actually not on the global bus: MSI
is on PCI bus, APIC is connected directly to the CPU. We map them on the
global bus at the same address which happens to work because MSI
registers are reser
Add inline routines for convenient access to pci devices
with correct (little) endianness. Will be used by MSI-X support.
Signed-off-by: Michael S. Tsirkin
---
hw/pci.h | 30 +++---
1 files changed, 27 insertions(+), 3 deletions(-)
diff --git a/hw/pci.h b/hw/pci.h
inde
Add global flag to disable MSI-X by default. This is useful primarily
to make images loadable by older qemu (without msix). Even when MSI-X
is disabled by flag, you can still load images that have MSI-X enabled.
Signed-off-by: Michael S. Tsirkin
---
hw/msix.c |5 -
qemu-options.h
Add functions implementing MSI-X support. First user will be virtio-pci.
Note that platform must set a flag to declare MSI supported: this
is a safety measure to avoid breaking platforms which should support
MSI-X but currently lack this in the interrupt controller emulation.
For PC this will be se
Here is the port of MSI-X support patches to upstream qemu.
Please comment or commit.
This patchset adds generic support for MSI-X, adds implementation in
APIC, and uses MSI-X in virtio-net.
Changelog:
- since v4
rebased to latest bits. rename resize_region -> resize_bar
- since v3
call to re
Change much of hw/pci to use symbolic constants and a table-driven
design: add a mask table with writable bits set and readonly bits unset.
Detect change by comparing original and new registers.
This makes it easy to support capabilities where read-only/writeable
bit layout differs between devices
Add routines to manage PCI capability list. First user will be MSI-X.
Signed-off-by: Michael S. Tsirkin
---
hw/pci.c | 79 ++
hw/pci.h | 18 +-
2 files changed, 96 insertions(+), 1 deletions(-)
diff --git a/hw/pci.c b/h
Add support for capability bits in save/restore for pci.
These will be used for MSI, where the capability might
be present or not as requested by user, which does not
map well into a single version number.
Signed-off-by: Michael S. Tsirkin
---
hw/pci.c | 17 ++---
hw/pci.h |4 +
On Thu, Jun 18, 2009 at 04:47:50PM +0930, Rusty Russell wrote:
>
> One question: can netif_queue_stopped() ever be true inside start_xmit? Some
> drivers test that, like sun3lance.c.
The driver should never test that because even if it is true
due to driver shutdown the xmit function should ign
On Sun, 14 Jun 2009 04:15:28 pm Herbert Xu wrote:
> On Sat, Jun 13, 2009 at 10:00:37PM +0930, Rusty Russell wrote:
> > But re your comment that the 67 drivers using TX_BUSY are doing it
> > because of driver bugs, that's hard to believe. It either hardly ever
> > happens (in which case just drop t
20 matches
Mail list logo