[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v3 0/7] Unflattening and relocation of host device tree
- To: Jan Beulich <jbeulich@xxxxxxxx>
- From: Oleksii Kurochko <oleksii.kurochko@xxxxxxxxx>
- Date: Wed, 18 Dec 2024 11:50:18 +0100
- Cc: Alistair Francis <alistair.francis@xxxxxxx>, Bob Eshleman <bobbyeshleman@xxxxxxxxx>, Connor Davis <connojdavis@xxxxxxxxx>, Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, Anthony PERARD <anthony.perard@xxxxxxxxxx>, Michal Orzel <michal.orzel@xxxxxxx>, Julien Grall <julien@xxxxxxx>, Roger Pau Monné <roger.pau@xxxxxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, xen-devel@xxxxxxxxxxxxxxxxxxxx
- Delivery-date: Wed, 18 Dec 2024 10:50:31 +0000
- List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
On 12/17/24 5:36 PM, Jan Beulich wrote:
On 17.12.2024 17:32, Oleksii Kurochko wrote:
The current patch series introduces the relocation of the host device tree file
to free up low memory and also it is expected that discard_initial_modules()
will be called sooner or later, it will discard the FDT boot module,
and remove_early_mappings() will destroy the early mappings.
In addition to relocation, unflattening is introduced to create the tree of
struct device_node for the host device tree.
To implement this, several things have been introduced:
- destroy_xen_mappings() function, which removes page mappings from Xen's
page tables. This is necessary for clear_fixmap().
- {set,clear}_fixmap() functions to manage mappings in the fixmap region,
which are expected to be used in copy_from_paddr() to copy the FDT to Xen's
heap.
- Introduce new config CONFIG_QEMU which is going to be used to cover changes
connected to QEMU virtual board. It will be used during introduction of stubs
for clean_and_invalidate_dcache_va_range() and clean_dcache_va_range(),
which are expected to be used in copy_from_paddr() and flush_page_to_ram(),
which in turn are expected to be used during the call to xvmalloc_array() in
relocate_fdt().
In case of QEMU cached related functions are implemented as returning 0 as
QEMU doesn't model cache ( and so CMO extensions ). For others cases, it is
introduced as -ENOSUPP as h/w could support CMO extension ( or hardware
specific insertions ) and it will need to update implementation of the
mentioned functions.
- The introduction of copy_from_paddr() to copy the FDT to an address
allocated in Xen's heap.
---
Changes in v3:
- Add some Acks for the patches. All the patches are Acked except:
[PATCH v3 1/7] xen/riscv: update layout table in config.h
[PATCH v3 5/7] xen/riscv: implement data and instruction cache operations
- Other changes please look at the specific patch.
---
Changes in v2:
- Update the cover letter.
- Introduce new patch with aligning of upper bounds in the layout table in
config.h with the definitions below which are inclusive.
- Other changes please look at the specific patch.
---
Oleksii Kurochko (7):
xen/riscv: update layout table in config.h
xen/riscv: add destroy_xen_mappings() to remove mappings in Xen page
tables
xen/riscv: reorder includes in asm/page.h alphabetically
xen/riscv: add {set,clear}_fixmap() functions for managing fixmap
entries
Please can you avoid re-posting patches that were already committed (the
latter three)?
Sure, I confused something when fetch upstream/staging so missed that some patches
were merged.
Sorry for inconvenience.
~ Oleksii
|