[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20081007170103.3dcb6384.akpm@linux-foundation.org>
Date: Tue, 7 Oct 2008 17:01:03 -0700
From: Andrew Morton <akpm@...ux-foundation.org>
To: KAMEZAWA Hiroyuki <kamezawa.hiroyu@...fujitsu.com>
Cc: yinghai@...nel.org, mingo@...e.hu, linux-kernel@...r.kernel.org
Subject: Re: mmotm 2008-10-02-16-17 uploaded
On Wed, 8 Oct 2008 08:47:53 +0900
KAMEZAWA Hiroyuki <kamezawa.hiroyu@...fujitsu.com> wrote:
> On Tue, 07 Oct 2008 09:18:03 -0700
> Yinghai Lu <yinghai@...nel.org> wrote:
>
> > KAMEZAWA Hiroyuki wrote:
> > > I'm sorry if alread fixed.
> > >
> > > Folloing function in git-x86.patch touches invalid address.
> > > ==
> > > +void __init early_cpu_init(void)
> > > +{
> > > + struct cpu_dev **cdev;
> > > + int count = 0;
> > > +
> > > + printk("KERNEL supported cpus:\n");
> > > + for (cdev = __x86_cpu_dev_start; cdev < __x86_cpu_dev_end; cdev++) {
> > > + struct cpu_dev *cpudev = *cdev;
> > > + unsigned int j;
> > > +
> > > + if (count >= X86_VENDOR_NUM)
> > > + break;
> > > + cpu_devs[count] = cpudev;
> > > + count++;
> > > +
> > > + for (j = 0; j < 2; j++) {
> > > + if (!cpudev->c_ident[j])
> > > + continue;
> > > + printk(" %s %s\n", cpudev->c_vendor,
> > > + cpudev->c_ident[j]);
> > > + }
> > > + }
> > > +
> > > + early_identify_cpu(&boot_cpu_data);
> > > }
> > > ==
> > > printk(" %s %s\n", cpudev->c_vendor, cpudev->c_ident[j]);
> > > touches invalid address. (following is printk() result by
> > > replacing %s with %p.
> > > ==
> > > ffffffff8066e38a ffffffff8066e383
> > > ffffffff8066e3ab ffffffff8066e3a2
> > > ffffffff8066e3af ffffffff8066e3b7
> > > 807064c0c7c74855 08ec834853e58948
> > > 807064c0c7c74855 74c085fffffe9fe8
> > > ==
> > > and the kernel never boots on my box.
> >
> > could be merging problem again.
> >
> > please check in arch/x86/kernel/vmliux_64.lds.S
> >
> > it should be like
> >
> > __con_initcall_end = .;
> > __x86_cpu_dev_start = .;
> > .x86_cpu_dev.init : AT(ADDR(.x86_cpu_dev.init) - LOAD_OFFSET) {
> > *(.x86_cpu_dev.init)
> > }
> > __x86_cpu_dev_end = .;
> >
> > DYN_ARRAY_INIT(8)
> >
> > SECURITY_INIT
The above is what's presently in Ingo's "tip" tree.
> Oh, yes. like this.
> ==
> __con_initcall_end = .;
> __x86_cpu_dev_start = .;
> .x86_cpu_dev.init : AT(ADDR(.x86_cpu_dev.init) - LOAD_OFFSET) {
> *(.x86_cpu_dev.init)
> }
> SECURITY_INIT
> __x86_cpu_dev_end = .;
> ==
>
> I'll try next version when it comes.
If that fixes it then Ingo's tree will need fixing too, I suppose.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists