On 4 January 2018 at 17:04, Marc Zyngier <marc.zyng...@arm.com> wrote: > On 04/01/18 16:28, Ard Biesheuvel wrote: >> On 4 January 2018 at 15:08, Will Deacon <will.dea...@arm.com> wrote: >>> From: Marc Zyngier <marc.zyng...@arm.com> >>> >>> Now that we have per-CPU vectors, let's plug then in the KVM/arm64 code. >>> >> >> Why does bp hardening require per-cpu vectors? > > The description is not 100% accurate. We have per *CPU type* vectors. > This stems from the following, slightly conflicting requirements: > > - We have systems with more than one CPU type (think big-little) > - Different implementations require different BP hardening sequences > - The BP hardening sequence must be executed before doing any branch > > The natural solution is to have one set of vectors per CPU type, > containing the BP hardening sequence for that particular implementation, > ending with a branch to the common code. >
Crystal clear, thanks.