Skip to content

Commit 7931dc1

Browse files
authored
Merge pull request #338 from ved-rivos/0531_2
Stop Marker are not auto-resp
2 parents d0bab6b + 4492976 commit 7931dc1

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

iommu_ref_model/libiommu/src/iommu_ats.c

+4-2
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ handle_page_request(
101101
device_context_t DC;
102102
page_rec_t prec;
103103
uint8_t DDI[3];
104-
uint8_t L;
104+
uint8_t L, R, W;
105105
uint16_t PRGI;
106106
uint32_t device_id, cause, status, response_code, PRPR;
107107
uint64_t prec_addr;
@@ -319,9 +319,11 @@ handle_page_request(
319319
// The status is set to Success if no other faults were encountered but the
320320
// "Page Request" could not be queued due to the page-request queue being full
321321
// (pqh == pqt - 1) or had a overflow (pqcsr.pqof == 1).
322+
R = get_bits(0, 0, pr->PAYLOAD);
323+
W = get_bits(1, 1, pr->PAYLOAD);
322324
L = get_bits(2, 2, pr->PAYLOAD);
323325
PRGI = get_bits(11, 3, pr->PAYLOAD);
324-
if ( L == 0 ) {
326+
if ( L == 0 || (L == 1 && R == 0 && W == 0) ) {
325327
return;
326328
}
327329
prgr.MSGCODE = PRGR_MSG_CODE;

0 commit comments

Comments
 (0)