[gem5-dev] Cron m5test@zizzer /z/m5/regression/do-regression quick

2014-11-19 Thread Cron Daemon via gem5-dev
* build/ALPHA/tests/opt/quick/se/00.hello/alpha/linux/minor-timing passed.
* build/ALPHA/tests/opt/quick/se/00.hello/alpha/linux/o3-timing passed.
* build/ALPHA/tests/opt/quick/se/00.hello/alpha/linux/simple-atomic passed.
* build/ALPHA/tests/opt/quick/se/00.hello/alpha/linux/simple-timing passed.
* build/ALPHA/tests/opt/quick/se/00.hello/alpha/linux/simple-timing-ruby 
passed.
* build/ALPHA/tests/opt/quick/se/00.hello/alpha/tru64/simple-timing 
passed.* build/ALPHA/tests/opt/quick/se/00.hello/alpha/tru64/o3-timing 
passed.
 * build/ALPHA/tests/opt/quick/se/00.hello/alpha/tru64/minor-timing passed.
* build/ALPHA/tests/opt/quick/se/00.hello/alpha/tru64/simple-timing-ruby 
passed.
* build/ALPHA/tests/opt/quick/se/00.hello/alpha/tru64/simple-atomic passed.
* build/ALPHA/tests/opt/quick/se/20.eio-short/alpha/eio/simple-atomic 
passed.
* build/ALPHA/tests/opt/quick/se/20.eio-short/alpha/eio/simple-timing 
passed.
* build/ALPHA/tests/opt/quick/se/30.eio-mp/alpha/eio/simple-atomic-mp 
passed.
* build/ALPHA/tests/opt/quick/se/30.eio-mp/alpha/eio/simple-timing-mp 
passed.
* build/ALPHA/tests/opt/quick/se/50.memtest/alpha/linux/memtest-ruby passed.
* build/ALPHA/tests/opt/quick/se/01.hello-2T-smt/alpha/linux/o3-timing 
passed.
* 
build/ALPHA/tests/opt/quick/fs/10.linux-boot/alpha/linux/tsunami-simple-atomic 
passed.
* build/ALPHA/tests/opt/quick/se/60.rubytest/alpha/linux/rubytest-ruby 
passed.
* 
build/ALPHA/tests/opt/quick/fs/10.linux-boot/alpha/linux/tsunami-simple-atomic-dual
 passed.
* 
build/ALPHA/tests/opt/quick/fs/10.linux-boot/alpha/linux/tsunami-simple-timing 
passed.
* 
build/ALPHA/tests/opt/quick/fs/10.linux-boot/alpha/linux/tsunami-simple-timing-dual
 passed.
* 
build/ALPHA/tests/opt/quick/fs/80.netperf-stream/alpha/linux/twosys-tsunami-simple-atomic
 passed.
* 
build/ALPHA_MOESI_hammer/tests/opt/quick/se/00.hello/alpha/linux/simple-timing-ruby-MOESI_hammer
 passed.
* 
build/ALPHA_MOESI_hammer/tests/opt/quick/se/00.hello/alpha/tru64/simple-timing-ruby-MOESI_hammer
 passed.
* 
build/ALPHA_MOESI_hammer/tests/opt/quick/se/50.memtest/alpha/linux/memtest-ruby-MOESI_hammer
 passed.
* 
build/ALPHA_MOESI_hammer/tests/opt/quick/se/60.rubytest/alpha/linux/rubytest-ruby-MOESI_hammer
 passed.
* 
build/ALPHA_MESI_Two_Level/tests/opt/quick/se/00.hello/alpha/linux/simple-timing-ruby-MESI_Two_Level
 passed.
* 
build/ALPHA_MESI_Two_Level/tests/opt/quick/se/00.hello/alpha/tru64/simple-timing-ruby-MESI_Two_Level
 passed.
* 
build/ALPHA_MESI_Two_Level/tests/opt/quick/se/50.memtest/alpha/linux/memtest-ruby-MESI_Two_Level
 passed.
* 
build/ALPHA_MESI_Two_Level/tests/opt/quick/se/60.rubytest/alpha/linux/rubytest-ruby-MESI_Two_Level
 passed.
* 
build/ALPHA_MOESI_CMP_directory/tests/opt/quick/se/00.hello/alpha/linux/simple-timing-ruby-MOESI_CMP_directory
 passed.
* 
build/ALPHA_MOESI_CMP_directory/tests/opt/quick/se/50.memtest/alpha/linux/memtest-ruby-MOESI_CMP_directory
 passed.
* 
build/ALPHA_MOESI_CMP_directory/tests/opt/quick/se/00.hello/alpha/tru64/simple-timing-ruby-MOESI_CMP_directory
 passed.
* 
build/ALPHA_MOESI_CMP_directory/tests/opt/quick/se/60.rubytest/alpha/linux/rubytest-ruby-MOESI_CMP_directory
 passed.
* 
build/ALPHA_MOESI_CMP_token/tests/opt/quick/se/00.hello/alpha/linux/simple-timing-ruby-MOESI_CMP_token
 passed.
* 
build/ALPHA_MOESI_CMP_token/tests/opt/quick/se/00.hello/alpha/tru64/simple-timing-ruby-MOESI_CMP_token
 passed.
* 
build/ALPHA_MOESI_CMP_token/tests/opt/quick/se/50.memtest/alpha/linux/memtest-ruby-MOESI_CMP_token
 passed.
* 
build/ALPHA_MOESI_CMP_token/tests/opt/quick/se/60.rubytest/alpha/linux/rubytest-ruby-MOESI_CMP_token
 passed.
* build/MIPS/tests/opt/quick/se/00.hello/mips/linux/inorder-timing passed.
* build/MIPS/tests/opt/quick/se/00.hello/mips/linux/o3-timing passed.
* build/MIPS/tests/opt/quick/se/00.hello/mips/linux/simple-atomic passed.
* build/MIPS/tests/opt/quick/se/00.hello/mips/linux/simple-timing passed.
* build/MIPS/tests/opt/quick/se/00.hello/mips/linux/simple-timing-ruby 
passed.
* build/NULL/tests/opt/quick/se/50.memtest/null/none/memtest passed.
* build/NULL/tests/opt/quick/se/50.memtest/null/none/memtest-filter passed.
* build/NULL/tests/opt/quick/se/70.tgen/null/none/tgen-dram-ctrl passed.
* build/NULL/tests/opt/quick/se/70.tgen/null/none/tgen-simple-mem passed.
* build/POWER/tests/opt/quick/se/00.hello/power/linux/o3-timing passed.
* build/POWER/tests/opt/quick/se/00.hello/power/linux/simple-atomic passed.
* build/SPARC/tests/opt/quick/se/00.hello/sparc/linux/inorder-timing passed.
* build/SPARC/tests/opt/quick/se/00.hello/sparc/linux/simple-atomic passed.
* build/SPARC/tests/opt/quick/se/00.hello/sparc/linux/simple-timing passed.
* build/SPARC/tests/opt/quick/se/02.insttest/sparc/linux/inorder-timing 
passed.
* 

