[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [RFC] armv7m_nvic
From: |
Liviu Ionescu |
Subject: |
[Qemu-devel] [RFC] armv7m_nvic |
Date: |
Thu, 4 Jun 2015 15:45:39 +0300 |
while working on the Cortex-M framework, I noticed that the current armv7m_nvic
implementation is a bit old, and, to my opinion, not very fortunately
structured.
first, it is named NVIC, but implements not only the NVIC registers, but some
other register groups, like SysTick, system control, some IDs.
if the QEMU rule is to implement a physical contiguous memory space (0xE000E000
- 0xE000EFFF) in one file, then probably the file should be named armv7m_scb.c
(System Control Block), and it must implement all registers.
the modular alternative (that I generally favour) would be to split the memory
space into functional slices (SystemControl, SysTick, NVIC, CPUID, MPU, Debug,
SW Triggers, MCUIDs) and implement them as separate objects, probably in
separate files.
the changes that I might need in QEMU might also require some updates in the
exception processing and might also affect NVIC, so if you have any comments on
how the current structure should be improved, I'm open to suggestions.
regards,
Liviu
- [Qemu-devel] [RFC] armv7m_nvic,
Liviu Ionescu <=