Hyper-V driver development status

Pavel Timofeev timp87 at gmail.com
Wed Sep 11 12:43:40 UTC 2013


I've just checked out and built projects/hyperv and everything looks good.

mox at bsdtest:~ % uname -a
FreeBSD bsdtest 10.0-CURRENT FreeBSD 10.0-CURRENT #0: Wed Sep 11
12:09:08 MSK 2013     mox at bsdtest:/usr/obj/usr/src/sys/GENERIC  amd64

bsdtest:~ % df -h
Filesystem           Size    Used   Avail Capacity  Mounted on
/dev/label/rootfs     36G    2.7G     31G     8%    /
devfs                1.0k    1.0k      0B   100%    /dev

mox at bsdtest:~ % ifconfig
de0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500
        ether 00:15:5d:02:9a:6f
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
        media: Ethernet autoselect
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
        options=600003<RXCSUM,TXCSUM,RXCSUM_IPV6,TXCSUM_IPV6>
        inet6 ::1 prefixlen 128
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2
        inet 127.0.0.1 netmask 0xff000000
        nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
hn0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=18<VLAN_MTU,VLAN_HWTAGGING>
        ether 00:15:5d:02:9a:6e
        inet 192.168.25.5 netmask 0xffffffc0 broadcast 192.168.25.63
        inet6 fe80::215:5dff:fe02:9a6e%hn0 prefixlen 64 scopeid 0x3
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>

Copyright (c) 1992-2013 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
        The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 10.0-CURRENT #0: Wed Sep 11 12:09:08 MSK 2013
    mox at bsdtest:/usr/obj/usr/src/sys/GENERIC amd64
FreeBSD clang version 3.3 (trunk 178860) 20130405
WARNING: WITNESS option enabled, expect reduced performance.
CPU: Intel(R) Xeon(R) CPU           L5520  @ 2.27GHz (1140.71-MHz K8-class CPU)
  Origin = "GenuineIntel"  Id = 0x106a5  Family = 0x6  Model = 0x1a
Stepping = 5
  Features=0x1f83fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR,SSE,SSE2,SS,HTT>
  Features2=0x80002001<SSE3,CX16,HV>
  AMD Features=0x20100800<SYSCALL,NX,LM>
  AMD Features2=0x1<LAHF>
real memory  = 1073741824 (1024 MB)
avail memory = 1011179520 (964 MB)
Event timer "LAPIC" quality 400
ACPI APIC Table: <VRTUAL MICROSFT>
FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs
FreeBSD/SMP: 1 package(s) x 2 core(s)
 cpu0 (BSP): APIC ID:  0
 cpu1 (AP): APIC ID:  1
ioapic0: Changing APIC ID to 0
ioapic0 <Version 1.1> irqs 0-23 on motherboard
random: <Software, Yarrow> initialized
kbd1 at kbdmux0
vmbus0: <Vmbus Devices> on motherboard
acpi0: <VRTUAL MICROSFT> on motherboard
acpi0: Power Button (fixed)
acpi0: reservation of 0, a0000 (3) failed
acpi0: reservation of 100000, f7f00000 (3) failed
cpu0: <ACPI CPU> on acpi0
cpu1: <ACPI CPU> on acpi0
attimer0: <AT timer> port 0x40-0x43 irq 0 on acpi0
Timecounter "i8254" frequency 1193182 Hz quality 0
Event timer "i8254" frequency 1193182 Hz quality 100
atrtc0: <AT realtime clock> port 0x70-0x71 irq 8 on acpi0
Event timer "RTC" frequency 32768 Hz quality 0
Timecounter "ACPI-fast" frequency 3579545 Hz quality 900
acpi_timer0: <32-bit timer at 3.579545MHz> port 0x408-0x40b on acpi0
pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
pci0: <ACPI PCI bus> on pcib0
isab0: <PCI-ISA bridge> at device 7.0 on pci0
isa0: <ISA bus> on isab0
pciata-disable0 port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xffa0-0xffaf
at device 7.1 on pci0
pci0: <bridge> at device 7.3 (no driver attached)
vgapci0: <VGA-compatible display> mem 0xf8000000-0xfbffffff irq 11 at
device 8.0 on pci0
de0: <Digital 21140A Fast Ethernet> port 0xec00-0xec7f mem
0xfebff000-0xfebfffff irq 11 at device 10.0 on pci0
de0: 21140A [10-100Mb/s] pass 2.0
de0: Ethernet address: 00:15:5d:02:9a:6f
atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64 irq 1 on acpi0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
kbd0 at atkbd0
atkbd0: [GIANT-LOCKED]
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: [GIANT-LOCKED]
psm0: model IntelliMouse Explorer, device ID 4
uart0: <16550 or compatible> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0
uart1: <16550 or compatible> port 0x2f8-0x2ff irq 3 on acpi0
fdc0: <floppy drive controller (FDE)> port 0x3f0-0x3f5,0x3f7 irq 6 drq
2 on acpi0
fd0: <1440-KB 3.5" drive> on fdc0 drive 0
qpi0: <QPI system bus> on motherboard
orm0: <ISA Option ROMs> at iomem 0xc0000-0xcbfff,0xcc000-0xcc7ff on isa0
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
ppc0: cannot reserve I/O port range
Timecounter "Hyper-V" frequency 10000000 Hz quality 10000000
Timecounters tick every 10.000 msec
storvsc0 on vmbus0
hyperv-utils0 on vmbus0
hyperv-utils0: Hyper-V Service attaching: Hyper-V Heartbeat Service

