All of lore.kernel.org
 help / color / mirror / Atom feed
From: Richard Henderson <richard.henderson@linaro.org>
To: "Claudio Fontana" <cfontana@suse.de>,
	"Paolo Bonzini" <pbonzini@redhat.com>,
	"Philippe Mathieu-Daudé" <philmd@redhat.com>,
	"Eduardo Habkost" <ehabkost@redhat.com>,
	"Peter Maydell" <peter.maydell@linaro.org>,
	"Alex Bennée" <alex.bennee@linaro.org>
Cc: Laurent Vivier <lvivier@redhat.com>,
	Thomas Huth <thuth@redhat.com>,
	Roman Bolshakov <r.bolshakov@yadro.com>,
	qemu-devel@nongnu.org
Subject: Re: [PATCH v25 14/20] i386: separate fpu_helper into user and sysemu parts
Date: Fri, 26 Feb 2021 10:42:51 -0800	[thread overview]
Message-ID: <d08e847d-8332-5526-7b92-04ed7379f2fd@linaro.org> (raw)
In-Reply-To: <20210226175143.22388-15-cfontana@suse.de>

On 2/26/21 9:51 AM, Claudio Fontana wrote:
> +/* fpu_helper.c */
> +
> +void do_fsave(CPUX86State *env, target_ulong ptr, int data32, uintptr_t ra);
> +void do_frstor(CPUX86State *env, target_ulong ptr, int data32, uintptr_t ra);
> +void do_fxsave(CPUX86State *env, target_ulong ptr, uintptr_t ra);
> +void do_fxrstor(CPUX86State *env, target_ulong ptr, uintptr_t ra);

Is this really worth it?  It means that we unnecessarily expose these functions
in system mode, where they are still not safe.

I had thought about doing something like

#ifdef CONFIG_USER_ONLY
#define SYSEMU_STATIC
#else
#define SYSEMU_STATIC static
#endif

SYSEMU_STATIC void
cpu_x86_fsave(...)
{
  ...
}

void helper_fsave(...)
{
    cpu_x86_fsave(..., GETPC());
}

but I thought the existing example of "do_" functions within that file to be
compelling.  I think small sections of this CONFIG within a file should be
fine, especially where it interacts with other functions like this.

I guess either way,
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>


r~


  reply	other threads:[~2021-02-26 18:44 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-26 17:51 [PATCH v25 00/20] i386 cleanup PART 2 Claudio Fontana
2021-02-26 17:51 ` [PATCH v25 01/20] target/i386: Rename helper_fldt, helper_fstt Claudio Fontana
2021-02-26 17:51 ` [PATCH v25 02/20] target/i386: Split out do_fsave, do_frstor, do_fxsave, do_fxrstor Claudio Fontana
2021-02-26 17:51 ` [PATCH v25 03/20] i386: split cpu accelerators from cpu.c, using AccelCPUClass Claudio Fontana
2021-02-26 17:51 ` [PATCH v25 04/20] cpu: call AccelCPUClass::cpu_realizefn in cpu_exec_realizefn Claudio Fontana
2021-02-26 17:51 ` [PATCH v25 05/20] accel: introduce new accessor functions Claudio Fontana
2021-02-26 17:51 ` [PATCH v25 06/20] target/i386: fix host_cpu_adjust_phys_bits error handling Claudio Fontana
2021-02-26 17:51 ` [PATCH v25 07/20] accel-cpu: make cpu_realizefn return a bool Claudio Fontana
2021-02-26 17:51 ` [PATCH v25 08/20] meson: add target_user_arch Claudio Fontana
2021-02-26 17:51 ` [PATCH v25 09/20] i386: split off sysemu-only functionality in tcg-cpu Claudio Fontana
2021-02-26 17:51 ` [PATCH v25 10/20] i386: split smm helper (sysemu) Claudio Fontana
2021-02-26 17:51 ` [PATCH v25 11/20] i386: split tcg excp_helper into sysemu and user parts Claudio Fontana
2021-02-26 17:51 ` [PATCH v25 12/20] i386: move TCG bpt_helper into sysemu/ Claudio Fontana
2021-02-26 17:51 ` [PATCH v25 13/20] i386: split misc helper user stubs and sysemu part Claudio Fontana
2021-02-26 18:33   ` Richard Henderson
2021-02-26 17:51 ` [PATCH v25 14/20] i386: separate fpu_helper into user and sysemu parts Claudio Fontana
2021-02-26 18:42   ` Richard Henderson [this message]
2021-03-01  8:41     ` Claudio Fontana
2021-02-26 17:51 ` [PATCH v25 15/20] i386: split svm_helper into sysemu and stub-only user Claudio Fontana
2021-02-26 17:51 ` [PATCH v25 16/20] i386: split seg_helper into user-only and sysemu parts Claudio Fontana
2021-02-26 17:51 ` [PATCH v25 17/20] i386: split off sysemu part of cpu.c Claudio Fontana
2021-02-26 17:51 ` [PATCH v25 18/20] target/i386: gdbstub: introduce aux functions to read/write CS64 regs Claudio Fontana
2021-02-26 17:51 ` [PATCH v25 19/20] target/i386: gdbstub: only write CR0/CR2/CR3/EFER for sysemu Claudio Fontana
2021-02-26 17:51 ` [PATCH v25 20/20] i386: make cpu_load_efer sysemu-only Claudio Fontana
2021-02-26 18:21 ` [PATCH v25 00/20] i386 cleanup PART 2 no-reply

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=d08e847d-8332-5526-7b92-04ed7379f2fd@linaro.org \
    --to=richard.henderson@linaro.org \
    --cc=alex.bennee@linaro.org \
    --cc=cfontana@suse.de \
    --cc=ehabkost@redhat.com \
    --cc=lvivier@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=philmd@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=r.bolshakov@yadro.com \
    --cc=thuth@redhat.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.