Re: [PATCH 00/36] AArch64 Linux kernel port

From: Avi Kivity
Date: Mon Jul 16 2012 - 04:25:03 EST


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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/