send range change at init for all devices
dev/io_device.cc:
dev/io_device.hh:
add init function for pio devices to sent status changes around
mem/physical.cc:
mem/physical.hh:
Panic if physical memory isn't connected to anything
--HG--
extra : convert_revision :
4223d1c3c73522d1e196c218eb0084d238677ad9
delete pioPort;
}
+PioDevice::init()
+{
+ if (!pioPort)
+ panic("Pio port not connected to anything!");
+ pioPort->sendStatusChange(Port::RangeChange);
+}
+
void
BasicPioDevice::addressRanges(AddrRangeList &range_list)
{
virtual ~PioDevice();
+ virtual void init();
+
virtual Port *getPort(const std::string &if_name)
{
if (if_name == "pio") {
page_ptr = 0;
}
+void
+PhysicalMemory::init()
+{
+ if (!port)
+ panic("PhysicalMemory not connected to anything!");
+ port->sendStatusChange(Port::RangeChange);
+}
+
PhysicalMemory::~PhysicalMemory()
{
if (pmem_addr)
int deviceBlockSize();
void getAddressRanges(AddrRangeList &resp, AddrRangeList &snoop);
virtual Port *getPort(const std::string &if_name);
- void virtual init() { port->sendStatusChange(Port::RangeChange); }
+ void virtual init();
// fast back-door memory access for vtophys(), remote gdb, etc.
// uint64_t phys_read_qword(Addr addr) const;