1/*
2 * Copyright (c) 2006 The Regents of The University of Michigan
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
7 * met: redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer;
--- 23 unchanged lines hidden (view full) ---
32#include "base/chunk_generator.hh"
33#include "base/trace.hh"
34#include "dev/io_device.hh"
35#include "sim/builder.hh"
36#include "sim/system.hh"
37
38
39PioPort::PioPort(PioDevice *dev, System *s, std::string pname)
40 : SimpleTimingPort(dev->name() + pname), device(dev)
41{ }
42
43
44Tick
45PioPort::recvAtomic(Packet *pkt)
46{
47 return pkt->isRead() ? device->read(pkt) : device->write(pkt);
48}
49
50void
51PioPort::getDeviceAddressRanges(AddrRangeList &resp, AddrRangeList &snoop)
52{
53 snoop.clear();
54 device->addressRanges(resp);
55}
56
57
58PioDevice::~PioDevice()
59{
60 if (pioPort)
61 delete pioPort;
62}
63
64void
65PioDevice::init()
--- 200 unchanged lines hidden ---
2 * Copyright (c) 2006 The Regents of The University of Michigan
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
7 * met: redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer;
--- 23 unchanged lines hidden (view full) ---
32#include "base/chunk_generator.hh"
33#include "base/trace.hh"
34#include "dev/io_device.hh"
35#include "sim/builder.hh"
36#include "sim/system.hh"
37
38
39PioPort::PioPort(PioDevice *dev, System *s, std::string pname)
40 : SimpleTimingPort(dev->name() + pname), device(dev)
41{ }
42
43
44Tick
45PioPort::recvAtomic(Packet *pkt)
46{
47 return pkt->isRead() ? device->read(pkt) : device->write(pkt);
48}
49
50void
51PioPort::getDeviceAddressRanges(AddrRangeList &resp, AddrRangeList &snoop)
52{
53 snoop.clear();
54 device->addressRanges(resp);
55}
56
57
58PioDevice::~PioDevice()
59{
60 if (pioPort)
61 delete pioPort;
62}
63
64void
65PioDevice::init()
--- 200 unchanged lines hidden ---