Merge with main repository.
This commit is contained in:
commit
e88165a431
19 changed files with 13 additions and 33 deletions
|
@ -181,7 +181,6 @@ if options.ruby:
|
||||||
options.use_map = True
|
options.use_map = True
|
||||||
Ruby.create_system(options, system)
|
Ruby.create_system(options, system)
|
||||||
assert(options.num_cpus == len(system.ruby._cpu_ruby_ports))
|
assert(options.num_cpus == len(system.ruby._cpu_ruby_ports))
|
||||||
system.system_port = system.ruby._sys_port_proxy.port
|
|
||||||
else:
|
else:
|
||||||
system.system_port = system.membus.port
|
system.system_port = system.membus.port
|
||||||
system.physmem.port = system.membus.port
|
system.physmem.port = system.membus.port
|
||||||
|
|
|
@ -105,6 +105,10 @@ def create_system(options, system, piobus = None, dma_devices = []):
|
||||||
# full-fledged controller
|
# full-fledged controller
|
||||||
system.sys_port_proxy = sys_port_proxy
|
system.sys_port_proxy = sys_port_proxy
|
||||||
|
|
||||||
|
# Connect the system port for loading of binaries etc
|
||||||
|
system.system_port = system.sys_port_proxy.port
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Set the network classes based on the command line options
|
# Set the network classes based on the command line options
|
||||||
#
|
#
|
||||||
|
@ -182,5 +186,4 @@ def create_system(options, system, piobus = None, dma_devices = []):
|
||||||
ruby.profiler = ruby_profiler
|
ruby.profiler = ruby_profiler
|
||||||
ruby.mem_size = total_mem_size
|
ruby.mem_size = total_mem_size
|
||||||
ruby._cpu_ruby_ports = cpu_sequencers
|
ruby._cpu_ruby_ports = cpu_sequencers
|
||||||
ruby._sys_port_proxy = sys_port_proxy
|
|
||||||
ruby.random_seed = options.random_seed
|
ruby.random_seed = options.random_seed
|
||||||
|
|
|
@ -38,7 +38,6 @@
|
||||||
#include "arch/arm/utility.hh"
|
#include "arch/arm/utility.hh"
|
||||||
|
|
||||||
class ThreadContext;
|
class ThreadContext;
|
||||||
class FunctionalPort;
|
|
||||||
|
|
||||||
namespace ArmISA {
|
namespace ArmISA {
|
||||||
inline Addr PteAddr(Addr a) { return (a & PteMask) << PteShift; }
|
inline Addr PteAddr(Addr a) { return (a & PteMask) << PteShift; }
|
||||||
|
|
|
@ -38,7 +38,6 @@
|
||||||
#include "arch/mips/utility.hh"
|
#include "arch/mips/utility.hh"
|
||||||
|
|
||||||
class ThreadContext;
|
class ThreadContext;
|
||||||
class FunctionalPort;
|
|
||||||
|
|
||||||
namespace MipsISA {
|
namespace MipsISA {
|
||||||
Addr vtophys(Addr vaddr);
|
Addr vtophys(Addr vaddr);
|
||||||
|
|
|
@ -40,7 +40,6 @@
|
||||||
#include "arch/power/utility.hh"
|
#include "arch/power/utility.hh"
|
||||||
|
|
||||||
class ThreadContext;
|
class ThreadContext;
|
||||||
class FunctionalPort;
|
|
||||||
|
|
||||||
namespace PowerISA {
|
namespace PowerISA {
|
||||||
|
|
||||||
|
|
|
@ -36,13 +36,9 @@
|
||||||
#include "arch/sparc/pagetable.hh"
|
#include "arch/sparc/pagetable.hh"
|
||||||
|
|
||||||
class ThreadContext;
|
class ThreadContext;
|
||||||
class FunctionalPort;
|
|
||||||
|
|
||||||
namespace SparcISA {
|
namespace SparcISA {
|
||||||
|
|
||||||
PageTableEntry
|
|
||||||
kernel_pte_lookup(FunctionalPort *mem, Addr ptbr, SparcISA::VAddr vaddr);
|
|
||||||
|
|
||||||
Addr vtophys(Addr vaddr);
|
Addr vtophys(Addr vaddr);
|
||||||
Addr vtophys(ThreadContext *tc, Addr vaddr);
|
Addr vtophys(ThreadContext *tc, Addr vaddr);
|
||||||
|
|
||||||
|
|
|
@ -44,8 +44,6 @@ namespace Kernel {
|
||||||
class Statistics;
|
class Statistics;
|
||||||
};
|
};
|
||||||
|
|
||||||
class TranslatingPort;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Derived ThreadContext class for use with the InOrderCPU. It
|
* Derived ThreadContext class for use with the InOrderCPU. It
|
||||||
* provides the interface for any external objects to access a
|
* provides the interface for any external objects to access a
|
||||||
|
|
|
@ -40,8 +40,6 @@ namespace Kernel {
|
||||||
class Statistics;
|
class Statistics;
|
||||||
};
|
};
|
||||||
|
|
||||||
class TranslatingPort;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Derived ThreadContext class for use with the O3CPU. It
|
* Derived ThreadContext class for use with the O3CPU. It
|
||||||
* provides the interface for any external objects to access a
|
* provides the interface for any external objects to access a
|
||||||
|
|
|
@ -57,8 +57,6 @@ class BaseCPU;
|
||||||
|
|
||||||
class FunctionProfile;
|
class FunctionProfile;
|
||||||
class ProfileNode;
|
class ProfileNode;
|
||||||
class PhysicalPort;
|
|
||||||
class TranslatingPort;
|
|
||||||
|
|
||||||
namespace TheISA {
|
namespace TheISA {
|
||||||
namespace Kernel {
|
namespace Kernel {
|
||||||
|
|
|
@ -34,8 +34,6 @@
|
||||||
#include "base/types.hh"
|
#include "base/types.hh"
|
||||||
#include "kern/operatingsystem.hh"
|
#include "kern/operatingsystem.hh"
|
||||||
|
|
||||||
class TranslatingPort;
|
|
||||||
|
|
||||||
///
|
///
|
||||||
/// This class encapsulates the types, structures, constants,
|
/// This class encapsulates the types, structures, constants,
|
||||||
/// functions, and syscall-number mappings specific to the Solaris
|
/// functions, and syscall-number mappings specific to the Solaris
|
||||||
|
|
|
@ -88,8 +88,7 @@ RubyPort::getPort(const std::string &if_name, int idx)
|
||||||
// RubyPort should only have one port to physical memory
|
// RubyPort should only have one port to physical memory
|
||||||
assert (physMemPort == NULL);
|
assert (physMemPort == NULL);
|
||||||
|
|
||||||
physMemPort = new M5Port(csprintf("%s-physMemPort", name()), this,
|
physMemPort = new PioPort(csprintf("%s-physMemPort", name()), this);
|
||||||
ruby_system, access_phys_mem);
|
|
||||||
|
|
||||||
return physMemPort;
|
return physMemPort;
|
||||||
}
|
}
|
||||||
|
|
|
@ -155,7 +155,7 @@ class RubyPort : public MemObject
|
||||||
uint16_t m_port_id;
|
uint16_t m_port_id;
|
||||||
uint64_t m_request_cnt;
|
uint64_t m_request_cnt;
|
||||||
|
|
||||||
M5Port* physMemPort;
|
PioPort* physMemPort;
|
||||||
|
|
||||||
/*! Vector of CPU Port attached to this Ruby port. */
|
/*! Vector of CPU Port attached to this Ruby port. */
|
||||||
typedef std::vector<M5Port*>::iterator CpuPortIter;
|
typedef std::vector<M5Port*>::iterator CpuPortIter;
|
||||||
|
|
|
@ -106,10 +106,6 @@ for (i, ruby_port) in enumerate(system.ruby._cpu_ruby_ports):
|
||||||
#
|
#
|
||||||
ruby_port.access_phys_mem = False
|
ruby_port.access_phys_mem = False
|
||||||
|
|
||||||
|
|
||||||
# Connect the system port for loading of binaries etc
|
|
||||||
system.system_port = system.ruby._sys_port_proxy.port
|
|
||||||
|
|
||||||
# -----------------------
|
# -----------------------
|
||||||
# run simulation
|
# run simulation
|
||||||
# -----------------------
|
# -----------------------
|
||||||
|
|
|
@ -46,6 +46,8 @@ for cpu in cpus:
|
||||||
# connect memory to membus
|
# connect memory to membus
|
||||||
system.physmem.port = system.membus.port
|
system.physmem.port = system.membus.port
|
||||||
|
|
||||||
|
# Connect the system port for loading of binaries etc
|
||||||
|
system.system_port = system.membus.port
|
||||||
|
|
||||||
# -----------------------
|
# -----------------------
|
||||||
# run simulation
|
# run simulation
|
||||||
|
|
|
@ -43,4 +43,7 @@ system = System(cpu = cpu,
|
||||||
system.physmem.port = system.membus.port
|
system.physmem.port = system.membus.port
|
||||||
cpu.connectAllPorts(system.membus)
|
cpu.connectAllPorts(system.membus)
|
||||||
|
|
||||||
|
# Connect the system port for loading of binaries etc
|
||||||
|
system.system_port = system.membus.port
|
||||||
|
|
||||||
root = Root(full_system = False, system = system)
|
root = Root(full_system = False, system = system)
|
||||||
|
|
|
@ -102,9 +102,6 @@ for ruby_port in system.ruby._cpu_ruby_ports:
|
||||||
#
|
#
|
||||||
ruby_port.access_phys_mem = False
|
ruby_port.access_phys_mem = False
|
||||||
|
|
||||||
# Connect the system port for loading of binaries etc
|
|
||||||
system.system_port = system.ruby._sys_port_proxy.port
|
|
||||||
|
|
||||||
# -----------------------
|
# -----------------------
|
||||||
# run simulation
|
# run simulation
|
||||||
# -----------------------
|
# -----------------------
|
||||||
|
|
|
@ -47,6 +47,8 @@ for cpu in cpus:
|
||||||
# connect memory to membus
|
# connect memory to membus
|
||||||
system.physmem.port = system.membus.port
|
system.physmem.port = system.membus.port
|
||||||
|
|
||||||
|
# Connect the system port for loading of binaries etc
|
||||||
|
system.system_port = system.membus.port
|
||||||
|
|
||||||
# -----------------------
|
# -----------------------
|
||||||
# run simulation
|
# run simulation
|
||||||
|
|
|
@ -85,9 +85,6 @@ for (i, cpu) in enumerate(system.cpu):
|
||||||
cpu.icache_port = system.ruby._cpu_ruby_ports[i].port
|
cpu.icache_port = system.ruby._cpu_ruby_ports[i].port
|
||||||
cpu.dcache_port = system.ruby._cpu_ruby_ports[i].port
|
cpu.dcache_port = system.ruby._cpu_ruby_ports[i].port
|
||||||
|
|
||||||
# Connect the system port for loading of binaries etc
|
|
||||||
system.system_port = system.ruby._sys_port_proxy.port
|
|
||||||
|
|
||||||
# -----------------------
|
# -----------------------
|
||||||
# run simulation
|
# run simulation
|
||||||
# -----------------------
|
# -----------------------
|
||||||
|
|
|
@ -81,9 +81,6 @@ assert(len(system.ruby._cpu_ruby_ports) == 1)
|
||||||
#
|
#
|
||||||
cpu.connectAllPorts(system.ruby._cpu_ruby_ports[0])
|
cpu.connectAllPorts(system.ruby._cpu_ruby_ports[0])
|
||||||
|
|
||||||
# Connect the system port for loading of binaries etc
|
|
||||||
system.system_port = system.ruby._sys_port_proxy.port
|
|
||||||
|
|
||||||
# -----------------------
|
# -----------------------
|
||||||
# run simulation
|
# run simulation
|
||||||
# -----------------------
|
# -----------------------
|
||||||
|
|
Loading…
Reference in a new issue