|
From: | Richard Henderson |
Subject: | Re: [PATCH] target/s390x: Move trans_exc_code update to do_program_interrupt |
Date: | Mon, 31 Jul 2023 07:55:52 -0700 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0 |
On 7/31/23 01:26, Ilya Leoshkevich wrote:
+ case PGM_PROTECTION: + case PGM_TRANS_SPEC: + assert(env->int_pgm_code == env->tlb_fill_exc); + set_trans_exc_code = true; + advance = true; + break;These exceptions came from seeing an early kernel fault, grepping for the set of exceptions raised in mmu_helper.c, and eliminating PGM_ADDRESSING per the first hunk.Does POp specify that the CPU stores Translation-Exception Identification on Translation-Specification Exceptions (PGM_TRANS_SPEC)? I re-read the 0xA8 documentation a few times, but could not find it.
Neither could I.
It's also interesting what the kernel was attempting when it got PGM_TRANS_SPEC and recovered from it. Maybe something else is wrong?
I think the kernel was testing PGM_PROTECTION, to see if LowCore protection worked.But since that one wasn't listed for 0xA8 either, I preserved previous behaviour in setting trans_exc_code for all mmu exceptions except for PGM_ADDRESSING.
r~
[Prev in Thread] | Current Thread | [Next in Thread] |