On Wed, Jan 07, 2009 at 02:54:57PM +0100, Gerhard Pircher wrote: > +void amigaone_show_cpuinfo(struct seq_file *m) > +{ > + struct device_node *root; > + const char *model = ""; > + > + root = of_find_node_by_path("/"); > + if (root) > + model = of_get_property(root, "model", NULL); > + seq_printf(m, "machine\t\t: %s\n", model); > + > + of_node_put(root); > + return;
This is already printed by the generic cpuinfo. > +void __init amigaone_setup_arch(void) > +{ > + struct device_node *np; > + > + /* Initialization until calibrate_delay() runs. */ > + loops_per_jiffy = 50000000/HZ; Is this really necessary? > + /* Flush and disable I/D cache. */ > + __asm__ __volatile__ ("mfspr 3, 1008" ::: "r3"); > + __asm__ __volatile__ ("ori 5, 5, 0xcc00" ::: "r5"); > + __asm__ __volatile__ ("ori 4, 3, 0xc00" ::: "r4"); > + __asm__ __volatile__ ("andc 5, 3, 5" ::: "r5"); Don't do this; instead, have one multi-line asm statement (or better yet, just use mfspr()/mtspr()/sync()/isync()). GCC is perfectly free to trash your registers in between statements. -Scott _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev