History log of /dragonfly/sys/dev/virtual/hyperv/vmbus/vmbus.c (Results 1 – 12 of 12)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: v6.2.1, v6.2.0, v6.3.0, v6.0.1, v6.0.0, v6.0.0rc1, v6.1.0, v5.8.3, v5.8.2
# feadd4ae 11-Jun-2020 Matthew Dillon <dillon@apollo.backplane.com>

kernel - Refactor sysclock_t from 32 to 64 bits (2)

* Cputimer reload values can be negative, check condition and
set a small positive reload value instead.

* Also avoids muldivu64() overflow war

kernel - Refactor sysclock_t from 32 to 64 bits (2)

* Cputimer reload values can be negative, check condition and
set a small positive reload value instead.

* Also avoids muldivu64() overflow warnings on the console.

Reported-by: kworr

show more ...


# 8fbc264d 09-Jun-2020 Matthew Dillon <dillon@apollo.backplane.com>

kernel - Refactor sysclock_t from 32 to 64 bits

* Refactor the core cpu timer API, changing sysclock_t from 32
to 64 bits. Provide a full 64-bit count from all sources.

* Implement muldivu64() u

kernel - Refactor sysclock_t from 32 to 64 bits

* Refactor the core cpu timer API, changing sysclock_t from 32
to 64 bits. Provide a full 64-bit count from all sources.

* Implement muldivu64() using gcc's 128-bit integer type. This
functions takes three 64-bit valus, performs (a * b) / d
using a 128-bit intermediate calculation, and returns a 64-bit
result.

Change all timer scaling functions to use this function which
effectively gives systimers the capability of handling any
timeout that fits 64 bits for the timer's resolution.

* Remove TSC frequency scaling, it is no longer needed. The
TSC timer is now used at its full resolution.

* Use atomic_fcmpset_long() instead of a clock spinlock when
updating the msb bits for hardware timer sources less than
64 bits wide.

* Properly recalculate existing systimers when the clock source
is changed. Existing systimers were not being recalculated,
leading to the system failing to boot when time sources had
radically different clock frequencies.

show more ...


Revision tags: v5.8.1, v5.8.0, v5.9.0, v5.8.0rc1, v5.6.3
# e2164e29 18-Oct-2019 zrj <rimvydas.jasinskas@gmail.com>

<sys/slaballoc.h>: Switch to lighter <sys/_malloc.h> header.

The <sys/globaldata.h> embeds SLGlobalData that in turn embeds the
"struct malloc_type". Adjust several kernel sources for missing
in

<sys/slaballoc.h>: Switch to lighter <sys/_malloc.h> header.

The <sys/globaldata.h> embeds SLGlobalData that in turn embeds the
"struct malloc_type". Adjust several kernel sources for missing
includes where memory allocation is performed. Try to use alphabetical
include order.

Now (in most cases) <sys/malloc.h> is included after <sys/objcache.h>.
Once it gets cleaned up, the <sys/malloc.h> inclusion could be moved
out of <sys/idr.h> to drm Linux compat layer linux/slab.h without side
effects.

show more ...


Revision tags: v5.6.2, v5.6.1, v5.6.0, v5.6.0rc1, v5.7.0, v5.4.3, v5.4.2, v5.4.1, v5.4.0, v5.5.0, v5.4.0rc1, v5.2.2, v5.2.1, v5.2.0, v5.3.0, v5.2.0rc, v5.0.2, v5.0.1, v5.0.0, v5.0.0rc2, v5.1.0, v5.0.0rc1, v4.8.1, v4.8.0, v4.6.2, v4.9.0, v4.8.0rc
# 82b77854 16-Feb-2017 Sepherosa Ziehau <sephe@dragonflybsd.org>

hyperv: Reorganize


# 6bc7b4f2 06-Jan-2017 Sepherosa Ziehau <sephe@dragonflybsd.org>

hyperv/vmbus: Fix interrupt timer detection logic.


# a4413ab2 20-Dec-2016 Sepherosa Ziehau <sephe@dragonflybsd.org>

hyperv: Add API to read raw value of Hyper-V timer.

Accelerate Hyper-V event timer reloading.


# cb60f91b 20-Dec-2016 Sepherosa Ziehau <sephe@dragonflybsd.org>

hyperv: Move commonly shared header files to the module's top dir.


Revision tags: v4.6.1, v4.6.0
# ae7ab5b6 29-Jul-2016 Sepherosa Ziehau <sephe@dragonflybsd.org>

hyperv/vmbus: Passthrough interrupt resource allocation to nexus

This greatly simplies interrupt allocation. And reenable the interrupt
resource not found warning in acpi.


Revision tags: v4.6.0rc2, v4.6.0rc, v4.7.0
# 1f260e2c 16-Jun-2016 Sepherosa Ziehau <sephe@dragonflybsd.org>

hyperv/vmbus: Factor out vmbus_msg_reset()


# 05ec79dd 16-Jun-2016 Sepherosa Ziehau <sephe@dragonflybsd.org>

hyperv/vmbus: Make sure that interrupt cputimer can be enabled.

Obtained-from: FreeBSD


# e3c41896 13-Jun-2016 Sepherosa Ziehau <sephe@dragonflybsd.org>

hyperv/vmbus: Complete vmbus initialization; interrupt cputimer is enabled

Most of the bits are obtained from FreeBSD. However, The interrupt bits
are reworked:
- Since the vmbus message/event inte

hyperv/vmbus: Complete vmbus initialization; interrupt cputimer is enabled

Most of the bits are obtained from FreeBSD. However, The interrupt bits
are reworked:
- Since the vmbus message/event interrupt works in the same fashion as
MSI-X, we just allocate MSI-X for them, instead of allocating IDT
vector, rolling vmbus own interrupt vector and turning the interrupt
handling inside-out. The standard and generic bus APIs are used to
allocate and setup per-cpu vmbus interrupt.
- Interrupt cputimer reuses the current per-cpu interrupt timer code.
- AutoEOI is not used, since we reuse the per-cpu interrupt timer IDT
vector and MSI IDT vector. After a brief discussion w/ Dexuan Cui,
I concluded that AutoEOI probably does not provide noticible performance
improvement but will introduce extra code complexity. We leave it off
for now.

Obtained-from: FreeBSD (mostly)

show more ...


# 45de427d 13-Jun-2016 Sepherosa Ziehau <sephe@dragonflybsd.org>

hyperv: Initial import. It only contains non-intr cputimer.

Obtained-from: FreeBSD