From 82ec1645c6b5b5cea8409348b8e0519cac37595a Mon Sep 17 00:00:00 2001 From: Brad Campbell Date: Mon, 25 Nov 2024 13:07:05 -0500 Subject: [PATCH] kernel attributes: explain their location --- src/doc/kernel_attributes.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/doc/kernel_attributes.md b/src/doc/kernel_attributes.md index cb68d77..1483e61 100644 --- a/src/doc/kernel_attributes.md +++ b/src/doc/kernel_attributes.md @@ -5,6 +5,14 @@ allocated flash region. These attributes describe properties of the flashed kernel on a particular hardware board. External tools can read these attributes to learn about the kernel installed on the board. +The attributes are stored at the end of the kernel's allocated flash region to +help with discoverability. Tock tools generally assume that 1) userspace +applications are installed immediately after the end of the kernel region in +flash, and 2) that the address for the start of userspace applications is known. +By placing the kernel attributes at the end of the kernel flash region, Tock +tools can find the attributes by starting at the start of userspace applications +in flash and working backwards. + ## Format Kernel attributes are stored in a descending TLV (type-length-value) structure.