diff options
author | Bin Lu <bin.lu@arm.com> | 2019-11-26 15:32:45 +0800 |
---|---|---|
committer | Bin Lu <bin.lu@arm.com> | 2019-11-26 15:32:55 +0800 |
commit | e91c1675cd49254936d04f01b814a0cd802ff6de (patch) | |
tree | d90e850495e25fbc5b3cfddaed2de12f1bc71d24 /pkg/sentry/platform | |
parent | b72e1b3c0873ea29d031db42e39ca053923eecff (diff) |
passed the kvm test case of "TestKernelFault" on Arm64 platform
Signed-off-by: Bin Lu <bin.lu@arm.com>
Diffstat (limited to 'pkg/sentry/platform')
-rw-r--r-- | pkg/sentry/platform/ring0/entry_arm64.s | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/pkg/sentry/platform/ring0/entry_arm64.s b/pkg/sentry/platform/ring0/entry_arm64.s index 29c475882..0ba4c6b73 100644 --- a/pkg/sentry/platform/ring0/entry_arm64.s +++ b/pkg/sentry/platform/ring0/entry_arm64.s @@ -385,6 +385,16 @@ TEXT ·El1_sync(SB),NOSPLIT,$0 B el1_invalid el1_da: + WORD $0xd538d092 //MRS TPIDR_EL1, R18 + WORD $0xd538601a //MRS FAR_EL1, R26 + + MOVD R26, CPU_FAULT_ADDR(RSV_REG) + + MOVD $0, CPU_ERROR_TYPE(RSV_REG) + + MOVD $PageFault, R3 + MOVD R3, CPU_VECTOR_CODE(RSV_REG) + B ·Halt(SB) el1_ia: |