Starting with uvm 1.2, needs_update() of uvm_reg_field returns 1 for volatile fields. So after randomize on the register model, uvm_reg_field now thinks that volatile fields are to be updated, which doesn't work when the underlaying protocol doesn't allow writing to such fields.
What am I missing, ie why does uvm 1.2 force update of volatile registers/fields?
Erling