(old) htmldiff from-(new)

PSSBB

Physical Speculative Store Bypass Barrier is a memory barrier which prevents speculative loads from bypassing earlier stores to the same physical address.

The semantics of the Physical Speculative Store Bypass Barrier are:

313029282726252423222120191817161514131211109876543210
11010101000000110011010010011111
CRmopc

System

PSSBB

MemBarrierOp op; MBReqDomain domain; MBReqTypes types; case opc of when '00' op = MemBarrierOp_DSB; when '01' op = MemBarrierOp_DMB; when '10' op = MemBarrierOp_ISB; otherwise if HaveSBExt() && CRm<3:0> == '0000' then op = MemBarrierOp_SB; else UNDEFINED; case CRm<3:2> of when '00' domain = MBReqDomain_OuterShareable; when '01' domain = MBReqDomain_Nonshareable; when '10' domain = MBReqDomain_InnerShareable; when '11' domain = MBReqDomain_FullSystem; case CRm<1:0> of when '01' types = MBReqTypes_Reads; when '10' types = MBReqTypes_Writes; when '11' types = MBReqTypes_All; otherwise if CRm<3:2> == '01' then op = MemBarrierOp_PSSBB; elsif CRm<3:2> == '00' && opc == '00' then op = MemBarrierOp_SSBB; elsif HaveSBExt() && CRm<3:2> == '00' && opc == '11' then op = MemBarrierOp_SB; else types = MBReqTypes_All; domain = MBReqDomain_FullSystem// No additional decoding required;

Operation

case op of when MemBarrierOp_DSBDataSynchronizationBarrier(domain, types); when MemBarrierOp_DMBDataMemoryBarrier(domain, types); when MemBarrierOp_ISBInstructionSynchronizationBarrier(); when MemBarrierOp_SSBBSpeculativeStoreBypassBarrierToVA(); when MemBarrierOp_PSSBBSpeculativeStoreBypassBarrierToPA(); when MemBarrierOp_SBSpeculationBarrier();


Internal version only: isa v30.41v30.3, AdvSIMD v27.08v27.04, pseudocode r8p5_00bet2_rc5v85-xml-00bet9_rc1_1, sve v8.5-00bet10_rc5v8.5-00bet9_rc1 ; Build timestamp: 2019-03-28T062018-12-12T11:3450

Copyright © 2010-20192010-2018 Arm Limited or its affiliates. All rights reserved. This document is Non-Confidential.

(old) htmldiff from-(new)