[gem5-dev] Review Request 2515: x86: pc: Put a stub IO device at port 0xed which the kernel can use for delays.

2014-11-19 Thread Gabe Black via gem5-dev

---
This is an automatically generated e-mail. To reply, visit:
http://reviews.gem5.org/r/2515/
---

Review request for Default.


Repository: gem5


Description
---

Changeset 10550:9fcdf186d7ba
---
x86: pc: Put a stub IO device at port 0xed which the kernel can use for delays.

There was already a stub device at 0x80, the port traditionally used for an IO
delay. 0x80 is also the port used for POST codes sent by firmware, and that
may have prompted adding this port as a second option.


Diffs
-

  src/dev/x86/Pc.py 288eb5ee4b0026d0cc1f02ec31748e0eaac06bc3 

Diff: http://reviews.gem5.org/r/2515/diff/


Testing
---


Thanks,

Gabe Black

___
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev


Re: [gem5-dev] Review Request 2504: config: Fix to SystemC example's event handling

2014-11-19 Thread Andrew Bardsley via gem5-dev


 On Nov. 19, 2014, 12:22 a.m., Cagdas Dirik wrote:
  Please ignore my last review. I made a mistake with my patches.
  
  In FS, X86 mode I was able to boot with python variant, checkpoint, run a 
  short program. Then I was able to restore from checkpoint and run the same 
  program again. And in systemc variant then I was able to restore from 
  checkpoint and run the same program.
  
  The exit was not clean though. It failed with
  fatal: Missed an event at time 123366500 gem5: 5699875688000, SystemC: 
  5699875688000  @ tick 5699875688000
  [eventLoop:sc_module.cc, line 192]
  
  But that may be due to m5_exit in the test program.
 

Hmm.  The problem seems to be that sometimes asynchronous events schedule 
actions based on gem5 time in the asynchronous event handler.  I'm adding code 
to catch up time in that handler and also a bit more 'in_simulate' checking and 
general event management to fix the problem.

A patch will follow...


- Andrew


---
This is an automatically generated e-mail. To reply, visit:
http://reviews.gem5.org/r/2504/#review5482
---


On Nov. 17, 2014, 6:19 a.m., Andreas Hansson wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 http://reviews.gem5.org/r/2504/
 ---
 
 (Updated Nov. 17, 2014, 6:19 a.m.)
 
 
 Review request for Default.
 
 
 Repository: gem5
 
 
 Description
 ---
 
 Changeset 10555:d1e51dc6cf86
 ---
 config: Fix to SystemC example's event handling
 
 This patch fixes checkpoint restore in the SystemC hosting example by handling
 early PollEvent events correctly before any EventQueue events are posted.
 
 The SystemC event queue handler (SCEventQueue) reports an error if the event
 loop is entered with no Events posted.  It is possible for this to happen
 after instantiate due to PollEvent events.  This patch separates out
 `external' events into a different handler in sc_module.cc to prevent the
 error from occurring.
 
 
 Diffs
 -
 
   util/systemc/Makefile 1a9e235cab09 
   util/systemc/main.cc 1a9e235cab09 
   util/systemc/sc_module.hh 1a9e235cab09 
   util/systemc/sc_module.cc 1a9e235cab09 
 
 Diff: http://reviews.gem5.org/r/2504/diff/
 
 
 Testing
 ---
 
 
 Thanks,
 
 Andreas Hansson
 


___
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev


Re: [gem5-dev] Review Request 2504: config: Fix to SystemC example's event handling

2014-11-19 Thread Andrew Bardsley via gem5-dev


 On Nov. 19, 2014, 12:22 a.m., Cagdas Dirik wrote:
  Please ignore my last review. I made a mistake with my patches.
  
  In FS, X86 mode I was able to boot with python variant, checkpoint, run a 
  short program. Then I was able to restore from checkpoint and run the same 
  program again. And in systemc variant then I was able to restore from 
  checkpoint and run the same program.
  
  The exit was not clean though. It failed with
  fatal: Missed an event at time 123366500 gem5: 5699875688000, SystemC: 
  5699875688000  @ tick 5699875688000
  [eventLoop:sc_module.cc, line 192]
  
  But that may be due to m5_exit in the test program.
 
 
 Andrew Bardsley wrote:
 Hmm.  The problem seems to be that sometimes asynchronous events schedule 
 actions based on gem5 time in the asynchronous event handler.  I'm adding 
 code to catch up time in that handler and also a bit more 'in_simulate' 
 checking and general event management to fix the problem.
 
 A patch will follow...

Oh, in the meantime, can you put the line:

getEventQueue(0)-setCurTick(systemc_time);

Near the top of serviceAsyncEvent and see if that helps.


- Andrew


---
This is an automatically generated e-mail. To reply, visit:
http://reviews.gem5.org/r/2504/#review5482
---


On Nov. 17, 2014, 6:19 a.m., Andreas Hansson wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 http://reviews.gem5.org/r/2504/
 ---
 
 (Updated Nov. 17, 2014, 6:19 a.m.)
 
 
 Review request for Default.
 
 
 Repository: gem5
 
 
 Description
 ---
 
 Changeset 10555:d1e51dc6cf86
 ---
 config: Fix to SystemC example's event handling
 
 This patch fixes checkpoint restore in the SystemC hosting example by handling
 early PollEvent events correctly before any EventQueue events are posted.
 
 The SystemC event queue handler (SCEventQueue) reports an error if the event
 loop is entered with no Events posted.  It is possible for this to happen
 after instantiate due to PollEvent events.  This patch separates out
 `external' events into a different handler in sc_module.cc to prevent the
 error from occurring.
 
 
 Diffs
 -
 
   util/systemc/Makefile 1a9e235cab09 
   util/systemc/main.cc 1a9e235cab09 
   util/systemc/sc_module.hh 1a9e235cab09 
   util/systemc/sc_module.cc 1a9e235cab09 
 
 Diff: http://reviews.gem5.org/r/2504/diff/
 
 
 Testing
 ---
 
 
 Thanks,
 
 Andreas Hansson
 


___
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev


Re: [gem5-dev] Review Request 2313: kvm, x86: Adding support for SE mode execution

2014-11-19 Thread Andreas Sandberg via gem5-dev


 On Nov. 18, 2014, 10:43 p.m., Gabe Black wrote:
  util/m5/m5ops.h, line 57
  http://reviews.gem5.org/r/2313/diff/4/?file=42082#file42082line57
 
  Why do we need psuedo ops for syscalls when there are actual syscall 
  instructions? The same goes for page faults. I'm not saying I know that we 
  don't, I'm just surprised that that would be necessary.
  
  It seems unlikely that a program is going to realize it's about to 
  cause a pagefault and obligingly call a special instruction first.

