diff options
author | Ali Saidi <saidi@eecs.umich.edu> | 2006-04-12 17:46:25 -0400 |
---|---|---|
committer | Ali Saidi <saidi@eecs.umich.edu> | 2006-04-12 17:46:25 -0400 |
commit | 81a735a7166f206848a3ec5f7a8153336347f3ae (patch) | |
tree | 4ef2b22e8600b7fa66cc108b3c5b4c1f202e308a /mem | |
parent | 08d9e0ea7ad5f6a0addd711bc4ff14cff2789170 (diff) | |
download | gem5-81a735a7166f206848a3ec5f7a8153336347f3ae.tar.xz |
fs now gets to the point where it would really like a filesystem.
Time to make the ide device work
arch/alpha/system.cc:
write the machine type and rev in the correct place
cpu/simple/cpu.cc:
reset the packet structure every time it's reused... wow the
simple cpu code for talking to memory is getting horrible.
dev/alpha_console.cc:
move the setAlphaAccess to startup() to make sure that the console
binary is loaded
dev/tsunami_cchip.cc:
dev/tsunami_pchip.cc:
dev/uart8250.cc:
fix a couple of bugs injected in the newmem fixes
mem/bus.cc:
More verbose bus tracing
mem/packet.hh:
Add a constructor to packet to set the result to unknown and a reset
method in the case it's being reused
mem/vport.hh:
don't need are own read/write methods since the base functional port
ones call writeBlob readBlob which do the translation for us
--HG--
extra : convert_revision : 8d0e2b782bfbf13dc5c59dab1a79a084d2a7da0a
Diffstat (limited to 'mem')
-rw-r--r-- | mem/bus.cc | 1 | ||||
-rw-r--r-- | mem/packet.hh | 6 | ||||
-rw-r--r-- | mem/vport.hh | 33 |
3 files changed, 7 insertions, 33 deletions
diff --git a/mem/bus.cc b/mem/bus.cc index 8031dae96..5e84beb83 100644 --- a/mem/bus.cc +++ b/mem/bus.cc @@ -57,6 +57,7 @@ Bus::findPort(Addr addr, int id) if (portList[i].range == addr) { dest_id = portList[i].portId; found = true; + DPRINTF(Bus, "Found Addr: %llx on device %d\n", addr, dest_id); } i++; } diff --git a/mem/packet.hh b/mem/packet.hh index 91e56385d..843d34ac0 100644 --- a/mem/packet.hh +++ b/mem/packet.hh @@ -128,6 +128,12 @@ struct Packet /** Accessor function that returns the destination index of the packet. */ short getDest() const { return dest; } + + Packet() + : result(Unknown) + {} + + void reset() { result = Unknown; } }; #endif //__MEM_PACKET_HH diff --git a/mem/vport.hh b/mem/vport.hh index da036b981..fbc230ba3 100644 --- a/mem/vport.hh +++ b/mem/vport.hh @@ -63,39 +63,6 @@ class VirtualPort : public FunctionalPort */ bool nullExecContext() { return xc != NULL; } - /** Write a piece of data into a virtual address. - * @param vaddr virtual address to write to - * @param data data to write - */ - template <typename T> - inline void write(Addr vaddr, T data) - { - Addr paddr; - if (xc) - paddr = TheISA::vtophys(xc,vaddr); - else - paddr = TheISA::vtophys(vaddr); - - FunctionalPort::write(paddr, data); - } - - /** Read data from a virtual address and return it. - * @param vaddr address to read - * @return data read - */ - - template <typename T> - inline T read(Addr vaddr) - { - Addr paddr; - if (xc) - paddr = TheISA::vtophys(xc,vaddr); - else - paddr = TheISA::vtophys(vaddr); - - return FunctionalPort::read<T>(paddr); - } - /** Version of readblob that translates virt->phys and deals * with page boundries. */ virtual void readBlob(Addr addr, uint8_t *p, int size); |