qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [SeaBIOS] [PATCH] acpi: hide 64-bit PCI hole for Window


From: Gerd Hoffmann
Subject: Re: [Qemu-devel] [SeaBIOS] [PATCH] acpi: hide 64-bit PCI hole for Windows XP
Date: Mon, 12 Aug 2013 08:05:08 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130621 Thunderbird/17.0.7

On 08/10/13 05:10, Kevin O'Connor wrote:
> On Fri, Aug 09, 2013 at 08:25:00AM +0200, Gerd Hoffmann wrote:
>>> I don't think SeaBIOS should continue to do the above once the tables
>>> are moved to QEMU.  QEMU has all the info SeaBIOS has, so it can
>>> generate the tables correctly on its own.
>>
>> The loader script provided by qemu has fixup instructions, which is
>> needed to fixup pointers to other acpi tables.  The idea is to use that
>> mechanism to also allow th firmware to fixup addresses like pmbase in
>> the qemu-generated tables.
> 
> Yes, but why should QEMU tell SeaBIOS to modify the table for pmbase
> when it can just modify the table itself?

We'll need some way to make sure the pmbase (also mmconf xbar) set by
the firmware matches the pmbase address filled into the acpi tables by
qemu ...

So the options we have are:

  (1) Hardcode the address everywhere.  This is pretty close to the
      current state, 0xb000 is hard-coded pretty much everywhere,
      basically because older qemu versions had the pmbase register
      readonly with 0xb000.  I'd like to move the pmbase somewhere else
      long-term, to free the 0xb000-0xbfff window, so I'd like to avoid
      that.

  (2) Have qemu pick pmbase/xbar addr.  Doesn't work due to
      initialization order issues (especially xbar for coreboot).

  (3) Have firmware pick pmbase/xbar, have fixup instructions for the
      addresses in in the loader script, simliar to the fixup
      instructions for table-to-table pointers.

  (4) [ new idea by mst ]  Have firmware pick pmbase/xbar, then have
      qemu look at the hardware registers programmed by the firmware,
      use pmbase/xbar addresses found there there when generating the
      tables.

cheers,
  Gerd




reply via email to

[Prev in Thread] Current Thread [Next in Thread]