[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] armv7-m: exit on external reset request
From: |
Peter Crosthwaite |
Subject: |
Re: [Qemu-devel] [PATCH] armv7-m: exit on external reset request |
Date: |
Fri, 9 Oct 2015 11:18:47 -0700 |
On Fri, Oct 9, 2015 at 10:25 AM, Michael Davidsaver
<address@hidden> wrote:
>
>
> On 10/09/2015 12:59 PM, Peter Maydell wrote:
>> On 8 October 2015 at 16:40, Michael Davidsaver <address@hidden> wrote:
>>> ...
>>> case 0xd0c: /* Application Interrupt/Reset Control. */
>>> if ((value >> 16) == 0x05fa) {
>>> + if (value & 4) {
>>> + qemu_system_reset_request();
>>> + }
> ...
>>
>> Strictly speaking what this bit does is assert a signal out of
>> the CPU to some external power management or similar device
>> in the SoC, which then is responsible for doing the reset.
>> So just calling qemu_system_reset_request() here is a bit of
>> a shortcut. But maybe it's a pragmatic shortcut?
>
> I'm not sure what you mean by shortcut? Most targets have some way to
> trigger qemu to exit. I actually compiled a list recently (see below). I
> couldn't find one for the lm3s6965evb machine, thus this patch.
>
We should check the lm3s docs to see what the implementation of this
signal is. I think it would be better for SoC (or board) level to
install the GPIO handler to do the reset. As far as target-arm is
concerned this is then just a GPIO.
> FYI, one of my interests in QEMU is to automate testing of low level code.
> Being able to cause the qemu process to exit when the tests complete is quite
> helpful (simplifies the test runner)
>
Nice!
Regards,
Peter
>
> qemu_system_reset_request()
> highbank.c -> register write
> integratorcp.c -> register write
> musicpal.c -> register write (musicpal board)
> omap1.c -> register write
> omap2.c -> register write
> pc.c -> register write (port 92)
> pckbd.c -> register write (two different registers)
> lpc_ich9.c -> register write
> arm_sysctl.c -> register write (vexpress only or board_ids 0x100, 0x178,
> 0x182 only, )
> cuda.c -> register write
> slavio_misc.c -> register write
> zynq_slcr.c -> register write (xilinx-zynq-a9 board)
> apb.c -> register write
> bonito.c -> register write
> piix.c -> register write
> mpc8544_guts.c -> register write
> ppc.c -> e500 only ppce500_irq_init() w/ PPCE500_INPUT_MCK
> ppc405_uc.c -> store_40x_dbcr0()
> spapr_hcall.c -> KVM only
> spapr_rtas.c -> register RTAS_SYSTEM_REBOOT
> etraxfs_timer.c -> watchdog timer expire
> m48t59.c -> watchdog timer expire
> milkymist-sysctl.c -> register write
> pxa2xx_timer.c -> watchdog timer expire (bsp option)
> watchdog.c -> generic watchdog timer expire
> xtfpga.c -> register write
>
> cpu_exit()
> pc.c -> DMA_init
> prep.c -> DMA_init (broken)
> spapr_rtas.c -> register RTAS_STOP_SELF
>
- [Qemu-devel] [PATCH] Exit on reset for armv7-m, Michael Davidsaver, 2015/10/08
- [Qemu-devel] [PATCH] armv7-m: exit on external reset request, Michael Davidsaver, 2015/10/08
- Re: [Qemu-devel] [PATCH] armv7-m: exit on external reset request, Peter Maydell, 2015/10/09
- Re: [Qemu-devel] [PATCH] armv7-m: exit on external reset request, Michael Davidsaver, 2015/10/10
- Re: [Qemu-devel] [PATCH] armv7-m: exit on external reset request,
Peter Crosthwaite <=
- Re: [Qemu-devel] [PATCH] armv7-m: exit on external reset request, Michael Davidsaver, 2015/10/09
- Re: [Qemu-devel] [PATCH] armv7-m: exit on external reset request, Michael Davidsaver, 2015/10/10
- [Qemu-devel] [PATCH v2] armv7-m: exit on external reset request, Michael Davidsaver, 2015/10/10
- Re: [Qemu-devel] [PATCH v2] armv7-m: exit on external reset request, Peter Crosthwaite, 2015/10/15
- [Qemu-devel] [PATCH v3 3/3] stellaris: exit on external reset request, Michael Davidsaver, 2015/10/11
- Re: [Qemu-devel] [PATCH v3 3/3] stellaris: exit on external reset request, Peter Crosthwaite, 2015/10/30
- [Qemu-devel] [PATCH v3 2/3] armv7-m: Implement SYSRESETREQ, Michael Davidsaver, 2015/10/11
- Re: [Qemu-devel] [PATCH v3 2/3] armv7-m: Implement SYSRESETREQ, Peter Crosthwaite, 2015/10/30
- [Qemu-devel] [PATCH v3 1/3] armv7-m: Return DeviceState* from armv7m_init(), Michael Davidsaver, 2015/10/11
- Re: [Qemu-devel] [PATCH v3 1/3] armv7-m: Return DeviceState* from armv7m_init(), Peter Crosthwaite, 2015/10/30