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(-) >