The problem is that KVM doesn't normally intercept syscalls. This means that 
they need a small syscall handler and fault handler stub to support SE mode in 
KVM (see RB #2322). There are other ways of communicating with the host (e.g., 
IO ports, hypervisor calls). The beauty of this solution is that it is 
supported seamlessly by the simulated CPUs, which makes it possible to do CPU 
switching reliably (we need to handle situation where the switch takes place 
while the stub code is executing). It should be fairly straight forward to 
extend this to simulated CPUs, making mixed FS/SE mode simulation possible.


 On Nov. 18, 2014, 10:43 p.m., Gabe Black wrote:
  src/arch/x86/pseudo_inst.hh, line 37
  http://reviews.gem5.org/r/2313/diff/4/?file=42075#file42075line37
 
  These should be camel case, not all lower case. ie. m5Syscall and 
  m5PageFault, depending on what you consider the boundary between words. 
  These should also be called gem5*.

I'd argue that we should stay with m5* in this case since the rest of the 
functions that are gem5-specific in the pseudo-inst interface is using that 
prefix. Having said that, we should probably rename them all at some point.


- Andreas


---
This is an automatically generated e-mail. To reply, visit:
http://reviews.gem5.org/r/2313/#review5480
---


On Sept. 30, 2014, 5:21 p.m., Alexandru Dutu wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 http://reviews.gem5.org/r/2313/
 ---
 
 (Updated Sept. 30, 2014, 5:21 p.m.)
 
 
 Review request for Default.
 
 
 Repository: gem5
 
 
 Description
 ---
 
 Changeset 10421:d4162e1b1c56
 ---
 kvm, x86: Adding support for SE mode execution
 This patch adds methods in KvmCPU model to handle KVM exits caused by syscall
 instructions and page faults. These types of exits will be encountered if
 KvmCPU is run in SE mode.
 
 
 Diffs
 -
 
   src/SConscript 28b31101d9e6e5e75d04448451986d6318383f3c 
   src/arch/SConscript 28b31101d9e6e5e75d04448451986d6318383f3c 
   src/arch/alpha/SConscript 28b31101d9e6e5e75d04448451986d6318383f3c 
   src/arch/arm/SConscript 28b31101d9e6e5e75d04448451986d6318383f3c 
   src/arch/arm/pseudo_inst.hh PRE-CREATION 
   src/arch/arm/pseudo_inst.cc PRE-CREATION 
   src/arch/mips/SConscript 28b31101d9e6e5e75d04448451986d6318383f3c 
   src/arch/power/SConscript 28b31101d9e6e5e75d04448451986d6318383f3c 
   src/arch/sparc/SConscript 28b31101d9e6e5e75d04448451986d6318383f3c 
   src/arch/x86/SConscript 28b31101d9e6e5e75d04448451986d6318383f3c 
   src/arch/x86/pseudo_inst.hh PRE-CREATION 
   src/arch/x86/pseudo_inst.cc PRE-CREATION 
   src/arch/x86/tlb.cc 28b31101d9e6e5e75d04448451986d6318383f3c 
   src/arch/x86/utility.cc 28b31101d9e6e5e75d04448451986d6318383f3c 
   src/cpu/kvm/base.cc 28b31101d9e6e5e75d04448451986d6318383f3c 
   src/sim/pseudo_inst.cc 28b31101d9e6e5e75d04448451986d6318383f3c 
   src/sim/system.cc 28b31101d9e6e5e75d04448451986d6318383f3c 
   util/m5/m5ops.h 28b31101d9e6e5e75d04448451986d6318383f3c 
 
 Diff: http://reviews.gem5.org/r/2313/diff/
 
 
 Testing
 ---
 
 Quick regressions passed.
 
 
 Thanks,
 
 Alexandru Dutu
 


___
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev


Re: [gem5-dev] Review Request 2313: kvm, x86: Adding support for SE mode execution

2014-11-19 Thread Andreas Sandberg via gem5-dev

---
This is an automatically generated e-mail. To reply, visit:
http://reviews.gem5.org/r/2313/#review5487
---



src/arch/arm/pseudo_inst.cc
http://reviews.gem5.org/r/2313/#comment4939

I'd suggest that you simplify this and get rid of all the arch-specific 
panic code and write it once in arch/generic/pseudo_inst.(cc|hh) and then 
import it in arch/XX/pseudo_inst.hh.

See arch/mips/mmapped_ipr.hh and arch/generic/mmapped_ipr.hh for an example.


Except for the issues pointed out by Gabe and Nilay, I think this looks good.

- Andreas Sandberg


On Sept. 30, 2014, 5:21 p.m., Alexandru Dutu wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 http://reviews.gem5.org/r/2313/
 ---
 
 (Updated Sept. 30, 2014, 5:21 p.m.)
 
 
 Review request for Default.
 
 
 Repository: gem5
 
 
 Description
 ---
 
 Changeset 10421:d4162e1b1c56
 ---
 kvm, x86: Adding support for SE mode execution
 This patch adds methods in KvmCPU model to handle KVM exits caused by syscall
 instructions and page faults. These types of exits will be encountered if
 KvmCPU is run in SE mode.
 
 
 Diffs
 -
 
   src/SConscript 28b31101d9e6e5e75d04448451986d6318383f3c 
   src/arch/SConscript 28b31101d9e6e5e75d04448451986d6318383f3c 
   src/arch/alpha/SConscript 28b31101d9e6e5e75d04448451986d6318383f3c 
   src/arch/arm/SConscript 28b31101d9e6e5e75d04448451986d6318383f3c 
   src/arch/arm/pseudo_inst.hh PRE-CREATION 
   src/arch/arm/pseudo_inst.cc PRE-CREATION 
   src/arch/mips/SConscript 28b31101d9e6e5e75d04448451986d6318383f3c 
   src/arch/power/SConscript 28b31101d9e6e5e75d04448451986d6318383f3c 
   src/arch/sparc/SConscript 28b31101d9e6e5e75d04448451986d6318383f3c 
   src/arch/x86/SConscript 28b31101d9e6e5e75d04448451986d6318383f3c 
   src/arch/x86/pseudo_inst.hh PRE-CREATION 
   src/arch/x86/pseudo_inst.cc PRE-CREATION 
   src/arch/x86/tlb.cc 28b31101d9e6e5e75d04448451986d6318383f3c 
   src/arch/x86/utility.cc 28b31101d9e6e5e75d04448451986d6318383f3c 
   src/cpu/kvm/base.cc 28b31101d9e6e5e75d04448451986d6318383f3c 
   src/sim/pseudo_inst.cc 28b31101d9e6e5e75d04448451986d6318383f3c 
   src/sim/system.cc 28b31101d9e6e5e75d04448451986d6318383f3c 
   util/m5/m5ops.h 28b31101d9e6e5e75d04448451986d6318383f3c 
 
 Diff: http://reviews.gem5.org/r/2313/diff/
 
 
 Testing
 ---
 
 Quick regressions passed.
 
 
 Thanks,
 
 Alexandru Dutu
 


