Skip to content
Snippets Groups Projects
  1. Nov 25, 2023
    • Marvin Häuser's avatar
      simulator: fix variadic iteration UB · 0e1e8c65
      Marvin Häuser authored
      The current logic calls va_arg() once after the actual last argument has
      been retrieved. While this should usually not cause real-world problems,
      it is undefined behaviour caught by AddressSanitizer.
      0e1e8c65
  2. Jan 05, 2023
  3. Mar 25, 2022
  4. Mar 09, 2022
    • Sophie Coudert's avatar
      Definitions.h · eec22a69
      Sophie Coudert authored
      --------------
      Ajout de constantes pour les types de transaction:
      
      // length has not been computed
      // length has been computed
      
      Transaction.h
      --------------
      Ajout d'un nouveau protected attribut et de ses accès:
      unsigned int _transType
      inline void setTransType(byte i) {_transType=i;}
      inline byte getTransType() {return _transType;}
      Rectification du calcul de endTime pour les transactions bus
      !!WARNING: nonsens si _transtype est BUS_TRANS_NoLength
      
      SingleCoreCPU.cpp
      ----------------
      Mise à jour de _nexttransaction->transType dans calcStartTimeLength
      Révision du starttime des transactions bus
      Restriction de truncateAndAddNextTrans aux nonComm transactions
      Ajout du calcul de longueur des transactions bus dans getNextTrans.
      Rectification des calculs de longueur virtuelle à un arrondi supérieur plutôt
      qu'inférieur.
      ajout du nouvel algorithme (protected):
      void truncateNextTrans(TMLTime iTime);
      
      MultiCoreCPU.cpp
      -----------------
      Report des modifs de SingleCore.cpp, à l'identique.
      
      BusMaster.h:
      ------------
      ajout de l'export:
      	//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
      	inline SchedulableCommDevice* getNextBus() {return _nextBus;}
      pour le rendre accessible au nouveaux (truncateNextTrans, CPU::addtrans)
      
      Bus.h:
      ------
      sorti des protected:
      	void calcStartTimeLength(TMLTime iTimeSlice) const;
      pour le rendre accessible au nouvel algo (truncateNextTrans)
      ajout de calcLength() dans les exportés
      
      Bus.cpp:
      --------
      correction de la mise à jour du StartTime dans calcStartTimeLength
      deplacement du calcul de longueur de calcStartTimeLength vers nouvelle
      méthode calcLength.
      déplacement de la prise en compte du burstsize de schedule vers
      calcStartTimeLength
      
      SchedulableCommDevice.h:
      ------------------------
      ajout de l'export:
      	virtual void calcStartTimeLength(TMLTime iTimeSlice) const=0;
      pour le rendre accessible aux nouveaux algos
      (truncateNextTrans, xxxCPU:addtrans)
      
      TMLChannel.h/.cpp
      ------------------
      ajout d'une methode isLastMaster qui teste sans faire avancer le master courrant.
      
      Simulator.cpp
      --------------
      ligne 1101, remplacement de depNextTrans=depCPU->getNextTransaction();
      par depNextTrans=depCPU->SchedulableDevice::getNextTransaction();
      pour ne pas rater les transactions bus not granted...
      eec22a69
  5. Feb 24, 2022
  6. Jan 18, 2021
  7. Oct 11, 2020
  8. Oct 09, 2020
  9. Sep 23, 2020
  10. Aug 20, 2020
  11. Jul 14, 2020
  12. Jul 07, 2020
  13. Mar 05, 2020
  14. Feb 27, 2020
  15. Feb 20, 2020
  16. Oct 09, 2019
  17. Oct 03, 2019
  18. Oct 02, 2019
  19. Sep 30, 2019
  20. Sep 27, 2019
  21. Sep 25, 2019
  22. Aug 26, 2019
  23. Jul 26, 2019
  24. Jul 19, 2019
  25. Jul 17, 2019
  26. Jul 16, 2019
  27. Jul 10, 2019
  28. Jul 05, 2019
  29. Jul 02, 2019
  30. Jun 28, 2019
  31. Jun 27, 2019
  32. Jun 25, 2019
  33. Jun 17, 2019
  34. Jun 14, 2019
Loading