/* SPDX-License-Identifier: MIT */ #define SPTM_USER_UPDATE_TEST_MAIN user_update_fixture_checks #include "test-user-update.c" static uint64_t held_refs; static unsigned held_checks; static int prepare_replacement(void *ctx,uint64_t root,uint64_t va,unsigned shift, uint64_t old,uint64_t next) { if(!prepare_update(ctx,root,va,shift,old,next))return 0; if(sprr_pte_class(next)==9 && sprr_pte_class(old)!=9) { for(uint64_t off=0;off<(1UL<>4)&12)|((pte>>53)&3)); struct mmu_config source={shift,17,ROOT};struct mmu_leaf leaf; CHECK(!mmu_walk(&source,va,read64,0,&leaf) && leaf.valid && leaf.descriptor==pte); if(cls!=9) {views(va,pa,shift,pte);return;} for(unsigned cpu=0;cpu<6;cpu++)for(uint64_t off=0;off<(1UL<