1 = Payload Start Routine = 2 3 The `lib/start.S` file contains the start-up routine for a deployed payload. 4 Its responsibilities are as follows: 5 6 1. To enable caching, if available. 7 1. To initialise a kernel stack for privileged routines to use. 8 1. To set up the globals pointer so that symbols can be looked up. 9 1. To [[../payload|initialise payload data]]. 10 1. To enter the main program of the payload. 11 12 The start-up routine is positioned in the `.boot` section of the payload. 13 14 Alongside the start-up routine are definitions of device configuration 15 registers: `.devcfg0`, `.devcfg1` and `.devcfg2`. The actual values set for 16 these registers should be defined in an application's `devconfig.h` file.