Message ID | cover.1734452721.git.oleksii.kurochko@gmail.com (mailing list archive) |
---|---|
Headers | show |
Series | Unflattening and relocation of host device tree | expand |
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)? Jan
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