blob: 812e0a52d190fecf50cf82fd7f9c9effc2ebdb1c [file] [log] [blame] [view] [edit]
# Fuchsia Virtualization
This directory contains the userspace portions of the Fuchsia Virtualization
stack. For a high level overview of Fuchsia Virtualization, see [Virtualization
Overview][ref.virtualization_overview].
If you just want to start using Virtualization, see [Getting
Started][ref.virtualization_get_started].
# Monitor Guest exit statistics
`kstats -v` can print the number of Guest exits per second and the reason. For
example, the output on ARM64 appears as follows:
```none
cpu vm_entry vm_exit inst_abt data_abt wfx_inst sys_inst smc_inst ints
0 43 43 0 6 27 1 0 9
1 226 225 0 111 3 17 0 94
2 109 109 0 60 8 7 0 35
3 58 58 0 21 12 2 0 23
```
The fields in the output are as follows:
- `inst_abt`: The amount of instruction abort exit.
- `data_abt`: The amount of data abort exit.
- `wfx_inst`: The amount of instruction wfe/wfi exit.
- `sys_inst`: The amount of systen register access exit.
- `smc_inst`: The amount of instruction smc exit.
- `ints` : The amount of interrupt exit.
For `x64`, the output is as follows:
```none
cpu vm_entry vm_exit ints ints_win ept ctrl_reg msr(rd wr) inst(io hlt cpuid ple vmcall xsetbv)
0 40 40 10 0 0 0 10 10 5 5 0 0 0 0
```
With the following fields:
- `ints` : The amount of interrupt exit.
- `ints_win` : The amount of interrupt window exit.
- `ept` : The amount of EPT violation exit.
- `ctrl_reg` : The amount of control register(CRx) access exit.
- `msr` : The amount of MSR register access exit (`rd/wr` is read/write).
- `inst` : the amount of some kinds of instruction exit.
[ref.virtualization_overview]:
https://fuchsia.dev/fuchsia-src/development/virtualization/overview
[ref.virtualization_get_started]:
https://fuchsia.dev/fuchsia-src/development/virtualization/get_started