Remove extra donate transitions which are not in current SPCI spec.
Change-Id: I955f29594d5414d028879cc73ebced73dc13d0c3
diff --git a/src/spci_memory.c b/src/spci_memory.c
index 9907554..e19a115 100644
--- a/src/spci_memory.c
+++ b/src/spci_memory.c
@@ -127,20 +127,6 @@
.to_mode = 0,
},
{
- /* 2) {O-NA, !O-EA} -> {!O-NA, O-EA} */
- .orig_from_mode = MM_MODE_INVALID,
- .orig_to_mode = MM_MODE_UNOWNED,
- .from_mode = MM_MODE_INVALID | MM_MODE_UNOWNED,
- .to_mode = 0,
- },
- {
- /* 3) {O-SA, !O-SA} -> {!O-NA, O-EA} */
- .orig_from_mode = MM_MODE_SHARED,
- .orig_to_mode = MM_MODE_UNOWNED | MM_MODE_SHARED,
- .from_mode = MM_MODE_INVALID | MM_MODE_UNOWNED,
- .to_mode = 0,
- },
- {
/*
* Duplicate of 1) in order to cater for an alternative
* representation of !O-NA:
diff --git a/test/vmapi/primary_with_secondaries/memory_sharing.c b/test/vmapi/primary_with_secondaries/memory_sharing.c
index ac1a1b6..69a43e4 100644
--- a/test/vmapi/primary_with_secondaries/memory_sharing.c
+++ b/test/vmapi/primary_with_secondaries/memory_sharing.c
@@ -1443,13 +1443,14 @@
SPCI_INVALID_PARAMETERS);
}
- /* Ensure we can donate to the only borrower. */
+ /* Ensure we can't donate to the only borrower. */
msg_size = spci_memory_region_init(
mb.send, HF_PRIMARY_VM_ID, SERVICE_VM1, constituents,
ARRAY_SIZE(constituents), 0, 0, SPCI_MEMORY_RW_X,
SPCI_MEMORY_NORMAL_MEM, SPCI_MEMORY_CACHE_WRITE_BACK,
SPCI_MEMORY_OUTER_SHAREABLE);
- EXPECT_EQ(spci_mem_donate(msg_size, msg_size, 0).func, SPCI_SUCCESS_32);
+ EXPECT_SPCI_ERROR(spci_mem_donate(msg_size, msg_size, 0),
+ SPCI_INVALID_PARAMETERS);
}
/**
@@ -1505,13 +1506,14 @@
SPCI_INVALID_PARAMETERS);
}
- /* Ensure we can donate to the only borrower. */
+ /* Ensure we can't donate to the only borrower. */
msg_size = spci_memory_region_init(
mb.send, HF_PRIMARY_VM_ID, SERVICE_VM1, constituents,
ARRAY_SIZE(constituents), 0, 0, SPCI_MEMORY_RW_X,
SPCI_MEMORY_NORMAL_MEM, SPCI_MEMORY_CACHE_WRITE_BACK,
SPCI_MEMORY_OUTER_SHAREABLE);
- EXPECT_EQ(spci_mem_donate(msg_size, msg_size, 0).func, SPCI_SUCCESS_32);
+ EXPECT_SPCI_ERROR(spci_mem_donate(msg_size, msg_size, 0),
+ SPCI_INVALID_PARAMETERS);
}
/**