hyperv-utils1 on vmbus0
hyperv-utils1: Hyper-V Service attaching: Hyper-V Shutdown Service

hyperv-utils2 on vmbus0
hyperv-utils2: Hyper-V Service attaching: Hyper-V Time Synch Service

storvsc1 on vmbus0
Netvsc initializing... SMP: AP CPU #1 Launched!
WARNING: WITNESS option enabled, expect reduced performance.
da0 at blkvsc0 bus 0 scbus0 target 0 lun 0
da0: <Msft Virtual Disk 1.0> Fixed Direct Access SCSI-4 device
da0: 300.000MB/s transfers
da0: Command Queueing enabled
da0: 40960MB (83886080 512 byte sectors: 255H 63S/T 5221C)
Netvsc probe... DONE
hn0: <Synthetic Network Interface> on vmbus0
Netvsc initializing... Already initialized!
hn0: Ethernet address: 00:15:5d:02:9a:6e
Trying to mount root from ufs:/dev/label/rootfs [rw]...
Setting hostuuid: 18dd792a-1881-6c47-a238-7828b05795ca.
Setting hostid: 0x7908af74.
Entropy harvesting: interrupts ethernet point_to_point kickstart.
Starting file system checks:
/dev/label/rootfs: FILE SYSTEM CLEAN; SKIPPING CHECKS
/dev/label/rootfs: clean, 8460523 free (4739 frags, 1056973 blocks,
0.0% fragmentation)
Mounting local file systems:.
Writing entropy file:.
Setting hostname: bsdtest.
Waiting on "rndis sema" with the following non-sleepable locks held:
exclusive sleep mutex NetVSCLock (network driver) r = 0
(0xfffff80002830030) locked @
/usr/src/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c:904
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame 0xfffffe003d395550
kdb_backtrace() at kdb_backtrace+0x39/frame 0xfffffe003d395600
witness_warn() at witness_warn+0x4a8/frame 0xfffffe003d3956c0
_cv_timedwait_sbt() at _cv_timedwait_sbt+0x96/frame 0xfffffe003d395740
_sema_timedwait() at _sema_timedwait+0x74/frame 0xfffffe003d395780
hv_rf_set_packet_filter() at hv_rf_set_packet_filter+0x184/frame
0xfffffe003d3957c0
hv_rf_on_open() at hv_rf_on_open+0x46/frame 0xfffffe003d3957e0
hn_ifinit() at hn_ifinit+0xbe/frame 0xfffffe003d395820
ether_ioctl() at ether_ioctl+0x8a/frame 0xfffffe003d395850
hn_ioctl() at hn_ioctl+0x28a/frame 0xfffffe003d3958b0
in_control() at in_control+0xbe5/frame 0xfffffe003d395960
ifioctl() at ifioctl+0xf52/frame 0xfffffe003d395a20
kern_ioctl() at kern_ioctl+0x2ca/frame 0xfffffe003d395a90
sys_ioctl() at sys_ioctl+0x11f/frame 0xfffffe003d395ae0
amd64_syscall() at amd64_syscall+0x265/frame 0xfffffe003d395bf0
Xfast_syscall() at Xfast_syscall+0xfb/frame 0xfffffe003d395bf0
--- syscall (54, FreeBSD ELF64, sys_ioctl), rip = 0x80119c1fa, rsp =
0x7fffffffd488, rbp = 0x7fffffffd4d0 ---
Starting Network: lo0 de0 hn0.
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
        options=600003<RXCSUM,TXCSUM,RXCSUM_IPV6,TXCSUM_IPV6>
        inet6 ::1 prefixlen 128
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2
        inet 127.0.0.1 netmask 0xff000000
        nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
de0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500
        ether 00:15:5d:02:9a:6f
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
        media: Ethernet autoselect
hn0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=18<VLAN_MTU,VLAN_HWTAGGING>
        ether 00:15:5d:02:9a:6e
        inet 192.168.25.5 netmask 0xffffffc0 broadcast 192.168.25.63
        inet6 fe80::215:5dff:fe02:9a6e%hn0 prefixlen 64 scopeid 0x3
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
Starting devd.
Starting Network: de0.
de0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500
        ether 00:15:5d:02:9a:6f
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
        media: Ethernet autoselect
