From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 31626 invoked by alias); 14 Sep 2007 10:17:21 -0000 Received: (qmail 31616 invoked by uid 22791); 14 Sep 2007 10:17:19 -0000 X-Spam-Check-By: sourceware.org Received: from anchor-post-36.mail.demon.net (HELO anchor-post-36.mail.demon.net) (194.217.242.86) by sourceware.org (qpsmtpd/0.31) with ESMTP; Fri, 14 Sep 2007 10:17:13 +0000 Received: from calivar.demon.co.uk ([83.104.54.243] helo=xl5.calivar.com) by anchor-post-36.mail.demon.net with esmtp (Exim 4.67) id 1IW8ER-0009R7-KR; Fri, 14 Sep 2007 10:17:03 +0000 Received: from xl5.calivar.com (localhost [127.0.0.1]) by xl5.calivar.com (Postfix) with ESMTP id C516C1386AA; Fri, 14 Sep 2007 11:16:52 +0100 (BST) To: "Stefan Sommerfeld" Cc: References: <000501c7f691$4847e2f0$1c0110ac@ariga> <20070914082224.GA16840@lunn.ch> <005a01c7f6b3$056e92e0$2000a8c0@nullnullsix> From: Nick Garnett Original-Sender: nickg@ecoscentric.com Date: Fri, 14 Sep 2007 10:17:00 -0000 In-Reply-To: <005a01c7f6b3$056e92e0$2000a8c0@nullnullsix> Message-ID: User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.3 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Mailing-List: contact ecos-discuss-help@ecos.sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: ecos-discuss-owner@ecos.sourceware.org Subject: Re: [ECOS] Virtual Vector Configuration X-SW-Source: 2007-09/txt/msg00088.txt.bz2 "Stefan Sommerfeld" writes: > Hello, > > I'm searching for the right eCos configuration to replace all virtual > vector functions from the bootloader with the one's from a loaded > application. Especially the exception code must be replace. > > My problem is that the MIPS fpu exception code has some bugs (I'll do > a patch soon), but the code is inside the redboot (it's in the > flash). I don't want to exchange the bootloaders on many systems and > another point would be that the code from flash runs slighly slower > than from ram. I saw the option "initialize whole of virtual vector > table" in the configtool, but I'm not sure if this will also initilize > the exception functions. Another problem with it would be that I need > the version vector from bootloader, which tells my information about > the hardware. > > Any suggestion what would be the right way? What you want to do has nothing to do with the virtual vector table. Instead you need to update the VSR table with a pointer to the default exception VSR in your executable rather than the one in RedBoot. You should be able to do this in C from your hal_platform_init() routine. Something like: hal_vsr_table[CYGNUM_HAL_VECTOR_FPE] = __default_exception_vsr; Add appropriate #includes and extern declarations to keep the compiler happy. -- Nick Garnett eCos Kernel Architect eCosCentric Limited http://www.eCosCentric.com/ The eCos experts Barnwell House, Barnwell Drive, Cambridge, UK. Tel: +44 1223 245571 Registered in England and Wales: Reg No 4422071. -- Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss