History log of /netbsd-current/sys/dev/vmt/vmt_subr.c
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 1.10 09-May-2024 pho

port-arm/58194: Resurrect vmt(4) from bitrot

On this architecture vmt(4) used to search for a node "/hypervisor" in the
FDT and probed the VMware hypervisor call only when the node was
found. However, things appear to have changed and VMware no longer provides
the FDT node.

Since vmt(4) doesn't actually need to read anything from FDT, and the
hypervisor call logically resides in virtual CPUs themselves, it would be
better to attach it directly to cpu, just like how it's probed on x86.


# 1.9 02-Apr-2024 christos

fix llvm build


# 1.8 20-Mar-2024 msaitoh

Process all queued messages without delay immediately. From OpenBSD.

Apply the remaining part of OpenBSD sys/dev/vmt.c rev. 1.22.

> The VM host might send multiple messages at once but vmt(4) only
> processed one of time per second. Change the code to process all
> queued messages without delay immediately. This fixes two things: a)
> the vmt time sensor is available on boot when ntpd -s is loaded and b)
> the random seeding on resume (OS_Resume message) is executed almost
> immediately and not delayed by about 20 seconds.

Apply OpenBSD sys/dev/pv/vmt.c rev. 1.4.

> Merge two return branches in vmt_tclo_tick(). No functional changes.


# 1.7 20-Mar-2024 msaitoh

On error, give time to recover and wait a second.

Part of OpenBSD sys/dev/vmt.c rev. 1.22.


# 1.6 20-Mar-2024 msaitoh

Use a table like OpenBSD vmt.c rev. 1.27. No functional change.

Add new vmt_tclo_rpc[] table and use it. In this change, all of
vmt_tclo_xxx()'s functionality are not changed from previous.

Now we can understand what's the difference between OpenBSD's
sys/dev/pv/vmt.c and NetBSD's sys/dev/vmt/vmt_subr.c.


# 1.5 20-Mar-2024 msaitoh

Move a prototype definition. No functional change.


# 1.4 20-Mar-2024 msaitoh

KNF. No functional change.


Revision 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 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
# 1.3 27-Mar-2021 ryo

Removed little endian dependencies.
Now vmt(4) works on aarch64eb on vmware ESXIonARM.


# 1.2 17-Nov-2020 ryo

branches: 1.2.2;
use aprint_verbose_dev()


# 1.1 27-Oct-2020 ryo

branches: 1.1.2;
move vmt(4) from MD to MI, and add support vmt on aarch64. tested on ESXi-Arm Fling

- move from sys/arch/x86/x86/{vmt.c,vmtreg.h,vmtvar.h} to sys/dev/vmt/{vmt_subr.c,vmtreg.h,vmtvar.h},
and split the attach part of the cpufeaturebus and fdt
- add aarch64 vmware backdoor op
- add include guard to vmt{reg,var}.h
- Yet there is still some little-endian dependency. it needs to be fixed in order to work properly on aarch64eb


# 1.9 02-Apr-2024 christos

fix llvm build


# 1.8 20-Mar-2024 msaitoh

Process all queued messages without delay immediately. From OpenBSD.

Apply the remaining part of OpenBSD sys/dev/vmt.c rev. 1.22.

> The VM host might send multiple messages at once but vmt(4) only
> processed one of time per second. Change the code to process all
> queued messages without delay immediately. This fixes two things: a)
> the vmt time sensor is available on boot when ntpd -s is loaded and b)
> the random seeding on resume (OS_Resume message) is executed almost
> immediately and not delayed by about 20 seconds.

Apply OpenBSD sys/dev/pv/vmt.c rev. 1.4.

> Merge two return branches in vmt_tclo_tick(). No functional changes.


# 1.7 20-Mar-2024 msaitoh

On error, give time to recover and wait a second.

Part of OpenBSD sys/dev/vmt.c rev. 1.22.


# 1.6 20-Mar-2024 msaitoh

Use a table like OpenBSD vmt.c rev. 1.27. No functional change.

Add new vmt_tclo_rpc[] table and use it. In this change, all of
vmt_tclo_xxx()'s functionality are not changed from previous.

Now we can understand what's the difference between OpenBSD's
sys/dev/pv/vmt.c and NetBSD's sys/dev/vmt/vmt_subr.c.


# 1.5 20-Mar-2024 msaitoh

Move a prototype definition. No functional change.


# 1.4 20-Mar-2024 msaitoh

KNF. No functional change.


Revision 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 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
# 1.3 27-Mar-2021 ryo

Removed little endian dependencies.
Now vmt(4) works on aarch64eb on vmware ESXIonARM.


# 1.2 17-Nov-2020 ryo

branches: 1.2.2;
use aprint_verbose_dev()


# 1.1 27-Oct-2020 ryo

branches: 1.1.2;
move vmt(4) from MD to MI, and add support vmt on aarch64. tested on ESXi-Arm Fling