___
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev


Re: [gem5-dev] Review Request 2513: KVM: Build in most of the KVM stuff even if we're not going to use it.

2014-11-19 Thread Andreas Sandberg via gem5-dev

On 18/11/14 13:22, Steve Reinhardt via gem5-dev wrote:

I haven't looked at the code in question, so I'm just going by what I've
seen in this email thread.  However, it seems like there ought to be some
alternative solutions here.  I like the general direction Andreas is going,
though it would be nice to avoid more multiple inheritance :).  The way I
see it, the basic idea there is to create an API (either on an existing
object like System or on a new object) that the device can call
irrespective of whether KVM is configured or not, but which gives enough
information to get the job done; then the other object can be responsible
for either coordinating with KVM or (presumably) ignoring all those calls
if KVM is not configured.

As a simpler alternative, maybe we don't need to give the kvm pointer to
the device via python; if the System object has an accessor that would
return the vm pointer, then the device could call that during
initialization, and it would of course just return NULL if kvm is not
configured


I would actually see it as a requirement of the new API that the
underlying kvm vm is not exposed to device models. Exposing the VM would
make the code base harder to maintain and extend (what if we want to add
support for another virtualization interface?).

The idea of adding a few more APIs to the System class seems good to me.
We already use it to coordinate physical memories. As far as I can tell
from the description a minimal API could look something like this:

void System::mapDeviceMemory(DeviceMemory mem)
void System::unmapDeviceMemory(DeviceMemory mem)

void System::registerMemoryCallbacks(const MemoryCallbackInterface
callbacks)

This would make it possible to get rid of the dependency between devices
and kvm. The kvm VM, or any other device that needs the information,
would just register a set of callbacks with the system (probably just
map/unmap notifications) and the device would just talk to the system
and be virtualization agnostic.

//Andreas


-- IMPORTANT NOTICE: The contents of this email and any attachments are 
confidential and may also be privileged. If you are not the intended recipient, 
please notify the sender immediately and do not disclose the contents to any 
other person, use it for any purpose, or store or copy the information in any 
medium.  Thank you.

ARM Limited, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in 
England  Wales, Company No:  2557590
ARM Holdings plc, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, 
Registered in England  Wales, Company No:  2548782

___
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev


Re: [gem5-dev] Review Request 2514: scons: Make the USE_KVM variable available in C++.

2014-11-19 Thread Andreas Sandberg via gem5-dev

---
This is an automatically generated e-mail. To reply, visit:
http://reviews.gem5.org/r/2514/#review5488
---


The change itself makes sense, but I'd really prefer if we could avoid 
conditional compilation and use a kvm-agnostic interface to handle device 
memory. See my reply in the email thread for RB #2513.

Consider this a ship it if it really turns out that using conditional 
compilation is the way to go.

- Andreas Sandberg


On Nov. 19, 2014, 6:44 a.m., Gabe Black wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 http://reviews.gem5.org/r/2514/
 ---
 
 (Updated Nov. 19, 2014, 6:44 a.m.)
 
 
 Review request for Default.
 
 
 Repository: gem5
 
 
 Description
 ---
 
 Changeset 10548:07c3cbac4cdd
 ---
 scons: Make the USE_KVM variable available in C++.
 
 We need it to determine whether we should expect KVM related parameters
 exist in the cirrus graphics device.
 
 
 Diffs
 -
 
   SConstruct 288eb5ee4b0026d0cc1f02ec31748e0eaac06bc3 
 
 Diff: http://reviews.gem5.org/r/2514/diff/
 
 
 Testing
 ---
 
 
 Thanks,
 
 Gabe Black
 


___
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev


Re: [gem5-dev] Review Request 2510: Let other objects set up memory like regions in a KVM VM.

2014-11-19 Thread Andreas Sandberg via gem5-dev

---
This is an automatically generated e-mail. To reply, visit:
http://reviews.gem5.org/r/2510/#review5489
---



src/cpu/kvm/vm.hh
http://reviews.gem5.org/r/2510/#comment4940

The returned slot ID should be typedef:ed, or preferably a struct since 
that would make type checking more reliable.



src/cpu/kvm/vm.hh
http://reviews.gem5.org/r/2510/#comment4944

Would it make sense to rename this to mapMemSlot? In my opinion, that'd be 
more descriptive.



src/cpu/kvm/vm.hh
http://reviews.gem5.org/r/2510/#comment4942

Indentation is inconsistent with the rest of the file.



src/cpu/kvm/vm.hh
http://reviews.gem5.org/r/2510/#comment4941

What's this group comment doing here and where is it terminated?



src/cpu/kvm/vm.hh
http://reviews.gem5.org/r/2510/#comment4945

How about renaming this to unmapMemSlot?



src/cpu/kvm/vm.cc
http://reviews.gem5.org/r/2510/#comment4943

Inconsistent indentation.


Overall, I'd prefer this to be an internal API and have some way of notifying 
the VM through the System instead of allowing objects to poke around directly. 
See my reply in the email thread for RB #2513.

- Andreas Sandberg


On Nov. 18, 2014, 1:29 a.m., Gabe Black wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 http://reviews.gem5.org/r/2510/
 ---
 
 (Updated Nov. 18, 2014, 1:29 a.m.)
 
 
 Review request for Default.
 
 
 Repository: gem5
 
 
 Description
 ---
 
 Changeset 10546:b4c9aa186307
 ---
 Let other objects set up memory like regions in a KVM VM.
 
 
 Diffs
 -
 
   src/cpu/kvm/vm.hh f66948658a36b6874e84ee5da37e70d351287cb4 
   src/cpu/kvm/vm.cc f66948658a36b6874e84ee5da37e70d351287cb4 
 
 Diff: http://reviews.gem5.org/r/2510/diff/
 
 
 Testing
 ---
 
 
 Thanks,
 
 Gabe Black
 


___
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev


Re: [gem5-dev] Review Request 2515: x86: pc: Put a stub IO device at port 0xed which the kernel can use for delays.

2014-11-19 Thread Andreas Sandberg via gem5-dev

---
This is an automatically generated e-mail. To reply, visit:
http://reviews.gem5.org/r/2515/#review5490
---



src/dev/x86/Pc.py
http://reviews.gem5.org/r/2515/#comment4946

I might be confused by the weird semantics of the gem5 configuration 
scripts, but isn't this killing the fake device for port 0x80?


- Andreas Sandberg


