qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] Memory mapping on MIPS


From: Leon Alrae
Subject: Re: [Qemu-devel] Memory mapping on MIPS
Date: Mon, 22 Feb 2016 10:35:22 +0000
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.4.0

On 22/02/16 06:56, Igor R wrote:
> Here is an excerpt from r4k_map_address(), related to addresses >= 0x80000000.
> Actually, it maps 0x80000010 and 0xA0000010 to the same physical
> address. What's the idea behind that?

0x80000010 is kseg0 whereas 0xA0000010 is kseg1, both segments are
unmapped thus both refer to the same 0x10 physical address. The
difference between them is that the latter is uncached, i.e. all
accesses to this segment bypass the caches, but in QEMU we don't model
caches so they do the same thing.

> What should happen if I map KSEG2 directly as a continuation of KSEG1,
> i.e. substitute TLB lookup with "address - (int32_t)KSEG1_BASE"? Guest
> Linux seems to work correctly (but maybe it's just a matter of luck?).

With such a change it's very likely that guest through kseg2 will be
accessing different physical addresses than it expects...

Regards,
Leon




reply via email to

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