Deployment instructions

In your computer

  1. Get and compile qemu with SystemC extension:
    1. svn co https://svn.greensocs.com/public/packages/qemu_systemc/qemu-0.10.1
    2. cd qemu-0.10.1
    3. ./configure --target-list=arm-softmmu,i386-softmmu
    4. make (You may need some extra packages like zlib-dev or sdl-dev)
  1. Follow instructions from http://www.aurel32.net/info/debian_arm_qemu.php to get linux (debian) installed inside qemu (arm platform)

Inside QEMU

  1. Install kernel-headers:
    1. You will need the following packages:
      1. apt-get update;
      2. apt-get install linux-kbuild cpp-4.1 build-essential cpp binutils libssp make
    2. download the kernel headers
      1. http://people.debian.org/~aurel32/arm-versatile/linux-headers-2.6.18-6-all-arm_2.6.18.dfsg.1-23+versatile_arm.deb
      2. http://people.debian.org/~aurel32/arm-versatile/linux-headers-2.6.18-6-all_2.6.18.dfsg.1-23+versatile_arm.deb
      3. http://people.debian.org/~aurel32/arm-versatile/linux-headers-2.6.18-6-versatile_2.6.18.dfsg.1-23+versatile_arm.deb
      4. http://people.debian.org/~aurel32/arm-versatile/linux-headers-2.6.18-6_2.6.18.dfsg.1-23+versatile_arm.deb
    3. install it (dpkg -i ...)
    4. install subversion package (apt-get install subversion)
  2. Get and compile custom HW driver:
    1. svn co https://svn.greensocs.com/public/packages/qemu_systemc/arm_driver/
    2. cd arm_driver
    3. make
    4. sh load.sh
    5. gcc testapp.c -o test.x
    6. ./test.x You can
    7. if you write any value to address 0, you will trigger an interrupt (interrupt 24) from device every 10 seconds. You can stop this behaviour writting any value to address 4.

The same example is available for Intel platforms, driver at svn (https://svn.greensocs.com/public/packages/qemu_systemc/intel_driver/)