On Nov. 19, 2014, 9:26 a.m., Gabe Black wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 http://reviews.gem5.org/r/2515/
 ---
 
 (Updated Nov. 19, 2014, 9:26 a.m.)
 
 
 Review request for Default.
 
 
 Repository: gem5
 
 
 Description
 ---
 
 Changeset 10550:9fcdf186d7ba
 ---
 x86: pc: Put a stub IO device at port 0xed which the kernel can use for 
 delays.
 
 There was already a stub device at 0x80, the port traditionally used for an IO
 delay. 0x80 is also the port used for POST codes sent by firmware, and that
 may have prompted adding this port as a second option.
 
 
 Diffs
 -
 
   src/dev/x86/Pc.py 288eb5ee4b0026d0cc1f02ec31748e0eaac06bc3 
 
 Diff: http://reviews.gem5.org/r/2515/diff/
 
 
 Testing
 ---
 
 
 Thanks,
 
 Gabe Black
 


___
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev


Re: [gem5-dev] Review Request 2504: config: Fix to SystemC example's event handling

2014-11-19 Thread Cagdas Dirik via gem5-dev


 On Nov. 19, 2014, 12:22 a.m., Cagdas Dirik wrote:
  Please ignore my last review. I made a mistake with my patches.
  
  In FS, X86 mode I was able to boot with python variant, checkpoint, run a 
  short program. Then I was able to restore from checkpoint and run the same 
  program again. And in systemc variant then I was able to restore from 
  checkpoint and run the same program.
  
  The exit was not clean though. It failed with
  fatal: Missed an event at time 123366500 gem5: 5699875688000, SystemC: 
  5699875688000  @ tick 5699875688000
  [eventLoop:sc_module.cc, line 192]
  
  But that may be due to m5_exit in the test program.
 
 
 Andrew Bardsley wrote:
 Hmm.  The problem seems to be that sometimes asynchronous events schedule 
 actions based on gem5 time in the asynchronous event handler.  I'm adding 
 code to catch up time in that handler and also a bit more 'in_simulate' 
 checking and general event management to fix the problem.
 
 A patch will follow...
 
 Andrew Bardsley wrote:
 Oh, in the meantime, can you put the line:
 
 getEventQueue(0)-setCurTick(systemc_time);
 
 Near the top of serviceAsyncEvent and see if that helps.

Unfortunately that did not resolve the issue. Debugging it a bit more, here is 
what I believe is going wrong:

There is no sync point between gem5 curTick and sc_time_stamp(). Therefore, all 
events in the system are gem5 events based on curTick. Somewhere between 
SimControl::SimControl, SimControl::before_end_of_elaboration, and 
SimControl::run(), gem5 sub-system starts ticking before systemc starts 
SimControl::run(). And then we go into wait statement to advance systemc time, 
but gem5 keeps ticking. No gem5 module knows about systemc scheduler and the 
fact that they have to wait if we are restoring from a checkpoint. So gem5 
events gets scheduled just like normal execution, and shortly after things fall 
apart because curTick, sc_time_stamp, checkpoint time and event times are 
totally out of whack.


- Cagdas


---
This is an automatically generated e-mail. To reply, visit:
http://reviews.gem5.org/r/2504/#review5482
---


On Nov. 17, 2014, 6:19 a.m., Andreas Hansson wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 http://reviews.gem5.org/r/2504/
 ---
 
 (Updated Nov. 17, 2014, 6:19 a.m.)
 
 
 Review request for Default.
 
 
 Repository: gem5
 
 
 Description
 ---
 
 Changeset 10555:d1e51dc6cf86
 ---
 config: Fix to SystemC example's event handling
 
 This patch fixes checkpoint restore in the SystemC hosting example by handling
 early PollEvent events correctly before any EventQueue events are posted.
 
 The SystemC event queue handler (SCEventQueue) reports an error if the event
 loop is entered with no Events posted.  It is possible for this to happen
 after instantiate due to PollEvent events.  This patch separates out
 `external' events into a different handler in sc_module.cc to prevent the
 error from occurring.
 
 
 Diffs
 -
 
   util/systemc/Makefile 1a9e235cab09 
   util/systemc/main.cc 1a9e235cab09 
   util/systemc/sc_module.hh 1a9e235cab09 
   util/systemc/sc_module.cc 1a9e235cab09 
 
 Diff: http://reviews.gem5.org/r/2504/diff/
 
 
 Testing
 ---
 
 
 Thanks,
 
 Andreas Hansson
 


___
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev


Re: [gem5-dev] Review Request 2504: config: Fix to SystemC example's event handling

2014-11-19 Thread Cagdas Dirik via gem5-dev


 On Nov. 19, 2014, 12:22 a.m., Cagdas Dirik wrote:
  Please ignore my last review. I made a mistake with my patches.
  
  In FS, X86 mode I was able to boot with python variant, checkpoint, run a 
  short program. Then I was able to restore from checkpoint and run the same 
  program again. And in systemc variant then I was able to restore from 
  checkpoint and run the same program.
  
  The exit was not clean though. It failed with
  fatal: Missed an event at time 123366500 gem5: 5699875688000, SystemC: 
  5699875688000  @ tick 5699875688000
  [eventLoop:sc_module.cc, line 192]
  
  But that may be due to m5_exit in the test program.
 
 
 Andrew Bardsley wrote:
 Hmm.  The problem seems to be that sometimes asynchronous events schedule 
 actions based on gem5 time in the asynchronous event handler.  I'm adding 
 code to catch up time in that handler and also a bit more 'in_simulate' 
 checking and general event management to fix the problem.
 
 A patch will follow...
 
 Andrew Bardsley wrote:
 Oh, in the meantime, can you put the line:
 
 getEventQueue(0)-setCurTick(systemc_time);
 
 Near the top of serviceAsyncEvent and see if that helps.
 
 Cagdas Dirik wrote:
 Unfortunately that did not resolve the issue. Debugging it a bit more, 
 here is what I believe is going wrong:
 
 There is no sync point between gem5 curTick and sc_time_stamp(). 
 Therefore, all events in the system are gem5 events based on curTick. 
 Somewhere between SimControl::SimControl, 
 SimControl::before_end_of_elaboration, and SimControl::run(), gem5 sub-system 
 starts ticking before systemc starts SimControl::run(). And then we go into 
 wait statement to advance systemc time, but gem5 keeps ticking. No gem5 
 module knows about systemc scheduler and the fact that they have to wait if 
 we are restoring from a checkpoint. So gem5 events gets scheduled just like 
 normal execution, and shortly after things fall apart because curTick, 
 sc_time_stamp, checkpoint time and event times are totally out of whack.

I believe I have a solution in mind. Let me run it by you and may be you can 
add it to your patch.

1. I would remove config_manager-instantiate() from the end of 
SimControl::SimControl, because we don't want any gem5 parts start ticking yet.
2. Instead at the end of SimControl::SimControl() unserializeGlobals, save 
pointer to checkpoint, and only calculate what the restore time would be.
3. Don't anything in before_end_of_elaboration(), because we may need to wait 
if checkpoint_restore is true.
4. Have another SimControl method to finish instantiation, initState/loadState, 
and startup.
5. At the beginning of run(), continue with if (checkpoint_restore) statement, 
wait if needed. Afterwards reset curTick to sc_time_stamp() and then call 
method from step 4 which would setup everything else. Then gem5 will start 
ticking and curTick will be inline with sc_time_stamp().


- Cagdas


---
This is an automatically generated e-mail. To reply, visit:
http://reviews.gem5.org/r/2504/#review5482
---


On Nov. 17, 2014, 6:19 a.m., Andreas Hansson wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 http://reviews.gem5.org/r/2504/
 ---
 
 (Updated Nov. 17, 2014, 6:19 a.m.)
 
 
 Review request for Default.
 
 
 Repository: gem5
 
 
 Description
 ---
 
 Changeset 10555:d1e51dc6cf86
 ---
 config: Fix to SystemC example's event handling
 
 This patch fixes checkpoint restore in the SystemC hosting example by handling
 early PollEvent events correctly before any EventQueue events are posted.
 
 The SystemC event queue handler (SCEventQueue) reports an error if the event
 loop is entered with no Events posted.  It is possible for this to happen
 after instantiate due to PollEvent events.  This patch separates out
 `external' events into a different handler in sc_module.cc to prevent the
 error from occurring.
 
 
 Diffs
 -
 
   util/systemc/Makefile 1a9e235cab09 
   util/systemc/main.cc 1a9e235cab09 
   util/systemc/sc_module.hh 1a9e235cab09 
   util/systemc/sc_module.cc 1a9e235cab09 
 
 Diff: http://reviews.gem5.org/r/2504/diff/
 
 
 Testing
 ---
 
 
 Thanks,
 
 Andreas Hansson
 


