Example #1
0
File: vfs.py Project: vvangmj/gem5v
    else:
        fatal("incapable of building non-alpha or non-x86 full system!")

    if options.kernel is not None:
        systems[i].kernel = binary(options.kernel)

    if options.script is not None:
        systems[i].readfile = options.script

    systems[i].cpu = [CPUClass(cpu_id=j) for j in xrange(int(vm_cpus[i]))]
    total_num_cpus += int(vm_cpus[i])
    total_mem_size.value += MemorySize(vm_mems[i]).value

#FIXME
print "before creating ruby"
ruby = Ruby.create_vsystem(options, systems, total_num_cpus, total_mem_size,
                           vm_cpus, vm_mems)
print "after ruby"

#systems[0].dir_cntrl0.directory.size = options.virtual_mem_size
#system.ruby.mem_size = options.mem_size

k = 0
for j in xrange(num_vms):
    for (i, cpu) in enumerate(systems[j].cpu):
        #
        # Tie the cpu ports to the correct ruby system ports
        #
        cpu.createInterruptController()
        cpu.icache_port = ruby._cpu_ruby_ports[k].slave
        cpu.dcache_port = ruby._cpu_ruby_ports[k].slave
        if buildEnv['TARGET_ISA'] == "x86":
Example #2
0
            systems[i].cpu[cpu_index].vcpu_start_tick = (
                options.vm_context_switch_hyperperiod * cpu_accumulated
                - options.vm_context_switch_hyperperiod * float(vmm_cpu_matrix[i][j])
                + options.vm_context_switch_overhead
            )
            print "hyper period %d" % systems[i].cpu[cpu_index].vcpu_hyperperiod
            print "start %d" % systems[i].cpu[cpu_index].vcpu_start_tick
            print "stop %d" % systems[i].cpu[cpu_index].vcpu_stop_tick
            # assert(systems[i].cpu[cpu_index].vcpu_start_tick < systems[i].cpu[cpu_index].vcpu_stop_tick)
        if cpu_accumulated > 0:
            cpu_index += 1
            # print "cpu index = %d" % cpu_index


# print "before creating ruby"
ruby = Ruby.create_vsystem(options, systems, total_num_cpus, total_mem_size, vm_cpus, vm_mems, vmm_cpu_matrix)
# print "after ruby"


# systems[0].dir_cntrl0.directory.size = options.virtual_mem_size
# system.ruby.mem_size = options.mem_size

k = 0
for j in xrange(num_vms):
    for (i, cpu) in enumerate(systems[j].cpu):
        #
        # Tie the cpu ports to the correct ruby system ports
        #
        cpu.createInterruptController()
        cpu.icache_port = ruby._cpu_ruby_ports[k].slave
        cpu.dcache_port = ruby._cpu_ruby_ports[k].slave