qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Michael Davidsaver <mdavidsaver@gmail.com>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: QEMU Developers <qemu-devel@nongnu.org>
Subject: Re: [Qemu-devel] [PATCH] armv7-m: exit on external reset request
Date: Fri, 09 Oct 2015 13:25:52 -0400	[thread overview]
Message-ID: <5617F8A0.2050300@gmail.com> (raw)
In-Reply-To: <CAFEAcA-UcFF=kphJJJ5uyZRKNNA4=3F_uFc8YBm0cYJ61NZpUA@mail.gmail.com>



On 10/09/2015 12:59 PM, Peter Maydell wrote:
> On 8 October 2015 at 16:40, Michael Davidsaver <mdavidsaver@gmail.com> 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.

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)


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

  reply	other threads:[~2015-10-09 17:26 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-10-08 15:40 [Qemu-devel] [PATCH] Exit on reset for armv7-m Michael Davidsaver
2015-10-08 15:40 ` [Qemu-devel] [PATCH] armv7-m: exit on external reset request Michael Davidsaver
2015-10-09 16:59   ` Peter Maydell
2015-10-09 17:25     ` Michael Davidsaver [this message]
2015-10-09 18:18       ` Peter Crosthwaite
2015-10-09 18:51         ` Michael Davidsaver
2015-10-10 14:35           ` Michael Davidsaver
2015-10-10 18:54             ` [Qemu-devel] [PATCH v2] " Michael Davidsaver
2015-10-11 15:06               ` Peter Crosthwaite
2015-10-12  3:36                 ` [Qemu-devel] [PATCH v3 1/3] armv7-m: Return DeviceState* from armv7m_init() Michael Davidsaver
2015-10-30 21:15                   ` Peter Crosthwaite
2015-10-30 21:20                     ` Peter Crosthwaite
2015-10-30 21:35                       ` Peter Maydell
2015-10-12  3:36                 ` [Qemu-devel] [PATCH v3 2/3] armv7-m: Implement SYSRESETREQ Michael Davidsaver
2015-10-30 21:16                   ` Peter Crosthwaite
2015-10-12  3:36                 ` [Qemu-devel] [PATCH v3 3/3] stellaris: exit on external reset request Michael Davidsaver
2015-10-30 21:13                   ` Peter Crosthwaite
2015-10-08 20:09 ` [Qemu-devel] [PATCH] Exit on reset for armv7-m Peter Crosthwaite
2015-10-09  1:24   ` Michael Davidsaver
2015-10-09  4:21     ` Peter Crosthwaite

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5617F8A0.2050300@gmail.com \
    --to=mdavidsaver@gmail.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).