Red Hat Bugzilla – Bug 201058
x86_64 need to pass virtual address to smp_read_mpc
Last modified: 2007-11-30 17:07:26 EST
From Bugzilla Helper: User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.10) Gecko/20050716 Firefox/1.0.6 Description of problem: Note: The fix already exists in the upstream kernel (2.6.17) and the i386 version of the RHEL4 U4 kernel (2.6.9-40.EL) When using the boot parameter acpi=noirq, the kernel hangs (aka does not panic) in smp_read_mpc when trying to read the ES7000 MPConfig table (which has been moved higher in memory by an new firmware release). Version-Release number of selected component (if applicable): kernel-2.6.9-40 How reproducible: Always Steps to Reproduce: 1. Load new ES7000 BIOS (not released yet) 2. Boot the ES7000 with the boot parameter acpi=noirq 3. Machine hangs Actual Results: Machine Hangs Expected Results: The machine should have booted. Additional info: This patch changes the code to pass a virtual address to smp_read_mpc instead of a physical address. This code has been copied directly from the i386 branch and works. Excuse any spacing issues in this patch, I am writing this bug on windDOwS. --- --- linux-2.6.9-40.orig/arch/x86_64/kernel/mpparse.c 2006-08-02 11:07:23.000000000 -0400 +++ linux-2.6.9-40.fixed/arch/x86_64/kernel/mpparse.c 2006-08-02 11:49:17.000000000 -0400 @@ -563,7 +563,7 @@ * Read the physical hardware table. Anything here will * override the defaults. */ - if (!smp_read_mpc((void *)(unsigned long)mpf->mpf_physptr)) { + if (!smp_read_mpc((void *)phys_to_virt(mpf->mpf_physptr))) { smp_found_config = 0; printk(KERN_ERR "BIOS bug, MP table errors detected!...\n"); printk(KERN_ERR "... disabling SMP support. (tell your hw vendor)\n");
committed in stream U5 build 42.6. A test kernel with this patch is available from http://people.redhat.com/~jbaron/rhel4/
This request was evaluated by Red Hat Product Management for inclusion in a Red Hat Enterprise Linux maintenance release. Product Management has requested further review of this request by Red Hat Engineering, for potential inclusion in a Red Hat Enterprise Linux Update release for currently deployed products. This request is not yet committed for inclusion in an Update release.
QE ack for 4.5.
User jparadis@redhat.com's account has been closed
An advisory has been issued which should help the problem described in this bug report. This report is therefore being closed with a resolution of ERRATA. For more information on the solution and/or where to find the updated files, please follow the link below. You may reopen this bug report if the solution does not work for you. http://rhn.redhat.com/errata/RHBA-2007-0304.html