qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH 3/3] target-xtensa: xtfpga: support noMMU cores


From: Peter Crosthwaite
Subject: Re: [Qemu-devel] [PATCH 3/3] target-xtensa: xtfpga: support noMMU cores
Date: Sun, 27 Sep 2015 14:59:30 -0700

On Sun, Sep 27, 2015 at 2:48 PM, Max Filippov <address@hidden> wrote:
> On Mon, Sep 28, 2015 at 12:28 AM, Peter Crosthwaite
> <address@hidden> wrote:
>> On Sun, Sep 27, 2015 at 12:01 PM, Max Filippov <address@hidden> wrote:
>>> On Sun, Sep 27, 2015 at 9:43 PM, Peter Crosthwaite
>>> <address@hidden> wrote:
>>>> On Sun, Sep 27, 2015 at 11:13 AM, Max Filippov <address@hidden> wrote:
>>>>> On Sun, Sep 27, 2015 at 8:38 PM, Peter Crosthwaite
>>>>>>> +    mmu = xtensa_option_enabled(env->config, XTENSA_OPTION_MMU);
>>>>>>
>>>>>> This looks backwards, the board should be in charge of itself and the
>>>>>> CPU config, rather than spying on the CPU setup to rewire the board.
>>>>>
>>>>> Well, it's an FPGA board and all connections are a part of bitstream.
>>>>> It's generated that way, I'm just following the specification here.
>>>>>
>>>>
>>>> OK, but the xtensa-CPU is not the bitstream, this board is. What
>>>> exactly is the user interface for switching between MMU and no-MMU?
>>>
>>> Actually they both are. The user interface is a dropbox in the processor
>>> generator software where user chooses memory management option.
>>> Once it (and a bunch of other parameters) is chosen the bitstream with
>>> CPU and peripherals can be generated.
>>>
>>>> With the major changes of address layout, the no-MMU variation should
>>>> be a set of new boards or a machine level parameterisation (i.e. QOM
>>>> property of the machine). It needs to be user-visible as different on
>>>> the machine level.
>>>
>>> Why? The layouts are hard-coded based on MMU presence anyway.
>>
>> So this really means that MMUness is board level property, not a CPU
>> level property.
>
> CPU is primary, because one can generate RTL for CPU only. If a whole
> FPGA bitstream is generated, address space layout will be chosen in
> accordance with MMU presence in CPU.
>
>> To clarify, can you tell me the QEMU command line difference between
>> MMU and noMMU?
>
> There is no difference. You specify -cpu without full MMU -- you get
> noMMU address space layout.

Ok but I think this is what we want to avoid. Using -cpu to switch up
the board/SoC architecture. The address space layout is SoC level (and
in your case a bitstream constitutes and entire SoC). There's a
lengthy discussion on this here:

http://lists.gnu.org/archive/html/qemu-devel/2013-11/msg03979.html

going back and forth from that point in the thread. Your hardware
model is more accurate that what was proposed by OP in that thread,
but it is good to keep the interfaces consistent with other machine
models.

Regards,
Peter

> There are no noMMU cores in the QEMU
> mainline ATM, but there are cpu3400, dsp3400, lx106 and de108 in the
> xtensa-cores branch of my tree
> ( https://github.com/OSLL/qemu-xtensa/commits/xtensa-cores ).
>
> --
> Thanks.
> -- Max



reply via email to

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