[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 15/19] target/i386/seg_helper: remove shadowed variable
From: |
Paolo Bonzini |
Subject: |
[PULL 15/19] target/i386/seg_helper: remove shadowed variable |
Date: |
Tue, 26 Sep 2023 18:59:11 +0200 |
Return the width of the new task directly from switch_tss_ra.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
target/i386/tcg/seg_helper.c | 22 ++++++++++------------
1 file changed, 10 insertions(+), 12 deletions(-)
diff --git a/target/i386/tcg/seg_helper.c b/target/i386/tcg/seg_helper.c
index b5198db82bc..2b92aee2073 100644
--- a/target/i386/tcg/seg_helper.c
+++ b/target/i386/tcg/seg_helper.c
@@ -245,10 +245,10 @@ static void tss_set_busy(CPUX86State *env, int
tss_selector, bool value,
#define SWITCH_TSS_IRET 1
#define SWITCH_TSS_CALL 2
-/* XXX: restore CPU state in registers (PowerPC case) */
-static void switch_tss_ra(CPUX86State *env, int tss_selector,
- uint32_t e1, uint32_t e2, int source,
- uint32_t next_eip, uintptr_t retaddr)
+/* return 0 if switching to a 16-bit selector */
+static int switch_tss_ra(CPUX86State *env, int tss_selector,
+ uint32_t e1, uint32_t e2, int source,
+ uint32_t next_eip, uintptr_t retaddr)
{
int tss_limit, tss_limit_max, type, old_tss_limit_max, old_type, v1, v2, i;
target_ulong tss_base;
@@ -502,13 +502,14 @@ static void switch_tss_ra(CPUX86State *env, int
tss_selector,
cpu_x86_update_dr7(env, env->dr[7] & ~DR7_LOCAL_BP_MASK);
}
#endif
+ return type >> 3;
}
-static void switch_tss(CPUX86State *env, int tss_selector,
- uint32_t e1, uint32_t e2, int source,
- uint32_t next_eip)
+static int switch_tss(CPUX86State *env, int tss_selector,
+ uint32_t e1, uint32_t e2, int source,
+ uint32_t next_eip)
{
- switch_tss_ra(env, tss_selector, e1, e2, source, next_eip, 0);
+ return switch_tss_ra(env, tss_selector, e1, e2, source, next_eip, 0);
}
static inline unsigned int get_sp_mask(unsigned int e2)
@@ -650,14 +651,11 @@ static void do_interrupt_protected(CPUX86State *env, int
intno, int is_int,
if (!(e2 & DESC_P_MASK)) {
raise_exception_err(env, EXCP0B_NOSEG, intno * 8 + 2);
}
- switch_tss(env, intno * 8, e1, e2, SWITCH_TSS_CALL, old_eip);
+ shift = switch_tss(env, intno * 8, e1, e2, SWITCH_TSS_CALL, old_eip);
if (has_error_code) {
- int type;
uint32_t mask;
/* push the error code */
- type = (env->tr.flags >> DESC_TYPE_SHIFT) & 0xf;
- shift = type >> 3;
if (env->segs[R_SS].flags & DESC_B_MASK) {
mask = 0xffffffff;
} else {
--
2.41.0
- [PULL 03/19] user-exec-stub: remove unused variable, (continued)
- [PULL 03/19] user-exec-stub: remove unused variable, Paolo Bonzini, 2023/09/26
- [PULL 04/19] hw/scsi/scsi-disk: Disallow block sizes smaller than 512 [CVE-2023-42467], Paolo Bonzini, 2023/09/26
- [PULL 07/19] ui/vnc: fix handling of VNC_FEATURE_XVP, Paolo Bonzini, 2023/09/26
- [PULL 06/19] ui/vnc: fix debug output for invalid audio message, Paolo Bonzini, 2023/09/26
- [PULL 12/19] target/i386/cpu: avoid shadowed local variables, Paolo Bonzini, 2023/09/26
- [PULL 08/19] mptsas: avoid shadowed local variables, Paolo Bonzini, 2023/09/26
- [PULL 10/19] m48t59-test: avoid possible overflow on ABS, Paolo Bonzini, 2023/09/26
- [PULL 17/19] block: mark mixed functions that can suspend, Paolo Bonzini, 2023/09/26
- [PULL 14/19] target/i386/seg_helper: introduce tss_set_busy, Paolo Bonzini, 2023/09/26
- [PULL 02/19] seabios: remove PCI drivers from bios.bin, Paolo Bonzini, 2023/09/26
- [PULL 15/19] target/i386/seg_helper: remove shadowed variable,
Paolo Bonzini <=
- [PULL 05/19] vl: remove shadowed local variables, Paolo Bonzini, 2023/09/26
- [PULL 13/19] target/i386/translate: avoid shadowed local variables, Paolo Bonzini, 2023/09/26
- [PULL 11/19] target/i386/kvm: eliminate shadowed local variables, Paolo Bonzini, 2023/09/26
- [PULL 09/19] pm_smbus: rename variable to avoid shadowing, Paolo Bonzini, 2023/09/26
- [PULL 19/19] audio: remove shadowed locals, Paolo Bonzini, 2023/09/26
- [PULL 16/19] target/i386/svm_helper: eliminate duplicate local variable, Paolo Bonzini, 2023/09/26
- [PULL 18/19] compiler: introduce QEMU_ANNOTATE, Paolo Bonzini, 2023/09/26
- Re: [PULL 00/19] Misc patches for 2023-09-26, Stefan Hajnoczi, 2023/09/27