[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v3 1/6] xen: do not initialize the interval time
From: |
Stefano Stabellini |
Subject: |
Re: [Qemu-devel] [PATCH v3 1/6] xen: do not initialize the interval timer emulator |
Date: |
Mon, 30 Jan 2012 11:39:24 +0000 |
User-agent: |
Alpine 2.00 (DEB 1167 2008-08-23) |
On Fri, 27 Jan 2012, Jan Kiszka wrote:
> On 2012-01-27 19:21, Stefano Stabellini wrote:
> > PIT is emulated by the hypervisor so we don't need to emulate it in Qemu:
> > this patch prevents Qemu from waking up needlessly at PIT_FREQ on Xen.
> >
> > Signed-off-by: Stefano Stabellini <address@hidden>
> > ---
> > hw/pc.c | 7 +++++--
> > 1 files changed, 5 insertions(+), 2 deletions(-)
> >
> > diff --git a/hw/pc.c b/hw/pc.c
> > index 85304cf..7a7ce98 100644
> > --- a/hw/pc.c
> > +++ b/hw/pc.c
> > @@ -43,6 +43,7 @@
> > #include "ui/qemu-spice.h"
> > #include "memory.h"
> > #include "exec-memory.h"
> > +#include "arch_init.h"
> >
> > /* output Bochs bios info messages */
> > //#define DEBUG_BIOS
> > @@ -1130,7 +1131,7 @@ void pc_basic_device_init(ISABus *isa_bus, qemu_irq
> > *gsi,
> > DriveInfo *fd[MAX_FD];
> > qemu_irq rtc_irq = NULL;
> > qemu_irq *a20_line;
> > - ISADevice *i8042, *port92, *vmmouse, *pit;
> > + ISADevice *i8042, *port92, *vmmouse, *pit = NULL;
> > qemu_irq *cpu_exit_irq;
> >
> > register_ioport_write(0x80, 1, 1, ioport80_write, NULL);
> > @@ -1151,7 +1152,9 @@ void pc_basic_device_init(ISABus *isa_bus, qemu_irq
> > *gsi,
> >
> > qemu_register_boot_set(pc_boot_set, *rtc_state);
> >
> > - pit = pit_init(isa_bus, 0x40, 0);
> > + if (!xen_available()) {
> > + pit = pit_init(isa_bus, 0x40, 0);
> > + }
> > pcspk_init(pit);
> >
> > for(i = 0; i < MAX_SERIAL_PORTS; i++) {
>
> Thus as guest accessing to port 0x61 will be able to crash qemu because
> pit is NULL? Or do you emulate that port in the kernel? If not, you
> likely want to move pcspk_init() under the same umbrella.
We already emulate both pit and port 0x61 in xen so a guest won't be
able to crash qemu that easily :)
But now that you make me think about it, it makes sense to move
pcspk_init under the same if, like you suggested.
Thanks,
Stefano
- [Qemu-devel] [PATCH v3 0/6] prevent Qemu from waking up needlessly, Stefano Stabellini, 2012/01/27
- [Qemu-devel] [PATCH v3 5/6] qemu_next_alarm_deadline: check the expire time of a clock only if it is enabled, Stefano Stabellini, 2012/01/27
- [Qemu-devel] [PATCH v3 2/6] xen: disable rtc_clock, Stefano Stabellini, 2012/01/27
- [Qemu-devel] [PATCH v3 3/6] xen: introduce an event channel for buffered io event notifications, Stefano Stabellini, 2012/01/27
- [Qemu-devel] [PATCH v3 6/6] qemu_calculate_timeout: increase minimum timeout to 1h, Stefano Stabellini, 2012/01/27
- [Qemu-devel] [PATCH v3 4/6] timers: the rearm function should be able to handle delta = INT64_MAX, Stefano Stabellini, 2012/01/27