@@ -25,25 +25,8 @@ namespace
2525{
2626
2727bool
28- validateResolvedTrainPacket (const ResolvedTrainPacket &packet,
29- const FetchTarget &target,
30- unsigned numComponents)
28+ validateResolvedTrainPacket (const ResolvedTrainPacket &packet)
3129{
32- if (packet.numPredMetas > packet.predMetas .size ()) {
33- return false ;
34- }
35-
36- if (numComponents > packet.predMetas .size () ||
37- packet.numPredMetas != numComponents) {
38- return false ;
39- }
40-
41- for (unsigned i = 0 ; i < numComponents; ++i) {
42- if (packet.predMetas [i] != target.predMetas [i]) {
43- return false ;
44- }
45- }
46-
4730 uint8_t lastOffset = 0 ;
4831 Addr lastPc = 0 ;
4932 bool firstBranch = true ;
@@ -718,7 +701,7 @@ DecoupledBPUWithBTB::resolveTrain(
718701 return false ;
719702 }
720703
721- if (!validateResolvedTrainPacket (packet, target, numComponents )) {
704+ if (!validateResolvedTrainPacket (packet)) {
722705 DPRINTF (DecoupleBP,
723706 " Resolve-train packet validation failed: id=%lu generation=%lu tid=%u\n " ,
724707 packet.target .id , packet.target .generation , tid);
@@ -731,13 +714,13 @@ DecoupledBPUWithBTB::resolveTrain(
731714 packet.realBranches .size ());
732715
733716 for (int i = 0 ; i < numComponents; ++i) {
734- if (!components[i]->canResolveTrain (packet)) {
717+ if (!components[i]->canResolveTrain (packet, target )) {
735718 return false ;
736719 }
737720 }
738721
739722 for (int i = 0 ; i < numComponents; ++i) {
740- components[i]->resolveTrain (packet);
723+ components[i]->resolveTrain (packet, target );
741724 }
742725
743726 return true ;
0 commit comments