* [PATCH] hw/loongarch/virt: Fix virt_to_phys_addr function
@ 2023-03-27 11:23 Tianrui Zhao
2023-03-27 17:44 ` Richard Henderson
0 siblings, 1 reply; 3+ messages in thread
From: Tianrui Zhao @ 2023-03-27 11:23 UTC (permalink / raw)
To: qemu-devel; +Cc: richard.henderson, gaosong, maobibo, f4bug, philmd
The virt addr should mask TARGET_PHYS_ADDR_SPACE_BITS to
get the phys addr, and this is used by loading kernel elf.
Signed-off-by: Tianrui Zhao <zhaotianrui@loongson.cn>
---
hw/loongarch/virt.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/hw/loongarch/virt.c b/hw/loongarch/virt.c
index b702c3f51e..f4bf14c1c8 100644
--- a/hw/loongarch/virt.c
+++ b/hw/loongarch/virt.c
@@ -399,7 +399,7 @@ static struct _loaderparams {
static uint64_t cpu_loongarch_virt_to_phys(void *opaque, uint64_t addr)
{
- return addr & 0x1fffffffll;
+ return addr & MAKE_64BIT_MASK(0, TARGET_PHYS_ADDR_SPACE_BITS);
}
static int64_t load_kernel_info(void)
--
2.31.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] hw/loongarch/virt: Fix virt_to_phys_addr function
2023-03-27 11:23 [PATCH] hw/loongarch/virt: Fix virt_to_phys_addr function Tianrui Zhao
@ 2023-03-27 17:44 ` Richard Henderson
2023-03-28 3:20 ` gaosong
0 siblings, 1 reply; 3+ messages in thread
From: Richard Henderson @ 2023-03-27 17:44 UTC (permalink / raw)
To: Tianrui Zhao, qemu-devel; +Cc: gaosong, maobibo, f4bug, philmd
On 3/27/23 04:23, Tianrui Zhao wrote:
> The virt addr should mask TARGET_PHYS_ADDR_SPACE_BITS to
> get the phys addr, and this is used by loading kernel elf.
>
> Signed-off-by: Tianrui Zhao <zhaotianrui@loongson.cn>
> ---
> hw/loongarch/virt.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/hw/loongarch/virt.c b/hw/loongarch/virt.c
> index b702c3f51e..f4bf14c1c8 100644
> --- a/hw/loongarch/virt.c
> +++ b/hw/loongarch/virt.c
> @@ -399,7 +399,7 @@ static struct _loaderparams {
>
> static uint64_t cpu_loongarch_virt_to_phys(void *opaque, uint64_t addr)
> {
> - return addr & 0x1fffffffll;
> + return addr & MAKE_64BIT_MASK(0, TARGET_PHYS_ADDR_SPACE_BITS);
> }
>
> static int64_t load_kernel_info(void)
Looks correct. Any idea where this 29-bit value originated?
Acked-by: Richard Henderson <richard.henderson@linaro.org>
r~
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] hw/loongarch/virt: Fix virt_to_phys_addr function
2023-03-27 17:44 ` Richard Henderson
@ 2023-03-28 3:20 ` gaosong
0 siblings, 0 replies; 3+ messages in thread
From: gaosong @ 2023-03-28 3:20 UTC (permalink / raw)
To: Richard Henderson, Tianrui Zhao, qemu-devel; +Cc: maobibo, f4bug, philmd
在 2023/3/28 上午1:44, Richard Henderson 写道:
> On 3/27/23 04:23, Tianrui Zhao wrote:
>> The virt addr should mask TARGET_PHYS_ADDR_SPACE_BITS to
>> get the phys addr, and this is used by loading kernel elf.
>>
>> Signed-off-by: Tianrui Zhao <zhaotianrui@loongson.cn>
>> ---
>> hw/loongarch/virt.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/hw/loongarch/virt.c b/hw/loongarch/virt.c
>> index b702c3f51e..f4bf14c1c8 100644
>> --- a/hw/loongarch/virt.c
>> +++ b/hw/loongarch/virt.c
>> @@ -399,7 +399,7 @@ static struct _loaderparams {
>> static uint64_t cpu_loongarch_virt_to_phys(void *opaque, uint64_t
>> addr)
>> {
>> - return addr & 0x1fffffffll;
>> + return addr & MAKE_64BIT_MASK(0, TARGET_PHYS_ADDR_SPACE_BITS);
>> }
>> static int64_t load_kernel_info(void)
>
> Looks correct. Any idea where this 29-bit value originated?
We just considered using 256M low-memory to load the kernel and did not
consider using the high-memory.
Thanks.
Song Gao
>
> Acked-by: Richard Henderson <richard.henderson@linaro.org>
>
> r~
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2023-03-28 3:21 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-03-27 11:23 [PATCH] hw/loongarch/virt: Fix virt_to_phys_addr function Tianrui Zhao
2023-03-27 17:44 ` Richard Henderson
2023-03-28 3:20 ` gaosong
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).