The NetBSD Project

CVS log for src/sys/dev/hyperv/vmbus.c

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

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.18 / (download) - annotate - [select for diffs], Fri May 20 13:55:17 2022 UTC (8 months, 1 week ago) by nonaka
Branch: MAIN
CVS Tags: netbsd-10-base, netbsd-10, bouyer-sunxi-drm-base, bouyer-sunxi-drm, HEAD
Changes since 1.17: +145 -83 lines
Diff to previous 1.17 (colored)

Improve Hyper-V support.

vmbus(4):
 - Added support for multichannel.

hvn(4):
 - Added support for multichannel.
 - Added support for change MTU.
 - Added support for TX aggregation.
 - Improve VLAN support.
 - Improve checksum offload support.

Revision 1.17 / (download) - annotate - [select for diffs], Sat Apr 9 23:38:32 2022 UTC (9 months, 3 weeks ago) by riastradh
Branch: MAIN
Changes since 1.16: +4 -4 lines
Diff to previous 1.16 (colored)

sys: Use membar_release/acquire around reference drop.

This just goes through my recent reference count membar audit and
changes membar_exit to membar_release and membar_enter to
membar_acquire -- this should make everything cheaper on most CPUs
without hurting correctness, because membar_acquire is generally
cheaper than membar_enter.

Revision 1.16 / (download) - annotate - [select for diffs], Sat Mar 12 15:32:31 2022 UTC (10 months, 2 weeks ago) by riastradh
Branch: MAIN
Changes since 1.15: +4 -2 lines
Diff to previous 1.15 (colored)

sys: Membar audit around reference count releases.

If two threads are using an object that is freed when the reference
count goes to zero, we need to ensure that all memory operations
related to the object happen before freeing the object.

Using an atomic_dec_uint_nv(&refcnt) == 0 ensures that only one
thread takes responsibility for freeing, but it's not enough to
ensure that the other thread's memory operations happen before the
freeing.

Consider:

	  Thread A			  Thread B
	obj->foo = 42;			obj->baz = 73;
	mumble(&obj->bar);		grumble(&obj->quux);
	/* membar_exit(); */		/* membar_exit(); */
	atomic_dec -- not last		atomic_dec -- last
					/* membar_enter(); */
					KASSERT(invariant(obj->foo,
					    obj->bar));
					free_stuff(obj);

The memory barriers ensure that

	obj->foo = 42;
	mumble(&obj->bar);

in thread A happens before

	KASSERT(invariant(obj->foo, obj->bar));
	free_stuff(obj);

in thread B.  Without them, this ordering is not guaranteed.

So in general it is necessary to do

	membar_exit();
	if (atomic_dec_uint_nv(&obj->refcnt) != 0)
		return;
	membar_enter();

