|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v12 5/8] xen/riscv: add minimal stuff to mm.h to build full Xen
On 18.06.2024 10:21, Oleksii K. wrote:
> On Fri, 2024-06-14 at 10:47 +0100, Andrew Cooper wrote:
>> On 11/06/2024 7:23 pm, Oleksii K. wrote:
>>> [OPTION 1] If we accepting of loosing 4 Gb of VA then we could
>>> implement mfn_to_page() and page_to_mfn() in the following way:
>>> ```
>>> diff --git a/xen/arch/riscv/include/asm/mm.h
>>> b/xen/arch/riscv/include/asm/mm.h
>>> index cc4a07a71c..fdac7e0646 100644
>>> --- a/xen/arch/riscv/include/asm/mm.h
>>> +++ b/xen/arch/riscv/include/asm/mm.h
>>> @@ -107,14 +107,11 @@ struct page_info
>>>
>>> #define frame_table ((struct page_info *)FRAMETABLE_VIRT_START)
>>>
>>> -/* PDX of the first page in the frame table. */
>>> -extern unsigned long frametable_base_pdx;
>>> -
>>> /* Convert between machine frame numbers and page-info
>>> structures.
>>> */
>>> #define
>>> mfn_to_page(mfn)
>>> \
>>> - (frame_table + (mfn_to_pdx(mfn) - frametable_base_pdx))
>>> + (frame_table + mfn))
>>> #define
>>> page_to_mfn(pg)
>>> \
>>> - pdx_to_mfn((unsigned long)((pg) - frame_table) +
>>> frametable_base_pdx)
>>> + ((unsigned long)((pg) - frame_table))
>>>
>>> static inline void *page_to_virt(const struct page_info *pg)
>>> {
>>> diff --git a/xen/arch/riscv/mm.c b/xen/arch/riscv/mm.c
>>> index 9c0fd80588..8f6dbdc699 100644
>>> --- a/xen/arch/riscv/mm.c
>>> +++ b/xen/arch/riscv/mm.c
>>> @@ -15,7 +15,7 @@
>>> #include <asm/page.h>
>>> #include <asm/processor.h>
>>>
>>> -unsigned long __ro_after_init frametable_base_pdx;
>>> unsigned long __ro_after_init frametable_virt_end;
>>>
>>> struct mmu_desc {
>>> ```
>>
>> I firmly recommend option 1, especially at this point.
> Jan, as you gave your Acked before, don't you mind to define
> mfn_to_page() and page_to_mfn as mentioned above ( Option 1 )?
No, I don't mind. And please feel free to keep my ack if no other significant
changes are made.
Jan
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |