Enumerations

enum class VdsoVariant
Name Value
STABLE 0
NEXT 1
TEST1 2
TEST2 3
COUNT 4

This is only here for the count. No userboot code cares which is which

except that the stable (default) variant is first and that kLastVdso (below)

is correct.

Defined at line 24 of file ../../zircon/kernel/lib/userabi/include/lib/userabi/userboot.h

enum HandleIndex : uint32_t
Name Value Comments
kProcSelf 0

These describe userboot itself.

kVmarRootSelf 1

These describe userboot itself.

kThreadSelf 2

These describe userboot itself.

kRootJob 3

Essential job and resource handles.

kMmioResource 4

Essential job and resource handles.

kIrqResource 5

Essential job and resource handles.

kIoportResource 6 --
kSystemResource 7 --
kZbi 8

Essential VMO handles.

kFirstVdso 9

Essential VMO handles.

kLastVdso kFirstVdso + kNumVdsoVariants - 1

Essential VMO handles.

kCrashlog 13

These get passed along to userland to be recognized by ZX_PROP_NAME.
The remainder are VMO handles that userboot doesn't care about.

kFirstKernelFile kCrashlog

These get passed along to userland to be recognized by ZX_PROP_NAME.
The remainder are VMO handles that userboot doesn't care about.

kBootOptions 14

These get passed along to userland to be recognized by ZX_PROP_NAME.
The remainder are VMO handles that userboot doesn't care about.

kCounterNames 15

These get passed along to userland to be recognized by ZX_PROP_NAME.
The remainder are VMO handles that userboot doesn't care about.

kCounters 16

These get passed along to userland to be recognized by ZX_PROP_NAME.
The remainder are VMO handles that userboot doesn't care about.

kMidrTxt 17

These get passed along to userland to be recognized by ZX_PROP_NAME.
The remainder are VMO handles that userboot doesn't care about.

kTimeValues 18

These get passed along to userland to be recognized by ZX_PROP_NAME.
The remainder are VMO handles that userboot doesn't care about.

kFirstInstrumentationData 19 --
kFirstExtraPhysVmo kFirstInstrumentationData + InstrumentationData::vmo_count() --
kLastExtraPhysVmo kFirstExtraPhysVmo + PhysVmo::kMaxExtraHandoffPhysVmos - 1 --
kLastKernelFile kLastExtraPhysVmo --
kVmarLoaded 27

userboot relies on kVmarLoaded being the last one.

kHandleCount 28

userboot relies on kVmarLoaded being the last one.

The handles in the bootstrap message are as follows:

Defined at line 29 of file ../../zircon/kernel/lib/userabi/include/lib/userabi/userboot.h