On 9/23/19 10:10 AM, Thomas Huth wrote: > On 20/09/2019 10.10, David Hildenbrand wrote: >> On 20.09.19 09:50, Janosch Frank wrote: >>> Alignment and selectors test order is not specified and so, if you >>> have an unaligned address and invalid selectors it's up to the >>> hypervisor to decide which error is presented. >>> >>> Let's add valid selectors to the unaligned test and add selector >>> tests. >>> >>> Signed-off-by: Janosch Frank <frankja@xxxxxxxxxxxxx> >>> --- >>> s390x/stsi.c | 4 +++- >>> 1 file changed, 3 insertions(+), 1 deletion(-) >>> >>> diff --git a/s390x/stsi.c b/s390x/stsi.c >>> index 7232cb0..c5bd0a2 100644 >>> --- a/s390x/stsi.c >>> +++ b/s390x/stsi.c >>> @@ -35,7 +35,7 @@ static void test_specs(void) >>> >>> report_prefix_push("unaligned"); >>> expect_pgm_int(); >>> - stsi(pagebuf + 42, 1, 0, 0); >>> + stsi(pagebuf + 42, 1, 1, 1); >>> check_pgm_int_code(PGM_INT_CODE_SPECIFICATION); >>> report_prefix_pop(); >>> >>> @@ -71,6 +71,8 @@ static inline unsigned long stsi_get_fc(void *addr) >>> static void test_fc(void) >>> { >>> report("invalid fc", stsi(pagebuf, 7, 0, 0) == 3); > > While you're at it, wouldn't it be better to use "(pagebuf, 7, 1, 1)" here? The selectors depend on the command, so they need to be checked after the command. I don't think it would make much sense to change the zeroes here. > > Thomas > > >>> + report("invalid selector 1", stsi(pagebuf, 1, 0, 1) == 3); >>> + report("invalid selector 2", stsi(pagebuf, 1, 1, 0) == 3); >>> report("query fc >= 2", stsi_get_fc(pagebuf) >= 2); >>> } >>> >>> >> >> Acked-by: David Hildenbrand <david@xxxxxxxxxx> >> >
Attachment:
signature.asc
Description: OpenPGP digital signature