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