Andre Przywara
2008-May-23 09:59 UTC
[Xen-devel] [Patch] fix Xen boot on 8 nodes AMD machines
Hi, in xen/arch/x86/cpu/amd.c the function disable_c1_ramping iterates over the northbridges using NR_CPUS as an upper bound for the number of nodes. If there are no more northbridges found, it stops iterating. Sadly it just adds the northbridge number to 0x18 and uses this as a PCI device number, so probing the 9th northbridge on an 8 node system will be caught by the newly inserted assertion in pci_conf_read in current unstable. The attached patch fixes this by first querying the number of nodes from the first northbridge to avoid the overflow. Another possible workaround could be to just replace NR_CPUS with 8, which is the current nodes limit on the AMD K8/Fam10h architecture. There is one patch for unstable and another for 3.2-testing and 3.1-testing. On Xen 3.2 and 3.1 the bug exists, too, but will not stop booting, as is will overflow and access the first device on the next bus, which seems work for most cases, but is definitely wrong (and potentially dangerous). So please apply to all. Signed-off-by: Andre Przywara <andre.przywara@amd.com> Verified by Mark.Johnson@sun.com Regards, Andre. -- Andre Przywara AMD-Operating System Research Center (OSRC), Dresden, Germany Tel: +49 351 277-84917 ----to satisfy European Law for business letters: AMD Saxony Limited Liability Company & Co. KG, Wilschdorfer Landstr. 101, 01109 Dresden, Germany Register Court Dresden: HRA 4896, General Partner authorized to represent: AMD Saxony LLC (Wilmington, Delaware, US) General Manager of AMD Saxony LLC: Dr. Hans-R. Deppe, Thomas McCoy _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel