* William Wang
*/
+#include "base/vnc/vncinput.hh"
#include "base/trace.hh"
-#include "base/vnc/vncserver.hh"
+#include "debug/Pl050.hh"
#include "dev/arm/amba_device.hh"
#include "dev/arm/kmi.hh"
#include "dev/ps2.hh"
#include "mem/packet_access.hh"
Pl050::Pl050(const Params *p)
- : AmbaIntDevice(p), control(0), status(0x43), clkdiv(0), interrupts(0),
- rawInterrupts(0), ackNext(false), shiftDown(false), vnc(p->vnc),
- driverInitialized(false), intEvent(this)
+ : AmbaIntDevice(p, 0xfff), control(0), status(0x43), clkdiv(0),
+ interrupts(0), rawInterrupts(0), ackNext(false), shiftDown(false),
+ vnc(p->vnc), driverInitialized(false), intEvent(this)
{
- pioSize = 0xfff;
-
if (vnc) {
if (!p->is_mouse)
vnc->setKeyboard(this);
assert(pkt->getAddr() >= pioAddr && pkt->getAddr() < pioAddr + pioSize);
Addr daddr = pkt->getAddr() - pioAddr;
- pkt->allocate();
-
uint32_t data = 0;
DPRINTF(Pl050, "Read Interrupts: %#x\n", (uint32_t)interrupts);
break;
default:
- if (AmbaDev::readId(pkt, ambaId, pioAddr)) {
+ if (readId(pkt, ambaId, pioAddr)) {
// Hack for variable size accesses
data = pkt->get<uint32_t>();
break;
// fall through
case Disable:
case Enable:
+ case SetDefaults:
rxQueue.push_back(Ack);
break;
case StatusRequest: