Messages in this thread | | | Date | Thu, 27 Sep 2007 17:54:27 -0600 | From | "Jordan Crouse" <> | Subject | Re: More E820 brokenness |
| |
On 27/09/07 16:36 -0700, H. Peter Anvin wrote: > Jordan Crouse wrote: > >>> > >> Oh bugger, looks like this one might be genuinely my fault after all. > >> The ID check in the new code is buggy. > >> > >> Can you please test this revised patch out (against current -git)? > > > > > > That looks the same as the previous patch you sent? > > > > Sorry, this is the right one... > > -hpa
> diff --git a/arch/i386/boot/memory.c b/arch/i386/boot/memory.c > index bccaa1c..2f37568 100644 > --- a/arch/i386/boot/memory.c > +++ b/arch/i386/boot/memory.c > @@ -28,11 +28,10 @@ static int detect_memory_e820(void) > > do { > size = sizeof(struct e820entry); > - id = SMAP; > asm("int $0x15; setc %0" > - : "=am" (err), "+b" (next), "+d" (id), "+c" (size), > + : "=dm" (err), "+b" (next), "=a" (id), "+c" (size), > "=m" (*desc) > - : "D" (desc), "a" (0xe820)); > + : "D" (desc), "d" (SMAP), "a" (0xe820)); > > /* Some BIOSes stop returning SMAP in the middle of > the search loop. We don't know exactly how the BIOS
Worked, but that just raises more questions. Why didn't more x86 boxes break or, alternatively, why did a new version of the BIOS fix the problem? I guess we shouldn't look a gift horse in the mouth. Or something.
Thanks very much for your help.
Jordan
-- Jordan Crouse Systems Software Development Engineer Advanced Micro Devices, Inc.
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |