Looks great. But I think you want to split this into staged patches.
Use git reset HEAD^ to undo the git commit (but keep the file changes)
then git add -p to select hunks to stage. Then commit the logically
sequential groups of changes as indiv. patches. A general rule is you
should try and avoid commiting refactorings along with new features. I
see 3 patches here.

On Sat, Oct 10, 2015 at 11:54 AM, Michael Davidsaver
<mdavidsa...@gmail.com> wrote:
> Implement the SYSRESETREQ bit of the AIRCR register
> for armv7-m (ie. cortex-m3) to trigger a GPIO out.
>

This is probably the second patch (your new self-contained feature).

> Change armv7m_init to return the DeviceState* for the NVIC.
> This allows access to all GPIO blocks, not just the IRQ inputs.
> Move qdev_get_gpio_in() calls out of armv7m_init() into
> board code for stellaris and stm32f205 boards.
>

This is the first patch (refactorings).

Ideally we do this in a more QOM-correct way like with the A-class
MPCores but this rework actually gets us closer to that, so I see the
value in taking this as the first step. The function that now returns
a DeviceState is easily reworked to be a QOM object construction.

> Add GPIO in for the stellaris board which calls
> qemu_system_reset_request() on reset request.

Third patch (connect it all up).

Regards,
Peter

> ---
>  hw/arm/armv7m.c        |  9 ++-------
>  hw/arm/stellaris.c     | 36 +++++++++++++++++++++++++-----------
>  hw/arm/stm32f205_soc.c | 13 ++++++-------
>  hw/intc/armv7m_nvic.c  |  7 ++++++-
>  include/hw/arm/arm.h   |  2 +-
>  5 files changed, 40 insertions(+), 27 deletions(-)
>

Reply via email to