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 --]
next prev parent 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).