From: Wei Liu <liuwe@linux.microsoft.com>
To: qemu-devel@nongnu.org
Cc: wei.liu@kernel.org, dirty@apple.com, rbolshakov@ddn.com,
phil@philjordan.eu, jinankjain@linux.microsoft.com,
liuwe@microsoft.com, muislam@microsoft.com,
ziqiaozhou@microsoft.com, mukeshrathor@microsoft.com,
magnuskulke@microsoft.com, prapal@microsoft.com,
jpiotrowski@microsoft.com, deviv@microsoft.com,
Wei Liu <liuwe@linux.microsoft.com>
Subject: [RFC PATCH v1 13/19] target/i386: rename lazy flags field and its type
Date: Fri, 21 Feb 2025 00:36:21 -0800 [thread overview]
Message-ID: <1740126987-8483-14-git-send-email-liuwe@linux.microsoft.com> (raw)
In-Reply-To: <1740126987-8483-1-git-send-email-liuwe@linux.microsoft.com>
The same structure and code can be used by other accelerators. Drop
the hvf prefix in the type and field name.
No functional change.
Signed-off-by: Wei Liu <liuwe@linux.microsoft.com>
---
target/i386/cpu.h | 6 ++--
target/i386/hvf/x86_flags.c | 56 ++++++++++++++++++-------------------
2 files changed, 31 insertions(+), 31 deletions(-)
diff --git a/target/i386/cpu.h b/target/i386/cpu.h
index bfdb1f87a3..00bb2ed79a 100644
--- a/target/i386/cpu.h
+++ b/target/i386/cpu.h
@@ -1772,10 +1772,10 @@ typedef struct CPUCaches {
CPUCacheInfo *l3_cache;
} CPUCaches;
-typedef struct HVFX86LazyFlags {
+typedef struct X86LazyFlags {
target_ulong result;
target_ulong auxbits;
-} HVFX86LazyFlags;
+} X86LazyFlags;
typedef struct CPUArchState {
/* standard registers */
@@ -2069,7 +2069,7 @@ typedef struct CPUArchState {
QemuMutex xen_timers_lock;
#endif
#if defined(CONFIG_HVF)
- HVFX86LazyFlags hvf_lflags;
+ X86LazyFlags lflags;
void *mmio_buf;
#endif
diff --git a/target/i386/hvf/x86_flags.c b/target/i386/hvf/x86_flags.c
index 03d6de5efc..3c02c9c563 100644
--- a/target/i386/hvf/x86_flags.c
+++ b/target/i386/hvf/x86_flags.c
@@ -62,7 +62,7 @@
#define SET_FLAGS_OSZAPC_SIZE(size, lf_carries, lf_result) { \
target_ulong temp = ((lf_carries) & (LF_MASK_AF)) | \
(((lf_carries) >> (size - 2)) << LF_BIT_PO); \
- env->hvf_lflags.result = (target_ulong)(int##size##_t)(lf_result); \
+ env->lflags.result = (target_ulong)(int##size##_t)(lf_result); \
if ((size) == 32) { \
temp = ((lf_carries) & ~(LF_MASK_PDB | LF_MASK_SD)); \
} else if ((size) == 16) { \
@@ -72,7 +72,7 @@
} else { \
VM_PANIC("unimplemented"); \
} \
- env->hvf_lflags.auxbits = (target_ulong)(uint32_t)temp; \
+ env->lflags.auxbits = (target_ulong)(uint32_t)temp; \
}
/* carries, result */
@@ -99,10 +99,10 @@
} else { \
VM_PANIC("unimplemented"); \
} \
- env->hvf_lflags.result = (target_ulong)(int##size##_t)(lf_result); \
- target_ulong delta_c = (env->hvf_lflags.auxbits ^ temp) & LF_MASK_CF; \
+ env->lflags.result = (target_ulong)(int##size##_t)(lf_result); \
+ target_ulong delta_c = (env->lflags.auxbits ^ temp) & LF_MASK_CF; \
delta_c ^= (delta_c >> 1); \
- env->hvf_lflags.auxbits = (target_ulong)(uint32_t)(temp ^ delta_c); \
+ env->lflags.auxbits = (target_ulong)(uint32_t)(temp ^ delta_c); \
}
/* carries, result */
@@ -116,8 +116,8 @@
void SET_FLAGS_OxxxxC(CPUX86State *env, uint32_t new_of, uint32_t new_cf)
{
uint32_t temp_po = new_of ^ new_cf;
- env->hvf_lflags.auxbits &= ~(LF_MASK_PO | LF_MASK_CF);
- env->hvf_lflags.auxbits |= (temp_po << LF_BIT_PO) | (new_cf << LF_BIT_CF);
+ env->lflags.auxbits &= ~(LF_MASK_PO | LF_MASK_CF);
+ env->lflags.auxbits |= (temp_po << LF_BIT_PO) | (new_cf << LF_BIT_CF);
}
void SET_FLAGS_OSZAPC_SUB32(CPUX86State *env, uint32_t v1, uint32_t v2,
@@ -213,27 +213,27 @@ void SET_FLAGS_OSZAPC_LOGIC8(CPUX86State *env, uint8_t v1, uint8_t v2,
bool get_PF(CPUX86State *env)
{
- uint32_t temp = (255 & env->hvf_lflags.result);
- temp = temp ^ (255 & (env->hvf_lflags.auxbits >> LF_BIT_PDB));
+ uint32_t temp = (255 & env->lflags.result);
+ temp = temp ^ (255 & (env->lflags.auxbits >> LF_BIT_PDB));
temp = (temp ^ (temp >> 4)) & 0x0F;
return (0x9669U >> temp) & 1;
}
void set_PF(CPUX86State *env, bool val)
{
- uint32_t temp = (255 & env->hvf_lflags.result) ^ (!val);
- env->hvf_lflags.auxbits &= ~(LF_MASK_PDB);
- env->hvf_lflags.auxbits |= (temp << LF_BIT_PDB);
+ uint32_t temp = (255 & env->lflags.result) ^ (!val);
+ env->lflags.auxbits &= ~(LF_MASK_PDB);
+ env->lflags.auxbits |= (temp << LF_BIT_PDB);
}
bool get_OF(CPUX86State *env)
{
- return ((env->hvf_lflags.auxbits + (1U << LF_BIT_PO)) >> LF_BIT_CF) & 1;
+ return ((env->lflags.auxbits + (1U << LF_BIT_PO)) >> LF_BIT_CF) & 1;
}
bool get_CF(CPUX86State *env)
{
- return (env->hvf_lflags.auxbits >> LF_BIT_CF) & 1;
+ return (env->lflags.auxbits >> LF_BIT_CF) & 1;
}
void set_OF(CPUX86State *env, bool val)
@@ -250,45 +250,45 @@ void set_CF(CPUX86State *env, bool val)
bool get_AF(CPUX86State *env)
{
- return (env->hvf_lflags.auxbits >> LF_BIT_AF) & 1;
+ return (env->lflags.auxbits >> LF_BIT_AF) & 1;
}
void set_AF(CPUX86State *env, bool val)
{
- env->hvf_lflags.auxbits &= ~(LF_MASK_AF);
- env->hvf_lflags.auxbits |= val << LF_BIT_AF;
+ env->lflags.auxbits &= ~(LF_MASK_AF);
+ env->lflags.auxbits |= val << LF_BIT_AF;
}
bool get_ZF(CPUX86State *env)
{
- return !env->hvf_lflags.result;
+ return !env->lflags.result;
}
void set_ZF(CPUX86State *env, bool val)
{
if (val) {
- env->hvf_lflags.auxbits ^=
- (((env->hvf_lflags.result >> LF_SIGN_BIT) & 1) << LF_BIT_SD);
+ env->lflags.auxbits ^=
+ (((env->lflags.result >> LF_SIGN_BIT) & 1) << LF_BIT_SD);
/* merge the parity bits into the Parity Delta Byte */
- uint32_t temp_pdb = (255 & env->hvf_lflags.result);
- env->hvf_lflags.auxbits ^= (temp_pdb << LF_BIT_PDB);
+ uint32_t temp_pdb = (255 & env->lflags.result);
+ env->lflags.auxbits ^= (temp_pdb << LF_BIT_PDB);
/* now zero the .result value */
- env->hvf_lflags.result = 0;
+ env->lflags.result = 0;
} else {
- env->hvf_lflags.result |= (1 << 8);
+ env->lflags.result |= (1 << 8);
}
}
bool get_SF(CPUX86State *env)
{
- return ((env->hvf_lflags.result >> LF_SIGN_BIT) ^
- (env->hvf_lflags.auxbits >> LF_BIT_SD)) & 1;
+ return ((env->lflags.result >> LF_SIGN_BIT) ^
+ (env->lflags.auxbits >> LF_BIT_SD)) & 1;
}
void set_SF(CPUX86State *env, bool val)
{
bool temp_sf = get_SF(env);
- env->hvf_lflags.auxbits ^= (temp_sf ^ val) << LF_BIT_SD;
+ env->lflags.auxbits ^= (temp_sf ^ val) << LF_BIT_SD;
}
void lflags_to_rflags(CPUX86State *env)
@@ -303,7 +303,7 @@ void lflags_to_rflags(CPUX86State *env)
void rflags_to_lflags(CPUX86State *env)
{
- env->hvf_lflags.auxbits = env->hvf_lflags.result = 0;
+ env->lflags.auxbits = env->lflags.result = 0;
set_OF(env, env->eflags & CC_O);
set_SF(env, env->eflags & CC_S);
set_ZF(env, env->eflags & CC_Z);
--
2.39.5 (Apple Git-154)
next prev parent reply other threads:[~2025-02-21 14:04 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-02-21 8:36 [RFC PATCH v1 00/19] Factor out HVF's instruction emulator Wei Liu
2025-02-21 8:36 ` [RFC PATCH v1 01/19] target/i386/hvf: fix a typo in a type name Wei Liu
2025-02-21 14:47 ` Philippe Mathieu-Daudé
2025-02-21 8:36 ` [RFC PATCH v1 02/19] target/i386/hvf: fix the declaration of hvf_handle_io Wei Liu
2025-02-21 8:36 ` [RFC PATCH v1 03/19] target/i386/hvf: use x86_segment in x86_decode.c Wei Liu
2025-02-21 8:36 ` [RFC PATCH v1 04/19] target/i386/hvf: introduce x86_emul_ops Wei Liu
2025-02-21 8:36 ` [RFC PATCH v1 05/19] target/i386/hvf: remove HVF specific calls from x86_decode.c Wei Liu
2025-02-21 8:36 ` [RFC PATCH v1 06/19] target/i386/hvf: move and rename {load, store}_regs Wei Liu
2025-02-21 8:36 ` [RFC PATCH v1 07/19] target/i386/hvf: provide and use handle_io in emul_ops Wei Liu
2025-02-21 8:36 ` [RFC PATCH v1 08/19] target/i386: rename hvf_mmio_buf to mmio_buf Wei Liu
2025-02-21 8:36 ` [RFC PATCH v1 09/19] target/i386/hvf: use emul_ops->read_mem in x86_emu.c Wei Liu
2025-02-21 8:36 ` [RFC PATCH v1 10/19] taret/i386/hvf: provide and use write_mem in emul_ops Wei Liu
2025-02-21 8:36 ` [RFC PATCH v1 11/19] target/i386/hvf: move and rename simulate_{rdmsr, wrmsr} Wei Liu
2025-02-21 8:36 ` [RFC PATCH v1 12/19] target/i386/hvf: provide and use simulate_{wrmsr, rdmsr} in emul_ops Wei Liu
2025-02-21 8:36 ` Wei Liu [this message]
2025-02-21 8:36 ` [RFC PATCH v1 14/19] target/i386/hvf: drop unused headers Wei Liu
2025-02-21 8:36 ` [RFC PATCH v1 15/19] target/i386/hvf: drop some dead code Wei Liu
2025-02-21 8:36 ` [RFC PATCH v1 16/19] target/i386/hvf: rename some include guards Wei Liu
2025-02-21 8:36 ` [RFC PATCH v1 17/19] target/i386: add a directory for x86 instruction emulator Wei Liu
2025-02-21 8:36 ` [RFC PATCH v1 18/19] target/i386/x86-insn-emul: add a panic.h Wei Liu
2025-02-21 8:36 ` [RFC PATCH v1 19/19] target/i386: move x86 instruction emulator out of hvf Wei Liu
2025-02-21 16:36 ` [RFC PATCH v1 00/19] Factor out HVF's instruction emulator Paolo Bonzini
2025-02-21 18:56 ` Wei Liu
2025-02-21 16:53 ` Peter Maydell
2025-02-21 19:05 ` Wei Liu
2025-03-05 16:50 ` Wei Liu
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=1740126987-8483-14-git-send-email-liuwe@linux.microsoft.com \
--to=liuwe@linux.microsoft.com \
--cc=deviv@microsoft.com \
--cc=dirty@apple.com \
--cc=jinankjain@linux.microsoft.com \
--cc=jpiotrowski@microsoft.com \
--cc=liuwe@microsoft.com \
--cc=magnuskulke@microsoft.com \
--cc=muislam@microsoft.com \
--cc=mukeshrathor@microsoft.com \
--cc=phil@philjordan.eu \
--cc=prapal@microsoft.com \
--cc=qemu-devel@nongnu.org \
--cc=rbolshakov@ddn.com \
--cc=wei.liu@kernel.org \
--cc=ziqiaozhou@microsoft.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.