[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 2/3] memory: Provide 'base address' argument to mtree_print_m
From: |
Philippe Mathieu-Daudé |
Subject: |
Re: [PATCH 2/3] memory: Provide 'base address' argument to mtree_print_mr() |
Date: |
Tue, 9 Mar 2021 10:39:54 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.7.0 |
Hi Peter,
On 3/9/21 12:40 AM, Peter Xu wrote:> On Sat, Mar 06, 2021 at 12:54:13AM
+0100, Philippe Mathieu-Daudé wrote:
>> @@ -3188,14 +3188,15 @@ void mtree_info(bool flatview, bool dispatch_tree,
>> bool owner, bool disabled)
>>
>> QTAILQ_FOREACH(as, &address_spaces, address_spaces_link) {
>> qemu_printf("address-space: %s\n", as->name);
>> - mtree_print_mr(as->root, 1, 0, &ml_head, owner, disabled);
>> + mtree_print_mr(as->root, 1, 0, as->root->addr,
>
> Root MR of any address space should have mr->addr==0, right?
>
> I'm slightly confused on what this patch wanted to do if so, since then "base"
> will always be zero.. Or am I wrong?
That is what I am expecting too... Maybe the problem is elsewhere
when I create the address space... The simpler way to
figure it out is add an assertion. I haven't figure out my
issue yet, I'll follow up later with a proof-of-concept series
which triggers the assertion.
FYI I also have to modify:
-- >8 --
diff --git a/softmmu/physmem.c b/softmmu/physmem.c
index e19bc9f1c19..41a77e15752 100644
--- a/softmmu/physmem.c
+++ b/softmmu/physmem.c
@@ -2889,7 +2889,7 @@ MemTxResult address_space_read_full(AddressSpace
*as, hwaddr addr,
if (len > 0) {
RCU_READ_LOCK_GUARD();
fv = address_space_to_flatview(as);
- result = flatview_read(fv, addr, attrs, buf, len);
+ result = flatview_read(fv, as->root->addr + addr, attrs, buf, len);
}
return result;
@@ -2905,7 +2905,7 @@ MemTxResult address_space_write(AddressSpace *as,
hwaddr addr,
if (len > 0) {
RCU_READ_LOCK_GUARD();
fv = address_space_to_flatview(as);
- result = flatview_write(fv, addr, attrs, buf, len);
+ result = flatview_write(fv, as->root->addr + addr, attrs, buf,
len);
}
return result;
@@ -3117,7 +3117,8 @@ bool address_space_access_valid(AddressSpace *as,
hwaddr addr,
RCU_READ_LOCK_GUARD();
fv = address_space_to_flatview(as);
- result = flatview_access_valid(fv, addr, len, is_write, attrs);
+ result = flatview_access_valid(fv, as->root->addr + addr, len,
+ is_write, attrs);
return result;
}
---
- [PATCH 0/3] memory: Display AddressSpace zero-based in 'info mtree', Philippe Mathieu-Daudé, 2021/03/05
- [PATCH 1/3] memory: Better name 'offset' argument in mtree_print_mr(), Philippe Mathieu-Daudé, 2021/03/05
- [PATCH 2/3] memory: Provide 'base address' argument to mtree_print_mr(), Philippe Mathieu-Daudé, 2021/03/05
- Re: [PATCH 2/3] memory: Provide 'base address' argument to mtree_print_mr(), Peter Xu, 2021/03/08
- Re: [PATCH 2/3] memory: Provide 'base address' argument to mtree_print_mr(),
Philippe Mathieu-Daudé <=
- Re: [PATCH 2/3] memory: Provide 'base address' argument to mtree_print_mr(), Philippe Mathieu-Daudé, 2021/03/09
- Re: [PATCH 2/3] memory: Provide 'base address' argument to mtree_print_mr(), Peter Xu, 2021/03/10
- Re: [PATCH 2/3] memory: Provide 'base address' argument to mtree_print_mr(), Philippe Mathieu-Daudé, 2021/03/10
- [PATCH 1/2] hw/mips/jazz: Use generic I/O bus via get_system_io(), Philippe Mathieu-Daudé, 2021/03/10
- [PATCH 2/2] NOTFORMERGE memory: Ensure AddressSpace physical base address is zero, Philippe Mathieu-Daudé, 2021/03/10
- Re: [PATCH 1/2] hw/mips/jazz: Use generic I/O bus via get_system_io(), Peter Xu, 2021/03/10
- Re: [PATCH 1/2] hw/mips/jazz: Use generic I/O bus via get_system_io(), Philippe Mathieu-Daudé, 2021/03/10
- Re: [PATCH 1/2] hw/mips/jazz: Use generic I/O bus via get_system_io(), Peter Xu, 2021/03/10
- Re: [PATCH 1/2] hw/mips/jazz: Use generic I/O bus via get_system_io(), Philippe Mathieu-Daudé, 2021/03/11
- Re: [PATCH 1/2] hw/mips/jazz: Use generic I/O bus via get_system_io(), Philippe Mathieu-Daudé, 2021/03/11