pl111.cc (7950:1120b07dd4b0) pl111.cc (8062:ef46ec5373dd)
1/*
2 * Copyright (c) 2010 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

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

581
582 SERIALIZE_ARRAY(dmaBuffer, height * width);
583 SERIALIZE_SCALAR(startTime);
584 SERIALIZE_SCALAR(startAddr);
585 SERIALIZE_SCALAR(maxAddr);
586 SERIALIZE_SCALAR(curAddr);
587 SERIALIZE_SCALAR(waterMark);
588 SERIALIZE_SCALAR(dmaPendingNum);
1/*
2 * Copyright (c) 2010 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

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

581
582 SERIALIZE_ARRAY(dmaBuffer, height * width);
583 SERIALIZE_SCALAR(startTime);
584 SERIALIZE_SCALAR(startAddr);
585 SERIALIZE_SCALAR(maxAddr);
586 SERIALIZE_SCALAR(curAddr);
587 SERIALIZE_SCALAR(waterMark);
588 SERIALIZE_SCALAR(dmaPendingNum);
589
590 Tick int_event_time = 0;
591 Tick read_event_time = 0;
592 Tick fill_fifo_event_time = 0;
593
594 if (readEvent.scheduled())
595 read_event_time = readEvent.when();
596 if (fillFifoEvent.scheduled())
597 fill_fifo_event_time = fillFifoEvent.when();
598 if (intEvent.scheduled())
599 int_event_time = intEvent.when();
600
601 SERIALIZE_SCALAR(read_event_time);
602 SERIALIZE_SCALAR(fill_fifo_event_time);
603 SERIALIZE_SCALAR(int_event_time);
604
605 vector<Tick> dma_done_event_tick;
606 dma_done_event_tick.resize(maxOutstandingDma);
607 for (int x = 0; x < maxOutstandingDma; x++) {
608 dma_done_event_tick[x] = dmaDoneEvent[x].scheduled() ?
609 dmaDoneEvent[x].when() : 0;
610 }
611 arrayParamOut(os, "dma_done_event_tick", dma_done_event_tick);
589}
590
591void
592Pl111::unserialize(Checkpoint *cp, const std::string &section)
593{
594 DPRINTF(PL111, "Unserializing ARM PL111\n");
595
596 uint32_t lcdTiming0_serial;

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

662 UNSERIALIZE_ARRAY(dmaBuffer, height * width);
663 UNSERIALIZE_SCALAR(startTime);
664 UNSERIALIZE_SCALAR(startAddr);
665 UNSERIALIZE_SCALAR(maxAddr);
666 UNSERIALIZE_SCALAR(curAddr);
667 UNSERIALIZE_SCALAR(waterMark);
668 UNSERIALIZE_SCALAR(dmaPendingNum);
669
612}
613
614void
615Pl111::unserialize(Checkpoint *cp, const std::string &section)
616{
617 DPRINTF(PL111, "Unserializing ARM PL111\n");
618
619 uint32_t lcdTiming0_serial;

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

685 UNSERIALIZE_ARRAY(dmaBuffer, height * width);
686 UNSERIALIZE_SCALAR(startTime);
687 UNSERIALIZE_SCALAR(startAddr);
688 UNSERIALIZE_SCALAR(maxAddr);
689 UNSERIALIZE_SCALAR(curAddr);
690 UNSERIALIZE_SCALAR(waterMark);
691 UNSERIALIZE_SCALAR(dmaPendingNum);
692
693 Tick int_event_time = 0;
694 Tick read_event_time = 0;
695 Tick fill_fifo_event_time = 0;
696
697 UNSERIALIZE_SCALAR(read_event_time);
698 UNSERIALIZE_SCALAR(fill_fifo_event_time);
699 UNSERIALIZE_SCALAR(int_event_time);
700
701 if (int_event_time)
702 schedule(intEvent, int_event_time);
703 if (read_event_time)
704 schedule(readEvent, read_event_time);
705 if (fill_fifo_event_time)
706 schedule(fillFifoEvent, fill_fifo_event_time);
707
708 vector<Tick> dma_done_event_tick;
709 dma_done_event_tick.resize(maxOutstandingDma);
710 arrayParamIn(cp, section, "dma_done_event_tick", dma_done_event_tick);
711 for (int x = 0; x < maxOutstandingDma; x++) {
712 if (dma_done_event_tick[x])
713 schedule(dmaDoneEvent[x], dma_done_event_tick[x]);
714 }
715
670 updateVideoParams();
671 if (vncserver)
672 vncserver->setDirty();
673}
674
675void
676Pl111::generateInterrupt()
677{

--- 24 unchanged lines hidden ---
716 updateVideoParams();
717 if (vncserver)
718 vncserver->setDirty();
719}
720
721void
722Pl111::generateInterrupt()
723{

--- 24 unchanged lines hidden ---