mirror of
				https://github.com/yuzu-emu/unicorn.git
				synced 2025-10-30 04:58:51 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			53 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| #ifndef HW_PC_H
 | |
| #define HW_PC_H
 | |
| 
 | |
| #include "hw/boards.h"
 | |
| 
 | |
| /**
 | |
|  * PCMachineState:
 | |
|  */
 | |
| struct PCMachineState {
 | |
|     /*< private >*/
 | |
|     MachineState parent_obj;
 | |
| 
 | |
|     uint64_t max_ram_below_4g;
 | |
| };
 | |
| 
 | |
| #define PC_MACHINE_MAX_RAM_BELOW_4G "max-ram-below-4g"
 | |
| 
 | |
| /**
 | |
|  * PCMachineClass:
 | |
|  */
 | |
| struct PCMachineClass {
 | |
|     /*< private >*/
 | |
|     MachineClass parent_class;
 | |
| };
 | |
| 
 | |
| typedef struct PCMachineState PCMachineState;
 | |
| typedef struct PCMachineClass PCMachineClass;
 | |
| 
 | |
| #define TYPE_PC_MACHINE "generic-pc-machine"
 | |
| #define PC_MACHINE(uc, obj) \
 | |
|     OBJECT_CHECK(uc, PCMachineState, (obj), TYPE_PC_MACHINE)
 | |
| #define PC_MACHINE_GET_CLASS(obj) \
 | |
|     OBJECT_GET_CLASS(PCMachineClass, (obj), TYPE_PC_MACHINE)
 | |
| #define PC_MACHINE_CLASS(klass) \
 | |
|     OBJECT_CLASS_CHECK(PCMachineClass, (klass), TYPE_PC_MACHINE)
 | |
| 
 | |
| void pc_cpus_init(struct uc_struct *uc, const char *cpu_model);
 | |
| 
 | |
| FWCfgState *pc_memory_init(MachineState *machine,
 | |
|                            MemoryRegion *system_memory,
 | |
|                            ram_addr_t begin,
 | |
|                            MemoryRegion **ram_memory);
 | |
| typedef void (*cpu_set_smm_t)(int smm, void *arg);
 | |
| void cpu_smm_register(cpu_set_smm_t callback, void *arg);
 | |
| 
 | |
| void pc_machine_register_types(struct uc_struct *uc);
 | |
| void x86_cpu_register_types(struct uc_struct *uc);
 | |
| 
 | |
| #define PC_DEFAULT_MACHINE_OPTIONS \
 | |
|     .max_cpus = 255
 | |
| 
 | |
| #endif
 |