___
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev


Re: [gem5-dev] Review Request 2515: x86: pc: Put a stub IO device at port 0xed which the kernel can use for delays.

2014-11-19 Thread Gabe Black via gem5-dev


 On Nov. 19, 2014, 4:45 p.m., Andreas Sandberg wrote:
  src/dev/x86/Pc.py, line 54
  http://reviews.gem5.org/r/2515/diff/1/?file=42652#file42652line54
 
  I might be confused by the weird semantics of the gem5 configuration 
  scripts, but isn't this killing the fake device for port 0x80?

Hmm, yes. The peril of making these changes late at night when it's time to go 
home.


- Gabe


---
This is an automatically generated e-mail. To reply, visit:
http://reviews.gem5.org/r/2515/#review5490
---


On Nov. 19, 2014, 9:26 a.m., Gabe Black wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 http://reviews.gem5.org/r/2515/
 ---
 
 (Updated Nov. 19, 2014, 9:26 a.m.)
 
 
 Review request for Default.
 
 
 Repository: gem5
 
 
 Description
 ---
 
 Changeset 10550:9fcdf186d7ba
 ---
 x86: pc: Put a stub IO device at port 0xed which the kernel can use for 
 delays.
 
 There was already a stub device at 0x80, the port traditionally used for an IO
 delay. 0x80 is also the port used for POST codes sent by firmware, and that
 may have prompted adding this port as a second option.
 
 
 Diffs
 -
 
   src/dev/x86/Pc.py 288eb5ee4b0026d0cc1f02ec31748e0eaac06bc3 
 
 Diff: http://reviews.gem5.org/r/2515/diff/
 
 
 Testing
 ---
 
 
 Thanks,
 
 Gabe Black
 


___
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev


Re: [gem5-dev] Review Request 2515: x86: pc: Put a stub IO device at port 0xed which the kernel can use for delays.

2014-11-19 Thread Gabe Black via gem5-dev

---
This is an automatically generated e-mail. To reply, visit:
http://reviews.gem5.org/r/2515/
---

(Updated Nov. 19, 2014, 11:51 p.m.)


Review request for Default.


Repository: gem5


Description (updated)
---

Changeset 10550:dbbee17f23e1
---
x86: pc: Put a stub IO device at port 0xed which the kernel can use for delays.

There was already a stub device at 0x80, the port traditionally used for an IO
delay. 0x80 is also the port used for POST codes sent by firmware, and that
may have prompted adding this port as a second option.


Diffs (updated)
-

  src/dev/x86/Pc.py 288eb5ee4b0026d0cc1f02ec31748e0eaac06bc3 

Diff: http://reviews.gem5.org/r/2515/diff/


Testing
---


Thanks,

Gabe Black

___
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev


Re: [gem5-dev] Review Request 2313: kvm, x86: Adding support for SE mode execution

