Multi layered virtual sequences and grabbing a sequencer


I am interested in the method that will enable me to grab a sequencer from a high hierarchy level virtual sequence and pass the permissions that the high level sequence got on the sequencer to a lower level hierarchy sequence.

My use case is interrupt handler sequence that uses register model, and call to other sequences that also use the register model.

The high level sequencer can get a grab without a problem like this:

map_of_regmodel = regmodel.get_default_map();
core_bus_sequencer = map_of_regmodel.get_sequencer();

However, when that sequence is running a sub sequence that also uses the register model, the sequence hangs.

I guess that there is no link from the sequencer point of view that the lower virtual sequence is a son of the high level sequence, so my question is how to communicate this link to the sequencer.

In reply to Lior Grinzaig:

OK, after some digging into the sequencer code, the way to achieve this is to use one of the optional inputs of the sequence start method.

So, instead of running:

You should run:
sequence.start(.sequencer(sequencer), .parent_sequence(this));