KVM: Split QEMUMachine typedef into separate header
Older gcc versions (such as the one in SLES11) get confused when you declare a typedef on the same struct twice. To work around that limitation, let's extract the QEMUMachine typedef into a separate header file that is guarded by preprocessor duplicate include checks. This fixes the following type of compile errors for me: In file included from vl.c:125: include/hw/xen/xen.h:39: error: redefinition of typedef "QEMUMachine" include/sysemu/kvm.h:155: error: previous declaration of "QEMUMachine" was here Signed-off-by: Alexander Graf <agraf@suse.de>
This commit is contained in:
		
							parent
							
								
									88ccd23a0c
								
							
						
					
					
						commit
						9c06a1f79f
					
				| @ -4,10 +4,9 @@ | ||||
| #define HW_BOARDS_H | ||||
| 
 | ||||
| #include "sysemu/blockdev.h" | ||||
| #include "sysemu/qemumachine.h" | ||||
| #include "hw/qdev.h" | ||||
| 
 | ||||
| typedef struct QEMUMachine QEMUMachine; | ||||
| 
 | ||||
| typedef struct QEMUMachineInitArgs { | ||||
|     const QEMUMachine *machine; | ||||
|     ram_addr_t ram_size; | ||||
|  | ||||
| @ -10,6 +10,7 @@ | ||||
| 
 | ||||
| #include "hw/irq.h" | ||||
| #include "qemu-common.h" | ||||
| #include "sysemu/qemumachine.h" | ||||
| 
 | ||||
| /* xen-machine.c */ | ||||
| enum xen_mode { | ||||
|  | ||||
| @ -18,6 +18,7 @@ | ||||
| #include "config-host.h" | ||||
| #include "qemu/queue.h" | ||||
| #include "qom/cpu.h" | ||||
| #include "sysemu/qemumachine.h" | ||||
| 
 | ||||
| #ifdef CONFIG_KVM | ||||
| #include <linux/kvm.h> | ||||
|  | ||||
							
								
								
									
										16
									
								
								include/sysemu/qemumachine.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								include/sysemu/qemumachine.h
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,16 @@ | ||||
| /*
 | ||||
|  * QEMU Machine typedef | ||||
|  * | ||||
|  * Copyright Alexander Graf <agraf@suse.de> | ||||
|  * | ||||
|  * This work is licensed under the terms of the GNU GPL, version 2 or later. | ||||
|  * See the COPYING file in the top-level directory. | ||||
|  * | ||||
|  */ | ||||
| 
 | ||||
| #ifndef QEMUMACHINE_H | ||||
| #define QEMUMACHINE_H | ||||
| 
 | ||||
| typedef struct QEMUMachine QEMUMachine; | ||||
| 
 | ||||
| #endif /* !QEMUMACHINE_H */ | ||||
| @ -16,6 +16,7 @@ | ||||
| 
 | ||||
| #include "qemu-common.h" | ||||
| #include "qapi/error.h" | ||||
| #include "sysemu/qemumachine.h" | ||||
| 
 | ||||
| extern bool qtest_allowed; | ||||
| 
 | ||||
|  | ||||
| @ -14,6 +14,7 @@ | ||||
| #include "hw/hw.h" | ||||
| #include "cpu.h" | ||||
| #include "sysemu/kvm.h" | ||||
| #include "sysemu/qemumachine.h" | ||||
| 
 | ||||
| #ifndef CONFIG_USER_ONLY | ||||
| #include "hw/pci/msi.h" | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Alexander Graf
						Alexander Graf