to release a reference, for the `last one out hit the lights' style
of reference counting.  (This is in contrast to the style where one
thread blocks new references and then waits under a lock for existing
ones to drain with a condvar -- no membar needed thanks to mutex(9).)

I searched for atomic_dec to find all these.  Obviously we ought to
have a better abstraction for this because there's so much copypasta.
This is a stop-gap measure to fix actual bugs until we have that.  It
would be nice if an abstraction could gracefully handle the different
styles of reference counting in use -- some years ago I drafted an
API for this, but making it cover everything got a little out of hand
(particularly with struct vnode::v_usecount) and I ended up setting
it aside to work on psref/localcount instead for better scalability.

I got bored of adding #ifdef __HAVE_ATOMIC_AS_MEMBAR everywhere, so I
only put it on things that look performance-critical on 5sec review.
We should really adopt membar_enter_preatomic/membar_exit_postatomic
or something (except they are applicable only to atomic r/m/w, not to
atomic_load/store_*, making the naming annoying) and get rid of all
the ifdefs.

Revision 1.15 / (download) - annotate - [select for diffs], Thu Dec 23 04:06:51 2021 UTC (13 months, 1 week ago) by yamaguchi
Branch: MAIN
Changes since 1.14: +29 -21 lines
Diff to previous 1.14 (colored)

hyper-v: move idt vector allocating to vmbus_init_interrupts_md()
for refactoring

And, the deallocating is also moved to
vmbus_deinit_interrupts_md().

reviewed by nonaka@n.o.

Revision 1.14 / (download) - annotate - [select for diffs], Sat Aug 7 16:19:11 2021 UTC (17 months, 3 weeks ago) by thorpej
Branch: MAIN
CVS Tags: thorpej-i2c-spi-conf2-base, thorpej-i2c-spi-conf2
Changes since 1.13: +3 -3 lines
Diff to previous 1.13 (colored)

Merge thorpej-cfargs2.

Revision 1.13.8.1 / (download) - annotate - [select for diffs], Wed Aug 4 18:38:19 2021 UTC (17 months, 3 weeks ago) by thorpej
Branch: thorpej-cfargs2
Changes since 1.13: +3 -3 lines
Diff to previous 1.13 (colored) next main 1.14 (colored)

Adapt to CFARGS().

Revision 1.13 / (download) - annotate - [select for diffs], Sat Apr 24 23:36:54 2021 UTC (21 months, 1 week ago) by thorpej
Branch: MAIN
CVS Tags: thorpej-i2c-spi-conf-base, thorpej-i2c-spi-conf, thorpej-futex2-base, thorpej-futex2, thorpej-cfargs2-base, cjep_sun2x-base1, cjep_sun2x-base, cjep_sun2x, cjep_staticlib_x-base1, cjep_staticlib_x-base, cjep_staticlib_x
Branch point for: thorpej-cfargs2
Changes since 1.12: +4 -4 lines
Diff to previous 1.12 (colored)

Merge thorpej-cfargs branch:

Simplify and make extensible the config_search() / config_found() /
config_attach() interfaces: rather than having different variants for
which arguments you want pass along, just have a single call that
takes a variadic list of tag-value arguments.

Adjust all call sites:
- Simplify wherever possible; don't pass along arguments that aren't
  actually needed.
- Don't be explicit about what interface attribute is attaching if
  the device only has one.  (More simplification.)
- Add a config_probe() function to be used in indirect configuiration
  situations, making is visibly easier to see when indirect config is
  in play, and allowing for future change in semantics.  (As of now,
  this is just a wrapper around config_match(), but that is an
  implementation detail.)

Remove unnecessary or redundant interface attributes where they're not
needed.

There are currently 5 "cfargs" defined:
- CFARG_SUBMATCH (submatch function for direct config)
- CFARG_SEARCH (search function for indirect config)
- CFARG_IATTR (interface attribte)
- CFARG_LOCATORS (locators array)
- CFARG_DEVHANDLE (devhandle_t - wraps OFW, ACPI, etc. handles)

...and a sentinel value CFARG_EOL.

Add some extra sanity checking to ensure that interface attributes
aren't ambiguous.

Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark
ports to associate those device handles with device_t instance.  This
will trickle trough to more places over time (need back-end for pre-OFW
Sun OBP; any others?).

Revision 1.11.2.1 / (download) - annotate - [select for diffs], Sat Apr 3 22:28:44 2021 UTC (21 months, 4 weeks ago) by thorpej
Branch: thorpej-futex
Changes since 1.11: +4 -3 lines
Diff to previous 1.11 (colored) next main 1.12 (colored)

Sync with HEAD.

Revision 1.12.2.1 / (download) - annotate - [select for diffs], Tue Mar 23 07:14:52 2021 UTC (22 months, 1 week ago) by thorpej
Branch: thorpej-cfargs
Changes since 1.12: +4 -4 lines
Diff to previous 1.12 (colored) next main 1.13 (colored)

Convert config_found_ia() call sites where the device only carries
a single interface attribute to bare config_found() calls.

Revision 1.4.2.2 / (download) - annotate - [select for diffs], Thu Feb 4 17:04:14 2021 UTC (23 months, 3 weeks ago) by martin
Branch: netbsd-9
CVS Tags: netbsd-9-3-RELEASE, netbsd-9-2-RELEASE
Changes since 1.4.2.1: +5 -4 lines
Diff to previous 1.4.2.1 (colored) to branchpoint 1.4 (colored) next main 1.5 (colored)

Pull up following revision(s) (requested by nonaka in ticket #1192):

	sys/dev/hyperv/if_hvn.c: revision 1.20 (via patch)
	sys/dev/hyperv/hvkbd.c: revision 1.7 (via patch)
	sys/dev/hyperv/vmbus.c: revision 1.12 (via patch)

hvkbd(4): Don't wait forever.
vmbus(4): Don't wait forever.
hvn(4): Don't wait forever.

Revision 1.2.2.6 / (download) - annotate - [select for diffs], Fri Jan 29 18:18:25 2021 UTC (2 years ago) by martin
Branch: netbsd-8
Changes since 1.2.2.5: +5 -4 lines
Diff to previous 1.2.2.5 (colored) to branchpoint 1.2 (colored) next main 1.3 (colored)

Pull up following revision(s) (requested by nonaka in ticket #1647):

	sys/dev/hyperv/if_hvn.c: revision 1.20 (via patch)
	sys/dev/hyperv/hvkbd.c: revision 1.7 (via patch)
	sys/dev/hyperv/vmbus.c: revision 1.12 (via patch)

hvkbd(4): Don't wait forever.
vmbus(4): Don't wait forever.
hvn(4): Don't wait forever.

Revision 1.12 / (download) - annotate - [select for diffs], Fri Jan 29 04:38:34 2021 UTC (2 years ago) by nonaka
Branch: MAIN
CVS Tags: thorpej-futex-base, thorpej-cfargs-base
Branch point for: thorpej-cfargs
Changes since 1.11: +4 -3 lines
Diff to previous 1.11 (colored)

vmbus(4): Don't wait forever.

Revision 1.11 / (download) - annotate - [select for diffs], Tue May 26 16:08:55 2020 UTC (2 years, 8 months ago) by nonaka
Branch: MAIN
Branch point for: thorpej-futex
Changes since 1.10: +266 -60 lines
Diff to previous 1.10 (colored)

vmbus(4): Do not call hyperv_dma_alloc() in interrupt context.

The channel offer and rescind process is performed on another context.

Revision 1.10 / (download) - annotate - [select for diffs], Tue May 26 16:00:06 2020 UTC (2 years, 8 months ago) by nonaka
Branch: MAIN
Changes since 1.9: +13 -33 lines
Diff to previous 1.9 (colored)

vmbus(4): Fixed incorrect use of vmbus_wait() in vmbus_channel_scan().

Found by kUBSan.

Revision 1.9 / (download) - annotate - [select for diffs], Mon May 25 10:14:58 2020 UTC (2 years, 8 months ago) by nonaka
Branch: MAIN
Changes since 1.8: +3 -3 lines
Diff to previous 1.8 (colored)

Use howmany() macro.

Revision 1.3.2.3 / (download) - annotate - [select for diffs], Wed Apr 8 14:08:05 2020 UTC (2 years, 9 months ago) by martin
Branch: phil-wifi
Changes since 1.3.2.2: +207 -161 lines
Diff to previous 1.3.2.2 (colored) to branchpoint 1.3 (colored) next main 1.4 (colored)

Merge changes from current as of 20200406

Revision 1.8 / (download) - annotate - [select for diffs], Tue Dec 10 12:20:20 2019 UTC (3 years, 1 month ago) by nonaka
Branch: MAIN
CVS Tags: phil-wifi-20200421, phil-wifi-20200411, phil-wifi-20200406, 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
Changes since 1.7: +203 -157 lines
Diff to previous 1.7 (colored)

hvn(4) can be added and deleted dynamically.

Revision 1.7 / (download) - annotate - [select for diffs], Sat Dec 7 11:45:45 2019 UTC (3 years, 1 month ago) by nonaka
Branch: MAIN
Changes since 1.6: +3 -3 lines
Diff to previous 1.6 (colored)

Get a Hyper-V virtual processor id in cpu_hatch().

Currently, it is got in config_interrupts context.
However, since it is required when attaching a device,
it is got earlier than now.

Revision 1.6 / (download) - annotate - [select for diffs], Fri Dec 6 12:46:06 2019 UTC (3 years, 1 month ago) by nonaka
Branch: MAIN
Changes since 1.5: +2 -4 lines
Diff to previous 1.5 (colored)

Clear the allocated memory in hyperv_dma_alloc().

Revision 1.4.2.1 / (download) - annotate - [select for diffs], Sun Nov 24 08:13:07 2019 UTC (3 years, 2 months ago) by martin
Branch: netbsd-9
CVS Tags: netbsd-9-1-RELEASE, netbsd-9-0-RELEASE, netbsd-9-0-RC2, netbsd-9-0-RC1
Changes since 1.4: +5 -4 lines
Diff to previous 1.4 (colored)

Pull up following revision(s) (requested by nonaka in ticket #464):

	sys/dev/hyperv/if_hvn.c: revision 1.8
	sys/dev/hyperv/if_hvn.c: revision 1.9
	sys/dev/hyperv/hvkbd.c: revision 1.5
	sys/dev/hyperv/hvkbd.c: revision 1.6
	sys/dev/hyperv/vmbus.c: revision 1.5

vmbus(4), hvn(4), hvkbd(4): Fixed wait time for tsleep(9).
hvn(4), hvkbd(4): Only need to poll when cold.

Revision 1.2.2.5 / (download) - annotate - [select for diffs], Sun Nov 24 08:11:06 2019 UTC (3 years, 2 months ago) by martin
Branch: netbsd-8
CVS Tags: netbsd-8-2-RELEASE
Changes since 1.2.2.4: +5 -4 lines
Diff to previous 1.2.2.4 (colored) to branchpoint 1.2 (colored)

Pull up following revision(s) (requested by nonaka in ticket #1455):

	sys/dev/hyperv/if_hvn.c: revision 1.8
	sys/dev/hyperv/if_hvn.c: revision 1.9
	sys/dev/hyperv/hvkbd.c: revision 1.5
	sys/dev/hyperv/hvkbd.c: revision 1.6
	sys/dev/hyperv/vmbus.c: revision 1.5

vmbus(4), hvn(4), hvkbd(4): Fixed wait time for tsleep(9).
hvn(4), hvkbd(4): Only need to poll when cold.

Revision 1.5 / (download) - annotate - [select for diffs], Fri Nov 22 12:30:32 2019 UTC (3 years, 2 months ago) by nonaka
Branch: MAIN
Changes since 1.4: +5 -4 lines
Diff to previous 1.4 (colored)

vmbus(4), hvn(4), hvkbd(4): Fixed wait time for tsleep(9).

Revision 1.2.2.4 / (download) - annotate - [select for diffs], Tue Jul 9 15:16:45 2019 UTC (3 years, 6 months ago) by martin
Branch: netbsd-8
Changes since 1.2.2.3: +3 -2 lines
Diff to previous 1.2.2.3 (colored) to branchpoint 1.2 (colored)

Pull up following revision(s) (requested by nakayama in ticket #1286):

	sys/dev/hyperv/vmbus.c: revision 1.4

Zero clear the allocated ring buffer for vmbus_channel.
This change makes Hyper-V's vmbus devices work properly even after reboot.

Revision 1.4 / (download) - annotate - [select for diffs], Tue Jul 9 10:07:11 2019 UTC (3 years, 6 months ago) by nakayama
Branch: MAIN
CVS Tags: phil-wifi-20191119, netbsd-9-base
Branch point for: netbsd-9
Changes since 1.3: +3 -2 lines
Diff to previous 1.3 (colored)

Zero clear the allocated ring buffer for vmbus_channel.
This change makes Hyper-V's vmbus devices work properly even after reboot.

Revision 1.2.2.3 / (download) - annotate - [select for diffs], Wed Jun 12 10:17:32 2019 UTC (3 years, 7 months ago) by martin
Branch: netbsd-8
Changes since 1.2.2.2: +6 -2 lines
Diff to previous 1.2.2.2 (colored) to branchpoint 1.2 (colored)

Pull up following revision(s) (requested by nonaka in ticket #1280):

	sys/arch/x86/x86/consinit.c: revision 1.29
	sys/dev/hyperv/vmbusvar.h: revision 1.2
	sys/dev/hyperv/genfb_vmbusvar.h: revision 1.1
	sys/arch/x86/x86/x86_autoconf.c: revision 1.78
	sys/arch/x86/x86/identcpu.c: revision 1.91
	sys/arch/x86/x86/hyperv.c: revision 1.2
	sys/arch/x86/x86/hyperv.c: revision 1.3
	sys/arch/x86/x86/hyperv.c: revision 1.4
	sys/arch/i386/conf/GENERIC: revision 1.1207
	sys/dev/wscons/wsconsio.h: revision 1.123
	sys/arch/x86/x86/hypervvar.h: revision 1.1
	sys/arch/amd64/conf/GENERIC: revision 1.528
	sys/dev/hyperv/files.hyperv: revision 1.2
	sys/arch/x86/include/autoconf.h: revision 1.6
	sys/dev/hyperv/hyperv_common.c: revision 1.2
	sys/arch/xen/x86/autoconf.c: revision 1.23
	sys/arch/x86/pci/pci_machdep.c: revision 1.86
	sys/dev/hyperv/hvkbd.c: revision 1.1
	sys/dev/hyperv/hypervvar.h: revision 1.2
	sys/dev/acpi/vmbus_acpi.c: revision 1.2
	sys/dev/hyperv/vmbus.c: revision 1.3
	sys/dev/hyperv/hvkbdvar.h: revision 1.1
	sys/dev/hyperv/genfb_vmbus.c: revision 1.1

Added drivers for Hyper-V Synthetic Keyboard and Video device.

Avoid undefined reference to `hyperv_guid_video' without vmbus(4).

