diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2022-01-12 16:42:00 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2022-01-12 16:42:00 -0800 |
commit | ce990f1de0bc6ff3de43d385e0985efa980fba24 (patch) | |
tree | 44e2c7054f9cf324a090bb0423d837a4f02d2196 /include/xen | |
parent | 64ad9461521b1a357846ef6cedc4bccd48a046e0 (diff) | |
parent | 54bb4a91b281e1b21235a4bc175e1293e787c016 (diff) | |
download | lwn-ce990f1de0bc6ff3de43d385e0985efa980fba24.tar.gz lwn-ce990f1de0bc6ff3de43d385e0985efa980fba24.zip |
Merge tag 'for-linus-5.17-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip
Pull xen updates from Juergen Gross:
- a fix for the Xen gntdev driver
- a fix for running as Xen dom0 booted via EFI and the EFI framebuffer
being located above 4GB
- a series for support of mapping other guest's memory by using zone
device when running as Xen guest on Arm
* tag 'for-linus-5.17-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
dt-bindings: xen: Clarify "reg" purpose
arm/xen: Read extended regions from DT and init Xen resource
xen/unpopulated-alloc: Add mechanism to use Xen resource
xen/balloon: Bring alloc(free)_xenballooned_pages helpers back
arm/xen: Switch to use gnttab_setup_auto_xlat_frames() for DT
xen/unpopulated-alloc: Drop check for virt_addr_valid() in fill_list()
xen/x86: obtain upper 32 bits of video frame buffer address for Dom0
xen/gntdev: fix unmap notification order
Diffstat (limited to 'include/xen')
-rw-r--r-- | include/xen/balloon.h | 3 | ||||
-rw-r--r-- | include/xen/interface/xen.h | 3 | ||||
-rw-r--r-- | include/xen/xen.h | 16 |
3 files changed, 22 insertions, 0 deletions
diff --git a/include/xen/balloon.h b/include/xen/balloon.h index e93d4f0088c5..f78a6cc94f1a 100644 --- a/include/xen/balloon.h +++ b/include/xen/balloon.h @@ -26,6 +26,9 @@ extern struct balloon_stats balloon_stats; void balloon_set_new_target(unsigned long target); +int xen_alloc_ballooned_pages(unsigned int nr_pages, struct page **pages); +void xen_free_ballooned_pages(unsigned int nr_pages, struct page **pages); + #ifdef CONFIG_XEN_BALLOON void xen_balloon_init(void); #else diff --git a/include/xen/interface/xen.h b/include/xen/interface/xen.h index 5e9916939268..0ca23eca2a9c 100644 --- a/include/xen/interface/xen.h +++ b/include/xen/interface/xen.h @@ -722,6 +722,9 @@ struct dom0_vga_console_info { uint32_t gbl_caps; /* Mode attributes (offset 0x0, VESA command 0x4f01). */ uint16_t mode_attrs; + uint16_t pad; + /* high 32 bits of lfb_base */ + uint32_t ext_lfb_base; } vesa_lfb; } u; }; diff --git a/include/xen/xen.h b/include/xen/xen.h index 9f031b5faa54..a99bab817523 100644 --- a/include/xen/xen.h +++ b/include/xen/xen.h @@ -52,7 +52,23 @@ bool xen_biovec_phys_mergeable(const struct bio_vec *vec1, extern u64 xen_saved_max_mem_size; #endif +#ifdef CONFIG_XEN_UNPOPULATED_ALLOC int xen_alloc_unpopulated_pages(unsigned int nr_pages, struct page **pages); void xen_free_unpopulated_pages(unsigned int nr_pages, struct page **pages); +#include <linux/ioport.h> +int arch_xen_unpopulated_init(struct resource **res); +#else +#include <xen/balloon.h> +static inline int xen_alloc_unpopulated_pages(unsigned int nr_pages, + struct page **pages) +{ + return xen_alloc_ballooned_pages(nr_pages, pages); +} +static inline void xen_free_unpopulated_pages(unsigned int nr_pages, + struct page **pages) +{ + xen_free_ballooned_pages(nr_pages, pages); +} +#endif #endif /* _XEN_XEN_H */ |