This is unfortunately on top of devarch_msr_perf (the perf one posted yesterday), since I needed per-CPU, which lives there.
BTW, there seem to be something wrong with block extra data.
The following changes since commit 87782eff25975f0d52c3778ce93b0c496f653f83:
Added new perf utility to access CPU counters from userspace (2015-12-02 16:13:50 -0800)
are available in the git repository at:
g...@github.com:dlibenzi/akaros interrupt_device
for you to fetch changes up to 23b44ab22a56704642d79f665cbca9cbc6b727e1:
Added devarch interrupts device (2015-12-03 12:46:38 -0800)
----------------------------------------------------------------
Davide Libenzi (3):
Added sizeof_field() macro
Allows the queue data structure to use a minimum block size
Added devarch interrupts device
kern/arch/riscv/devarch.h | 8 +++
kern/arch/x86/devarch.c | 125 ++++++++++++++++++++++++++++++++++++++++++++++
kern/arch/x86/devarch.h | 1 +
kern/arch/x86/trap.c | 3 ++
kern/include/ns.h | 4 +-
kern/include/ros/common.h | 2 +
kern/src/ns/qio.c | 71 ++++++++++++++++++++++----
7 files changed, 203 insertions(+), 11 deletions(-)
create mode 100644 kern/arch/riscv/devarch.h