Avoid undefined reference to `hyperv_is_gen1' without hyperv(4).

Use efi_probe().

Revision 1.3.2.2 / (download) - annotate - [select for diffs], Mon Jun 10 22:07:09 2019 UTC (3 years, 7 months ago) by christos
Branch: phil-wifi
Changes since 1.3.2.1: +2116 -0 lines
Diff to previous 1.3.2.1 (colored) to branchpoint 1.3 (colored)

Sync with HEAD

Revision 1.3.2.1, Fri May 24 14:28:48 2019 UTC (3 years, 8 months ago) by christos
Branch: phil-wifi
Changes since 1.3: +0 -2116 lines
FILE REMOVED

file vmbus.c was added on branch phil-wifi on 2019-06-10 22:07:09 +0000

Revision 1.3 / (download) - annotate - [select for diffs], Fri May 24 14:28:48 2019 UTC (3 years, 8 months ago) by nonaka
Branch: MAIN
CVS Tags: phil-wifi-20190609
Branch point for: phil-wifi
Changes since 1.2: +6 -2 lines
Diff to previous 1.2 (colored)

Added drivers for Hyper-V Synthetic Keyboard and Video device.

Revision 1.2.2.2 / (download) - annotate - [select for diffs], Sat Mar 9 17:10:19 2019 UTC (3 years, 10 months ago) by martin
Branch: netbsd-8
CVS Tags: netbsd-8-1-RELEASE, netbsd-8-1-RC1
Changes since 1.2.2.1: +2112 -0 lines
Diff to previous 1.2.2.1 (colored) to branchpoint 1.2 (colored)

Pull up following revision(s) via patch (requested by nonaka in ticket #1210):

	sys/dev/hyperv/vmbusvar.h: revision 1.1
	sys/dev/hyperv/hvs.c: revision 1.1
	sys/dev/hyperv/if_hvn.c: revision 1.1
	sys/dev/hyperv/vmbusic.c: revision 1.1
	sys/arch/x86/x86/lapic.c: revision 1.69
	sys/arch/x86/isa/clock.c: revision 1.34
	sys/arch/x86/include/intrdefs.h: revision 1.22
	sys/arch/i386/conf/GENERIC: revision 1.1201
	sys/arch/x86/x86/hyperv.c: revision 1.1
	sys/arch/x86/include/cpu.h: revision 1.105
	sys/arch/x86/x86/x86_machdep.c: revision 1.124
	sys/arch/i386/conf/GENERIC: revision 1.1203
	sys/arch/amd64/amd64/genassym.cf: revision 1.74
	sys/arch/i386/conf/GENERIC: revision 1.1204
	sys/arch/amd64/conf/GENERIC: revision 1.520
	sys/arch/x86/x86/hypervreg.h: revision 1.1
	sys/arch/amd64/amd64/vector.S: revision 1.69
	sys/dev/hyperv/hvshutdown.c: revision 1.1
	sys/dev/hyperv/hvshutdown.c: revision 1.2
	sys/dev/usb/if_urndisreg.h: file removal
	sys/arch/x86/x86/cpu.c: revision 1.167
	sys/arch/x86/conf/files.x86: revision 1.107
	sys/dev/usb/if_urndis.c: revision 1.20
	sys/dev/hyperv/vmbusicreg.h: revision 1.1
	sys/dev/hyperv/hvheartbeat.c: revision 1.1
	sys/dev/hyperv/vmbusicreg.h: revision 1.2
	sys/dev/hyperv/hvheartbeat.c: revision 1.2
	sys/dev/hyperv/files.hyperv: revision 1.1
	sys/dev/ic/rndisreg.h: revision 1.1
	sys/arch/i386/i386/genassym.cf: revision 1.111
	sys/dev/ic/rndisreg.h: revision 1.2
	sys/dev/hyperv/hyperv_common.c: revision 1.1
	sys/dev/hyperv/hvtimesync.c: revision 1.1
	sys/dev/hyperv/hypervreg.h: revision 1.1
	sys/dev/hyperv/hvtimesync.c: revision 1.2
	sys/dev/hyperv/vmbusicvar.h: revision 1.1
	sys/dev/hyperv/if_hvnreg.h: revision 1.1
	sys/arch/x86/x86/lapic.c: revision 1.70
	sys/arch/amd64/amd64/vector.S: revision 1.70
	sys/dev/ic/ndisreg.h: revision 1.1
	sys/arch/amd64/conf/GENERIC: revision 1.516
	sys/dev/hyperv/hypervvar.h: revision 1.1
	sys/arch/amd64/conf/GENERIC: revision 1.518
	sys/arch/amd64/conf/GENERIC: revision 1.519
	sys/arch/i386/conf/files.i386: revision 1.400
	sys/dev/acpi/vmbus_acpi.c: revision 1.1
	sys/dev/hyperv/vmbus.c: revision 1.1
	sys/dev/hyperv/vmbus.c: revision 1.2
	sys/arch/x86/x86/intr.c: revision 1.144
	sys/arch/i386/i386/vector.S: revision 1.83
	sys/arch/amd64/conf/files.amd64: revision 1.112

separate RNDIS definitions from urndis(4) for use with Hyper-V NetVSC.

 -

Added Microsoft Hyper-V support.  It ported from OpenBSD and FreeBSD.
graphical console is not work on Gen.2 VM yet. To use the serial console,
enter "consdev com,0x3f8,115200" on efiboot.

 -

Add __diagused.

 -

PR/53984: Partial revert of modify lapic_calibrate_timer() in lapic.c r1.69.

 -

Update Hyper-V related drivers description.

 -

Remove unused definition.

 -

Rename the MODULE_*_HOOK() macros to MODULE_HOOK_*() as briefly
discussed on irc.
NFCI intended.

 -

commented out hvkvp entry.

 -

fix typo. pointed out by pgoyette@n.o.

 -

Use IDTVEC instead of NENTRY for handle_hyperv_hypercall.

 -

Rename the MODULE_*_HOOK() macros to MODULE_HOOK_*() as briefly
discussed on irc.

Revision 1.2.2.1, Fri Feb 15 16:37:54 2019 UTC (3 years, 11 months ago) by martin
Branch: netbsd-8
Changes since 1.2: +0 -2112 lines
FILE REMOVED

file vmbus.c was added on branch netbsd-8 on 2019-03-09 17:10:19 +0000

Revision 1.2 / (download) - annotate - [select for diffs], Fri Feb 15 16:37:54 2019 UTC (3 years, 11 months ago) by hannken
Branch: MAIN
CVS Tags: isaki-audio2-base, isaki-audio2
Branch point for: netbsd-8
Changes since 1.1: +3 -3 lines
Diff to previous 1.1 (colored)

Add __diagused.

Revision 1.1 / (download) - annotate - [select for diffs], Fri Feb 15 08:54:01 2019 UTC (3 years, 11 months ago) by nonaka
Branch: MAIN

Added Microsoft Hyper-V support.  It ported from OpenBSD and FreeBSD.

graphical console is not work on Gen.2 VM yet. To use the serial console,
enter "consdev com,0x3f8,115200" on efiboot.

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>