Paolo Bonzini <pbonzini@xxxxxxxxxx> wrote: > On 10/01/2018 18:14, Jim Mattson wrote: >>>> If (a) is true, does "IBRS ALL THE TIME" usage is basically a CPU >>>> change to just create all BTB/BHB entries to be tagged with >>>> prediction-mode at creation-time and that tag to be compared to current >>>> prediction-mode when CPU attempts to use BTB/BHB? >>> >>> I hope so, and I hope said prediction mode includes PCID/VPID too. >> >> Branch prediction entries should probably be tagged with PCID, VPID, >> EP4TA, and thread ID...the same things used to tag TLB contexts. > > But if so, I don't see the need for IBPB. It is highly improbable that a microcode patch can change how prediction entries are tagged. IIRC, microcode may change the behavior of instructions and “assists" (e.g., TLB miss). Not much more than that.