The NetBSD Project

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

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

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.13 / (download) - annotate - [select for diffs], Sun Nov 19 19:47:03 2023 UTC (4 months, 3 weeks ago) by thorpej
Branch: MAIN
CVS Tags: HEAD
Changes since 1.12: +9 -1 lines
Diff to previous 1.12 (colored) to selected 1.3 (colored)

Define the VIRTIO_F_ACCESS_PLATFORM, VIRTIO_F_RING_PACKED,
VIRTIO_F_ORDER_PLATFORM, and VIRTIO_F_SR_IOV feature bits.

Revision 1.11.2.1 / (download) - annotate - [select for diffs], Sat May 13 10:56:10 2023 UTC (11 months ago) by martin
Branch: 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
Changes since 1.11: +3 -3 lines
Diff to previous 1.11 (colored) next main 1.12 (colored) to selected 1.3 (colored)

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.12 / (download) - annotate - [select for diffs], Wed Mar 29 09:45:05 2023 UTC (12 months, 2 weeks ago) by riastradh
Branch: MAIN
CVS Tags: thorpej-ifq-base, thorpej-ifq, thorpej-altq-separation-base, thorpej-altq-separation
Changes since 1.11: +3 -3 lines
Diff to previous 1.11 (colored) to selected 1.3 (colored)

virtio(4): Use flexible array members, not zero-length arrays.

This enables the compiler to detect sizeof mistakes like
PR kern/57304.

Revision 1.11 / (download) - annotate - [select for diffs], Sat Oct 15 20:00:35 2022 UTC (18 months ago) by riastradh
Branch: MAIN
CVS Tags: netbsd-10-base
Branch point for: netbsd-10
Changes since 1.10: +6 -6 lines
Diff to previous 1.10 (colored) to selected 1.3 (colored)

virtio(4): Use __BIT, not inline shift.

Reduces need for cast.

Revision 1.10 / (download) - annotate - [select for diffs], Wed Apr 13 10:56:11 2022 UTC (2 years ago) by uwe
Branch: MAIN
CVS Tags: bouyer-sunxi-drm-base, bouyer-sunxi-drm
Changes since 1.9: +2 -2 lines
Diff to previous 1.9 (colored) to selected 1.3 (colored)

virtio: Use UINT64_C() instead of explicit ULL suffix.

Revision 1.9 / (download) - annotate - [select for diffs], Wed Apr 13 10:50:28 2022 UTC (2 years ago) by uwe
Branch: MAIN
Changes since 1.8: +2 -2 lines
Diff to previous 1.8 (colored) to selected 1.3 (colored)

virtio: G/c accidentally committed comment in previous.

The format spec for the V1 bit was to be committed as a separate
followup commit, but I forgot to take it out.  Sorry...

Revision 1.8 / (download) - annotate - [select for diffs], Wed Apr 13 10:42:12 2022 UTC (2 years ago) by uwe
Branch: MAIN
Changes since 1.7: +8 -7 lines
Diff to previous 1.7 (colored) to selected 1.3 (colored)

virtio: use the new syntax for snprintb(3) format strings.

The old syntax is limited to 32 bits only (and has 1-based bit numbers
which is rather incovenient too).

Revision 1.6.32.1 / (download) - annotate - [select for diffs], Sat Apr 3 22:28:49 2021 UTC (3 years ago) by thorpej
Branch: thorpej-futex
Changes since 1.6: +53 -43 lines
Diff to previous 1.6 (colored) next main 1.7 (colored) to selected 1.3 (colored)

Sync with HEAD.

Revision 1.7 / (download) - annotate - [select for diffs], Wed Jan 20 19:46:48 2021 UTC (3 years, 2 months ago) by reinoud
Branch: 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
Changes since 1.6: +53 -43 lines
Diff to previous 1.6 (colored) to selected 1.3 (colored)

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.1.14.2 / (download) - annotate - [select for diffs], Sun Dec 3 11:37:29 2017 UTC (6 years, 4 months ago) by jdolecek
Branch: tls-maxphys
Changes since 1.1.14.1: +15 -1 lines
Diff to previous 1.1.14.1 (colored) to branchpoint 1.1 (colored) next main 1.2 (colored) to selected 1.3 (colored)

update from HEAD

Revision 1.2.10.1 / (download) - annotate - [select for diffs], Wed Jan 18 08:46:42 2017 UTC (7 years, 2 months ago) by skrll
Branch: netbsd-7-nhusb
Changes since 1.2: +12 -1 lines
Diff to previous 1.2 (colored) next main 1.3 (colored)

