qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] Trying to execute code outside RAM or ROM at 0x08000230


From: Liviu Ionescu
Subject: Re: [Qemu-devel] Trying to execute code outside RAM or ROM at 0x08000230
Date: Mon, 8 Jun 2015 13:51:48 +0300

> On 08 Jun 2015, at 12:17, Peter Maydell <address@hidden> wrote:
> 
> On 8 June 2015 at 09:46, Liviu Ionescu <address@hidden> wrote:
>> 
>> Q: is there any simple way to get rid of them?
> 
> This is probably the readline support (so you can do cursor
> editing of command lines). You can turn that off, though I forget
> the syntax -- it should be documented somewhere.

I could not find anything in the manual.

> I would have expected that either the Eclipse console did all
> its own editing and cursor movement and just sent the finished
> line to QEMU, or that if it's sending the cursor escapes when
> you do cursor movement that it doesn't get echoed back.)

it might be an interference between the Eclipse simple consoles and QEMU 
expecting full terminal support.

> What is printing the "Execute ..." line? A quick grep of the
> sources suggests it's not QEMU.

it is part of the increased verbosity needed by my use case. for this I added 
-verbose, which can be issued multiple times to increase the verbosity level.

the QEMU plugin issues a GDB custom 'monitor system_reset' command after 
loading the ELF file, and I need to see it in the console.

unfortunately my implementation is faulty, I need to check if the monitor is 
running in an interactive session and no longer display the verbosity related 
messages.

(btw, is there a simple way to tell if the monitor is running interactive or 
the command came from GDB?)

> the 
>> as for memory map, I get:
>> 
>> memory
>> 0000000000000000-ffffffffffffffff (prio 0, RW): system
>>  0000000000000000-000000000001ffff (prio 0, R-): cortexm-mem-flash
>>  0000000008000000-000000000801ffff (prio 0, R-): alias stm32-mem-flash-alias 
>> @system 0000000000000000-000000000001ffff
> 
> This is still aliasing the whole system address space, rather
> than just the flash device. The effects will be the same but
> it's a conceptual error I think.

ah, right, I finally got your point, the address range is ok, but the @system 
name is wrong.

now it reads:

  0000000000000000-000000000001ffff (prio 0, R-): cortexm-mem-flash
  0000000008000000-000000000801ffff (prio 0, R-): alias stm32-mem-flash-alias 
@cortexm-mem-flash 0000000000000000-000000000001ffff

> What's the cortexm-mem-hack ?

from arm7vm.c:

    /* Hack to map an additional page of ram at the top of the address
       space.  This stops qemu complaining about executing code outside RAM
       when returning from an exception.  */
    memory_region_init_ram(hack, NULL, "armv7m.hack", 0x1000, &error_abort);
    vmstate_register_ram_global(hack);
    memory_region_add_subregion(system_memory, 0xfffff000, hack);


regards,

Liviu




reply via email to

[Prev in Thread] Current Thread [Next in Thread]