When the initarm_* routines were renamed to platform_* and moved to their

own header file, the lovely block of comments explaining what the generic
init code expects of the soc implementations got lost, restore it.
This commit is contained in:
Ian Lepore 2014-08-17 02:56:58 +00:00
parent 93f6c1b54f
commit 6a3fc532ab
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=270081

View File

@ -29,6 +29,34 @@
#ifndef _MACHINE_PLATFORM_H_
#define _MACHINE_PLATFORM_H_
/*
* Initialization functions called by the common initarm() function in
* arm/machdep.c (but not necessarily from the custom initarm() functions of
* older code).
*
* - platform_probe_and_attach() is called very early, after parsing the boot
* params and after physical memory has been located and sized.
*
* - platform_devmap_init() is called as one of the last steps of early virtual
* memory initialization, shortly before the new page tables are installed.
*
* - platform_lastaddr() is called after platform_devmap_init(), and must return
* the address of the first byte of unusable KVA space. This allows a
* platform to carve out of the top of the KVA space whatever reserves it
* needs for things like static device mapping, and this is called to get the
* value before calling pmap_bootstrap() which uses the value to size the
* available KVA.
*
* - platform_gpio_init() is called after the static device mappings are
* established and just before cninit(). The intention is that the routine
* can do any hardware setup (such as gpio or pinmux) necessary to make the
* console functional.
*
* - platform_late_init() is called just after cninit(). This is the first of
* the init routines that can use printf() and expect the output to appear on
* a standard console.
*
*/
void platform_probe_and_attach(void);
int platform_devmap_init(void);
vm_offset_t platform_lastaddr(void);