add net default: gateway 192.168.25.1
add net fe80::: gateway ::1
add net ff02::: gateway ::1
add net ::ffff:0.0.0.0: gateway ::1
add net ::0.0.0.0: gateway ::1
Creating and/or trimming log files.
Starting syslogd.
No core dumps found.
ELF ldconfig path: /lib /usr/lib /usr/lib/compat
32-bit compatibility ldconfig path: /usr/lib32
Clearing /tmp (X related).
Updating motd:.
Mounting late file systems:.
Configuring syscons: blanktime.
Performing sanity check on sshd configuration.
Starting sshd.
Starting cron.
Starting background file system checks in 60 seconds.

Wed Sep 11 16:28:18 MSK 2013
lock order reversal:
 1st 0xfffffe003d50e970 bufwait (bufwait) @ /usr/src/sys/kern/vfs_bio.c:3059
 2nd 0xfffff80002e14a00 dirhash (dirhash) @
/usr/src/sys/ufs/ufs/ufs_dirhash.c:284
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame 0xfffffe003d3db660
kdb_backtrace() at kdb_backtrace+0x39/frame 0xfffffe003d3db710
witness_checkorder() at witness_checkorder+0xd23/frame 0xfffffe003d3db7a0
_sx_xlock() at _sx_xlock+0x75/frame 0xfffffe003d3db7e0
ufsdirhash_remove() at ufsdirhash_remove+0x37/frame 0xfffffe003d3db810
ufs_dirremove() at ufs_dirremove+0x11b/frame 0xfffffe003d3db860
ufs_remove() at ufs_remove+0x75/frame 0xfffffe003d3db8c0
VOP_REMOVE_APV() at VOP_REMOVE_APV+0xf0/frame 0xfffffe003d3db8f0
kern_unlinkat() at kern_unlinkat+0x20c/frame 0xfffffe003d3dbae0
amd64_syscall() at amd64_syscall+0x265/frame 0xfffffe003d3dbbf0
Xfast_syscall() at Xfast_syscall+0xfb/frame 0xfffffe003d3dbbf0
--- syscall (10, FreeBSD ELF64, sys_unlink), rip = 0x80093958a, rsp =
0x7fffffffda18, rbp = 0x7fffffffdae0 ---

2013/8/29 Abhishek Gupta (LIS) <abgupta at microsoft.com>:
> Hi Pavel,
>
> Yes, FreeBSD 10 is still the target. We are working to make it in to the tree. You should see some traction next week.
>
> Thanks,
> Abhishek
> ________________________________________
> From: Pavel Timofeev <timp87 at gmail.com>
> Sent: Thursday, August 29, 2013 3:31 AM
> To: Abhishek Gupta (LIS)
> Cc: Peter Grehan; freebsd-virtualization at freebsd.org
> Subject: Re: Hyper-V driver development status
>
> So, is it going to be included in FreeBSD 10 now? As I can see code
> freeze for CURRENT is planned on 7 September 2013 (10 days from now).
> http://www.freebsd.org/releases/10.0R/schedule.html
> It's not much time.
>
> 2013/8/17 Abhishek Gupta (LIS) <abgupta at microsoft.com>:
>> Hi Pavel,
>>
>> Thanks for inquiring about the BSD drivers for Hyper-V. We (Microsoft) are actively working on these drivers and the intent is to get them integrated in to the kernel within the next month or so. There are some issues we are trying to address:
>>
>> a) Witness panic during boot time due to a specific memory allocation.
>> b) Bypass usage of disk labels to ensure that devices do not get reordered under FreeBSD.
>> c) Locks up on 32 bit builds.
>> d) Lack of KVP support for BSD drivers
>>
>> We are working hard every day to finish these items.
>>
>> Even though an official announcement has not gone out, I would highly encourage you to start testing the drivers. As they are in project branch now they should be easy to compile. The only requirement is to set up disk labels before rebooting a kernel that includes the Hyper-V drivers otherwise the system will not boot up.
>>
>> Please let me know if you have more questions or have feedback.
>>
>> Thanks again for your interest.
>> Abhishek
>> ________________________________________
>> From: Peter Grehan <grehan at freebsd.org>
>> Sent: Friday, August 16, 2013 11:30 AM
>> To: Abhishek Gupta (LIS)
>> Subject: Fwd: Hyper-V driver development status
>>
>> Want to reply to this ?
>>
>>
>> -------- Original Message --------
>> Subject: Hyper-V driver development status
>> Date: Fri, 16 Aug 2013 17:00:57 +0400
>> From: Pavel Timofeev <timp87 at gmail.com>
>> To: freebsd-virtualization at freebsd.org
>>
>> Hi all!
>> I'd like to know what's happening with hyper-v driver development in
>> FreeBSD.
>> I know about svn branch but there is no active progress in there.
>> What's the roadmap? Or we are waiting for something?
>>
>> What is the current status of that project?
>> I could do some tests. Or it's too early?
>> I'm looking forward to use it =)
>> _______________________________________________
>> freebsd-virtualization at freebsd.org mailing list
>> http://lists.freebsd.org/mailman/listinfo/freebsd-virtualization
>> To unsubscribe, send any mail to
>> "freebsd-virtualization-unsubscribe at freebsd.org"
>>
>>
>>


More information about the freebsd-virtualization mailing list