On 07/15/2012 03:16 PM, Catalin Marinas wrote: > > The AArch32 execution mode is optional, so it depends on the actual CPU > implementation (while AArch64 is mandatory). If the implementation > supports it, the most likely scenario for AArch32 at kernel level is in > virtual machines or the secure OS. I'll explain below why. > > The exception (or privilege) levels on an ARMv8 architecture look like > this: > > Secure World Normal World > +-----+ > | EL3 | - Secure monitor > +-----+ > +-----+ > | EL2 | - Hypervisor (normal world only) > +-----+ > +-----+ +-----+ > | EL1 | | EL1 | - OS kernel (secure or normal) > +-----+ +-----+ > +-----+ +-----+ > | EL0 | | EL0 | - User apps (secure or normal) > +-----+ +-----+
Can the same kernel image run in both EL1 and EL2? I noticed some .if ELs in the assembler files. I guess they could be compiled multiple times and the correct version chosen at runtime, or patched up like x86 does with alternative(). One of the advantages kvm has to Linux distributors is that the same kernel image can be used the hypervisor, guest, and bare metal. I'd like to preserve that for arm64. -- error compiling committee.c: too many arguments to function -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/