| /linux/drivers/iommu/generic_pt/ |
| H A D | pt_common.h | 40 static inline void pt_attr_from_entry(const struct pt_state *pts, 50 static inline bool pt_can_have_leaf(const struct pt_state *pts); 58 static inline bool pt_can_have_table(const struct pt_state *pts) in pt_can_have_table() 73 static inline void pt_clear_entries(struct pt_state *pts, 84 static inline bool pt_entry_make_write_dirty(struct pt_state *pts); 99 static inline void pt_entry_make_write_clean(struct pt_state *pts); 109 static inline bool pt_entry_is_write_dirty(const struct pt_state *pts); 124 static inline unsigned int pt_entry_num_contig_lg2(const struct pt_state *pts); 138 static inline pt_oaddr_t pt_entry_oa(const struct pt_state *pts); 147 static inline unsigned int pt_entry_oa_lg2sz(const struct pt_state *pts) in pt_entry_oa_lg2sz() [all …]
|
| H A D | pt_fmt_defaults.h | 23 static inline unsigned int pt_table_item_lg2sz(const struct pt_state *pts) in pt_table_item_lg2sz() 47 static inline unsigned int pt_entry_num_contig_lg2(const struct pt_state *pts) in pt_entry_num_contig_lg2() 55 static inline unsigned short pt_contig_count_lg2(const struct pt_state *pts) in pt_contig_count_lg2() 63 static inline bool pt_entry_is_write_dirty(const struct pt_state *pts) in pt_entry_is_write_dirty() 68 static inline void pt_entry_make_write_clean(struct pt_state *pts) in pt_entry_make_write_clean() 87 static inline bool pt_entry_make_write_dirty(struct pt_state *pts) in pt_entry_make_write_dirty() 106 static inline pt_oaddr_t pt_item_oa(const struct pt_state *pts) in pt_item_oa() 115 static inline pt_oaddr_t pt_entry_oa(const struct pt_state *pts) in pt_entry_oa() 148 static inline unsigned short pt_contig_count_lg2(const struct pt_state *pts); 151 static inline pt_vaddr_t pt_possible_sizes(const struct pt_state *pts) in pt_possible_sizes() [all …]
|
| H A D | pt_iter.h | 56 static inline void pt_index_to_va(struct pt_state *pts) in pt_index_to_va() 69 static inline void _pt_advance(struct pt_state *pts, in _pt_advance() 85 static inline bool pt_entry_fully_covered(const struct pt_state *pts, in pt_entry_fully_covered() 108 static inline unsigned int pt_range_to_index(const struct pt_state *pts) in pt_range_to_index() 127 static inline unsigned int pt_range_to_end_index(const struct pt_state *pts) in pt_range_to_end_index() 153 static inline void _pt_iter_first(struct pt_state *pts) in _pt_iter_first() 160 static inline bool _pt_iter_load(struct pt_state *pts) in _pt_iter_load() 175 static inline void pt_next_entry(struct pt_state *pts) in pt_next_entry() 203 static inline enum pt_entry_type pt_load_single_entry(struct pt_state *pts) in pt_load_single_entry() 220 struct pt_state pts = { .range = &range, .level = range.top_level }; in _pt_top_range() [all …]
|
| H A D | iommu_pt.h | 24 static void flush_writes_range(const struct pt_state *pts, in flush_writes_range() 34 static void flush_writes_item(const struct pt_state *pts) in flush_writes_item() 131 static inline unsigned int compute_best_pgsize(struct pt_state *pts, in compute_best_pgsize() 153 struct pt_state pts = pt_init(range, level, table); in __do_iova_to_phys() 207 static void record_dirty(struct pt_state *pts, in record_dirty() 245 struct pt_state pts = pt_init(range, level, table); in __read_and_clear_dirty() 311 struct pt_state pts = pt_init(range, level, table); in __set_dirty() 352 struct pt_state pts = pt_init(range, level, table); in __collect_tables() 415 static inline struct pt_table_p *table_alloc(const struct pt_state *parent_pts, in table_alloc() 418 struct pt_state child_pts = in table_alloc() [all …]
|
| H A D | kunit_generic_pt.h | 33 void (*fn)(struct kunit *test, struct pt_state *pts, void *arg); 39 struct pt_state pts = pt_init(range, level, table); in __check_all_levels() 105 struct pt_state *pts, void *arg), in check_all_levels() 329 static void test_lvl_table_ptr(struct kunit *test, struct pt_state *pts, in test_lvl_table_ptr() 373 static void test_lvl_radix(struct kunit *test, struct pt_state *pts, void *arg) in test_lvl_radix() 422 static unsigned int safe_pt_num_items_lg2(const struct pt_state *pts) in safe_pt_num_items_lg2() 425 struct pt_state top_pts = pt_init_top(&top_range); in safe_pt_num_items_lg2() 436 static void test_lvl_possible_sizes(struct kunit *test, struct pt_state *pts, in test_lvl_possible_sizes() 475 static void sweep_all_pgsizes(struct kunit *test, struct pt_state *pts, in sweep_all_pgsizes() 487 struct pt_state sub_pts = *pts; in sweep_all_pgsizes() [all …]
|
| H A D | pt_defs.h | 146 struct pt_state { struct 166 static inline bool pt_table_install64(struct pt_state *pts, u64 table_entry) in pt_table_install64() argument 185 static inline bool pt_table_install32(struct pt_state *pts, u32 table_entry) in pt_table_install32() 215 static __always_inline bool pts_feature(const struct pt_state *pts, in pts_feature() 328 static inline bool pt_check_install_leaf_args(struct pt_state *pts,
|
| H A D | kunit_iommu_pt.h | 20 struct pt_state pts = pt_init(range, level, table); in __count_valids()
|
| /linux/drivers/iommu/generic_pt/fmt/ |
| H A D | amdv1.h | 70 static inline pt_oaddr_t amdv1pt_table_pa(const struct pt_state *pts) in amdv1pt_table_pa() 81 static inline pt_oaddr_t amdv1pt_entry_oa(const struct pt_state *pts) in amdv1pt_entry_oa() 101 static inline bool amdv1pt_can_have_leaf(const struct pt_state *pts) in amdv1pt_can_have_leaf() 112 static inline unsigned int pt_table_item_lg2sz(const struct pt_state *pts); 115 amdv1pt_entry_num_contig_lg2(const struct pt_state *pts) in amdv1pt_entry_num_contig_lg2() 144 static inline unsigned int amdv1pt_num_items_lg2(const struct pt_state *pts) in amdv1pt_num_items_lg2() 156 static inline pt_vaddr_t amdv1pt_possible_sizes(const struct pt_state *pts) in amdv1pt_possible_sizes() 176 static inline enum pt_entry_type amdv1pt_load_entry_raw(struct pt_state *pts) in amdv1pt_load_entry_raw() 195 amdv1pt_install_leaf_entry(struct pt_state *pts, pt_oaddr_t oa, in amdv1pt_install_leaf_entry() 237 static inline bool amdv1pt_install_table(struct pt_state *pts, in amdv1pt_install_table() [all …]
|
| H A D | vtdss.h | 62 static inline pt_oaddr_t vtdss_pt_table_pa(const struct pt_state *pts) in vtdss_pt_table_pa() 69 static inline pt_oaddr_t vtdss_pt_entry_oa(const struct pt_state *pts) in vtdss_pt_entry_oa() 76 static inline bool vtdss_pt_can_have_leaf(const struct pt_state *pts) in vtdss_pt_can_have_leaf() 82 static inline unsigned int vtdss_pt_num_items_lg2(const struct pt_state *pts) in vtdss_pt_num_items_lg2() 88 static inline enum pt_entry_type vtdss_pt_load_entry_raw(struct pt_state *pts) in vtdss_pt_load_entry_raw() 104 vtdss_pt_install_leaf_entry(struct pt_state *pts, pt_oaddr_t oa, in vtdss_pt_install_leaf_entry() 124 static inline bool vtdss_pt_install_table(struct pt_state *pts, in vtdss_pt_install_table() 136 static inline void vtdss_pt_attr_from_entry(const struct pt_state *pts, in vtdss_pt_attr_from_entry() 144 static inline bool vtdss_pt_entry_is_write_dirty(const struct pt_state *pts) in vtdss_pt_entry_is_write_dirty() 152 static inline void vtdss_pt_entry_make_write_clean(struct pt_state *pts) in vtdss_pt_entry_make_write_clean() [all …]
|
| H A D | riscv.h | 85 static inline pt_oaddr_t riscvpt_table_pa(const struct pt_state *pts) in riscvpt_table_pa() 91 static inline pt_oaddr_t riscvpt_entry_oa(const struct pt_state *pts) in riscvpt_entry_oa() 103 static inline bool riscvpt_can_have_leaf(const struct pt_state *pts) in riscvpt_can_have_leaf() 110 static inline unsigned int pt_table_item_lg2sz(const struct pt_state *pts); 113 riscvpt_entry_num_contig_lg2(const struct pt_state *pts) in riscvpt_entry_num_contig_lg2() 125 static inline unsigned int riscvpt_num_items_lg2(const struct pt_state *pts) in riscvpt_num_items_lg2() 132 riscvpt_contig_count_lg2(const struct pt_state *pts) in riscvpt_contig_count_lg2() 140 static inline enum pt_entry_type riscvpt_load_entry_raw(struct pt_state *pts) in riscvpt_load_entry_raw() 156 riscvpt_install_leaf_entry(struct pt_state *pts, pt_oaddr_t oa, in riscvpt_install_leaf_entry() 187 static inline bool riscvpt_install_table(struct pt_state *pts, in riscvpt_install_table() [all …]
|
| H A D | x86_64.h | 76 static inline pt_oaddr_t x86_64_pt_table_pa(const struct pt_state *pts) in x86_64_pt_table_pa() 87 static inline pt_oaddr_t x86_64_pt_entry_oa(const struct pt_state *pts) in x86_64_pt_entry_oa() 98 static inline bool x86_64_pt_can_have_leaf(const struct pt_state *pts) in x86_64_pt_can_have_leaf() 104 static inline unsigned int x86_64_pt_num_items_lg2(const struct pt_state *pts) in x86_64_pt_num_items_lg2() 110 static inline enum pt_entry_type x86_64_pt_load_entry_raw(struct pt_state *pts) in x86_64_pt_load_entry_raw() 126 x86_64_pt_install_leaf_entry(struct pt_state *pts, pt_oaddr_t oa, in x86_64_pt_install_leaf_entry() 147 static inline bool x86_64_pt_install_table(struct pt_state *pts, in x86_64_pt_install_table() 161 static inline void x86_64_pt_attr_from_entry(const struct pt_state *pts, in x86_64_pt_attr_from_entry()
|
| /linux/Documentation/driver-api/ |
| H A D | generic_pt.rst | 85 static inline pt_oaddr_t amdv1pt_entry_oa(const struct pt_state *pts)
|