qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH 04/12] target-arm: allow modifying vfp fpexc en bit


From: Juha.Riihimaki
Subject: [Qemu-devel] [PATCH 04/12] target-arm: allow modifying vfp fpexc en bit only
Date: Wed, 21 Oct 2009 12:17:45 +0200

All other bits except for the EN in the VFP FPEXC register are defined  
as subarchitecture specific and real functionality for any of the  
other bits has not been implemented in QEMU. However, current code  
allows modifying all bits in the VFP FPEXC register leading to  
problems when guest code is writing 1's to the subarchitecture  
specific bits and checking whether the bits stay up to verify the  
existence of functionality which in fact does not exist in QEMU.

Signed-off-by: Juha Riihimäki <address@hidden>
---
diff --git a/target-arm/translate.c b/target-arm/translate.c
index d027572..07ee638 100644
--- a/target-arm/translate.c
+++ b/target-arm/translate.c
@@ -2788,6 +2788,9 @@ static int disas_vfp_insn(CPUState * env,  
DisasContext *s, uint32_t insn)
                          case ARM_VFP_FPEXC:
                              if (IS_USER(s))
                                  return 1;
+                            /* TODO: VFP subarchitecture support.
+                             * For now, keep the EN bit only */
+                            tcg_gen_andi_i32(tmp, tmp, 1 << 30);
                              store_cpu_field(tmp, vfp.xregs[rn]);
                              gen_lookup_tb(s);
                              break;

Attachment: translate.c.vfpfpexc.diff
Description: translate.c.vfpfpexc.diff


reply via email to

[Prev in Thread] Current Thread [Next in Thread]