Merge ktlim@zizzer.eecs.umich.edu:/bk/m5
into zamp.eecs.umich.edu:/z/ktlim2/m5 --HG-- extra : convert_revision : ac0788599c365b2d7fe0870f0fea4b62c3b3ef22
This commit is contained in:
commit
6191d3e444
33 changed files with 129 additions and 78 deletions
|
@ -622,6 +622,9 @@ class Tru64 {
|
||||||
getdirentriesFunc(SyscallDesc *desc, int callnum, Process *process,
|
getdirentriesFunc(SyscallDesc *desc, int callnum, Process *process,
|
||||||
ExecContext *xc)
|
ExecContext *xc)
|
||||||
{
|
{
|
||||||
|
#ifdef __CYGWIN__
|
||||||
|
panic("getdirent not implemented on cygwin!");
|
||||||
|
#else
|
||||||
int fd = process->sim_fd(xc->getSyscallArg(0));
|
int fd = process->sim_fd(xc->getSyscallArg(0));
|
||||||
Addr tgt_buf = xc->getSyscallArg(1);
|
Addr tgt_buf = xc->getSyscallArg(1);
|
||||||
int tgt_nbytes = xc->getSyscallArg(2);
|
int tgt_nbytes = xc->getSyscallArg(2);
|
||||||
|
@ -670,6 +673,7 @@ class Tru64 {
|
||||||
basep.copyOut(xc->mem);
|
basep.copyOut(xc->mem);
|
||||||
|
|
||||||
return tgt_buf_ptr - tgt_buf;
|
return tgt_buf_ptr - tgt_buf;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Target sigreturn() handler.
|
/// Target sigreturn() handler.
|
||||||
|
|
|
@ -26,6 +26,7 @@
|
||||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <errno.h>
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <cstdio>
|
#include <cstdio>
|
||||||
|
@ -180,15 +181,17 @@ namespace AlphaPseudo
|
||||||
if (fd < 0)
|
if (fd < 0)
|
||||||
panic("could not open file %s\n", file);
|
panic("could not open file %s\n", file);
|
||||||
|
|
||||||
|
if (::lseek(fd, offset, SEEK_SET) < 0)
|
||||||
|
panic("could not seek: %s", strerror(errno));
|
||||||
|
|
||||||
char *buf = new char[len];
|
char *buf = new char[len];
|
||||||
char *p = buf;
|
char *p = buf;
|
||||||
while (len > 0) {
|
while (len > 0) {
|
||||||
int bytes = ::pread(fd, p, len, offset);
|
int bytes = ::read(fd, p, len);
|
||||||
if (bytes <= 0)
|
if (bytes <= 0)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
p += bytes;
|
p += bytes;
|
||||||
offset += bytes;
|
|
||||||
result += bytes;
|
result += bytes;
|
||||||
len -= bytes;
|
len -= bytes;
|
||||||
}
|
}
|
||||||
|
|
|
@ -73,7 +73,7 @@ IsPowerOf2(T n)
|
||||||
}
|
}
|
||||||
|
|
||||||
inline int
|
inline int
|
||||||
FloorLog2(uint32_t x)
|
FloorLog2(unsigned x)
|
||||||
{
|
{
|
||||||
assert(x > 0);
|
assert(x > 0);
|
||||||
|
|
||||||
|
@ -89,7 +89,26 @@ FloorLog2(uint32_t x)
|
||||||
}
|
}
|
||||||
|
|
||||||
inline int
|
inline int
|
||||||
FloorLog2(uint64_t x)
|
FloorLog2(unsigned long x)
|
||||||
|
{
|
||||||
|
assert(x > 0);
|
||||||
|
|
||||||
|
int y = 0;
|
||||||
|
|
||||||
|
#if defined(__LP64__)
|
||||||
|
if (x & ULL(0xffffffff00000000)) { y += 32; x >>= 32; }
|
||||||
|
#endif
|
||||||
|
if (x & 0xffff0000) { y += 16; x >>= 16; }
|
||||||
|
if (x & 0x0000ff00) { y += 8; x >>= 8; }
|
||||||
|
if (x & 0x000000f0) { y += 4; x >>= 4; }
|
||||||
|
if (x & 0x0000000c) { y += 2; x >>= 2; }
|
||||||
|
if (x & 0x00000002) { y += 1; }
|
||||||
|
|
||||||
|
return y;
|
||||||
|
}
|
||||||
|
|
||||||
|
inline int
|
||||||
|
FloorLog2(unsigned long long x)
|
||||||
{
|
{
|
||||||
assert(x > 0);
|
assert(x > 0);
|
||||||
|
|
||||||
|
@ -106,17 +125,24 @@ FloorLog2(uint64_t x)
|
||||||
}
|
}
|
||||||
|
|
||||||
inline int
|
inline int
|
||||||
FloorLog2(int32_t x)
|
FloorLog2(int x)
|
||||||
{
|
{
|
||||||
assert(x > 0);
|
assert(x > 0);
|
||||||
return FloorLog2((uint32_t)x);
|
return FloorLog2((unsigned)x);
|
||||||
}
|
}
|
||||||
|
|
||||||
inline int
|
inline int
|
||||||
FloorLog2(int64_t x)
|
FloorLog2(long x)
|
||||||
{
|
{
|
||||||
assert(x > 0);
|
assert(x > 0);
|
||||||
return FloorLog2((uint64_t)x);
|
return FloorLog2((unsigned long)x);
|
||||||
|
}
|
||||||
|
|
||||||
|
inline int
|
||||||
|
FloorLog2(long long x)
|
||||||
|
{
|
||||||
|
assert(x > 0);
|
||||||
|
return FloorLog2((unsigned long long)x);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(__APPLE__)
|
#if defined(__APPLE__)
|
||||||
|
|
|
@ -93,7 +93,7 @@ ListenSocket::listen(int port, bool reuse)
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if !defined(__OpenBSD__) && !defined(linux)
|
#if defined(__APPLE__)
|
||||||
typedef int socklen_t;
|
typedef int socklen_t;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -24,7 +24,7 @@ echo "running netserver..."
|
||||||
/benchmarks/netperf/netserver
|
/benchmarks/netperf/netserver
|
||||||
|
|
||||||
echo -n "signal natbox to begin..."
|
echo -n "signal natbox to begin..."
|
||||||
sleep 1
|
sleep 5
|
||||||
echo "server ready" | /usr/bin/netcat -c $NATBOX 8000
|
echo "server ready" | /usr/bin/netcat -c $NATBOX 8000
|
||||||
echo "done."
|
echo "done."
|
||||||
|
|
||||||
|
|
|
@ -9,6 +9,7 @@ ifconfig eth0 $CLIENT txqueuelen 1000
|
||||||
echo "0" > /proc/sys/net/ipv4/tcp_timestamps
|
echo "0" > /proc/sys/net/ipv4/tcp_timestamps
|
||||||
echo "0" > /proc/sys/net/ipv4/tcp_sack
|
echo "0" > /proc/sys/net/ipv4/tcp_sack
|
||||||
echo "1" > /proc/sys/net/ipv4/tcp_vegas_cong_avoid
|
echo "1" > /proc/sys/net/ipv4/tcp_vegas_cong_avoid
|
||||||
|
echo "262144" > /proc/sys/net/ipv4/ip_conntrack_max
|
||||||
echo "5000000 5000000 5000000" > /proc/sys/net/ipv4/tcp_rmem
|
echo "5000000 5000000 5000000" > /proc/sys/net/ipv4/tcp_rmem
|
||||||
echo "5000000 5000000 5000000" > /proc/sys/net/ipv4/tcp_wmem
|
echo "5000000 5000000 5000000" > /proc/sys/net/ipv4/tcp_wmem
|
||||||
echo "5000000 5000000 5000000" > /proc/sys/net/ipv4/tcp_mem
|
echo "5000000 5000000 5000000" > /proc/sys/net/ipv4/tcp_mem
|
||||||
|
|
|
@ -21,17 +21,16 @@ echo "0" > /proc/sys/net/ipv4/tcp_sack
|
||||||
echo "15" > /proc/sys/net/ipv4/tcp_fin_timeout
|
echo "15" > /proc/sys/net/ipv4/tcp_fin_timeout
|
||||||
echo "16384" > /proc/sys/net/ipv4/tcp_max_syn_backlog
|
echo "16384" > /proc/sys/net/ipv4/tcp_max_syn_backlog
|
||||||
echo "1" > /proc/sys/net/ipv4/tcp_vegas_cong_avoid
|
echo "1" > /proc/sys/net/ipv4/tcp_vegas_cong_avoid
|
||||||
|
echo "262144" > /proc/sys/net/ipv4/ip_conntrack_max
|
||||||
echo "1024 65535" > /proc/sys/net/ipv4/ip_local_port_range
|
echo "1024 65535" > /proc/sys/net/ipv4/ip_local_port_range
|
||||||
echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_rmem
|
echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_rmem
|
||||||
echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_wmem
|
echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_wmem
|
||||||
echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_mem
|
echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_mem
|
||||||
|
echo "262144" > /proc/sys/net/ipv4/ip_conntrack_max
|
||||||
echo "524287" > /proc/sys/net/core/rmem_max
|
echo "524287" > /proc/sys/net/core/rmem_max
|
||||||
echo "524287" > /proc/sys/net/core/wmem_max
|
echo "524287" > /proc/sys/net/core/wmem_max
|
||||||
echo "524287" > /proc/sys/net/core/optmem_max
|
echo "524287" > /proc/sys/net/core/optmem_max
|
||||||
echo "300000" > /proc/sys/net/core/netdev_max_backlog
|
echo "300000" > /proc/sys/net/core/netdev_max_backlog
|
||||||
|
|
||||||
echo "131072" > /proc/sys/fs/file-max
|
echo "131072" > /proc/sys/fs/file-max
|
||||||
echo "done."
|
echo "done."
|
||||||
|
|
||||||
|
|
|
@ -24,17 +24,15 @@ echo "0" > /proc/sys/net/ipv4/tcp_sack
|
||||||
echo "15" > /proc/sys/net/ipv4/tcp_fin_timeout
|
echo "15" > /proc/sys/net/ipv4/tcp_fin_timeout
|
||||||
echo "16384" > /proc/sys/net/ipv4/tcp_max_syn_backlog
|
echo "16384" > /proc/sys/net/ipv4/tcp_max_syn_backlog
|
||||||
echo "1" > /proc/sys/net/ipv4/tcp_vegas_cong_avoid
|
echo "1" > /proc/sys/net/ipv4/tcp_vegas_cong_avoid
|
||||||
|
echo "262144" > /proc/sys/net/ipv4/ip_conntrack_max
|
||||||
echo "1024 65535" > /proc/sys/net/ipv4/ip_local_port_range
|
echo "1024 65535" > /proc/sys/net/ipv4/ip_local_port_range
|
||||||
echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_rmem
|
echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_rmem
|
||||||
echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_wmem
|
echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_wmem
|
||||||
echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_mem
|
echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_mem
|
||||||
|
|
||||||
echo "524287" > /proc/sys/net/core/rmem_max
|
echo "524287" > /proc/sys/net/core/rmem_max
|
||||||
echo "524287" > /proc/sys/net/core/wmem_max
|
echo "524287" > /proc/sys/net/core/wmem_max
|
||||||
echo "524287" > /proc/sys/net/core/optmem_max
|
echo "524287" > /proc/sys/net/core/optmem_max
|
||||||
echo "300000" > /proc/sys/net/core/netdev_max_backlog
|
echo "300000" > /proc/sys/net/core/netdev_max_backlog
|
||||||
|
|
||||||
echo "131072" > /proc/sys/fs/file-max
|
echo "131072" > /proc/sys/fs/file-max
|
||||||
echo "done."
|
echo "done."
|
||||||
|
|
||||||
|
@ -50,6 +48,7 @@ cat /benchmarks/apache2/logs/error_log
|
||||||
echo "done."
|
echo "done."
|
||||||
|
|
||||||
echo "notifying natbox..."
|
echo "notifying natbox..."
|
||||||
|
sleep 5
|
||||||
echo "server ready" | /usr/bin/netcat -c $NATBOX 8000
|
echo "server ready" | /usr/bin/netcat -c $NATBOX 8000
|
||||||
echo "done"
|
echo "done"
|
||||||
|
|
||||||
|
|
|
@ -11,7 +11,7 @@ ifconfig eth1 $INTIF txqueuelen 1000
|
||||||
echo "0" > /proc/sys/net/ipv4/tcp_timestamps
|
echo "0" > /proc/sys/net/ipv4/tcp_timestamps
|
||||||
echo "0" > /proc/sys/net/ipv4/tcp_sack
|
echo "0" > /proc/sys/net/ipv4/tcp_sack
|
||||||
echo "1" > /proc/sys/net/ipv4/tcp_vegas_cong_avoid
|
echo "1" > /proc/sys/net/ipv4/tcp_vegas_cong_avoid
|
||||||
|
echo "262144" > /proc/sys/net/ipv4/ip_conntrack_max
|
||||||
echo "5000000 5000000 5000000" > /proc/sys/net/ipv4/tcp_rmem
|
echo "5000000 5000000 5000000" > /proc/sys/net/ipv4/tcp_rmem
|
||||||
echo "5000000 5000000 5000000" > /proc/sys/net/ipv4/tcp_wmem
|
echo "5000000 5000000 5000000" > /proc/sys/net/ipv4/tcp_wmem
|
||||||
echo "5000000 5000000 5000000" > /proc/sys/net/ipv4/tcp_mem
|
echo "5000000 5000000 5000000" > /proc/sys/net/ipv4/tcp_mem
|
||||||
|
@ -21,7 +21,6 @@ echo "262143" > /proc/sys/net/core/rmem_default
|
||||||
echo "262143" > /proc/sys/net/core/wmem_default
|
echo "262143" > /proc/sys/net/core/wmem_default
|
||||||
echo "262143" > /proc/sys/net/core/optmem_max
|
echo "262143" > /proc/sys/net/core/optmem_max
|
||||||
echo "100000" > /proc/sys/net/core/netdev_max_backlog
|
echo "100000" > /proc/sys/net/core/netdev_max_backlog
|
||||||
|
|
||||||
echo "1" > /proc/sys/net/ipv4/ip_forward
|
echo "1" > /proc/sys/net/ipv4/ip_forward
|
||||||
|
|
||||||
echo "waiting for netserver..."
|
echo "waiting for netserver..."
|
||||||
|
@ -47,6 +46,7 @@ $IPTABLES -A FORWARD -j LOG
|
||||||
$IPTABLES -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE
|
$IPTABLES -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE
|
||||||
|
|
||||||
echo "informing client..."
|
echo "informing client..."
|
||||||
|
sleep 5
|
||||||
echo "server ready" | /usr/bin/netcat -c $CLIENT 8000
|
echo "server ready" | /usr/bin/netcat -c $CLIENT 8000
|
||||||
|
|
||||||
echo "starting bash..."
|
echo "starting bash..."
|
||||||
|
|
|
@ -11,6 +11,7 @@ ifconfig eth1 $INTIF txqueuelen 1000
|
||||||
echo "0" > /proc/sys/net/ipv4/tcp_timestamps
|
echo "0" > /proc/sys/net/ipv4/tcp_timestamps
|
||||||
echo "0" > /proc/sys/net/ipv4/tcp_sack
|
echo "0" > /proc/sys/net/ipv4/tcp_sack
|
||||||
echo "1" > /proc/sys/net/ipv4/tcp_vegas_cong_avoid
|
echo "1" > /proc/sys/net/ipv4/tcp_vegas_cong_avoid
|
||||||
|
echo "262144" > /proc/sys/net/ipv4/ip_conntrack_max
|
||||||
echo "5000000 5000000 5000000" > /proc/sys/net/ipv4/tcp_rmem
|
echo "5000000 5000000 5000000" > /proc/sys/net/ipv4/tcp_rmem
|
||||||
echo "5000000 5000000 5000000" > /proc/sys/net/ipv4/tcp_wmem
|
echo "5000000 5000000 5000000" > /proc/sys/net/ipv4/tcp_wmem
|
||||||
echo "5000000 5000000 5000000" > /proc/sys/net/ipv4/tcp_mem
|
echo "5000000 5000000 5000000" > /proc/sys/net/ipv4/tcp_mem
|
||||||
|
@ -23,6 +24,8 @@ echo "100000" > /proc/sys/net/core/netdev_max_backlog
|
||||||
|
|
||||||
echo "1" > /proc/sys/net/ipv4/ip_forward
|
echo "1" > /proc/sys/net/ipv4/ip_forward
|
||||||
|
|
||||||
|
echo "262144" > /proc/sys/net/ipv4/ip_conntrack_max
|
||||||
|
|
||||||
echo "waiting for netserver..."
|
echo "waiting for netserver..."
|
||||||
/usr/bin/netcat -c -l -p 8000
|
/usr/bin/netcat -c -l -p 8000
|
||||||
|
|
||||||
|
@ -46,6 +49,7 @@ $IPTABLES -A FORWARD -j LOG
|
||||||
$IPTABLES -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE
|
$IPTABLES -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE
|
||||||
|
|
||||||
echo "informing client..."
|
echo "informing client..."
|
||||||
|
sleep 5
|
||||||
echo "server ready" | /usr/bin/netcat -c $CLIENT 8000
|
echo "server ready" | /usr/bin/netcat -c $CLIENT 8000
|
||||||
|
|
||||||
echo "starting bash..."
|
echo "starting bash..."
|
||||||
|
|
|
@ -18,17 +18,15 @@ echo "0" > /proc/sys/net/ipv4/tcp_timestamps
|
||||||
echo "0" > /proc/sys/net/ipv4/tcp_sack
|
echo "0" > /proc/sys/net/ipv4/tcp_sack
|
||||||
echo "15" > /proc/sys/net/ipv4/tcp_fin_timeout
|
echo "15" > /proc/sys/net/ipv4/tcp_fin_timeout
|
||||||
echo "16384" > /proc/sys/net/ipv4/tcp_max_syn_backlog
|
echo "16384" > /proc/sys/net/ipv4/tcp_max_syn_backlog
|
||||||
|
echo "262144" > /proc/sys/net/ipv4/ip_conntrack_max
|
||||||
echo "1024 65535" > /proc/sys/net/ipv4/ip_local_port_range
|
echo "1024 65535" > /proc/sys/net/ipv4/ip_local_port_range
|
||||||
echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_rmem
|
echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_rmem
|
||||||
echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_wmem
|
echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_wmem
|
||||||
echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_mem
|
echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_mem
|
||||||
|
|
||||||
echo "524287" > /proc/sys/net/core/rmem_max
|
echo "524287" > /proc/sys/net/core/rmem_max
|
||||||
echo "524287" > /proc/sys/net/core/wmem_max
|
echo "524287" > /proc/sys/net/core/wmem_max
|
||||||
echo "524287" > /proc/sys/net/core/optmem_max
|
echo "524287" > /proc/sys/net/core/optmem_max
|
||||||
echo "300000" > /proc/sys/net/core/netdev_max_backlog
|
echo "300000" > /proc/sys/net/core/netdev_max_backlog
|
||||||
|
|
||||||
echo "131072" > /proc/sys/fs/file-max
|
echo "131072" > /proc/sys/fs/file-max
|
||||||
echo "done."
|
echo "done."
|
||||||
|
|
||||||
|
|
|
@ -18,17 +18,15 @@ echo "0" > /proc/sys/net/ipv4/tcp_timestamps
|
||||||
echo "0" > /proc/sys/net/ipv4/tcp_sack
|
echo "0" > /proc/sys/net/ipv4/tcp_sack
|
||||||
echo "15" > /proc/sys/net/ipv4/tcp_fin_timeout
|
echo "15" > /proc/sys/net/ipv4/tcp_fin_timeout
|
||||||
echo "16384" > /proc/sys/net/ipv4/tcp_max_syn_backlog
|
echo "16384" > /proc/sys/net/ipv4/tcp_max_syn_backlog
|
||||||
|
echo "262144" > /proc/sys/net/ipv4/ip_conntrack_max
|
||||||
echo "1024 65535" > /proc/sys/net/ipv4/ip_local_port_range
|
echo "1024 65535" > /proc/sys/net/ipv4/ip_local_port_range
|
||||||
echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_rmem
|
echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_rmem
|
||||||
echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_wmem
|
echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_wmem
|
||||||
echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_mem
|
echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_mem
|
||||||
|
|
||||||
echo "524287" > /proc/sys/net/core/rmem_max
|
echo "524287" > /proc/sys/net/core/rmem_max
|
||||||
echo "524287" > /proc/sys/net/core/wmem_max
|
echo "524287" > /proc/sys/net/core/wmem_max
|
||||||
echo "524287" > /proc/sys/net/core/optmem_max
|
echo "524287" > /proc/sys/net/core/optmem_max
|
||||||
echo "300000" > /proc/sys/net/core/netdev_max_backlog
|
echo "300000" > /proc/sys/net/core/netdev_max_backlog
|
||||||
|
|
||||||
echo "131072" > /proc/sys/fs/file-max
|
echo "131072" > /proc/sys/fs/file-max
|
||||||
echo "done."
|
echo "done."
|
||||||
|
|
||||||
|
|
|
@ -18,17 +18,15 @@ echo "0" > /proc/sys/net/ipv4/tcp_timestamps
|
||||||
echo "0" > /proc/sys/net/ipv4/tcp_sack
|
echo "0" > /proc/sys/net/ipv4/tcp_sack
|
||||||
echo "15" > /proc/sys/net/ipv4/tcp_fin_timeout
|
echo "15" > /proc/sys/net/ipv4/tcp_fin_timeout
|
||||||
echo "16384" > /proc/sys/net/ipv4/tcp_max_syn_backlog
|
echo "16384" > /proc/sys/net/ipv4/tcp_max_syn_backlog
|
||||||
|
echo "262144" > /proc/sys/net/ipv4/ip_conntrack_max
|
||||||
echo "1024 65535" > /proc/sys/net/ipv4/ip_local_port_range
|
echo "1024 65535" > /proc/sys/net/ipv4/ip_local_port_range
|
||||||
echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_rmem
|
echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_rmem
|
||||||
echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_wmem
|
echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_wmem
|
||||||
echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_mem
|
echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_mem
|
||||||
|
|
||||||
echo "524287" > /proc/sys/net/core/rmem_max
|
echo "524287" > /proc/sys/net/core/rmem_max
|
||||||
echo "524287" > /proc/sys/net/core/wmem_max
|
echo "524287" > /proc/sys/net/core/wmem_max
|
||||||
echo "524287" > /proc/sys/net/core/optmem_max
|
echo "524287" > /proc/sys/net/core/optmem_max
|
||||||
echo "300000" > /proc/sys/net/core/netdev_max_backlog
|
echo "300000" > /proc/sys/net/core/netdev_max_backlog
|
||||||
|
|
||||||
echo "131072" > /proc/sys/fs/file-max
|
echo "131072" > /proc/sys/fs/file-max
|
||||||
echo "done."
|
echo "done."
|
||||||
|
|
||||||
|
|
|
@ -18,17 +18,15 @@ echo "0" > /proc/sys/net/ipv4/tcp_timestamps
|
||||||
echo "0" > /proc/sys/net/ipv4/tcp_sack
|
echo "0" > /proc/sys/net/ipv4/tcp_sack
|
||||||
echo "15" > /proc/sys/net/ipv4/tcp_fin_timeout
|
echo "15" > /proc/sys/net/ipv4/tcp_fin_timeout
|
||||||
echo "16384" > /proc/sys/net/ipv4/tcp_max_syn_backlog
|
echo "16384" > /proc/sys/net/ipv4/tcp_max_syn_backlog
|
||||||
|
echo "262144" > /proc/sys/net/ipv4/ip_conntrack_max
|
||||||
echo "1024 65535" > /proc/sys/net/ipv4/ip_local_port_range
|
echo "1024 65535" > /proc/sys/net/ipv4/ip_local_port_range
|
||||||
echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_rmem
|
echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_rmem
|
||||||
echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_wmem
|
echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_wmem
|
||||||
echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_mem
|
echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_mem
|
||||||
|
|
||||||
echo "524287" > /proc/sys/net/core/rmem_max
|
echo "524287" > /proc/sys/net/core/rmem_max
|
||||||
echo "524287" > /proc/sys/net/core/wmem_max
|
echo "524287" > /proc/sys/net/core/wmem_max
|
||||||
echo "524287" > /proc/sys/net/core/optmem_max
|
echo "524287" > /proc/sys/net/core/optmem_max
|
||||||
echo "300000" > /proc/sys/net/core/netdev_max_backlog
|
echo "300000" > /proc/sys/net/core/netdev_max_backlog
|
||||||
|
|
||||||
echo "131072" > /proc/sys/fs/file-max
|
echo "131072" > /proc/sys/fs/file-max
|
||||||
echo "done."
|
echo "done."
|
||||||
|
|
||||||
|
|
|
@ -18,17 +18,15 @@ echo "0" > /proc/sys/net/ipv4/tcp_timestamps
|
||||||
echo "0" > /proc/sys/net/ipv4/tcp_sack
|
echo "0" > /proc/sys/net/ipv4/tcp_sack
|
||||||
echo "15" > /proc/sys/net/ipv4/tcp_fin_timeout
|
echo "15" > /proc/sys/net/ipv4/tcp_fin_timeout
|
||||||
echo "16384" > /proc/sys/net/ipv4/tcp_max_syn_backlog
|
echo "16384" > /proc/sys/net/ipv4/tcp_max_syn_backlog
|
||||||
|
echo "262144" > /proc/sys/net/ipv4/ip_conntrack_max
|
||||||
echo "1024 65535" > /proc/sys/net/ipv4/ip_local_port_range
|
echo "1024 65535" > /proc/sys/net/ipv4/ip_local_port_range
|
||||||
echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_rmem
|
echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_rmem
|
||||||
echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_wmem
|
echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_wmem
|
||||||
echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_mem
|
echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_mem
|
||||||
|
|
||||||
echo "524287" > /proc/sys/net/core/rmem_max
|
echo "524287" > /proc/sys/net/core/rmem_max
|
||||||
echo "524287" > /proc/sys/net/core/wmem_max
|
echo "524287" > /proc/sys/net/core/wmem_max
|
||||||
echo "524287" > /proc/sys/net/core/optmem_max
|
echo "524287" > /proc/sys/net/core/optmem_max
|
||||||
echo "300000" > /proc/sys/net/core/netdev_max_backlog
|
echo "300000" > /proc/sys/net/core/netdev_max_backlog
|
||||||
|
|
||||||
echo "131072" > /proc/sys/fs/file-max
|
echo "131072" > /proc/sys/fs/file-max
|
||||||
echo "done."
|
echo "done."
|
||||||
|
|
||||||
|
|
|
@ -18,17 +18,15 @@ echo "0" > /proc/sys/net/ipv4/tcp_timestamps
|
||||||
echo "0" > /proc/sys/net/ipv4/tcp_sack
|
echo "0" > /proc/sys/net/ipv4/tcp_sack
|
||||||
echo "15" > /proc/sys/net/ipv4/tcp_fin_timeout
|
echo "15" > /proc/sys/net/ipv4/tcp_fin_timeout
|
||||||
echo "16384" > /proc/sys/net/ipv4/tcp_max_syn_backlog
|
echo "16384" > /proc/sys/net/ipv4/tcp_max_syn_backlog
|
||||||
|
echo "262144" > /proc/sys/net/ipv4/ip_conntrack_max
|
||||||
echo "1024 65535" > /proc/sys/net/ipv4/ip_local_port_range
|
echo "1024 65535" > /proc/sys/net/ipv4/ip_local_port_range
|
||||||
echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_rmem
|
echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_rmem
|
||||||
echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_wmem
|
echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_wmem
|
||||||
echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_mem
|
echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_mem
|
||||||
|
|
||||||
echo "524287" > /proc/sys/net/core/rmem_max
|
echo "524287" > /proc/sys/net/core/rmem_max
|
||||||
echo "524287" > /proc/sys/net/core/wmem_max
|
echo "524287" > /proc/sys/net/core/wmem_max
|
||||||
echo "524287" > /proc/sys/net/core/optmem_max
|
echo "524287" > /proc/sys/net/core/optmem_max
|
||||||
echo "300000" > /proc/sys/net/core/netdev_max_backlog
|
echo "300000" > /proc/sys/net/core/netdev_max_backlog
|
||||||
|
|
||||||
echo "131072" > /proc/sys/fs/file-max
|
echo "131072" > /proc/sys/fs/file-max
|
||||||
echo "done."
|
echo "done."
|
||||||
|
|
||||||
|
@ -60,6 +58,7 @@ echo "Exporting shares..."
|
||||||
/sbin/exportfs -r -v
|
/sbin/exportfs -r -v
|
||||||
|
|
||||||
echo -n "signal client to mount..."
|
echo -n "signal client to mount..."
|
||||||
|
sleep 5
|
||||||
echo "server ready" | /usr/bin/netcat -c 10.0.0.2 8000
|
echo "server ready" | /usr/bin/netcat -c 10.0.0.2 8000
|
||||||
echo "done."
|
echo "done."
|
||||||
|
|
||||||
|
|
|
@ -18,17 +18,15 @@ echo "0" > /proc/sys/net/ipv4/tcp_timestamps
|
||||||
echo "0" > /proc/sys/net/ipv4/tcp_sack
|
echo "0" > /proc/sys/net/ipv4/tcp_sack
|
||||||
echo "15" > /proc/sys/net/ipv4/tcp_fin_timeout
|
echo "15" > /proc/sys/net/ipv4/tcp_fin_timeout
|
||||||
echo "16384" > /proc/sys/net/ipv4/tcp_max_syn_backlog
|
echo "16384" > /proc/sys/net/ipv4/tcp_max_syn_backlog
|
||||||
|
echo "262144" > /proc/sys/net/ipv4/ip_conntrack_max
|
||||||
echo "1024 65535" > /proc/sys/net/ipv4/ip_local_port_range
|
echo "1024 65535" > /proc/sys/net/ipv4/ip_local_port_range
|
||||||
echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_rmem
|
echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_rmem
|
||||||
echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_wmem
|
echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_wmem
|
||||||
echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_mem
|
echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_mem
|
||||||
|
|
||||||
echo "524287" > /proc/sys/net/core/rmem_max
|
echo "524287" > /proc/sys/net/core/rmem_max
|
||||||
echo "524287" > /proc/sys/net/core/wmem_max
|
echo "524287" > /proc/sys/net/core/wmem_max
|
||||||
echo "524287" > /proc/sys/net/core/optmem_max
|
echo "524287" > /proc/sys/net/core/optmem_max
|
||||||
echo "300000" > /proc/sys/net/core/netdev_max_backlog
|
echo "300000" > /proc/sys/net/core/netdev_max_backlog
|
||||||
|
|
||||||
echo "131072" > /proc/sys/fs/file-max
|
echo "131072" > /proc/sys/fs/file-max
|
||||||
echo "done."
|
echo "done."
|
||||||
|
|
||||||
|
|
|
@ -18,17 +18,16 @@ echo "0" > /proc/sys/net/ipv4/tcp_timestamps
|
||||||
echo "0" > /proc/sys/net/ipv4/tcp_sack
|
echo "0" > /proc/sys/net/ipv4/tcp_sack
|
||||||
echo "15" > /proc/sys/net/ipv4/tcp_fin_timeout
|
echo "15" > /proc/sys/net/ipv4/tcp_fin_timeout
|
||||||
echo "16384" > /proc/sys/net/ipv4/tcp_max_syn_backlog
|
echo "16384" > /proc/sys/net/ipv4/tcp_max_syn_backlog
|
||||||
|
echo "262144" > /proc/sys/net/ipv4/ip_conntrack_max
|
||||||
echo "1024 65535" > /proc/sys/net/ipv4/ip_local_port_range
|
echo "1024 65535" > /proc/sys/net/ipv4/ip_local_port_range
|
||||||
echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_rmem
|
echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_rmem
|
||||||
echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_wmem
|
echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_wmem
|
||||||
echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_mem
|
echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_mem
|
||||||
|
echo "262144" > /proc/sys/net/ipv4/ip_conntrack_max
|
||||||
echo "524287" > /proc/sys/net/core/rmem_max
|
echo "524287" > /proc/sys/net/core/rmem_max
|
||||||
echo "524287" > /proc/sys/net/core/wmem_max
|
echo "524287" > /proc/sys/net/core/wmem_max
|
||||||
echo "524287" > /proc/sys/net/core/optmem_max
|
echo "524287" > /proc/sys/net/core/optmem_max
|
||||||
echo "300000" > /proc/sys/net/core/netdev_max_backlog
|
echo "300000" > /proc/sys/net/core/netdev_max_backlog
|
||||||
|
|
||||||
echo "131072" > /proc/sys/fs/file-max
|
echo "131072" > /proc/sys/fs/file-max
|
||||||
echo "done."
|
echo "done."
|
||||||
|
|
||||||
|
|
|
@ -22,17 +22,15 @@ echo "0" > /proc/sys/net/ipv4/tcp_timestamps
|
||||||
echo "0" > /proc/sys/net/ipv4/tcp_sack
|
echo "0" > /proc/sys/net/ipv4/tcp_sack
|
||||||
echo "15" > /proc/sys/net/ipv4/tcp_fin_timeout
|
echo "15" > /proc/sys/net/ipv4/tcp_fin_timeout
|
||||||
echo "16384" > /proc/sys/net/ipv4/tcp_max_syn_backlog
|
echo "16384" > /proc/sys/net/ipv4/tcp_max_syn_backlog
|
||||||
|
echo "262144" > /proc/sys/net/ipv4/ip_conntrack_max
|
||||||
echo "1024 65535" > /proc/sys/net/ipv4/ip_local_port_range
|
echo "1024 65535" > /proc/sys/net/ipv4/ip_local_port_range
|
||||||
echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_rmem
|
echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_rmem
|
||||||
echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_wmem
|
echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_wmem
|
||||||
echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_mem
|
echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_mem
|
||||||
|
|
||||||
echo "524287" > /proc/sys/net/core/rmem_max
|
echo "524287" > /proc/sys/net/core/rmem_max
|
||||||
echo "524287" > /proc/sys/net/core/wmem_max
|
echo "524287" > /proc/sys/net/core/wmem_max
|
||||||
echo "524287" > /proc/sys/net/core/optmem_max
|
echo "524287" > /proc/sys/net/core/optmem_max
|
||||||
echo "300000" > /proc/sys/net/core/netdev_max_backlog
|
echo "300000" > /proc/sys/net/core/netdev_max_backlog
|
||||||
|
|
||||||
echo "131072" > /proc/sys/fs/file-max
|
echo "131072" > /proc/sys/fs/file-max
|
||||||
echo "done."
|
echo "done."
|
||||||
|
|
||||||
|
|
|
@ -18,17 +18,15 @@ echo "0" > /proc/sys/net/ipv4/tcp_timestamps
|
||||||
echo "0" > /proc/sys/net/ipv4/tcp_sack
|
echo "0" > /proc/sys/net/ipv4/tcp_sack
|
||||||
echo "15" > /proc/sys/net/ipv4/tcp_fin_timeout
|
echo "15" > /proc/sys/net/ipv4/tcp_fin_timeout
|
||||||
echo "16384" > /proc/sys/net/ipv4/tcp_max_syn_backlog
|
echo "16384" > /proc/sys/net/ipv4/tcp_max_syn_backlog
|
||||||
|
echo "262144" > /proc/sys/net/ipv4/ip_conntrack_max
|
||||||
echo "1024 65535" > /proc/sys/net/ipv4/ip_local_port_range
|
echo "1024 65535" > /proc/sys/net/ipv4/ip_local_port_range
|
||||||
echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_rmem
|
echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_rmem
|
||||||
echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_wmem
|
echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_wmem
|
||||||
echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_mem
|
echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_mem
|
||||||
|
|
||||||
echo "524287" > /proc/sys/net/core/rmem_max
|
echo "524287" > /proc/sys/net/core/rmem_max
|
||||||
echo "524287" > /proc/sys/net/core/wmem_max
|
echo "524287" > /proc/sys/net/core/wmem_max
|
||||||
echo "524287" > /proc/sys/net/core/optmem_max
|
echo "524287" > /proc/sys/net/core/optmem_max
|
||||||
echo "300000" > /proc/sys/net/core/netdev_max_backlog
|
echo "300000" > /proc/sys/net/core/netdev_max_backlog
|
||||||
|
|
||||||
echo "131072" > /proc/sys/fs/file-max
|
echo "131072" > /proc/sys/fs/file-max
|
||||||
echo "done."
|
echo "done."
|
||||||
|
|
||||||
|
|
|
@ -15,7 +15,7 @@ echo -n "setting up network..."
|
||||||
/sbin/ifconfig eth0:3 192.168.0.4 txqueuelen 1000
|
/sbin/ifconfig eth0:3 192.168.0.4 txqueuelen 1000
|
||||||
/sbin/ifconfig eth0:4 192.168.0.5 txqueuelen 1000
|
/sbin/ifconfig eth0:4 192.168.0.5 txqueuelen 1000
|
||||||
/sbin/ifconfig lo 127.0.0.1
|
/sbin/ifconfig lo 127.0.0.1
|
||||||
|
|
||||||
echo "1" > /proc/sys/net/ipv4/tcp_tw_recycle
|
echo "1" > /proc/sys/net/ipv4/tcp_tw_recycle
|
||||||
echo "1" > /proc/sys/net/ipv4/tcp_tw_reuse
|
echo "1" > /proc/sys/net/ipv4/tcp_tw_reuse
|
||||||
echo "1" > /proc/sys/net/ipv4/tcp_window_scaling
|
echo "1" > /proc/sys/net/ipv4/tcp_window_scaling
|
||||||
|
@ -23,17 +23,15 @@ echo "0" > /proc/sys/net/ipv4/tcp_timestamps
|
||||||
echo "0" > /proc/sys/net/ipv4/tcp_sack
|
echo "0" > /proc/sys/net/ipv4/tcp_sack
|
||||||
echo "15" > /proc/sys/net/ipv4/tcp_fin_timeout
|
echo "15" > /proc/sys/net/ipv4/tcp_fin_timeout
|
||||||
echo "16384" > /proc/sys/net/ipv4/tcp_max_syn_backlog
|
echo "16384" > /proc/sys/net/ipv4/tcp_max_syn_backlog
|
||||||
|
echo "262144" > /proc/sys/net/ipv4/ip_conntrack_max
|
||||||
echo "1024 65535" > /proc/sys/net/ipv4/ip_local_port_range
|
echo "1024 65535" > /proc/sys/net/ipv4/ip_local_port_range
|
||||||
echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_rmem
|
echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_rmem
|
||||||
echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_wmem
|
echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_wmem
|
||||||
echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_mem
|
echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_mem
|
||||||
|
|
||||||
echo "524287" > /proc/sys/net/core/rmem_max
|
echo "524287" > /proc/sys/net/core/rmem_max
|
||||||
echo "524287" > /proc/sys/net/core/wmem_max
|
echo "524287" > /proc/sys/net/core/wmem_max
|
||||||
echo "524287" > /proc/sys/net/core/optmem_max
|
echo "524287" > /proc/sys/net/core/optmem_max
|
||||||
echo "300000" > /proc/sys/net/core/netdev_max_backlog
|
echo "300000" > /proc/sys/net/core/netdev_max_backlog
|
||||||
|
|
||||||
echo "131072" > /proc/sys/fs/file-max
|
echo "131072" > /proc/sys/fs/file-max
|
||||||
echo "done."
|
echo "done."
|
||||||
|
|
||||||
|
|
|
@ -125,7 +125,7 @@ void
|
||||||
BreakPCEvent::process(ExecContext *xc)
|
BreakPCEvent::process(ExecContext *xc)
|
||||||
{
|
{
|
||||||
StringWrap name(xc->cpu->name() + ".break_event");
|
StringWrap name(xc->cpu->name() + ".break_event");
|
||||||
DPRINTFN("break event %s triggered", descr());
|
DPRINTFN("break event %s triggered\n", descr());
|
||||||
debug_break();
|
debug_break();
|
||||||
if (remove)
|
if (remove)
|
||||||
delete this;
|
delete this;
|
||||||
|
|
|
@ -97,7 +97,8 @@ IdeController::IdeController(Params *p)
|
||||||
|
|
||||||
dmaInterface = new DMAInterface<Bus>(name() + ".dma",
|
dmaInterface = new DMAInterface<Bus>(name() + ".dma",
|
||||||
params()->host_bus,
|
params()->host_bus,
|
||||||
params()->host_bus, 1);
|
params()->host_bus, 1,
|
||||||
|
true);
|
||||||
pioLatency = params()->pio_latency * params()->host_bus->clockRatio;
|
pioLatency = params()->pio_latency * params()->host_bus->clockRatio;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -120,11 +120,13 @@ NSGigE::NSGigE(Params *p)
|
||||||
if (p->payload_bus)
|
if (p->payload_bus)
|
||||||
dmaInterface = new DMAInterface<Bus>(name() + ".dma",
|
dmaInterface = new DMAInterface<Bus>(name() + ".dma",
|
||||||
p->header_bus,
|
p->header_bus,
|
||||||
p->payload_bus, 1);
|
p->payload_bus, 1,
|
||||||
|
p->dma_no_allocate);
|
||||||
else
|
else
|
||||||
dmaInterface = new DMAInterface<Bus>(name() + ".dma",
|
dmaInterface = new DMAInterface<Bus>(name() + ".dma",
|
||||||
p->header_bus,
|
p->header_bus,
|
||||||
p->header_bus, 1);
|
p->header_bus, 1,
|
||||||
|
p->dma_no_allocate);
|
||||||
} else if (p->payload_bus) {
|
} else if (p->payload_bus) {
|
||||||
pioInterface = newPioInterface(name(), p->hier,
|
pioInterface = newPioInterface(name(), p->hier,
|
||||||
p->payload_bus, this,
|
p->payload_bus, this,
|
||||||
|
@ -134,7 +136,8 @@ NSGigE::NSGigE(Params *p)
|
||||||
|
|
||||||
dmaInterface = new DMAInterface<Bus>(name() + ".dma",
|
dmaInterface = new DMAInterface<Bus>(name() + ".dma",
|
||||||
p->payload_bus,
|
p->payload_bus,
|
||||||
p->payload_bus, 1);
|
p->payload_bus, 1,
|
||||||
|
p->dma_no_allocate);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -747,6 +750,10 @@ NSGigE::read(MemReqPtr &req, uint8_t *data)
|
||||||
reg = regs.tesr;
|
reg = regs.tesr;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case M5REG:
|
||||||
|
reg = params()->m5reg;
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
panic("reading unimplemented register: addr=%#x", daddr);
|
panic("reading unimplemented register: addr=%#x", daddr);
|
||||||
}
|
}
|
||||||
|
@ -2708,6 +2715,8 @@ BEGIN_DECLARE_SIM_OBJECT_PARAMS(NSGigE)
|
||||||
Param<uint32_t> pci_func;
|
Param<uint32_t> pci_func;
|
||||||
Param<uint32_t> tx_fifo_size;
|
Param<uint32_t> tx_fifo_size;
|
||||||
Param<uint32_t> rx_fifo_size;
|
Param<uint32_t> rx_fifo_size;
|
||||||
|
Param<uint32_t> m5reg;
|
||||||
|
Param<bool> dma_no_allocate;
|
||||||
|
|
||||||
END_DECLARE_SIM_OBJECT_PARAMS(NSGigE)
|
END_DECLARE_SIM_OBJECT_PARAMS(NSGigE)
|
||||||
|
|
||||||
|
@ -2740,7 +2749,9 @@ BEGIN_INIT_SIM_OBJECT_PARAMS(NSGigE)
|
||||||
INIT_PARAM(pci_dev, "PCI device number"),
|
INIT_PARAM(pci_dev, "PCI device number"),
|
||||||
INIT_PARAM(pci_func, "PCI function code"),
|
INIT_PARAM(pci_func, "PCI function code"),
|
||||||
INIT_PARAM_DFLT(tx_fifo_size, "max size in bytes of txFifo", 131072),
|
INIT_PARAM_DFLT(tx_fifo_size, "max size in bytes of txFifo", 131072),
|
||||||
INIT_PARAM_DFLT(rx_fifo_size, "max size in bytes of rxFifo", 131072)
|
INIT_PARAM_DFLT(rx_fifo_size, "max size in bytes of rxFifo", 131072),
|
||||||
|
INIT_PARAM(m5reg, "m5 register"),
|
||||||
|
INIT_PARAM_DFLT(dma_no_allocate, "Should DMA reads allocate cache lines", true)
|
||||||
|
|
||||||
END_INIT_SIM_OBJECT_PARAMS(NSGigE)
|
END_INIT_SIM_OBJECT_PARAMS(NSGigE)
|
||||||
|
|
||||||
|
@ -2777,6 +2788,8 @@ CREATE_SIM_OBJECT(NSGigE)
|
||||||
params->eaddr = hardware_address;
|
params->eaddr = hardware_address;
|
||||||
params->tx_fifo_size = tx_fifo_size;
|
params->tx_fifo_size = tx_fifo_size;
|
||||||
params->rx_fifo_size = rx_fifo_size;
|
params->rx_fifo_size = rx_fifo_size;
|
||||||
|
params->m5reg = m5reg;
|
||||||
|
params->dma_no_allocate = dma_no_allocate;
|
||||||
return new NSGigE(params);
|
return new NSGigE(params);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -343,6 +343,8 @@ class NSGigE : public PciDev
|
||||||
Net::EthAddr eaddr;
|
Net::EthAddr eaddr;
|
||||||
uint32_t tx_fifo_size;
|
uint32_t tx_fifo_size;
|
||||||
uint32_t rx_fifo_size;
|
uint32_t rx_fifo_size;
|
||||||
|
uint32_t m5reg;
|
||||||
|
bool dma_no_allocate;
|
||||||
};
|
};
|
||||||
|
|
||||||
NSGigE(Params *params);
|
NSGigE(Params *params);
|
||||||
|
|
|
@ -117,7 +117,8 @@
|
||||||
#define TANLPAR 0xec
|
#define TANLPAR 0xec
|
||||||
#define TANER 0xf0
|
#define TANER 0xf0
|
||||||
#define TESR 0xf4
|
#define TESR 0xf4
|
||||||
#define LAST 0xf4
|
#define M5REG 0xf8
|
||||||
|
#define LAST 0xf8
|
||||||
#define RESERVED 0xfc
|
#define RESERVED 0xfc
|
||||||
|
|
||||||
/* chip command register */
|
/* chip command register */
|
||||||
|
|
12
dev/sinic.cc
12
dev/sinic.cc
|
@ -103,11 +103,11 @@ Device::Device(Params *p)
|
||||||
if (p->payload_bus)
|
if (p->payload_bus)
|
||||||
dmaInterface = new DMAInterface<Bus>(p->name + ".dma",
|
dmaInterface = new DMAInterface<Bus>(p->name + ".dma",
|
||||||
p->header_bus, p->payload_bus,
|
p->header_bus, p->payload_bus,
|
||||||
1);
|
1, p->dma_no_allocate);
|
||||||
else
|
else
|
||||||
dmaInterface = new DMAInterface<Bus>(p->name + ".dma",
|
dmaInterface = new DMAInterface<Bus>(p->name + ".dma",
|
||||||
p->header_bus, p->header_bus,
|
p->header_bus, p->header_bus,
|
||||||
1);
|
1, p->dma_no_allocate);
|
||||||
} else if (p->payload_bus) {
|
} else if (p->payload_bus) {
|
||||||
pioInterface = newPioInterface(p->name, p->hier, p->payload_bus, this,
|
pioInterface = newPioInterface(p->name, p->hier, p->payload_bus, this,
|
||||||
&Device::cacheAccess);
|
&Device::cacheAccess);
|
||||||
|
@ -115,7 +115,8 @@ Device::Device(Params *p)
|
||||||
pioLatency = p->pio_latency * p->payload_bus->clockRatio;
|
pioLatency = p->pio_latency * p->payload_bus->clockRatio;
|
||||||
|
|
||||||
dmaInterface = new DMAInterface<Bus>(p->name + ".dma", p->payload_bus,
|
dmaInterface = new DMAInterface<Bus>(p->name + ".dma", p->payload_bus,
|
||||||
p->payload_bus, 1);
|
p->payload_bus, 1,
|
||||||
|
p->dma_no_allocate);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1388,6 +1389,7 @@ BEGIN_DECLARE_SIM_OBJECT_PARAMS(Device)
|
||||||
Param<Tick> dma_read_factor;
|
Param<Tick> dma_read_factor;
|
||||||
Param<Tick> dma_write_delay;
|
Param<Tick> dma_write_delay;
|
||||||
Param<Tick> dma_write_factor;
|
Param<Tick> dma_write_factor;
|
||||||
|
Param<bool> dma_no_allocate;
|
||||||
|
|
||||||
END_DECLARE_SIM_OBJECT_PARAMS(Device)
|
END_DECLARE_SIM_OBJECT_PARAMS(Device)
|
||||||
|
|
||||||
|
@ -1421,7 +1423,8 @@ BEGIN_INIT_SIM_OBJECT_PARAMS(Device)
|
||||||
INIT_PARAM_DFLT(dma_read_delay, "fixed delay for dma reads", 0),
|
INIT_PARAM_DFLT(dma_read_delay, "fixed delay for dma reads", 0),
|
||||||
INIT_PARAM_DFLT(dma_read_factor, "multiplier for dma reads", 0),
|
INIT_PARAM_DFLT(dma_read_factor, "multiplier for dma reads", 0),
|
||||||
INIT_PARAM_DFLT(dma_write_delay, "fixed delay for dma writes", 0),
|
INIT_PARAM_DFLT(dma_write_delay, "fixed delay for dma writes", 0),
|
||||||
INIT_PARAM_DFLT(dma_write_factor, "multiplier for dma writes", 0)
|
INIT_PARAM_DFLT(dma_write_factor, "multiplier for dma writes", 0),
|
||||||
|
INIT_PARAM_DFLT(dma_no_allocate, "Should we allocat on read in cache", true)
|
||||||
|
|
||||||
END_INIT_SIM_OBJECT_PARAMS(Device)
|
END_INIT_SIM_OBJECT_PARAMS(Device)
|
||||||
|
|
||||||
|
@ -1458,6 +1461,7 @@ CREATE_SIM_OBJECT(Device)
|
||||||
params->dma_read_factor = dma_read_factor;
|
params->dma_read_factor = dma_read_factor;
|
||||||
params->dma_write_delay = dma_write_delay;
|
params->dma_write_delay = dma_write_delay;
|
||||||
params->dma_write_factor = dma_write_factor;
|
params->dma_write_factor = dma_write_factor;
|
||||||
|
params->dma_no_allocate = dma_no_allocate;
|
||||||
return new Device(params);
|
return new Device(params);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -316,6 +316,7 @@ class Device : public Base
|
||||||
Tick dma_read_factor;
|
Tick dma_read_factor;
|
||||||
Tick dma_write_delay;
|
Tick dma_write_delay;
|
||||||
Tick dma_write_factor;
|
Tick dma_write_factor;
|
||||||
|
bool dma_no_allocate;
|
||||||
};
|
};
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
|
@ -109,12 +109,13 @@ LinuxSystem::LinuxSystem(Params *p)
|
||||||
kernelPanicEvent->schedule(addr);
|
kernelPanicEvent->schedule(addr);
|
||||||
else
|
else
|
||||||
panic("could not find kernel symbol \'panic\'");
|
panic("could not find kernel symbol \'panic\'");
|
||||||
|
#if 0
|
||||||
kernelDieEvent = new BreakPCEvent(&pcEventQueue, "die if kernel");
|
kernelDieEvent = new BreakPCEvent(&pcEventQueue, "die if kernel");
|
||||||
if (kernelSymtab->findAddress("die_if_kernel", addr))
|
if (kernelSymtab->findAddress("die_if_kernel", addr))
|
||||||
kernelDieEvent->schedule(addr);
|
kernelDieEvent->schedule(addr);
|
||||||
else
|
else
|
||||||
panic("could not find kernel symbol \'die_if_kernel\'");
|
panic("could not find kernel symbol \'die_if_kernel\'");
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -177,7 +177,7 @@ class Proxy(object):
|
||||||
|
|
||||||
# support multiplying proxies by constants
|
# support multiplying proxies by constants
|
||||||
def __mul__(self, other):
|
def __mul__(self, other):
|
||||||
if not isinstance(other, int):
|
if not isinstance(other, (int, float)):
|
||||||
raise TypeError, "Proxy multiplier must be integer"
|
raise TypeError, "Proxy multiplier must be integer"
|
||||||
if self._multiplier == None:
|
if self._multiplier == None:
|
||||||
self._multiplier = other
|
self._multiplier = other
|
||||||
|
@ -186,13 +186,19 @@ class Proxy(object):
|
||||||
self._multiplier *= other
|
self._multiplier *= other
|
||||||
return self
|
return self
|
||||||
|
|
||||||
|
__rmul__ = __mul__
|
||||||
|
|
||||||
def _mulcheck(self, result):
|
def _mulcheck(self, result):
|
||||||
if self._multiplier == None:
|
if self._multiplier == None:
|
||||||
return result
|
return result
|
||||||
if not isinstance(result, int):
|
if not isinstance(result, int):
|
||||||
raise TypeError, "Proxy with multiplier resolves to " \
|
# this was an error, but for now we'll assume if it's not
|
||||||
"non-integer value"
|
# an int it must be a Frequency (yuk)
|
||||||
return result * self._multiplier
|
result = Frequency._convert(result)
|
||||||
|
# assuming we're dealing with a frequency here, turn it into
|
||||||
|
# a string and give it a 't' suffix so the Frequency._convert
|
||||||
|
# doesn't choke on it later.
|
||||||
|
return ("%d" % int(round((result * self._multiplier)))) + 't'
|
||||||
|
|
||||||
def unproxy(self, base, ptype):
|
def unproxy(self, base, ptype):
|
||||||
obj = base
|
obj = base
|
||||||
|
|
|
@ -41,6 +41,7 @@ simobj EtherDev(DmaDevice):
|
||||||
dma_read_factor = Param.Latency('0us', "multiplier for dma reads")
|
dma_read_factor = Param.Latency('0us', "multiplier for dma reads")
|
||||||
dma_write_delay = Param.Latency('0us', "fixed delay for dma writes")
|
dma_write_delay = Param.Latency('0us', "fixed delay for dma writes")
|
||||||
dma_write_factor = Param.Latency('0us', "multiplier for dma writes")
|
dma_write_factor = Param.Latency('0us', "multiplier for dma writes")
|
||||||
|
dma_no_allocate = Param.Bool(True, "Should we allocate cache on read")
|
||||||
|
|
||||||
rx_filter = Param.Bool(True, "Enable Receive Filter")
|
rx_filter = Param.Bool(True, "Enable Receive Filter")
|
||||||
rx_delay = Param.Latency('1us', "Receive Delay")
|
rx_delay = Param.Latency('1us', "Receive Delay")
|
||||||
|
@ -64,6 +65,8 @@ simobj NSGigE(PciDevice):
|
||||||
dma_read_factor = Param.Latency('0us', "multiplier for dma reads")
|
dma_read_factor = Param.Latency('0us', "multiplier for dma reads")
|
||||||
dma_write_delay = Param.Latency('0us', "fixed delay for dma writes")
|
dma_write_delay = Param.Latency('0us', "fixed delay for dma writes")
|
||||||
dma_write_factor = Param.Latency('0us', "multiplier for dma writes")
|
dma_write_factor = Param.Latency('0us', "multiplier for dma writes")
|
||||||
|
dma_no_allocate = Param.Bool(True, "Should we allocate cache on read")
|
||||||
|
|
||||||
|
|
||||||
rx_filter = Param.Bool(True, "Enable Receive Filter")
|
rx_filter = Param.Bool(True, "Enable Receive Filter")
|
||||||
rx_delay = Param.Latency('1us', "Receive Delay")
|
rx_delay = Param.Latency('1us', "Receive Delay")
|
||||||
|
@ -72,6 +75,8 @@ simobj NSGigE(PciDevice):
|
||||||
rx_fifo_size = Param.MemorySize('128kB', "max size in bytes of rxFifo")
|
rx_fifo_size = Param.MemorySize('128kB', "max size in bytes of rxFifo")
|
||||||
tx_fifo_size = Param.MemorySize('128kB', "max size in bytes of txFifo")
|
tx_fifo_size = Param.MemorySize('128kB', "max size in bytes of txFifo")
|
||||||
|
|
||||||
|
m5reg = Param.UInt32(0, "Register for m5 usage")
|
||||||
|
|
||||||
intr_delay = Param.Latency('0us', "Interrupt Delay in microseconds")
|
intr_delay = Param.Latency('0us', "Interrupt Delay in microseconds")
|
||||||
payload_bus = Param.Bus(NULL, "The IO Bus to attach to for payload")
|
payload_bus = Param.Bus(NULL, "The IO Bus to attach to for payload")
|
||||||
physmem = Param.PhysicalMemory(parent.any, "Physical Memory")
|
physmem = Param.PhysicalMemory(parent.any, "Physical Memory")
|
||||||
|
|
|
@ -172,15 +172,16 @@ template void \
|
||||||
arrayParamIn(Checkpoint *cp, const std::string §ion, \
|
arrayParamIn(Checkpoint *cp, const std::string §ion, \
|
||||||
const std::string &name, type *param, int size);
|
const std::string &name, type *param, int size);
|
||||||
|
|
||||||
|
INSTANTIATE_PARAM_TEMPLATES(signed char)
|
||||||
INSTANTIATE_PARAM_TEMPLATES(int8_t)
|
INSTANTIATE_PARAM_TEMPLATES(unsigned char)
|
||||||
INSTANTIATE_PARAM_TEMPLATES(uint8_t)
|
INSTANTIATE_PARAM_TEMPLATES(signed short)
|
||||||
INSTANTIATE_PARAM_TEMPLATES(int16_t)
|
INSTANTIATE_PARAM_TEMPLATES(unsigned short)
|
||||||
INSTANTIATE_PARAM_TEMPLATES(uint16_t)
|
INSTANTIATE_PARAM_TEMPLATES(signed int)
|
||||||
INSTANTIATE_PARAM_TEMPLATES(int32_t)
|
INSTANTIATE_PARAM_TEMPLATES(unsigned int)
|
||||||
INSTANTIATE_PARAM_TEMPLATES(uint32_t)
|
INSTANTIATE_PARAM_TEMPLATES(signed long)
|
||||||
INSTANTIATE_PARAM_TEMPLATES(int64_t)
|
INSTANTIATE_PARAM_TEMPLATES(unsigned long)
|
||||||
INSTANTIATE_PARAM_TEMPLATES(uint64_t)
|
INSTANTIATE_PARAM_TEMPLATES(signed long long)
|
||||||
|
INSTANTIATE_PARAM_TEMPLATES(unsigned long long)
|
||||||
INSTANTIATE_PARAM_TEMPLATES(bool)
|
INSTANTIATE_PARAM_TEMPLATES(bool)
|
||||||
INSTANTIATE_PARAM_TEMPLATES(string)
|
INSTANTIATE_PARAM_TEMPLATES(string)
|
||||||
|
|
||||||
|
|
|
@ -44,7 +44,7 @@ try:
|
||||||
offset = arg.find('=')
|
offset = arg.find('=')
|
||||||
if offset == -1:
|
if offset == -1:
|
||||||
name = arg
|
name = arg
|
||||||
value = '1'
|
value = 'True'
|
||||||
else:
|
else:
|
||||||
name = arg[:offset]
|
name = arg[:offset]
|
||||||
value = arg[offset+1:]
|
value = arg[offset+1:]
|
||||||
|
|
Loading…
Reference in a new issue