Context switches are handled by the linux kernel that is running on the 
simulator. When it gets an interrupt (timer) it checks if it needs to context 
switch and does.

The kernel is going to set up softIRQs for itself, if you wanted to trigger one 
from the simulator you’d either need to go spelunking into the kernel data 
structures to set that a softIRQ was pending or provide some interface in the 
kernel the simulator could easily use. The hardware IRQs are simulated by an 
interrupt controller (in the case of ARM one of the GIC models present).

The best way to set something up to is to take a disk image, mount it on a real 
machine and edit to to your hearts content. If you’re using ARM and doesn’t 
have an ARM machine the qemu-user-static package from ubuntu can be used to run 
bash and install/modify the file system (see 
http://www.gem5.org/Ubuntu_Disk_Image_for_ARM_Full_System). If you want to do 
it within the simulator you need to remove the Copy-on-write (COW) Disk from 
the configuration and make sure to sync and properly shut down the simulated 
guest, otherwise your changes may be lost.

Ali


On Jul 1, 2014, at 6:08 PM, Roger Smith via gem5-dev <gem5-dev@gem5.org> wrote:

> Hi Andreas,
> 
> I am wondering:
> 
> a.  In the full system emulation mode:
>       How and when are context switches handled by the simulator?
>       How can one access the SoftIRQ and HardIRQ lines?
> b.How to save stuff so next time the full system mode.
>       ie, if applications are installed, how can they be available after a 
> reboot?
>       If a kernel service is modified inside the simulator, how is the 
> modification saved?
> 
> 
> Cheers,
> Roger
> 
> 
> **********************************************************************************
> 
> 
> 
> 
> -- 
> _______________________________________________
> gem5-dev mailing list
> gem5-dev@gem5.org
> http://m5sim.org/mailman/listinfo/gem5-dev
> 

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

Reply via email to