Skip to content

Guest pc, lr의 data abort 핸들링 이슈 #244

Description

@kim6515516

hyp_hvc_service 루틴에서
srt가 14(lr), 15(pc)인 경우에 대해서 처리가 안 되어 있음.

guest 가 아래 와 같은 어셈블리를 수행하는 중 Data abort 가 발생하면
add pc r0 #(데이타 어보트 주소)

하이퍼바이저가 게스트의 PC, LR 값을 제대로 핸들링 할수 없음.
라즈베리포팅에서 생긴 이슈

enum hyp_hvc_result _hyp_hvc_service(struct arch_regs *regs)
{
,,,,
srt = (iss & ISS_SRT_MASK) >> ISS_SRT_SHIFT;

// 아래코드는 임시방편으로 만든 코드
if (srt == 14)
info.value = &data;
else if (srt == 15)
info.value = &(regs->pc);
else
info.value = &(regs->gpr[srt]);

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions