All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/7] Unflattening and relocation of host device tree
@ 2024-12-11 17:27 Oleksii Kurochko
  2024-12-11 17:27 ` [PATCH v2 1/7] xen/riscv: update layout table in config.h Oleksii Kurochko
                   ` (6 more replies)
  0 siblings, 7 replies; 19+ messages in thread
From: Oleksii Kurochko @ 2024-12-11 17:27 UTC (permalink / raw)
  To: xen-devel
  Cc: Oleksii Kurochko, Alistair Francis, Bob Eshleman, Connor Davis,
	Andrew Cooper, Anthony PERARD, Michal Orzel, Jan Beulich,
	Julien Grall, Roger Pau Monné, Stefano Stabellini

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 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
  xen/riscv: implement data and instruction cache operations
  xen/riscv: implement prereq for DTB relocation
  xen/riscv: relocating and unflattening host device tree

 xen/arch/riscv/Kconfig                  |  2 +
 xen/arch/riscv/configs/tiny64_defconfig |  1 +
 xen/arch/riscv/include/asm/config.h     | 12 +++---
 xen/arch/riscv/include/asm/fixmap.h     |  5 +++
 xen/arch/riscv/include/asm/mm.h         |  8 +++-
 xen/arch/riscv/include/asm/page.h       | 34 +++++++++++++--
 xen/arch/riscv/include/asm/setup.h      |  4 ++
 xen/arch/riscv/mm.c                     |  6 ---
 xen/arch/riscv/platforms/Kconfig        |  5 +++
 xen/arch/riscv/pt.c                     | 25 +++++++++++
 xen/arch/riscv/setup.c                  | 57 ++++++++++++++++++++++++-
 11 files changed, 139 insertions(+), 20 deletions(-)
 create mode 100644 xen/arch/riscv/platforms/Kconfig

-- 
2.47.1



^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2024-12-17 11:08 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-12-11 17:27 [PATCH v2 0/7] Unflattening and relocation of host device tree Oleksii Kurochko
2024-12-11 17:27 ` [PATCH v2 1/7] xen/riscv: update layout table in config.h Oleksii Kurochko
2024-12-16 11:09   ` Jan Beulich
2024-12-11 17:27 ` [PATCH v2 2/7] xen/riscv: add destroy_xen_mappings() to remove mappings in Xen page tables Oleksii Kurochko
2024-12-12 11:43   ` Jan Beulich
2024-12-13 12:54     ` Oleksii Kurochko
2024-12-11 17:27 ` [PATCH v2 3/7] xen/riscv: reorder includes in asm/page.h alphabetically Oleksii Kurochko
2024-12-11 17:27 ` [PATCH v2 4/7] xen/riscv: add {set,clear}_fixmap() functions for managing fixmap entries Oleksii Kurochko
2024-12-12 11:48   ` Jan Beulich
2024-12-11 17:27 ` [PATCH v2 5/7] xen/riscv: implement data and instruction cache operations Oleksii Kurochko
2024-12-16 14:23   ` Jan Beulich
2024-12-16 17:40     ` Oleksii Kurochko
2024-12-17  8:32       ` Jan Beulich
2024-12-17 10:37         ` Oleksii Kurochko
2024-12-17 11:08           ` Jan Beulich
2024-12-11 17:27 ` [PATCH v2 6/7] xen/riscv: implement prereq for DTB relocation Oleksii Kurochko
2024-12-16 14:30   ` Jan Beulich
2024-12-11 17:27 ` [PATCH v2 7/7] xen/riscv: relocating and unflattening host device tree Oleksii Kurochko
2024-12-16 14:31   ` Jan Beulich

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.