2014-11-19 Thread Alexandru Dutu via gem5-dev


 On Nov. 18, 2014, 10:43 p.m., Gabe Black wrote:
  util/m5/m5ops.h, line 57
  http://reviews.gem5.org/r/2313/diff/4/?file=42082#file42082line57
 
  Why do we need psuedo ops for syscalls when there are actual syscall 
  instructions? The same goes for page faults. I'm not saying I know that we 
  don't, I'm just surprised that that would be necessary.
  
  It seems unlikely that a program is going to realize it's about to 
  cause a pagefault and obligingly call a special instruction first.
 
 Andreas Sandberg wrote:
 The problem is that KVM doesn't normally intercept syscalls. This means 
 that they need a small syscall handler and fault handler stub to support SE 
 mode in KVM (see RB #2322). There are other ways of communicating with the 
 host (e.g., IO ports, hypervisor calls). The beauty of this solution is that 
 it is supported seamlessly by the simulated CPUs, which makes it possible to 
 do CPU switching reliably (we need to handle situation where the switch takes 
 place while the stub code is executing). It should be fairly straight forward 
 to extend this to simulated CPUs, making mixed FS/SE mode simulation possible.

Initially I have implemented syscall and pagefault intercepts using IO ports. 
This implementation imposes all CPU models to be aware of the magic ports 
KvmCPU is using to trap syscalls and page faults. Andreas suggested the MMIO 
interface as it is already commun to all CPU models.


- Alexandru


---
This is an automatically generated e-mail. To reply, visit:
http://reviews.gem5.org/r/2313/#review5480
---


On Sept. 30, 2014, 4:21 p.m., Alexandru Dutu wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 http://reviews.gem5.org/r/2313/
 ---
 
 (Updated Sept. 30, 2014, 4:21 p.m.)
 
 
 Review request for Default.
 
 
 Repository: gem5
 
 
 Description
 ---
 
 Changeset 10421:d4162e1b1c56
 ---
 kvm, x86: Adding support for SE mode execution
 This patch adds methods in KvmCPU model to handle KVM exits caused by syscall
 instructions and page faults. These types of exits will be encountered if
 KvmCPU is run in SE mode.
 
 
 Diffs
 -
 
   src/SConscript 28b31101d9e6e5e75d04448451986d6318383f3c 
   src/arch/SConscript 28b31101d9e6e5e75d04448451986d6318383f3c 
   src/arch/alpha/SConscript 28b31101d9e6e5e75d04448451986d6318383f3c 
   src/arch/arm/SConscript 28b31101d9e6e5e75d04448451986d6318383f3c 
   src/arch/arm/pseudo_inst.hh PRE-CREATION 
   src/arch/arm/pseudo_inst.cc PRE-CREATION 
   src/arch/mips/SConscript 28b31101d9e6e5e75d04448451986d6318383f3c 
   src/arch/power/SConscript 28b31101d9e6e5e75d04448451986d6318383f3c 
   src/arch/sparc/SConscript 28b31101d9e6e5e75d04448451986d6318383f3c 
   src/arch/x86/SConscript 28b31101d9e6e5e75d04448451986d6318383f3c 
   src/arch/x86/pseudo_inst.hh PRE-CREATION 
   src/arch/x86/pseudo_inst.cc PRE-CREATION 
   src/arch/x86/tlb.cc 28b31101d9e6e5e75d04448451986d6318383f3c 
   src/arch/x86/utility.cc 28b31101d9e6e5e75d04448451986d6318383f3c 
   src/cpu/kvm/base.cc 28b31101d9e6e5e75d04448451986d6318383f3c 
   src/sim/pseudo_inst.cc 28b31101d9e6e5e75d04448451986d6318383f3c 
   src/sim/system.cc 28b31101d9e6e5e75d04448451986d6318383f3c 
   util/m5/m5ops.h 28b31101d9e6e5e75d04448451986d6318383f3c 
 
 Diff: http://reviews.gem5.org/r/2313/diff/
 
 
 Testing
 ---
 
 Quick regressions passed.
 
 
 Thanks,
 
 Alexandru Dutu
 


___
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev


Re: [gem5-dev] Review Request 2313: kvm, x86: Adding support for SE mode execution

2014-11-19 Thread Alexandru Dutu via gem5-dev

---
This is an automatically generated e-mail. To reply, visit:
http://reviews.gem5.org/r/2313/
---

(Updated Nov. 20, 2014, 12:36 a.m.)


Review request for Default.


Changes
---

Addressed all the raised issues.
In addition, it seems that exitGroup syscall has been changed such that each 
thread context is halted. In the case of KvmCPU, BaseKVMCPU::haltContext calls 
BaseKVMCPU::suspendContext and, in this case, the _status can be something 
different than Running inside suspendContext. I don't see a strong reason to 
have a haltContext implementation independent of suspendContext, as the 
difference between the 2 methods will be just one assert. Therefore I have 
broaden a bit the assert condition in suspendContext.


Repository: gem5


Description (updated)
---

Changeset 10548:8f97f4918e7c
---
kvm, x86: Adding support for SE mode execution
This patch adds methods in KvmCPU model to handle KVM exits caused by syscall
instructions and page faults. These types of exits will be encountered if
KvmCPU is run in SE mode.


Diffs (updated)
-

  src/arch/SConscript 288eb5ee4b0026d0cc1f02ec31748e0eaac06bc3 
  src/arch/alpha/SConscript 288eb5ee4b0026d0cc1f02ec31748e0eaac06bc3 
  src/arch/arm/pseudo_inst.hh PRE-CREATION 
  src/arch/generic/SConscript 288eb5ee4b0026d0cc1f02ec31748e0eaac06bc3 
  src/arch/generic/pseudo_inst.hh PRE-CREATION 
  src/arch/generic/pseudo_inst.cc PRE-CREATION 
  src/arch/mips/SConscript 288eb5ee4b0026d0cc1f02ec31748e0eaac06bc3 
  src/arch/power/SConscript 288eb5ee4b0026d0cc1f02ec31748e0eaac06bc3 
  src/arch/sparc/SConscript 288eb5ee4b0026d0cc1f02ec31748e0eaac06bc3 
  src/arch/x86/SConscript 288eb5ee4b0026d0cc1f02ec31748e0eaac06bc3 
  src/arch/x86/pseudo_inst.hh PRE-CREATION 
  src/arch/x86/pseudo_inst.cc PRE-CREATION 
  src/arch/x86/tlb.cc 288eb5ee4b0026d0cc1f02ec31748e0eaac06bc3 
  src/arch/x86/utility.cc 288eb5ee4b0026d0cc1f02ec31748e0eaac06bc3 
  src/cpu/kvm/base.cc 288eb5ee4b0026d0cc1f02ec31748e0eaac06bc3 
  src/sim/pseudo_inst.cc 288eb5ee4b0026d0cc1f02ec31748e0eaac06bc3 
  src/sim/system.cc 288eb5ee4b0026d0cc1f02ec31748e0eaac06bc3 
  util/m5/m5ops.h 288eb5ee4b0026d0cc1f02ec31748e0eaac06bc3 

Diff: http://reviews.gem5.org/r/2313/diff/


Testing
---

Quick regressions passed.


Thanks,

Alexandru Dutu

___
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev


Re: [gem5-dev] Review Request 2462: mem: Page Table map api modification

2014-11-19 Thread Alexandru Dutu via gem5-dev


 On Nov. 18, 2014, 4:30 p.m., Andreas Hansson wrote:
  src/mem/page_table.hh, line 95
  http://reviews.gem5.org/r/2462/diff/1/?file=42140#file42140line95
 
  I'd suggest to specify the storage type (uint32_t)

Thought it is the only enum that will have an explicit storage type.


- Alexandru


---
This is an automatically generated e-mail. To reply, visit:
http://reviews.gem5.org/r/2462/#review5474
---


On Oct. 6, 2014, 6:58 p.m., Alexandru Dutu wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 http://reviews.gem5.org/r/2462/
 ---
 
 (Updated Oct. 6, 2014, 6:58 p.m.)
 
 
 Review request for Default.
 
 
 Repository: gem5
 
 
 Description
 ---
 
 Changeset 10429:e0f8a026df2c
 ---
 mem: Page Table map api modification
 
 This patch adds uncacheable/cacheable and read-only/read-write attributes to
 the map method of PageTableBase. It also modifies the constructor of TlbEntry
 structs for all architectures to consider the new attributes.
 
 
 Diffs
 -
 
   src/arch/alpha/pagetable.hh 148b96b7bc77190686f532d3b8f9f30cf911b36a 
   src/arch/arm/pagetable.hh 148b96b7bc77190686f532d3b8f9f30cf911b36a 
   src/arch/mips/pagetable.hh 148b96b7bc77190686f532d3b8f9f30cf911b36a 
   src/arch/power/tlb.hh 148b96b7bc77190686f532d3b8f9f30cf911b36a 
   src/arch/sparc/pagetable.hh 148b96b7bc77190686f532d3b8f9f30cf911b36a 
   src/arch/x86/pagetable.hh 148b96b7bc77190686f532d3b8f9f30cf911b36a 
   src/arch/x86/pagetable.cc 148b96b7bc77190686f532d3b8f9f30cf911b36a 
   src/mem/multi_level_page_table.hh 148b96b7bc77190686f532d3b8f9f30cf911b36a 
   src/mem/multi_level_page_table_impl.hh 
 148b96b7bc77190686f532d3b8f9f30cf911b36a 
   src/mem/page_table.hh 148b96b7bc77190686f532d3b8f9f30cf911b36a 
   src/mem/page_table.cc 148b96b7bc77190686f532d3b8f9f30cf911b36a 
   src/sim/Process.py 148b96b7bc77190686f532d3b8f9f30cf911b36a 
   src/sim/process.hh 148b96b7bc77190686f532d3b8f9f30cf911b36a 
   src/sim/process.cc 148b96b7bc77190686f532d3b8f9f30cf911b36a 
 
 Diff: http://reviews.gem5.org/r/2462/diff/
 
 
 Testing
 ---
 
 Quick regressions testing done.
 
 
 Thanks,
 
 Alexandru Dutu
 


___
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev


Re: [gem5-dev] Review Request 2462: mem: Page Table map api modification

2014-11-19 Thread Alexandru Dutu via gem5-dev

---
This is an automatically generated e-mail. To reply, visit:
http://reviews.gem5.org/r/2462/
---

(Updated Nov. 20, 2014, 6:27 a.m.)


Review request for Default.


Changes
---

Addressed raised issues.


Repository: gem5


Description (updated)
---

Changeset 10553:d4148bafebad
---
mem: Page Table map api modification

This patch adds uncacheable/cacheable and read-only/read-write attributes to
the map method of PageTableBase. It also modifies the constructor of TlbEntry
structs for all architectures to consider the new attributes.


Diffs (updated)
-

  src/arch/alpha/pagetable.hh 288eb5ee4b0026d0cc1f02ec31748e0eaac06bc3 
  src/arch/arm/pagetable.hh 288eb5ee4b0026d0cc1f02ec31748e0eaac06bc3 
  src/arch/mips/pagetable.hh 288eb5ee4b0026d0cc1f02ec31748e0eaac06bc3 
  src/arch/power/tlb.hh 288eb5ee4b0026d0cc1f02ec31748e0eaac06bc3 
  src/arch/sparc/pagetable.hh 288eb5ee4b0026d0cc1f02ec31748e0eaac06bc3 
  src/arch/x86/pagetable.hh 288eb5ee4b0026d0cc1f02ec31748e0eaac06bc3 
  src/arch/x86/pagetable.cc 288eb5ee4b0026d0cc1f02ec31748e0eaac06bc3 
  src/mem/multi_level_page_table.hh 288eb5ee4b0026d0cc1f02ec31748e0eaac06bc3 
  src/mem/multi_level_page_table_impl.hh 
288eb5ee4b0026d0cc1f02ec31748e0eaac06bc3 
  src/mem/page_table.hh 288eb5ee4b0026d0cc1f02ec31748e0eaac06bc3 
  src/mem/page_table.cc 288eb5ee4b0026d0cc1f02ec31748e0eaac06bc3 
  src/sim/Process.py 288eb5ee4b0026d0cc1f02ec31748e0eaac06bc3 
  src/sim/process.hh 288eb5ee4b0026d0cc1f02ec31748e0eaac06bc3 
  src/sim/process.cc 288eb5ee4b0026d0cc1f02ec31748e0eaac06bc3 

Diff: http://reviews.gem5.org/r/2462/diff/


Testing
---

Quick regressions testing done.


Thanks,

Alexandru Dutu

___
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev


Re: [gem5-dev] Review Request 2462: mem: Page Table map api modification

2014-11-19 Thread Andreas Hansson via gem5-dev


 On Nov. 18, 2014, 4:30 p.m., Andreas Hansson wrote:
  src/mem/page_table.hh, line 95
  http://reviews.gem5.org/r/2462/diff/1/?file=42140#file42140line95
 
  I'd suggest to specify the storage type (uint32_t)
 
 Alexandru Dutu wrote:
 Thought it is the only enum that will have an explicit storage type.

We have to start somewhere :-)


