[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] Bug: Windows 2003 fails to install on xen-unstable tip



> -----Original Message-----
> From: Ian Campbell
> Sent: 26 April 2013 17:57
> To: Jan Beulich
> Cc: Andrew Cooper; Paul Durrant; Keir (Xen.org); Tim (Xen.org); George
> Dunlap; xen-devel@xxxxxxxxxxxxx; Eddie Dong; Suravee Suthikulpanit; Roger
> Pau Monne
> Subject: Re: [Xen-devel] Bug: Windows 2003 fails to install on xen-unstable
> tip
> 
> On Fri, 2013-04-26 at 17:10 +0100, Jan Beulich wrote:
> > >>> On 25.04.13 at 18:34, Tim Deegan <tim@xxxxxxx> wrote:
> > > At 17:02 +0100 on 25 Apr (1366909369), Jan Beulich wrote:
> > >> With that fixed and the mentioned code block removed, things
> > >> work as I had expected. But the logging that I added in the
> > >> course of all this shows that it really juts happens to work,
> > >> I can't really explain why (other than the myriads of superfluous
> > >> interrupts attempted to be injected into the guest keeping the
> > >> VM alive). In particular, almost none of the injected IRQs
> > >> actually reach their handler (there are only very few REG_C
> > >> reads), but the handler also doesn't do anything really
> > >> interesting (i.e. we don't actually need the handler to execute,
> > >> we just need to keep a flow of interrupts going into the VM).
> > >
> > > Really?  Does injecting spurious interrupts work too?  Presumably the
> > > handler does _something_.
> >
> > So it turns out they have two handlers - the one that does read
> > REG_C is an early (apparently probing kind) one, while very soon
> > they install a second, permanent one. That second one reads
> > REG_C only conditionally, and the condition is the respective
> > flag in the WAET table (added by c/s 23965:6880bfc48504) to
> > hvmloader. The moment I clear that flag, all works as expected.
> 
> Oh my god. What on earth can the semantics of ACPI_WAET_RTC_GOOD be
> such
> that every BIOS vendor doesn't immediately just set it: "Of course my
> RTC is good!"
> 

The spec says:

"Indicates whether the RTC has been enhanced not to require acknowledgment 
after it asserts an interrupt. With this bit set, an interrupt handler can 
bypass reading the RTC register C to unlatch the pending interrupt."

  Paul

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.