Subject: Re: AMD Geode GX reboot workaround
To: Allen Briggs <briggs@netbsd.org>
From: Juan RP <juan@xtrarom.org>
List: tech-kern
Date: 06/26/2007 20:16:26
On Tue, 26 Jun 2007 13:57:58 -0400
Allen Briggs <briggs@netbsd.org> wrote:
> On Tue, Jun 26, 2007 at 07:33:58PM +0200, Juan RP wrote:
> > Can anyone explain why this patch works? and how to fix it properly?
>
> For starters, I don't think this patch does what you think it does.
I have not said that the patch does that I thought that it was doing :-)
> Index: machdep.c
> ===================================================================
> RCS file: /cvsroot/src/sys/arch/i386/i386/machdep.c,v
> retrieving revision 1.603
> diff -b -u -r1.603 machdep.c
> --- machdep.c 17 May 2007 14:51:21 -0000 1.603
> +++ machdep.c 26 Jun 2007 17:00:27 -0000
> @@ -1632,6 +1632,11 @@
> bim->entry[x].type);
> add_mem_cluster(0x100000, seg_end,
> bim->entry[x].type);
> + } else if (seg_start < 0x6ffffff && seg_end >
> 0x6fffff) {
>
> This covers a pretty large range of memory. Is that the intent, or did
> you mean to have another 'f' on the end of the last constant there?
Yes, it's intended. That was the only way to catch the regions...
> + add_mem_cluster(seg_start, 0x6ffb00,
> + bim->entry[x].type);
> + add_mem_cluster(0x710000, seg_end,
> + bim->entry[x].type);
>
> And are these meant to match the ranges in the memory maps that you took
> pictures of? If so, you're missing a nibble.
In theory, they should match the ranges in the memory maps but that didn't
work...
> } else
> add_mem_cluster(seg_start, seg_end,
> bim->entry[x].type);
>
> I wonder if you've tried skipping the ACPI NVS region (by adjusting the
> switch above this section to continue for BIM_NVS).
I just tried it and the reboot is still there.
I would like to know the exact reason of the instantenous reboot, because
I know the patch is incorrect but it workarounds the problem at least.
Thanks for your comments.
--
Juan Romero Pardines - The NetBSD Project
http://plog.xtrarom.org - NetBSD/pkgsrc news in Spanish