From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 10373 invoked by alias); 18 Jun 2004 14:50:23 -0000 Mailing-List: contact ecos-discuss-help@ecos.sourceware.org; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: ecos-discuss-owner@ecos.sourceware.org Received: (qmail 10352 invoked from network); 18 Jun 2004 14:50:22 -0000 Received: from unknown (HELO anchor-post-34.mail.demon.net) (194.217.242.92) by sourceware.org with SMTP; 18 Jun 2004 14:50:22 -0000 Received: from calivar.demon.co.uk ([83.104.54.243] helo=xl5.calivar.com) by anchor-post-34.mail.demon.net with esmtp (Exim 3.35 #1) id 1BbKhB-0002K4-0Y; Fri, 18 Jun 2004 15:50:21 +0100 Received: from xl5.calivar.com (localhost [127.0.0.1]) by xl5.calivar.com (Postfix) with ESMTP id 8DF31E0C0; Fri, 18 Jun 2004 15:50:20 +0100 (BST) To: atonizzo@lycos.com Cc: "Andrew Lunn" , ecos-discuss@sources.redhat.com References: From: Nick Garnett Date: Fri, 18 Jun 2004 14:50:00 -0000 In-Reply-To: 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 Subject: Re: [ECOS] PowerPC hangs on memory read X-SW-Source: 2004-06/txt/msg00180.txt.bz2 "Anthony Tonizzo" writes: > Andrew: > > > You you checked the MMU setup? Maybe you don't have > > access to this location? > > I had a hunch it was MMU, but I was under the mistaken > impression that when enabled, the MMU was mapped to a 1:1 > correspondence between logical and physical address > _for_the_whole_extent_of_the_memory_ (this is not as > wasteful as it sounds since all the addressable space can > be covered with large memory blocks resulting in acceptably > sized translation tables). The MMU is generally used to control the cache attributes of various regions of the address space. Usually RAM and ROM are mapped cached, device registers and PCI space are mapped uncached. It may also be useful to have an uncached view of RAM too. Depending on the relative layouts of these blocks, it is not always possible to share MMU entries between them. Also, by explicitly leaving unused address space unmapped we can detect invalid accesses more easily. > > Obviously I was wrong, because once I recompiled Ecos > to disabled the MMU, everything works alright. > > I peeked around, and I found one particularly interesting > function in the HAL, cyg_hal_map_memory(). Can > this function be called at any time or is it a setup only > call? In other words, can you augment the MMU translation > table at any time? It is only called at startup. Depending on the MMU facilities available it either uses the BAT registers, or installs static mappings in the TLB. These are limited resources, so the HAL writes needs to work things out fairly carefully. -- Nick Garnett eCos Kernel Architect http://www.ecoscentric.com/ The eCos and RedBoot experts -- Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss