From mboxrd@z Thu Jan 1 00:00:00 1970 From: Suravee Suthikulanit Subject: Re: [PATCH 3/3] x86/AMD-Vi: Fix IVRS HPET special->handle override Date: Tue, 24 Sep 2013 18:26:15 -0500 Message-ID: <52421F97.6080902@amd.com> References: <1379115031-1992-1-git-send-email-suravee.suthikulpanit@amd.com> <1379115031-1992-4-git-send-email-suravee.suthikulpanit@amd.com> <5236D75E02000078000F3847@nat28.tlf.novell.com> <523862B8.8000207@amd.com> <523891C902000078000F4070@nat28.tlf.novell.com> <523CC05C.7030903@amd.com> <5240014202000078000F555E@nat28.tlf.novell.com> <524070E8.8000900@amd.com> <524151B002000078000F5C58@nat28.tlf.novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; Format="flowed" Content-Transfer-Encoding: 7bit Return-path: Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1VObzt-00055U-Re for xen-devel@lists.xenproject.org; Tue, 24 Sep 2013 23:26:26 +0000 In-Reply-To: <524151B002000078000F5C58@nat28.tlf.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 Cc: xen-devel List-Id: xen-devel@lists.xenproject.org On 9/24/2013 1:47 AM, Jan Beulich wrote: >>>> On 23.09.13 at 18:48, Suravee Suthikulpanit wrote: >> I am a bit confused on what you want to do. I believe all the systems >> at this point >> should have only one HPET. That's why the code only has one data >> structure for >> initialize one HPET. Are you expecting that certain systems could have >> more than >> one HPETs? > Of course. The code assuming just one HPET is wrong in the first > place, so I'm really not looking towards making matters worse. > The only valid a priori information we have is that there's > exactly one HPET nominated as the legacy replacement one > (through the ACPI HPET table), but there could be more (as > said, this is quite likely on multi-node NUMA systems). Ok, after looking into Intel HPET specification, I can see that the spec allows a particular system to have multiple HPETs. And Jan was correct that only one is required to be listed in the APCI HPET table. The rest are listed in ACPI namespace. I look at the "arch/x86/hpet.c" and saw that this supports discovery in the ACPI HPET table. However, there is only one "hpet_address" and "hpet_blockid", which are initialized in the "arch/x86/acpi/boot.c: acpi_parse_hpet()". If the code were to support more than one HPET, this would have to be changed also. Do you expect these to change as well? Also, I don't see the code that would walk the ACPI namespace anywhere. Does it exist? FYI, I have checked with the hardware platforms team, and there is no AMD systems with multiple southbridge (HPET is in the southbridge). I also check on the system with 2 SR56xx chips ( each contains an IOMMU), and there is only one southbridge. Suravee