base.cc (12812:8f14879aebe1) base.cc (12844:c934a1338314)
1/*
2 * Copyright (c) 2012-2013, 2016-2018 ARM Limited
3 * All rights reserved
4 *
5 * The license below extends only to copyright in the software and shall
6 * not be construed as granting a license to any other intellectual
7 * property including but not limited to intellectual property relating
8 * to a hardware implementation of the functionality of the software

--- 306 unchanged lines hidden (view full) ---

315 retryTicks
316 .name(name() + ".retryTicks")
317 .desc("Time spent waiting due to back-pressure (ticks)");
318}
319
320std::shared_ptr<BaseGen>
321BaseTrafficGen::createIdle(Tick duration)
322{
1/*
2 * Copyright (c) 2012-2013, 2016-2018 ARM Limited
3 * All rights reserved
4 *
5 * The license below extends only to copyright in the software and shall
6 * not be construed as granting a license to any other intellectual
7 * property including but not limited to intellectual property relating
8 * to a hardware implementation of the functionality of the software

--- 306 unchanged lines hidden (view full) ---

315 retryTicks
316 .name(name() + ".retryTicks")
317 .desc("Time spent waiting due to back-pressure (ticks)");
318}
319
320std::shared_ptr<BaseGen>
321BaseTrafficGen::createIdle(Tick duration)
322{
323 return std::shared_ptr(new IdleGen(*this, duration));
323 return std::shared_ptr<BaseGen>(new IdleGen(*this, masterID, duration));
324}
325
326std::shared_ptr<BaseGen>
327BaseTrafficGen::createExit(Tick duration)
328{
324}
325
326std::shared_ptr<BaseGen>
327BaseTrafficGen::createExit(Tick duration)
328{
329 return std::shared_ptr(new ExitGen(*this, duration));
329 return std::shared_ptr<BaseGen>(new ExitGen(*this, masterID, duration));
330}
331
332std::shared_ptr<BaseGen>
333BaseTrafficGen::createLinear(Tick duration,
334 Addr start_addr, Addr end_addr, Addr blocksize,
335 Tick min_period, Tick max_period,
336 uint8_t read_percent, Addr data_limit)
337{
330}
331
332std::shared_ptr<BaseGen>
333BaseTrafficGen::createLinear(Tick duration,
334 Addr start_addr, Addr end_addr, Addr blocksize,
335 Tick min_period, Tick max_period,
336 uint8_t read_percent, Addr data_limit)
337{
338 return std::shared_ptr(new LinearGen(*this,
338 return std::shared_ptr<BaseGen>(new LinearGen(*this, masterID,
339 duration, start_addr,
340 end_addr, blocksize,
339 duration, start_addr,
340 end_addr, blocksize,
341 system->cacheLineSize(),
341 min_period, max_period,
342 read_percent, data_limit));
343}
344
345std::shared_ptr<BaseGen>
346BaseTrafficGen::createRandom(Tick duration,
347 Addr start_addr, Addr end_addr, Addr blocksize,
348 Tick min_period, Tick max_period,
349 uint8_t read_percent, Addr data_limit)
350{
342 min_period, max_period,
343 read_percent, data_limit));
344}
345
346std::shared_ptr<BaseGen>
347BaseTrafficGen::createRandom(Tick duration,
348 Addr start_addr, Addr end_addr, Addr blocksize,
349 Tick min_period, Tick max_period,
350 uint8_t read_percent, Addr data_limit)
351{
351 return std::shared_ptr(new RandomGen(*this,
352 return std::shared_ptr<BaseGen>(new RandomGen(*this, masterID,
352 duration, start_addr,
353 end_addr, blocksize,
353 duration, start_addr,
354 end_addr, blocksize,
355 system->cacheLineSize(),
354 min_period, max_period,
355 read_percent, data_limit));
356}
357
358std::shared_ptr<BaseGen>
359BaseTrafficGen::createDram(Tick duration,
360 Addr start_addr, Addr end_addr, Addr blocksize,
361 Tick min_period, Tick max_period,
362 uint8_t read_percent, Addr data_limit,
363 unsigned int num_seq_pkts, unsigned int page_size,
364 unsigned int nbr_of_banks_DRAM,
365 unsigned int nbr_of_banks_util,
366 unsigned int addr_mapping,
367 unsigned int nbr_of_ranks)
368{
356 min_period, max_period,
357 read_percent, data_limit));
358}
359
360std::shared_ptr<BaseGen>
361BaseTrafficGen::createDram(Tick duration,
362 Addr start_addr, Addr end_addr, Addr blocksize,
363 Tick min_period, Tick max_period,
364 uint8_t read_percent, Addr data_limit,
365 unsigned int num_seq_pkts, unsigned int page_size,
366 unsigned int nbr_of_banks_DRAM,
367 unsigned int nbr_of_banks_util,
368 unsigned int addr_mapping,
369 unsigned int nbr_of_ranks)
370{
369 return std::shared_ptr(new DramGen(*this,
371 return std::shared_ptr<BaseGen>(new DramGen(*this, masterID,
370 duration, start_addr,
371 end_addr, blocksize,
372 duration, start_addr,
373 end_addr, blocksize,
374 system->cacheLineSize(),
372 min_period, max_period,
373 read_percent, data_limit,
374 num_seq_pkts, page_size,
375 nbr_of_banks_DRAM,
376 nbr_of_banks_util,
377 addr_mapping,
378 nbr_of_ranks));
379}

--- 6 unchanged lines hidden (view full) ---

386 unsigned int num_seq_pkts,
387 unsigned int page_size,
388 unsigned int nbr_of_banks_DRAM,
389 unsigned int nbr_of_banks_util,
390 unsigned int addr_mapping,
391 unsigned int nbr_of_ranks,
392 unsigned int max_seq_count_per_rank)
393{
375 min_period, max_period,
376 read_percent, data_limit,
377 num_seq_pkts, page_size,
378 nbr_of_banks_DRAM,
379 nbr_of_banks_util,
380 addr_mapping,
381 nbr_of_ranks));
382}

--- 6 unchanged lines hidden (view full) ---

389 unsigned int num_seq_pkts,
390 unsigned int page_size,
391 unsigned int nbr_of_banks_DRAM,
392 unsigned int nbr_of_banks_util,
393 unsigned int addr_mapping,
394 unsigned int nbr_of_ranks,
395 unsigned int max_seq_count_per_rank)
396{
394 return std::shared_ptr(new DramRotGen(*this,
397 return std::shared_ptr<BaseGen>(new DramRotGen(*this, masterID,
395 duration, start_addr,
396 end_addr, blocksize,
398 duration, start_addr,
399 end_addr, blocksize,
400 system->cacheLineSize(),
397 min_period, max_period,
398 read_percent, data_limit,
399 num_seq_pkts, page_size,
400 nbr_of_banks_DRAM,
401 nbr_of_banks_util,
402 addr_mapping,
403 nbr_of_ranks,
404 max_seq_count_per_rank));
405}
406
407std::shared_ptr<BaseGen>
408BaseTrafficGen::createTrace(Tick duration,
409 const std::string& trace_file, Addr addr_offset)
410{
411#if HAVE_PROTOBUF
412 return std::shared_ptr<BaseGen>(
401 min_period, max_period,
402 read_percent, data_limit,
403 num_seq_pkts, page_size,
404 nbr_of_banks_DRAM,
405 nbr_of_banks_util,
406 addr_mapping,
407 nbr_of_ranks,
408 max_seq_count_per_rank));
409}
410
411std::shared_ptr<BaseGen>
412BaseTrafficGen::createTrace(Tick duration,
413 const std::string& trace_file, Addr addr_offset)
414{
415#if HAVE_PROTOBUF
416 return std::shared_ptr<BaseGen>(
413 new TraceGen(*this, duration, trace_file, addr_offset));
417 new TraceGen(*this, masterID, duration, trace_file, addr_offset));
414#else
415 panic("Can't instantiate trace generation without Protobuf support!\n");
416#endif
417}
418
419bool
420BaseTrafficGen::TrafficGenPort::recvTimingResp(PacketPtr pkt)
421{
422 delete pkt;
423
424 return true;
425}
418#else
419 panic("Can't instantiate trace generation without Protobuf support!\n");
420#endif
421}
422
423bool
424BaseTrafficGen::TrafficGenPort::recvTimingResp(PacketPtr pkt)
425{
426 delete pkt;
427
428 return true;
429}