From mboxrd@z Thu Jan 1 00:00:00 1970 From: Shannon Zhao Subject: Re: Design doc of adding ACPI support for arm64 on Xen - version 5 Date: Sat, 29 Aug 2015 09:29:19 +0800 Message-ID: <55E10AEF.6020806@linaro.org> References: <55E02DC5.4090202@huawei.com> <55E09528020000780009DE26@prv-mh.provo.novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <55E09528020000780009DE26@prv-mh.provo.novell.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Jan Beulich , Shannon Zhao Cc: Hangaohuai , Ian Campbell , Stefano Stabellini , andrew@fubar.geek.nz, "Huangpeng (Peter)" , Julien Grall , Stefano Stabellini , David Vrabel , Boris Ostrovsky , xen-devel , Parth Dixit , Christoffer Dall , RogerPau Monne List-Id: xen-devel@lists.xenproject.org On 2015/8/28 23:06, Jan Beulich wrote: >>>> On 28.08.15 at 11:45, wrote: >> 2. Copy and change some EFI and ACPI tables >> ------------------------------------------- >> a) Create EFI_SYSTEM_TABLE table >> Copy the header from the origin and change the value of FirmwareVendor. > > Careful: The version in the header may imply that fields are there > which you aren't aware of. I think you need to adjust the version > field too. (Obviously along with FirmwareVendor you definitely also > want to change FirmwareRevision.) > Ok, will change the FirmwareRevision as well. >> Create only one ConfigurationTable to store VendorGuid and VendorTable. > > What do you mean with "Create only one ..." - there is only one. > DYM "Create one additional Configuration Table entry ...", implying > that the Configuration Table will need to by copied too? > Sorry for the misunderstanding. I mean that it doesn't copy the original one and just creates a new ConfigurationTable. >> d) Copy MADT table >> It needs to change MADT table to restrict the number of vCPUs. We choose >> to copy the first dom0_max_vcpus GICC entries of MADT to new created >> MADT table when numa is not supported currently. > > Copy means you imply to have an original? So I'll change it to "create". > What if dom0_max_vcpus > is larger than the physical CPU count? > I think it only needs to care the cpu_interface_number, uid and mpidr field of GICC entry and other fields could be same with the host GICC entry. It could get the mpidr from the vCPU index. >> g) Copy RSDP table >> Change the value of xsdt_physical_address in RSDP table. As we create a >> new XSDT table and the address of XSDT is changed, so it needs to update >> the value of "xsdt_physical_address" in RSDP. So Dom0 could get the >> right XSDT table rather than the old one. And it needs to update the >> value of VendorTable in EFI Configuration Table which is created in >> above step a). > > How is this last sentence related to the handling of RSDP? > Because the ACPI root address(i.e. the address of RSDP table) is stored in EFI Configuration Table. Thanks, -- Shannon