qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Warner Losh <imp@bsdimp.com>
To: Richard Henderson <richard.henderson@linaro.org>
Cc: "Stacey Son" <sson@freebsd.org>,
	"QEMU Trivial" <qemu-trivial@nongnu.org>,
	"Kyle Evans" <kevans@freebsd.org>,
	"Michael Tokarev" <mjt@tls.msk.ru>,
	"Laurent Vivier" <laurent@vivier.eu>,
	"QEMU Developers" <qemu-devel@nongnu.org>,
	"Mikaël Urankar" <mikael.urankar@gmail.com>,
	"Philippe Mathieu-Daude" <f4bug@amsat.org>
Subject: Re: [PATCH v2 08/30] bsd-user/arm/target_arch_cpu.h: Implement trivial EXCP exceptions
Date: Wed, 3 Nov 2021 10:27:18 -0600	[thread overview]
Message-ID: <CANCZdfo_rzFTGxrjsOh=dKB=JAVR2Ghpo3fFBowADs_Lc2J5SA@mail.gmail.com> (raw)
In-Reply-To: <17dd2e5a-3778-ccb2-7ae5-a59c18f17601@linaro.org>

[-- Attachment #1: Type: text/plain, Size: 1766 bytes --]

On Tue, Nov 2, 2021 at 9:17 PM Richard Henderson <
richard.henderson@linaro.org> wrote:

> On 11/2/21 6:52 PM, Warner Losh wrote:
> > +        case EXCP_UDEF:
> > +            {
> > +                /* See arm/arm/undefined.c undefinedinstruction(); */
> > +                info.si_addr = env->regs[15];
> > +
> > +                /*
> > +                 * Make sure the PC is correctly aligned. (It should
> > +                 * be.)
> > +                 */
> > +                if ((info.si_addr & 3) != 0) {
> > +                    info.si_signo = TARGET_SIGILL;
> > +                    info.si_errno = 0;
> > +                    info.si_code = TARGET_ILL_ILLADR;
> > +                    queue_signal(env, info.si_signo, &info);
>
> You won't need this; unaligned pc will raise a different exception.
>

Dropped.


> > +                } else {
> > +                    int rc = 0;
> > +#ifdef NOT_YET
> > +                    uint32_t opcode;
> > +
> > +                    /*
> > +                     * Get the opcode.
> > +                     *
> > +                     * FIXME - what to do if get_user() fails?
> > +                     */
> > +                    get_user_u32(opcode, env->regs[15]);
> > +
> > +                    /* Check the opcode with CP handlers we may have. */
> > +                    rc = EmulateAll(opcode, &ts->fpa, env);
> > +#endif /* NOT_YET */
>
> Drop this til you need it.  Even then, we prefer to emulate all insns in
> the front-end.
> We can talk about what changes need to happen such that the actual CP
> registers are simply
> available at EL0.  I suspect they've already been done for linux-user
> anyway...
>

Dropped, reformatted and added a TODO comment.

Both will be in the next spin.

Thanks!

Warner

[-- Attachment #2: Type: text/html, Size: 2786 bytes --]

  reply	other threads:[~2021-11-03 16:29 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-11-02 22:52 [PATCH v2 00/30] bsd-user: arm (32-bit) support Warner Losh
2021-11-02 22:52 ` [PATCH v2 01/30] bsd-user: Add stubs for new signal routines Warner Losh
2021-11-02 23:37   ` Richard Henderson
2021-11-02 23:41     ` Warner Losh
2021-11-02 22:52 ` [PATCH v2 02/30] bsd-user/arm/target_arch_sysarch.h: Use consistent include guards Warner Losh
2021-11-02 22:52 ` [PATCH v2 03/30] bsd-user/arm/target_syscall.h: Add copyright and update name Warner Losh
2021-11-02 22:52 ` [PATCH v2 04/30] bsd-user/arm/target_arch_cpu.c: Target specific TLS routines Warner Losh
2021-11-02 22:52 ` [PATCH v2 05/30] bsd-user/arm/target_arch_cpu.h: CPU Loop definitions Warner Losh
2021-11-03  3:09   ` Richard Henderson
2021-11-02 22:52 ` [PATCH v2 06/30] bsd-user/arm/target_arch_cpu.h: Implement target_cpu_clone_regs Warner Losh
2021-11-02 22:52 ` [PATCH v2 07/30] bsd-user/arm/target_arch_cpu.h: Dummy target_cpu_loop implementation Warner Losh
2021-11-02 22:52 ` [PATCH v2 08/30] bsd-user/arm/target_arch_cpu.h: Implement trivial EXCP exceptions Warner Losh
2021-11-03  3:17   ` Richard Henderson
2021-11-03 16:27     ` Warner Losh [this message]
2021-11-02 22:52 ` [PATCH v2 09/30] bsd-user/arm/target_arch_cpu.h: Implement data abort exceptions Warner Losh
2021-11-02 22:52 ` [PATCH v2 10/30] bsd-user/arm/target_arch_cpu.h: Implement system call dispatch Warner Losh
2021-11-02 22:52 ` [PATCH v2 11/30] bsd-user/arm/target_arch_reg.h: Implement core dump register copying Warner Losh
2021-11-02 22:52 ` [PATCH v2 12/30] bsd-user/arm/target_arch_vmparam.h: Parameters for arm address space Warner Losh
2021-11-02 22:52 ` [PATCH v2 13/30] bsd-user/arm/target_arch_sigtramp.h: Signal Trampoline for arm Warner Losh
2021-11-02 22:52 ` [PATCH v2 14/30] bsd-user/arm/target_arch_thread.h: Routines to create and switch to a thread Warner Losh
2021-11-03  3:31   ` Richard Henderson
2021-11-03 18:27     ` Warner Losh
2021-11-02 22:52 ` [PATCH v2 15/30] bsd-user/arm/target_arch_elf.h: arm defines for ELF Warner Losh
2021-11-02 22:52 ` [PATCH v2 16/30] bsd-user/arm/target_arch_elf.h: arm get hwcap Warner Losh
2021-11-02 22:52 ` [PATCH v2 17/30] bsd-user/arm/target_arch_elf.h: arm get_hwcap2 impl Warner Losh
2021-11-02 22:52 ` [PATCH v2 18/30] bsd-user/freebsd: Create common target_os_ucontext.h file Warner Losh
2021-11-03  3:32   ` Richard Henderson
2021-11-02 22:52 ` [PATCH v2 19/30] bsd-user/arm/target_arch_signal.h: arm specific signal registers and stack Warner Losh
2021-11-02 22:52 ` [PATCH v2 20/30] bsd-user/arm/target_arch_signal.h: arm machine context for signals Warner Losh
2021-11-03  3:33   ` Richard Henderson
2021-11-02 22:52 ` [PATCH v2 21/30] bsd-user/arm/target_arch_signal.h: arm user context and trapframe " Warner Losh
2021-11-03  3:34   ` Richard Henderson
2021-11-02 22:52 ` [PATCH v2 22/30] bsd-user/arm/target_arch_signal.h: arm set_sigtramp_args Warner Losh
2021-11-03  3:37   ` Richard Henderson
2021-11-03 19:14     ` Warner Losh
2021-11-02 22:52 ` [PATCH v2 23/30] bsd-user/arm/target_arch_signal.h: arm get_mcontext Warner Losh
2021-11-02 22:52 ` [PATCH v2 24/30] bsd-user/arm/target_arch_signal.h: arm set_mcontext Warner Losh
2021-11-03  3:40   ` Richard Henderson
2021-11-03 19:19     ` Warner Losh
2021-11-02 22:52 ` [PATCH v2 25/30] bsd-user/arm/target_arch_signal.h: arm get_ucontext_sigreturn Warner Losh
2021-11-03  3:47   ` Richard Henderson
2021-11-02 22:52 ` [PATCH v2 26/30] bsd-user: add arm target build Warner Losh
2021-11-03  3:47   ` Richard Henderson
2021-11-03 19:22     ` Warner Losh
2021-11-02 22:52 ` [PATCH v2 27/30] bsd-user/i386/target_arch_signal.h: Remove target_sigcontext Warner Losh
2021-11-03  3:48   ` Richard Henderson
2021-11-02 22:52 ` [PATCH v2 28/30] bsd-user/x86_64/target_arch_signal.h: " Warner Losh
2021-11-03  3:48   ` Richard Henderson
2021-11-02 22:52 ` [PATCH v2 29/30] bsd-user/i386/target_arch_signal.h: use new target_os_ucontext.h Warner Losh
2021-11-03  3:48   ` Richard Henderson
2021-11-02 22:52 ` [PATCH v2 30/30] bsd-user/x86_64/target_arch_signal.h: " Warner Losh
2021-11-03  3:49   ` Richard Henderson

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='CANCZdfo_rzFTGxrjsOh=dKB=JAVR2Ghpo3fFBowADs_Lc2J5SA@mail.gmail.com' \
    --to=imp@bsdimp.com \
    --cc=f4bug@amsat.org \
    --cc=kevans@freebsd.org \
    --cc=laurent@vivier.eu \
    --cc=mikael.urankar@gmail.com \
    --cc=mjt@tls.msk.ru \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-trivial@nongnu.org \
    --cc=richard.henderson@linaro.org \
    --cc=sson@freebsd.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).