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

Reply via email to