많은 양의 데이터를 디스크에 쓸 수 있어야하는 UEFI 응용 프로그램을 작성하고 있습니다. FAT-32 파일 크기 제한 및 디렉토리 당 파일 수 등을 알고 있습니다. 문제가되지 않아야합니다. 내가 쓰려고하는 메모리 영역은 메모리 맵에서 사용할 수있는 것으로 표시되어 있으며 문제없이 읽기/쓰기가 가능하지만 일정량의 데이터가 기록 된 후 VM은 오류 메시지없이 다시 부팅됩니다. 다음 줄에 문제가 있습니다 :EFI_FILE_HANDLE-> 약 3.4를 쓰면 충돌이 발생합니다. GiB
uefi_call_wrapper(handle->Write, 3, handle, size, content);
핸들이 몇 줄의 이전 초기화되고, 크기는 항상 최대 128MiB 및 콘텐츠 읽기/쓰기 액세스 권한이있는 유효한 메모리 영역이다. 나는 이미 EDK2를 사용하여 Windows에서 전체를 다시 작성했으며 동일한 문제가 발생했습니다.
아무도 도와 줄 수 있습니까? 미리 감사하고 멋진 저녁을 보내십시오.
어떤 오류가 발생하고 있습니까? –
나는 어떤 에러도 내지 않는다. 단지 VM이 재부팅되고 실제 hw에서만 멈추고 아무 일도 일어나지 않는다. – AlexRoot
'handle'의 타입은 무엇입니까? 쓰기는 작은 크기로 호출 할 때 작동합니까? 실패하기 시작하는 크기는 얼마입니까? 재부팅이 쓰기 호출 내에서 발생했는지, 반환 된 후 재부팅이 발생하지 않았습니까? – prl