From 077a4e6b9872eb18ae5dfa615f40753d5272c225 Mon Sep 17 00:00:00 2001 From: Michal Simek Date: Thu, 21 Jul 2011 09:52:25 +0200 Subject: microblaze: Call common console_init_f initialization function Calling console_init_f enables CTRL+C usage. Signed-off-by: Michal Simek --- arch/microblaze/lib/board.c | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/microblaze/lib/board.c b/arch/microblaze/lib/board.c index d97543b..5510c12 100644 --- a/arch/microblaze/lib/board.c +++ b/arch/microblaze/lib/board.c @@ -68,6 +68,7 @@ typedef int (init_fnc_t) (void); init_fnc_t *init_sequence[] = { env_init, serial_init, + console_init_f, #ifdef CONFIG_SYS_GPIO_0 gpio_init, #endif -- cgit v1.1 From a93c1a171ce012bbbba09bbaad22c8e516a589f9 Mon Sep 17 00:00:00 2001 From: Michal Simek Date: Thu, 21 Jul 2011 11:01:58 +0200 Subject: microblaze: Support flashes on lower addresses Signed-off-by: Michal Simek --- arch/microblaze/include/asm/processor.h | 32 +++++++++++++++++++++++++++++++- arch/microblaze/lib/board.c | 5 +++++ 2 files changed, 36 insertions(+), 1 deletion(-) diff --git a/arch/microblaze/include/asm/processor.h b/arch/microblaze/include/asm/processor.h index 78b8976..2295d0a 100644 --- a/arch/microblaze/include/asm/processor.h +++ b/arch/microblaze/include/asm/processor.h @@ -1 +1,31 @@ -/* FIXME: Implement this! */ +/* + * Copyright (C) 2011 Michal Simek + * + * 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 + */ + +#ifndef __ASM_MICROBLAZE_PROCESSOR_H +#define __ASM_MICROBLAZE_PROCESSOR_H + +/* References to section boundaries */ + +extern char __end[]; +extern char __text_start[]; + +#endif /* __ASM_MICROBLAZE_PROCESSOR_H */ diff --git a/arch/microblaze/lib/board.c b/arch/microblaze/lib/board.c index 5510c12..df27c1c 100644 --- a/arch/microblaze/lib/board.c +++ b/arch/microblaze/lib/board.c @@ -31,6 +31,7 @@ #include #include #include +#include DECLARE_GLOBAL_DATA_PTR; @@ -84,6 +85,8 @@ init_fnc_t *init_sequence[] = { NULL, }; +unsigned long monitor_flash_len; + void board_init (void) { bd_t *bd; @@ -105,6 +108,8 @@ void board_init (void) bd->bi_memsize = CONFIG_SYS_SDRAM_SIZE; gd->flags |= GD_FLG_RELOC; /* tell others: relocation done */ + monitor_flash_len = __end - __text_start; + /* * The Malloc area is immediately below the monitor copy in DRAM * aka CONFIG_SYS_MONITOR_BASE - Note there is no need for reloc_off -- cgit v1.1 From aa7acdd5094b0463301af1cf00186ff5ff2a8082 Mon Sep 17 00:00:00 2001 From: Michal Simek Date: Thu, 21 Jul 2011 10:30:42 +0200 Subject: microblaze: Initialize jumptable and console This changes were done to get support for netconsole. Signed-off-by: Michal Simek --- arch/microblaze/lib/board.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/arch/microblaze/lib/board.c b/arch/microblaze/lib/board.c index df27c1c..d677329 100644 --- a/arch/microblaze/lib/board.c +++ b/arch/microblaze/lib/board.c @@ -166,6 +166,12 @@ void board_init (void) /* Initialize stdio devices */ stdio_init (); + /* Initialize the jump table for applications */ + jumptable_init(); + + /* Initialize the console (after the relocation and devices init) */ + console_init_r(); + if ((s = getenv ("loadaddr")) != NULL) { load_addr = simple_strtoul (s, NULL, 16); } -- cgit v1.1 From 6cdf31124ceb0d1a87b59b638a289b38a87a43e1 Mon Sep 17 00:00:00 2001 From: Michal Simek Date: Mon, 28 Feb 2011 10:14:33 +0100 Subject: microblaze: Fix unaligned.h for endians Also support little endian MB. Signed-off-by: Michal Simek Acked-by: Mike Frysinger --- arch/microblaze/include/asm/unaligned.h | 17 +---------------- 1 file changed, 1 insertion(+), 16 deletions(-) diff --git a/arch/microblaze/include/asm/unaligned.h b/arch/microblaze/include/asm/unaligned.h index 785c2e9..6cecbbb 100644 --- a/arch/microblaze/include/asm/unaligned.h +++ b/arch/microblaze/include/asm/unaligned.h @@ -1,16 +1 @@ -#ifndef _ASM_MICROBLAZE_UNALIGNED_H -#define _ASM_MICROBLAZE_UNALIGNED_H - -#ifdef __KERNEL__ - -/* - * The Microblaze can do unaligned accesses itself in big endian mode. - */ -#include -#include - -#define get_unaligned __get_unaligned_be -#define put_unaligned __put_unaligned_be - -#endif /* __KERNEL__ */ -#endif /* _ASM_MICROBLAZE_UNALIGNED_H */ +#include -- cgit v1.1 From 2267e2d132b6c5edb3312a85da1a2523437a4532 Mon Sep 17 00:00:00 2001 From: Michal Simek Date: Thu, 21 Jul 2011 09:47:15 +0200 Subject: microblaze: Copy bootfile from variables Setup bootfile. Signed-off-by: Michal Simek --- arch/microblaze/lib/board.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/arch/microblaze/lib/board.c b/arch/microblaze/lib/board.c index d677329..ca5882d 100644 --- a/arch/microblaze/lib/board.c +++ b/arch/microblaze/lib/board.c @@ -186,6 +186,10 @@ void board_init (void) uchar enetaddr[6]; eth_getenv_enetaddr("ethaddr", enetaddr); printf("MAC: %pM\n", enetaddr); + + s = getenv("bootfile"); + if (s != NULL) + copy_filename(BootFile, s, sizeof(BootFile)); #endif /* main_loop */ -- cgit v1.1