Friday, April 19, 2013

Generating interrupts with a gem5 device

Today I extended my work of adding a device to gem5 by causing the device to generate an interrupt. Interrupts seem to be architecture-specific in gem5, so I needed to include some X86-specific functionality. I copied the approach taken in gem5 for the x86 keyboard interrupts, but with IRQ 3 (because it was available) for my device.

The following files should help recreate this effort:
  • device.diff - apply to gem5 to create simple device.
  • interrupt.diff -  apply to gem5 with device.diff to add interrupt.
  • mydev.c - device driver Linux kernel module.