- Andreas


---
This is an automatically generated e-mail. To reply, visit:
http://reviews.gem5.org/r/2462/#review5474
---


On Nov. 20, 2014, 6:27 a.m., Alexandru Dutu wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 http://reviews.gem5.org/r/2462/
 ---
 
 (Updated Nov. 20, 2014, 6:27 a.m.)
 
 
 Review request for Default.
 
 
 Repository: gem5
 
 
 Description
 ---
 
 Changeset 10553:d4148bafebad
 ---
 mem: Page Table map api modification
 
 This patch adds uncacheable/cacheable and read-only/read-write attributes to
 the map method of PageTableBase. It also modifies the constructor of TlbEntry
 structs for all architectures to consider the new attributes.
 
 
 Diffs
 -
 
   src/arch/alpha/pagetable.hh 288eb5ee4b0026d0cc1f02ec31748e0eaac06bc3 
   src/arch/arm/pagetable.hh 288eb5ee4b0026d0cc1f02ec31748e0eaac06bc3 
   src/arch/mips/pagetable.hh 288eb5ee4b0026d0cc1f02ec31748e0eaac06bc3 
   src/arch/power/tlb.hh 288eb5ee4b0026d0cc1f02ec31748e0eaac06bc3 
   src/arch/sparc/pagetable.hh 288eb5ee4b0026d0cc1f02ec31748e0eaac06bc3 
   src/arch/x86/pagetable.hh 288eb5ee4b0026d0cc1f02ec31748e0eaac06bc3 
   src/arch/x86/pagetable.cc 288eb5ee4b0026d0cc1f02ec31748e0eaac06bc3 
   src/mem/multi_level_page_table.hh 288eb5ee4b0026d0cc1f02ec31748e0eaac06bc3 
   src/mem/multi_level_page_table_impl.hh 
 288eb5ee4b0026d0cc1f02ec31748e0eaac06bc3 
   src/mem/page_table.hh 288eb5ee4b0026d0cc1f02ec31748e0eaac06bc3 
   src/mem/page_table.cc 288eb5ee4b0026d0cc1f02ec31748e0eaac06bc3 
   src/sim/Process.py 288eb5ee4b0026d0cc1f02ec31748e0eaac06bc3 
   src/sim/process.hh 288eb5ee4b0026d0cc1f02ec31748e0eaac06bc3 
   src/sim/process.cc 288eb5ee4b0026d0cc1f02ec31748e0eaac06bc3 
 
 Diff: http://reviews.gem5.org/r/2462/diff/
 
 
 Testing
 ---
 
 Quick regressions testing done.
 
 
 Thanks,
 
 Alexandru Dutu
 


___
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev