1 /* SPDX-License-Identifier: GPL-2.0-only */
2 
3 #ifndef XEN_STATIC_MEMORY_H
4 #define XEN_STATIC_MEMORY_H
5 
6 #include <xen/fdt-kernel.h>
7 
8 #ifdef CONFIG_STATIC_MEMORY
9 
10 #include <xen/pfn.h>
11 
init_staticmem_bank(const struct membank * bank)12 static inline void init_staticmem_bank(const struct membank *bank)
13 {
14     mfn_t bank_start = _mfn(PFN_UP(bank->start));
15     unsigned long bank_pages = PFN_DOWN(bank->size);
16     mfn_t bank_end = mfn_add(bank_start, bank_pages);
17 
18     if ( mfn_x(bank_end) <= mfn_x(bank_start) )
19         return;
20 
21     unprepare_staticmem_pages(mfn_to_page(bank_start), bank_pages, false);
22 }
23 
24 void allocate_static_memory(struct domain *d, struct kernel_info *kinfo,
25                             const struct dt_device_node *node);
26 void assign_static_memory_11(struct domain *d, struct kernel_info *kinfo,
27                              const struct dt_device_node *node);
28 void init_staticmem_pages(void);
29 
30 #else /* !CONFIG_STATIC_MEMORY */
31 
allocate_static_memory(struct domain * d,struct kernel_info * kinfo,const struct dt_device_node * node)32 static inline void allocate_static_memory(struct domain *d,
33                                           struct kernel_info *kinfo,
34                                           const struct dt_device_node *node)
35 {
36     ASSERT_UNREACHABLE();
37 }
38 
assign_static_memory_11(struct domain * d,struct kernel_info * kinfo,const struct dt_device_node * node)39 static inline void assign_static_memory_11(struct domain *d,
40                                            struct kernel_info *kinfo,
41                                            const struct dt_device_node *node)
42 {
43     ASSERT_UNREACHABLE();
44 }
45 
init_staticmem_pages(void)46 static inline void init_staticmem_pages(void) {};
47 
48 #endif /* CONFIG_STATIC_MEMORY */
49 
50 #endif /* XEN_STATIC_MEMORY_H */
51 
52 /*
53  * Local variables:
54  * mode: C
55  * c-file-style: "BSD"
56  * c-basic-offset: 4
57  * indent-tabs-mode: nil
58  * End:
59  */
60