X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;ds=sidebyside;f=Documentation%2Farm%2FBooting;h=0c1f475fdf36e140d28bcdc26d880546f8a8bdc4;hb=35fd3dc58da675d659513384221349ef90749a01;hp=a341d87d276eb1bf3904aec38896f87174b36561;hpb=538d2882213ef4f076108f3edda2c39a584c4c2b;p=~andy%2Flinux diff --git a/Documentation/arm/Booting b/Documentation/arm/Booting index a341d87d276..0c1f475fdf3 100644 --- a/Documentation/arm/Booting +++ b/Documentation/arm/Booting @@ -154,13 +154,33 @@ In either case, the following conditions must be met: - CPU mode All forms of interrupts must be disabled (IRQs and FIQs) - The CPU must be in SVC mode. (A special exception exists for Angel) + + For CPUs which do not include the ARM virtualization extensions, the + CPU must be in SVC mode. (A special exception exists for Angel) + + CPUs which include support for the virtualization extensions can be + entered in HYP mode in order to enable the kernel to make full use of + these extensions. This is the recommended boot method for such CPUs, + unless the virtualisations are already in use by a pre-installed + hypervisor. + + If the kernel is not entered in HYP mode for any reason, it must be + entered in SVC mode. - Caches, MMUs The MMU must be off. Instruction cache may be on or off. Data cache must be off. + If the kernel is entered in HYP mode, the above requirements apply to + the HYP mode configuration in addition to the ordinary PL1 (privileged + kernel modes) configuration. In addition, all traps into the + hypervisor must be disabled, and PL1 access must be granted for all + peripherals and CPU resources for which this is architecturally + possible. Except for entering in HYP mode, the system configuration + should be such that a kernel which does not include support for the + virtualization extensions can boot correctly without extra help. + - The boot loader is expected to call the kernel image by jumping directly to the first instruction of the kernel image.