Sync with netbsd-5

Revision 1.2.4.1 / (download) - annotate - [select for diffs], Fri Dec 23 06:33:56 2016 UTC (7 years, 3 months ago) by snj
Branch: netbsd-7
CVS Tags: netbsd-7-nhusb-base-20170116, 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
Changes since 1.2: +12 -1 lines
Diff to previous 1.2 (colored) next main 1.3 (colored)

Pull up following revision(s) (requested by bsiegert in ticket #1338):
	sys/arch/amd64/conf/GENERIC: revision 1.418
	sys/dev/pci/files.pci: revision 1.379
	sys/dev/pci/vioscsi.c: revisions 1.1-1.8
	sys/dev/pci/vioscsireg.h: revision 1.1
	sys/dev/pci/virtioreg.h: revisions 1.5, 1.6
add the common flag bits
--
Add vioscsi, compile tested only (toxic)
--
this is working now, remove debugging.
--
add vioscsi
--
kill some more debugging.
--
Fake mode sense data for illegal targets. qemu reports 256 targets...
--
fix the status return.
--
Use SCSIPI_CHAN_NOSETTLE.
--
vioscsi_req_get()/virtio_enqueue_prep() failing is actually perfectly
normal - observed failures included 10, 27, 61 in-flight commands,
so probably depends on particular command mix; return with
XS_RESOURCE_SHORTAGE rather then panic
do vioscsi_req_put() when initial bus_dmamap_load() fails, as suggested
by the XXX; the vq_done hook is called by virtio, but in that case we
never get to commit the request to it
--
react on ADAPTER_REQ_SET_XFER_MODE so that we set tagged queuing
pass tag type and set id

Revision 1.2.6.2 / (download) - annotate - [select for diffs], Sun Dec 27 12:09:57 2015 UTC (8 years, 3 months ago) by skrll
Branch: nick-nhusb
Changes since 1.2.6.1: +15 -1 lines
Diff to previous 1.2.6.1 (colored) to branchpoint 1.2 (colored) next main 1.3 (colored)

Sync with HEAD (as of 26th Dec)

Revision 1.6 / (download) - annotate - [select for diffs], Thu Oct 29 01:56:12 2015 UTC (8 years, 5 months ago) by christos
Branch: MAIN
CVS Tags: tls-maxphys-base-20171202, prg-localcount2-base3, prg-localcount2-base2, prg-localcount2-base1, prg-localcount2-base, prg-localcount2, phil-wifi-base, phil-wifi-20200421, phil-wifi-20200411, phil-wifi-20200406, phil-wifi-20191119, phil-wifi-20190609, phil-wifi, pgoyette-localcount-base, pgoyette-localcount-20170426, pgoyette-localcount-20170320, pgoyette-localcount-20170107, pgoyette-localcount-20161104, pgoyette-localcount-20160806, pgoyette-localcount-20160726, pgoyette-localcount, pgoyette-compat-merge-20190127, pgoyette-compat-base, pgoyette-compat-20190127, pgoyette-compat-20190118, pgoyette-compat-1226, pgoyette-compat-1126, pgoyette-compat-1020, pgoyette-compat-0930, pgoyette-compat-0906, pgoyette-compat-0728, pgoyette-compat-0625, pgoyette-compat-0521, pgoyette-compat-0502, pgoyette-compat-0422, pgoyette-compat-0415, pgoyette-compat-0407, pgoyette-compat-0330, pgoyette-compat-0322, pgoyette-compat-0315, pgoyette-compat, perseant-stdc-iso10646-base, perseant-stdc-iso10646, nick-nhusb-base-20170825, nick-nhusb-base-20170204, nick-nhusb-base-20161204, nick-nhusb-base-20161004, nick-nhusb-base-20160907, nick-nhusb-base-20160529, nick-nhusb-base-20160422, nick-nhusb-base-20160319, nick-nhusb-base-20151226, netbsd-9-base, 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, netbsd-8-base, 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, localcount-20160914, jdolecek-ncqfixes-base, jdolecek-ncqfixes, jdolecek-ncq-base, jdolecek-ncq, isaki-audio2-base, isaki-audio2, is-mlppp-base, is-mlppp, bouyer-xenpvh-base2, bouyer-xenpvh-base1, bouyer-xenpvh-base, bouyer-xenpvh, bouyer-socketcan-base1, bouyer-socketcan-base, bouyer-socketcan, ad-namecache-base3, ad-namecache-base2, ad-namecache-base1, ad-namecache-base, ad-namecache
Branch point for: thorpej-futex
Changes since 1.5: +5 -1 lines
Diff to previous 1.5 (colored) to selected 1.3 (colored)

Add vioscsi, compile tested only (toxic)

Revision 1.5 / (download) - annotate - [select for diffs], Tue Oct 27 16:04:05 2015 UTC (8 years, 5 months ago) by christos
Branch: MAIN
Changes since 1.4: +8 -1 lines
Diff to previous 1.4 (colored) to selected 1.3 (colored)

add the common flag bits

Revision 1.4 / (download) - annotate - [select for diffs], Mon Oct 26 01:44:48 2015 UTC (8 years, 5 months ago) by ozaki-r
Branch: MAIN
Changes since 1.3: +4 -1 lines
Diff to previous 1.3 (colored)

Support MSI-X in virtio

Currently only vioif(4) uses the feature.

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

Revision 1.2.6.1 / (download) - annotate - [select for diffs], Sat Jun 6 14:40:12 2015 UTC (8 years, 10 months ago) by skrll
Branch: nick-nhusb
Changes since 1.2: +2 -2 lines
Diff to previous 1.2 (colored) to selected 1.3 (colored)

Sync with HEAD

Revision 1.3 / (download) - annotate - [selected], Mon May 4 14:08:57 2015 UTC (8 years, 11 months ago) by ozaki-r
Branch: MAIN
CVS Tags: nick-nhusb-base-20150921, nick-nhusb-base-20150606
Changes since 1.2: +2 -2 lines
Diff to previous 1.2 (colored)

Fix configuration offset when MSI is enabled

24 is correct.

Revision 1.1.14.1 / (download) - annotate - [select for diffs], Wed Aug 20 00:03:48 2014 UTC (9 years, 7 months ago) by tls
Branch: tls-maxphys
Changes since 1.1: +23 -0 lines
Diff to previous 1.1 (colored) to selected 1.3 (colored)

Rebase to HEAD as of a few days ago.

Revision 1.1.2.1 / (download) - annotate - [select for diffs], Thu May 22 11:40:34 2014 UTC (9 years, 10 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.1: +24 -1 lines
Diff to previous 1.1 (colored) next main 1.2 (colored) to selected 1.3 (colored)

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) - annotate - [select for diffs], Sun May 18 17:45:44 2014 UTC (9 years, 11 months ago) by rmind
Branch: rmind-smpnet
Changes since 1.1: +24 -1 lines
Diff to previous 1.1 (colored) next main 1.2 (colored) to selected 1.3 (colored)

sync with head

Revision 1.2 / (download) - annotate - [select for diffs], Fri Dec 6 02:39:58 2013 UTC (10 years, 4 months ago) by yamt
Branch: MAIN
CVS Tags: yamt-pagecache-base9, tls-maxphys-base, tls-earlyentropy-base, tls-earlyentropy, rmind-smpnet-nbase, rmind-smpnet-base, riastradh-xf86-video-intel-2-7-1-pre-2-21-15, riastradh-drm2-base3, nick-nhusb-base-20150406, nick-nhusb-base, netbsd-7-nhusb-base, netbsd-7-base, 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
Branch point for: nick-nhusb, netbsd-7-nhusb, netbsd-7
Changes since 1.1: +24 -1 lines
Diff to previous 1.1 (colored) to selected 1.3 (colored)

virtio: move a comment to a more appropriate place

no functional changes.

Revision 1.1.8.2 / (download) - annotate - [select for diffs], Wed Jan 25 21:18:15 2012 UTC (12 years, 2 months ago) by riz
Branch: 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
Changes since 1.1.8.1: +152 -0 lines
Diff to previous 1.1.8.1 (colored) to branchpoint 1.1 (colored) next main 1.2 (colored) to selected 1.3 (colored)

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 (12 years, 5 months ago) by riz
Branch: netbsd-5
Changes since 1.1: +0 -152 lines
FILE REMOVED

file virtioreg.h was added on branch netbsd-5 on 2012-01-25 21:18:15 +0000

Revision 1.1 / (download) - annotate - [select for diffs], Sun Oct 30 12:12:21 2011 UTC (12 years, 5 months ago) by hannken
Branch: 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
Diff to selected 1.3 (colored)

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.

This form allows you to request diff's 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.




CVSweb <webmaster@jp.NetBSD.org>