class PhysBootTimes
Defined at line 57 of file ../../zircon/kernel/phys/include/phys/handoff.h
This holds arch::EarlyTicks timestamps collected by physboot before the
kernel proper is cognizant. Once the platform timer hardware is set up for
real, platform_convert_early_ticks translates these values into zx_instant_mono_ticks_t
values that can be published as kcounters and then converted to actual time
units in userland via zx_ticks_per_second().
platform_convert_early_ticks returns zero if arch::EarlyTicks samples cannot
be accurately converted to zx_instant_mono_ticks_t. This can happen on suboptimal x86
hardware, where the early samples are in TSC but the platform timer decides
that a synchronized and monotonic TSC is not available on the machine.
Public Methods
arch::EarlyTicks Get (Index i)
Defined at line 72 of file ../../zircon/kernel/phys/include/phys/handoff.h
void Set (Index i, arch::EarlyTicks ts)
Defined at line 74 of file ../../zircon/kernel/phys/include/phys/handoff.h
void SampleNow (Index i)
Defined at line 76 of file ../../zircon/kernel/phys/include/phys/handoff.h
Enumerations
enum Index
| Name | Value |
|---|---|
| kZbiEntry | 0 |
| kPhysSetup | 1 |
| kDecompressStart | 2 |
| kDecompressEnd | 3 |
| kZbiDone | 4 |
| kCount | 5 |
These are various time points sampled during physboot's work.
kernel/top/handoff.cc has a kcounter corresponding to each of these.
When a new time point is added here, a new kcounter must be added
there to make that sample visible anywhere.
Defined at line 63 of file ../../zircon/kernel/phys/include/phys/handoff.h