diff options
Diffstat (limited to 'arch/nios/lib')
| -rw-r--r-- | arch/nios/lib/Makefile | 50 | ||||
| -rw-r--r-- | arch/nios/lib/board.c | 168 | ||||
| -rw-r--r-- | arch/nios/lib/bootm.c | 34 | ||||
| -rw-r--r-- | arch/nios/lib/cache.c | 32 | ||||
| -rw-r--r-- | arch/nios/lib/divmod.c | 101 | ||||
| -rw-r--r-- | arch/nios/lib/math.h | 16 | ||||
| -rw-r--r-- | arch/nios/lib/mult.c | 56 | ||||
| -rw-r--r-- | arch/nios/lib/time.c | 38 | 
8 files changed, 0 insertions, 495 deletions
| diff --git a/arch/nios/lib/Makefile b/arch/nios/lib/Makefile deleted file mode 100644 index f66e9893a..000000000 --- a/arch/nios/lib/Makefile +++ /dev/null @@ -1,50 +0,0 @@ -# -# (C) Copyright 2000-2006 -# Wolfgang Denk, DENX Software Engineering, wd@denx.de. -# -# See file CREDITS for list of people who contributed to this -# project. -# -# 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. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, -# MA 02111-1307 USA -# - -include $(TOPDIR)/config.mk - -LIB	= $(obj)lib$(ARCH).a - -SOBJS-y	+= - -COBJS-y	+= board.o -COBJS-y	+= bootm.o -COBJS-y	+= cache.o -COBJS-y	+= divmod.o -COBJS-y	+= mult.o -COBJS-y	+= time.o - -SRCS	:= $(SOBJS-y:.o=.S) $(COBJS-y:.o=.c) -OBJS	:= $(addprefix $(obj),$(SOBJS-y) $(COBJS-y)) - -$(LIB):	$(obj).depend $(OBJS) -	$(AR) $(ARFLAGS) $@ $(OBJS) - -######################################################################### - -# defines $(obj).depend target -include $(SRCTREE)/rules.mk - -sinclude $(obj).depend - -######################################################################### diff --git a/arch/nios/lib/board.c b/arch/nios/lib/board.c deleted file mode 100644 index 5d2fb2ec4..000000000 --- a/arch/nios/lib/board.c +++ /dev/null @@ -1,168 +0,0 @@ -/* - * (C) Copyright 2003, Psyent Corporation <www.psyent.com> - * Scott McNutt <smcnutt@psyent.com> - * - * (C) Copyright 2000-2002 - * Wolfgang Denk, DENX Software Engineering, wd@denx.de. - * - * See file CREDITS for list of people who contributed to this - * project. - * - * 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. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA - */ - -#include <common.h> -#include <stdio_dev.h> -#include <watchdog.h> -#include <malloc.h> -#include <net.h> -#ifdef CONFIG_STATUS_LED -#include <status_led.h> -#endif - -DECLARE_GLOBAL_DATA_PTR; - -/* - * All attempts to come up with a "common" initialization sequence - * that works for all boards and architectures failed: some of the - * requirements are just _too_ different. To get rid of the resulting - * mess of board dependend #ifdef'ed code we now make the whole - * initialization sequence configurable to the user. - * - * The requirements for any new initalization function is simple: it - * receives a pointer to the "global data" structure as it's only - * argument, and returns an integer return code, where 0 means - * "continue" and != 0 means "fatal error, hang the system". - */ - - -typedef int (init_fnc_t) (void); - - -/************************************************************************ - * Initialization sequence						* - ***********************************************************************/ - -init_fnc_t *init_sequence[] = { - -#if defined(CONFIG_BOARD_EARLY_INIT_F) -	board_early_init_f,	/* Call board-specific init code early.*/ -#endif - -	env_init, -	serial_init, -	console_init_f, -	display_options, -	checkcpu, -	checkboard, -	NULL,			/* Terminate this list */ -}; - - -/***********************************************************************/ -void board_init (void) -{ -	bd_t *bd; -	init_fnc_t **init_fnc_ptr; -	char *s, *e; -	int i; - -	/* Pointer is writable since we allocated a register for it. -	 * Nios treats CONFIG_SYS_GBL_DATA_OFFSET as an address. -	 */ -	gd = (gd_t *)CONFIG_SYS_GBL_DATA_OFFSET; -	/* compiler optimization barrier needed for GCC >= 3.4 */ -	__asm__ __volatile__("": : :"memory"); - -	memset( gd, 0, CONFIG_SYS_GBL_DATA_SIZE ); - -	gd->bd = (bd_t *)(gd+1);	/* At end of global data */ -	gd->baudrate = CONFIG_BAUDRATE; -	gd->cpu_clk = CONFIG_SYS_CLK_FREQ; - -	bd = gd->bd; -	bd->bi_memstart	= CONFIG_SYS_SDRAM_BASE; -	bd->bi_memsize = CONFIG_SYS_SDRAM_SIZE; -	bd->bi_flashstart = CONFIG_SYS_FLASH_BASE; -#if	defined(CONFIG_SYS_SRAM_BASE) && defined(CONFIG_SYS_SRAM_SIZE) -	bd->bi_sramstart= CONFIG_SYS_SRAM_BASE; -	bd->bi_sramsize	= CONFIG_SYS_SRAM_SIZE; -#endif -	bd->bi_baudrate	= CONFIG_BAUDRATE; - -	for (init_fnc_ptr = init_sequence; *init_fnc_ptr; ++init_fnc_ptr) { -		WATCHDOG_RESET (); -		if ((*init_fnc_ptr) () != 0) { -			hang (); -		} -	} - -	WATCHDOG_RESET (); - -	/* The Malloc area is immediately below the monitor copy in RAM */ -	mem_malloc_init(CONFIG_SYS_MALLOC_BASE, CONFIG_SYS_MALLOC_LEN); - -	WATCHDOG_RESET (); -	bd->bi_flashsize = flash_init(); - -	WATCHDOG_RESET (); -	env_relocate(); - -	bd->bi_ip_addr = getenv_IPaddr ("ipaddr"); - -	WATCHDOG_RESET (); -	stdio_init(); -	jumptable_init(); -	console_init_r(); -	/* -	 */ - -	WATCHDOG_RESET (); -	interrupt_init (); - -#ifdef CONFIG_STATUS_LED -	status_led_set(STATUS_LED_BOOT, STATUS_LED_BLINKING); -#endif - -	/* main_loop */ -	for (;;) { -		WATCHDOG_RESET (); -		main_loop (); -	} -} - - -/***********************************************************************/ - -void hang (void) -{ -#ifdef CONFIG_STATUS_LED -	status_led_set(STATUS_LED_BOOT, STATUS_LED_OFF); -	status_led_set(STATUS_LED_RED, STATUS_LED_BLINKING); -#endif -	puts("### ERROR ### Please reset board ###\n"); -	for (;;); -} - -unsigned long do_go_exec (ulong (*entry)(int, char *[]), int argc, char *argv[]) -{ -	/* -	 * x86 does not use a dedicated register to pass the pointer -	 * to the global_data -	 */ -	argv[-1] = (char *)gd; -	return entry (argc, argv); -} diff --git a/arch/nios/lib/bootm.c b/arch/nios/lib/bootm.c deleted file mode 100644 index b0d5b8257..000000000 --- a/arch/nios/lib/bootm.c +++ /dev/null @@ -1,34 +0,0 @@ -/* - * (C) Copyright 2003, Psyent Corporation <www.psyent.com> - * Scott McNutt <smcnutt@psyent.com> - * - * See file CREDITS for list of people who contributed to this - * project. - * - * 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. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA - */ - -#include <common.h> -#include <command.h> - -/* FIXME: Once we find a stable version of uC-linux for nios - * we can get this working. ;-) - * - */ -int do_bootm_linux(int flag, int argc, char *argv[], bootm_headers_t *images) -{ -	return 1; -} diff --git a/arch/nios/lib/cache.c b/arch/nios/lib/cache.c deleted file mode 100644 index 87dbab173..000000000 --- a/arch/nios/lib/cache.c +++ /dev/null @@ -1,32 +0,0 @@ -/* - * (C) Copyright 2003, Psyent Corporation <www.psyent.com> - * Scott McNutt <smcnutt@psyent.com> - * - * See file CREDITS for list of people who contributed to this - * project. - * - * 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. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA - */ - -#include <common.h> - - -void flush_cache (ulong addr, ulong size) -{ -	/* Nios cache is write-thru -- nothing to do here. -	 */ -	return; -} diff --git a/arch/nios/lib/divmod.c b/arch/nios/lib/divmod.c deleted file mode 100644 index 3c7e71e97..000000000 --- a/arch/nios/lib/divmod.c +++ /dev/null @@ -1,101 +0,0 @@ -/* - * This file is part of GNU CC. - * - * GNU CC 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, or (at your - * option) any later version. - * - * GNU CC is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with GNU CC; see the file COPYING.  If not, write - * to the Free Software Foundation, 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - */ - - -#include "math.h" - -USItype udivmodsi4 (USItype num, USItype den, word_type modwanted) -{ -	USItype bit = 1; -	USItype res = 0; - -	while (den < num && bit && !(den & (1L << 31))) { -		den <<= 1; -		bit <<= 1; -	} -	while (bit) { -		if (num >= den) { -			num -= den; -			res |= bit; -		} -		bit >>= 1; -		den >>= 1; -	} -	if (modwanted) -		return num; -	return res; -} - - -SItype __divsi3 (SItype a, SItype b) -{ -	word_type neg = 0; -	SItype res; - -	if (a < 0) { -		a = -a; -		neg = !neg; -	} - -	if (b < 0) { -		b = -b; -		neg = !neg; -	} - -	res = udivmodsi4 (a, b, 0); - -	if (neg) -		res = -res; - -	return res; -} - - -SItype __modsi3 (SItype a, SItype b) -{ -	word_type neg = 0; -	SItype res; - -	if (a < 0) { -		a = -a; -		neg = 1; -	} - -	if (b < 0) -		b = -b; - -	res = udivmodsi4 (a, b, 1); - -	if (neg) -		res = -res; - -	return res; -} - - -SItype __udivsi3 (SItype a, SItype b) -{ -	return udivmodsi4 (a, b, 0); -} - - -SItype __umodsi3 (SItype a, SItype b) -{ -	return udivmodsi4 (a, b, 1); -} diff --git a/arch/nios/lib/math.h b/arch/nios/lib/math.h deleted file mode 100644 index f0aed8edc..000000000 --- a/arch/nios/lib/math.h +++ /dev/null @@ -1,16 +0,0 @@ -#define BITS_PER_UNIT	8 - -typedef	 int HItype			__attribute__ ((mode (HI))); -typedef unsigned int UHItype		__attribute__ ((mode (HI))); - -typedef		 int SItype		__attribute__ ((mode (SI))); -typedef unsigned int USItype		__attribute__ ((mode (SI))); - -typedef int word_type			__attribute__ ((mode (__word__))); - -struct SIstruct {HItype low, high;}; - -typedef union { -	struct SIstruct s; -	SItype ll; -} SIunion; diff --git a/arch/nios/lib/mult.c b/arch/nios/lib/mult.c deleted file mode 100644 index ec8139ed5..000000000 --- a/arch/nios/lib/mult.c +++ /dev/null @@ -1,56 +0,0 @@ -/* - * This file is part of GNU CC. - * - * GNU CC 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, or (at your - * option) any later version. - * - * GNU CC is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with GNU CC; see the file COPYING.  If not, write - * to the Free Software Foundation, 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - */ - - -#include <common.h> - -#if !defined(CONFIG_SYS_NIOS_MULT_HW) && !defined(CONFIG_SYS_NIOS_MULT_MSTEP) - -#include "math.h" - -USItype __mulsi3 (USItype a, USItype b) -{ -	USItype c = 0; - -	while (a != 0) { -		if (a & 1) -			c += b; -		a >>= 1; -		b <<= 1; -	} - -	return c; -} - - -UHItype __mulhi3 (UHItype a, UHItype b) -{ -	UHItype c = 0; - -	while (a != 0) { -		if (a & 1) -			c += b; -		a >>= 1; -		b <<= 1; -	} - -	return c; -} - -#endif /*!defined(CONFIG_SYS_NIOS_MULT_HW) && !defined(CONFIG_SYS_NIOS_MULT_MSTEP) */ diff --git a/arch/nios/lib/time.c b/arch/nios/lib/time.c deleted file mode 100644 index d5096ee12..000000000 --- a/arch/nios/lib/time.c +++ /dev/null @@ -1,38 +0,0 @@ -/* - * (C) Copyright 2003, Psyent Corporation <www.psyent.com> - * Scott McNutt <smcnutt@psyent.com> - * - * See file CREDITS for list of people who contributed to this - * project. - * - * 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. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA - */ - -#include <common.h> -#include <watchdog.h> - - -extern void dly_clks( unsigned long ticks ); - -void __udelay(unsigned long usec) -{ -	/* The Nios core doesn't have a timebase, so we do our -	 * best for now and call a low-level loop that counts -	 * cpu clocks. -	 */ -	unsigned long cnt = (CONFIG_SYS_CLK_FREQ/1000000) * usec; -	dly_clks (cnt); -} |