From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:47872) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Zensw-0001AF-3m for qemu-devel@nongnu.org; Wed, 23 Sep 2015 13:31:15 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Zenss-0004L4-Rt for qemu-devel@nongnu.org; Wed, 23 Sep 2015 13:31:14 -0400 Received: from mail-la0-x22e.google.com ([2a00:1450:4010:c03::22e]:33925) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Zenss-0004KD-9I for qemu-devel@nongnu.org; Wed, 23 Sep 2015 13:31:10 -0400 Received: by lahg1 with SMTP id g1so59625021lah.1 for ; Wed, 23 Sep 2015 10:31:09 -0700 (PDT) References: From: "mar.krzeminski" Message-ID: <5602E1DB.1060201@gmail.com> Date: Wed, 23 Sep 2015 19:31:07 +0200 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Subject: Re: [Qemu-devel] Loading image/elf to cpu that has different not system memory address space List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Peter Maydell Cc: Edgar Iglesias , "qemu-devel@nongnu.org Developers" , Peter Crosthwaite W dniu 23.09.2015 o 17:46, Peter Maydell pisze: > On 23 September 2015 at 08:17, Marcin KrzemiƄski > wrote: >> Hello, >> >> I am trying to write a model of embedded board that have corterx-m3 and >> cotex a9 processors. >> Because M3 see different memory at address 0x0 than A9 (m3 has small rom, a9 >> has whole ram) I created different address space for m3 (thanks Peter >> Crosthwaite! for hints how to do this!). >> Now I stacked at loading "kernel" to start M3. If I use default address >> space for M3 I can load I run my elf filr (it can be image, but currently it >> is easiest for me with elf) all works fine. >> The problem is when I switch to my new (root MR is not from >> get_system_memory() call ) i got execution outside RAM exception. >> That is happening because there are only zeroes in memory pointed by my >> second address space. >> The question is how can I load image to this memory (it might be elf, but >> binary image also is fine)? >> I can not even find the code that loads data to memory in fist place. Could >> you point me where the loading is done in the code? > This is going to be complicated. I suspect you will need to add > some infrastructure for specifying per-CPU image loading (maybe > via CPU properties?), which we don't have at all right now. > > (Our current image loading code for arm lives in hw/arm/boot.c.) > > thanks > -- PMM > I couldn't find the place were actual data are put int M-, I don't know why I haven't seen rom_add_blob() in boot.c. At the machine init level I know all MRs, so I'll use memory_region_get_ram_ptr(), and put data there. If you have idea how to add this into framework, and someone beside me needs this, maybe I can implement that? Thanks, Marcin