The NetBSD Project

CVS log for src/sys/dev/pci/virtiovar.h

[BACK] Up to [cvs.NetBSD.org] / src / sys / dev / pci

Request diff between arbitrary revisions


Keyword substitution: kv
Default branch: MAIN


Revision 1.24.4.2: download - view: text, markup, annotated - select for diffs
Sat Jun 3 14:40:25 2023 UTC (18 months, 1 week ago) by martin
Branches: netbsd-10
CVS tags: netbsd-10-0-RELEASE, netbsd-10-0-RC6, netbsd-10-0-RC5, netbsd-10-0-RC4, netbsd-10-0-RC3, netbsd-10-0-RC2, netbsd-10-0-RC1
Diff to: previous 1.24.4.1: preferred, colored; branchpoint 1.24: preferred, colored; next MAIN 1.25: preferred, colored
Changes since revision 1.24.4.1: +6 -5 lines
Pull up following revision(s) (requested by yamaguchi in ticket #186):

	sys/dev/pci/virtio_pci.c: revision 1.41
	sys/dev/pci/virtio_pci.c: revision 1.42
	sys/dev/virtio/virtio_mmio.c: revision 1.10
	sys/dev/pci/virtiovar.h: revision 1.29
	sys/dev/pci/virtio.c: revision 1.75
	sys/dev/pci/virtio.c: revision 1.76
	sys/dev/pci/virtio.c: revision 1.77
	sys/dev/pci/virtio.c: revision 1.78

virtio@pci: Fix assertion on detach.

If the child never attached in the first place, it's OK for it to not
have detached.

XXX This should not be a set of flags; this should be a state
enumeration, because some flags make no sense, like FINISHED|FAILED.

XXX This should not be asserted separately in each bus; there should
be a single place in virtio.c to assert this, uniformly in all buses.

PR kern/57357


Use enumeration for state of a child driver instead of flags
and check its detaching by using sc->sc_child in virtio_softc
pointed out by riastradh, thanks.
fixes PR/57357

Fix not to allocate unnecessary descriptor
fixes PR/57358

virtio(4): change variable name, nfc

virtio(4): change members of struct vring_desc_extra before free a slot

This prevents the following race condition.
1. Thread-A: calls virtio_dequeue_commit() and
             puts a slot into free descriptor chain in vq_free_slot()
2. Thread-B: calls virtio_enqueue_prep() and get the slot stored by Thread-A
3. Thread-B: calls virtio_enqueue_reserve() and
             changes desc_base and desc_free_idx for the slot
4. Thread-A: changes the same members updated by Thread-B
reported by hannken, thanks.

Revision 1.24.4.1: download - view: text, markup, annotated - select for diffs
Sat May 13 10:56:10 2023 UTC (18 months, 4 weeks ago) by martin
Branches: netbsd-10
Diff to: previous 1.24: preferred, colored
Changes since revision 1.24: +28 -33 lines
Pull up following revision(s) (requested by yamaguchi in ticket #139):

	sys/dev/pci/vioscsi.c: revision 1.31
	sys/dev/pci/vio9p.c: revision 1.10
	sys/dev/pci/vioscsi.c: revision 1.32
	sys/dev/pci/vio9p.c: revision 1.11
	sys/dev/pci/vioscsi.c: revision 1.33
	sys/dev/pci/ld_virtio.c: revision 1.31
	sys/dev/virtio/viocon.c: revision 1.6
	sys/dev/pci/vioscsi.c: revision 1.34
	sys/dev/pci/ld_virtio.c: revision 1.32
	sys/dev/virtio/viocon.c: revision 1.7
	sys/dev/virtio/viocon.c: revision 1.8
	sys/dev/pci/vioscsi.c: revision 1.36
	sys/dev/pci/virtioreg.h: revision 1.12
	sys/dev/pci/viornd.c: revision 1.19
	sys/dev/pci/virtio.c: revision 1.66
	sys/dev/pci/virtio.c: revision 1.67
	sys/dev/pci/virtio.c: revision 1.68
	sys/dev/pci/if_vioif.c: revision 1.103
	sys/dev/pci/virtio.c: revision 1.69
	sys/dev/pci/if_vioif.c: revision 1.104
	sys/dev/pci/virtio_pci.c: revision 1.40
	sys/dev/virtio/virtio_mmio.c: revision 1.8
	sys/dev/virtio/virtio_mmio.c: revision 1.9
	sys/dev/pci/viomb.c: revision 1.14
	sys/dev/pci/viomb.c: revision 1.15
	sys/dev/pci/viomb.c: revision 1.17
	sys/dev/pci/viornd.c: revision 1.20
	sys/dev/pci/viornd.c: revision 1.21
	sys/dev/pci/virtiovar.h: revision 1.25
	sys/dev/pci/virtiovar.h: revision 1.26
	sys/dev/pci/virtiovar.h: revision 1.27
	sys/dev/pci/virtiovar.h: revision 1.28
	sys/dev/pci/virtio.c: revision 1.70
	sys/dev/pci/virtio.c: revision 1.71
	sys/dev/pci/virtio.c: revision 1.72
	sys/dev/pci/virtio.c: revision 1.73
	sys/dev/pci/virtio.c: revision 1.74
	sys/dev/pci/virtio_pci.c: revision 1.39

Set virtqueues in virtio_child_attach_finish

The number of virtqueue maybe change in a part of VirtIO devices
(e.g. vioif(4)). And it is fixed after negotiation of features.
So the configuration is moved into the function.

viocon(4): fix not to allocate unused virtqueue

viocon(4) allocates 4 virtqueues but it only uses 2 (0 and 1) queues.

Added functions to set interrupt handler and index into virtqueue

Added check of pointer for allocated memory before release of resource

Setup virtqueues after registering them to virtio_softc
restore fetch of qsize.

Mark as MPSAFE.

virtio(4): Avoid name collision with global intrhand on sparc64.

Pacifies -Werror=shadow.
No functional change intended.

Use PRIuBUSSIZE to print bus_size_t variables.

virtio(4): Fix sizing of virtqueue allocation.
vq->vq_avail[0].ring is a zero-length array, and thus sizeof is zero;
likewise vq->vq_used[0].ring.
Use vq->vq_avail[0].ring[0] and vq->vq_used[0].ring[0] to fix this
and restore the previous allocation sizing logic.
XXX We shouldn't use zero-length arrays here -- they are asking for
trouble like this, and C99 has a standard way to express what we're
actually trying to get at it, flexible array members.
PR kern/57304

virtio(4): Use flexible array members, not zero-length arrays.
This enables the compiler to detect sizeof mistakes like
PR kern/57304.

Use descriptor chain for free slots instead of vq_entry list
Descriptors can be chained by themself. And descriptors added to
avail ring or used ring are already chained. But it was not used
for unused descriptors and another linked list structure named
vq_entry was used.

The chain is also used for unused descriptors to make virtio(4)
simpler.

Added flags to store status of attaching a virtio device

This prevents a panic on reboot after a virtio device had called
virtio_child_attach_failed().

Fix wrong variable names
This fixes build errors in virtio_mmio.c

Revision 1.29: download - view: text, markup, annotated - select for diffs
Wed Apr 19 00:23:45 2023 UTC (19 months, 3 weeks ago) by yamaguchi
Branches: MAIN
CVS tags: thorpej-ifq-base, thorpej-ifq, thorpej-altq-separation-base, thorpej-altq-separation, perseant-exfatfs-base-20240630, perseant-exfatfs-base, perseant-exfatfs, HEAD
Diff to: previous 1.28: preferred, colored
Changes since revision 1.28: +6 -5 lines
Use enumeration for state of a child driver instead of flags
and check its detaching by using sc->sc_child in virtio_softc

pointed out by riastradh, thanks.
fixes PR/57357

Revision 1.28: download - view: text, markup, annotated - select for diffs
Fri Mar 31 07:34:26 2023 UTC (20 months, 1 week ago) by yamaguchi
Branches: MAIN
Diff to: previous 1.27: preferred, colored
Changes since revision 1.27: +6 -5 lines
Added flags to store status of attaching a virtio device

This prevents a panic on reboot after a virtio device had called
virtio_child_attach_failed().

Revision 1.27: download - view: text, markup, annotated - select for diffs
Fri Mar 31 07:31:48 2023 UTC (20 months, 1 week ago) by yamaguchi
Branches: MAIN
Diff to: previous 1.26: preferred, colored
Changes since revision 1.26: +11 -17 lines
Use descriptor chain for free slots instead of vq_entry list

Descriptors can be chained by themself. And descriptors added to
avail ring or used ring are already chained. But it was not used
for unused descriptors and another linked list structure named
vq_entry was used.
The chain is also used for unused descriptors to make virtio(4)
simpler.

Revision 1.26: download - view: text, markup, annotated - select for diffs
Thu Mar 23 03:55:11 2023 UTC (20 months, 2 weeks ago) by yamaguchi
Branches: MAIN
Diff to: previous 1.25: preferred, colored
Changes since revision 1.25: +9 -7 lines
Added functions to set interrupt handler and index into virtqueue

Revision 1.25: download - view: text, markup, annotated - select for diffs
Thu Mar 23 03:27:48 2023 UTC (20 months, 2 weeks ago) by yamaguchi
Branches: MAIN
Diff to: previous 1.24: preferred, colored
Changes since revision 1.24: +6 -8 lines
Set virtqueues in virtio_child_attach_finish

The number of virtqueue maybe change in a part of VirtIO devices
(e.g. vioif(4)). And it is fixed after negotiation of features.
So the configuration is moved into the function.

Revision 1.24: download - view: text, markup, annotated - select for diffs
Thu Mar 24 08:08:05 2022 UTC (2 years, 8 months ago) by andvar
Branches: MAIN
CVS tags: netbsd-10-base, bouyer-sunxi-drm-base, bouyer-sunxi-drm
Branch point for: netbsd-10
Diff to: previous 1.23: preferred, colored
Changes since revision 1.23: +2 -2 lines
s/interupt/interrupt/ in comments.
also add missing RCS ID in bcm53xx_reg.h and fix one more typo in there.

Revision 1.23: download - view: text, markup, annotated - select for diffs
Thu Oct 28 01:36:43 2021 UTC (3 years, 1 month ago) by yamaguchi
Branches: MAIN
Diff to: previous 1.22: preferred, colored
Changes since revision 1.22: +2 -2 lines
virtio: stop reinit for safety when a device resetting is failed

Revision 1.22: download - view: text, markup, annotated - select for diffs
Thu Oct 21 05:37:43 2021 UTC (3 years, 1 month ago) by yamaguchi
Branches: MAIN
Diff to: previous 1.21: preferred, colored
Changes since revision 1.21: +2 -2 lines
virtio: reconfigure MSI-X vector on re-initialization

This may fix a problem that some interrupts, for example
link-state change of vioif(4) are not notified.

Revision 1.21: download - view: text, markup, annotated - select for diffs
Thu Oct 21 05:32:27 2021 UTC (3 years, 1 month ago) by yamaguchi
Branches: MAIN
Diff to: previous 1.20: preferred, colored
Changes since revision 1.20: +3 -2 lines
divide setup routine of virtio interrupts
into establishment and device configuration

Revision 1.16.2.1: download - view: text, markup, annotated - select for diffs
Sat Apr 3 22:28:49 2021 UTC (3 years, 8 months ago) by thorpej
Branches: thorpej-futex
Diff to: previous 1.16: preferred, colored; next MAIN 1.17: preferred, colored
Changes since revision 1.16: +48 -19 lines
Sync with HEAD.

Revision 1.20: download - view: text, markup, annotated - select for diffs
Fri Feb 5 19:18:23 2021 UTC (3 years, 10 months ago) by reinoud
Branches: MAIN
CVS tags: thorpej-i2c-spi-conf2-base, thorpej-i2c-spi-conf2, thorpej-i2c-spi-conf-base, thorpej-i2c-spi-conf, thorpej-futex2-base, thorpej-futex2, thorpej-futex-base, thorpej-cfargs2-base, thorpej-cfargs2, thorpej-cfargs-base, thorpej-cfargs, cjep_sun2x-base1, cjep_sun2x-base, cjep_sun2x, cjep_staticlib_x-base1, cjep_staticlib_x-base, cjep_staticlib_x
Diff to: previous 1.19: preferred, colored
Changes since revision 1.19: +1 -4 lines
Second round of cleaning up endian code. No more tailored code to maintain.

Revision 1.19: download - view: text, markup, annotated - select for diffs
Thu Jan 28 15:43:12 2021 UTC (3 years, 10 months ago) by reinoud
Branches: MAIN
Diff to: previous 1.18: preferred, colored
Changes since revision 1.18: +7 -12 lines
Rewrite and streamline virtio device config read/write and explicitly cater
for the Aarch64-eb bus problem with Qemu. This removes lots of bus_space
`magic' and cleans up the code.

Revision 1.18: download - view: text, markup, annotated - select for diffs
Wed Jan 20 21:59:48 2021 UTC (3 years, 10 months ago) by reinoud
Branches: MAIN
Diff to: previous 1.17: preferred, colored
Changes since revision 1.17: +2 -1 lines
Remove the virtio child driver finalisation check KASSERT that, while it
should never trigger, a possible bug in a child driver shouldn't have to panic
the kernel. Instead report the internal error.

Revision 1.17: download - view: text, markup, annotated - select for diffs
Wed Jan 20 19:46:48 2021 UTC (3 years, 10 months ago) by reinoud
Branches: MAIN
Diff to: previous 1.16: preferred, colored
Changes since revision 1.16: +47 -11 lines
Add VirtIO PCI v1.0 attachments and fix the drivers affected.

The vioif, ld, scsi, viornd and viomb devices were adjusted when needed and
tested both in legacy 0.9 and v1.0 attachments trough PCI on amd64, sparc64,
aarch64 and aarch64-eb. ACPI/FDT attachments also tested on
aarch64/aarch64-eb.

Known issues

* viomb on aarch64 works only with ACPI/FDT attachment but not with PCI
  attachment. PCI and ACPI/FDT attachment works on aarch64-eb.

* virtio on sparc64 attaches but is it not functioning though not a
  regression.

Revision 1.16: download - view: text, markup, annotated - select for diffs
Mon May 25 07:52:16 2020 UTC (4 years, 6 months ago) by yamaguchi
Branches: MAIN
Branch point for: thorpej-futex
Diff to: previous 1.15: preferred, colored
Changes since revision 1.15: +4 -2 lines
Set handlers implemented in child device of virtio(4) to virtqueue
instead of the commonized function

Revision 1.15: download - view: text, markup, annotated - select for diffs
Mon May 25 07:37:47 2020 UTC (4 years, 6 months ago) by yamaguchi
Branches: MAIN
Diff to: previous 1.14: preferred, colored
Changes since revision 1.14: +2 -2 lines
Register an interrupt handler for virtqueue to that for pci
to reduce function call

Revision 1.14: download - view: text, markup, annotated - select for diffs
Mon May 25 07:29:52 2020 UTC (4 years, 6 months ago) by yamaguchi
Branches: MAIN
Diff to: previous 1.13: preferred, colored
Changes since revision 1.13: +1 -2 lines
Remove VIRTIO_F_PCI_INTR_SOFTINT support for multiqueue

The functionality is no longer used by obsolating VIOIF_SOFTINT_INTR.

Revision 1.12.2.1: download - view: text, markup, annotated - select for diffs
Mon Jun 10 22:07:27 2019 UTC (5 years, 6 months ago) by christos
Branches: phil-wifi
Diff to: previous 1.12: preferred, colored; next MAIN 1.13: preferred, colored
Changes since revision 1.12: +7 -1 lines
Sync with HEAD

Revision 1.10.2.2: download - view: text, markup, annotated - select for diffs
Fri Jan 18 08:50:42 2019 UTC (5 years, 10 months ago) by pgoyette
Branches: pgoyette-compat
CVS tags: pgoyette-compat-merge-20190127
Diff to: previous 1.10.2.1: preferred, colored; branchpoint 1.10: preferred, colored; next MAIN 1.11: preferred, colored
Changes since revision 1.10.2.1: +7 -1 lines
Synch with HEAD

Revision 1.13: download - view: text, markup, annotated - select for diffs
Mon Jan 14 14:55:37 2019 UTC (5 years, 10 months ago) by yamaguchi
Branches: MAIN
CVS tags: phil-wifi-20200421, phil-wifi-20200411, phil-wifi-20200406, phil-wifi-20191119, phil-wifi-20190609, pgoyette-compat-20190127, pgoyette-compat-20190118, netbsd-9-base, netbsd-9-4-RELEASE, netbsd-9-3-RELEASE, netbsd-9-2-RELEASE, netbsd-9-1-RELEASE, netbsd-9-0-RELEASE, netbsd-9-0-RC2, netbsd-9-0-RC1, netbsd-9, isaki-audio2-base, isaki-audio2, is-mlppp-base, is-mlppp, bouyer-xenpvh-base2, bouyer-xenpvh-base1, bouyer-xenpvh-base, bouyer-xenpvh, ad-namecache-base3, ad-namecache-base2, ad-namecache-base1, ad-namecache-base, ad-namecache
Diff to: previous 1.12: preferred, colored
Changes since revision 1.12: +7 -1 lines
Add multiqueue support, virtio(4)

Revision 1.10.2.1: download - view: text, markup, annotated - select for diffs
Mon Jun 25 07:26:01 2018 UTC (6 years, 5 months ago) by pgoyette
Branches: pgoyette-compat
Diff to: previous 1.10: preferred, colored
Changes since revision 1.10: +21 -12 lines
Sync with HEAD

Revision 1.12: download - view: text, markup, annotated - select for diffs
Fri Jun 15 17:13:43 2018 UTC (6 years, 5 months ago) by jakllsch
Branches: MAIN
CVS tags: phil-wifi-base, pgoyette-compat-1226, pgoyette-compat-1126, pgoyette-compat-1020, pgoyette-compat-0930, pgoyette-compat-0906, pgoyette-compat-0728, pgoyette-compat-0625, jdolecek-ncqfixes-base, jdolecek-ncqfixes
Branch point for: phil-wifi
Diff to: previous 1.11: preferred, colored
Changes since revision 1.11: +2 -1 lines
Add cfprint_t virtiobusprint() and use it for virtio_mmio.

Revision 1.11: download - view: text, markup, annotated - select for diffs
Sat Jun 2 22:43:15 2018 UTC (6 years, 6 months ago) by jakllsch
Branches: MAIN
Diff to: previous 1.10: preferred, colored
Changes since revision 1.10: +20 -12 lines
Begin to detangle virtio from its PCI attachment

Revision 1.1.14.2: download - view: text, markup, annotated - select for diffs
Sun Dec 3 11:37:29 2017 UTC (7 years ago) by jdolecek
Branches: tls-maxphys
Diff to: previous 1.1.14.1: preferred, colored; branchpoint 1.1: preferred, colored; next MAIN 1.2: preferred, colored
Changes since revision 1.1.14.1: +40 -6 lines
update from HEAD

Revision 1.3.4.4: download - view: text, markup, annotated - select for diffs
Mon Aug 28 17:52:25 2017 UTC (7 years, 3 months ago) by skrll
Branches: nick-nhusb
Diff to: previous 1.3.4.3: preferred, colored; branchpoint 1.3: preferred, colored; next MAIN 1.4: preferred, colored
Changes since revision 1.3.4.3: +34 -6 lines
Sync with HEAD

Revision 1.10: download - view: text, markup, annotated - select for diffs
Wed Aug 2 08:39:14 2017 UTC (7 years, 4 months ago) by cherry
Branches: MAIN
CVS tags: tls-maxphys-base-20171202, pgoyette-compat-base, pgoyette-compat-0521, pgoyette-compat-0502, pgoyette-compat-0422, pgoyette-compat-0415, pgoyette-compat-0407, pgoyette-compat-0330, pgoyette-compat-0322, pgoyette-compat-0315, nick-nhusb-base-20170825
Branch point for: pgoyette-compat
Diff to: previous 1.9: preferred, colored
Changes since revision 1.9: +6 -1 lines
Reorg the virtio(4) config(9) code to be explicitly pci specific.

We'll later use this for a non-pci virtio(4) usecase.

ok martin

Revision 1.5.2.2: download - view: text, markup, annotated - select for diffs
Wed Apr 26 02:53:22 2017 UTC (7 years, 7 months ago) by pgoyette
Branches: pgoyette-localcount
Diff to: previous 1.5.2.1: preferred, colored; branchpoint 1.5: preferred, colored; next MAIN 1.6: preferred, colored
Changes since revision 1.5.2.1: +29 -6 lines
Sync with HEAD

Revision 1.6.2.1: download - view: text, markup, annotated - select for diffs
Fri Apr 21 16:53:52 2017 UTC (7 years, 7 months ago) by bouyer
Branches: bouyer-socketcan
Diff to: previous 1.6: preferred, colored; next MAIN 1.7: preferred, colored
Changes since revision 1.6: +29 -6 lines
Sync with HEAD

Revision 1.9: download - view: text, markup, annotated - select for diffs
Sun Mar 26 12:36:43 2017 UTC (7 years, 8 months ago) by martin
Branches: MAIN
CVS tags: prg-localcount2-base3, prg-localcount2-base2, prg-localcount2-base1, prg-localcount2-base, prg-localcount2, pgoyette-localcount-20170426, perseant-stdc-iso10646-base, perseant-stdc-iso10646, netbsd-8-base, netbsd-8-3-RELEASE, netbsd-8-2-RELEASE, netbsd-8-1-RELEASE, netbsd-8-1-RC1, netbsd-8-0-RELEASE, netbsd-8-0-RC2, netbsd-8-0-RC1, netbsd-8, matt-nb8-mediatek-base, matt-nb8-mediatek, jdolecek-ncq-base, jdolecek-ncq, bouyer-socketcan-base1
Diff to: previous 1.8: preferred, colored
Changes since revision 1.8: +1 -2 lines
Backout previous, no need for these accessor in MD code

Revision 1.8: download - view: text, markup, annotated - select for diffs
Sun Mar 26 10:36:10 2017 UTC (7 years, 8 months ago) by martin
Branches: MAIN
Diff to: previous 1.7: preferred, colored
Changes since revision 1.7: +2 -1 lines
Provide an accessor for the pci attach args of a virtio device (if
available - future non-pci attachments may return NULL).
Sparc64 MD code needs this to match the OF node of the virtio device
for boot device recognition.

Revision 1.7: download - view: text, markup, annotated - select for diffs
Sat Mar 25 18:02:06 2017 UTC (7 years, 8 months ago) by jdolecek
Branches: MAIN
Diff to: previous 1.6: preferred, colored
Changes since revision 1.6: +29 -6 lines
reorganize the attachment process for virtio child devices, so that
more common code is shared among the drivers, and it's possible for
the drivers to be correctly dynamically loaded; forbid direct access
to struct virtio_softc from the child driver code

Revision 1.5.2.1: download - view: text, markup, annotated - select for diffs
Fri Nov 4 14:49:15 2016 UTC (8 years, 1 month ago) by pgoyette
Branches: pgoyette-localcount
Diff to: previous 1.5: preferred, colored
Changes since revision 1.5: +2 -1 lines
Sync with HEAD

Revision 1.3.4.3: download - view: text, markup, annotated - select for diffs
Wed Oct 5 20:55:55 2016 UTC (8 years, 2 months ago) by skrll
Branches: nick-nhusb
Diff to: previous 1.3.4.2: preferred, colored; branchpoint 1.3: preferred, colored
Changes since revision 1.3.4.2: +2 -1 lines
Sync with HEAD

Revision 1.6: download - view: text, markup, annotated - select for diffs
Tue Sep 27 03:33:32 2016 UTC (8 years, 2 months ago) by pgoyette
Branches: MAIN
CVS tags: pgoyette-localcount-20170320, pgoyette-localcount-20170107, pgoyette-localcount-20161104, nick-nhusb-base-20170204, nick-nhusb-base-20161204, nick-nhusb-base-20161004, bouyer-socketcan-base
Branch point for: bouyer-socketcan
Diff to: previous 1.5: preferred, colored
Changes since revision 1.5: +2 -1 lines
Modularize the ld driver and all of its attachments.  Ensure that all
parents are capable of rescan (or otherwise provide a means of attaching
children post-initialization).

Revision 1.3.4.2: download - view: text, markup, annotated - select for diffs
Sun Dec 27 12:09:57 2015 UTC (8 years, 11 months ago) by skrll
Branches: nick-nhusb
Diff to: previous 1.3.4.1: preferred, colored; branchpoint 1.3: preferred, colored
Changes since revision 1.3.4.1: +5 -2 lines
Sync with HEAD (as of 26th Dec)

Revision 1.5: download - view: text, markup, annotated - select for diffs
Mon Oct 26 01:44:48 2015 UTC (9 years, 1 month ago) by ozaki-r
Branches: MAIN
CVS tags: pgoyette-localcount-base, pgoyette-localcount-20160806, pgoyette-localcount-20160726, nick-nhusb-base-20160907, nick-nhusb-base-20160529, nick-nhusb-base-20160422, nick-nhusb-base-20160319, nick-nhusb-base-20151226, localcount-20160914
Branch point for: pgoyette-localcount
Diff to: previous 1.4: preferred, colored
Changes since revision 1.4: +5 -2 lines
Support MSI-X in virtio

Currently only vioif(4) uses the feature.

knakahara@ helped to migrate to pci_intr_alloc(9). Thanks!

Revision 1.3.4.1: download - view: text, markup, annotated - select for diffs
Mon Apr 6 15:18:12 2015 UTC (9 years, 8 months ago) by skrll
Branches: nick-nhusb
Diff to: previous 1.3: preferred, colored
Changes since revision 1.3: +3 -1 lines
Sync with HEAD

Revision 1.4: download - view: text, markup, annotated - select for diffs
Fri Dec 19 06:54:40 2014 UTC (9 years, 11 months ago) by ozaki-r
Branches: MAIN
CVS tags: nick-nhusb-base-20150921, nick-nhusb-base-20150606, nick-nhusb-base-20150406
Diff to: previous 1.3: preferred, colored
Changes since revision 1.3: +3 -1 lines
Implement softint-based interrupt handling in if_vioif

Softint-based interrupt handling is considered as a future direction
of the (network) device driver architecture in NetBSD. pq3etsec of
ppc is already implemented based on the architecture (unlike pq3etsec,
this change doesn't include softint-based if_start). In this
architecture, a hardware interrupt handler just schedules a softint
and the softint performs actual interrupt processing. It reduces
processing in hardware interrupt context and allows Layer 2 network
stack (e.g., bridge, vlan and even bpf) run in softint context,
which makes it easy to implement fine-grain locking in the layer.

This is an experimental implementation of the architecture in if_viof.

virtio introduces a new flag VIRTIO_F_PCI_INTR_SOFTINT. If a driver
of virtio sets it to sc_flags of virtio_softc, virtio calls
softint_schedule in virtio_intr instead of directly calling the
interrupt handler of the driver.

When VIOIF_SOFTINT_INTR is on, vioif doesn't use the existing softint
(vioif_rx_softint) that is called from vioif_rx_vq_done. Because
vioif_rx_softint already runs in softint context and another softint
isn't needed. This change actually improves performance in some cases.

The feature is disabled by default and enabled when SOFTINT_INTR is
set somewhere (normally in a kernel configuration).

Revision 1.1.14.1: download - view: text, markup, annotated - select for diffs
Wed Aug 20 00:03:48 2014 UTC (10 years, 3 months ago) by tls
Branches: tls-maxphys
Diff to: previous 1.1: preferred, colored
Changes since revision 1.1: +3 -22 lines
Rebase to HEAD as of a few days ago.

Revision 1.2.2.1: download - view: text, markup, annotated - select for diffs
Sun Aug 10 06:54:56 2014 UTC (10 years, 4 months ago) by tls
Branches: tls-earlyentropy
Diff to: previous 1.2: preferred, colored; next MAIN 1.3: preferred, colored
Changes since revision 1.2: +5 -1 lines
Rebase.

Revision 1.3: download - view: text, markup, annotated - select for diffs
Tue Jul 22 01:55:54 2014 UTC (10 years, 4 months ago) by ozaki-r
Branches: MAIN
CVS tags: tls-maxphys-base, tls-earlyentropy-base, nick-nhusb-base, netbsd-7-nhusb-base-20170116, netbsd-7-nhusb-base, netbsd-7-nhusb, netbsd-7-base, netbsd-7-2-RELEASE, netbsd-7-1-RELEASE, netbsd-7-1-RC2, netbsd-7-1-RC1, netbsd-7-1-2-RELEASE, netbsd-7-1-1-RELEASE, netbsd-7-1, netbsd-7-0-RELEASE, netbsd-7-0-RC3, netbsd-7-0-RC2, netbsd-7-0-RC1, netbsd-7-0-2-RELEASE, netbsd-7-0-1-RELEASE, netbsd-7-0, netbsd-7
Branch point for: nick-nhusb
Diff to: previous 1.2: preferred, colored
Changes since revision 1.2: +5 -1 lines
Introduce VIRTIO_F_PCI_INTR_MPSAFE for virtio

It is set by a child driver, e.g., if_vioif. If set, virtio sets
PCI_INTR_MPSAFE for pci_intr_establish.

Revision 1.1.2.1: download - view: text, markup, annotated - select for diffs
Thu May 22 11:40:34 2014 UTC (10 years, 6 months ago) by yamt
Branches: yamt-pagecache
Diff to: previous 1.1: preferred, colored; next MAIN 1.2: preferred, colored
Changes since revision 1.1: +1 -24 lines
sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs.  ("Protocol error: too many arguments")

Revision 1.1.18.1: download - view: text, markup, annotated - select for diffs
Sun May 18 17:45:44 2014 UTC (10 years, 6 months ago) by rmind
Branches: rmind-smpnet
Diff to: previous 1.1: preferred, colored; next MAIN 1.2: preferred, colored
Changes since revision 1.1: +1 -24 lines
sync with head

Revision 1.2: download - view: text, markup, annotated - select for diffs
Fri Dec 6 02:39:58 2013 UTC (11 years ago) by yamt
Branches: MAIN
CVS tags: yamt-pagecache-base9, rmind-smpnet-nbase, rmind-smpnet-base, riastradh-xf86-video-intel-2-7-1-pre-2-21-15, riastradh-drm2-base3
Branch point for: tls-earlyentropy
Diff to: previous 1.1: preferred, colored
Changes since revision 1.1: +1 -24 lines
virtio: move a comment to a more appropriate place

no functional changes.

Revision 1.1.8.2: download - view: text, markup, annotated - select for diffs
Wed Jan 25 21:18:15 2012 UTC (12 years, 10 months ago) by riz
Branches: netbsd-5
CVS tags: netbsd-5-2-RELEASE, netbsd-5-2-RC1, netbsd-5-2-3-RELEASE, netbsd-5-2-2-RELEASE, netbsd-5-2-1-RELEASE, netbsd-5-2
Diff to: previous 1.1.8.1: preferred, colored; branchpoint 1.1: preferred, colored; next MAIN 1.2: preferred, colored
Changes since revision 1.1.8.1: +207 -0 lines
Pull up following revision(s) (requested by hannken in ticket #1715):
- Be robust against an invalid timer period value.
sys/dev/ic/hpetreg.h			Rev. 1.4
sys/dev/ic/hpet.c			Rev. 1.8

- Fix wrong definition of LAPIC_LEVEL_ASSERT / _MASK
sys/arch/x86/include/i82489reg.h	Rev. 1.11

- Add virtio driver - speed up disk and network access in virtual environments
sys/arch/i386/conf/GENERIC		Rev. 1.1055
sys/arch/i386/conf/ALL			Rev. 1.325
sys/arch/amd64/conf/GENERIC		Rev. 1.338
sys/dev/pci/files.pci			Rev. 1.350
sys/dev/pci/if_vioif.c			Rev. 0-1.2
sys/dev/pci/ld_virtio.c			Rev. 0-1.4
sys/dev/pci/viomb.c			Rev. 0-1.1
sys/dev/pci/virtio.c			Rev. 0-1.3
sys/dev/pci/virtioreg.h			Rev. 0-1.1
sys/dev/pci/virtiovar.h			Rev. 0-1.1
distrib/sets/lists/man/mi		Rev. 1.1352 and 1.1358
share/man/man4/Makefile			Rev. 1.573 and 1.575
share/man/man4/ld.4			Rev. 1.19
share/man/man4/virtio.4			Rev. 0-1.4
share/man/man4/vioif.4			Rev. 0-1.2
share/man/man4/viomb.4			Rev. 0-1.2

Allow NetBSD to run unmodified under Linux/kvm.

Revision 1.1.8.1
Sun Oct 30 12:12:21 2011 UTC (13 years, 1 month ago) by riz
Branches: netbsd-5
FILE REMOVED
Changes since revision 1.1: +0 -207 lines
file virtiovar.h was added on branch netbsd-5 on 2012-01-25 21:18:15 +0000

Revision 1.1: download - view: text, markup, annotated - select for diffs
Sun Oct 30 12:12:21 2011 UTC (13 years, 1 month ago) by hannken
Branches: MAIN
CVS tags: yamt-pagecache-tag8, yamt-pagecache-base8, yamt-pagecache-base7, yamt-pagecache-base6, yamt-pagecache-base5, yamt-pagecache-base4, yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base, riastradh-drm2-base2, riastradh-drm2-base1, riastradh-drm2-base, riastradh-drm2, netbsd-6-base, netbsd-6-1-RELEASE, netbsd-6-1-RC4, netbsd-6-1-RC3, netbsd-6-1-RC2, netbsd-6-1-RC1, netbsd-6-1-5-RELEASE, netbsd-6-1-4-RELEASE, netbsd-6-1-3-RELEASE, netbsd-6-1-2-RELEASE, netbsd-6-1-1-RELEASE, netbsd-6-1, netbsd-6-0-RELEASE, netbsd-6-0-RC2, netbsd-6-0-RC1, netbsd-6-0-6-RELEASE, netbsd-6-0-5-RELEASE, netbsd-6-0-4-RELEASE, netbsd-6-0-3-RELEASE, netbsd-6-0-2-RELEASE, netbsd-6-0-1-RELEASE, netbsd-6-0, netbsd-6, matt-nb6-plus-nbase, matt-nb6-plus-base, matt-nb6-plus, khorben-n900, jmcneill-usbmp-pre-base2, jmcneill-usbmp-base9, jmcneill-usbmp-base8, jmcneill-usbmp-base7, jmcneill-usbmp-base6, jmcneill-usbmp-base5, jmcneill-usbmp-base4, jmcneill-usbmp-base3, jmcneill-usbmp-base2, jmcneill-usbmp-base10, jmcneill-usbmp-base, jmcneill-usbmp, jmcneill-audiomp3-base, jmcneill-audiomp3, agc-symver-base, agc-symver
Branch point for: yamt-pagecache, tls-maxphys, rmind-smpnet, netbsd-5
Import of the virtio driver written by MINOURA Makoto <minoura@netbsd.org>
with minor changes to make it compile an run on -current.  This driver
speeds up disk and network access in virtual environments like KVM.

Enabled on i386 and amd64.  Tested with a CentOS 5.7 x86_64 host.

See http://ozlabs.org/~rusty/virtio-spec/virtio.pdf for the specification.

Diff request

This form allows you to request diffs between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.

Log view options

CVSweb <webmaster@jp.NetBSD.org>