- move from sys/arch/x86/x86/{vmt.c,vmtreg.h,vmtvar.h} to sys/dev/vmt/{vmt_subr.c,vmtreg.h,vmtvar.h},
and split the attach part of the cpufeaturebus and fdt
- add aarch64 vmware backdoor op
- add include guard to vmt{reg,var}.h
- Yet there is still some little-endian dependency. it needs to be fixed in order to work properly on aarch64eb


# 1.8 20-Mar-2024 msaitoh

Process all queued messages without delay immediately. From OpenBSD.

Apply the remaining part of OpenBSD sys/dev/vmt.c rev. 1.22.

> The VM host might send multiple messages at once but vmt(4) only
> processed one of time per second. Change the code to process all
> queued messages without delay immediately. This fixes two things: a)
> the vmt time sensor is available on boot when ntpd -s is loaded and b)
> the random seeding on resume (OS_Resume message) is executed almost
> immediately and not delayed by about 20 seconds.

Apply OpenBSD sys/dev/pv/vmt.c rev. 1.4.

> Merge two return branches in vmt_tclo_tick(). No functional changes.


# 1.7 20-Mar-2024 msaitoh

On error, give time to recover and wait a second.

Part of OpenBSD sys/dev/vmt.c rev. 1.22.


# 1.6 20-Mar-2024 msaitoh

Use a table like OpenBSD vmt.c rev. 1.27. No functional change.

Add new vmt_tclo_rpc[] table and use it. In this change, all of
vmt_tclo_xxx()'s functionality are not changed from previous.

Now we can understand what's the difference between OpenBSD's
sys/dev/pv/vmt.c and NetBSD's sys/dev/vmt/vmt_subr.c.


# 1.5 20-Mar-2024 msaitoh

Move a prototype definition. No functional change.


# 1.4 20-Mar-2024 msaitoh

KNF. No functional change.


Revision tags: netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
# 1.3 27-Mar-2021 ryo

Removed little endian dependencies.
Now vmt(4) works on aarch64eb on vmware ESXIonARM.


# 1.2 17-Nov-2020 ryo

branches: 1.2.2;
use aprint_verbose_dev()


# 1.1 27-Oct-2020 ryo

branches: 1.1.2;
move vmt(4) from MD to MI, and add support vmt on aarch64. tested on ESXi-Arm Fling

- move from sys/arch/x86/x86/{vmt.c,vmtreg.h,vmtvar.h} to sys/dev/vmt/{vmt_subr.c,vmtreg.h,vmtvar.h},
and split the attach part of the cpufeaturebus and fdt
- add aarch64 vmware backdoor op
- add include guard to vmt{reg,var}.h
- Yet there is still some little-endian dependency. it needs to be fixed in order to work properly on aarch64eb


# 1.3 27-Mar-2021 ryo

Removed little endian dependencies.
Now vmt(4) works on aarch64eb on vmware ESXIonARM.


Revision tags: thorpej-cfargs-base thorpej-futex-base
# 1.2 17-Nov-2020 ryo

use aprint_verbose_dev()


# 1.1 27-Oct-2020 ryo

branches: 1.1.2;
move vmt(4) from MD to MI, and add support vmt on aarch64. tested on ESXi-Arm Fling

- move from sys/arch/x86/x86/{vmt.c,vmtreg.h,vmtvar.h} to sys/dev/vmt/{vmt_subr.c,vmtreg.h,vmtvar.h},
and split the attach part of the cpufeaturebus and fdt
- add aarch64 vmware backdoor op
- add include guard to vmt{reg,var}.h
- Yet there is still some little-endian dependency. it needs to be fixed in order to work properly on aarch64eb


# 1.2 17-Nov-2020 ryo

use aprint_verbose_dev()


Revision tags: thorpej-futex-base
# 1.1 27-Oct-2020 ryo

move vmt(4) from MD to MI, and add support vmt on aarch64. tested on ESXi-Arm Fling

- move from sys/arch/x86/x86/{vmt.c,vmtreg.h,vmtvar.h} to sys/dev/vmt/{vmt_subr.c,vmtreg.h,vmtvar.h},
and split the attach part of the cpufeaturebus and fdt
- add aarch64 vmware backdoor op
- add include guard to vmt{reg,var}.h
- Yet there is still some little-endian dependency. it needs to be fixed in order to work properly on aarch64eb


# 1.1 27-Oct-2020 ryo

move vmt(4) from MD to MI, and add support vmt on aarch64. tested on ESXi-Arm Fling

- move from sys/arch/x86/x86/{vmt.c,vmtreg.h,vmtvar.h} to sys/dev/vmt/{vmt_subr.c,vmtreg.h,vmtvar.h},
and split the attach part of the cpufeaturebus and fdt
- add aarch64 vmware backdoor op
- add include guard to vmt{reg,var}.h
- Yet there is still some little-endian dependency. it needs to be fixed in order to work properly on aarch64eb