qemu-sc/0.9.1-0.1/bare

Release Architecture: 
all
Release Classification: 
stable (has been tested)
Debian Package file: 
Packageqemu-sc
Version0.9.1-0.1-gs1
gspkgnameqemu-sc
gspkgversion0.9.1-0.1
gspkgvariationbare
Sectionelectronics
Priorityoptional
Architectureall
Dependsgcc3.4 | gcc3.4-virtual | gcc (>= 3.4) , systemc2.2 | systemc2.2-virtual | systemc (>= 2.2) , boost1.34.1 | boost1.34.1-virtual | boost (>= 1.34.1) , greencontrol | greencontrol-virtual , gsgpsocket | gsgpsocket-virtual
Providesqemu-sc-virtual
Installed-Size16552
MaintainerGreenSocs
DescriptionQEMU supporting SystemC framework
QualityLights: 

Source code is in $QEMU_SC directory First time, you may need to do a ./configure --target-list=arm-softmmu,i386-softmmu

svn tag: 
qemu-sc-0.9.1-0.1/

Issues in this Release

closedNew Microsoft release

You need to install MinGW (version 5.1.4) and MSys (.EXE version 1.0.10).
Mark g++ and Makefile in MinGW installation.

Once installed. run msys.bat and inside the shell:
* decompress files.tar.gz in your $HOME.
* get and decompress SDL in your $HOME
* cd SDL directory and do 'make native'

Update the attached files to the last version:
* <QEMU>/SC/sc_bridge.*
* <QEMU>/SC/sc_slave_dummy.h
* <QEMU>/hw/sc_link.c

Back, on your $HOME, you can compile qemu:

* cd <qemu-0.9.1 directory>
* make distclean (don't mind errors)
* export OS_CFLAGS=-I$HOME/zlib-1.2.3
* export VL_OS_LDFLAGS=-L$HOME/zlib-1.2.3
* ./configure --target-list=i386-softmmu
* make

Download disk image (here) and uncompress it on its own directory
This disk image includes a linux debian ready to be boot by QEMU.

To run qemu, type:

i386-softmmu/qemu.exe -L pc-bios <path to disk image>

To test current SystemC device, boot disk image,

login: root
password: synopsys


cd drivers
sh load.sh (it will load kernel modules, create devices, etc)
./test (runs test application)

if you choose option 4, address 0 and any data, you are trigerring an
interrupt (#10) every 10 seconds. You will see some kernel printks, and
some SystemC debug on qemu console. To stop the test, choose option 4
again, address 4 and any data.
You can observe that you access to same data array using I/O or MEM access. MEM access will use DMI transfers. You can check it on shell console, QEMU will print messages about what is doing.

Windows' DLL example

You can download a example of SystemC device using a MS Windows DLL (wizlydllmfc.zip).

This file has a directory with two Visual Studio 2005 project: one to compile the DLL (wizlydllmfc.vcproj) and a test application (launc.vcproj) that uses the DLL and examples how to use it.
In the zip file there is another directory (SC/) where the SystemC device is stored.

The DLL (wizlydllmfc.dll) exports a very simple function that draws a MFC modal dialog showing two values passed as parameters.
The SystemC device uses this function to show the values of the two registers that device has.

To run the example, open and compile wizlydllmfc project with Visual Studio, copy de wizlydllmfc.dll to QEMU directory. Also, copy the sc_slave_dummy.h to QEMU/SC directory (keep the old sc_slave_dummy.h).

Compile and run QEMU as usual. When you do a I/O write to the device using the test application inside QEMU, you will see the model dialog printing the two register values.

Note that this dialog stops the application that calls it, so QEMU is freeze meanwhile the window is open, and this situation can generate unexpected behavior in QEMU.