Skip to content

arm64/kvm: common ESR_ELx definitions and decoding

Christoffer Dall linux-arm-kernel 3 versions – New

Get series with b4
b4 am CAMJs5B-Kp1Qs4RcySHUKBD=nb04vjfcxm=Sa5m1GECwFEU8W=g@mail.gmail.com

Versions newest first · linked by author and title

  1. v2 Latest posting 3/30 of 7 patches 0 repliesNew
  2. v2 posting 2/30 of 7 patches 0 repliesSuperseded
  3. v2 posting 1/30 of 7 patches 0 repliesSuperseded

Patches in v2 posting 3/3 No applies recorded yet

None of the 7 patches the cover letter announces are in this archive.

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v2 yet.

Read the v2 thread

Cover letter [PATCHv2 0/7] arm64/kvm: common ESR_ELx definitions and decoding
Quoted 46 lines · Catalin Marinas
Quoted 30 lines · Christoffer Dall
Quoted 29 lines · Mark Rutland
Quoted 27 lines · Christoffer Dall
Quoted 12 lines · Mark Rutland

Currently we have two sets of macros used for ESR_ELx handling, one used by core arm64 code and the other used by KVM. These differ slightly in naming convention and style of definition.

This patch series introduces and migrates all users to a common set of macros for ESR_ELx handling, preventing further drift.

Additionally this series adds exception class decoding when reporting exceptions, saving deveopers from having to perform tedious mental arithmetic to figure out what the likely cause of an unexpected exception was.

Quoted 8 lines

Since v1 [1]:
* Reorder patches to maintain KVM bisectability.
* Fix bad definitions (ESR_ELx_SAS and ESR_ELx_FSC_PERM).
* Introcuce ESR_ELx_SAS_SHIFT and undo bad rework of kvm_vcpu_dabt_get_as.
* Make "Unallocated EC" comments consistent in ESR_ELx_EC_* definition list.

For the series:

I also tested this with KVM on APM XGene and Juno with UEFI+Linux as a guest.

Quoted 6 lines
Quoted 4 lines

Thanks, Christoffer. It's much appreciated.

Catalin, Christoffer, do you have a preferred path for merging this? Should this go through the arm64 or KVM tree as a whole?

Would make sense to merge it as whole.

Indeed.

Quoted 5 lines

I don't care which path, let's
just minimize conflicts. For big things, I have GICv3, dirty page logging, and Marc's fixes, but they shouldn't touch much of the same code (maybe the same files, but I don't think the same lines), so it's up to you Catalin?

Quoted 4 lines

I don't have a strong preference but since Christoffer doesn't have one either, I'll merge them via the arm64 tree (there are 4 arm64 patches vs 3 kvm ones ;)).

great, thanks!