On Thu, Dec 07, 2006 at 06:22:34PM +0300, Vitaly Wool wrote:
> Index: linux-mips.git/arch/mips/philips/pnx8550/stb810/Makefile
> ===================================================================
> --- /dev/null 1970-01-01 00:00:00.000000000 +0000
> +++ linux-mips.git/arch/mips/philips/pnx8550/stb810/Makefile 2006-12-07
> 18:21:04.000000000 +0300
> @@ -0,0 +1,4 @@
> +
> +# Makefile for the Philips STB810 Board.
> +
> +lib-y := prom_init.o board_setup.o irqmap.o
> Index: linux-mips.git/arch/mips/philips/pnx8550/stb810/board_setup.c
> ===================================================================
> --- /dev/null 1970-01-01 00:00:00.000000000 +0000
> +++ linux-mips.git/arch/mips/philips/pnx8550/stb810/board_setup.c
> 2006-12-07 18:21:04.000000000 +0300
> @@ -0,0 +1,56 @@
> +/*
> + * STB810 specific board startup routines.
> + *
> + * Based on the arch/mips/philips/pnx8550/jbs/board_setup.c
> + *
> + * Author: MontaVista Software, Inc.
> + * source@mvista.com
> + *
> + * Copyright 2005 MontaVista Software Inc.
> + *
> + * This program is free software; you can redistribute it and/or modify it
> + * under the terms of the GNU General Public License as published by the
> + * Free Software Foundation; either version 2 of the License, or (at your
> + * option) any later version.
> + */
> +
> +#include <linux/init.h>
> +#include <linux/sched.h>
> +#include <linux/ioport.h>
> +#include <linux/mm.h>
> +#include <linux/console.h>
> +#include <linux/mc146818rtc.h>
> +#include <linux/delay.h>
> +
> +#include <asm/cpu.h>
> +#include <asm/bootinfo.h>
> +#include <asm/irq.h>
> +#include <asm/mipsregs.h>
> +#include <asm/reboot.h>
> +#include <asm/pgtable.h>
> +
> +#include <glb.h>
> +
> +/* CP0 hazard avoidance. */
> +#define BARRIER __asm__ __volatile__(".set noreorder\n\t" \
> + "nop; nop; nop; nop; nop; nop;\n\t" \
> + ".set reorder\n\t")
> +
> +void __init board_setup(void)
> +{
> + unsigned long config0, configpr;
> +
> + config0 = read_c0_config();
> +
> + /* clear all three cache coherency fields */
> + config0 &= ~(0x7 | (7<<25) | (7<<28));
> + config0 |= (CONF_CM_DEFAULT | (CONF_CM_DEFAULT<<25) |
> + (CONF_CM_DEFAULT<<28));
> + write_c0_config(config0);
> + BARRIER;
> +
> + configpr = read_c0_config7();
> + configpr |= (1<<19); /* enable tlb */
> + write_c0_config7(configpr);
> + BARRIER;
> +}
You really need that hazard barrier?
Chances are you can get away without a hazard barrier I guess.
> Index: linux-mips.git/arch/mips/philips/pnx8550/stb810/irqmap.c
> ===================================================================
> --- /dev/null 1970-01-01 00:00:00.000000000 +0000
> +++ linux-mips.git/arch/mips/philips/pnx8550/stb810/irqmap.c 2006-12-07
> 18:21:04.000000000 +0300
> +char irq_tab_jbs[][5] __initdata = {
> + [8] = { -1, PNX8550_INT_PCI_INTA, 0xff, 0xff, 0xff},
> + [9] = { -1, PNX8550_INT_PCI_INTA, 0xff, 0xff, 0xff},
> + [10] = { -1, PNX8550_INT_PCI_INTA, 0xff, 0xff, 0xff},
Coding style, indent with tabs.
> Index: linux-mips.git/arch/mips/kernel/head.S
> ===================================================================
> --- linux-mips.git.orig/arch/mips/kernel/head.S 2006-12-07
> 18:20:47.000000000 +0300
> +++ linux-mips.git/arch/mips/kernel/head.S 2006-12-07 18:21:04.000000000
> +0300
> @@ -138,7 +138,7 @@
> EXPORT(stext) # used for profiling
> EXPORT(_stext)
>
> -#if defined(CONFIG_QEMU) || defined(CONFIG_MIPS_SIM)
> +#if defined(CONFIG_QEMU) || defined(CONFIG_MIPS_SIM) ||
> defined(CONFIG_PNX8550_STB810)
Your firmware is really so broken it needs this?
> Index: linux-mips.git/arch/mips/configs/pnx8550-stb810_defconfig
> ===================================================================
> --- /dev/null 1970-01-01 00:00:00.000000000 +0000
> +++ linux-mips.git/arch/mips/configs/pnx8550-stb810_defconfig 2006-12-07
> 18:21:04.000000000 +0300
> @@ -0,0 +1,1777 @@
> +#
> +# Automatically generated make config: don't edit
> +# Linux kernel version: 2.6.19-rc5
> +# Wed Nov 8 13:46:57 2006
> +#
> +CONFIG_ARM=y
LOL.
Doesn't look quite right. Let's see if you find out why ;-)
Ralf
|