diff mbox series

[4/4] hw/i386: Make vmmouse helpers static

Message ID 20200504083342.24273-5-f4bug@amsat.org
State New
Headers show
Series hw/i386: Restrict vmport/vmmouse devices to x86 targets | expand

Commit Message

Philippe Mathieu-Daudé May 4, 2020, 8:33 a.m. UTC
The vmmouse helpers are only used in hw/i386/vmmouse.c,
make them static.

Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
---
 include/hw/i386/pc.h |  4 ----
 hw/i386/vmmouse.c    | 22 +++++++++++++++++++++-
 hw/i386/vmport.c     | 23 +----------------------
 3 files changed, 22 insertions(+), 27 deletions(-)

Comments

Richard Henderson May 4, 2020, 5:29 p.m. UTC | #1
On 5/4/20 1:33 AM, Philippe Mathieu-Daudé wrote:
> +++ b/hw/i386/vmport.c
> @@ -23,10 +23,10 @@
>   */
>  #include "qemu/osdep.h"
>  #include "hw/isa/isa.h"
> -#include "hw/i386/pc.h"
>  #include "sysemu/hw_accel.h"
>  #include "qemu/log.h"
>  #include "vmport.h"
> +#include "cpu.h"
>  #include "trace.h"
>  
>  #define VMPORT_CMD_GETVERSION 0x0a
> @@ -109,27 +109,6 @@ static uint32_t vmport_cmd_ram_size(void *opaque, uint32_t addr)
>      return ram_size;
>  }
>  
> -/* vmmouse helpers */
> -void vmmouse_get_data(uint32_t *data)
> -{
> -    X86CPU *cpu = X86_CPU(current_cpu);
> -    CPUX86State *env = &cpu->env;
> -
> -    data[0] = env->regs[R_EAX]; data[1] = env->regs[R_EBX];
> -    data[2] = env->regs[R_ECX]; data[3] = env->regs[R_EDX];
> -    data[4] = env->regs[R_ESI]; data[5] = env->regs[R_EDI];
> -}

Why are you adding "cpu.h" when removing code?
Does that mean you don't need to add "cpu.h" to vmmouse.c?


r~
Philippe Mathieu-Daudé May 5, 2020, 5:36 a.m. UTC | #2
On 5/4/20 7:29 PM, Richard Henderson wrote:
> On 5/4/20 1:33 AM, Philippe Mathieu-Daudé wrote:
>> +++ b/hw/i386/vmport.c
>> @@ -23,10 +23,10 @@
>>    */
>>   #include "qemu/osdep.h"
>>   #include "hw/isa/isa.h"
>> -#include "hw/i386/pc.h"
>>   #include "sysemu/hw_accel.h"
>>   #include "qemu/log.h"
>>   #include "vmport.h"
>> +#include "cpu.h"
>>   #include "trace.h"
>>   
>>   #define VMPORT_CMD_GETVERSION 0x0a
>> @@ -109,27 +109,6 @@ static uint32_t vmport_cmd_ram_size(void *opaque, uint32_t addr)
>>       return ram_size;
>>   }
>>   
>> -/* vmmouse helpers */
>> -void vmmouse_get_data(uint32_t *data)
>> -{
>> -    X86CPU *cpu = X86_CPU(current_cpu);
>> -    CPUX86State *env = &cpu->env;
>> -
>> -    data[0] = env->regs[R_EAX]; data[1] = env->regs[R_EBX];
>> -    data[2] = env->regs[R_ECX]; data[3] = env->regs[R_EDX];
>> -    data[4] = env->regs[R_ESI]; data[5] = env->regs[R_EDI];
>> -}
> 
> Why are you adding "cpu.h" when removing code?

Because this file still use the X86 register definitions:

   static uint32_t vmport_cmd_get_version(void *opaque, uint32_t addr)
   {
       X86CPU *cpu = X86_CPU(current_cpu);

       cpu->env.regs[R_EBX] = VMPORT_MAGIC;
       return 6;
   }

> Does that mean you don't need to add "cpu.h" to vmmouse.c?

Now both files vmmouse/vmport uses the X86 register definitions, but 
they don't use anything declared in "hw/i386/pc.h".

> 
> 
> r~
>
diff mbox series

Patch

diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h
index de49a57506..05e19455bb 100644
--- a/include/hw/i386/pc.h
+++ b/include/hw/i386/pc.h
@@ -129,10 +129,6 @@  typedef struct PCMachineClass {
 
 GSIState *pc_gsi_create(qemu_irq **irqs, bool pci_enabled);
 
-/* vmport.c */
-void vmmouse_get_data(uint32_t *data);
-void vmmouse_set_data(const uint32_t *data);
-
 /* pc.c */
 extern int fd_bootchk;
 
diff --git a/hw/i386/vmmouse.c b/hw/i386/vmmouse.c
index 78b36f6f5d..b3aef41327 100644
--- a/hw/i386/vmmouse.c
+++ b/hw/i386/vmmouse.c
@@ -25,11 +25,11 @@ 
 #include "qemu/osdep.h"
 #include "qapi/error.h"
 #include "ui/console.h"
-#include "hw/i386/pc.h"
 #include "hw/input/i8042.h"
 #include "hw/qdev-properties.h"
 #include "migration/vmstate.h"
 #include "vmport.h"
+#include "cpu.h"
 
 /* debug only vmmouse */
 //#define DEBUG_VMMOUSE
@@ -71,6 +71,26 @@  typedef struct VMMouseState
     ISAKBDState *i8042;
 } VMMouseState;
 
+static void vmmouse_get_data(uint32_t *data)
+{
+    X86CPU *cpu = X86_CPU(current_cpu);
+    CPUX86State *env = &cpu->env;
+
+    data[0] = env->regs[R_EAX]; data[1] = env->regs[R_EBX];
+    data[2] = env->regs[R_ECX]; data[3] = env->regs[R_EDX];
+    data[4] = env->regs[R_ESI]; data[5] = env->regs[R_EDI];
+}
+
+static void vmmouse_set_data(const uint32_t *data)
+{
+    X86CPU *cpu = X86_CPU(current_cpu);
+    CPUX86State *env = &cpu->env;
+
+    env->regs[R_EAX] = data[0]; env->regs[R_EBX] = data[1];
+    env->regs[R_ECX] = data[2]; env->regs[R_EDX] = data[3];
+    env->regs[R_ESI] = data[4]; env->regs[R_EDI] = data[5];
+}
+
 static uint32_t vmmouse_get_status(VMMouseState *s)
 {
     DPRINTF("vmmouse_get_status()\n");
diff --git a/hw/i386/vmport.c b/hw/i386/vmport.c
index 00d47e0c4c..1aaaab691a 100644
--- a/hw/i386/vmport.c
+++ b/hw/i386/vmport.c
@@ -23,10 +23,10 @@ 
  */
 #include "qemu/osdep.h"
 #include "hw/isa/isa.h"
-#include "hw/i386/pc.h"
 #include "sysemu/hw_accel.h"
 #include "qemu/log.h"
 #include "vmport.h"
+#include "cpu.h"
 #include "trace.h"
 
 #define VMPORT_CMD_GETVERSION 0x0a
@@ -109,27 +109,6 @@  static uint32_t vmport_cmd_ram_size(void *opaque, uint32_t addr)
     return ram_size;
 }
 
-/* vmmouse helpers */
-void vmmouse_get_data(uint32_t *data)
-{
-    X86CPU *cpu = X86_CPU(current_cpu);
-    CPUX86State *env = &cpu->env;
-
-    data[0] = env->regs[R_EAX]; data[1] = env->regs[R_EBX];
-    data[2] = env->regs[R_ECX]; data[3] = env->regs[R_EDX];
-    data[4] = env->regs[R_ESI]; data[5] = env->regs[R_EDI];
-}
-
-void vmmouse_set_data(const uint32_t *data)
-{
-    X86CPU *cpu = X86_CPU(current_cpu);
-    CPUX86State *env = &cpu->env;
-
-    env->regs[R_EAX] = data[0]; env->regs[R_EBX] = data[1];
-    env->regs[R_ECX] = data[2]; env->regs[R_EDX] = data[3];
-    env->regs[R_ESI] = data[4]; env->regs[R_EDI] = data[5];
-}
-
 static const MemoryRegionOps vmport_ops = {
     .read = vmport_ioport_read,
     .write = vmport_ioport_write,