mirror of https://gitee.com/openkylin/qemu.git
pc, Disable vmport initialisation with Xen.
This is because there is not synchronisation of the vcpu register between Xen and QEMU, so vmport can't work properly. This patch introduces no_vmport parameter to pc_basic_device_init. Signed-off-by: Anthony PERARD <anthony.perard@citrix.com> Signed-off-by: Alexander Graf <agraf@suse.de>
This commit is contained in:
parent
29d3ccde82
commit
1611977c3d
11
hw/pc.c
11
hw/pc.c
|
@ -1082,7 +1082,8 @@ static void cpu_request_exit(void *opaque, int irq, int level)
|
|||
}
|
||||
|
||||
void pc_basic_device_init(qemu_irq *isa_irq,
|
||||
ISADevice **rtc_state)
|
||||
ISADevice **rtc_state,
|
||||
bool no_vmport)
|
||||
{
|
||||
int i;
|
||||
DriveInfo *fd[MAX_FD];
|
||||
|
@ -1127,8 +1128,12 @@ void pc_basic_device_init(qemu_irq *isa_irq,
|
|||
a20_line = qemu_allocate_irqs(handle_a20_line_change, first_cpu, 2);
|
||||
i8042 = isa_create_simple("i8042");
|
||||
i8042_setup_a20_line(i8042, &a20_line[0]);
|
||||
vmport_init();
|
||||
vmmouse = isa_try_create("vmmouse");
|
||||
if (!no_vmport) {
|
||||
vmport_init();
|
||||
vmmouse = isa_try_create("vmmouse");
|
||||
} else {
|
||||
vmmouse = NULL;
|
||||
}
|
||||
if (vmmouse) {
|
||||
qdev_prop_set_ptr(&vmmouse->qdev, "ps2_mouse", i8042);
|
||||
qdev_init_nofail(&vmmouse->qdev);
|
||||
|
|
3
hw/pc.h
3
hw/pc.h
|
@ -137,7 +137,8 @@ void pc_memory_init(const char *kernel_filename,
|
|||
qemu_irq *pc_allocate_cpu_irq(void);
|
||||
void pc_vga_init(PCIBus *pci_bus);
|
||||
void pc_basic_device_init(qemu_irq *isa_irq,
|
||||
ISADevice **rtc_state);
|
||||
ISADevice **rtc_state,
|
||||
bool no_vmport);
|
||||
void pc_init_ne2k_isa(NICInfo *nd);
|
||||
void pc_cmos_init(ram_addr_t ram_size, ram_addr_t above_4g_mem_size,
|
||||
const char *boot_device,
|
||||
|
|
|
@ -133,7 +133,7 @@ static void pc_init1(ram_addr_t ram_size,
|
|||
pc_vga_init(pci_enabled? pci_bus: NULL);
|
||||
|
||||
/* init basic PC hardware */
|
||||
pc_basic_device_init(isa_irq, &rtc_state);
|
||||
pc_basic_device_init(isa_irq, &rtc_state, xen_enabled());
|
||||
|
||||
for(i = 0; i < nb_nics; i++) {
|
||||
NICInfo *nd = &nd_table[i];
|
||||
|
|
Loading…
Reference in New Issue